Repository: mozilla/webxr-polyfill Branch: master Commit: 4ba29e108b9b Files: 136 Total size: 18.1 MB Directory structure: gitextract_kgg3nd5t/ ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CODING.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── dist-footer.js ├── dist-header.js ├── examples/ │ ├── ar_anchors/ │ │ └── index.html │ ├── ar_simplest/ │ │ └── index.html │ ├── boombox/ │ │ └── index.html │ ├── common.css │ ├── common.js │ ├── face_tracking/ │ │ ├── DuckyMesh.glb │ │ ├── glasses/ │ │ │ └── glasses.gltf │ │ └── index.html │ ├── hit_test/ │ │ └── index.html │ ├── image_detection/ │ │ ├── DuckyMesh.glb │ │ └── index.html │ ├── libs/ │ │ ├── loaders/ │ │ │ └── BinaryLoader.js │ │ ├── postprocessing/ │ │ │ ├── BloomPass.js │ │ │ ├── EffectComposer.js │ │ │ ├── FilmPass.js │ │ │ ├── MaskPass.js │ │ │ ├── RenderPass.js │ │ │ └── ShaderPass.js │ │ ├── shaders/ │ │ │ ├── ConvolutionShader.js │ │ │ ├── CopyShader.js │ │ │ ├── FilmShader.js │ │ │ └── FocusShader.js │ │ ├── stats.js │ │ ├── three-gltf-loader.js │ │ ├── three-mtl-loader.js │ │ ├── three-obj-loader.js │ │ └── three.js │ ├── light/ │ │ └── index.html │ ├── models/ │ │ ├── Axis.mtl │ │ ├── Axis.obj │ │ ├── BoomBox/ │ │ │ ├── README.md │ │ │ ├── glTF/ │ │ │ │ └── BoomBox.gltf │ │ │ ├── glTF-Binary/ │ │ │ │ └── BoomBox.glb │ │ │ └── glTF-pbrSpecularGlossiness/ │ │ │ └── BoomBox.gltf │ │ ├── TeapotBufferGeometry.js │ │ ├── female02/ │ │ │ ├── Female02_bin.js │ │ │ ├── Female02_slim.js │ │ │ ├── female02.mtl │ │ │ ├── female02.obj │ │ │ ├── female02_vertex_colors.obj │ │ │ └── readme.txt │ │ └── male02/ │ │ ├── 01_-_Default1noCulling.dds │ │ ├── Male02_bin.js │ │ ├── Male02_dds.js │ │ ├── Male02_slim.js │ │ ├── male-02-1noCulling.dds │ │ ├── male02.mtl │ │ ├── male02.obj │ │ ├── male02_dds.mtl │ │ ├── orig_02_-_Defaul1noCulling.dds │ │ └── readme.txt │ ├── opencv-aruco/ │ │ ├── createMarker.html │ │ ├── index.html │ │ ├── opencv.js │ │ ├── opencv_js.wasm │ │ └── worker.js │ ├── opencv-face/ │ │ ├── haarcascade_eye.xml │ │ ├── haarcascade_frontalface_default.xml │ │ ├── haarcascade_profileface.xml │ │ ├── index.html │ │ ├── old-rotate-resize.js │ │ ├── opencv.js │ │ ├── opencv_js.wasm │ │ └── worker.js │ ├── peoples/ │ │ └── index.html │ ├── persistence/ │ │ └── index.html │ ├── reticle/ │ │ └── index.html │ ├── sensing/ │ │ └── index.html │ ├── simplecv/ │ │ ├── index.html │ │ ├── webxr-worker.js │ │ └── worker.js │ ├── textures/ │ │ └── Park2/ │ │ └── readme.txt │ └── vr_simplest/ │ └── index.html ├── index.html ├── package.json ├── polyfill/ │ ├── Reality.js │ ├── XRAnchor.js │ ├── XRAnchorOffset.js │ ├── XRCoordinateSystem.js │ ├── XRDisplay.js │ ├── XRFaceAnchor.js │ ├── XRFieldOfView.js │ ├── XRImageAnchor.js │ ├── XRLayer.js │ ├── XRLightEstimate.js │ ├── XRPlaneAnchor.js │ ├── XRPointCloud.js │ ├── XRPolyfill.js │ ├── XRPresentationFrame.js │ ├── XRSession.js │ ├── XRSessionCreateParameters.js │ ├── XRStageBounds.js │ ├── XRStageBoundsPoint.js │ ├── XRVideoFrame.js │ ├── XRView.js │ ├── XRViewPose.js │ ├── XRViewport.js │ ├── XRWebGLLayer.js │ ├── XRWorkerPolyfill.js │ ├── display/ │ │ ├── FlatDisplay.js │ │ └── HeadMountedDisplay.js │ ├── fill/ │ │ ├── DeviceOrientationTracker.js │ │ ├── Euler.js │ │ ├── EventHandlerBase.js │ │ ├── MatrixMath.js │ │ ├── Quaternion.js │ │ ├── Vector3.js │ │ ├── base64-binary.js │ │ ├── gl-matrix/ │ │ │ ├── common.js │ │ │ ├── mat2.js │ │ │ ├── mat2d.js │ │ │ ├── mat3.js │ │ │ ├── mat4.js │ │ │ ├── quat.js │ │ │ ├── vec2.js │ │ │ ├── vec3.js │ │ │ └── vec4.js │ │ ├── gl-matrix-min.js │ │ └── gl-matrix.js │ ├── platform/ │ │ ├── ARCoreCameraRenderer.js │ │ └── ARKitWrapper.js │ └── reality/ │ ├── CameraReality.js │ └── VirtualReality.js ├── tests/ │ ├── CoordinatesTest.js │ ├── Test.js │ └── index.html ├── viewer.html └── webpack.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ node_modules/ dist/ ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Community Participation Guidelines This repository is governed by Mozilla's code of conduct and etiquette guidelines. For more details, please read the [Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/). ## How to Report For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page. ================================================ FILE: CODING.md ================================================ # How to code against the WebXR APIs Working examples of this type of code can be found in the [examples directory](https://github.com/mozilla/webxr-polyfill/tree/master/examples). ## Session setup The basic pattern is to iterate through the `XRDisplay` instances to find the one that you want to use, based on whether it's external and whether it is a pass-through display. Once you have a display, you ask it for an `XRSession` that is either for rendering a `Reality` or rendering an augmentation on top of a `Reality`. let displays = null // A list of XRDisplay let display = null // The display we'll use let session = null // The XRSession we'll use let canvas = document.createElement('canvas') // The canvas into which we'll render let anchoredNodes = [] // An array of { anchorOffset: XRAnchorOffset, node: } // Get displays and then request a session navigator.XR.getDisplays().then(disps => { if(disps.length == 0) { // No displays are available return } displays = disps }).catch(err => { console.error('Error getting XR displays', err) }) Once you have the displays, you look for one that will support the type of session that you want to start: // Set up the options for the type of session we want let sessionInitOptions = { exclusive: false, // True if you want only this session to have access to the display type: 'augmentation' // do you want the session to create a 'reality' or offer an 'augmentation' on an existing `Reality` outputContext: new XRPresentationContext(canvas) // Then canvas into which we'll render } // Now test each display for(let disp of displays){ if(display.supportsSession(sessionInitOptions)){ display = disp break } } Once you have a display and the user has chosen to start using it, you ask the display for an `XRSession` and request the first frame: display.requestSession(sessionInitOptions).then(sess => { session = sess session.depthNear = 0.1 session.depthFar = 1000.0 session.requestFrame(handleFrame) )} ## Per-frame rendering The scene, camera, and renderer objects below are representative APIs that have equivalents in most WebGL libs like Three.js: function handleFrame(frame){ // Set up for the next frame session.requestFrame(frame => { handleFrame(frame) }) // Get the pose for the head let headCoordinateSystem = frame.getCoordinateSystem(XRCoordinateSystem.HEAD_MODEL) let headPose = frame.getDsiplayPose(frame.getCoordinateSystem(headCoordinateSystem) // XXX Below we will add code here to add and manage anchors // Displays can have one or more views. A magic window display has one, a headset has two (one for each eye), so iterate through each. for(const view of frame.views){ // Each XRView has its own projection matrix, so set the camera to use that camera.projectionMatrix = view.projectionMatrix // Rotate the scene around the camera using the head pose scene.matrix = headPose.getViewMatrix(view) // Set up the renderer to the XRView's viewport and then render const viewport = view.getViewport(session.baseLayer) renderer.setViewport(viewport.x, viewport.y, viewport.width, viewport.height) renderer.render(scene, camera) } } ## Finding and updating anchors Anchors are places in space that the AR system is tracking for you. They could be a surface like a floor or table, a feature like a door knob, or just a point in space relative to the world coordinate system. When you place virtual objects in XR, you find an `XRAnchor` to attach it to, possibly with an `XRAnchorOffset` to indicate a position relative to the anchor. The reason that you use anchors instead of just placing objects in a global coordinate system is that AR systems may change their relative position over time as they sense the world. A table may shift. The system may refine its estimate of the location of the floor or a wall. First, let's add an anchor just floated in space a meter in front of the current head position. This code uses the `XRPresentationFrame`, so it would live in the `handleFrame` method above, where the '// XXX' comment is: const sceneNode = createSceneNode() // if using Three.js, could be an Object3D or a Group let anchorUID = frame.addAnchor(headCoordinateSystem, [0, 0, -1]) scene.add(sceneNode) // Now the node is in the scene // Save this info for update during each frame anchoredNodes.push({ anchorOffset: new XRAnchorOffset(anchor.uid), node: sceneNode }) Now search for an anchor on a surface like a floor or table: frame.findAnchor(x, y).then(anchorOffset => { if(anchorOffset === null){ // no surface was found to place the anchor return } const node = createSceneNode() // Add the node to the scene scene.add(node) // Save this info for update during each frame anchoredNodes.push({ anchorOffset: anchorOffset, node: node }) }) You now have a couple of anchored nodes save in `anchoredNodes`, so during each frame use the most recent anchor info to update the node position: for(let anchoredNode of anchoredNodes){ // Get the updated anchor info const anchor = frame.getAnchor(anchoredNode.anchorOffset.anchorUID) // Get the offset coordinates relative to the anchor's coordinate system let offsetTransform = anchoredNode.anchorOffset.getOffsetTransform(anchor.coordinateSystem) // Now use the offset transform to position the anchored node in the scene anchoredNode.node.matrix = offsetTransform } ================================================ FILE: CONTRIBUTING.md ================================================ Contributing to webxr-polyfill ====================== This is an open source project and we love to receive contributions from the community. There are many ways to contribute, from writing documentation, submitting bug reports and feature requests or writing code. We would also love to hear how you are using this code and to receive contributions that make it easier to deploy and integrate. Bug reports ----------- If you think you have found a bug, first make sure that you are testing against the [master branch](https://github.com/mozilla/webxr-polyfill) - your issue may already have been fixed. If not, search our [issues list](https://github.com/mozilla/webxr-polyfill/issues) on GitHub in the event a similar issue has already been opened. It is very helpful if you can provide enough information to replicate the bug. In other words, provide a small test case which we can run to confirm your bug. It makes it easier to find the problem and resolve it. Provide as much information as you can. The easier it is for us to recreate your problem, the faster we can fix it. Feature requests ---------------- If you are looking for a feature that doesn't exist currently, you are probably not alone. Open an issue on our [issues list](https://github.com/mozilla/webxr-polyfill/issues) on GitHub which describes the feature you would like to see, the value it provides, and how it should work. If you attach diagrams or mockups, it would be super nice ;-). Contributing code and documentation changes ------------------------------------------- If you have a bugfix or new feature that you would like to contribute, please search through our issues and see if one exists, or open an issue about it first. Explain what you would like to do. It is possible someone has already begun to work on it, or that there are existing issues that you should know about before implementing the change. We enjoy working with contributors to get their code accepted. There are many approaches to fixing a problem and it is important to find the best approach before writing too much code. The process is described below. ### Fork and clone the repository You will need to fork the main [repository](https://github.com/mozilla/webxr-polyfill) and clone it to your local machine. See [github help page](https://help.github.com/articles/fork-a-repo) for help. Push your local changes to your forked copy of the repository and [submit a pull request](https://help.github.com/articles/using-pull-requests). In the pull request, describe what your changes do and mention the number of the issue where discussion has taken place, eg "Closes #123". Then sit back and wait. There will probably be discussion about the pull request, and if any changes are needed, we would love to work with you to get your pull request merged. ================================================ FILE: LICENSE ================================================ Mozilla Public License Version 2.0 ================================== 1. Definitions -------------- 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. 1.3. "Contribution" means Covered Software of a particular Contributor. 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. 1.5. "Incompatible With Secondary Licenses" means (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. 1.6. "Executable Form" means any form of the work other than Source Code Form. 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. 1.8. "License" means this document. 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. 1.10. "Modifications" means any of the following: (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or (b) any new file in Source Code Form that contains any Covered Software. 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. 1.13. "Source Code Form" means the form of the work preferred for making modifications. 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions -------------------------------- 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. 2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. 2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: (a) for any code that a Contributor has removed from Covered Software; or (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). 2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. 2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. 2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. 3. Responsibilities ------------------- 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. 3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then: (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. 3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). 3.4. Notices You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. 4. Inability to Comply Due to Statute or Regulation --------------------------------------------------- If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Termination -------------- 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. ************************************************************************ * * * 6. Disclaimer of Warranty * * ------------------------- * * * * Covered Software is provided under this License on an "as is" * * basis, without warranty of any kind, either expressed, implied, or * * statutory, including, without limitation, warranties that the * * Covered Software is free of defects, merchantable, fit for a * * particular purpose or non-infringing. The entire risk as to the * * quality and performance of the Covered Software is with You. * * Should any Covered Software prove defective in any respect, You * * (not any Contributor) assume the cost of any necessary servicing, * * repair, or correction. This disclaimer of warranty constitutes an * * essential part of this License. No use of any Covered Software is * * authorized under this License except under this disclaimer. * * * ************************************************************************ ************************************************************************ * * * 7. Limitation of Liability * * -------------------------- * * * * Under no circumstances and under no legal theory, whether tort * * (including negligence), contract, or otherwise, shall any * * Contributor, or anyone who distributes Covered Software as * * permitted above, be liable to You for any direct, indirect, * * special, incidental, or consequential damages of any character * * including, without limitation, damages for lost profits, loss of * * goodwill, work stoppage, computer failure or malfunction, or any * * and all other commercial damages or losses, even if such party * * shall have been informed of the possibility of such damages. This * * limitation of liability shall not apply to liability for death or * * personal injury resulting from such party's negligence to the * * extent applicable law prohibits such limitation. Some * * jurisdictions do not allow the exclusion or limitation of * * incidental or consequential damages, so this exclusion and * * limitation may not apply to You. * * * ************************************************************************ 8. Litigation ------------- Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. 9. Miscellaneous ---------------- This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License --------------------------- 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. 10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. 10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice ------------------------------------------- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. Exhibit B - "Incompatible With Secondary Licenses" Notice --------------------------------------------------------- This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. ================================================ FILE: README.md ================================================ # (deprecated, experimental) WebXR polyfill with examples The API for "WebXR" implemented in this repository is based on a [proposed draft proposal for WebXR](https://github.com/mozilla/webxr-api) we created as a starting point for discussing WebXR in the fall of 2017, to explore what it might mean to expand WebVR to include AR/MR capabilities. We initially created this polyfill when the community group was calling the specification "WebVR", so using "WebXR" was not confusing. Now that the community group is working towards changing the name of the spec, this repo may be confusing to newcomers. We're working to bring this repo's master branch in line with the community group's draft spec. But that work is not yet complete. The WebVR community has shifted WebVR in this direction. The group is now called the [Immersive Web Community Group](https://github.com/immersive-web/) and the WebVR specification has now become the [WebXR Device API](https://github.com/immersive-web/webxr). You should consider that spec as ground-truth for WebXR, and it is what you will likely see appearing in browsers through the rest of 2018 and into 2019. We will continue to experiment with extensions to, and new ideas for, WebXR in this library. Soon, we expect it to be integrated directly in our [WebXR Viewer iOS app](https://github.com/mozilla-mobile/webxr-ios) and no longer be included directly in any web pages. ## WebXR library with examples This repository holds an implementation of a non-compliant version of WebXR, along with sample code demonstrating how to use the API. ## WARNING THIS SOFTWARE IS NON-STANDARD AND PRERELEASE, IS *NOT* READY FOR PRODUCTION USE, AND *WILL* SOON HAVE BREAKING CHANGES. NOTHING IN THIS REPO COMES WITH ANY WARRENTY WHATSOEVER. DO NOT USE IT FOR ANYTHING EXCEPT EXPERIMENTS. There may be pieces of the library that are stubbed out and throw 'Not implemented' when called. ## Running the examples The master branch of this repo is automatically built and hosted at https://examples.webxrexperiments.com The develop branch is hosted at https://develop.examples.webxrexperiments.com ## Building and Running the examples Clone this repo and then change directories into webxr-polyfill/ Install npm and then run the following: npm install # downloads webpack and an http server npm start # builds the polyfill in dist/webxr-polyfill.js and start the http server in the current directory Using one of the supported browsers listed below, go to http://YOUR_HOST_NAME:8080/ ## Portable builds To build the WebXR polyfill into a single file that you can use in a different codebase: npm run build The resulting file will be in dist/webxr-polyfill.js ## Writing your own XR apps The WebXR polyfill is not dependent on any external libraries, but examples/common.js has a handy base class, XRExampleBase, that wraps all of the boilerplate of starting a WebXR session and rendering into a WebGL layer using Three.js. Look in [examples/ar_simplest/index.html](https://github.com/mozilla/webxr-polyfill/blob/master/examples/ar_simplest/index.html) for an example of how to extend [XRExampleBase](https://github.com/mozilla/webxr-polyfill/blob/master/examples/common.js) and how to start up an app. If you run these apps on Mozilla's [ARKit based iOS app](https://github.com/mozilla-mobile/webxr-ios) then they will use the class in [polyfill/platform/ARKitWrapper.js](https://github.com/mozilla/webxr-polyfill/blob/master/polyfill/platform/ARKitWrapper.js) to get pose and anchor data out of ARKit. If you run these apps on Google's old ARCore backed experimental browser then they will use the class in [polyfill/platform/ARCoreCameraRenderer.js](https://github.com/mozilla/webxr-polyfill/blob/master/polyfill/platform/ARCoreCameraRenderer.js) to use data out of ARCore. If you run these apps on desktop Firefox or Chrome with a WebVR 1.1 supported VR headset, the headset will be exposed as a WebXR XRDisplay. If you run these apps on a device with no VR or AR tracking, the apps will use the 3dof orientation provided by Javascript orientation events. ## Supported Displays - Flat Display (AR only, needs VR) - WebVR 1.1 HMD (VR only, needs AR) - Cardboard (NOT YET) - Hololens (NOT YET) ## Supported Realities - Camera Reality (ARKit on Mozilla iOS Test App, WebARonARCore on Android, WebARonARKit on iOS, WebRTC video stream (PARTIAL)) - Virtual Reality (Desktop Firefox with Vive and Rift, Daydream (NOT TESTED), GearVR (Not Tested), Edge with MS MR headsets (NOT TESTED)) - Passthrough Reality (NOT YET) ## Supported Browsers - Mozilla [WebXR Playground](https://github.com/mozilla/webxr-ios) iOS App using ARKit - Google [ARCore Test Chrome on Android](https://github.com/google-ar/WebARonARCore) - Google [ARKit Test Chrome on iOS](https://github.com/google-ar/WebARonARKit) - Desktop Firefox with WebVR 1.1 HMDs - Mobile Safari, Chrome, and Firefox (PARTIAL, Daydream NOT TESTED) - GearVR Internet (NOT TESTED) ================================================ FILE: dist-footer.js ================================================ XRDisplay = window.XRDisplay XRSession = window.XRSession XRSessionCreateParameters = window.XRSessionCreateParameters Reality = window.Reality XRPointCloud = window.XRPointCloud XRLightEstimate = window.XRLightEstimate XRAnchor = window.XRAnchor; XRPlaneAnchor = window.XRPlaneAnchor; XRFaceAnchor = window.XRFaceAnchor; XRImageAnchor = window.XRImageAnchor; XRAnchorOffset = window.XRAnchorOffset; XRStageBounds = window.XRStageBounds; XRStageBoundsPoint = window.XRStageBoundsPoint; XRPresentationFrame = window.XRPresentationFrame; XRView = window.XRView; XRViewport = window.XRViewport; XRCoordinateSystem = window.XRCoordinateSystem; XRViewPose = window.XRViewPose; XRLayer = window.XRLayer; XRWebGLLayer = window.XRWebGLLayer; XRVideoFrame = window.XRVideoFrame; ================================================ FILE: dist-header.js ================================================ /* if there is a navigator.xr, clear it out */ if(typeof navigator.xr != 'undefined') { if(typeof XRDisplay != 'undefined') { XRDisplay = null } if(typeof XRSession != 'undefined') { XRSession = null } if(typeof XRSessionCreateParameters != 'undefined') { XRSessionCreateParameters = null } if(typeof Reality != 'undefined') { Reality = null } if(typeof XRPointCloud != 'undefined') { XRPointCloud = null } if(typeof XRLightEstimate != 'undefined') { XRLightEstimate = null } if(typeof XRAnchor != 'undefined') { XRAnchor = null } if(typeof XRPlaneAnchor != 'undefined') { XRPlaneAnchor = null } if(typeof XRFaceAnchor != 'undefined') { XRFaceAnchor = null } if(typeof XRImageAnchor != 'undefined') { XRImageAnchor = null } if(typeof XRAnchorOffset != 'undefined') { XRAnchorOffset = null } if(typeof XRStageBounds != 'undefined') { XRStageBounds = null } if(typeof XRStageBoundsPoint != 'undefined') { XRStageBoundsPoint = null } if(typeof XRPresentationFrame != 'undefined') { XRPresentationFrame = null } if(typeof XRView != 'undefined') { XRView = null } if(typeof XRViewport != 'undefined') { XRViewport = null } if(typeof XRCoordinateSystem != 'undefined') { XRCoordinateSystem = null } if(typeof XRViewPose != 'undefined') { XRViewPose = null } if(typeof XRLayer != 'undefined') { XRLayer = null } if(typeof XRWebGLLayer != 'undefined') { XRWebGLLayer = null } if(typeof XRVideoFrame != 'undefined') { XRVideoFrame = null } //navigator.xr = null; } ================================================ FILE: examples/ar_anchors/index.html ================================================ AR anchor example

Anchors

(click to dismiss)

Position boxes by tapping. The box positions are updated using ARKit anchors.

================================================ FILE: examples/ar_simplest/index.html ================================================ AR simplest example

Simplest AR

(click to dismiss)

This example displays the Utah Teapot positioned in front of the viewer at head height.

================================================ FILE: examples/boombox/index.html ================================================ Boombox

Boombox

(click to dismiss)

Shows a boombox in a VR environment.

================================================ FILE: examples/common.css ================================================ #description { pointer-events: auto; font-family: sans-serif; padding: 1em; background-color:rgba(255,255,255,0.7); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); position:absolute; bottom: 0px; left:0px; right: 0px; } ================================================ FILE: examples/common.js ================================================ /* XRExampleBase holds all of the common XR setup, rendering, and teardown code for a THREE.js based app It also holds a list of THREE nodes and XRAnchorOffsets which it uses to update the nodes' poses Extending classes should be able to focus mainly on rendering their scene and handling user input Parameters: domElement: an element used to show error messages createVirtualReality: if true, create a new empty reality for this app WebVR 1.1 displays require that the call to requestPresent be a direct result of an input event like a click. If you're trying to use a WebVR 1.1 display then you'll need to pass false in the shouldStartPresenting parameter of the constructor and then call this.startPresenting() inside an input event handler. */ class XRExampleBase { constructor(domElement, createVirtualReality=true, shouldStartPresenting=true, useComputerVision=false, worldSensing=false, alignEUS=true){ this.el = domElement this.createVirtualReality = createVirtualReality this.shouldStartPresenting = shouldStartPresenting this.useComputerVision = useComputerVision this.alignEUS = alignEUS this.worldSensing = worldSensing this._boundHandleFrame = this._handleFrame.bind(this) // Useful for setting up the requestAnimationFrame callback // Set during the XR.getDisplays call below this.displays = null // Set during this.startSession below this.display = null this.session = null this.scene = new THREE.Scene() // The scene will be rotated and oriented around the camera using the head pose this.camera = new THREE.PerspectiveCamera(70, 1024, 1024, 0.1, 1000) // These values will be overwritten by the projection matrix from ARKit or ARCore this.scene.add(this.camera) // Create a canvas and context for the session layer this.glCanvas = document.createElement('canvas') this.glContext = this.glCanvas.getContext('webgl') if(this.glContext === null){ this.showMessage('Could not create a WebGL canvas') throw new Error('Could not create GL context') } // Set up the THREE renderer with the session's layer's glContext this.renderer = new THREE.WebGLRenderer({ canvas: this.glCanvas, context: this.glContext, antialias: false, alpha: true }) this.renderer.setPixelRatio(1) this.renderer.autoClear = false this.renderer.setClearColor('#000', 0) this.requestedFloor = false this.floorGroup = new THREE.Group() // This group will eventually be be anchored to the floor (see findFloorAnchor below) // an array of info that we'll use in _handleFrame to update the nodes using anchors this.anchoredNodes = [] // { XRAnchorOffset, Three.js Object3D } // Give extending classes the opportunity to initially populate the scene this.initializeScene() if(typeof navigator.XR === 'undefined'){ this.showMessage('No WebXR API found, usually because the WebXR polyfill has not loaded') return } // Get displays and then request a session navigator.XR.getDisplays().then(displays => { if(displays.length == 0) { this.showMessage('No displays are available') return } this.displays = displays this._startSession() }).catch(err => { console.error('Error getting XR displays', err) this.showMessage('Could not get XR displays') }) } _startSession(){ let sessionInitParameters = { exclusive: this.createVirtualReality, type: this.createVirtualReality ? XRSession.REALITY : XRSession.AUGMENTATION, videoFrames: this.useComputerVision, //computer_vision_data alignEUS: this.alignEUS, worldSensing: this.worldSensing } for(let display of this.displays){ if(display.supportsSession(sessionInitParameters)){ this.display = display break } } if(this.display === null){ this.showMessage('Could not find a display for this type of session') return } this.display.requestSession(sessionInitParameters).then(session => { this.session = session this.session.depthNear = 0.1 this.session.depthFar = 1000.0 // Handle session lifecycle events this.session.addEventListener('focus', ev => { this.handleSessionFocus(ev) }) this.session.addEventListener('blur', ev => { this.handleSessionBlur(ev) }) this.session.addEventListener('end', ev => { this.handleSessionEnded(ev) }) this.newSession(); if(this.shouldStartPresenting){ // VR Displays need startPresenting called due to input events like a click this.startPresenting() } }).catch(err => { console.error('Error requesting session', err) this.showMessage('Could not initiate the session') }) } /* Clients should override to be called when a new session is created */ newSession() {} /* Empties this.el, adds a div with the message text, and shows a button to test rendering the scene to this.el */ showMessage(messageText){ let messages = document.getElementsByClassName('common-message') if(messages.length > 0){ var message = messages[0] } else { var message = document.createElement('div') message.setAttribute('class', 'common-message') this.el.append(message) } let div = document.createElement('div') div.innerHTML = messageText message.appendChild(div) } /* WebVR 1.1 displays require that the call to requestPresent be a direct result of an input event like a click. If you're trying to set up a VR display, you'll need to pass false in the shouldStartPresenting parameter of the constructor and then call this.startPresenting() inside an input event handler. */ startPresenting(){ if(this.session === null){ this.showMessage('Can not start presenting without a session') throw new Error('Can not start presenting without a session') } // Set the session's base layer into which the app will render this.session.baseLayer = new XRWebGLLayer(this.session, this.glContext) // Handle layer focus events this.session.baseLayer.addEventListener('focus', ev => { this.handleLayerFocus(ev) }) this.session.baseLayer.addEventListener('blur', ev => { this.handleLayerBlur(ev) }) this.session.requestFrame(this._boundHandleFrame) } // Extending classes can react to these events handleSessionFocus(ev){} handleSessionBlur(ev){} handleSessionEnded(ev){} handleLayerFocus(ev){} handleLayerBlur(ev){} /* * set up the video processing */ setVideoWorker(worker){ this.session.setVideoFrameHandler(worker) } // request the next frame // buffers is an optional parameter, suggesting buffers that could be used requestVideoFrame() { this.session.requestVideoFrame(); } /* Extending classes should override this to set up the scene during class construction */ initializeScene(){} /* Extending classes that need to update the layer during each frame should override this method */ updateScene(frame){} _handleFrame(frame){ const nextFrameRequest = this.session.requestFrame(this._boundHandleFrame) const headPose = frame.getDisplayPose(frame.getCoordinateSystem(XRCoordinateSystem.HEAD_MODEL)) // If we haven't already, request the floor anchor offset if(this.requestedFloor === false){ this.requestedFloor = true frame.findFloorAnchor('first-floor-anchor').then(anchorOffset => { if(anchorOffset === null){ console.log('could not find the floor anchor') const headCoordinateSystem = frame.getCoordinateSystem(XRCoordinateSystem.EYE_LEVEL) const anchorUID = frame.addAnchor(headCoordinateSystem, [0,-1,0]) anchorOffset = new XRAnchorOffset(anchorUID) } this.addAnchoredNode(anchorOffset, this.floorGroup) }).catch(err => { console.error('error finding the floor anchor', err) }) } // Update anchored node positions in the scene graph for(let anchoredNode of this.anchoredNodes){ this.updateNodeFromAnchorOffset(frame, anchoredNode.node, anchoredNode.anchorOffset) } // Let the extending class update the scene before each render this.updateScene(frame) // Prep THREE.js for the render of each XRView this.renderer.autoClear = false this.renderer.setSize(this.session.baseLayer.framebufferWidth, this.session.baseLayer.framebufferHeight, false) this.renderer.clear() this.camera.matrixAutoUpdate = false // this.camera.matrix.fromArray(headPose.poseModelMatrix) // this.camera.updateMatrixWorld() // Render each view into this.session.baseLayer.context for(const view of frame.views){ // Each XRView has its own projection matrix, so set the camera to use that this.camera.matrix.fromArray(view.viewMatrix) this.camera.updateMatrixWorld() this.camera.projectionMatrix.fromArray(view.projectionMatrix) // Set up the renderer to the XRView's viewport and then render this.renderer.clearDepth() const viewport = view.getViewport(this.session.baseLayer) this.renderer.setViewport(viewport.x, viewport.y, viewport.width, viewport.height) this.doRender() } // this.camera.matrixAutoUpdate = false // // Render each view into this.session.baseLayer.context // for(const view of frame.views){ // // Each XRView has its own projection matrix, so set the camera to use that // this.camera.matrixWorldInverse.fromArray(view.viewMatrix) // this.camera.matrixWorld.fromArray(this.camera.matrixWorldInverse) // this.camera.projectionMatrix.fromArray(view.projectionMatrix) // this.camera.matrix.fromArray(headPose.poseModelMatrix) // this.camera.updateMatrixWorld(true) // // Set up the renderer to the XRView's viewport and then render // this.renderer.clearDepth() // const viewport = view.getViewport(this.session.baseLayer) // this.renderer.setViewport(viewport.x, viewport.y, viewport.width, viewport.height) // this.doRender() // } } doRender(){ this.renderer.render(this.scene, this.camera) } /* Add a node to the scene and keep its pose updated using the anchorOffset */ addAnchoredNode(anchorOffset, node){ this.anchoredNodes.push({ anchorOffset: anchorOffset, node: node }) this.scene.add(node) } /* Remove a node from the scene */ removeAnchoredNode(node) { for (var i = 0; i < this.anchoredNodes.length; i++) { if (node === this.anchoredNodes[i].node) { this.anchoredNodes.splice(i,1); this.scene.remove(node) return; } } } /* Extending classes should override this to get notified when an anchor for node is removed */ anchoredNodeRemoved(node) {} /* Get the anchor data from the frame and use it and the anchor offset to update the pose of the node, this must be an Object3D */ updateNodeFromAnchorOffset(frame, node, anchorOffset){ const anchor = frame.getAnchor(anchorOffset.anchorUID) if(anchor === null){ throttledConsoleLog('Unknown anchor uid', anchorOffset.anchorUID) this.anchoredNodeRemoved(node); this.removeAnchoredNode(node); return } node.matrixAutoUpdate = false node.matrix.fromArray(anchorOffset.getOffsetTransform(anchor.coordinateSystem)) node.updateMatrixWorld(true) } } /* If you want to just put virtual things on surfaces, extend this app and override `createSceneGraphNode` */ class ThingsOnSurfacesApp extends XRExampleBase { constructor(domElement){ super(domElement, false) this._tapEventData = null // Will be filled in on touch start and used in updateScene this.el.addEventListener('touchstart', this._onTouchStart.bind(this), false) } // Return a THREE.Object3D of some sort to be placed when a surface is found createSceneGraphNode(){ throw new Error('Extending classes should implement createSceneGraphNode') /* For example: let geometry = new THREE.BoxBufferGeometry(0.1, 0.1, 0.1) let material = new THREE.MeshPhongMaterial({ color: '#99FF99' }) return new THREE.Mesh(geometry, material) */ } // Called once per frame, before render, to give the app a chance to update this.scene updateScene(frame){ // If we have tap data, attempt a hit test for a surface if(this._tapEventData !== null){ const x = this._tapEventData[0] const y = this._tapEventData[1] this._tapEventData = null // Attempt a hit test using the normalized screen coordinates frame.findAnchor(x, y).then(anchorOffset => { if(anchorOffset === null){ console.log('miss') return } console.log('hit', anchorOffset) this.addAnchoredNode(anchorOffset, this.createSceneGraphNode()) }).catch(err => { console.error('Error in hit test', err) }) } } // Save screen taps as normalized coordinates for use in this.updateScene _onTouchStart(ev){ if (!ev.touches || ev.touches.length === 0) { console.error('No touches on touch event', ev) return } //save screen coordinates normalized to -1..1 (0,0 is at center and 1,1 is at top right) this._tapEventData = [ ev.touches[0].clientX / window.innerWidth, ev.touches[0].clientY / window.innerHeight ] } } function fillInGLTFScene(path, scene, position=[0, 0, -2], scale=[1, 1, 1]){ let ambientLight = new THREE.AmbientLight('#FFF', 1) scene.add(ambientLight) let directionalLight = new THREE.DirectionalLight('#FFF', 0.6) scene.add(directionalLight) loadGLTF(path).then(gltf => { gltf.scene.scale.set(...scale) gltf.scene.position.set(...position) //gltf.scene.quaternion.setFromAxisAngle(new THREE.Vector3(0, 0, 1), Math.PI / -2) scene.add(gltf.scene) }).catch((...params) =>{ console.error('could not load gltf', ...params) }) } function loadGLTF(url){ return new Promise((resolve, reject) => { let loader = new THREE.GLTFLoader() loader.load(url, (gltf) => { if(gltf === null){ reject() } if(gltf.animations && gltf.animations.length){ let mixer = new THREE.AnimationMixer(gltf.scene) for(let animation of gltf.animations){ mixer.clipAction(animation).play() } } resolve(gltf) }) }) } function loadObj(baseURL, geometry){ return new Promise(function(resolve, reject){ const mtlLoader = new THREE.MTLLoader() mtlLoader.setPath(baseURL) const mtlName = geometry.split('.')[geometry.split(':').length - 1] + '.mtl' mtlLoader.load(mtlName, (materials) => { materials.preload() let objLoader = new THREE.OBJLoader() objLoader.setMaterials(materials) objLoader.setPath(baseURL) objLoader.load(geometry, (obj) => { resolve(obj) }, () => {} , (...params) => { console.error('Failed to load obj', ...params) reject(...params) }) }) }) } function requestFullScreen(){ if (document.body.requestFullscreen) { document.body.requestFullscreen() } else if (document.body.msRequestFullscreen) { document.body.msRequestFullscreen() } else if (document.body.mozRequestFullScreen) { document.body.mozRequestFullScreen() } else if (document.body.webkitRequestFullscreen) { document.body.webkitRequestFullscreen() } } function exitFullScreen(){ if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen() } else if (document.webkitExitFullscreen) { document.webkitExitFullscreen() } else if (document.msExitFullscreen) { document.msExitFullscreen() } } /* Rate limit a function call. Wait is the minimum number of milliseconds between calls. If leading is true, the first call to the throttled function is immediately called. If trailing is true, once the wait time has passed the function is called. This code is cribbed from https://github.com/jashkenas/underscore */ window.throttle = function(func, wait, leading=true, trailing=true) { var timeout, context, args, result var previous = 0 var later = function() { previous = leading === false ? 0 : Date.now() timeout = null result = func.apply(context, args) if (!timeout) context = args = null } var throttled = function() { var now = Date.now() if (!previous && leading === false) previous = now var remaining = wait - (now - previous) context = this args = arguments if (remaining <= 0 || remaining > wait) { if (timeout) { clearTimeout(timeout) timeout = null } previous = now result = func.apply(context, args) if (!timeout) context = args = null } else if (!timeout && trailing !== false) { timeout = setTimeout(later, remaining) } return result } throttled.cancel = function() { clearTimeout(timeout) previous = 0 timeout = context = args = null } return throttled } window.throttledConsoleLog = throttle((...params) => { console.log(...params) }, 1000) function hideMe(elem) { elem.style.display = 'none' } ================================================ FILE: examples/face_tracking/glasses/glasses.gltf ================================================ { "accessors": [ { "bufferView": 2, "componentType": 5126, "count": 248, "max": [ 15.589937210083008, 5.319068431854248, -4.0812702178955078 ], "min": [ -15.589941024780273, -2.73935866355896, -35.524684906005859 ], "type": "VEC3" }, { "bufferView": 2, "byteOffset": 2976, "componentType": 5126, "count": 248, "max": [ 0.96116697788238525, 0.99999320507049561, 1 ], "min": [ -0.96116697788238525, -0.99999785423278809, -0.9985383152961731 ], "type": "VEC3" }, { "bufferView": 3, "componentType": 5126, "count": 248, "max": [ 0.99998939037322998, 0.96386855840682983, 0.59339630603790283, 1 ], "min": [ -0.99998939037322998, -0.99564743041992188, -0.95187783241271973, -1 ], "type": "VEC4" }, { "bufferView": 1, "componentType": 5126, "count": 248, "max": [ 0.71463245153427124, 0.7478339672088623 ], "min": [ 0.47121205925941467, 0.00023278793378267437 ], "type": "VEC2" }, { "bufferView": 0, "componentType": 5125, "count": 648, "max": [ 247 ], "min": [ 0 ], "type": "SCALAR" }, { "bufferView": 2, "byteOffset": 5952, "componentType": 5126, "count": 132, "max": [ 13.816923141479492, 5.4677014350891113, -0.95277941226959229 ], "min": [ -13.816925048828125, -3.0395243167877197, -3.8222718238830566 ], "type": "VEC3" }, { "bufferView": 2, "byteOffset": 7536, "componentType": 5126, "count": 132, "max": [ 0.3650696873664856, 0.19587248563766479, 0.99650496244430542 ], "min": [ -0.3650696873664856, -0.19587248563766479, -0.99650496244430542 ], "type": "VEC3" }, { "bufferView": 3, "byteOffset": 3968, "componentType": 5126, "count": 132, "max": [ 0.050754040479660034, -0.98062723875045776, 0.053826514631509781, 1 ], "min": [ -0.05075131356716156, -0.99997633695602417, -0.19064761698246002, 1 ], "type": "VEC4" }, { "bufferView": 1, "byteOffset": 1984, "componentType": 5126, "count": 132, "max": [ 0.901009202003479, 0.99976730346679688 ], "min": [ 0.25119039416313171, 0.00023278793378267437 ], "type": "VEC2" }, { "bufferView": 0, "byteOffset": 2592, "componentType": 5125, "count": 552, "max": [ 131 ], "min": [ 0 ], "type": "SCALAR" }, { "bufferView": 2, "byteOffset": 9120, "componentType": 5126, "count": 604, "max": [ 15.295004844665527, 5.9854044914245605, -0.64784759283065796 ], "min": [ -15.295004844665527, -3.5821621417999268, -5.3981013298034668 ], "type": "VEC3" }, { "bufferView": 2, "byteOffset": 16368, "componentType": 5126, "count": 604, "max": [ 0.99990367889404297, 1, 0.99932527542114258 ], "min": [ -0.99990367889404297, -1, -0.99880260229110718 ], "type": "VEC3" }, { "bufferView": 3, "byteOffset": 6080, "componentType": 5126, "count": 604, "max": [ 0.79950982332229614, 0.99962127208709717, 1, 1 ], "min": [ -0.79951024055480957, -0.037466175854206085, -1, 1 ], "type": "VEC4" }, { "bufferView": 1, "byteOffset": 3040, "componentType": 5126, "count": 604, "max": [ 0.4707464873790741, 0.73155510425567627 ], "min": [ 0.00023278793378267437, 0.00023278793378267437 ], "type": "VEC2" }, { "bufferView": 0, "byteOffset": 4800, "componentType": 5125, "count": 1812, "max": [ 603 ], "min": [ 0 ], "type": "SCALAR" } ], "asset": { "extras": { "author": "person-x (https://sketchfab.com/person-x)", "license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)", "source": "https://sketchfab.com/models/5c78f100eea749c895d69fe2ed728197", "title": "Glasses" }, "generator": "Sketchfab-3.19.4", "version": "2.0" }, "bufferViews": [ { "buffer": 0, "byteLength": 12048, "byteOffset": 0, "name": "floatBufferViews", "target": 34963 }, { "buffer": 0, "byteLength": 7872, "byteOffset": 12048, "byteStride": 8, "name": "floatBufferViews", "target": 34962 }, { "buffer": 0, "byteLength": 23616, "byteOffset": 19920, "byteStride": 12, "name": "floatBufferViews", "target": 34962 }, { "buffer": 0, "byteLength": 15744, "byteOffset": 43536, "byteStride": 16, "name": "floatBufferViews", "target": 34962 } ], "buffers": [ { "byteLength": 59280, "uri": "glasses.bin" } ], "images": [ { "uri": "textures/Glasses1_metallicRoughness.png" }, { "uri": "textures/Glasses1_normal.png" }, { "uri": "textures/Glasses1_baseColor.jpg" }, { "uri": "textures/Glasses2_metallicRoughness.png" }, { "uri": "textures/Glasses2_normal.png" }, { "uri": "textures/Glasses2_baseColor.jpg" }, { "uri": "textures/Lenses_metallicRoughness.png" }, { "uri": "textures/Lenses_normal.png" }, { "uri": "textures/Lenses_baseColor.jpg" } ], "materials": [ { "doubleSided": true, "emissiveFactor": [ 0, 0, 0 ], "name": "Glasses2", "normalTexture": { "index": 4, "scale": 1, "texCoord": 0 }, "occlusionTexture": { "index": 3, "strength": 1, "texCoord": 0 }, "pbrMetallicRoughness": { "baseColorFactor": [ 1, 1, 1, 1 ], "baseColorTexture": { "index": 5, "texCoord": 0 }, "metallicFactor": 1, "metallicRoughnessTexture": { "index": 3, "texCoord": 0 }, "roughnessFactor": 1 } }, { "alphaMode": "BLEND", "doubleSided": true, "emissiveFactor": [ 0, 0, 0 ], "name": "Lenses", "normalTexture": { "index": 7, "scale": 1, "texCoord": 0 }, "occlusionTexture": { "index": 6, "strength": 1, "texCoord": 0 }, "pbrMetallicRoughness": { "baseColorFactor": [ 1, 1, 1, 0.83536585370000005 ], "baseColorTexture": { "index": 8, "texCoord": 0 }, "metallicFactor": 1, "metallicRoughnessTexture": { "index": 6, "texCoord": 0 }, "roughnessFactor": 1 } }, { "doubleSided": true, "emissiveFactor": [ 0, 0, 0 ], "name": "Glasses1", "normalTexture": { "index": 1, "scale": 1, "texCoord": 0 }, "occlusionTexture": { "index": 0, "strength": 1, "texCoord": 0 }, "pbrMetallicRoughness": { "baseColorFactor": [ 1, 1, 1, 1 ], "baseColorTexture": { "index": 2, "texCoord": 0 }, "metallicFactor": 1, "metallicRoughnessTexture": { "index": 0, "texCoord": 0 }, "roughnessFactor": 1 } } ], "meshes": [ { "name": "Glasses_Glasses2_0", "primitives": [ { "attributes": { "NORMAL": 1, "POSITION": 0, "TANGENT": 2, "TEXCOORD_0": 3 }, "indices": 4, "material": 0, "mode": 4 } ] }, { "name": "Glasses_Lenses_0", "primitives": [ { "attributes": { "NORMAL": 6, "POSITION": 5, "TANGENT": 7, "TEXCOORD_0": 8 }, "indices": 9, "material": 1, "mode": 4 } ] }, { "name": "Glasses_Glasses1_0", "primitives": [ { "attributes": { "NORMAL": 11, "POSITION": 10, "TANGENT": 12, "TEXCOORD_0": 13 }, "indices": 14, "material": 2, "mode": 4 } ] } ], "nodes": [ { "children": [ 1 ], "name": "RootNode (gltf orientation matrix)", "rotation": [ -0.70710678118654746, -0, -0, 0.70710678118654757 ] }, { "children": [ 2 ], "name": "RootNode (model correction matrix)" }, { "children": [ 3 ], "matrix": [ 1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1 ], "name": "3c96b4c605144760a4b7d953fa4e9a15.fbx" }, { "children": [ 4 ], "name": "RootNode" }, { "children": [ 5, 6, 7 ], "matrix": [ 9.3455562591552734, 0, 0, 0, 0, 9.3455562591552468, -7.0556988371126668e-07, 0, 0, 7.0556988371126668e-07, 9.3455562591552468, 0, 0, 0, 0, 1 ], "name": "Glasses" }, { "mesh": 0, "name": "Glasses_Glasses2_0" }, { "mesh": 1, "name": "Glasses_Lenses_0" }, { "mesh": 2, "name": "Glasses_Glasses1_0" } ], "samplers": [ { "magFilter": 9729, "minFilter": 9987, "wrapS": 10497, "wrapT": 10497 } ], "scene": 0, "scenes": [ { "name": "OSG_Scene", "nodes": [ 0 ] } ], "textures": [ { "sampler": 0, "source": 0 }, { "sampler": 0, "source": 1 }, { "sampler": 0, "source": 2 }, { "sampler": 0, "source": 3 }, { "sampler": 0, "source": 4 }, { "sampler": 0, "source": 5 }, { "sampler": 0, "source": 6 }, { "sampler": 0, "source": 7 }, { "sampler": 0, "source": 8 } ] } ================================================ FILE: examples/face_tracking/index.html ================================================ ARKit face tracking example

ARKit face tracking Example

(click to dismiss)

This detects and tracks your face using ARKit and places a 3D model on it. (Glasses model by person-x)

================================================ FILE: examples/hit_test/index.html ================================================ Hit test example

Hit Test

(click to dismiss)

Find anchors by searching on tap events.

================================================ FILE: examples/image_detection/index.html ================================================ ARKit 1.5 image detection example

ARKit 1.5 Image Detection Example

(click to dismiss)

This sample automatically creates and activates a reference image, and places an anchored ducky when it's detected. Print hubs.png so that it's 20cm wide.

================================================ FILE: examples/libs/loaders/BinaryLoader.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.BinaryLoader = function ( manager ) { if ( typeof manager === 'boolean' ) { console.warn( 'THREE.BinaryLoader: showStatus parameter has been removed from constructor.' ); manager = undefined; } this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; }; THREE.BinaryLoader.prototype = { constructor: THREE.BinaryLoader, crossOrigin: 'Anonymous', // Load models generated by slim OBJ converter with BINARY option (converter_obj_three_slim.py -t binary) // - binary models consist of two files: JS and BIN // - parameters // - url (required) // - callback (required) // - texturePath (optional: if not specified, textures will be assumed to be in the same folder as JS model file) // - binaryPath (optional: if not specified, binary file will be assumed to be in the same folder as JS model file) load: function ( url, onLoad, onProgress, onError ) { // todo: unify load API to for easier SceneLoader use var texturePath = this.texturePath || THREE.Loader.prototype.extractUrlBase( url ); var binaryPath = this.binaryPath || THREE.Loader.prototype.extractUrlBase( url ); // #1 load JS part via web worker var scope = this; var jsonloader = new THREE.FileLoader( this.manager ); jsonloader.load( url, function ( data ) { var json = JSON.parse( data ); var bufferUrl = binaryPath + json.buffers; var bufferLoader = new THREE.FileLoader( scope.manager ); bufferLoader.setResponseType( 'arraybuffer' ); bufferLoader.load( bufferUrl, function ( bufData ) { // IEWEBGL needs this ??? //buffer = ( new Uint8Array( xhr.responseBody ) ).buffer; //// iOS and other XMLHttpRequest level 1 ??? scope.parse( bufData, onLoad, texturePath, json.materials ); }, onProgress, onError ); }, onProgress, onError ); }, setBinaryPath: function ( value ) { this.binaryPath = value; }, setCrossOrigin: function ( value ) { this.crossOrigin = value; }, setTexturePath: function ( value ) { this.texturePath = value; }, parse: function ( data, callback, texturePath, jsonMaterials ) { var Model = function ( texturePath ) { var scope = this, currentOffset = 0, md, normals = [], uvs = [], start_tri_flat, start_tri_smooth, start_tri_flat_uv, start_tri_smooth_uv, start_quad_flat, start_quad_smooth, start_quad_flat_uv, start_quad_smooth_uv, tri_size, quad_size, len_tri_flat, len_tri_smooth, len_tri_flat_uv, len_tri_smooth_uv, len_quad_flat, len_quad_smooth, len_quad_flat_uv; THREE.Geometry.call( this ); md = parseMetaData( data, currentOffset ); currentOffset += md.header_bytes; /* md.vertex_index_bytes = Uint32Array.BYTES_PER_ELEMENT; md.material_index_bytes = Uint16Array.BYTES_PER_ELEMENT; md.normal_index_bytes = Uint32Array.BYTES_PER_ELEMENT; md.uv_index_bytes = Uint32Array.BYTES_PER_ELEMENT; */ // buffers sizes tri_size = md.vertex_index_bytes * 3 + md.material_index_bytes; quad_size = md.vertex_index_bytes * 4 + md.material_index_bytes; len_tri_flat = md.ntri_flat * ( tri_size ); len_tri_smooth = md.ntri_smooth * ( tri_size + md.normal_index_bytes * 3 ); len_tri_flat_uv = md.ntri_flat_uv * ( tri_size + md.uv_index_bytes * 3 ); len_tri_smooth_uv = md.ntri_smooth_uv * ( tri_size + md.normal_index_bytes * 3 + md.uv_index_bytes * 3 ); len_quad_flat = md.nquad_flat * ( quad_size ); len_quad_smooth = md.nquad_smooth * ( quad_size + md.normal_index_bytes * 4 ); len_quad_flat_uv = md.nquad_flat_uv * ( quad_size + md.uv_index_bytes * 4 ); // read buffers currentOffset += init_vertices( currentOffset ); currentOffset += init_normals( currentOffset ); currentOffset += handlePadding( md.nnormals * 3 ); currentOffset += init_uvs( currentOffset ); start_tri_flat = currentOffset; start_tri_smooth = start_tri_flat + len_tri_flat + handlePadding( md.ntri_flat * 2 ); start_tri_flat_uv = start_tri_smooth + len_tri_smooth + handlePadding( md.ntri_smooth * 2 ); start_tri_smooth_uv = start_tri_flat_uv + len_tri_flat_uv + handlePadding( md.ntri_flat_uv * 2 ); start_quad_flat = start_tri_smooth_uv + len_tri_smooth_uv + handlePadding( md.ntri_smooth_uv * 2 ); start_quad_smooth = start_quad_flat + len_quad_flat + handlePadding( md.nquad_flat * 2 ); start_quad_flat_uv = start_quad_smooth + len_quad_smooth + handlePadding( md.nquad_smooth * 2 ); start_quad_smooth_uv = start_quad_flat_uv + len_quad_flat_uv + handlePadding( md.nquad_flat_uv * 2 ); // have to first process faces with uvs // so that face and uv indices match init_triangles_flat_uv( start_tri_flat_uv ); init_triangles_smooth_uv( start_tri_smooth_uv ); init_quads_flat_uv( start_quad_flat_uv ); init_quads_smooth_uv( start_quad_smooth_uv ); // now we can process untextured faces init_triangles_flat( start_tri_flat ); init_triangles_smooth( start_tri_smooth ); init_quads_flat( start_quad_flat ); init_quads_smooth( start_quad_smooth ); this.computeFaceNormals(); function handlePadding( n ) { return ( n % 4 ) ? ( 4 - n % 4 ) : 0; } function parseMetaData( data, offset ) { var metaData = { 'signature' : parseString( data, offset, 12 ), 'header_bytes' : parseUChar8( data, offset + 12 ), 'vertex_coordinate_bytes' : parseUChar8( data, offset + 13 ), 'normal_coordinate_bytes' : parseUChar8( data, offset + 14 ), 'uv_coordinate_bytes' : parseUChar8( data, offset + 15 ), 'vertex_index_bytes' : parseUChar8( data, offset + 16 ), 'normal_index_bytes' : parseUChar8( data, offset + 17 ), 'uv_index_bytes' : parseUChar8( data, offset + 18 ), 'material_index_bytes' : parseUChar8( data, offset + 19 ), 'nvertices' : parseUInt32( data, offset + 20 ), 'nnormals' : parseUInt32( data, offset + 20 + 4 * 1 ), 'nuvs' : parseUInt32( data, offset + 20 + 4 * 2 ), 'ntri_flat' : parseUInt32( data, offset + 20 + 4 * 3 ), 'ntri_smooth' : parseUInt32( data, offset + 20 + 4 * 4 ), 'ntri_flat_uv' : parseUInt32( data, offset + 20 + 4 * 5 ), 'ntri_smooth_uv' : parseUInt32( data, offset + 20 + 4 * 6 ), 'nquad_flat' : parseUInt32( data, offset + 20 + 4 * 7 ), 'nquad_smooth' : parseUInt32( data, offset + 20 + 4 * 8 ), 'nquad_flat_uv' : parseUInt32( data, offset + 20 + 4 * 9 ), 'nquad_smooth_uv' : parseUInt32( data, offset + 20 + 4 * 10 ) }; /* console.log( "signature: " + metaData.signature ); console.log( "header_bytes: " + metaData.header_bytes ); console.log( "vertex_coordinate_bytes: " + metaData.vertex_coordinate_bytes ); console.log( "normal_coordinate_bytes: " + metaData.normal_coordinate_bytes ); console.log( "uv_coordinate_bytes: " + metaData.uv_coordinate_bytes ); console.log( "vertex_index_bytes: " + metaData.vertex_index_bytes ); console.log( "normal_index_bytes: " + metaData.normal_index_bytes ); console.log( "uv_index_bytes: " + metaData.uv_index_bytes ); console.log( "material_index_bytes: " + metaData.material_index_bytes ); console.log( "nvertices: " + metaData.nvertices ); console.log( "nnormals: " + metaData.nnormals ); console.log( "nuvs: " + metaData.nuvs ); console.log( "ntri_flat: " + metaData.ntri_flat ); console.log( "ntri_smooth: " + metaData.ntri_smooth ); console.log( "ntri_flat_uv: " + metaData.ntri_flat_uv ); console.log( "ntri_smooth_uv: " + metaData.ntri_smooth_uv ); console.log( "nquad_flat: " + metaData.nquad_flat ); console.log( "nquad_smooth: " + metaData.nquad_smooth ); console.log( "nquad_flat_uv: " + metaData.nquad_flat_uv ); console.log( "nquad_smooth_uv: " + metaData.nquad_smooth_uv ); var total = metaData.header_bytes + metaData.nvertices * metaData.vertex_coordinate_bytes * 3 + metaData.nnormals * metaData.normal_coordinate_bytes * 3 + metaData.nuvs * metaData.uv_coordinate_bytes * 2 + metaData.ntri_flat * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes ) + metaData.ntri_smooth * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.normal_index_bytes*3 ) + metaData.ntri_flat_uv * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.uv_index_bytes*3 ) + metaData.ntri_smooth_uv * ( metaData.vertex_index_bytes*3 + metaData.material_index_bytes + metaData.normal_index_bytes*3 + metaData.uv_index_bytes*3 ) + metaData.nquad_flat * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes ) + metaData.nquad_smooth * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 ) + metaData.nquad_flat_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.uv_index_bytes*4 ) + metaData.nquad_smooth_uv * ( metaData.vertex_index_bytes*4 + metaData.material_index_bytes + metaData.normal_index_bytes*4 + metaData.uv_index_bytes*4 ); console.log( "total bytes: " + total ); */ return metaData; } function parseString( data, offset, length ) { var charArray = new Uint8Array( data, offset, length ); var text = ""; for ( var i = 0; i < length; i ++ ) { text += String.fromCharCode( charArray[ i ] ); } return text; } function parseUChar8( data, offset ) { var charArray = new Uint8Array( data, offset, 1 ); return charArray[ 0 ]; } function parseUInt32( data, offset ) { var intArray = new Uint32Array( data, offset, 1 ); return intArray[ 0 ]; } function init_vertices( start ) { var nElements = md.nvertices; var coordArray = new Float32Array( data, start, nElements * 3 ); var i, x, y, z; for ( i = 0; i < nElements; i ++ ) { x = coordArray[ i * 3 ]; y = coordArray[ i * 3 + 1 ]; z = coordArray[ i * 3 + 2 ]; scope.vertices.push( new THREE.Vector3( x, y, z ) ); } return nElements * 3 * Float32Array.BYTES_PER_ELEMENT; } function init_normals( start ) { var nElements = md.nnormals; if ( nElements ) { var normalArray = new Int8Array( data, start, nElements * 3 ); var i, x, y, z; for ( i = 0; i < nElements; i ++ ) { x = normalArray[ i * 3 ]; y = normalArray[ i * 3 + 1 ]; z = normalArray[ i * 3 + 2 ]; normals.push( x / 127, y / 127, z / 127 ); } } return nElements * 3 * Int8Array.BYTES_PER_ELEMENT; } function init_uvs( start ) { var nElements = md.nuvs; if ( nElements ) { var uvArray = new Float32Array( data, start, nElements * 2 ); var i, u, v; for ( i = 0; i < nElements; i ++ ) { u = uvArray[ i * 2 ]; v = uvArray[ i * 2 + 1 ]; uvs.push( u, v ); } } return nElements * 2 * Float32Array.BYTES_PER_ELEMENT; } function init_uvs3( nElements, offset ) { var i, uva, uvb, uvc, u1, u2, u3, v1, v2, v3; var uvIndexBuffer = new Uint32Array( data, offset, 3 * nElements ); for ( i = 0; i < nElements; i ++ ) { uva = uvIndexBuffer[ i * 3 ]; uvb = uvIndexBuffer[ i * 3 + 1 ]; uvc = uvIndexBuffer[ i * 3 + 2 ]; u1 = uvs[ uva * 2 ]; v1 = uvs[ uva * 2 + 1 ]; u2 = uvs[ uvb * 2 ]; v2 = uvs[ uvb * 2 + 1 ]; u3 = uvs[ uvc * 2 ]; v3 = uvs[ uvc * 2 + 1 ]; scope.faceVertexUvs[ 0 ].push( [ new THREE.Vector2( u1, v1 ), new THREE.Vector2( u2, v2 ), new THREE.Vector2( u3, v3 ) ] ); } } function init_uvs4( nElements, offset ) { var i, uva, uvb, uvc, uvd, u1, u2, u3, u4, v1, v2, v3, v4; var uvIndexBuffer = new Uint32Array( data, offset, 4 * nElements ); for ( i = 0; i < nElements; i ++ ) { uva = uvIndexBuffer[ i * 4 ]; uvb = uvIndexBuffer[ i * 4 + 1 ]; uvc = uvIndexBuffer[ i * 4 + 2 ]; uvd = uvIndexBuffer[ i * 4 + 3 ]; u1 = uvs[ uva * 2 ]; v1 = uvs[ uva * 2 + 1 ]; u2 = uvs[ uvb * 2 ]; v2 = uvs[ uvb * 2 + 1 ]; u3 = uvs[ uvc * 2 ]; v3 = uvs[ uvc * 2 + 1 ]; u4 = uvs[ uvd * 2 ]; v4 = uvs[ uvd * 2 + 1 ]; scope.faceVertexUvs[ 0 ].push( [ new THREE.Vector2( u1, v1 ), new THREE.Vector2( u2, v2 ), new THREE.Vector2( u4, v4 ) ] ); scope.faceVertexUvs[ 0 ].push( [ new THREE.Vector2( u2, v2 ), new THREE.Vector2( u3, v3 ), new THREE.Vector2( u4, v4 ) ] ); } } function init_faces3_flat( nElements, offsetVertices, offsetMaterials ) { var i, a, b, c, m; var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 3 * nElements ); var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); for ( i = 0; i < nElements; i ++ ) { a = vertexIndexBuffer[ i * 3 ]; b = vertexIndexBuffer[ i * 3 + 1 ]; c = vertexIndexBuffer[ i * 3 + 2 ]; m = materialIndexBuffer[ i ]; scope.faces.push( new THREE.Face3( a, b, c, null, null, m ) ); } } function init_faces4_flat( nElements, offsetVertices, offsetMaterials ) { var i, a, b, c, d, m; var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 4 * nElements ); var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); for ( i = 0; i < nElements; i ++ ) { a = vertexIndexBuffer[ i * 4 ]; b = vertexIndexBuffer[ i * 4 + 1 ]; c = vertexIndexBuffer[ i * 4 + 2 ]; d = vertexIndexBuffer[ i * 4 + 3 ]; m = materialIndexBuffer[ i ]; scope.faces.push( new THREE.Face3( a, b, d, null, null, m ) ); scope.faces.push( new THREE.Face3( b, c, d, null, null, m ) ); } } function init_faces3_smooth( nElements, offsetVertices, offsetNormals, offsetMaterials ) { var i, a, b, c, m; var na, nb, nc; var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 3 * nElements ); var normalIndexBuffer = new Uint32Array( data, offsetNormals, 3 * nElements ); var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); for ( i = 0; i < nElements; i ++ ) { a = vertexIndexBuffer[ i * 3 ]; b = vertexIndexBuffer[ i * 3 + 1 ]; c = vertexIndexBuffer[ i * 3 + 2 ]; na = normalIndexBuffer[ i * 3 ]; nb = normalIndexBuffer[ i * 3 + 1 ]; nc = normalIndexBuffer[ i * 3 + 2 ]; m = materialIndexBuffer[ i ]; var nax = normals[ na * 3 ], nay = normals[ na * 3 + 1 ], naz = normals[ na * 3 + 2 ], nbx = normals[ nb * 3 ], nby = normals[ nb * 3 + 1 ], nbz = normals[ nb * 3 + 2 ], ncx = normals[ nc * 3 ], ncy = normals[ nc * 3 + 1 ], ncz = normals[ nc * 3 + 2 ]; scope.faces.push( new THREE.Face3( a, b, c, [ new THREE.Vector3( nax, nay, naz ), new THREE.Vector3( nbx, nby, nbz ), new THREE.Vector3( ncx, ncy, ncz ) ], null, m ) ); } } function init_faces4_smooth( nElements, offsetVertices, offsetNormals, offsetMaterials ) { var i, a, b, c, d, m; var na, nb, nc, nd; var vertexIndexBuffer = new Uint32Array( data, offsetVertices, 4 * nElements ); var normalIndexBuffer = new Uint32Array( data, offsetNormals, 4 * nElements ); var materialIndexBuffer = new Uint16Array( data, offsetMaterials, nElements ); for ( i = 0; i < nElements; i ++ ) { a = vertexIndexBuffer[ i * 4 ]; b = vertexIndexBuffer[ i * 4 + 1 ]; c = vertexIndexBuffer[ i * 4 + 2 ]; d = vertexIndexBuffer[ i * 4 + 3 ]; na = normalIndexBuffer[ i * 4 ]; nb = normalIndexBuffer[ i * 4 + 1 ]; nc = normalIndexBuffer[ i * 4 + 2 ]; nd = normalIndexBuffer[ i * 4 + 3 ]; m = materialIndexBuffer[ i ]; var nax = normals[ na * 3 ], nay = normals[ na * 3 + 1 ], naz = normals[ na * 3 + 2 ], nbx = normals[ nb * 3 ], nby = normals[ nb * 3 + 1 ], nbz = normals[ nb * 3 + 2 ], ncx = normals[ nc * 3 ], ncy = normals[ nc * 3 + 1 ], ncz = normals[ nc * 3 + 2 ], ndx = normals[ nd * 3 ], ndy = normals[ nd * 3 + 1 ], ndz = normals[ nd * 3 + 2 ]; scope.faces.push( new THREE.Face3( a, b, d, [ new THREE.Vector3( nax, nay, naz ), new THREE.Vector3( nbx, nby, nbz ), new THREE.Vector3( ndx, ndy, ndz ) ], null, m ) ); scope.faces.push( new THREE.Face3( b, c, d, [ new THREE.Vector3( nbx, nby, nbz ), new THREE.Vector3( ncx, ncy, ncz ), new THREE.Vector3( ndx, ndy, ndz ) ], null, m ) ); } } function init_triangles_flat( start ) { var nElements = md.ntri_flat; if ( nElements ) { var offsetMaterials = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; init_faces3_flat( nElements, start, offsetMaterials ); } } function init_triangles_flat_uv( start ) { var nElements = md.ntri_flat_uv; if ( nElements ) { var offsetUvs = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; init_faces3_flat( nElements, start, offsetMaterials ); init_uvs3( nElements, offsetUvs ); } } function init_triangles_smooth( start ) { var nElements = md.ntri_smooth; if ( nElements ) { var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; var offsetMaterials = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; init_faces3_smooth( nElements, start, offsetNormals, offsetMaterials ); } } function init_triangles_smooth_uv( start ) { var nElements = md.ntri_smooth_uv; if ( nElements ) { var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; var offsetUvs = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 3; init_faces3_smooth( nElements, start, offsetNormals, offsetMaterials ); init_uvs3( nElements, offsetUvs ); } } function init_quads_flat( start ) { var nElements = md.nquad_flat; if ( nElements ) { var offsetMaterials = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; init_faces4_flat( nElements, start, offsetMaterials ); } } function init_quads_flat_uv( start ) { var nElements = md.nquad_flat_uv; if ( nElements ) { var offsetUvs = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; init_faces4_flat( nElements, start, offsetMaterials ); init_uvs4( nElements, offsetUvs ); } } function init_quads_smooth( start ) { var nElements = md.nquad_smooth; if ( nElements ) { var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; var offsetMaterials = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; init_faces4_smooth( nElements, start, offsetNormals, offsetMaterials ); } } function init_quads_smooth_uv( start ) { var nElements = md.nquad_smooth_uv; if ( nElements ) { var offsetNormals = start + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; var offsetUvs = offsetNormals + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; var offsetMaterials = offsetUvs + nElements * Uint32Array.BYTES_PER_ELEMENT * 4; init_faces4_smooth( nElements, start, offsetNormals, offsetMaterials ); init_uvs4( nElements, offsetUvs ); } } }; Model.prototype = Object.create( THREE.Geometry.prototype ); Model.prototype.constructor = Model; var geometry = new Model( texturePath ); var materials = THREE.Loader.prototype.initMaterials( jsonMaterials, texturePath, this.crossOrigin ); callback( geometry, materials ); } }; ================================================ FILE: examples/libs/postprocessing/BloomPass.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) { THREE.Pass.call( this ); strength = ( strength !== undefined ) ? strength : 1; kernelSize = ( kernelSize !== undefined ) ? kernelSize : 25; sigma = ( sigma !== undefined ) ? sigma : 4.0; resolution = ( resolution !== undefined ) ? resolution : 256; // render targets var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat }; this.renderTargetX = new THREE.WebGLRenderTarget( resolution, resolution, pars ); this.renderTargetX.texture.name = "BloomPass.x"; this.renderTargetY = new THREE.WebGLRenderTarget( resolution, resolution, pars ); this.renderTargetY.texture.name = "BloomPass.y"; // copy material if ( THREE.CopyShader === undefined ) console.error( "THREE.BloomPass relies on THREE.CopyShader" ); var copyShader = THREE.CopyShader; this.copyUniforms = THREE.UniformsUtils.clone( copyShader.uniforms ); this.copyUniforms[ "opacity" ].value = strength; this.materialCopy = new THREE.ShaderMaterial( { uniforms: this.copyUniforms, vertexShader: copyShader.vertexShader, fragmentShader: copyShader.fragmentShader, blending: THREE.AdditiveBlending, transparent: true } ); // convolution material if ( THREE.ConvolutionShader === undefined ) console.error( "THREE.BloomPass relies on THREE.ConvolutionShader" ); var convolutionShader = THREE.ConvolutionShader; this.convolutionUniforms = THREE.UniformsUtils.clone( convolutionShader.uniforms ); this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurX; this.convolutionUniforms[ "cKernel" ].value = THREE.ConvolutionShader.buildKernel( sigma ); this.materialConvolution = new THREE.ShaderMaterial( { uniforms: this.convolutionUniforms, vertexShader: convolutionShader.vertexShader, fragmentShader: convolutionShader.fragmentShader, defines: { "KERNEL_SIZE_FLOAT": kernelSize.toFixed( 1 ), "KERNEL_SIZE_INT": kernelSize.toFixed( 0 ) } } ); this.needsSwap = false; this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); this.scene = new THREE.Scene(); this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null ); this.quad.frustumCulled = false; // Avoid getting clipped this.scene.add( this.quad ); }; THREE.BloomPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.BloomPass, render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST ); // Render quad with blured scene into texture (convolution pass 1) this.quad.material = this.materialConvolution; this.convolutionUniforms[ "tDiffuse" ].value = readBuffer.texture; this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurX; renderer.render( this.scene, this.camera, this.renderTargetX, true ); // Render quad with blured scene into texture (convolution pass 2) this.convolutionUniforms[ "tDiffuse" ].value = this.renderTargetX.texture; this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurY; renderer.render( this.scene, this.camera, this.renderTargetY, true ); // Render original scene with superimposed blur to texture this.quad.material = this.materialCopy; this.copyUniforms[ "tDiffuse" ].value = this.renderTargetY.texture; if ( maskActive ) renderer.context.enable( renderer.context.STENCIL_TEST ); renderer.render( this.scene, this.camera, readBuffer, this.clear ); } } ); THREE.BloomPass.blurX = new THREE.Vector2( 0.001953125, 0.0 ); THREE.BloomPass.blurY = new THREE.Vector2( 0.0, 0.001953125 ); ================================================ FILE: examples/libs/postprocessing/EffectComposer.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.EffectComposer = function ( renderer, renderTarget ) { this.renderer = renderer; if ( renderTarget === undefined ) { var parameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBAFormat, stencilBuffer: false }; var size = renderer.getSize(); renderTarget = new THREE.WebGLRenderTarget( size.width, size.height, parameters ); renderTarget.texture.name = 'EffectComposer.rt1'; } this.renderTarget1 = renderTarget; this.renderTarget2 = renderTarget.clone(); this.renderTarget2.texture.name = 'EffectComposer.rt2'; this.writeBuffer = this.renderTarget1; this.readBuffer = this.renderTarget2; this.passes = []; // dependencies if ( THREE.CopyShader === undefined ) { console.error( 'THREE.EffectComposer relies on THREE.CopyShader' ); } if ( THREE.ShaderPass === undefined ) { console.error( 'THREE.EffectComposer relies on THREE.ShaderPass' ); } this.copyPass = new THREE.ShaderPass( THREE.CopyShader ); }; Object.assign( THREE.EffectComposer.prototype, { swapBuffers: function() { var tmp = this.readBuffer; this.readBuffer = this.writeBuffer; this.writeBuffer = tmp; }, addPass: function ( pass ) { this.passes.push( pass ); var size = this.renderer.getSize(); pass.setSize( size.width, size.height ); }, insertPass: function ( pass, index ) { this.passes.splice( index, 0, pass ); }, render: function ( delta ) { var maskActive = false; var pass, i, il = this.passes.length; for ( i = 0; i < il; i ++ ) { pass = this.passes[ i ]; if ( pass.enabled === false ) continue; pass.render( this.renderer, this.writeBuffer, this.readBuffer, delta, maskActive ); if ( pass.needsSwap ) { if ( maskActive ) { var context = this.renderer.context; context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, delta ); context.stencilFunc( context.EQUAL, 1, 0xffffffff ); } this.swapBuffers(); } if ( THREE.MaskPass !== undefined ) { if ( pass instanceof THREE.MaskPass ) { maskActive = true; } else if ( pass instanceof THREE.ClearMaskPass ) { maskActive = false; } } } }, reset: function ( renderTarget ) { if ( renderTarget === undefined ) { var size = this.renderer.getSize(); renderTarget = this.renderTarget1.clone(); renderTarget.setSize( size.width, size.height ); } this.renderTarget1.dispose(); this.renderTarget2.dispose(); this.renderTarget1 = renderTarget; this.renderTarget2 = renderTarget.clone(); this.writeBuffer = this.renderTarget1; this.readBuffer = this.renderTarget2; }, setSize: function ( width, height ) { this.renderTarget1.setSize( width, height ); this.renderTarget2.setSize( width, height ); for ( var i = 0; i < this.passes.length; i ++ ) { this.passes[i].setSize( width, height ); } } } ); THREE.Pass = function () { // if set to true, the pass is processed by the composer this.enabled = true; // if set to true, the pass indicates to swap read and write buffer after rendering this.needsSwap = true; // if set to true, the pass clears its buffer before rendering this.clear = false; // if set to true, the result of the pass is rendered to screen this.renderToScreen = false; }; Object.assign( THREE.Pass.prototype, { setSize: function( width, height ) {}, render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { console.error( 'THREE.Pass: .render() must be implemented in derived pass.' ); } } ); ================================================ FILE: examples/libs/postprocessing/FilmPass.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.FilmPass = function ( noiseIntensity, scanlinesIntensity, scanlinesCount, grayscale ) { THREE.Pass.call( this ); if ( THREE.FilmShader === undefined ) console.error( "THREE.FilmPass relies on THREE.FilmShader" ); var shader = THREE.FilmShader; this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); this.material = new THREE.ShaderMaterial( { uniforms: this.uniforms, vertexShader: shader.vertexShader, fragmentShader: shader.fragmentShader } ); if ( grayscale !== undefined ) this.uniforms.grayscale.value = grayscale; if ( noiseIntensity !== undefined ) this.uniforms.nIntensity.value = noiseIntensity; if ( scanlinesIntensity !== undefined ) this.uniforms.sIntensity.value = scanlinesIntensity; if ( scanlinesCount !== undefined ) this.uniforms.sCount.value = scanlinesCount; this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); this.scene = new THREE.Scene(); this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null ); this.quad.frustumCulled = false; // Avoid getting clipped this.scene.add( this.quad ); }; THREE.FilmPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.FilmPass, render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { this.uniforms[ "tDiffuse" ].value = readBuffer.texture; this.uniforms[ "time" ].value += delta; this.quad.material = this.material; if ( this.renderToScreen ) { renderer.render( this.scene, this.camera ); } else { renderer.render( this.scene, this.camera, writeBuffer, this.clear ); } } } ); ================================================ FILE: examples/libs/postprocessing/MaskPass.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.MaskPass = function ( scene, camera ) { THREE.Pass.call( this ); this.scene = scene; this.camera = camera; this.clear = true; this.needsSwap = false; this.inverse = false; }; THREE.MaskPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.MaskPass, render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { var context = renderer.context; var state = renderer.state; // don't update color or depth state.buffers.color.setMask( false ); state.buffers.depth.setMask( false ); // lock buffers state.buffers.color.setLocked( true ); state.buffers.depth.setLocked( true ); // set up stencil var writeValue, clearValue; if ( this.inverse ) { writeValue = 0; clearValue = 1; } else { writeValue = 1; clearValue = 0; } state.buffers.stencil.setTest( true ); state.buffers.stencil.setOp( context.REPLACE, context.REPLACE, context.REPLACE ); state.buffers.stencil.setFunc( context.ALWAYS, writeValue, 0xffffffff ); state.buffers.stencil.setClear( clearValue ); // draw into the stencil buffer renderer.render( this.scene, this.camera, readBuffer, this.clear ); renderer.render( this.scene, this.camera, writeBuffer, this.clear ); // unlock color and depth buffer for subsequent rendering state.buffers.color.setLocked( false ); state.buffers.depth.setLocked( false ); // only render where stencil is set to 1 state.buffers.stencil.setFunc( context.EQUAL, 1, 0xffffffff ); // draw if == 1 state.buffers.stencil.setOp( context.KEEP, context.KEEP, context.KEEP ); } } ); THREE.ClearMaskPass = function () { THREE.Pass.call( this ); this.needsSwap = false; }; THREE.ClearMaskPass.prototype = Object.create( THREE.Pass.prototype ); Object.assign( THREE.ClearMaskPass.prototype, { render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { renderer.state.buffers.stencil.setTest( false ); } } ); ================================================ FILE: examples/libs/postprocessing/RenderPass.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.RenderPass = function ( scene, camera, overrideMaterial, clearColor, clearAlpha ) { THREE.Pass.call( this ); this.scene = scene; this.camera = camera; this.overrideMaterial = overrideMaterial; this.clearColor = clearColor; this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; this.clear = true; this.clearDepth = false; this.needsSwap = false; }; THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.RenderPass, render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { var oldAutoClear = renderer.autoClear; renderer.autoClear = false; this.scene.overrideMaterial = this.overrideMaterial; var oldClearColor, oldClearAlpha; if ( this.clearColor ) { oldClearColor = renderer.getClearColor().getHex(); oldClearAlpha = renderer.getClearAlpha(); renderer.setClearColor( this.clearColor, this.clearAlpha ); } if ( this.clearDepth ) { renderer.clearDepth(); } renderer.render( this.scene, this.camera, this.renderToScreen ? null : readBuffer, this.clear ); if ( this.clearColor ) { renderer.setClearColor( oldClearColor, oldClearAlpha ); } this.scene.overrideMaterial = null; renderer.autoClear = oldAutoClear; } } ); ================================================ FILE: examples/libs/postprocessing/ShaderPass.js ================================================ /** * @author alteredq / http://alteredqualia.com/ */ THREE.ShaderPass = function ( shader, textureID ) { THREE.Pass.call( this ); this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse"; if ( shader instanceof THREE.ShaderMaterial ) { this.uniforms = shader.uniforms; this.material = shader; } else if ( shader ) { this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); this.material = new THREE.ShaderMaterial( { defines: shader.defines || {}, uniforms: this.uniforms, vertexShader: shader.vertexShader, fragmentShader: shader.fragmentShader } ); } this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); this.scene = new THREE.Scene(); this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null ); this.quad.frustumCulled = false; // Avoid getting clipped this.scene.add( this.quad ); }; THREE.ShaderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.ShaderPass, render: function( renderer, writeBuffer, readBuffer, delta, maskActive ) { if ( this.uniforms[ this.textureID ] ) { this.uniforms[ this.textureID ].value = readBuffer.texture; } this.quad.material = this.material; if ( this.renderToScreen ) { renderer.render( this.scene, this.camera ); } else { renderer.render( this.scene, this.camera, writeBuffer, this.clear ); } } } ); ================================================ FILE: examples/libs/shaders/ConvolutionShader.js ================================================ /** * @author alteredq / http://alteredqualia.com/ * * Convolution shader * ported from o3d sample to WebGL / GLSL * http://o3d.googlecode.com/svn/trunk/samples/convolution.html */ THREE.ConvolutionShader = { defines: { "KERNEL_SIZE_FLOAT": "25.0", "KERNEL_SIZE_INT": "25" }, uniforms: { "tDiffuse": { value: null }, "uImageIncrement": { value: new THREE.Vector2( 0.001953125, 0.0 ) }, "cKernel": { value: [] } }, vertexShader: [ "uniform vec2 uImageIncrement;", "varying vec2 vUv;", "void main() {", "vUv = uv - ( ( KERNEL_SIZE_FLOAT - 1.0 ) / 2.0 ) * uImageIncrement;", "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", "}" ].join( "\n" ), fragmentShader: [ "uniform float cKernel[ KERNEL_SIZE_INT ];", "uniform sampler2D tDiffuse;", "uniform vec2 uImageIncrement;", "varying vec2 vUv;", "void main() {", "vec2 imageCoord = vUv;", "vec4 sum = vec4( 0.0, 0.0, 0.0, 0.0 );", "for( int i = 0; i < KERNEL_SIZE_INT; i ++ ) {", "sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];", "imageCoord += uImageIncrement;", "}", "gl_FragColor = sum;", "}" ].join( "\n" ), buildKernel: function ( sigma ) { // We lop off the sqrt(2 * pi) * sigma term, since we're going to normalize anyway. function gauss( x, sigma ) { return Math.exp( - ( x * x ) / ( 2.0 * sigma * sigma ) ); } var i, values, sum, halfWidth, kMaxKernelSize = 25, kernelSize = 2 * Math.ceil( sigma * 3.0 ) + 1; if ( kernelSize > kMaxKernelSize ) kernelSize = kMaxKernelSize; halfWidth = ( kernelSize - 1 ) * 0.5; values = new Array( kernelSize ); sum = 0.0; for ( i = 0; i < kernelSize; ++ i ) { values[ i ] = gauss( i - halfWidth, sigma ); sum += values[ i ]; } // normalize the kernel for ( i = 0; i < kernelSize; ++ i ) values[ i ] /= sum; return values; } }; ================================================ FILE: examples/libs/shaders/CopyShader.js ================================================ /** * @author alteredq / http://alteredqualia.com/ * * Full-screen textured quad shader */ THREE.CopyShader = { uniforms: { "tDiffuse": { value: null }, "opacity": { value: 1.0 } }, vertexShader: [ "varying vec2 vUv;", "void main() {", "vUv = uv;", "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", "}" ].join( "\n" ), fragmentShader: [ "uniform float opacity;", "uniform sampler2D tDiffuse;", "varying vec2 vUv;", "void main() {", "vec4 texel = texture2D( tDiffuse, vUv );", "gl_FragColor = opacity * texel;", "}" ].join( "\n" ) }; ================================================ FILE: examples/libs/shaders/FilmShader.js ================================================ /** * @author alteredq / http://alteredqualia.com/ * * Film grain & scanlines shader * * - ported from HLSL to WebGL / GLSL * http://www.truevision3d.com/forums/showcase/staticnoise_colorblackwhite_scanline_shaders-t18698.0.html * * Screen Space Static Postprocessor * * Produces an analogue noise overlay similar to a film grain / TV static * * Original implementation and noise algorithm * Pat 'Hawthorne' Shearon * * Optimized scanlines + noise version with intensity scaling * Georg 'Leviathan' Steinrohder * * This version is provided under a Creative Commons Attribution 3.0 License * http://creativecommons.org/licenses/by/3.0/ */ THREE.FilmShader = { uniforms: { "tDiffuse": { value: null }, "time": { value: 0.0 }, "nIntensity": { value: 0.5 }, "sIntensity": { value: 0.05 }, "sCount": { value: 4096 }, "grayscale": { value: 1 } }, vertexShader: [ "varying vec2 vUv;", "void main() {", "vUv = uv;", "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", "}" ].join( "\n" ), fragmentShader: [ "#include ", // control parameter "uniform float time;", "uniform bool grayscale;", // noise effect intensity value (0 = no effect, 1 = full effect) "uniform float nIntensity;", // scanlines effect intensity value (0 = no effect, 1 = full effect) "uniform float sIntensity;", // scanlines effect count value (0 = no effect, 4096 = full effect) "uniform float sCount;", "uniform sampler2D tDiffuse;", "varying vec2 vUv;", "void main() {", // sample the source "vec4 cTextureScreen = texture2D( tDiffuse, vUv );", // make some noise "float dx = rand( vUv + time );", // add noise "vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx, 0.0, 1.0 );", // get us a sine and cosine "vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );", // add scanlines "cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;", // interpolate between source and result by intensity "cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );", // convert to grayscale if desired "if( grayscale ) {", "cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );", "}", "gl_FragColor = vec4( cResult, cTextureScreen.a );", "}" ].join( "\n" ) }; ================================================ FILE: examples/libs/shaders/FocusShader.js ================================================ /** * @author alteredq / http://alteredqualia.com/ * * Focus shader * based on PaintEffect postprocess from ro.me * http://code.google.com/p/3-dreams-of-black/source/browse/deploy/js/effects/PaintEffect.js */ THREE.FocusShader = { uniforms : { "tDiffuse": { value: null }, "screenWidth": { value: 1024 }, "screenHeight": { value: 1024 }, "sampleDistance": { value: 0.94 }, "waveFactor": { value: 0.00125 } }, vertexShader: [ "varying vec2 vUv;", "void main() {", "vUv = uv;", "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", "}" ].join( "\n" ), fragmentShader: [ "uniform float screenWidth;", "uniform float screenHeight;", "uniform float sampleDistance;", "uniform float waveFactor;", "uniform sampler2D tDiffuse;", "varying vec2 vUv;", "void main() {", "vec4 color, org, tmp, add;", "float sample_dist, f;", "vec2 vin;", "vec2 uv = vUv;", "add = color = org = texture2D( tDiffuse, uv );", "vin = ( uv - vec2( 0.5 ) ) * vec2( 1.4 );", "sample_dist = dot( vin, vin ) * 2.0;", "f = ( waveFactor * 100.0 + sample_dist ) * sampleDistance * 4.0;", "vec2 sampleSize = vec2( 1.0 / screenWidth, 1.0 / screenHeight ) * vec2( f );", "add += tmp = texture2D( tDiffuse, uv + vec2( 0.111964, 0.993712 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( 0.846724, 0.532032 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( 0.943883, -0.330279 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( 0.330279, -0.943883 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( -0.532032, -0.846724 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( -0.993712, -0.111964 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "add += tmp = texture2D( tDiffuse, uv + vec2( -0.707107, 0.707107 ) * sampleSize );", "if( tmp.b < color.b ) color = tmp;", "color = color * vec4( 2.0 ) - ( add / vec4( 8.0 ) );", "color = color + ( add / vec4( 8.0 ) - color ) * ( vec4( 1.0 ) - vec4( sample_dist * 0.5 ) );", "gl_FragColor = vec4( color.rgb * color.rgb * vec3( 0.95 ) + color.rgb, 1.0 );", "}" ].join( "\n" ) }; ================================================ FILE: examples/libs/stats.js ================================================ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global.Stats = factory()); }(this, (function () { 'use strict'; /** * @author mrdoob / http://mrdoob.com/ */ var Stats = function () { var mode = 0; var container = document.createElement( 'div' ); container.style.cssText = 'position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000'; container.addEventListener( 'click', function ( event ) { event.preventDefault(); showPanel( ++ mode % container.children.length ); }, false ); // function addPanel( panel ) { container.appendChild( panel.dom ); return panel; } function showPanel( id ) { for ( var i = 0; i < container.children.length; i ++ ) { container.children[ i ].style.display = i === id ? 'block' : 'none'; } mode = id; } // var beginTime = ( performance || Date ).now(), prevTime = beginTime, frames = 0; var fpsPanel = addPanel( new Stats.Panel( 'FPS', '#0ff', '#002' ) ); var msPanel = addPanel( new Stats.Panel( 'MS', '#0f0', '#020' ) ); if ( self.performance && self.performance.memory ) { var memPanel = addPanel( new Stats.Panel( 'MB', '#f08', '#201' ) ); } showPanel( 0 ); return { REVISION: 16, dom: container, addPanel: addPanel, showPanel: showPanel, begin: function () { beginTime = ( performance || Date ).now(); }, end: function () { frames ++; var time = ( performance || Date ).now(); msPanel.update( time - beginTime, 200 ); if ( time > prevTime + 1000 ) { fpsPanel.update( ( frames * 1000 ) / ( time - prevTime ), 100 ); prevTime = time; frames = 0; if ( memPanel ) { var memory = performance.memory; memPanel.update( memory.usedJSHeapSize / 1048576, memory.jsHeapSizeLimit / 1048576 ); } } return time; }, update: function () { beginTime = this.end(); }, // Backwards Compatibility domElement: container, setMode: showPanel }; }; Stats.Panel = function ( name, fg, bg ) { var min = Infinity, max = 0, round = Math.round; var PR = round( window.devicePixelRatio || 1 ); var WIDTH = 80 * PR, HEIGHT = 48 * PR, TEXT_X = 3 * PR, TEXT_Y = 2 * PR, GRAPH_X = 3 * PR, GRAPH_Y = 15 * PR, GRAPH_WIDTH = 74 * PR, GRAPH_HEIGHT = 30 * PR; var canvas = document.createElement( 'canvas' ); canvas.width = WIDTH; canvas.height = HEIGHT; canvas.style.cssText = 'width:80px;height:48px'; var context = canvas.getContext( '2d' ); context.font = 'bold ' + ( 9 * PR ) + 'px Helvetica,Arial,sans-serif'; context.textBaseline = 'top'; context.fillStyle = bg; context.fillRect( 0, 0, WIDTH, HEIGHT ); context.fillStyle = fg; context.fillText( name, TEXT_X, TEXT_Y ); context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); context.fillStyle = bg; context.globalAlpha = 0.9; context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT ); return { dom: canvas, update: function ( value, maxValue ) { min = Math.min( min, value ); max = Math.max( max, value ); context.fillStyle = bg; context.globalAlpha = 1; context.fillRect( 0, 0, WIDTH, GRAPH_Y ); context.fillStyle = fg; context.fillText( round( value ) + ' ' + name + ' (' + round( min ) + '-' + round( max ) + ')', TEXT_X, TEXT_Y ); context.drawImage( canvas, GRAPH_X + PR, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT, GRAPH_X, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT ); context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, GRAPH_HEIGHT ); context.fillStyle = bg; context.globalAlpha = 0.9; context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, round( ( 1 - ( value / maxValue ) ) * GRAPH_HEIGHT ) ); } }; }; return Stats; }))); ================================================ FILE: examples/libs/three-gltf-loader.js ================================================ /** * @author Rich Tibbett / https://github.com/richtr * @author mrdoob / http://mrdoob.com/ * @author Tony Parisi / http://www.tonyparisi.com/ * @author Takahiro / https://github.com/takahirox * @author Don McCurdy / https://www.donmccurdy.com */ THREE.GLTFLoader = ( function () { function GLTFLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; } GLTFLoader.prototype = { constructor: GLTFLoader, crossOrigin: 'Anonymous', load: function ( url, onLoad, onProgress, onError ) { var scope = this; var path = this.path && ( typeof this.path === 'string' ) ? this.path : THREE.Loader.prototype.extractUrlBase( url ); var loader = new THREE.FileLoader( scope.manager ); loader.setResponseType( 'arraybuffer' ); loader.load( url, function ( data ) { try { scope.parse( data, path, onLoad, onError ); } catch ( e ) { // For SyntaxError or TypeError, return a generic failure message. onError( e.constructor === Error ? e : new Error( 'THREE.GLTFLoader: Unable to parse model.' ) ); } }, onProgress, onError ); }, setCrossOrigin: function ( value ) { this.crossOrigin = value; }, setPath: function ( value ) { this.path = value; }, parse: function ( data, path, onLoad, onError ) { var content; var extensions = {}; var magic = convertUint8ArrayToString( new Uint8Array( data, 0, 4 ) ); if ( magic === BINARY_EXTENSION_HEADER_MAGIC ) { extensions[ EXTENSIONS.KHR_BINARY_GLTF ] = new GLTFBinaryExtension( data ); content = extensions[ EXTENSIONS.KHR_BINARY_GLTF ].content; } else { content = convertUint8ArrayToString( new Uint8Array( data ) ); } var json = JSON.parse( content ); if ( json.asset === undefined || json.asset.version[ 0 ] < 2 ) { onError( new Error( 'THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported.' ) ); return; } if ( json.extensionsUsed ) { if( json.extensionsUsed.indexOf( EXTENSIONS.KHR_LIGHTS ) >= 0 ) { extensions[ EXTENSIONS.KHR_LIGHTS ] = new GLTFLightsExtension( json ); } if( json.extensionsUsed.indexOf( EXTENSIONS.KHR_MATERIALS_COMMON ) >= 0 ) { extensions[ EXTENSIONS.KHR_MATERIALS_COMMON ] = new GLTFMaterialsCommonExtension( json ); } if( json.extensionsUsed.indexOf( EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ) >= 0 ) { extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] = new GLTFMaterialsPbrSpecularGlossinessExtension(); } } console.time( 'GLTFLoader' ); var parser = new GLTFParser( json, extensions, { path: path || this.path, crossOrigin: this.crossOrigin } ); parser.parse( function ( scene, scenes, cameras, animations ) { console.timeEnd( 'GLTFLoader' ); var glTF = { scene: scene, scenes: scenes, cameras: cameras, animations: animations }; onLoad( glTF ); }, onError ); } }; /* GLTFREGISTRY */ function GLTFRegistry() { var objects = {}; return { get: function ( key ) { return objects[ key ]; }, add: function ( key, object ) { objects[ key ] = object; }, remove: function ( key ) { delete objects[ key ]; }, removeAll: function () { objects = {}; }, update: function ( scene, camera ) { for ( var name in objects ) { var object = objects[ name ]; if ( object.update ) { object.update( scene, camera ); } } } }; } /*********************************/ /********** EXTENSIONS ***********/ /*********************************/ var EXTENSIONS = { KHR_BINARY_GLTF: 'KHR_binary_glTF', KHR_LIGHTS: 'KHR_lights', KHR_MATERIALS_COMMON: 'KHR_materials_common', KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness' }; /** * Lights Extension * * Specification: PENDING */ function GLTFLightsExtension( json ) { this.name = EXTENSIONS.KHR_LIGHTS; this.lights = {}; var extension = ( json.extensions && json.extensions[ EXTENSIONS.KHR_LIGHTS ] ) || {}; var lights = extension.lights || {}; for ( var lightId in lights ) { var light = lights[ lightId ]; var lightNode; var color = new THREE.Color().fromArray( light.color ); switch ( light.type ) { case 'directional': lightNode = new THREE.DirectionalLight( color ); lightNode.position.set( 0, 0, 1 ); break; case 'point': lightNode = new THREE.PointLight( color ); break; case 'spot': lightNode = new THREE.SpotLight( color ); lightNode.position.set( 0, 0, 1 ); break; case 'ambient': lightNode = new THREE.AmbientLight( color ); break; } if ( lightNode ) { if ( light.constantAttenuation !== undefined ) { lightNode.intensity = light.constantAttenuation; } if ( light.linearAttenuation !== undefined ) { lightNode.distance = 1 / light.linearAttenuation; } if ( light.quadraticAttenuation !== undefined ) { lightNode.decay = light.quadraticAttenuation; } if ( light.fallOffAngle !== undefined ) { lightNode.angle = light.fallOffAngle; } if ( light.fallOffExponent !== undefined ) { console.warn( 'THREE.GLTFLoader:: light.fallOffExponent not currently supported.' ); } lightNode.name = light.name || ( 'light_' + lightId ); this.lights[ lightId ] = lightNode; } } } /** * Common Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_materials_common */ function GLTFMaterialsCommonExtension( json ) { this.name = EXTENSIONS.KHR_MATERIALS_COMMON; } GLTFMaterialsCommonExtension.prototype.getMaterialType = function ( material ) { var khrMaterial = material.extensions[ this.name ]; switch ( khrMaterial.type ) { case 'commonBlinn' : case 'commonPhong' : return THREE.MeshPhongMaterial; case 'commonLambert' : return THREE.MeshLambertMaterial; case 'commonConstant' : default : return THREE.MeshBasicMaterial; } }; GLTFMaterialsCommonExtension.prototype.extendParams = function ( materialParams, material, parser ) { var khrMaterial = material.extensions[ this.name ]; var pending = []; var keys = []; // TODO: Currently ignored: 'ambientFactor', 'ambientTexture' switch ( khrMaterial.type ) { case 'commonBlinn' : case 'commonPhong' : keys.push( 'diffuseFactor', 'diffuseTexture', 'specularFactor', 'specularTexture', 'shininessFactor' ); break; case 'commonLambert' : keys.push( 'diffuseFactor', 'diffuseTexture' ); break; case 'commonConstant' : default : break; } var materialValues = {}; keys.forEach( function( v ) { if ( khrMaterial[ v ] !== undefined ) materialValues[ v ] = khrMaterial[ v ]; } ); if ( materialValues.diffuseFactor !== undefined ) { materialParams.color = new THREE.Color().fromArray( materialValues.diffuseFactor ); materialParams.opacity = materialValues.diffuseFactor[ 3 ]; } if ( materialValues.diffuseTexture !== undefined ) { pending.push( parser.assignTexture( materialParams, 'map', materialValues.diffuseTexture.index ) ); } if ( materialValues.specularFactor !== undefined ) { materialParams.specular = new THREE.Color().fromArray( materialValues.specularFactor ); } if ( materialValues.specularTexture !== undefined ) { pending.push( parser.assignTexture( materialParams, 'specularMap', materialValues.specularTexture.index ) ); } if ( materialValues.shininessFactor !== undefined ) { materialParams.shininess = materialValues.shininessFactor; } return Promise.all( pending ); }; /* BINARY EXTENSION */ var BINARY_EXTENSION_BUFFER_NAME = 'binary_glTF'; var BINARY_EXTENSION_HEADER_MAGIC = 'glTF'; var BINARY_EXTENSION_HEADER_LENGTH = 12; var BINARY_EXTENSION_CHUNK_TYPES = { JSON: 0x4E4F534A, BIN: 0x004E4942 }; function GLTFBinaryExtension( data ) { this.name = EXTENSIONS.KHR_BINARY_GLTF; this.content = null; this.body = null; var headerView = new DataView( data, 0, BINARY_EXTENSION_HEADER_LENGTH ); this.header = { magic: convertUint8ArrayToString( new Uint8Array( data.slice( 0, 4 ) ) ), version: headerView.getUint32( 4, true ), length: headerView.getUint32( 8, true ) }; if ( this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC ) { throw new Error( 'THREE.GLTFLoader: Unsupported glTF-Binary header.' ); } else if ( this.header.version < 2.0 ) { throw new Error( 'THREE.GLTFLoader: Legacy binary file detected. Use GLTFLoader instead.' ); } var chunkView = new DataView( data, BINARY_EXTENSION_HEADER_LENGTH ); var chunkIndex = 0; while ( chunkIndex < chunkView.byteLength ) { var chunkLength = chunkView.getUint32( chunkIndex, true ); chunkIndex += 4; var chunkType = chunkView.getUint32( chunkIndex, true ); chunkIndex += 4; if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON ) { var contentArray = new Uint8Array( data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength ); this.content = convertUint8ArrayToString( contentArray ); } else if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN ) { var byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex; this.body = data.slice( byteOffset, byteOffset + chunkLength ); } // Clients must ignore chunks with unknown types. chunkIndex += chunkLength; } if ( this.content === null ) { throw new Error( 'THREE.GLTFLoader: JSON content not found.' ); } } /** * Specular-Glossiness Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/Khronos/KHR_materials_pbrSpecularGlossiness */ function GLTFMaterialsPbrSpecularGlossinessExtension() { return { name: EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS, getMaterialType: function () { return THREE.ShaderMaterial; }, extendParams: function ( params, material, parser ) { var pbrSpecularGlossiness = material.extensions[ this.name ]; var shader = THREE.ShaderLib[ 'standard' ]; var uniforms = THREE.UniformsUtils.clone( shader.uniforms ); var specularMapParsFragmentChunk = [ '#ifdef USE_SPECULARMAP', ' uniform sampler2D specularMap;', '#endif' ].join( '\n' ); var glossinessMapParsFragmentChunk = [ '#ifdef USE_GLOSSINESSMAP', ' uniform sampler2D glossinessMap;', '#endif' ].join( '\n' ); var specularMapFragmentChunk = [ 'vec3 specularFactor = specular;', '#ifdef USE_SPECULARMAP', ' vec4 texelSpecular = texture2D( specularMap, vUv );', ' // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture', ' specularFactor *= texelSpecular.rgb;', '#endif' ].join( '\n' ); var glossinessMapFragmentChunk = [ 'float glossinessFactor = glossiness;', '#ifdef USE_GLOSSINESSMAP', ' vec4 texelGlossiness = texture2D( glossinessMap, vUv );', ' // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture', ' glossinessFactor *= texelGlossiness.a;', '#endif' ].join( '\n' ); var lightPhysicalFragmentChunk = [ 'PhysicalMaterial material;', 'material.diffuseColor = diffuseColor.rgb;', 'material.specularRoughness = clamp( 1.0 - glossinessFactor, 0.04, 1.0 );', 'material.specularColor = specularFactor.rgb;', ].join( '\n' ); var fragmentShader = shader.fragmentShader .replace( '#include ', '' ) .replace( 'uniform float roughness;', 'uniform vec3 specular;' ) .replace( 'uniform float metalness;', 'uniform float glossiness;' ) .replace( '#include ', specularMapParsFragmentChunk ) .replace( '#include ', glossinessMapParsFragmentChunk ) .replace( '#include ', specularMapFragmentChunk ) .replace( '#include ', glossinessMapFragmentChunk ) .replace( '#include ', lightPhysicalFragmentChunk ); delete uniforms.roughness; delete uniforms.metalness; delete uniforms.roughnessMap; delete uniforms.metalnessMap; uniforms.specular = { value: new THREE.Color().setHex( 0x111111 ) }; uniforms.glossiness = { value: 0.5 }; uniforms.specularMap = { value: null }; uniforms.glossinessMap = { value: null }; params.vertexShader = shader.vertexShader; params.fragmentShader = fragmentShader; params.uniforms = uniforms; params.defines = { 'STANDARD': '' }; params.color = new THREE.Color( 1.0, 1.0, 1.0 ); params.opacity = 1.0; var pending = []; if ( Array.isArray( pbrSpecularGlossiness.diffuseFactor ) ) { var array = pbrSpecularGlossiness.diffuseFactor; params.color.fromArray( array ); params.opacity = array[ 3 ]; } if ( pbrSpecularGlossiness.diffuseTexture !== undefined ) { pending.push( parser.assignTexture( params, 'map', pbrSpecularGlossiness.diffuseTexture.index ) ); } params.emissive = new THREE.Color( 0.0, 0.0, 0.0 ); params.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0; params.specular = new THREE.Color( 1.0, 1.0, 1.0 ); if ( Array.isArray( pbrSpecularGlossiness.specularFactor ) ) { params.specular.fromArray( pbrSpecularGlossiness.specularFactor ); } if ( pbrSpecularGlossiness.specularGlossinessTexture !== undefined ) { var specGlossIndex = pbrSpecularGlossiness.specularGlossinessTexture.index; pending.push( parser.assignTexture( params, 'glossinessMap', specGlossIndex ) ); pending.push( parser.assignTexture( params, 'specularMap', specGlossIndex ) ); } return Promise.all( pending ); }, createMaterial: function ( params ) { // setup material properties based on MeshStandardMaterial for Specular-Glossiness var material = new THREE.ShaderMaterial( { defines: params.defines, vertexShader: params.vertexShader, fragmentShader: params.fragmentShader, uniforms: params.uniforms, fog: true, lights: true, opacity: params.opacity, transparent: params.transparent } ); material.isGLTFSpecularGlossinessMaterial = true; material.color = params.color; material.map = params.map === undefined ? null : params.map; material.lightMap = null; material.lightMapIntensity = 1.0; material.aoMap = params.aoMap === undefined ? null : params.aoMap; material.aoMapIntensity = 1.0; material.emissive = params.emissive; material.emissiveIntensity = 1.0; material.emissiveMap = params.emissiveMap === undefined ? null : params.emissiveMap; material.bumpMap = params.bumpMap === undefined ? null : params.bumpMap; material.bumpScale = 1; material.normalMap = params.normalMap === undefined ? null : params.normalMap; material.normalScale = new THREE.Vector2( 1, 1 ); material.displacementMap = null; material.displacementScale = 1; material.displacementBias = 0; material.specularMap = params.specularMap === undefined ? null : params.specularMap; material.specular = params.specular; material.glossinessMap = params.glossinessMap === undefined ? null : params.glossinessMap; material.glossiness = params.glossiness; material.alphaMap = null; material.envMap = params.envMap === undefined ? null : params.envMap; material.envMapIntensity = 1.0; material.refractionRatio = 0.98; material.extensions.derivatives = true; return material; }, // Here's based on refreshUniformsCommon() and refreshUniformsStandard() in WebGLRenderer. refreshUniforms: function ( renderer, scene, camera, geometry, material, group ) { var uniforms = material.uniforms; var defines = material.defines; uniforms.opacity.value = material.opacity; uniforms.diffuse.value.copy( material.color ); uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); uniforms.map.value = material.map; uniforms.specularMap.value = material.specularMap; uniforms.alphaMap.value = material.alphaMap; uniforms.lightMap.value = material.lightMap; uniforms.lightMapIntensity.value = material.lightMapIntensity; uniforms.aoMap.value = material.aoMap; uniforms.aoMapIntensity.value = material.aoMapIntensity; // uv repeat and offset setting priorities // 1. color map // 2. specular map // 3. normal map // 4. bump map // 5. alpha map // 6. emissive map var uvScaleMap; if ( material.map ) { uvScaleMap = material.map; } else if ( material.specularMap ) { uvScaleMap = material.specularMap; } else if ( material.displacementMap ) { uvScaleMap = material.displacementMap; } else if ( material.normalMap ) { uvScaleMap = material.normalMap; } else if ( material.bumpMap ) { uvScaleMap = material.bumpMap; } else if ( material.glossinessMap ) { uvScaleMap = material.glossinessMap; } else if ( material.alphaMap ) { uvScaleMap = material.alphaMap; } else if ( material.emissiveMap ) { uvScaleMap = material.emissiveMap; } if ( uvScaleMap !== undefined ) { // backwards compatibility if ( uvScaleMap.isWebGLRenderTarget ) { uvScaleMap = uvScaleMap.texture; } var offset = uvScaleMap.offset; var repeat = uvScaleMap.repeat; uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); } uniforms.envMap.value = material.envMap; uniforms.envMapIntensity.value = material.envMapIntensity; uniforms.flipEnvMap.value = ( material.envMap && material.envMap.isCubeTexture ) ? -1 : 1; uniforms.refractionRatio.value = material.refractionRatio; uniforms.specular.value.copy( material.specular ); uniforms.glossiness.value = material.glossiness; uniforms.glossinessMap.value = material.glossinessMap; uniforms.emissiveMap.value = material.emissiveMap; uniforms.bumpMap.value = material.bumpMap; uniforms.normalMap.value = material.normalMap; uniforms.displacementMap.value = material.displacementMap; uniforms.displacementScale.value = material.displacementScale; uniforms.displacementBias.value = material.displacementBias; if ( uniforms.glossinessMap.value !== null && defines.USE_GLOSSINESSMAP === undefined ) { defines.USE_GLOSSINESSMAP = ''; // set USE_ROUGHNESSMAP to enable vUv defines.USE_ROUGHNESSMAP = ''; } if ( uniforms.glossinessMap.value === null && defines.USE_GLOSSINESSMAP !== undefined ) { delete defines.USE_GLOSSINESSMAP; delete defines.USE_ROUGHNESSMAP; } } }; } /*********************************/ /********** INTERNALS ************/ /*********************************/ /* CONSTANTS */ var WEBGL_CONSTANTS = { FLOAT: 5126, //FLOAT_MAT2: 35674, FLOAT_MAT3: 35675, FLOAT_MAT4: 35676, FLOAT_VEC2: 35664, FLOAT_VEC3: 35665, FLOAT_VEC4: 35666, LINEAR: 9729, REPEAT: 10497, SAMPLER_2D: 35678, POINTS: 0, LINES: 1, LINE_LOOP: 2, LINE_STRIP: 3, TRIANGLES: 4, TRIANGLE_STRIP: 5, TRIANGLE_FAN: 6, UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123 }; var WEBGL_TYPE = { 5126: Number, //35674: THREE.Matrix2, 35675: THREE.Matrix3, 35676: THREE.Matrix4, 35664: THREE.Vector2, 35665: THREE.Vector3, 35666: THREE.Vector4, 35678: THREE.Texture }; var WEBGL_COMPONENT_TYPES = { 5120: Int8Array, 5121: Uint8Array, 5122: Int16Array, 5123: Uint16Array, 5125: Uint32Array, 5126: Float32Array }; var WEBGL_FILTERS = { 9728: THREE.NearestFilter, 9729: THREE.LinearFilter, 9984: THREE.NearestMipMapNearestFilter, 9985: THREE.LinearMipMapNearestFilter, 9986: THREE.NearestMipMapLinearFilter, 9987: THREE.LinearMipMapLinearFilter }; var WEBGL_WRAPPINGS = { 33071: THREE.ClampToEdgeWrapping, 33648: THREE.MirroredRepeatWrapping, 10497: THREE.RepeatWrapping }; var WEBGL_TEXTURE_FORMATS = { 6406: THREE.AlphaFormat, 6407: THREE.RGBFormat, 6408: THREE.RGBAFormat, 6409: THREE.LuminanceFormat, 6410: THREE.LuminanceAlphaFormat }; var WEBGL_TEXTURE_DATATYPES = { 5121: THREE.UnsignedByteType, 32819: THREE.UnsignedShort4444Type, 32820: THREE.UnsignedShort5551Type, 33635: THREE.UnsignedShort565Type }; var WEBGL_SIDES = { 1028: THREE.BackSide, // Culling front 1029: THREE.FrontSide // Culling back //1032: THREE.NoSide // Culling front and back, what to do? }; var WEBGL_DEPTH_FUNCS = { 512: THREE.NeverDepth, 513: THREE.LessDepth, 514: THREE.EqualDepth, 515: THREE.LessEqualDepth, 516: THREE.GreaterEqualDepth, 517: THREE.NotEqualDepth, 518: THREE.GreaterEqualDepth, 519: THREE.AlwaysDepth }; var WEBGL_BLEND_EQUATIONS = { 32774: THREE.AddEquation, 32778: THREE.SubtractEquation, 32779: THREE.ReverseSubtractEquation }; var WEBGL_BLEND_FUNCS = { 0: THREE.ZeroFactor, 1: THREE.OneFactor, 768: THREE.SrcColorFactor, 769: THREE.OneMinusSrcColorFactor, 770: THREE.SrcAlphaFactor, 771: THREE.OneMinusSrcAlphaFactor, 772: THREE.DstAlphaFactor, 773: THREE.OneMinusDstAlphaFactor, 774: THREE.DstColorFactor, 775: THREE.OneMinusDstColorFactor, 776: THREE.SrcAlphaSaturateFactor // The followings are not supported by Three.js yet //32769: CONSTANT_COLOR, //32770: ONE_MINUS_CONSTANT_COLOR, //32771: CONSTANT_ALPHA, //32772: ONE_MINUS_CONSTANT_COLOR }; var WEBGL_TYPE_SIZES = { 'SCALAR': 1, 'VEC2': 2, 'VEC3': 3, 'VEC4': 4, 'MAT2': 4, 'MAT3': 9, 'MAT4': 16 }; var PATH_PROPERTIES = { scale: 'scale', translation: 'position', rotation: 'quaternion', weights: 'morphTargetInfluences' }; var INTERPOLATION = { CATMULLROMSPLINE: THREE.InterpolateSmooth, CUBICSPLINE: THREE.InterpolateSmooth, LINEAR: THREE.InterpolateLinear, STEP: THREE.InterpolateDiscrete }; var STATES_ENABLES = { 2884: 'CULL_FACE', 2929: 'DEPTH_TEST', 3042: 'BLEND', 3089: 'SCISSOR_TEST', 32823: 'POLYGON_OFFSET_FILL', 32926: 'SAMPLE_ALPHA_TO_COVERAGE' }; var ALPHA_MODES = { OPAQUE: 'OPAQUE', MASK: 'MASK', BLEND: 'BLEND' }; /* UTILITY FUNCTIONS */ function _each( object, callback, thisObj ) { if ( !object ) { return Promise.resolve(); } var results; var fns = []; if ( Object.prototype.toString.call( object ) === '[object Array]' ) { results = []; var length = object.length; for ( var idx = 0; idx < length; idx ++ ) { var value = callback.call( thisObj || this, object[ idx ], idx ); if ( value ) { fns.push( value ); if ( value instanceof Promise ) { value.then( function( key, value ) { results[ key ] = value; }.bind( this, idx )); } else { results[ idx ] = value; } } } } else { results = {}; for ( var key in object ) { if ( object.hasOwnProperty( key ) ) { var value = callback.call( thisObj || this, object[ key ], key ); if ( value ) { fns.push( value ); if ( value instanceof Promise ) { value.then( function( key, value ) { results[ key ] = value; }.bind( this, key )); } else { results[ key ] = value; } } } } } return Promise.all( fns ).then( function() { return results; }); } function resolveURL( url, path ) { // Invalid URL if ( typeof url !== 'string' || url === '' ) return ''; // Absolute URL http://,https://,// if ( /^(https?:)?\/\//i.test( url ) ) { return url; } // Data URI if ( /^data:.*,.*$/i.test( url ) ) { return url; } // Blob URL if ( /^blob:.*$/i.test( url ) ) { return url; } // Relative URL return ( path || '' ) + url; } function convertUint8ArrayToString( array ) { if ( window.TextDecoder !== undefined ) { return new TextDecoder().decode( array ); } // Avoid the String.fromCharCode.apply(null, array) shortcut, which // throws a "maximum call stack size exceeded" error for large arrays. var s = ''; for ( var i = 0, il = array.length; i < il; i ++ ) { s += String.fromCharCode( array[ i ] ); } return s; } /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material */ function createDefaultMaterial() { return new THREE.MeshStandardMaterial( { color: 0xFFFFFF, emissive: 0x000000, metalness: 1, roughness: 1, transparent: false, depthTest: true, side: THREE.FrontSide } ); } /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets * @param {THREE.Mesh} mesh * @param {GLTF.Mesh} meshDef * @param {GLTF.Primitive} primitiveDef * @param {Object} dependencies */ function addMorphTargets ( mesh, meshDef, primitiveDef, dependencies ) { var geometry = mesh.geometry; var material = mesh.material; var targets = primitiveDef.targets; var morphAttributes = geometry.morphAttributes; morphAttributes.position = []; morphAttributes.normal = []; material.morphTargets = true; for ( var i = 0, il = targets.length; i < il; i ++ ) { var target = targets[ i ]; var attributeName = 'morphTarget' + i; var positionAttribute, normalAttribute; if ( target.POSITION !== undefined ) { // Three.js morph formula is // position // + weight0 * ( morphTarget0 - position ) // + weight1 * ( morphTarget1 - position ) // ... // while the glTF one is // position // + weight0 * morphTarget0 // + weight1 * morphTarget1 // ... // then adding position to morphTarget. // So morphTarget value will depend on mesh's position, then cloning attribute // for the case if attribute is shared among two or more meshes. positionAttribute = dependencies.accessors[ target.POSITION ].clone(); var position = geometry.attributes.position; for ( var j = 0, jl = positionAttribute.count; j < jl; j ++ ) { positionAttribute.setXYZ( j, positionAttribute.getX( j ) + position.getX( j ), positionAttribute.getY( j ) + position.getY( j ), positionAttribute.getZ( j ) + position.getZ( j ) ); } } else { // Copying the original position not to affect the final position. // See the formula above. positionAttribute = geometry.attributes.position.clone(); } if ( target.NORMAL !== undefined ) { material.morphNormals = true; // see target.POSITION's comment normalAttribute = dependencies.accessors[ target.NORMAL ].clone(); var normal = geometry.attributes.normal; for ( var j = 0, jl = normalAttribute.count; j < jl; j ++ ) { normalAttribute.setXYZ( j, normalAttribute.getX( j ) + normal.getX( j ), normalAttribute.getY( j ) + normal.getY( j ), normalAttribute.getZ( j ) + normal.getZ( j ) ); } } else { normalAttribute = geometry.attributes.normal.clone(); } if ( target.TANGENT !== undefined ) { // TODO: implement } positionAttribute.name = attributeName; normalAttribute.name = attributeName; morphAttributes.position.push( positionAttribute ); morphAttributes.normal.push( normalAttribute ); } mesh.updateMorphTargets(); if ( meshDef.weights !== undefined ) { for ( var i = 0, il = meshDef.weights.length; i < il; i ++ ) { mesh.morphTargetInfluences[ i ] = meshDef.weights[ i ]; } } } /* GLTF PARSER */ function GLTFParser( json, extensions, options ) { this.json = json || {}; this.extensions = extensions || {}; this.options = options || {}; // loader object cache this.cache = new GLTFRegistry(); } GLTFParser.prototype._withDependencies = function ( dependencies ) { var _dependencies = {}; for ( var i = 0; i < dependencies.length; i ++ ) { var dependency = dependencies[ i ]; var fnName = 'load' + dependency.charAt( 0 ).toUpperCase() + dependency.slice( 1 ); var cached = this.cache.get( dependency ); if ( cached !== undefined ) { _dependencies[ dependency ] = cached; } else if ( this[ fnName ] ) { var fn = this[ fnName ](); this.cache.add( dependency, fn ); _dependencies[ dependency ] = fn; } } return _each( _dependencies, function ( dependency ) { return dependency; } ); }; GLTFParser.prototype.parse = function ( onLoad, onError ) { var json = this.json; // Clear the loader cache this.cache.removeAll(); // Fire the callback on complete this._withDependencies( [ 'scenes', 'cameras', 'animations' ] ).then( function ( dependencies ) { var scenes = []; for ( var name in dependencies.scenes ) { scenes.push( dependencies.scenes[ name ] ); } var scene = json.scene !== undefined ? dependencies.scenes[ json.scene ] : scenes[ 0 ]; var cameras = []; for ( var name in dependencies.cameras ) { var camera = dependencies.cameras[ name ]; cameras.push( camera ); } var animations = []; for ( var name in dependencies.animations ) { animations.push( dependencies.animations[ name ] ); } onLoad( scene, scenes, cameras, animations ); } ).catch( onError ); }; /** * Requests the specified dependency asynchronously, with caching. * @param {string} type * @param {number} index * @return {Promise} */ GLTFParser.prototype.getDependency = function ( type, index ) { var cacheKey = type + ':' + index; var dependency = this.cache.get( cacheKey ); if ( !dependency ) { var fnName = 'load' + type.charAt( 0 ).toUpperCase() + type.slice( 1 ); dependency = this[ fnName ]( index ); this.cache.add( cacheKey, dependency ); } return dependency; }; /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views * @param {number} bufferIndex * @return {Promise} */ GLTFParser.prototype.loadBuffer = function ( bufferIndex ) { var bufferDef = this.json.buffers[ bufferIndex ]; if ( bufferDef.type && bufferDef.type !== 'arraybuffer' ) { throw new Error( 'THREE.GLTFLoader: %s buffer type is not supported.', bufferDef.type ); } // If present, GLB container is required to be the first buffer. if ( bufferDef.uri === undefined && bufferIndex === 0 ) { return Promise.resolve( this.extensions[ EXTENSIONS.KHR_BINARY_GLTF ].body ); } var options = this.options; return new Promise( function ( resolve ) { var loader = new THREE.FileLoader(); loader.setResponseType( 'arraybuffer' ); loader.load( resolveURL( bufferDef.uri, options.path ), resolve); } ); }; /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views * @param {number} bufferViewIndex * @return {Promise} */ GLTFParser.prototype.loadBufferView = function ( bufferViewIndex ) { var bufferViewDef = this.json.bufferViews[ bufferViewIndex ]; return this.getDependency( 'buffer', bufferViewDef.buffer ).then( function ( buffer ) { var byteLength = bufferViewDef.byteLength || 0; var byteOffset = bufferViewDef.byteOffset || 0; return buffer.slice( byteOffset, byteOffset + byteLength ); } ); }; GLTFParser.prototype.loadAccessors = function () { var parser = this; var json = this.json; return _each( json.accessors, function ( accessor ) { return parser.getDependency( 'bufferView', accessor.bufferView ).then( function ( bufferView ) { var itemSize = WEBGL_TYPE_SIZES[ accessor.type ]; var TypedArray = WEBGL_COMPONENT_TYPES[ accessor.componentType ]; // For VEC3: itemSize is 3, elementBytes is 4, itemBytes is 12. var elementBytes = TypedArray.BYTES_PER_ELEMENT; var itemBytes = elementBytes * itemSize; var byteStride = json.bufferViews[ accessor.bufferView ].byteStride; var array; // The buffer is not interleaved if the stride is the item size in bytes. if ( byteStride && byteStride !== itemBytes ) { // Use the full buffer if it's interleaved. array = new TypedArray( bufferView ); // Integer parameters to IB/IBA are in array elements, not bytes. var ib = new THREE.InterleavedBuffer( array, byteStride / elementBytes ); return new THREE.InterleavedBufferAttribute( ib, itemSize, accessor.byteOffset / elementBytes ); } else { array = new TypedArray( bufferView, accessor.byteOffset, accessor.count * itemSize ); return new THREE.BufferAttribute( array, itemSize ); } } ); } ); }; /** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures * @param {number} textureIndex * @return {Promise} */ GLTFParser.prototype.loadTexture = function ( textureIndex ) { var parser = this; var json = this.json; var options = this.options; var URL = window.URL || window.webkitURL; var textureDef = json.textures[ textureIndex ]; var source = json.images[ textureDef.source ]; var sourceURI = source.uri; var isObjectURL = false; if ( source.bufferView !== undefined ) { // Load binary image data from bufferView, if provided. sourceURI = parser.getDependency( 'bufferView', source.bufferView ) .then( function ( bufferView ) { isObjectURL = true; var blob = new Blob( [ bufferView ], { type: source.mimeType } ); sourceURI = URL.createObjectURL( blob ); return sourceURI; } ); } return Promise.resolve( sourceURI ).then( function ( sourceURI ) { // Load Texture resource. var textureLoader = THREE.Loader.Handlers.get( sourceURI ) || new THREE.TextureLoader(); textureLoader.setCrossOrigin( options.crossOrigin ); return new Promise( function ( resolve, reject ) { textureLoader.load( resolveURL( sourceURI, options.path ), resolve, undefined, reject ); } ); } ).then( function ( texture ) { // Clean up resources and configure Texture. if ( isObjectURL !== undefined ) { URL.revokeObjectURL( sourceURI ); } texture.flipY = false; if ( textureDef.name !== undefined ) texture.name = textureDef.name; texture.format = textureDef.format !== undefined ? WEBGL_TEXTURE_FORMATS[ textureDef.format ] : THREE.RGBAFormat; if ( textureDef.internalFormat !== undefined && texture.format !== WEBGL_TEXTURE_FORMATS[ textureDef.internalFormat ] ) { console.warn( 'THREE.GLTFLoader: Three.js does not support texture internalFormat which is different from texture format. ' + 'internalFormat will be forced to be the same value as format.' ); } texture.type = textureDef.type !== undefined ? WEBGL_TEXTURE_DATATYPES[ textureDef.type ] : THREE.UnsignedByteType; var samplers = json.samplers || {}; var sampler = samplers[ textureDef.sampler ] || {}; texture.magFilter = WEBGL_FILTERS[ sampler.magFilter ] || THREE.LinearFilter; texture.minFilter = WEBGL_FILTERS[ sampler.minFilter ] || THREE.LinearMipMapLinearFilter; texture.wrapS = WEBGL_WRAPPINGS[ sampler.wrapS ] || THREE.RepeatWrapping; texture.wrapT = WEBGL_WRAPPINGS[ sampler.wrapT ] || THREE.RepeatWrapping; return texture; } ); }; /** * Asynchronously assigns a texture to the given material parameters. * @param {Object} materialParams * @param {string} textureName * @param {number} textureIndex * @return {Promise} */ GLTFParser.prototype.assignTexture = function ( materialParams, textureName, textureIndex ) { return this.getDependency( 'texture', textureIndex ).then( function ( texture ) { materialParams[ textureName ] = texture; } ); }; /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials * @return {Promise>} */ GLTFParser.prototype.loadMaterials = function () { var parser = this; var json = this.json; var extensions = this.extensions; return _each( json.materials, function ( material ) { var materialType; var materialParams = {}; var materialExtensions = material.extensions || {}; var pending = []; if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_COMMON ] ) { var khcExtension = extensions[ EXTENSIONS.KHR_MATERIALS_COMMON ]; materialType = khcExtension.getMaterialType( material ); pending.push( khcExtension.extendParams( materialParams, material, parser ) ); } else if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] ) { var sgExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ]; materialType = sgExtension.getMaterialType( material ); pending.push( sgExtension.extendParams( materialParams, material, parser ) ); } else if ( material.pbrMetallicRoughness !== undefined ) { // Specification: // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material materialType = THREE.MeshStandardMaterial; var metallicRoughness = material.pbrMetallicRoughness; materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 ); materialParams.opacity = 1.0; if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { var array = metallicRoughness.baseColorFactor; materialParams.color.fromArray( array ); materialParams.opacity = array[ 3 ]; } if ( metallicRoughness.baseColorTexture !== undefined ) { pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture.index ) ); } materialParams.metalness = metallicRoughness.metallicFactor !== undefined ? metallicRoughness.metallicFactor : 1.0; materialParams.roughness = metallicRoughness.roughnessFactor !== undefined ? metallicRoughness.roughnessFactor : 1.0; if ( metallicRoughness.metallicRoughnessTexture !== undefined ) { var textureIndex = metallicRoughness.metallicRoughnessTexture.index; pending.push( parser.assignTexture( materialParams, 'metalnessMap', textureIndex ) ); pending.push( parser.assignTexture( materialParams, 'roughnessMap', textureIndex ) ); } } else { materialType = THREE.MeshPhongMaterial; } if ( material.doubleSided === true ) { materialParams.side = THREE.DoubleSide; } var alphaMode = material.alphaMode || ALPHA_MODES.OPAQUE; if ( alphaMode !== ALPHA_MODES.OPAQUE ) { materialParams.transparent = true; } else { materialParams.transparent = false; } if ( material.normalTexture !== undefined ) { pending.push( parser.assignTexture( materialParams, 'normalMap', material.normalTexture.index ) ); } if ( material.occlusionTexture !== undefined ) { pending.push( parser.assignTexture( materialParams, 'aoMap', material.occlusionTexture.index ) ); } if ( material.emissiveFactor !== undefined ) { if ( materialType === THREE.MeshBasicMaterial ) { materialParams.color = new THREE.Color().fromArray( material.emissiveFactor ); } else { materialParams.emissive = new THREE.Color().fromArray( material.emissiveFactor ); } } if ( material.emissiveTexture !== undefined ) { if ( materialType === THREE.MeshBasicMaterial ) { pending.push( parser.assignTexture( materialParams, 'map', material.emissiveTexture.index ) ); } else { pending.push( parser.assignTexture( materialParams, 'emissiveMap', material.emissiveTexture.index ) ); } } return Promise.all( pending ).then( function () { var _material; if ( materialType === THREE.ShaderMaterial ) { _material = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].createMaterial( materialParams ); } else { _material = new materialType( materialParams ); } if ( material.name !== undefined ) _material.name = material.name; // Normal map textures use OpenGL conventions: // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#materialnormaltexture _material.normalScale.x = -1; _material.userData = material.extras; return _material; } ); } ); }; GLTFParser.prototype.loadGeometries = function ( primitives ) { return this._withDependencies( [ 'accessors', ] ).then( function ( dependencies ) { return _each( primitives, function ( primitive ) { var geometry = new THREE.BufferGeometry(); var attributes = primitive.attributes; for ( var attributeId in attributes ) { var attributeEntry = attributes[ attributeId ]; if ( attributeEntry === undefined ) return; var bufferAttribute = dependencies.accessors[ attributeEntry ]; switch ( attributeId ) { case 'POSITION': geometry.addAttribute( 'position', bufferAttribute ); break; case 'NORMAL': geometry.addAttribute( 'normal', bufferAttribute ); break; case 'TEXCOORD_0': case 'TEXCOORD0': case 'TEXCOORD': geometry.addAttribute( 'uv', bufferAttribute ); break; case 'TEXCOORD_1': geometry.addAttribute( 'uv2', bufferAttribute ); break; case 'COLOR_0': case 'COLOR0': case 'COLOR': geometry.addAttribute( 'color', bufferAttribute ); break; case 'WEIGHTS_0': case 'WEIGHT': // WEIGHT semantic deprecated. geometry.addAttribute( 'skinWeight', bufferAttribute ); break; case 'JOINTS_0': case 'JOINT': // JOINT semantic deprecated. geometry.addAttribute( 'skinIndex', bufferAttribute ); break; } } if ( primitive.indices !== undefined ) { geometry.setIndex( dependencies.accessors[ primitive.indices ] ); } return geometry; } ); } ); }; /** * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes */ GLTFParser.prototype.loadMeshes = function () { var scope = this; var json = this.json; return this._withDependencies( [ 'accessors', 'materials' ] ).then( function ( dependencies ) { return _each( json.meshes, function ( meshDef ) { var group = new THREE.Group(); if ( meshDef.name !== undefined ) group.name = meshDef.name; if ( meshDef.extras ) group.userData = meshDef.extras; var primitives = meshDef.primitives || []; return scope.loadGeometries( primitives ).then( function ( geometries ) { for ( var name in primitives ) { var primitive = primitives[ name ]; var geometry = geometries[ name ]; var material = primitive.material === undefined ? createDefaultMaterial() : dependencies.materials[ primitive.material ]; if ( material.aoMap && geometry.attributes.uv2 === undefined && geometry.attributes.uv !== undefined ) { console.log( 'THREE.GLTFLoader: Duplicating UVs to support aoMap.' ); geometry.addAttribute( 'uv2', new THREE.BufferAttribute( geometry.attributes.uv.array, 2 ) ); } if ( geometry.attributes.color !== undefined ) { material.vertexColors = THREE.VertexColors; material.needsUpdate = true; } if ( geometry.attributes.normal === undefined ) { if ( material.flatShading !== undefined ) { material.flatShading = true; } else { // TODO: Remove this backwards-compatibility fix after r87 release. material.shading = THREE.FlatShading; } } var mesh; if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLES || primitive.mode === undefined ) { mesh = new THREE.Mesh( geometry, material ); } else if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) { mesh = new THREE.Mesh( geometry, material ); mesh.drawMode = THREE.TriangleStripDrawMode; } else if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN ) { mesh = new THREE.Mesh( geometry, material ); mesh.drawMode = THREE.TriangleFanDrawMode; } else if ( primitive.mode === WEBGL_CONSTANTS.LINES ) { mesh = new THREE.LineSegments( geometry, material ); } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_STRIP ) { mesh = new THREE.Line( geometry, material ); } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_LOOP ) { mesh = new THREE.LineLoop( geometry, material ); } else if ( primitive.mode === WEBGL_CONSTANTS.POINTS ) { mesh = new THREE.Points( geometry, material ); } else { throw new Error( 'THREE.GLTFLoader: Primitive mode unsupported: ', primitive.mode ); } mesh.name = group.name + '_' + name; if ( primitive.targets !== undefined ) { addMorphTargets( mesh, meshDef, primitive, dependencies ); } if ( primitive.extras ) mesh.userData = primitive.extras; group.add( mesh ); } return group; } ); } ); } ); }; /** * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras */ GLTFParser.prototype.loadCameras = function () { var json = this.json; return _each( json.cameras, function ( camera ) { var _camera; var params = camera[ camera.type ]; if ( !params ) { console.warn( 'THREE.GLTFLoader: Missing camera parameters.' ); return; } if ( camera.type === 'perspective' ) { var aspectRatio = params.aspectRatio || 1; var xfov = params.yfov * aspectRatio; _camera = new THREE.PerspectiveCamera( THREE.Math.radToDeg( xfov ), aspectRatio, params.znear || 1, params.zfar || 2e6 ); } else if ( camera.type === 'orthographic' ) { _camera = new THREE.OrthographicCamera( params.xmag / -2, params.xmag / 2, params.ymag / 2, params.ymag / -2, params.znear, params.zfar ); } if ( camera.name !== undefined ) _camera.name = camera.name; if ( camera.extras ) _camera.userData = camera.extras; return _camera; } ); }; GLTFParser.prototype.loadSkins = function () { var json = this.json; return this._withDependencies( [ 'accessors' ] ).then( function ( dependencies ) { return _each( json.skins, function ( skin ) { var _skin = { joints: skin.joints, inverseBindMatrices: dependencies.accessors[ skin.inverseBindMatrices ] }; return _skin; } ); } ); }; GLTFParser.prototype.loadAnimations = function () { var json = this.json; return this._withDependencies( [ 'accessors', 'nodes' ] ).then( function ( dependencies ) { return _each( json.animations, function ( animation, animationId ) { var tracks = []; for ( var channelId in animation.channels ) { var channel = animation.channels[ channelId ]; var sampler = animation.samplers[ channel.sampler ]; if ( sampler ) { var target = channel.target; var name = target.node !== undefined ? target.node : target.id; // NOTE: target.id is deprecated. var input = animation.parameters !== undefined ? animation.parameters[ sampler.input ] : sampler.input; var output = animation.parameters !== undefined ? animation.parameters[ sampler.output ] : sampler.output; var inputAccessor = dependencies.accessors[ input ]; var outputAccessor = dependencies.accessors[ output ]; var node = dependencies.nodes[ name ]; if ( node ) { node.updateMatrix(); node.matrixAutoUpdate = true; var TypedKeyframeTrack; switch ( PATH_PROPERTIES[ target.path ] ) { case PATH_PROPERTIES.weights: TypedKeyframeTrack = THREE.NumberKeyframeTrack; break; case PATH_PROPERTIES.rotation: TypedKeyframeTrack = THREE.QuaternionKeyframeTrack; break; case PATH_PROPERTIES.position: case PATH_PROPERTIES.scale: default: TypedKeyframeTrack = THREE.VectorKeyframeTrack; break; } var targetName = node.name ? node.name : node.uuid; if ( sampler.interpolation === 'CATMULLROMSPLINE' ) { console.warn( 'THREE.GLTFLoader: CATMULLROMSPLINE interpolation is not supported. Using CUBICSPLINE instead.' ); } var interpolation = sampler.interpolation !== undefined ? INTERPOLATION[ sampler.interpolation ] : THREE.InterpolateLinear; var targetNames = []; if ( PATH_PROPERTIES[ target.path ] === PATH_PROPERTIES.weights ) { // node should be THREE.Group here but // PATH_PROPERTIES.weights(morphTargetInfluences) should be // the property of a mesh object under node. // So finding targets here. node.traverse( function ( object ) { if ( object.isMesh === true && object.material.morphTargets === true ) { targetNames.push( object.name ? object.name : object.uuid ); } } ); } else { targetNames.push( targetName ); } // KeyframeTrack.optimize() will modify given 'times' and 'values' // buffers before creating a truncated copy to keep. Because buffers may // be reused by other tracks, make copies here. for ( var i = 0, il = targetNames.length; i < il; i ++ ) { tracks.push( new TypedKeyframeTrack( targetNames[ i ] + '.' + PATH_PROPERTIES[ target.path ], THREE.AnimationUtils.arraySlice( inputAccessor.array, 0 ), THREE.AnimationUtils.arraySlice( outputAccessor.array, 0 ), interpolation ) ); } } } } var name = animation.name !== undefined ? animation.name : 'animation_' + animationId; return new THREE.AnimationClip( name, undefined, tracks ); } ); } ); }; GLTFParser.prototype.loadNodes = function () { var json = this.json; var extensions = this.extensions; var scope = this; var nodes = json.nodes || []; var skins = json.skins || []; // Nothing in the node definition indicates whether it is a Bone or an // Object3D. Use the skins' joint references to mark bones. skins.forEach( function ( skin ) { skin.joints.forEach( function ( id ) { nodes[ id ].isBone = true; } ); } ); return _each( json.nodes, function ( node ) { var matrix = new THREE.Matrix4(); var _node = node.isBone === true ? new THREE.Bone() : new THREE.Object3D(); if ( node.name !== undefined ) { _node.name = THREE.PropertyBinding.sanitizeNodeName( node.name ); } if ( node.extras ) _node.userData = node.extras; if ( node.matrix !== undefined ) { matrix.fromArray( node.matrix ); _node.applyMatrix( matrix ); } else { if ( node.translation !== undefined ) { _node.position.fromArray( node.translation ); } if ( node.rotation !== undefined ) { _node.quaternion.fromArray( node.rotation ); } if ( node.scale !== undefined ) { _node.scale.fromArray( node.scale ); } } return _node; } ).then( function ( __nodes ) { return scope._withDependencies( [ 'meshes', 'skins', 'cameras' ] ).then( function ( dependencies ) { return _each( __nodes, function ( _node, nodeId ) { var node = json.nodes[ nodeId ]; var meshes; if ( node.mesh !== undefined) { meshes = [ node.mesh ]; } else if ( node.meshes !== undefined ) { console.warn( 'THREE.GLTFLoader: Legacy glTF file detected. Nodes may have no more than one mesh.' ); meshes = node.meshes; } if ( meshes !== undefined ) { for ( var meshId in meshes ) { var mesh = meshes[ meshId ]; var group = dependencies.meshes[ mesh ]; if ( group === undefined ) { console.warn( 'THREE.GLTFLoader: Could not find node "' + mesh + '".' ); continue; } // do not clone children as they will be replaced anyway var clonedgroup = group.clone( false ); for ( var childrenId in group.children ) { var child = group.children[ childrenId ]; var originalChild = child; // clone Mesh to add to _node var originalMaterial = child.material; var originalGeometry = child.geometry; var originalInfluences = child.morphTargetInfluences; var originalUserData = child.userData; var originalName = child.name; var material = originalMaterial; switch ( child.type ) { case 'LineSegments': child = new THREE.LineSegments( originalGeometry, material ); break; case 'LineLoop': child = new THREE.LineLoop( originalGeometry, material ); break; case 'Line': child = new THREE.Line( originalGeometry, material ); break; case 'Points': child = new THREE.Points( originalGeometry, material ); break; default: child = new THREE.Mesh( originalGeometry, material ); child.drawMode = originalChild.drawMode; } child.castShadow = true; child.morphTargetInfluences = originalInfluences; child.userData = originalUserData; child.name = originalName; var skinEntry; if ( node.skin !== undefined ) { skinEntry = dependencies.skins[ node.skin ]; } // Replace Mesh with SkinnedMesh in library if ( skinEntry ) { var geometry = originalGeometry; material = originalMaterial; material.skinning = true; child = new THREE.SkinnedMesh( geometry, material ); child.castShadow = true; child.userData = originalUserData; child.name = originalName; var bones = []; var boneInverses = []; for ( var i = 0, l = skinEntry.joints.length; i < l; i ++ ) { var jointId = skinEntry.joints[ i ]; var jointNode = __nodes[ jointId ]; if ( jointNode ) { bones.push( jointNode ); var m = skinEntry.inverseBindMatrices.array; var mat = new THREE.Matrix4().fromArray( m, i * 16 ); boneInverses.push( mat ); } else { console.warn( 'THREE.GLTFLoader: Joint "%s" could not be found.', jointId ); } } child.bind( new THREE.Skeleton( bones, boneInverses ), child.matrixWorld ); } clonedgroup.add( child ); } _node.add( clonedgroup ); } } if ( node.camera !== undefined ) { var camera = dependencies.cameras[ node.camera ]; _node.add( camera ); } if ( node.extensions && node.extensions[ EXTENSIONS.KHR_LIGHTS ] && node.extensions[ EXTENSIONS.KHR_LIGHTS ].light !== undefined ) { var lights = extensions[ EXTENSIONS.KHR_LIGHTS ].lights; _node.add( lights[ node.extensions[ EXTENSIONS.KHR_LIGHTS ].light ] ); } return _node; } ); } ); } ); }; GLTFParser.prototype.loadScenes = function () { var json = this.json; var extensions = this.extensions; // scene node hierachy builder function buildNodeHierachy( nodeId, parentObject, allNodes ) { var _node = allNodes[ nodeId ]; parentObject.add( _node ); var node = json.nodes[ nodeId ]; if ( node.children ) { var children = node.children; for ( var i = 0, l = children.length; i < l; i ++ ) { var child = children[ i ]; buildNodeHierachy( child, _node, allNodes ); } } } return this._withDependencies( [ 'nodes' ] ).then( function ( dependencies ) { return _each( json.scenes, function ( scene ) { var _scene = new THREE.Scene(); if ( scene.name !== undefined ) _scene.name = scene.name; if ( scene.extras ) _scene.userData = scene.extras; var nodes = scene.nodes || []; for ( var i = 0, l = nodes.length; i < l; i ++ ) { var nodeId = nodes[ i ]; buildNodeHierachy( nodeId, _scene, dependencies.nodes ); } _scene.traverse( function ( child ) { // for Specular-Glossiness. if ( child.material && child.material.isGLTFSpecularGlossinessMaterial ) { child.onBeforeRender = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].refreshUniforms; } } ); // Ambient lighting, if present, is always attached to the scene root. if ( scene.extensions && scene.extensions[ EXTENSIONS.KHR_LIGHTS ] && scene.extensions[ EXTENSIONS.KHR_LIGHTS ].light !== undefined ) { var lights = extensions[ EXTENSIONS.KHR_LIGHTS ].lights; _scene.add( lights[ scene.extensions[ EXTENSIONS.KHR_LIGHTS ].light ] ); } return _scene; } ); } ); }; return GLTFLoader; } )(); ================================================ FILE: examples/libs/three-mtl-loader.js ================================================ /** * Loads a Wavefront .mtl file specifying materials * * @author angelxuanchang */ THREE.MTLLoader = function ( manager ) { this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; }; THREE.MTLLoader.prototype = { constructor: THREE.MTLLoader, /** * Loads and parses a MTL asset from a URL. * * @param {String} url - URL to the MTL file. * @param {Function} [onLoad] - Callback invoked with the loaded object. * @param {Function} [onProgress] - Callback for download progress. * @param {Function} [onError] - Callback for download errors. * * @see setPath setTexturePath * * @note In order for relative texture references to resolve correctly * you must call setPath and/or setTexturePath explicitly prior to load. */ load: function ( url, onLoad, onProgress, onError ) { var scope = this; var loader = new THREE.FileLoader( this.manager ); loader.setPath( this.path ); loader.load( url, function ( text ) { onLoad( scope.parse( text ) ); }, onProgress, onError ); }, /** * Set base path for resolving references. * If set this path will be prepended to each loaded and found reference. * * @see setTexturePath * @param {String} path * * @example * mtlLoader.setPath( 'assets/obj/' ); * mtlLoader.load( 'my.mtl', ... ); */ setPath: function ( path ) { this.path = path; }, /** * Set base path for resolving texture references. * If set this path will be prepended found texture reference. * If not set and setPath is, it will be used as texture base path. * * @see setPath * @param {String} path * * @example * mtlLoader.setPath( 'assets/obj/' ); * mtlLoader.setTexturePath( 'assets/textures/' ); * mtlLoader.load( 'my.mtl', ... ); */ setTexturePath: function ( path ) { this.texturePath = path; }, setBaseUrl: function ( path ) { console.warn( 'THREE.MTLLoader: .setBaseUrl() is deprecated. Use .setTexturePath( path ) for texture path or .setPath( path ) for general base path instead.' ); this.setTexturePath( path ); }, setCrossOrigin: function ( value ) { this.crossOrigin = value; }, setMaterialOptions: function ( value ) { this.materialOptions = value; }, /** * Parses a MTL file. * * @param {String} text - Content of MTL file * @return {THREE.MTLLoader.MaterialCreator} * * @see setPath setTexturePath * * @note In order for relative texture references to resolve correctly * you must call setPath and/or setTexturePath explicitly prior to parse. */ parse: function ( text ) { var lines = text.split( '\n' ); var info = {}; var delimiter_pattern = /\s+/; var materialsInfo = {}; for ( var i = 0; i < lines.length; i ++ ) { var line = lines[ i ]; line = line.trim(); if ( line.length === 0 || line.charAt( 0 ) === '#' ) { // Blank line or comment ignore continue; } var pos = line.indexOf( ' ' ); var key = ( pos >= 0 ) ? line.substring( 0, pos ) : line; key = key.toLowerCase(); var value = ( pos >= 0 ) ? line.substring( pos + 1 ) : ''; value = value.trim(); if ( key === 'newmtl' ) { // New material info = { name: value }; materialsInfo[ value ] = info; } else if ( info ) { if ( key === 'ka' || key === 'kd' || key === 'ks' ) { var ss = value.split( delimiter_pattern, 3 ); info[ key ] = [ parseFloat( ss[ 0 ] ), parseFloat( ss[ 1 ] ), parseFloat( ss[ 2 ] ) ]; } else { info[ key ] = value; } } } var materialCreator = new THREE.MTLLoader.MaterialCreator( this.texturePath || this.path, this.materialOptions ); materialCreator.setCrossOrigin( this.crossOrigin ); materialCreator.setManager( this.manager ); materialCreator.setMaterials( materialsInfo ); return materialCreator; } }; /** * Create a new THREE-MTLLoader.MaterialCreator * @param baseUrl - Url relative to which textures are loaded * @param options - Set of options on how to construct the materials * side: Which side to apply the material * THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide * wrap: What type of wrapping to apply for textures * THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping * normalizeRGB: RGBs need to be normalized to 0-1 from 0-255 * Default: false, assumed to be already normalized * ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's * Default: false * @constructor */ THREE.MTLLoader.MaterialCreator = function ( baseUrl, options ) { this.baseUrl = baseUrl || ''; this.options = options; this.materialsInfo = {}; this.materials = {}; this.materialsArray = []; this.nameLookup = {}; this.side = ( this.options && this.options.side ) ? this.options.side : THREE.FrontSide; this.wrap = ( this.options && this.options.wrap ) ? this.options.wrap : THREE.RepeatWrapping; }; THREE.MTLLoader.MaterialCreator.prototype = { constructor: THREE.MTLLoader.MaterialCreator, crossOrigin: 'Anonymous', setCrossOrigin: function ( value ) { this.crossOrigin = value; }, setManager: function ( value ) { this.manager = value; }, setMaterials: function ( materialsInfo ) { this.materialsInfo = this.convert( materialsInfo ); this.materials = {}; this.materialsArray = []; this.nameLookup = {}; }, convert: function ( materialsInfo ) { if ( ! this.options ) return materialsInfo; var converted = {}; for ( var mn in materialsInfo ) { // Convert materials info into normalized form based on options var mat = materialsInfo[ mn ]; var covmat = {}; converted[ mn ] = covmat; for ( var prop in mat ) { var save = true; var value = mat[ prop ]; var lprop = prop.toLowerCase(); switch ( lprop ) { case 'kd': case 'ka': case 'ks': // Diffuse color (color under white light) using RGB values if ( this.options && this.options.normalizeRGB ) { value = [ value[ 0 ] / 255, value[ 1 ] / 255, value[ 2 ] / 255 ]; } if ( this.options && this.options.ignoreZeroRGBs ) { if ( value[ 0 ] === 0 && value[ 1 ] === 0 && value[ 2 ] === 0 ) { // ignore save = false; } } break; default: break; } if ( save ) { covmat[ lprop ] = value; } } } return converted; }, preload: function () { for ( var mn in this.materialsInfo ) { this.create( mn ); } }, getIndex: function ( materialName ) { return this.nameLookup[ materialName ]; }, getAsArray: function () { var index = 0; for ( var mn in this.materialsInfo ) { this.materialsArray[ index ] = this.create( mn ); this.nameLookup[ mn ] = index; index ++; } return this.materialsArray; }, create: function ( materialName ) { if ( this.materials[ materialName ] === undefined ) { this.createMaterial_( materialName ); } return this.materials[ materialName ]; }, createMaterial_: function ( materialName ) { // Create material var scope = this; var mat = this.materialsInfo[ materialName ]; var params = { name: materialName, side: this.side }; function resolveURL( baseUrl, url ) { if ( typeof url !== 'string' || url === '' ) return ''; // Absolute URL if ( /^https?:\/\//i.test( url ) ) return url; return baseUrl + url; } function setMapForType( mapType, value ) { if ( params[ mapType ] ) return; // Keep the first encountered texture var texParams = scope.getTextureParams( value, params ); var map = scope.loadTexture( resolveURL( scope.baseUrl, texParams.url ) ); map.repeat.copy( texParams.scale ); map.offset.copy( texParams.offset ); map.wrapS = scope.wrap; map.wrapT = scope.wrap; params[ mapType ] = map; } for ( var prop in mat ) { var value = mat[ prop ]; var n; if ( value === '' ) continue; switch ( prop.toLowerCase() ) { // Ns is material specular exponent case 'kd': // Diffuse color (color under white light) using RGB values params.color = new THREE.Color().fromArray( value ); break; case 'ks': // Specular color (color when light is reflected from shiny surface) using RGB values params.specular = new THREE.Color().fromArray( value ); break; case 'map_kd': // Diffuse texture map setMapForType( "map", value ); break; case 'map_ks': // Specular map setMapForType( "specularMap", value ); break; case 'norm': setMapForType( "normalMap", value ); break; case 'map_bump': case 'bump': // Bump texture map setMapForType( "bumpMap", value ); break; case 'ns': // The specular exponent (defines the focus of the specular highlight) // A high exponent results in a tight, concentrated highlight. Ns values normally range from 0 to 1000. params.shininess = parseFloat( value ); break; case 'd': n = parseFloat(value); if ( n < 1 ) { params.opacity = n; params.transparent = true; } break; case 'tr': n = parseFloat(value); if ( n > 0 ) { params.opacity = 1 - n; params.transparent = true; } break; default: break; } } this.materials[ materialName ] = new THREE.MeshPhongMaterial( params ); return this.materials[ materialName ]; }, getTextureParams: function ( value, matParams ) { var texParams = { scale: new THREE.Vector2( 1, 1 ), offset: new THREE.Vector2( 0, 0 ) }; var items = value.split( /\s+/ ); var pos; pos = items.indexOf( '-bm' ); if ( pos >= 0 ) { matParams.bumpScale = parseFloat( items[ pos + 1 ] ); items.splice( pos, 2 ); } pos = items.indexOf( '-s' ); if ( pos >= 0 ) { texParams.scale.set( parseFloat( items[ pos + 1 ] ), parseFloat( items[ pos + 2 ] ) ); items.splice( pos, 4 ); // we expect 3 parameters here! } pos = items.indexOf( '-o' ); if ( pos >= 0 ) { texParams.offset.set( parseFloat( items[ pos + 1 ] ), parseFloat( items[ pos + 2 ] ) ); items.splice( pos, 4 ); // we expect 3 parameters here! } texParams.url = items.join( ' ' ).trim(); return texParams; }, loadTexture: function ( url, mapping, onLoad, onProgress, onError ) { var texture; var loader = THREE.Loader.Handlers.get( url ); var manager = ( this.manager !== undefined ) ? this.manager : THREE.DefaultLoadingManager; if ( loader === null ) { loader = new THREE.TextureLoader( manager ); } if ( loader.setCrossOrigin ) loader.setCrossOrigin( this.crossOrigin ); texture = loader.load( url, onLoad, onProgress, onError ); if ( mapping !== undefined ) texture.mapping = mapping; return texture; } }; ================================================ FILE: examples/libs/three-obj-loader.js ================================================ /** * @author mrdoob / http://mrdoob.com/ */ THREE.OBJLoader = ( function () { // o object_name | g group_name var object_pattern = /^[og]\s*(.+)?/; // mtllib file_reference var material_library_pattern = /^mtllib /; // usemtl material_name var material_use_pattern = /^usemtl /; function ParserState() { var state = { objects : [], object : {}, vertices : [], normals : [], uvs : [], materialLibraries : [], startObject: function ( name, fromDeclaration ) { // If the current object (initial from reset) is not from a g/o declaration in the parsed // file. We need to use it for the first parsed g/o to keep things in sync. if ( this.object && this.object.fromDeclaration === false ) { this.object.name = name; this.object.fromDeclaration = ( fromDeclaration !== false ); return; } var previousMaterial = ( this.object && typeof this.object.currentMaterial === 'function' ? this.object.currentMaterial() : undefined ); if ( this.object && typeof this.object._finalize === 'function' ) { this.object._finalize( true ); } this.object = { name : name || '', fromDeclaration : ( fromDeclaration !== false ), geometry : { vertices : [], normals : [], uvs : [] }, materials : [], smooth : true, startMaterial: function ( name, libraries ) { var previous = this._finalize( false ); // New usemtl declaration overwrites an inherited material, except if faces were declared // after the material, then it must be preserved for proper MultiMaterial continuation. if ( previous && ( previous.inherited || previous.groupCount <= 0 ) ) { this.materials.splice( previous.index, 1 ); } var material = { index : this.materials.length, name : name || '', mtllib : ( Array.isArray( libraries ) && libraries.length > 0 ? libraries[ libraries.length - 1 ] : '' ), smooth : ( previous !== undefined ? previous.smooth : this.smooth ), groupStart : ( previous !== undefined ? previous.groupEnd : 0 ), groupEnd : -1, groupCount : -1, inherited : false, clone: function ( index ) { var cloned = { index : ( typeof index === 'number' ? index : this.index ), name : this.name, mtllib : this.mtllib, smooth : this.smooth, groupStart : 0, groupEnd : -1, groupCount : -1, inherited : false }; cloned.clone = this.clone.bind(cloned); return cloned; } }; this.materials.push( material ); return material; }, currentMaterial: function () { if ( this.materials.length > 0 ) { return this.materials[ this.materials.length - 1 ]; } return undefined; }, _finalize: function ( end ) { var lastMultiMaterial = this.currentMaterial(); if ( lastMultiMaterial && lastMultiMaterial.groupEnd === -1 ) { lastMultiMaterial.groupEnd = this.geometry.vertices.length / 3; lastMultiMaterial.groupCount = lastMultiMaterial.groupEnd - lastMultiMaterial.groupStart; lastMultiMaterial.inherited = false; } // Ignore objects tail materials if no face declarations followed them before a new o/g started. if ( end && this.materials.length > 1 ) { for ( var mi = this.materials.length - 1; mi >= 0; mi-- ) { if ( this.materials[ mi ].groupCount <= 0 ) { this.materials.splice( mi, 1 ); } } } // Guarantee at least one empty material, this makes the creation later more straight forward. if ( end && this.materials.length === 0 ) { this.materials.push({ name : '', smooth : this.smooth }); } return lastMultiMaterial; } }; // Inherit previous objects material. // Spec tells us that a declared material must be set to all objects until a new material is declared. // If a usemtl declaration is encountered while this new object is being parsed, it will // overwrite the inherited material. Exception being that there was already face declarations // to the inherited material, then it will be preserved for proper MultiMaterial continuation. if ( previousMaterial && previousMaterial.name && typeof previousMaterial.clone === 'function' ) { var declared = previousMaterial.clone( 0 ); declared.inherited = true; this.object.materials.push( declared ); } this.objects.push( this.object ); }, finalize: function () { if ( this.object && typeof this.object._finalize === 'function' ) { this.object._finalize( true ); } }, parseVertexIndex: function ( value, len ) { var index = parseInt( value, 10 ); return ( index >= 0 ? index - 1 : index + len / 3 ) * 3; }, parseNormalIndex: function ( value, len ) { var index = parseInt( value, 10 ); return ( index >= 0 ? index - 1 : index + len / 3 ) * 3; }, parseUVIndex: function ( value, len ) { var index = parseInt( value, 10 ); return ( index >= 0 ? index - 1 : index + len / 2 ) * 2; }, addVertex: function ( a, b, c ) { var src = this.vertices; var dst = this.object.geometry.vertices; dst.push( src[ a + 0 ], src[ a + 1 ], src[ a + 2 ] ); dst.push( src[ b + 0 ], src[ b + 1 ], src[ b + 2 ] ); dst.push( src[ c + 0 ], src[ c + 1 ], src[ c + 2 ] ); }, addVertexLine: function ( a ) { var src = this.vertices; var dst = this.object.geometry.vertices; dst.push( src[ a + 0 ], src[ a + 1 ], src[ a + 2 ] ); }, addNormal: function ( a, b, c ) { var src = this.normals; var dst = this.object.geometry.normals; dst.push( src[ a + 0 ], src[ a + 1 ], src[ a + 2 ] ); dst.push( src[ b + 0 ], src[ b + 1 ], src[ b + 2 ] ); dst.push( src[ c + 0 ], src[ c + 1 ], src[ c + 2 ] ); }, addUV: function ( a, b, c ) { var src = this.uvs; var dst = this.object.geometry.uvs; dst.push( src[ a + 0 ], src[ a + 1 ] ); dst.push( src[ b + 0 ], src[ b + 1 ] ); dst.push( src[ c + 0 ], src[ c + 1 ] ); }, addUVLine: function ( a ) { var src = this.uvs; var dst = this.object.geometry.uvs; dst.push( src[ a + 0 ], src[ a + 1 ] ); }, addFace: function ( a, b, c, ua, ub, uc, na, nb, nc ) { var vLen = this.vertices.length; var ia = this.parseVertexIndex( a, vLen ); var ib = this.parseVertexIndex( b, vLen ); var ic = this.parseVertexIndex( c, vLen ); this.addVertex( ia, ib, ic ); if ( ua !== undefined ) { var uvLen = this.uvs.length; ia = this.parseUVIndex( ua, uvLen ); ib = this.parseUVIndex( ub, uvLen ); ic = this.parseUVIndex( uc, uvLen ); this.addUV( ia, ib, ic ); } if ( na !== undefined ) { // Normals are many times the same. If so, skip function call and parseInt. var nLen = this.normals.length; ia = this.parseNormalIndex( na, nLen ); ib = na === nb ? ia : this.parseNormalIndex( nb, nLen ); ic = na === nc ? ia : this.parseNormalIndex( nc, nLen ); this.addNormal( ia, ib, ic ); } }, addLineGeometry: function ( vertices, uvs ) { this.object.geometry.type = 'Line'; var vLen = this.vertices.length; var uvLen = this.uvs.length; for ( var vi = 0, l = vertices.length; vi < l; vi ++ ) { this.addVertexLine( this.parseVertexIndex( vertices[ vi ], vLen ) ); } for ( var uvi = 0, l = uvs.length; uvi < l; uvi ++ ) { this.addUVLine( this.parseUVIndex( uvs[ uvi ], uvLen ) ); } } }; state.startObject( '', false ); return state; } // function OBJLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; this.materials = null; }; OBJLoader.prototype = { constructor: OBJLoader, load: function ( url, onLoad, onProgress, onError ) { var scope = this; var loader = new THREE.FileLoader( scope.manager ); loader.setPath( this.path ); loader.load( url, function ( text ) { onLoad( scope.parse( text ) ); }, onProgress, onError ); }, setPath: function ( value ) { this.path = value; }, setMaterials: function ( materials ) { this.materials = materials; return this; }, parse: function ( text ) { console.time( 'OBJLoader' ); var state = new ParserState(); if ( text.indexOf( '\r\n' ) !== - 1 ) { // This is faster than String.split with regex that splits on both text = text.replace( /\r\n/g, '\n' ); } if ( text.indexOf( '\\\n' ) !== - 1) { // join lines separated by a line continuation character (\) text = text.replace( /\\\n/g, '' ); } var lines = text.split( '\n' ); var line = '', lineFirstChar = ''; var lineLength = 0; var result = []; // Faster to just trim left side of the line. Use if available. var trimLeft = ( typeof ''.trimLeft === 'function' ); for ( var i = 0, l = lines.length; i < l; i ++ ) { line = lines[ i ]; line = trimLeft ? line.trimLeft() : line.trim(); lineLength = line.length; if ( lineLength === 0 ) continue; lineFirstChar = line.charAt( 0 ); // @todo invoke passed in handler if any if ( lineFirstChar === '#' ) continue; if ( lineFirstChar === 'v' ) { var data = line.split( /\s+/ ); switch ( data[ 0 ] ) { case 'v': state.vertices.push( parseFloat( data[ 1 ] ), parseFloat( data[ 2 ] ), parseFloat( data[ 3 ] ) ); break; case 'vn': state.normals.push( parseFloat( data[ 1 ] ), parseFloat( data[ 2 ] ), parseFloat( data[ 3 ] ) ); break; case 'vt': state.uvs.push( parseFloat( data[ 1 ] ), parseFloat( data[ 2 ] ) ); break; } } else if ( lineFirstChar === 'f' ) { var lineData = line.substr( 1 ).trim(); var vertexData = lineData.split( /\s+/ ); var faceVertices = []; // Parse the face vertex data into an easy to work with format for ( var j = 0, jl = vertexData.length; j < jl; j ++ ) { var vertex = vertexData[ j ]; if ( vertex.length > 0 ) { var vertexParts = vertex.split( '/' ); faceVertices.push( vertexParts ); } } // Draw an edge between the first vertex and all subsequent vertices to form an n-gon var v1 = faceVertices[ 0 ]; for ( var j = 1, jl = faceVertices.length - 1; j < jl; j ++ ) { var v2 = faceVertices[ j ]; var v3 = faceVertices[ j + 1 ]; state.addFace( v1[ 0 ], v2[ 0 ], v3[ 0 ], v1[ 1 ], v2[ 1 ], v3[ 1 ], v1[ 2 ], v2[ 2 ], v3[ 2 ] ); } } else if ( lineFirstChar === 'l' ) { var lineParts = line.substring( 1 ).trim().split( " " ); var lineVertices = [], lineUVs = []; if ( line.indexOf( "/" ) === - 1 ) { lineVertices = lineParts; } else { for ( var li = 0, llen = lineParts.length; li < llen; li ++ ) { var parts = lineParts[ li ].split( "/" ); if ( parts[ 0 ] !== "" ) lineVertices.push( parts[ 0 ] ); if ( parts[ 1 ] !== "" ) lineUVs.push( parts[ 1 ] ); } } state.addLineGeometry( lineVertices, lineUVs ); } else if ( ( result = object_pattern.exec( line ) ) !== null ) { // o object_name // or // g group_name // WORKAROUND: https://bugs.chromium.org/p/v8/issues/detail?id=2869 // var name = result[ 0 ].substr( 1 ).trim(); var name = ( " " + result[ 0 ].substr( 1 ).trim() ).substr( 1 ); state.startObject( name ); } else if ( material_use_pattern.test( line ) ) { // material state.object.startMaterial( line.substring( 7 ).trim(), state.materialLibraries ); } else if ( material_library_pattern.test( line ) ) { // mtl file state.materialLibraries.push( line.substring( 7 ).trim() ); } else if ( lineFirstChar === 's' ) { result = line.split( ' ' ); // smooth shading // @todo Handle files that have varying smooth values for a set of faces inside one geometry, // but does not define a usemtl for each face set. // This should be detected and a dummy material created (later MultiMaterial and geometry groups). // This requires some care to not create extra material on each smooth value for "normal" obj files. // where explicit usemtl defines geometry groups. // Example asset: examples/models/obj/cerberus/Cerberus.obj /* * http://paulbourke.net/dataformats/obj/ * or * http://www.cs.utah.edu/~boulos/cs3505/obj_spec.pdf * * From chapter "Grouping" Syntax explanation "s group_number": * "group_number is the smoothing group number. To turn off smoothing groups, use a value of 0 or off. * Polygonal elements use group numbers to put elements in different smoothing groups. For free-form * surfaces, smoothing groups are either turned on or off; there is no difference between values greater * than 0." */ if ( result.length > 1 ) { var value = result[ 1 ].trim().toLowerCase(); state.object.smooth = ( value !== '0' && value !== 'off' ); } else { // ZBrush can produce "s" lines #11707 state.object.smooth = true; } var material = state.object.currentMaterial(); if ( material ) material.smooth = state.object.smooth; } else { // Handle null terminated files without exception if ( line === '\0' ) continue; throw new Error( "Unexpected line: '" + line + "'" ); } } state.finalize(); var container = new THREE.Group(); container.materialLibraries = [].concat( state.materialLibraries ); for ( var i = 0, l = state.objects.length; i < l; i ++ ) { var object = state.objects[ i ]; var geometry = object.geometry; var materials = object.materials; var isLine = ( geometry.type === 'Line' ); // Skip o/g line declarations that did not follow with any faces if ( geometry.vertices.length === 0 ) continue; var buffergeometry = new THREE.BufferGeometry(); buffergeometry.addAttribute( 'position', new THREE.BufferAttribute( new Float32Array( geometry.vertices ), 3 ) ); if ( geometry.normals.length > 0 ) { buffergeometry.addAttribute( 'normal', new THREE.BufferAttribute( new Float32Array( geometry.normals ), 3 ) ); } else { buffergeometry.computeVertexNormals(); } if ( geometry.uvs.length > 0 ) { buffergeometry.addAttribute( 'uv', new THREE.BufferAttribute( new Float32Array( geometry.uvs ), 2 ) ); } // Create materials var createdMaterials = []; for ( var mi = 0, miLen = materials.length; mi < miLen ; mi++ ) { var sourceMaterial = materials[ mi ]; var material = undefined; if ( this.materials !== null ) { material = this.materials.create( sourceMaterial.name ); // mtl etc. loaders probably can't create line materials correctly, copy properties to a line material. if ( isLine && material && ! ( material instanceof THREE.LineBasicMaterial ) ) { var materialLine = new THREE.LineBasicMaterial(); materialLine.copy( material ); material = materialLine; } } if ( ! material ) { material = ( ! isLine ? new THREE.MeshPhongMaterial() : new THREE.LineBasicMaterial() ); material.name = sourceMaterial.name; } material.flatShading = sourceMaterial.smooth ? false : true; createdMaterials.push(material); } // Create mesh var mesh; if ( createdMaterials.length > 1 ) { for ( var mi = 0, miLen = materials.length; mi < miLen ; mi++ ) { var sourceMaterial = materials[ mi ]; buffergeometry.addGroup( sourceMaterial.groupStart, sourceMaterial.groupCount, mi ); } mesh = ( ! isLine ? new THREE.Mesh( buffergeometry, createdMaterials ) : new THREE.LineSegments( buffergeometry, createdMaterials ) ); } else { mesh = ( ! isLine ? new THREE.Mesh( buffergeometry, createdMaterials[ 0 ] ) : new THREE.LineSegments( buffergeometry, createdMaterials[ 0 ] ) ); } mesh.name = object.name; container.add( mesh ); } console.timeEnd( 'OBJLoader' ); return container; } }; return OBJLoader; } )(); ================================================ FILE: examples/libs/three.js ================================================ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : (factory((global.THREE = global.THREE || {}))); }(this, (function (exports) { 'use strict'; // Polyfills if ( Number.EPSILON === undefined ) { Number.EPSILON = Math.pow( 2, - 52 ); } if ( Number.isInteger === undefined ) { // Missing in IE // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger Number.isInteger = function ( value ) { return typeof value === 'number' && isFinite( value ) && Math.floor( value ) === value; }; } // if ( Math.sign === undefined ) { // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign Math.sign = function ( x ) { return ( x < 0 ) ? - 1 : ( x > 0 ) ? 1 : + x; }; } if ( Function.prototype.name === undefined ) { // Missing in IE // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name Object.defineProperty( Function.prototype, 'name', { get: function () { return this.toString().match( /^\s*function\s*([^\(\s]*)/ )[ 1 ]; } } ); } if ( Object.assign === undefined ) { // Missing in IE // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign ( function () { Object.assign = function ( target ) { 'use strict'; if ( target === undefined || target === null ) { throw new TypeError( 'Cannot convert undefined or null to object' ); } var output = Object( target ); for ( var index = 1; index < arguments.length; index ++ ) { var source = arguments[ index ]; if ( source !== undefined && source !== null ) { for ( var nextKey in source ) { if ( Object.prototype.hasOwnProperty.call( source, nextKey ) ) { output[ nextKey ] = source[ nextKey ]; } } } } return output; }; } )(); } /** * https://github.com/mrdoob/eventdispatcher.js/ */ function EventDispatcher() {} Object.assign( EventDispatcher.prototype, { addEventListener: function ( type, listener ) { if ( this._listeners === undefined ) this._listeners = {}; var listeners = this._listeners; if ( listeners[ type ] === undefined ) { listeners[ type ] = []; } if ( listeners[ type ].indexOf( listener ) === - 1 ) { listeners[ type ].push( listener ); } }, hasEventListener: function ( type, listener ) { if ( this._listeners === undefined ) return false; var listeners = this._listeners; return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1; }, removeEventListener: function ( type, listener ) { if ( this._listeners === undefined ) return; var listeners = this._listeners; var listenerArray = listeners[ type ]; if ( listenerArray !== undefined ) { var index = listenerArray.indexOf( listener ); if ( index !== - 1 ) { listenerArray.splice( index, 1 ); } } }, dispatchEvent: function ( event ) { if ( this._listeners === undefined ) return; var listeners = this._listeners; var listenerArray = listeners[ event.type ]; if ( listenerArray !== undefined ) { event.target = this; var array = listenerArray.slice( 0 ); for ( var i = 0, l = array.length; i < l; i ++ ) { array[ i ].call( this, event ); } } } } ); var REVISION = '87dev'; var MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 }; var CullFaceNone = 0; var CullFaceBack = 1; var CullFaceFront = 2; var CullFaceFrontBack = 3; var FrontFaceDirectionCW = 0; var FrontFaceDirectionCCW = 1; var BasicShadowMap = 0; var PCFShadowMap = 1; var PCFSoftShadowMap = 2; var FrontSide = 0; var BackSide = 1; var DoubleSide = 2; var FlatShading = 1; var SmoothShading = 2; var NoColors = 0; var FaceColors = 1; var VertexColors = 2; var NoBlending = 0; var NormalBlending = 1; var AdditiveBlending = 2; var SubtractiveBlending = 3; var MultiplyBlending = 4; var CustomBlending = 5; var AddEquation = 100; var SubtractEquation = 101; var ReverseSubtractEquation = 102; var MinEquation = 103; var MaxEquation = 104; var ZeroFactor = 200; var OneFactor = 201; var SrcColorFactor = 202; var OneMinusSrcColorFactor = 203; var SrcAlphaFactor = 204; var OneMinusSrcAlphaFactor = 205; var DstAlphaFactor = 206; var OneMinusDstAlphaFactor = 207; var DstColorFactor = 208; var OneMinusDstColorFactor = 209; var SrcAlphaSaturateFactor = 210; var NeverDepth = 0; var AlwaysDepth = 1; var LessDepth = 2; var LessEqualDepth = 3; var EqualDepth = 4; var GreaterEqualDepth = 5; var GreaterDepth = 6; var NotEqualDepth = 7; var MultiplyOperation = 0; var MixOperation = 1; var AddOperation = 2; var NoToneMapping = 0; var LinearToneMapping = 1; var ReinhardToneMapping = 2; var Uncharted2ToneMapping = 3; var CineonToneMapping = 4; var UVMapping = 300; var CubeReflectionMapping = 301; var CubeRefractionMapping = 302; var EquirectangularReflectionMapping = 303; var EquirectangularRefractionMapping = 304; var SphericalReflectionMapping = 305; var CubeUVReflectionMapping = 306; var CubeUVRefractionMapping = 307; var RepeatWrapping = 1000; var ClampToEdgeWrapping = 1001; var MirroredRepeatWrapping = 1002; var NearestFilter = 1003; var NearestMipMapNearestFilter = 1004; var NearestMipMapLinearFilter = 1005; var LinearFilter = 1006; var LinearMipMapNearestFilter = 1007; var LinearMipMapLinearFilter = 1008; var UnsignedByteType = 1009; var ByteType = 1010; var ShortType = 1011; var UnsignedShortType = 1012; var IntType = 1013; var UnsignedIntType = 1014; var FloatType = 1015; var HalfFloatType = 1016; var UnsignedShort4444Type = 1017; var UnsignedShort5551Type = 1018; var UnsignedShort565Type = 1019; var UnsignedInt248Type = 1020; var AlphaFormat = 1021; var RGBFormat = 1022; var RGBAFormat = 1023; var LuminanceFormat = 1024; var LuminanceAlphaFormat = 1025; var RGBEFormat = RGBAFormat; var DepthFormat = 1026; var DepthStencilFormat = 1027; var RGB_S3TC_DXT1_Format = 2001; var RGBA_S3TC_DXT1_Format = 2002; var RGBA_S3TC_DXT3_Format = 2003; var RGBA_S3TC_DXT5_Format = 2004; var RGB_PVRTC_4BPPV1_Format = 2100; var RGB_PVRTC_2BPPV1_Format = 2101; var RGBA_PVRTC_4BPPV1_Format = 2102; var RGBA_PVRTC_2BPPV1_Format = 2103; var RGB_ETC1_Format = 2151; var LoopOnce = 2200; var LoopRepeat = 2201; var LoopPingPong = 2202; var InterpolateDiscrete = 2300; var InterpolateLinear = 2301; var InterpolateSmooth = 2302; var ZeroCurvatureEnding = 2400; var ZeroSlopeEnding = 2401; var WrapAroundEnding = 2402; var TrianglesDrawMode = 0; var TriangleStripDrawMode = 1; var TriangleFanDrawMode = 2; var LinearEncoding = 3000; var sRGBEncoding = 3001; var GammaEncoding = 3007; var RGBEEncoding = 3002; var LogLuvEncoding = 3003; var RGBM7Encoding = 3004; var RGBM16Encoding = 3005; var RGBDEncoding = 3006; var BasicDepthPacking = 3200; var RGBADepthPacking = 3201; /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ */ var _Math = { DEG2RAD: Math.PI / 180, RAD2DEG: 180 / Math.PI, generateUUID: function () { // http://www.broofa.com/Tools/Math.uuid.htm var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split( '' ); var uuid = new Array( 36 ); var rnd = 0, r; return function generateUUID() { for ( var i = 0; i < 36; i ++ ) { if ( i === 8 || i === 13 || i === 18 || i === 23 ) { uuid[ i ] = '-'; } else if ( i === 14 ) { uuid[ i ] = '4'; } else { if ( rnd <= 0x02 ) rnd = 0x2000000 + ( Math.random() * 0x1000000 ) | 0; r = rnd & 0xf; rnd = rnd >> 4; uuid[ i ] = chars[ ( i === 19 ) ? ( r & 0x3 ) | 0x8 : r ]; } } return uuid.join( '' ); }; }(), clamp: function ( value, min, max ) { return Math.max( min, Math.min( max, value ) ); }, // compute euclidian modulo of m % n // https://en.wikipedia.org/wiki/Modulo_operation euclideanModulo: function ( n, m ) { return ( ( n % m ) + m ) % m; }, // Linear mapping from range to range mapLinear: function ( x, a1, a2, b1, b2 ) { return b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 ); }, // https://en.wikipedia.org/wiki/Linear_interpolation lerp: function ( x, y, t ) { return ( 1 - t ) * x + t * y; }, // http://en.wikipedia.org/wiki/Smoothstep smoothstep: function ( x, min, max ) { if ( x <= min ) return 0; if ( x >= max ) return 1; x = ( x - min ) / ( max - min ); return x * x * ( 3 - 2 * x ); }, smootherstep: function ( x, min, max ) { if ( x <= min ) return 0; if ( x >= max ) return 1; x = ( x - min ) / ( max - min ); return x * x * x * ( x * ( x * 6 - 15 ) + 10 ); }, // Random integer from interval randInt: function ( low, high ) { return low + Math.floor( Math.random() * ( high - low + 1 ) ); }, // Random float from interval randFloat: function ( low, high ) { return low + Math.random() * ( high - low ); }, // Random float from <-range/2, range/2> interval randFloatSpread: function ( range ) { return range * ( 0.5 - Math.random() ); }, degToRad: function ( degrees ) { return degrees * _Math.DEG2RAD; }, radToDeg: function ( radians ) { return radians * _Math.RAD2DEG; }, isPowerOfTwo: function ( value ) { return ( value & ( value - 1 ) ) === 0 && value !== 0; }, nearestPowerOfTwo: function ( value ) { return Math.pow( 2, Math.round( Math.log( value ) / Math.LN2 ) ); }, nextPowerOfTwo: function ( value ) { value --; value |= value >> 1; value |= value >> 2; value |= value >> 4; value |= value >> 8; value |= value >> 16; value ++; return value; } }; /** * @author mrdoob / http://mrdoob.com/ * @author philogb / http://blog.thejit.org/ * @author egraether / http://egraether.com/ * @author zz85 / http://www.lab4games.net/zz85/blog */ function Vector2( x, y ) { this.x = x || 0; this.y = y || 0; } Object.defineProperties( Vector2.prototype, { "width" : { get: function () { return this.x; }, set: function ( value ) { this.x = value; } }, "height" : { get: function () { return this.y; }, set: function ( value ) { this.y = value; } } } ); Object.assign( Vector2.prototype, { isVector2: true, set: function ( x, y ) { this.x = x; this.y = y; return this; }, setScalar: function ( scalar ) { this.x = scalar; this.y = scalar; return this; }, setX: function ( x ) { this.x = x; return this; }, setY: function ( y ) { this.y = y; return this; }, setComponent: function ( index, value ) { switch ( index ) { case 0: this.x = value; break; case 1: this.y = value; break; default: throw new Error( 'index is out of range: ' + index ); } return this; }, getComponent: function ( index ) { switch ( index ) { case 0: return this.x; case 1: return this.y; default: throw new Error( 'index is out of range: ' + index ); } }, clone: function () { return new this.constructor( this.x, this.y ); }, copy: function ( v ) { this.x = v.x; this.y = v.y; return this; }, add: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); return this.addVectors( v, w ); } this.x += v.x; this.y += v.y; return this; }, addScalar: function ( s ) { this.x += s; this.y += s; return this; }, addVectors: function ( a, b ) { this.x = a.x + b.x; this.y = a.y + b.y; return this; }, addScaledVector: function ( v, s ) { this.x += v.x * s; this.y += v.y * s; return this; }, sub: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); return this.subVectors( v, w ); } this.x -= v.x; this.y -= v.y; return this; }, subScalar: function ( s ) { this.x -= s; this.y -= s; return this; }, subVectors: function ( a, b ) { this.x = a.x - b.x; this.y = a.y - b.y; return this; }, multiply: function ( v ) { this.x *= v.x; this.y *= v.y; return this; }, multiplyScalar: function ( scalar ) { this.x *= scalar; this.y *= scalar; return this; }, divide: function ( v ) { this.x /= v.x; this.y /= v.y; return this; }, divideScalar: function ( scalar ) { return this.multiplyScalar( 1 / scalar ); }, min: function ( v ) { this.x = Math.min( this.x, v.x ); this.y = Math.min( this.y, v.y ); return this; }, max: function ( v ) { this.x = Math.max( this.x, v.x ); this.y = Math.max( this.y, v.y ); return this; }, clamp: function ( min, max ) { // assumes min < max, componentwise this.x = Math.max( min.x, Math.min( max.x, this.x ) ); this.y = Math.max( min.y, Math.min( max.y, this.y ) ); return this; }, clampScalar: function () { var min = new Vector2(); var max = new Vector2(); return function clampScalar( minVal, maxVal ) { min.set( minVal, minVal ); max.set( maxVal, maxVal ); return this.clamp( min, max ); }; }(), clampLength: function ( min, max ) { var length = this.length(); return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); }, floor: function () { this.x = Math.floor( this.x ); this.y = Math.floor( this.y ); return this; }, ceil: function () { this.x = Math.ceil( this.x ); this.y = Math.ceil( this.y ); return this; }, round: function () { this.x = Math.round( this.x ); this.y = Math.round( this.y ); return this; }, roundToZero: function () { this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); return this; }, negate: function () { this.x = - this.x; this.y = - this.y; return this; }, dot: function ( v ) { return this.x * v.x + this.y * v.y; }, lengthSq: function () { return this.x * this.x + this.y * this.y; }, length: function () { return Math.sqrt( this.x * this.x + this.y * this.y ); }, lengthManhattan: function() { return Math.abs( this.x ) + Math.abs( this.y ); }, normalize: function () { return this.divideScalar( this.length() || 1 ); }, angle: function () { // computes the angle in radians with respect to the positive x-axis var angle = Math.atan2( this.y, this.x ); if ( angle < 0 ) angle += 2 * Math.PI; return angle; }, distanceTo: function ( v ) { return Math.sqrt( this.distanceToSquared( v ) ); }, distanceToSquared: function ( v ) { var dx = this.x - v.x, dy = this.y - v.y; return dx * dx + dy * dy; }, distanceToManhattan: function ( v ) { return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ); }, setLength: function ( length ) { return this.normalize().multiplyScalar( length ); }, lerp: function ( v, alpha ) { this.x += ( v.x - this.x ) * alpha; this.y += ( v.y - this.y ) * alpha; return this; }, lerpVectors: function ( v1, v2, alpha ) { return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); }, equals: function ( v ) { return ( ( v.x === this.x ) && ( v.y === this.y ) ); }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; this.x = array[ offset ]; this.y = array[ offset + 1 ]; return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this.x; array[ offset + 1 ] = this.y; return array; }, fromBufferAttribute: function ( attribute, index, offset ) { if ( offset !== undefined ) { console.warn( 'THREE.Vector2: offset has been removed from .fromBufferAttribute().' ); } this.x = attribute.getX( index ); this.y = attribute.getY( index ); return this; }, rotateAround: function ( center, angle ) { var c = Math.cos( angle ), s = Math.sin( angle ); var x = this.x - center.x; var y = this.y - center.y; this.x = x * c - y * s + center.x; this.y = x * s + y * c + center.y; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * @author szimek / https://github.com/szimek/ */ var textureId = 0; function Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { Object.defineProperty( this, 'id', { value: textureId ++ } ); this.uuid = _Math.generateUUID(); this.name = ''; this.image = image !== undefined ? image : Texture.DEFAULT_IMAGE; this.mipmaps = []; this.mapping = mapping !== undefined ? mapping : Texture.DEFAULT_MAPPING; this.wrapS = wrapS !== undefined ? wrapS : ClampToEdgeWrapping; this.wrapT = wrapT !== undefined ? wrapT : ClampToEdgeWrapping; this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; this.minFilter = minFilter !== undefined ? minFilter : LinearMipMapLinearFilter; this.anisotropy = anisotropy !== undefined ? anisotropy : 1; this.format = format !== undefined ? format : RGBAFormat; this.type = type !== undefined ? type : UnsignedByteType; this.offset = new Vector2( 0, 0 ); this.repeat = new Vector2( 1, 1 ); this.generateMipmaps = true; this.premultiplyAlpha = false; this.flipY = true; this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml) // Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap. // // Also changing the encoding after already used by a Material will not automatically make the Material // update. You need to explicitly call Material.needsUpdate to trigger it to recompile. this.encoding = encoding !== undefined ? encoding : LinearEncoding; this.version = 0; this.onUpdate = null; } Texture.DEFAULT_IMAGE = undefined; Texture.DEFAULT_MAPPING = UVMapping; Object.defineProperty( Texture.prototype, "needsUpdate", { set: function ( value ) { if ( value === true ) this.version ++; } } ); Object.assign( Texture.prototype, EventDispatcher.prototype, { constructor: Texture, isTexture: true, clone: function () { return new this.constructor().copy( this ); }, copy: function ( source ) { this.name = source.name; this.image = source.image; this.mipmaps = source.mipmaps.slice( 0 ); this.mapping = source.mapping; this.wrapS = source.wrapS; this.wrapT = source.wrapT; this.magFilter = source.magFilter; this.minFilter = source.minFilter; this.anisotropy = source.anisotropy; this.format = source.format; this.type = source.type; this.offset.copy( source.offset ); this.repeat.copy( source.repeat ); this.generateMipmaps = source.generateMipmaps; this.premultiplyAlpha = source.premultiplyAlpha; this.flipY = source.flipY; this.unpackAlignment = source.unpackAlignment; this.encoding = source.encoding; return this; }, toJSON: function ( meta ) { if ( meta.textures[ this.uuid ] !== undefined ) { return meta.textures[ this.uuid ]; } function getDataURL( image ) { var canvas; if ( image.toDataURL !== undefined ) { canvas = image; } else { canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); canvas.width = image.width; canvas.height = image.height; canvas.getContext( '2d' ).drawImage( image, 0, 0, image.width, image.height ); } if ( canvas.width > 2048 || canvas.height > 2048 ) { return canvas.toDataURL( 'image/jpeg', 0.6 ); } else { return canvas.toDataURL( 'image/png' ); } } var output = { metadata: { version: 4.5, type: 'Texture', generator: 'Texture.toJSON' }, uuid: this.uuid, name: this.name, mapping: this.mapping, repeat: [ this.repeat.x, this.repeat.y ], offset: [ this.offset.x, this.offset.y ], wrap: [ this.wrapS, this.wrapT ], minFilter: this.minFilter, magFilter: this.magFilter, anisotropy: this.anisotropy, flipY: this.flipY }; if ( this.image !== undefined ) { // TODO: Move to THREE.Image var image = this.image; if ( image.uuid === undefined ) { image.uuid = _Math.generateUUID(); // UGH } if ( meta.images[ image.uuid ] === undefined ) { meta.images[ image.uuid ] = { uuid: image.uuid, url: getDataURL( image ) }; } output.image = image.uuid; } meta.textures[ this.uuid ] = output; return output; }, dispose: function () { this.dispatchEvent( { type: 'dispose' } ); }, transformUv: function ( uv ) { if ( this.mapping !== UVMapping ) return; uv.multiply( this.repeat ); uv.add( this.offset ); if ( uv.x < 0 || uv.x > 1 ) { switch ( this.wrapS ) { case RepeatWrapping: uv.x = uv.x - Math.floor( uv.x ); break; case ClampToEdgeWrapping: uv.x = uv.x < 0 ? 0 : 1; break; case MirroredRepeatWrapping: if ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) { uv.x = Math.ceil( uv.x ) - uv.x; } else { uv.x = uv.x - Math.floor( uv.x ); } break; } } if ( uv.y < 0 || uv.y > 1 ) { switch ( this.wrapT ) { case RepeatWrapping: uv.y = uv.y - Math.floor( uv.y ); break; case ClampToEdgeWrapping: uv.y = uv.y < 0 ? 0 : 1; break; case MirroredRepeatWrapping: if ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) { uv.y = Math.ceil( uv.y ) - uv.y; } else { uv.y = uv.y - Math.floor( uv.y ); } break; } } if ( this.flipY ) { uv.y = 1 - uv.y; } } } ); /** * @author supereggbert / http://www.paulbrunt.co.uk/ * @author philogb / http://blog.thejit.org/ * @author mikael emtinger / http://gomo.se/ * @author egraether / http://egraether.com/ * @author WestLangley / http://github.com/WestLangley */ function Vector4( x, y, z, w ) { this.x = x || 0; this.y = y || 0; this.z = z || 0; this.w = ( w !== undefined ) ? w : 1; } Object.assign( Vector4.prototype, { isVector4: true, set: function ( x, y, z, w ) { this.x = x; this.y = y; this.z = z; this.w = w; return this; }, setScalar: function ( scalar ) { this.x = scalar; this.y = scalar; this.z = scalar; this.w = scalar; return this; }, setX: function ( x ) { this.x = x; return this; }, setY: function ( y ) { this.y = y; return this; }, setZ: function ( z ) { this.z = z; return this; }, setW: function ( w ) { this.w = w; return this; }, setComponent: function ( index, value ) { switch ( index ) { case 0: this.x = value; break; case 1: this.y = value; break; case 2: this.z = value; break; case 3: this.w = value; break; default: throw new Error( 'index is out of range: ' + index ); } return this; }, getComponent: function ( index ) { switch ( index ) { case 0: return this.x; case 1: return this.y; case 2: return this.z; case 3: return this.w; default: throw new Error( 'index is out of range: ' + index ); } }, clone: function () { return new this.constructor( this.x, this.y, this.z, this.w ); }, copy: function ( v ) { this.x = v.x; this.y = v.y; this.z = v.z; this.w = ( v.w !== undefined ) ? v.w : 1; return this; }, add: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); return this.addVectors( v, w ); } this.x += v.x; this.y += v.y; this.z += v.z; this.w += v.w; return this; }, addScalar: function ( s ) { this.x += s; this.y += s; this.z += s; this.w += s; return this; }, addVectors: function ( a, b ) { this.x = a.x + b.x; this.y = a.y + b.y; this.z = a.z + b.z; this.w = a.w + b.w; return this; }, addScaledVector: function ( v, s ) { this.x += v.x * s; this.y += v.y * s; this.z += v.z * s; this.w += v.w * s; return this; }, sub: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); return this.subVectors( v, w ); } this.x -= v.x; this.y -= v.y; this.z -= v.z; this.w -= v.w; return this; }, subScalar: function ( s ) { this.x -= s; this.y -= s; this.z -= s; this.w -= s; return this; }, subVectors: function ( a, b ) { this.x = a.x - b.x; this.y = a.y - b.y; this.z = a.z - b.z; this.w = a.w - b.w; return this; }, multiplyScalar: function ( scalar ) { this.x *= scalar; this.y *= scalar; this.z *= scalar; this.w *= scalar; return this; }, applyMatrix4: function ( m ) { var x = this.x, y = this.y, z = this.z, w = this.w; var e = m.elements; this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w; this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w; this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w; this.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w; return this; }, divideScalar: function ( scalar ) { return this.multiplyScalar( 1 / scalar ); }, setAxisAngleFromQuaternion: function ( q ) { // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm // q is assumed to be normalized this.w = 2 * Math.acos( q.w ); var s = Math.sqrt( 1 - q.w * q.w ); if ( s < 0.0001 ) { this.x = 1; this.y = 0; this.z = 0; } else { this.x = q.x / s; this.y = q.y / s; this.z = q.z / s; } return this; }, setAxisAngleFromRotationMatrix: function ( m ) { // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) var angle, x, y, z, // variables for result epsilon = 0.01, // margin to allow for rounding errors epsilon2 = 0.1, // margin to distinguish between 0 and 180 degrees te = m.elements, m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; if ( ( Math.abs( m12 - m21 ) < epsilon ) && ( Math.abs( m13 - m31 ) < epsilon ) && ( Math.abs( m23 - m32 ) < epsilon ) ) { // singularity found // first check for identity matrix which must have +1 for all terms // in leading diagonal and zero in other terms if ( ( Math.abs( m12 + m21 ) < epsilon2 ) && ( Math.abs( m13 + m31 ) < epsilon2 ) && ( Math.abs( m23 + m32 ) < epsilon2 ) && ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) { // this singularity is identity matrix so angle = 0 this.set( 1, 0, 0, 0 ); return this; // zero angle, arbitrary axis } // otherwise this singularity is angle = 180 angle = Math.PI; var xx = ( m11 + 1 ) / 2; var yy = ( m22 + 1 ) / 2; var zz = ( m33 + 1 ) / 2; var xy = ( m12 + m21 ) / 4; var xz = ( m13 + m31 ) / 4; var yz = ( m23 + m32 ) / 4; if ( ( xx > yy ) && ( xx > zz ) ) { // m11 is the largest diagonal term if ( xx < epsilon ) { x = 0; y = 0.707106781; z = 0.707106781; } else { x = Math.sqrt( xx ); y = xy / x; z = xz / x; } } else if ( yy > zz ) { // m22 is the largest diagonal term if ( yy < epsilon ) { x = 0.707106781; y = 0; z = 0.707106781; } else { y = Math.sqrt( yy ); x = xy / y; z = yz / y; } } else { // m33 is the largest diagonal term so base result on this if ( zz < epsilon ) { x = 0.707106781; y = 0.707106781; z = 0; } else { z = Math.sqrt( zz ); x = xz / z; y = yz / z; } } this.set( x, y, z, angle ); return this; // return 180 deg rotation } // as we have reached here there are no singularities so we can handle normally var s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) + ( m13 - m31 ) * ( m13 - m31 ) + ( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize if ( Math.abs( s ) < 0.001 ) s = 1; // prevent divide by zero, should not happen if matrix is orthogonal and should be // caught by singularity test above, but I've left it in just in case this.x = ( m32 - m23 ) / s; this.y = ( m13 - m31 ) / s; this.z = ( m21 - m12 ) / s; this.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 ); return this; }, min: function ( v ) { this.x = Math.min( this.x, v.x ); this.y = Math.min( this.y, v.y ); this.z = Math.min( this.z, v.z ); this.w = Math.min( this.w, v.w ); return this; }, max: function ( v ) { this.x = Math.max( this.x, v.x ); this.y = Math.max( this.y, v.y ); this.z = Math.max( this.z, v.z ); this.w = Math.max( this.w, v.w ); return this; }, clamp: function ( min, max ) { // assumes min < max, componentwise this.x = Math.max( min.x, Math.min( max.x, this.x ) ); this.y = Math.max( min.y, Math.min( max.y, this.y ) ); this.z = Math.max( min.z, Math.min( max.z, this.z ) ); this.w = Math.max( min.w, Math.min( max.w, this.w ) ); return this; }, clampScalar: function () { var min, max; return function clampScalar( minVal, maxVal ) { if ( min === undefined ) { min = new Vector4(); max = new Vector4(); } min.set( minVal, minVal, minVal, minVal ); max.set( maxVal, maxVal, maxVal, maxVal ); return this.clamp( min, max ); }; }(), clampLength: function ( min, max ) { var length = this.length(); return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); }, floor: function () { this.x = Math.floor( this.x ); this.y = Math.floor( this.y ); this.z = Math.floor( this.z ); this.w = Math.floor( this.w ); return this; }, ceil: function () { this.x = Math.ceil( this.x ); this.y = Math.ceil( this.y ); this.z = Math.ceil( this.z ); this.w = Math.ceil( this.w ); return this; }, round: function () { this.x = Math.round( this.x ); this.y = Math.round( this.y ); this.z = Math.round( this.z ); this.w = Math.round( this.w ); return this; }, roundToZero: function () { this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); this.w = ( this.w < 0 ) ? Math.ceil( this.w ) : Math.floor( this.w ); return this; }, negate: function () { this.x = - this.x; this.y = - this.y; this.z = - this.z; this.w = - this.w; return this; }, dot: function ( v ) { return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; }, lengthSq: function () { return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; }, length: function () { return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w ); }, lengthManhattan: function () { return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w ); }, normalize: function () { return this.divideScalar( this.length() || 1 ); }, setLength: function ( length ) { return this.normalize().multiplyScalar( length ); }, lerp: function ( v, alpha ) { this.x += ( v.x - this.x ) * alpha; this.y += ( v.y - this.y ) * alpha; this.z += ( v.z - this.z ) * alpha; this.w += ( v.w - this.w ) * alpha; return this; }, lerpVectors: function ( v1, v2, alpha ) { return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); }, equals: function ( v ) { return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) ); }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; this.x = array[ offset ]; this.y = array[ offset + 1 ]; this.z = array[ offset + 2 ]; this.w = array[ offset + 3 ]; return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this.x; array[ offset + 1 ] = this.y; array[ offset + 2 ] = this.z; array[ offset + 3 ] = this.w; return array; }, fromBufferAttribute: function ( attribute, index, offset ) { if ( offset !== undefined ) { console.warn( 'THREE.Vector4: offset has been removed from .fromBufferAttribute().' ); } this.x = attribute.getX( index ); this.y = attribute.getY( index ); this.z = attribute.getZ( index ); this.w = attribute.getW( index ); return this; } } ); /** * @author szimek / https://github.com/szimek/ * @author alteredq / http://alteredqualia.com/ * @author Marius Kintel / https://github.com/kintel */ /* In options, we can specify: * Texture parameters for an auto-generated target texture * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers */ function WebGLRenderTarget( width, height, options ) { this.uuid = _Math.generateUUID(); this.width = width; this.height = height; this.scissor = new Vector4( 0, 0, width, height ); this.scissorTest = false; this.viewport = new Vector4( 0, 0, width, height ); options = options || {}; if ( options.minFilter === undefined ) options.minFilter = LinearFilter; this.texture = new Texture( undefined, undefined, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding ); this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true; this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : true; this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null; } Object.assign( WebGLRenderTarget.prototype, EventDispatcher.prototype, { isWebGLRenderTarget: true, setSize: function ( width, height ) { if ( this.width !== width || this.height !== height ) { this.width = width; this.height = height; this.dispose(); } this.viewport.set( 0, 0, width, height ); this.scissor.set( 0, 0, width, height ); }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( source ) { this.width = source.width; this.height = source.height; this.viewport.copy( source.viewport ); this.texture = source.texture.clone(); this.depthBuffer = source.depthBuffer; this.stencilBuffer = source.stencilBuffer; this.depthTexture = source.depthTexture; return this; }, dispose: function () { this.dispatchEvent( { type: 'dispose' } ); } } ); /** * @author alteredq / http://alteredqualia.com */ function WebGLRenderTargetCube( width, height, options ) { WebGLRenderTarget.call( this, width, height, options ); this.activeCubeFace = 0; // PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5 this.activeMipMapLevel = 0; } WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype ); WebGLRenderTargetCube.prototype.constructor = WebGLRenderTargetCube; WebGLRenderTargetCube.prototype.isWebGLRenderTargetCube = true; /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author WestLangley / http://github.com/WestLangley * @author bhouston / http://clara.io */ function Quaternion( x, y, z, w ) { this._x = x || 0; this._y = y || 0; this._z = z || 0; this._w = ( w !== undefined ) ? w : 1; } Object.assign( Quaternion, { slerp: function ( qa, qb, qm, t ) { return qm.copy( qa ).slerp( qb, t ); }, slerpFlat: function ( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) { // fuzz-free, array-based Quaternion SLERP operation var x0 = src0[ srcOffset0 + 0 ], y0 = src0[ srcOffset0 + 1 ], z0 = src0[ srcOffset0 + 2 ], w0 = src0[ srcOffset0 + 3 ], x1 = src1[ srcOffset1 + 0 ], y1 = src1[ srcOffset1 + 1 ], z1 = src1[ srcOffset1 + 2 ], w1 = src1[ srcOffset1 + 3 ]; if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) { var s = 1 - t, cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, dir = ( cos >= 0 ? 1 : - 1 ), sqrSin = 1 - cos * cos; // Skip the Slerp for tiny steps to avoid numeric problems: if ( sqrSin > Number.EPSILON ) { var sin = Math.sqrt( sqrSin ), len = Math.atan2( sin, cos * dir ); s = Math.sin( s * len ) / sin; t = Math.sin( t * len ) / sin; } var tDir = t * dir; x0 = x0 * s + x1 * tDir; y0 = y0 * s + y1 * tDir; z0 = z0 * s + z1 * tDir; w0 = w0 * s + w1 * tDir; // Normalize in case we just did a lerp: if ( s === 1 - t ) { var f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 ); x0 *= f; y0 *= f; z0 *= f; w0 *= f; } } dst[ dstOffset ] = x0; dst[ dstOffset + 1 ] = y0; dst[ dstOffset + 2 ] = z0; dst[ dstOffset + 3 ] = w0; } } ); Object.defineProperties( Quaternion.prototype, { x: { get: function () { return this._x; }, set: function ( value ) { this._x = value; this.onChangeCallback(); } }, y: { get: function () { return this._y; }, set: function ( value ) { this._y = value; this.onChangeCallback(); } }, z: { get: function () { return this._z; }, set: function ( value ) { this._z = value; this.onChangeCallback(); } }, w: { get: function () { return this._w; }, set: function ( value ) { this._w = value; this.onChangeCallback(); } } } ); Object.assign( Quaternion.prototype, { set: function ( x, y, z, w ) { this._x = x; this._y = y; this._z = z; this._w = w; this.onChangeCallback(); return this; }, clone: function () { return new this.constructor( this._x, this._y, this._z, this._w ); }, copy: function ( quaternion ) { this._x = quaternion.x; this._y = quaternion.y; this._z = quaternion.z; this._w = quaternion.w; this.onChangeCallback(); return this; }, setFromEuler: function ( euler, update ) { if ( ! ( euler && euler.isEuler ) ) { throw new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' ); } var x = euler._x, y = euler._y, z = euler._z, order = euler.order; // http://www.mathworks.com/matlabcentral/fileexchange/ // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ // content/SpinCalc.m var cos = Math.cos; var sin = Math.sin; var c1 = cos( x / 2 ); var c2 = cos( y / 2 ); var c3 = cos( z / 2 ); var s1 = sin( x / 2 ); var s2 = sin( y / 2 ); var s3 = sin( z / 2 ); if ( order === 'XYZ' ) { this._x = s1 * c2 * c3 + c1 * s2 * s3; this._y = c1 * s2 * c3 - s1 * c2 * s3; this._z = c1 * c2 * s3 + s1 * s2 * c3; this._w = c1 * c2 * c3 - s1 * s2 * s3; } else if ( order === 'YXZ' ) { this._x = s1 * c2 * c3 + c1 * s2 * s3; this._y = c1 * s2 * c3 - s1 * c2 * s3; this._z = c1 * c2 * s3 - s1 * s2 * c3; this._w = c1 * c2 * c3 + s1 * s2 * s3; } else if ( order === 'ZXY' ) { this._x = s1 * c2 * c3 - c1 * s2 * s3; this._y = c1 * s2 * c3 + s1 * c2 * s3; this._z = c1 * c2 * s3 + s1 * s2 * c3; this._w = c1 * c2 * c3 - s1 * s2 * s3; } else if ( order === 'ZYX' ) { this._x = s1 * c2 * c3 - c1 * s2 * s3; this._y = c1 * s2 * c3 + s1 * c2 * s3; this._z = c1 * c2 * s3 - s1 * s2 * c3; this._w = c1 * c2 * c3 + s1 * s2 * s3; } else if ( order === 'YZX' ) { this._x = s1 * c2 * c3 + c1 * s2 * s3; this._y = c1 * s2 * c3 + s1 * c2 * s3; this._z = c1 * c2 * s3 - s1 * s2 * c3; this._w = c1 * c2 * c3 - s1 * s2 * s3; } else if ( order === 'XZY' ) { this._x = s1 * c2 * c3 - c1 * s2 * s3; this._y = c1 * s2 * c3 - s1 * c2 * s3; this._z = c1 * c2 * s3 + s1 * s2 * c3; this._w = c1 * c2 * c3 + s1 * s2 * s3; } if ( update !== false ) this.onChangeCallback(); return this; }, setFromAxisAngle: function ( axis, angle ) { // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm // assumes axis is normalized var halfAngle = angle / 2, s = Math.sin( halfAngle ); this._x = axis.x * s; this._y = axis.y * s; this._z = axis.z * s; this._w = Math.cos( halfAngle ); this.onChangeCallback(); return this; }, setFromRotationMatrix: function ( m ) { // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) var te = m.elements, m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ], trace = m11 + m22 + m33, s; if ( trace > 0 ) { s = 0.5 / Math.sqrt( trace + 1.0 ); this._w = 0.25 / s; this._x = ( m32 - m23 ) * s; this._y = ( m13 - m31 ) * s; this._z = ( m21 - m12 ) * s; } else if ( m11 > m22 && m11 > m33 ) { s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 ); this._w = ( m32 - m23 ) / s; this._x = 0.25 * s; this._y = ( m12 + m21 ) / s; this._z = ( m13 + m31 ) / s; } else if ( m22 > m33 ) { s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 ); this._w = ( m13 - m31 ) / s; this._x = ( m12 + m21 ) / s; this._y = 0.25 * s; this._z = ( m23 + m32 ) / s; } else { s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 ); this._w = ( m21 - m12 ) / s; this._x = ( m13 + m31 ) / s; this._y = ( m23 + m32 ) / s; this._z = 0.25 * s; } this.onChangeCallback(); return this; }, setFromUnitVectors: function () { // assumes direction vectors vFrom and vTo are normalized var v1 = new Vector3(); var r; var EPS = 0.000001; return function setFromUnitVectors( vFrom, vTo ) { if ( v1 === undefined ) v1 = new Vector3(); r = vFrom.dot( vTo ) + 1; if ( r < EPS ) { r = 0; if ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) { v1.set( - vFrom.y, vFrom.x, 0 ); } else { v1.set( 0, - vFrom.z, vFrom.y ); } } else { v1.crossVectors( vFrom, vTo ); } this._x = v1.x; this._y = v1.y; this._z = v1.z; this._w = r; return this.normalize(); }; }(), inverse: function () { return this.conjugate().normalize(); }, conjugate: function () { this._x *= - 1; this._y *= - 1; this._z *= - 1; this.onChangeCallback(); return this; }, dot: function ( v ) { return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; }, lengthSq: function () { return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; }, length: function () { return Math.sqrt( this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w ); }, normalize: function () { var l = this.length(); if ( l === 0 ) { this._x = 0; this._y = 0; this._z = 0; this._w = 1; } else { l = 1 / l; this._x = this._x * l; this._y = this._y * l; this._z = this._z * l; this._w = this._w * l; } this.onChangeCallback(); return this; }, multiply: function ( q, p ) { if ( p !== undefined ) { console.warn( 'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.' ); return this.multiplyQuaternions( q, p ); } return this.multiplyQuaternions( this, q ); }, premultiply: function ( q ) { return this.multiplyQuaternions( q, this ); }, multiplyQuaternions: function ( a, b ) { // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm var qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; var qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; this.onChangeCallback(); return this; }, slerp: function ( qb, t ) { if ( t === 0 ) return this; if ( t === 1 ) return this.copy( qb ); var x = this._x, y = this._y, z = this._z, w = this._w; // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ var cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; if ( cosHalfTheta < 0 ) { this._w = - qb._w; this._x = - qb._x; this._y = - qb._y; this._z = - qb._z; cosHalfTheta = - cosHalfTheta; } else { this.copy( qb ); } if ( cosHalfTheta >= 1.0 ) { this._w = w; this._x = x; this._y = y; this._z = z; return this; } var sinHalfTheta = Math.sqrt( 1.0 - cosHalfTheta * cosHalfTheta ); if ( Math.abs( sinHalfTheta ) < 0.001 ) { this._w = 0.5 * ( w + this._w ); this._x = 0.5 * ( x + this._x ); this._y = 0.5 * ( y + this._y ); this._z = 0.5 * ( z + this._z ); return this; } var halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta ); var ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta, ratioB = Math.sin( t * halfTheta ) / sinHalfTheta; this._w = ( w * ratioA + this._w * ratioB ); this._x = ( x * ratioA + this._x * ratioB ); this._y = ( y * ratioA + this._y * ratioB ); this._z = ( z * ratioA + this._z * ratioB ); this.onChangeCallback(); return this; }, equals: function ( quaternion ) { return ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w ); }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; this._x = array[ offset ]; this._y = array[ offset + 1 ]; this._z = array[ offset + 2 ]; this._w = array[ offset + 3 ]; this.onChangeCallback(); return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this._x; array[ offset + 1 ] = this._y; array[ offset + 2 ] = this._z; array[ offset + 3 ] = this._w; return array; }, onChange: function ( callback ) { this.onChangeCallback = callback; return this; }, onChangeCallback: function () {} } ); /** * @author mrdoob / http://mrdoob.com/ * @author kile / http://kile.stravaganza.org/ * @author philogb / http://blog.thejit.org/ * @author mikael emtinger / http://gomo.se/ * @author egraether / http://egraether.com/ * @author WestLangley / http://github.com/WestLangley */ function Vector3( x, y, z ) { this.x = x || 0; this.y = y || 0; this.z = z || 0; } Object.assign( Vector3.prototype, { isVector3: true, set: function ( x, y, z ) { this.x = x; this.y = y; this.z = z; return this; }, setScalar: function ( scalar ) { this.x = scalar; this.y = scalar; this.z = scalar; return this; }, setX: function ( x ) { this.x = x; return this; }, setY: function ( y ) { this.y = y; return this; }, setZ: function ( z ) { this.z = z; return this; }, setComponent: function ( index, value ) { switch ( index ) { case 0: this.x = value; break; case 1: this.y = value; break; case 2: this.z = value; break; default: throw new Error( 'index is out of range: ' + index ); } return this; }, getComponent: function ( index ) { switch ( index ) { case 0: return this.x; case 1: return this.y; case 2: return this.z; default: throw new Error( 'index is out of range: ' + index ); } }, clone: function () { return new this.constructor( this.x, this.y, this.z ); }, copy: function ( v ) { this.x = v.x; this.y = v.y; this.z = v.z; return this; }, add: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); return this.addVectors( v, w ); } this.x += v.x; this.y += v.y; this.z += v.z; return this; }, addScalar: function ( s ) { this.x += s; this.y += s; this.z += s; return this; }, addVectors: function ( a, b ) { this.x = a.x + b.x; this.y = a.y + b.y; this.z = a.z + b.z; return this; }, addScaledVector: function ( v, s ) { this.x += v.x * s; this.y += v.y * s; this.z += v.z * s; return this; }, sub: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); return this.subVectors( v, w ); } this.x -= v.x; this.y -= v.y; this.z -= v.z; return this; }, subScalar: function ( s ) { this.x -= s; this.y -= s; this.z -= s; return this; }, subVectors: function ( a, b ) { this.x = a.x - b.x; this.y = a.y - b.y; this.z = a.z - b.z; return this; }, multiply: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' ); return this.multiplyVectors( v, w ); } this.x *= v.x; this.y *= v.y; this.z *= v.z; return this; }, multiplyScalar: function ( scalar ) { this.x *= scalar; this.y *= scalar; this.z *= scalar; return this; }, multiplyVectors: function ( a, b ) { this.x = a.x * b.x; this.y = a.y * b.y; this.z = a.z * b.z; return this; }, applyEuler: function () { var quaternion = new Quaternion(); return function applyEuler( euler ) { if ( ! ( euler && euler.isEuler ) ) { console.error( 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.' ); } return this.applyQuaternion( quaternion.setFromEuler( euler ) ); }; }(), applyAxisAngle: function () { var quaternion = new Quaternion(); return function applyAxisAngle( axis, angle ) { return this.applyQuaternion( quaternion.setFromAxisAngle( axis, angle ) ); }; }(), applyMatrix3: function ( m ) { var x = this.x, y = this.y, z = this.z; var e = m.elements; this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z; this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z; this.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z; return this; }, applyMatrix4: function ( m ) { var x = this.x, y = this.y, z = this.z; var e = m.elements; var w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] ); this.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w; this.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w; this.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w; return this; }, applyQuaternion: function ( q ) { var x = this.x, y = this.y, z = this.z; var qx = q.x, qy = q.y, qz = q.z, qw = q.w; // calculate quat * vector var ix = qw * x + qy * z - qz * y; var iy = qw * y + qz * x - qx * z; var iz = qw * z + qx * y - qy * x; var iw = - qx * x - qy * y - qz * z; // calculate result * inverse quat this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy; this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz; this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx; return this; }, project: function () { var matrix = new Matrix4(); return function project( camera ) { matrix.multiplyMatrices( camera.projectionMatrix, matrix.getInverse( camera.matrixWorld ) ); return this.applyMatrix4( matrix ); }; }(), unproject: function () { var matrix = new Matrix4(); return function unproject( camera ) { matrix.multiplyMatrices( camera.matrixWorld, matrix.getInverse( camera.projectionMatrix ) ); return this.applyMatrix4( matrix ); }; }(), transformDirection: function ( m ) { // input: THREE.Matrix4 affine matrix // vector interpreted as a direction var x = this.x, y = this.y, z = this.z; var e = m.elements; this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z; this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z; this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z; return this.normalize(); }, divide: function ( v ) { this.x /= v.x; this.y /= v.y; this.z /= v.z; return this; }, divideScalar: function ( scalar ) { return this.multiplyScalar( 1 / scalar ); }, min: function ( v ) { this.x = Math.min( this.x, v.x ); this.y = Math.min( this.y, v.y ); this.z = Math.min( this.z, v.z ); return this; }, max: function ( v ) { this.x = Math.max( this.x, v.x ); this.y = Math.max( this.y, v.y ); this.z = Math.max( this.z, v.z ); return this; }, clamp: function ( min, max ) { // assumes min < max, componentwise this.x = Math.max( min.x, Math.min( max.x, this.x ) ); this.y = Math.max( min.y, Math.min( max.y, this.y ) ); this.z = Math.max( min.z, Math.min( max.z, this.z ) ); return this; }, clampScalar: function () { var min = new Vector3(); var max = new Vector3(); return function clampScalar( minVal, maxVal ) { min.set( minVal, minVal, minVal ); max.set( maxVal, maxVal, maxVal ); return this.clamp( min, max ); }; }(), clampLength: function ( min, max ) { var length = this.length(); return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); }, floor: function () { this.x = Math.floor( this.x ); this.y = Math.floor( this.y ); this.z = Math.floor( this.z ); return this; }, ceil: function () { this.x = Math.ceil( this.x ); this.y = Math.ceil( this.y ); this.z = Math.ceil( this.z ); return this; }, round: function () { this.x = Math.round( this.x ); this.y = Math.round( this.y ); this.z = Math.round( this.z ); return this; }, roundToZero: function () { this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); return this; }, negate: function () { this.x = - this.x; this.y = - this.y; this.z = - this.z; return this; }, dot: function ( v ) { return this.x * v.x + this.y * v.y + this.z * v.z; }, // TODO lengthSquared? lengthSq: function () { return this.x * this.x + this.y * this.y + this.z * this.z; }, length: function () { return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z ); }, lengthManhattan: function () { return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ); }, normalize: function () { return this.divideScalar( this.length() || 1 ); }, setLength: function ( length ) { return this.normalize().multiplyScalar( length ); }, lerp: function ( v, alpha ) { this.x += ( v.x - this.x ) * alpha; this.y += ( v.y - this.y ) * alpha; this.z += ( v.z - this.z ) * alpha; return this; }, lerpVectors: function ( v1, v2, alpha ) { return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); }, cross: function ( v, w ) { if ( w !== undefined ) { console.warn( 'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.' ); return this.crossVectors( v, w ); } var x = this.x, y = this.y, z = this.z; this.x = y * v.z - z * v.y; this.y = z * v.x - x * v.z; this.z = x * v.y - y * v.x; return this; }, crossVectors: function ( a, b ) { var ax = a.x, ay = a.y, az = a.z; var bx = b.x, by = b.y, bz = b.z; this.x = ay * bz - az * by; this.y = az * bx - ax * bz; this.z = ax * by - ay * bx; return this; }, projectOnVector: function ( vector ) { var scalar = vector.dot( this ) / vector.lengthSq(); return this.copy( vector ).multiplyScalar( scalar ); }, projectOnPlane: function () { var v1 = new Vector3(); return function projectOnPlane( planeNormal ) { v1.copy( this ).projectOnVector( planeNormal ); return this.sub( v1 ); }; }(), reflect: function () { // reflect incident vector off plane orthogonal to normal // normal is assumed to have unit length var v1 = new Vector3(); return function reflect( normal ) { return this.sub( v1.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) ); }; }(), angleTo: function ( v ) { var theta = this.dot( v ) / ( Math.sqrt( this.lengthSq() * v.lengthSq() ) ); // clamp, to handle numerical problems return Math.acos( _Math.clamp( theta, - 1, 1 ) ); }, distanceTo: function ( v ) { return Math.sqrt( this.distanceToSquared( v ) ); }, distanceToSquared: function ( v ) { var dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; return dx * dx + dy * dy + dz * dz; }, distanceToManhattan: function ( v ) { return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z ); }, setFromSpherical: function ( s ) { var sinPhiRadius = Math.sin( s.phi ) * s.radius; this.x = sinPhiRadius * Math.sin( s.theta ); this.y = Math.cos( s.phi ) * s.radius; this.z = sinPhiRadius * Math.cos( s.theta ); return this; }, setFromCylindrical: function ( c ) { this.x = c.radius * Math.sin( c.theta ); this.y = c.y; this.z = c.radius * Math.cos( c.theta ); return this; }, setFromMatrixPosition: function ( m ) { var e = m.elements; this.x = e[ 12 ]; this.y = e[ 13 ]; this.z = e[ 14 ]; return this; }, setFromMatrixScale: function ( m ) { var sx = this.setFromMatrixColumn( m, 0 ).length(); var sy = this.setFromMatrixColumn( m, 1 ).length(); var sz = this.setFromMatrixColumn( m, 2 ).length(); this.x = sx; this.y = sy; this.z = sz; return this; }, setFromMatrixColumn: function ( m, index ) { return this.fromArray( m.elements, index * 4 ); }, equals: function ( v ) { return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) ); }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; this.x = array[ offset ]; this.y = array[ offset + 1 ]; this.z = array[ offset + 2 ]; return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this.x; array[ offset + 1 ] = this.y; array[ offset + 2 ] = this.z; return array; }, fromBufferAttribute: function ( attribute, index, offset ) { if ( offset !== undefined ) { console.warn( 'THREE.Vector3: offset has been removed from .fromBufferAttribute().' ); } this.x = attribute.getX( index ); this.y = attribute.getY( index ); this.z = attribute.getZ( index ); return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author supereggbert / http://www.paulbrunt.co.uk/ * @author philogb / http://blog.thejit.org/ * @author jordi_ros / http://plattsoft.com * @author D1plo1d / http://github.com/D1plo1d * @author alteredq / http://alteredqualia.com/ * @author mikael emtinger / http://gomo.se/ * @author timknip / http://www.floorplanner.com/ * @author bhouston / http://clara.io * @author WestLangley / http://github.com/WestLangley */ function Matrix4() { this.elements = [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]; if ( arguments.length > 0 ) { console.error( 'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.' ); } } Object.assign( Matrix4.prototype, { isMatrix4: true, set: function ( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) { var te = this.elements; te[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14; te[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24; te[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34; te[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44; return this; }, identity: function () { this.set( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ); return this; }, clone: function () { return new Matrix4().fromArray( this.elements ); }, copy: function ( m ) { var te = this.elements; var me = m.elements; te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ]; te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ]; return this; }, copyPosition: function ( m ) { var te = this.elements, me = m.elements; te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; return this; }, extractBasis: function ( xAxis, yAxis, zAxis ) { xAxis.setFromMatrixColumn( this, 0 ); yAxis.setFromMatrixColumn( this, 1 ); zAxis.setFromMatrixColumn( this, 2 ); return this; }, makeBasis: function ( xAxis, yAxis, zAxis ) { this.set( xAxis.x, yAxis.x, zAxis.x, 0, xAxis.y, yAxis.y, zAxis.y, 0, xAxis.z, yAxis.z, zAxis.z, 0, 0, 0, 0, 1 ); return this; }, extractRotation: function () { var v1 = new Vector3(); return function extractRotation( m ) { var te = this.elements; var me = m.elements; var scaleX = 1 / v1.setFromMatrixColumn( m, 0 ).length(); var scaleY = 1 / v1.setFromMatrixColumn( m, 1 ).length(); var scaleZ = 1 / v1.setFromMatrixColumn( m, 2 ).length(); te[ 0 ] = me[ 0 ] * scaleX; te[ 1 ] = me[ 1 ] * scaleX; te[ 2 ] = me[ 2 ] * scaleX; te[ 4 ] = me[ 4 ] * scaleY; te[ 5 ] = me[ 5 ] * scaleY; te[ 6 ] = me[ 6 ] * scaleY; te[ 8 ] = me[ 8 ] * scaleZ; te[ 9 ] = me[ 9 ] * scaleZ; te[ 10 ] = me[ 10 ] * scaleZ; return this; }; }(), makeRotationFromEuler: function ( euler ) { if ( ! ( euler && euler.isEuler ) ) { console.error( 'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.' ); } var te = this.elements; var x = euler.x, y = euler.y, z = euler.z; var a = Math.cos( x ), b = Math.sin( x ); var c = Math.cos( y ), d = Math.sin( y ); var e = Math.cos( z ), f = Math.sin( z ); if ( euler.order === 'XYZ' ) { var ae = a * e, af = a * f, be = b * e, bf = b * f; te[ 0 ] = c * e; te[ 4 ] = - c * f; te[ 8 ] = d; te[ 1 ] = af + be * d; te[ 5 ] = ae - bf * d; te[ 9 ] = - b * c; te[ 2 ] = bf - ae * d; te[ 6 ] = be + af * d; te[ 10 ] = a * c; } else if ( euler.order === 'YXZ' ) { var ce = c * e, cf = c * f, de = d * e, df = d * f; te[ 0 ] = ce + df * b; te[ 4 ] = de * b - cf; te[ 8 ] = a * d; te[ 1 ] = a * f; te[ 5 ] = a * e; te[ 9 ] = - b; te[ 2 ] = cf * b - de; te[ 6 ] = df + ce * b; te[ 10 ] = a * c; } else if ( euler.order === 'ZXY' ) { var ce = c * e, cf = c * f, de = d * e, df = d * f; te[ 0 ] = ce - df * b; te[ 4 ] = - a * f; te[ 8 ] = de + cf * b; te[ 1 ] = cf + de * b; te[ 5 ] = a * e; te[ 9 ] = df - ce * b; te[ 2 ] = - a * d; te[ 6 ] = b; te[ 10 ] = a * c; } else if ( euler.order === 'ZYX' ) { var ae = a * e, af = a * f, be = b * e, bf = b * f; te[ 0 ] = c * e; te[ 4 ] = be * d - af; te[ 8 ] = ae * d + bf; te[ 1 ] = c * f; te[ 5 ] = bf * d + ae; te[ 9 ] = af * d - be; te[ 2 ] = - d; te[ 6 ] = b * c; te[ 10 ] = a * c; } else if ( euler.order === 'YZX' ) { var ac = a * c, ad = a * d, bc = b * c, bd = b * d; te[ 0 ] = c * e; te[ 4 ] = bd - ac * f; te[ 8 ] = bc * f + ad; te[ 1 ] = f; te[ 5 ] = a * e; te[ 9 ] = - b * e; te[ 2 ] = - d * e; te[ 6 ] = ad * f + bc; te[ 10 ] = ac - bd * f; } else if ( euler.order === 'XZY' ) { var ac = a * c, ad = a * d, bc = b * c, bd = b * d; te[ 0 ] = c * e; te[ 4 ] = - f; te[ 8 ] = d * e; te[ 1 ] = ac * f + bd; te[ 5 ] = a * e; te[ 9 ] = ad * f - bc; te[ 2 ] = bc * f - ad; te[ 6 ] = b * e; te[ 10 ] = bd * f + ac; } // last column te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; // bottom row te[ 12 ] = 0; te[ 13 ] = 0; te[ 14 ] = 0; te[ 15 ] = 1; return this; }, makeRotationFromQuaternion: function ( q ) { var te = this.elements; var x = q._x, y = q._y, z = q._z, w = q._w; var x2 = x + x, y2 = y + y, z2 = z + z; var xx = x * x2, xy = x * y2, xz = x * z2; var yy = y * y2, yz = y * z2, zz = z * z2; var wx = w * x2, wy = w * y2, wz = w * z2; te[ 0 ] = 1 - ( yy + zz ); te[ 4 ] = xy - wz; te[ 8 ] = xz + wy; te[ 1 ] = xy + wz; te[ 5 ] = 1 - ( xx + zz ); te[ 9 ] = yz - wx; te[ 2 ] = xz - wy; te[ 6 ] = yz + wx; te[ 10 ] = 1 - ( xx + yy ); // last column te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; // bottom row te[ 12 ] = 0; te[ 13 ] = 0; te[ 14 ] = 0; te[ 15 ] = 1; return this; }, lookAt: function () { var x = new Vector3(); var y = new Vector3(); var z = new Vector3(); return function lookAt( eye, target, up ) { var te = this.elements; z.subVectors( eye, target ); if ( z.lengthSq() === 0 ) { // eye and target are in the same position z.z = 1; } z.normalize(); x.crossVectors( up, z ); if ( x.lengthSq() === 0 ) { // up and z are parallel if ( Math.abs( up.z ) === 1 ) { z.x += 0.0001; } else { z.z += 0.0001; } z.normalize(); x.crossVectors( up, z ); } x.normalize(); y.crossVectors( z, x ); te[ 0 ] = x.x; te[ 4 ] = y.x; te[ 8 ] = z.x; te[ 1 ] = x.y; te[ 5 ] = y.y; te[ 9 ] = z.y; te[ 2 ] = x.z; te[ 6 ] = y.z; te[ 10 ] = z.z; return this; }; }(), multiply: function ( m, n ) { if ( n !== undefined ) { console.warn( 'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.' ); return this.multiplyMatrices( m, n ); } return this.multiplyMatrices( this, m ); }, premultiply: function ( m ) { return this.multiplyMatrices( m, this ); }, multiplyMatrices: function ( a, b ) { var ae = a.elements; var be = b.elements; var te = this.elements; var a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ]; var a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ]; var a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ]; var a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ]; var b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ]; var b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ]; var b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ]; var b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ]; te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; te[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; te[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; te[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; te[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; te[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; te[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; te[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; te[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; te[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; te[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; te[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; te[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; te[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; return this; }, multiplyScalar: function ( s ) { var te = this.elements; te[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s; te[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s; te[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s; te[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s; return this; }, applyToBufferAttribute: function () { var v1 = new Vector3(); return function applyToBufferAttribute( attribute ) { for ( var i = 0, l = attribute.count; i < l; i ++ ) { v1.x = attribute.getX( i ); v1.y = attribute.getY( i ); v1.z = attribute.getZ( i ); v1.applyMatrix4( this ); attribute.setXYZ( i, v1.x, v1.y, v1.z ); } return attribute; }; }(), determinant: function () { var te = this.elements; var n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ]; var n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ]; var n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ]; var n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ]; //TODO: make this more efficient //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm ) return ( n41 * ( + n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34 ) + n42 * ( + n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31 ) + n43 * ( + n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31 ) + n44 * ( - n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31 ) ); }, transpose: function () { var te = this.elements; var tmp; tmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp; tmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp; tmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp; tmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp; tmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp; tmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp; return this; }, setPosition: function ( v ) { var te = this.elements; te[ 12 ] = v.x; te[ 13 ] = v.y; te[ 14 ] = v.z; return this; }, getInverse: function ( m, throwOnDegenerate ) { // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm var te = this.elements, me = m.elements, n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], n41 = me[ 3 ], n12 = me[ 4 ], n22 = me[ 5 ], n32 = me[ 6 ], n42 = me[ 7 ], n13 = me[ 8 ], n23 = me[ 9 ], n33 = me[ 10 ], n43 = me[ 11 ], n14 = me[ 12 ], n24 = me[ 13 ], n34 = me[ 14 ], n44 = me[ 15 ], t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; var det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; if ( det === 0 ) { var msg = "THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0"; if ( throwOnDegenerate === true ) { throw new Error( msg ); } else { console.warn( msg ); } return this.identity(); } var detInv = 1 / det; te[ 0 ] = t11 * detInv; te[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv; te[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv; te[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv; te[ 4 ] = t12 * detInv; te[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv; te[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv; te[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv; te[ 8 ] = t13 * detInv; te[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv; te[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv; te[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv; te[ 12 ] = t14 * detInv; te[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv; te[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv; te[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv; return this; }, scale: function ( v ) { var te = this.elements; var x = v.x, y = v.y, z = v.z; te[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z; te[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z; te[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z; te[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z; return this; }, getMaxScaleOnAxis: function () { var te = this.elements; var scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ]; var scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ]; var scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ]; return Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) ); }, makeTranslation: function ( x, y, z ) { this.set( 1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1 ); return this; }, makeRotationX: function ( theta ) { var c = Math.cos( theta ), s = Math.sin( theta ); this.set( 1, 0, 0, 0, 0, c, - s, 0, 0, s, c, 0, 0, 0, 0, 1 ); return this; }, makeRotationY: function ( theta ) { var c = Math.cos( theta ), s = Math.sin( theta ); this.set( c, 0, s, 0, 0, 1, 0, 0, - s, 0, c, 0, 0, 0, 0, 1 ); return this; }, makeRotationZ: function ( theta ) { var c = Math.cos( theta ), s = Math.sin( theta ); this.set( c, - s, 0, 0, s, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ); return this; }, makeRotationAxis: function ( axis, angle ) { // Based on http://www.gamedev.net/reference/articles/article1199.asp var c = Math.cos( angle ); var s = Math.sin( angle ); var t = 1 - c; var x = axis.x, y = axis.y, z = axis.z; var tx = t * x, ty = t * y; this.set( tx * x + c, tx * y - s * z, tx * z + s * y, 0, tx * y + s * z, ty * y + c, ty * z - s * x, 0, tx * z - s * y, ty * z + s * x, t * z * z + c, 0, 0, 0, 0, 1 ); return this; }, makeScale: function ( x, y, z ) { this.set( x, 0, 0, 0, 0, y, 0, 0, 0, 0, z, 0, 0, 0, 0, 1 ); return this; }, makeShear: function ( x, y, z ) { this.set( 1, y, z, 0, x, 1, z, 0, x, y, 1, 0, 0, 0, 0, 1 ); return this; }, compose: function ( position, quaternion, scale ) { this.makeRotationFromQuaternion( quaternion ); this.scale( scale ); this.setPosition( position ); return this; }, decompose: function () { var vector = new Vector3(); var matrix = new Matrix4(); return function decompose( position, quaternion, scale ) { var te = this.elements; var sx = vector.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length(); var sy = vector.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length(); var sz = vector.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length(); // if determine is negative, we need to invert one scale var det = this.determinant(); if ( det < 0 ) sx = - sx; position.x = te[ 12 ]; position.y = te[ 13 ]; position.z = te[ 14 ]; // scale the rotation part matrix.copy( this ); var invSX = 1 / sx; var invSY = 1 / sy; var invSZ = 1 / sz; matrix.elements[ 0 ] *= invSX; matrix.elements[ 1 ] *= invSX; matrix.elements[ 2 ] *= invSX; matrix.elements[ 4 ] *= invSY; matrix.elements[ 5 ] *= invSY; matrix.elements[ 6 ] *= invSY; matrix.elements[ 8 ] *= invSZ; matrix.elements[ 9 ] *= invSZ; matrix.elements[ 10 ] *= invSZ; quaternion.setFromRotationMatrix( matrix ); scale.x = sx; scale.y = sy; scale.z = sz; return this; }; }(), makePerspective: function ( left, right, top, bottom, near, far ) { if ( far === undefined ) { console.warn( 'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.' ); } var te = this.elements; var x = 2 * near / ( right - left ); var y = 2 * near / ( top - bottom ); var a = ( right + left ) / ( right - left ); var b = ( top + bottom ) / ( top - bottom ); var c = - ( far + near ) / ( far - near ); var d = - 2 * far * near / ( far - near ); te[ 0 ] = x; te[ 4 ] = 0; te[ 8 ] = a; te[ 12 ] = 0; te[ 1 ] = 0; te[ 5 ] = y; te[ 9 ] = b; te[ 13 ] = 0; te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = c; te[ 14 ] = d; te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = - 1; te[ 15 ] = 0; return this; }, makeOrthographic: function ( left, right, top, bottom, near, far ) { var te = this.elements; var w = 1.0 / ( right - left ); var h = 1.0 / ( top - bottom ); var p = 1.0 / ( far - near ); var x = ( right + left ) * w; var y = ( top + bottom ) * h; var z = ( far + near ) * p; te[ 0 ] = 2 * w; te[ 4 ] = 0; te[ 8 ] = 0; te[ 12 ] = - x; te[ 1 ] = 0; te[ 5 ] = 2 * h; te[ 9 ] = 0; te[ 13 ] = - y; te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = - 2 * p; te[ 14 ] = - z; te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; te[ 15 ] = 1; return this; }, equals: function ( matrix ) { var te = this.elements; var me = matrix.elements; for ( var i = 0; i < 16; i ++ ) { if ( te[ i ] !== me[ i ] ) return false; } return true; }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; for ( var i = 0; i < 16; i ++ ) { this.elements[ i ] = array[ i + offset ]; } return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; var te = this.elements; array[ offset ] = te[ 0 ]; array[ offset + 1 ] = te[ 1 ]; array[ offset + 2 ] = te[ 2 ]; array[ offset + 3 ] = te[ 3 ]; array[ offset + 4 ] = te[ 4 ]; array[ offset + 5 ] = te[ 5 ]; array[ offset + 6 ] = te[ 6 ]; array[ offset + 7 ] = te[ 7 ]; array[ offset + 8 ] = te[ 8 ]; array[ offset + 9 ] = te[ 9 ]; array[ offset + 10 ] = te[ 10 ]; array[ offset + 11 ] = te[ 11 ]; array[ offset + 12 ] = te[ 12 ]; array[ offset + 13 ] = te[ 13 ]; array[ offset + 14 ] = te[ 14 ]; array[ offset + 15 ] = te[ 15 ]; return array; } } ); /** * @author alteredq / http://alteredqualia.com/ */ function DataTexture( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); this.image = { data: data, width: width, height: height }; this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; this.generateMipmaps = false; this.flipY = false; this.unpackAlignment = 1; } DataTexture.prototype = Object.create( Texture.prototype ); DataTexture.prototype.constructor = DataTexture; DataTexture.prototype.isDataTexture = true; /** * @author mrdoob / http://mrdoob.com/ */ function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { images = images !== undefined ? images : []; mapping = mapping !== undefined ? mapping : CubeReflectionMapping; Texture.call( this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); this.flipY = false; } CubeTexture.prototype = Object.create( Texture.prototype ); CubeTexture.prototype.constructor = CubeTexture; CubeTexture.prototype.isCubeTexture = true; Object.defineProperty( CubeTexture.prototype, 'images', { get: function () { return this.image; }, set: function ( value ) { this.image = value; } } ); /** * @author tschw * * Uniforms of a program. * Those form a tree structure with a special top-level container for the root, * which you get by calling 'new WebGLUniforms( gl, program, renderer )'. * * * Properties of inner nodes including the top-level container: * * .seq - array of nested uniforms * .map - nested uniforms by name * * * Methods of all nodes except the top-level container: * * .setValue( gl, value, [renderer] ) * * uploads a uniform value(s) * the 'renderer' parameter is needed for sampler uniforms * * * Static methods of the top-level container (renderer factorizations): * * .upload( gl, seq, values, renderer ) * * sets uniforms in 'seq' to 'values[id].value' * * .seqWithValue( seq, values ) : filteredSeq * * filters 'seq' entries with corresponding entry in values * * * Methods of the top-level container (renderer factorizations): * * .setValue( gl, name, value ) * * sets uniform with name 'name' to 'value' * * .set( gl, obj, prop ) * * sets uniform from object and property with same name than uniform * * .setOptional( gl, obj, prop ) * * like .set for an optional property of the object * */ var emptyTexture = new Texture(); var emptyCubeTexture = new CubeTexture(); // --- Base for inner nodes (including the root) --- function UniformContainer() { this.seq = []; this.map = {}; } // --- Utilities --- // Array Caches (provide typed arrays for temporary by size) var arrayCacheF32 = []; var arrayCacheI32 = []; // Float32Array caches used for uploading Matrix uniforms var mat4array = new Float32Array( 16 ); var mat3array = new Float32Array( 9 ); // Flattening for arrays of vectors and matrices function flatten( array, nBlocks, blockSize ) { var firstElem = array[ 0 ]; if ( firstElem <= 0 || firstElem > 0 ) return array; // unoptimized: ! isNaN( firstElem ) // see http://jacksondunstan.com/articles/983 var n = nBlocks * blockSize, r = arrayCacheF32[ n ]; if ( r === undefined ) { r = new Float32Array( n ); arrayCacheF32[ n ] = r; } if ( nBlocks !== 0 ) { firstElem.toArray( r, 0 ); for ( var i = 1, offset = 0; i !== nBlocks; ++ i ) { offset += blockSize; array[ i ].toArray( r, offset ); } } return r; } // Texture unit allocation function allocTexUnits( renderer, n ) { var r = arrayCacheI32[ n ]; if ( r === undefined ) { r = new Int32Array( n ); arrayCacheI32[ n ] = r; } for ( var i = 0; i !== n; ++ i ) r[ i ] = renderer.allocTextureUnit(); return r; } // --- Setters --- // Note: Defining these methods externally, because they come in a bunch // and this way their names minify. // Single scalar function setValue1f( gl, v ) { gl.uniform1f( this.addr, v ); } function setValue1i( gl, v ) { gl.uniform1i( this.addr, v ); } // Single float vector (from flat array or THREE.VectorN) function setValue2fv( gl, v ) { if ( v.x === undefined ) gl.uniform2fv( this.addr, v ); else gl.uniform2f( this.addr, v.x, v.y ); } function setValue3fv( gl, v ) { if ( v.x !== undefined ) gl.uniform3f( this.addr, v.x, v.y, v.z ); else if ( v.r !== undefined ) gl.uniform3f( this.addr, v.r, v.g, v.b ); else gl.uniform3fv( this.addr, v ); } function setValue4fv( gl, v ) { if ( v.x === undefined ) gl.uniform4fv( this.addr, v ); else gl.uniform4f( this.addr, v.x, v.y, v.z, v.w ); } // Single matrix (from flat array or MatrixN) function setValue2fm( gl, v ) { gl.uniformMatrix2fv( this.addr, false, v.elements || v ); } function setValue3fm( gl, v ) { if ( v.elements === undefined ) { gl.uniformMatrix3fv( this.addr, false, v ); } else { mat3array.set( v.elements ); gl.uniformMatrix3fv( this.addr, false, mat3array ); } } function setValue4fm( gl, v ) { if ( v.elements === undefined ) { gl.uniformMatrix4fv( this.addr, false, v ); } else { mat4array.set( v.elements ); gl.uniformMatrix4fv( this.addr, false, mat4array ); } } // Single texture (2D / Cube) function setValueT1( gl, v, renderer ) { var unit = renderer.allocTextureUnit(); gl.uniform1i( this.addr, unit ); renderer.setTexture2D( v || emptyTexture, unit ); } function setValueT6( gl, v, renderer ) { var unit = renderer.allocTextureUnit(); gl.uniform1i( this.addr, unit ); renderer.setTextureCube( v || emptyCubeTexture, unit ); } // Integer / Boolean vectors or arrays thereof (always flat arrays) function setValue2iv( gl, v ) { gl.uniform2iv( this.addr, v ); } function setValue3iv( gl, v ) { gl.uniform3iv( this.addr, v ); } function setValue4iv( gl, v ) { gl.uniform4iv( this.addr, v ); } // Helper to pick the right setter for the singular case function getSingularSetter( type ) { switch ( type ) { case 0x1406: return setValue1f; // FLOAT case 0x8b50: return setValue2fv; // _VEC2 case 0x8b51: return setValue3fv; // _VEC3 case 0x8b52: return setValue4fv; // _VEC4 case 0x8b5a: return setValue2fm; // _MAT2 case 0x8b5b: return setValue3fm; // _MAT3 case 0x8b5c: return setValue4fm; // _MAT4 case 0x8b5e: case 0x8d66: return setValueT1; // SAMPLER_2D, SAMPLER_EXTERNAL_OES case 0x8b60: return setValueT6; // SAMPLER_CUBE case 0x1404: case 0x8b56: return setValue1i; // INT, BOOL case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 } } // Array of scalars function setValue1fv( gl, v ) { gl.uniform1fv( this.addr, v ); } function setValue1iv( gl, v ) { gl.uniform1iv( this.addr, v ); } // Array of vectors (flat or from THREE classes) function setValueV2a( gl, v ) { gl.uniform2fv( this.addr, flatten( v, this.size, 2 ) ); } function setValueV3a( gl, v ) { gl.uniform3fv( this.addr, flatten( v, this.size, 3 ) ); } function setValueV4a( gl, v ) { gl.uniform4fv( this.addr, flatten( v, this.size, 4 ) ); } // Array of matrices (flat or from THREE clases) function setValueM2a( gl, v ) { gl.uniformMatrix2fv( this.addr, false, flatten( v, this.size, 4 ) ); } function setValueM3a( gl, v ) { gl.uniformMatrix3fv( this.addr, false, flatten( v, this.size, 9 ) ); } function setValueM4a( gl, v ) { gl.uniformMatrix4fv( this.addr, false, flatten( v, this.size, 16 ) ); } // Array of textures (2D / Cube) function setValueT1a( gl, v, renderer ) { var n = v.length, units = allocTexUnits( renderer, n ); gl.uniform1iv( this.addr, units ); for ( var i = 0; i !== n; ++ i ) { renderer.setTexture2D( v[ i ] || emptyTexture, units[ i ] ); } } function setValueT6a( gl, v, renderer ) { var n = v.length, units = allocTexUnits( renderer, n ); gl.uniform1iv( this.addr, units ); for ( var i = 0; i !== n; ++ i ) { renderer.setTextureCube( v[ i ] || emptyCubeTexture, units[ i ] ); } } // Helper to pick the right setter for a pure (bottom-level) array function getPureArraySetter( type ) { switch ( type ) { case 0x1406: return setValue1fv; // FLOAT case 0x8b50: return setValueV2a; // _VEC2 case 0x8b51: return setValueV3a; // _VEC3 case 0x8b52: return setValueV4a; // _VEC4 case 0x8b5a: return setValueM2a; // _MAT2 case 0x8b5b: return setValueM3a; // _MAT3 case 0x8b5c: return setValueM4a; // _MAT4 case 0x8b5e: return setValueT1a; // SAMPLER_2D case 0x8b60: return setValueT6a; // SAMPLER_CUBE case 0x1404: case 0x8b56: return setValue1iv; // INT, BOOL case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 } } // --- Uniform Classes --- function SingleUniform( id, activeInfo, addr ) { this.id = id; this.addr = addr; this.setValue = getSingularSetter( activeInfo.type ); // this.path = activeInfo.name; // DEBUG } function PureArrayUniform( id, activeInfo, addr ) { this.id = id; this.addr = addr; this.size = activeInfo.size; this.setValue = getPureArraySetter( activeInfo.type ); // this.path = activeInfo.name; // DEBUG } function StructuredUniform( id ) { this.id = id; UniformContainer.call( this ); // mix-in } StructuredUniform.prototype.setValue = function ( gl, value ) { // Note: Don't need an extra 'renderer' parameter, since samplers // are not allowed in structured uniforms. var seq = this.seq; for ( var i = 0, n = seq.length; i !== n; ++ i ) { var u = seq[ i ]; u.setValue( gl, value[ u.id ] ); } }; // --- Top-level --- // Parser - builds up the property tree from the path strings var RePathPart = /([\w\d_]+)(\])?(\[|\.)?/g; // extracts // - the identifier (member name or array index) // - followed by an optional right bracket (found when array index) // - followed by an optional left bracket or dot (type of subscript) // // Note: These portions can be read in a non-overlapping fashion and // allow straightforward parsing of the hierarchy that WebGL encodes // in the uniform names. function addUniform( container, uniformObject ) { container.seq.push( uniformObject ); container.map[ uniformObject.id ] = uniformObject; } function parseUniform( activeInfo, addr, container ) { var path = activeInfo.name, pathLength = path.length; // reset RegExp object, because of the early exit of a previous run RePathPart.lastIndex = 0; for ( ; ; ) { var match = RePathPart.exec( path ), matchEnd = RePathPart.lastIndex, id = match[ 1 ], idIsIndex = match[ 2 ] === ']', subscript = match[ 3 ]; if ( idIsIndex ) id = id | 0; // convert to integer if ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) { // bare name or "pure" bottom-level array "[0]" suffix addUniform( container, subscript === undefined ? new SingleUniform( id, activeInfo, addr ) : new PureArrayUniform( id, activeInfo, addr ) ); break; } else { // step into inner node / create it in case it doesn't exist var map = container.map, next = map[ id ]; if ( next === undefined ) { next = new StructuredUniform( id ); addUniform( container, next ); } container = next; } } } // Root Container function WebGLUniforms( gl, program, renderer ) { UniformContainer.call( this ); this.renderer = renderer; var n = gl.getProgramParameter( program, gl.ACTIVE_UNIFORMS ); for ( var i = 0; i < n; ++ i ) { var info = gl.getActiveUniform( program, i ), path = info.name, addr = gl.getUniformLocation( program, path ); parseUniform( info, addr, this ); } } WebGLUniforms.prototype.setValue = function ( gl, name, value ) { var u = this.map[ name ]; if ( u !== undefined ) u.setValue( gl, value, this.renderer ); }; WebGLUniforms.prototype.setOptional = function ( gl, object, name ) { var v = object[ name ]; if ( v !== undefined ) this.setValue( gl, name, v ); }; // Static interface WebGLUniforms.upload = function ( gl, seq, values, renderer ) { for ( var i = 0, n = seq.length; i !== n; ++ i ) { var u = seq[ i ], v = values[ u.id ]; if ( v.needsUpdate !== false ) { // note: always updating when .needsUpdate is undefined u.setValue( gl, v.value, renderer ); } } }; WebGLUniforms.seqWithValue = function ( seq, values ) { var r = []; for ( var i = 0, n = seq.length; i !== n; ++ i ) { var u = seq[ i ]; if ( u.id in values ) r.push( u ); } return r; }; /** * @author mrdoob / http://mrdoob.com/ */ var ColorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF, 'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2, 'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50, 'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B, 'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B, 'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F, 'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3, 'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222, 'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700, 'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4, 'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00, 'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3, 'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA, 'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32, 'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3, 'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC, 'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD, 'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6, 'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9, 'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F, 'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE, 'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA, 'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0, 'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 }; function Color( r, g, b ) { if ( g === undefined && b === undefined ) { // r is THREE.Color, hex or string return this.set( r ); } return this.setRGB( r, g, b ); } Object.assign( Color.prototype, { isColor: true, r: 1, g: 1, b: 1, set: function ( value ) { if ( value && value.isColor ) { this.copy( value ); } else if ( typeof value === 'number' ) { this.setHex( value ); } else if ( typeof value === 'string' ) { this.setStyle( value ); } return this; }, setScalar: function ( scalar ) { this.r = scalar; this.g = scalar; this.b = scalar; return this; }, setHex: function ( hex ) { hex = Math.floor( hex ); this.r = ( hex >> 16 & 255 ) / 255; this.g = ( hex >> 8 & 255 ) / 255; this.b = ( hex & 255 ) / 255; return this; }, setRGB: function ( r, g, b ) { this.r = r; this.g = g; this.b = b; return this; }, setHSL: function () { function hue2rgb( p, q, t ) { if ( t < 0 ) t += 1; if ( t > 1 ) t -= 1; if ( t < 1 / 6 ) return p + ( q - p ) * 6 * t; if ( t < 1 / 2 ) return q; if ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t ); return p; } return function setHSL( h, s, l ) { // h,s,l ranges are in 0.0 - 1.0 h = _Math.euclideanModulo( h, 1 ); s = _Math.clamp( s, 0, 1 ); l = _Math.clamp( l, 0, 1 ); if ( s === 0 ) { this.r = this.g = this.b = l; } else { var p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s ); var q = ( 2 * l ) - p; this.r = hue2rgb( q, p, h + 1 / 3 ); this.g = hue2rgb( q, p, h ); this.b = hue2rgb( q, p, h - 1 / 3 ); } return this; }; }(), setStyle: function ( style ) { function handleAlpha( string ) { if ( string === undefined ) return; if ( parseFloat( string ) < 1 ) { console.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' ); } } var m; if ( m = /^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec( style ) ) { // rgb / hsl var color; var name = m[ 1 ]; var components = m[ 2 ]; switch ( name ) { case 'rgb': case 'rgba': if ( color = /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { // rgb(255,0,0) rgba(255,0,0,0.5) this.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255; this.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255; this.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255; handleAlpha( color[ 5 ] ); return this; } if ( color = /^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { // rgb(100%,0%,0%) rgba(100%,0%,0%,0.5) this.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100; this.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100; this.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100; handleAlpha( color[ 5 ] ); return this; } break; case 'hsl': case 'hsla': if ( color = /^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { // hsl(120,50%,50%) hsla(120,50%,50%,0.5) var h = parseFloat( color[ 1 ] ) / 360; var s = parseInt( color[ 2 ], 10 ) / 100; var l = parseInt( color[ 3 ], 10 ) / 100; handleAlpha( color[ 5 ] ); return this.setHSL( h, s, l ); } break; } } else if ( m = /^\#([A-Fa-f0-9]+)$/.exec( style ) ) { // hex color var hex = m[ 1 ]; var size = hex.length; if ( size === 3 ) { // #ff0 this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255; this.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255; this.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255; return this; } else if ( size === 6 ) { // #ff0000 this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255; this.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255; this.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255; return this; } } if ( style && style.length > 0 ) { // color keywords var hex = ColorKeywords[ style ]; if ( hex !== undefined ) { // red this.setHex( hex ); } else { // unknown color console.warn( 'THREE.Color: Unknown color ' + style ); } } return this; }, clone: function () { return new this.constructor( this.r, this.g, this.b ); }, copy: function ( color ) { this.r = color.r; this.g = color.g; this.b = color.b; return this; }, copyGammaToLinear: function ( color, gammaFactor ) { if ( gammaFactor === undefined ) gammaFactor = 2.0; this.r = Math.pow( color.r, gammaFactor ); this.g = Math.pow( color.g, gammaFactor ); this.b = Math.pow( color.b, gammaFactor ); return this; }, copyLinearToGamma: function ( color, gammaFactor ) { if ( gammaFactor === undefined ) gammaFactor = 2.0; var safeInverse = ( gammaFactor > 0 ) ? ( 1.0 / gammaFactor ) : 1.0; this.r = Math.pow( color.r, safeInverse ); this.g = Math.pow( color.g, safeInverse ); this.b = Math.pow( color.b, safeInverse ); return this; }, convertGammaToLinear: function () { var r = this.r, g = this.g, b = this.b; this.r = r * r; this.g = g * g; this.b = b * b; return this; }, convertLinearToGamma: function () { this.r = Math.sqrt( this.r ); this.g = Math.sqrt( this.g ); this.b = Math.sqrt( this.b ); return this; }, getHex: function () { return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0; }, getHexString: function () { return ( '000000' + this.getHex().toString( 16 ) ).slice( - 6 ); }, getHSL: function ( optionalTarget ) { // h,s,l ranges are in 0.0 - 1.0 var hsl = optionalTarget || { h: 0, s: 0, l: 0 }; var r = this.r, g = this.g, b = this.b; var max = Math.max( r, g, b ); var min = Math.min( r, g, b ); var hue, saturation; var lightness = ( min + max ) / 2.0; if ( min === max ) { hue = 0; saturation = 0; } else { var delta = max - min; saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min ); switch ( max ) { case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break; case g: hue = ( b - r ) / delta + 2; break; case b: hue = ( r - g ) / delta + 4; break; } hue /= 6; } hsl.h = hue; hsl.s = saturation; hsl.l = lightness; return hsl; }, getStyle: function () { return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')'; }, offsetHSL: function ( h, s, l ) { var hsl = this.getHSL(); hsl.h += h; hsl.s += s; hsl.l += l; this.setHSL( hsl.h, hsl.s, hsl.l ); return this; }, add: function ( color ) { this.r += color.r; this.g += color.g; this.b += color.b; return this; }, addColors: function ( color1, color2 ) { this.r = color1.r + color2.r; this.g = color1.g + color2.g; this.b = color1.b + color2.b; return this; }, addScalar: function ( s ) { this.r += s; this.g += s; this.b += s; return this; }, sub: function( color ) { this.r = Math.max( 0, this.r - color.r ); this.g = Math.max( 0, this.g - color.g ); this.b = Math.max( 0, this.b - color.b ); return this; }, multiply: function ( color ) { this.r *= color.r; this.g *= color.g; this.b *= color.b; return this; }, multiplyScalar: function ( s ) { this.r *= s; this.g *= s; this.b *= s; return this; }, lerp: function ( color, alpha ) { this.r += ( color.r - this.r ) * alpha; this.g += ( color.g - this.g ) * alpha; this.b += ( color.b - this.b ) * alpha; return this; }, equals: function ( c ) { return ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b ); }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; this.r = array[ offset ]; this.g = array[ offset + 1 ]; this.b = array[ offset + 2 ]; return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this.r; array[ offset + 1 ] = this.g; array[ offset + 2 ] = this.b; return array; }, toJSON: function () { return this.getHex(); } } ); /** * Uniforms library for shared webgl shaders */ var UniformsLib = { common: { diffuse: { value: new Color( 0xeeeeee ) }, opacity: { value: 1.0 }, map: { value: null }, offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) }, specularMap: { value: null }, alphaMap: { value: null }, envMap: { value: null }, flipEnvMap: { value: - 1 }, reflectivity: { value: 1.0 }, refractionRatio: { value: 0.98 } }, aomap: { aoMap: { value: null }, aoMapIntensity: { value: 1 } }, lightmap: { lightMap: { value: null }, lightMapIntensity: { value: 1 } }, emissivemap: { emissiveMap: { value: null } }, bumpmap: { bumpMap: { value: null }, bumpScale: { value: 1 } }, normalmap: { normalMap: { value: null }, normalScale: { value: new Vector2( 1, 1 ) } }, displacementmap: { displacementMap: { value: null }, displacementScale: { value: 1 }, displacementBias: { value: 0 } }, roughnessmap: { roughnessMap: { value: null } }, metalnessmap: { metalnessMap: { value: null } }, gradientmap: { gradientMap: { value: null } }, fog: { fogDensity: { value: 0.00025 }, fogNear: { value: 1 }, fogFar: { value: 2000 }, fogColor: { value: new Color( 0xffffff ) } }, lights: { ambientLightColor: { value: [] }, directionalLights: { value: [], properties: { direction: {}, color: {}, shadow: {}, shadowBias: {}, shadowRadius: {}, shadowMapSize: {} } }, directionalShadowMap: { value: [] }, directionalShadowMatrix: { value: [] }, spotLights: { value: [], properties: { color: {}, position: {}, direction: {}, distance: {}, coneCos: {}, penumbraCos: {}, decay: {}, shadow: {}, shadowBias: {}, shadowRadius: {}, shadowMapSize: {} } }, spotShadowMap: { value: [] }, spotShadowMatrix: { value: [] }, pointLights: { value: [], properties: { color: {}, position: {}, decay: {}, distance: {}, shadow: {}, shadowBias: {}, shadowRadius: {}, shadowMapSize: {} } }, pointShadowMap: { value: [] }, pointShadowMatrix: { value: [] }, hemisphereLights: { value: [], properties: { direction: {}, skyColor: {}, groundColor: {} } }, // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src rectAreaLights: { value: [], properties: { color: {}, position: {}, width: {}, height: {} } } }, points: { diffuse: { value: new Color( 0xeeeeee ) }, opacity: { value: 1.0 }, size: { value: 1.0 }, scale: { value: 1.0 }, map: { value: null }, offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) } } }; /** * Uniform Utilities */ var UniformsUtils = { merge: function ( uniforms ) { var merged = {}; for ( var u = 0; u < uniforms.length; u ++ ) { var tmp = this.clone( uniforms[ u ] ); for ( var p in tmp ) { merged[ p ] = tmp[ p ]; } } return merged; }, clone: function ( uniforms_src ) { var uniforms_dst = {}; for ( var u in uniforms_src ) { uniforms_dst[ u ] = {}; for ( var p in uniforms_src[ u ] ) { var parameter_src = uniforms_src[ u ][ p ]; if ( parameter_src && ( parameter_src.isColor || parameter_src.isMatrix3 || parameter_src.isMatrix4 || parameter_src.isVector2 || parameter_src.isVector3 || parameter_src.isVector4 || parameter_src.isTexture ) ) { uniforms_dst[ u ][ p ] = parameter_src.clone(); } else if ( Array.isArray( parameter_src ) ) { uniforms_dst[ u ][ p ] = parameter_src.slice(); } else { uniforms_dst[ u ][ p ] = parameter_src; } } } return uniforms_dst; } }; var alphamap_fragment = "#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n"; var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n"; var alphatest_fragment = "#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n"; var aomap_fragment = "#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n"; var aomap_pars_fragment = "#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif"; var begin_vertex = "\nvec3 transformed = vec3( position );\n"; var beginnormal_vertex = "\nvec3 objectNormal = vec3( normal );\n"; var bsdfs = "float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tif( decayExponent > 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t}\n\treturn 1.0;\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat theta = acos( dot( N, V ) );\n\tvec2 uv = vec2(\n\t\tsqrt( saturate( roughness ) ),\n\t\tsaturate( theta / ( 0.5 * PI ) ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.86267 + (0.49788 + 0.01436 * y ) * y;\n\tfloat b = 3.45068 + (4.18814 + y) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = (x > 0.0) ? v : 0.5 * inversesqrt( 1.0 - x * x ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transpose( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tvec3 result = vec3( LTC_ClippedSphereFormFactor( vectorFormFactor ) );\n\treturn result;\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n"; var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif\n"; var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\n\t\tvec4 plane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t\t\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\n\t\t\tvec4 plane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t\n\t#endif\n#endif\n"; var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n"; var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n"; var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n"; var color_fragment = "#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif"; var color_pars_fragment = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n"; var color_pars_vertex = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif"; var color_vertex = "#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif"; var common = "#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transpose( const in mat3 v ) {\n\tmat3 tmp;\n\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n\treturn tmp;\n}\n"; var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n"; var defaultnormal_vertex = "vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n"; var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n"; var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n"; var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n"; var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n"; var encodings_fragment = " gl_FragColor = linearToOutputTexel( gl_FragColor );\n"; var encodings_pars_fragment = "\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract(Le);\n\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max(vRGB, 0.0), 1.0 );\n}\n"; var envmap_fragment = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\tsampleUV.y = asin( flipNormal * reflectVec.y ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif\n"; var envmap_pars_fragment = "#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n"; var envmap_pars_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n"; var envmap_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif\n"; var fog_vertex = "\n#ifdef USE_FOG\nfogDepth = -mvPosition.z;\n#endif"; var fog_pars_vertex = "#ifdef USE_FOG\n varying float fogDepth;\n#endif\n"; var fog_fragment = "#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n"; var fog_pars_fragment = "#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif\n"; var gradientmap_pars_fragment = "#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n"; var lightmap_fragment = "#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n"; var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif"; var lights_lambert_vertex = "vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n"; var lights_pars = "uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltcMat;\tuniform sampler2D ltcMag;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n"; var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n"; var lights_phong_pars_fragment = "varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n"; var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n"; var lights_physical_pars_fragment = "struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos - halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos + halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos + halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos - halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( 1, 0, t.y ),\n\t\t\tvec3( 0, t.z, 0 ),\n\t\t\tvec3( t.w, 0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}\n"; var lights_template = "\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\n\t#ifndef STANDARD\n\t\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\n\t#else\n\t\tvec3 clearCoatRadiance = vec3( 0.0 );\n\t#endif\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n"; var logdepthbuf_fragment = "#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif"; var logdepthbuf_pars_fragment = "#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n#endif\n"; var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif"; var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif\n"; var map_fragment = "#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n"; var map_pars_fragment = "#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n"; var map_particle_fragment = "#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n"; var map_particle_pars_fragment = "#ifdef USE_MAP\n\tuniform vec4 offsetRepeat;\n\tuniform sampler2D map;\n#endif\n"; var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n"; var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif"; var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n"; var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif"; var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n"; var normal_flip = "#ifdef DOUBLE_SIDED\n\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n#else\n\tfloat flipNormal = 1.0;\n#endif\n"; var normal_fragment = "#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal ) * flipNormal;\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n"; var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif\n"; var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 1.0 - 2.0 * rgb.xyz;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n"; var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n"; var project_vertex = "vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\n"; var dithering_fragment = "#if defined( DITHERING )\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n"; var dithering_pars_fragment = "#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif\n"; var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n"; var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif"; var shadowmap_pars_fragment = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif\n"; var shadowmap_pars_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n"; var shadowmap_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n"; var shadowmask_pars_fragment = "float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n"; var skinbase_vertex = "#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; var skinning_pars_vertex = "#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n"; var skinning_vertex = "#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif\n"; var skinnormal_vertex = "#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n#endif\n"; var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif"; var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif"; var tonemapping_fragment = "#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n"; var tonemapping_pars_fragment = "#define saturate(a) clamp( a, 0.0, 1.0 )\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\n"; var uv_pars_fragment = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif"; var uv_pars_vertex = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform vec4 offsetRepeat;\n#endif\n"; var uv_vertex = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif"; var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif"; var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif"; var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif"; var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif\n"; var cube_frag = "uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\n#include \nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n"; var cube_vert = "varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}\n"; var depth_frag = "#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n"; var depth_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var distanceRGBA_frag = "uniform vec3 lightPos;\nvarying vec4 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\n}\n"; var distanceRGBA_vert = "varying vec4 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition;\n}\n"; var equirect_frag = "uniform sampler2D tEquirect;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;\n\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n"; var equirect_vert = "varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}\n"; var linedashed_frag = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var linedashed_vert = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}\n"; var meshbasic_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshbasic_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshlambert_frag = "uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshlambert_vert = "#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshphong_frag = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshphong_vert = "#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshphysical_frag = "#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var meshphysical_vert = "#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}\n"; var normal_frag = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n"; var normal_vert = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n"; var points_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var points_vert = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_SIZEATTENUATION\n\t\tgl_PointSize = size * ( scale / - mvPosition.z );\n\t#else\n\t\tgl_PointSize = size;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var shadow_frag = "uniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\n}\n"; var shadow_vert = "#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"; var ShaderChunk = { alphamap_fragment: alphamap_fragment, alphamap_pars_fragment: alphamap_pars_fragment, alphatest_fragment: alphatest_fragment, aomap_fragment: aomap_fragment, aomap_pars_fragment: aomap_pars_fragment, begin_vertex: begin_vertex, beginnormal_vertex: beginnormal_vertex, bsdfs: bsdfs, bumpmap_pars_fragment: bumpmap_pars_fragment, clipping_planes_fragment: clipping_planes_fragment, clipping_planes_pars_fragment: clipping_planes_pars_fragment, clipping_planes_pars_vertex: clipping_planes_pars_vertex, clipping_planes_vertex: clipping_planes_vertex, color_fragment: color_fragment, color_pars_fragment: color_pars_fragment, color_pars_vertex: color_pars_vertex, color_vertex: color_vertex, common: common, cube_uv_reflection_fragment: cube_uv_reflection_fragment, defaultnormal_vertex: defaultnormal_vertex, displacementmap_pars_vertex: displacementmap_pars_vertex, displacementmap_vertex: displacementmap_vertex, emissivemap_fragment: emissivemap_fragment, emissivemap_pars_fragment: emissivemap_pars_fragment, encodings_fragment: encodings_fragment, encodings_pars_fragment: encodings_pars_fragment, envmap_fragment: envmap_fragment, envmap_pars_fragment: envmap_pars_fragment, envmap_pars_vertex: envmap_pars_vertex, envmap_vertex: envmap_vertex, fog_vertex: fog_vertex, fog_pars_vertex: fog_pars_vertex, fog_fragment: fog_fragment, fog_pars_fragment: fog_pars_fragment, gradientmap_pars_fragment: gradientmap_pars_fragment, lightmap_fragment: lightmap_fragment, lightmap_pars_fragment: lightmap_pars_fragment, lights_lambert_vertex: lights_lambert_vertex, lights_pars: lights_pars, lights_phong_fragment: lights_phong_fragment, lights_phong_pars_fragment: lights_phong_pars_fragment, lights_physical_fragment: lights_physical_fragment, lights_physical_pars_fragment: lights_physical_pars_fragment, lights_template: lights_template, logdepthbuf_fragment: logdepthbuf_fragment, logdepthbuf_pars_fragment: logdepthbuf_pars_fragment, logdepthbuf_pars_vertex: logdepthbuf_pars_vertex, logdepthbuf_vertex: logdepthbuf_vertex, map_fragment: map_fragment, map_pars_fragment: map_pars_fragment, map_particle_fragment: map_particle_fragment, map_particle_pars_fragment: map_particle_pars_fragment, metalnessmap_fragment: metalnessmap_fragment, metalnessmap_pars_fragment: metalnessmap_pars_fragment, morphnormal_vertex: morphnormal_vertex, morphtarget_pars_vertex: morphtarget_pars_vertex, morphtarget_vertex: morphtarget_vertex, normal_flip: normal_flip, normal_fragment: normal_fragment, normalmap_pars_fragment: normalmap_pars_fragment, packing: packing, premultiplied_alpha_fragment: premultiplied_alpha_fragment, project_vertex: project_vertex, dithering_fragment: dithering_fragment, dithering_pars_fragment: dithering_pars_fragment, roughnessmap_fragment: roughnessmap_fragment, roughnessmap_pars_fragment: roughnessmap_pars_fragment, shadowmap_pars_fragment: shadowmap_pars_fragment, shadowmap_pars_vertex: shadowmap_pars_vertex, shadowmap_vertex: shadowmap_vertex, shadowmask_pars_fragment: shadowmask_pars_fragment, skinbase_vertex: skinbase_vertex, skinning_pars_vertex: skinning_pars_vertex, skinning_vertex: skinning_vertex, skinnormal_vertex: skinnormal_vertex, specularmap_fragment: specularmap_fragment, specularmap_pars_fragment: specularmap_pars_fragment, tonemapping_fragment: tonemapping_fragment, tonemapping_pars_fragment: tonemapping_pars_fragment, uv_pars_fragment: uv_pars_fragment, uv_pars_vertex: uv_pars_vertex, uv_vertex: uv_vertex, uv2_pars_fragment: uv2_pars_fragment, uv2_pars_vertex: uv2_pars_vertex, uv2_vertex: uv2_vertex, worldpos_vertex: worldpos_vertex, cube_frag: cube_frag, cube_vert: cube_vert, depth_frag: depth_frag, depth_vert: depth_vert, distanceRGBA_frag: distanceRGBA_frag, distanceRGBA_vert: distanceRGBA_vert, equirect_frag: equirect_frag, equirect_vert: equirect_vert, linedashed_frag: linedashed_frag, linedashed_vert: linedashed_vert, meshbasic_frag: meshbasic_frag, meshbasic_vert: meshbasic_vert, meshlambert_frag: meshlambert_frag, meshlambert_vert: meshlambert_vert, meshphong_frag: meshphong_frag, meshphong_vert: meshphong_vert, meshphysical_frag: meshphysical_frag, meshphysical_vert: meshphysical_vert, normal_frag: normal_frag, normal_vert: normal_vert, points_frag: points_frag, points_vert: points_vert, shadow_frag: shadow_frag, shadow_vert: shadow_vert }; /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ * @author mikael emtinger / http://gomo.se/ */ var ShaderLib = { basic: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.fog ] ), vertexShader: ShaderChunk.meshbasic_vert, fragmentShader: ShaderChunk.meshbasic_frag }, lambert: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.fog, UniformsLib.lights, { emissive: { value: new Color( 0x000000 ) } } ] ), vertexShader: ShaderChunk.meshlambert_vert, fragmentShader: ShaderChunk.meshlambert_frag }, phong: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.gradientmap, UniformsLib.fog, UniformsLib.lights, { emissive: { value: new Color( 0x000000 ) }, specular: { value: new Color( 0x111111 ) }, shininess: { value: 30 } } ] ), vertexShader: ShaderChunk.meshphong_vert, fragmentShader: ShaderChunk.meshphong_frag }, standard: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.roughnessmap, UniformsLib.metalnessmap, UniformsLib.fog, UniformsLib.lights, { emissive: { value: new Color( 0x000000 ) }, roughness: { value: 0.5 }, metalness: { value: 0.5 }, envMapIntensity: { value: 1 } // temporary } ] ), vertexShader: ShaderChunk.meshphysical_vert, fragmentShader: ShaderChunk.meshphysical_frag }, points: { uniforms: UniformsUtils.merge( [ UniformsLib.points, UniformsLib.fog ] ), vertexShader: ShaderChunk.points_vert, fragmentShader: ShaderChunk.points_frag }, dashed: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.fog, { scale: { value: 1 }, dashSize: { value: 1 }, totalSize: { value: 2 } } ] ), vertexShader: ShaderChunk.linedashed_vert, fragmentShader: ShaderChunk.linedashed_frag }, depth: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.displacementmap ] ), vertexShader: ShaderChunk.depth_vert, fragmentShader: ShaderChunk.depth_frag }, normal: { uniforms: UniformsUtils.merge( [ UniformsLib.common, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, { opacity: { value: 1.0 } } ] ), vertexShader: ShaderChunk.normal_vert, fragmentShader: ShaderChunk.normal_frag }, /* ------------------------------------------------------------------------- // Cube map shader ------------------------------------------------------------------------- */ cube: { uniforms: { tCube: { value: null }, tFlip: { value: - 1 }, opacity: { value: 1.0 } }, vertexShader: ShaderChunk.cube_vert, fragmentShader: ShaderChunk.cube_frag }, /* ------------------------------------------------------------------------- // Cube map shader ------------------------------------------------------------------------- */ equirect: { uniforms: { tEquirect: { value: null }, tFlip: { value: - 1 } }, vertexShader: ShaderChunk.equirect_vert, fragmentShader: ShaderChunk.equirect_frag }, distanceRGBA: { uniforms: UniformsUtils.merge( [ UniformsLib.common, { lightPos: { value: new Vector3() } } ] ), vertexShader: ShaderChunk.distanceRGBA_vert, fragmentShader: ShaderChunk.distanceRGBA_frag } }; ShaderLib.physical = { uniforms: UniformsUtils.merge( [ ShaderLib.standard.uniforms, { clearCoat: { value: 0 }, clearCoatRoughness: { value: 0 } } ] ), vertexShader: ShaderChunk.meshphysical_vert, fragmentShader: ShaderChunk.meshphysical_frag }; /** * @author bhouston / http://clara.io */ function Box2( min, max ) { this.min = ( min !== undefined ) ? min : new Vector2( + Infinity, + Infinity ); this.max = ( max !== undefined ) ? max : new Vector2( - Infinity, - Infinity ); } Object.assign( Box2.prototype, { set: function ( min, max ) { this.min.copy( min ); this.max.copy( max ); return this; }, setFromPoints: function ( points ) { this.makeEmpty(); for ( var i = 0, il = points.length; i < il; i ++ ) { this.expandByPoint( points[ i ] ); } return this; }, setFromCenterAndSize: function () { var v1 = new Vector2(); return function setFromCenterAndSize( center, size ) { var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); this.min.copy( center ).sub( halfSize ); this.max.copy( center ).add( halfSize ); return this; }; }(), clone: function () { return new this.constructor().copy( this ); }, copy: function ( box ) { this.min.copy( box.min ); this.max.copy( box.max ); return this; }, makeEmpty: function () { this.min.x = this.min.y = + Infinity; this.max.x = this.max.y = - Infinity; return this; }, isEmpty: function () { // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ); }, getCenter: function ( optionalTarget ) { var result = optionalTarget || new Vector2(); return this.isEmpty() ? result.set( 0, 0 ) : result.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); }, getSize: function ( optionalTarget ) { var result = optionalTarget || new Vector2(); return this.isEmpty() ? result.set( 0, 0 ) : result.subVectors( this.max, this.min ); }, expandByPoint: function ( point ) { this.min.min( point ); this.max.max( point ); return this; }, expandByVector: function ( vector ) { this.min.sub( vector ); this.max.add( vector ); return this; }, expandByScalar: function ( scalar ) { this.min.addScalar( - scalar ); this.max.addScalar( scalar ); return this; }, containsPoint: function ( point ) { return point.x < this.min.x || point.x > this.max.x || point.y < this.min.y || point.y > this.max.y ? false : true; }, containsBox: function ( box ) { return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y; }, getParameter: function ( point, optionalTarget ) { // This can potentially have a divide by zero if the box // has a size dimension of 0. var result = optionalTarget || new Vector2(); return result.set( ( point.x - this.min.x ) / ( this.max.x - this.min.x ), ( point.y - this.min.y ) / ( this.max.y - this.min.y ) ); }, intersectsBox: function ( box ) { // using 4 splitting planes to rule out intersections return box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y ? false : true; }, clampPoint: function ( point, optionalTarget ) { var result = optionalTarget || new Vector2(); return result.copy( point ).clamp( this.min, this.max ); }, distanceToPoint: function () { var v1 = new Vector2(); return function distanceToPoint( point ) { var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); return clampedPoint.sub( point ).length(); }; }(), intersect: function ( box ) { this.min.max( box.min ); this.max.min( box.max ); return this; }, union: function ( box ) { this.min.min( box.min ); this.max.max( box.max ); return this; }, translate: function ( offset ) { this.min.add( offset ); this.max.add( offset ); return this; }, equals: function ( box ) { return box.min.equals( this.min ) && box.max.equals( this.max ); } } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ */ function LensFlarePlugin( renderer, flares ) { var gl = renderer.context; var state = renderer.state; var vertexBuffer, elementBuffer; var shader, program, attributes, uniforms; var tempTexture, occlusionTexture; function init() { var vertices = new Float32Array( [ - 1, - 1, 0, 0, 1, - 1, 1, 0, 1, 1, 1, 1, - 1, 1, 0, 1 ] ); var faces = new Uint16Array( [ 0, 1, 2, 0, 2, 3 ] ); // buffers vertexBuffer = gl.createBuffer(); elementBuffer = gl.createBuffer(); gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); gl.bufferData( gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW ); gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, faces, gl.STATIC_DRAW ); // textures tempTexture = gl.createTexture(); occlusionTexture = gl.createTexture(); state.bindTexture( gl.TEXTURE_2D, tempTexture ); gl.texImage2D( gl.TEXTURE_2D, 0, gl.RGB, 16, 16, 0, gl.RGB, gl.UNSIGNED_BYTE, null ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); state.bindTexture( gl.TEXTURE_2D, occlusionTexture ); gl.texImage2D( gl.TEXTURE_2D, 0, gl.RGBA, 16, 16, 0, gl.RGBA, gl.UNSIGNED_BYTE, null ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); gl.texParameteri( gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); shader = { vertexShader: [ "uniform lowp int renderType;", "uniform vec3 screenPosition;", "uniform vec2 scale;", "uniform float rotation;", "uniform sampler2D occlusionMap;", "attribute vec2 position;", "attribute vec2 uv;", "varying vec2 vUV;", "varying float vVisibility;", "void main() {", "vUV = uv;", "vec2 pos = position;", "if ( renderType == 2 ) {", "vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );", "visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );", "visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );", "visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );", "visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );", "visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );", "visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );", "visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );", "visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );", "vVisibility = visibility.r / 9.0;", "vVisibility *= 1.0 - visibility.g / 9.0;", "vVisibility *= visibility.b / 9.0;", "vVisibility *= 1.0 - visibility.a / 9.0;", "pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;", "pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;", "}", "gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );", "}" ].join( "\n" ), fragmentShader: [ "uniform lowp int renderType;", "uniform sampler2D map;", "uniform float opacity;", "uniform vec3 color;", "varying vec2 vUV;", "varying float vVisibility;", "void main() {", // pink square "if ( renderType == 0 ) {", "gl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );", // restore "} else if ( renderType == 1 ) {", "gl_FragColor = texture2D( map, vUV );", // flare "} else {", "vec4 texture = texture2D( map, vUV );", "texture.a *= opacity * vVisibility;", "gl_FragColor = texture;", "gl_FragColor.rgb *= color;", "}", "}" ].join( "\n" ) }; program = createProgram( shader ); attributes = { vertex: gl.getAttribLocation ( program, "position" ), uv: gl.getAttribLocation ( program, "uv" ) }; uniforms = { renderType: gl.getUniformLocation( program, "renderType" ), map: gl.getUniformLocation( program, "map" ), occlusionMap: gl.getUniformLocation( program, "occlusionMap" ), opacity: gl.getUniformLocation( program, "opacity" ), color: gl.getUniformLocation( program, "color" ), scale: gl.getUniformLocation( program, "scale" ), rotation: gl.getUniformLocation( program, "rotation" ), screenPosition: gl.getUniformLocation( program, "screenPosition" ) }; } /* * Render lens flares * Method: renders 16x16 0xff00ff-colored points scattered over the light source area, * reads these back and calculates occlusion. */ this.render = function ( scene, camera, viewport ) { if ( flares.length === 0 ) return; var tempPosition = new Vector3(); var invAspect = viewport.w / viewport.z, halfViewportWidth = viewport.z * 0.5, halfViewportHeight = viewport.w * 0.5; var size = 16 / viewport.w, scale = new Vector2( size * invAspect, size ); var screenPosition = new Vector3( 1, 1, 0 ), screenPositionPixels = new Vector2( 1, 1 ); var validArea = new Box2(); validArea.min.set( viewport.x, viewport.y ); validArea.max.set( viewport.x + ( viewport.z - 16 ), viewport.y + ( viewport.w - 16 ) ); if ( program === undefined ) { init(); } gl.useProgram( program ); state.initAttributes(); state.enableAttribute( attributes.vertex ); state.enableAttribute( attributes.uv ); state.disableUnusedAttributes(); // loop through all lens flares to update their occlusion and positions // setup gl and common used attribs/uniforms gl.uniform1i( uniforms.occlusionMap, 0 ); gl.uniform1i( uniforms.map, 1 ); gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); gl.vertexAttribPointer( attributes.vertex, 2, gl.FLOAT, false, 2 * 8, 0 ); gl.vertexAttribPointer( attributes.uv, 2, gl.FLOAT, false, 2 * 8, 8 ); gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); state.disable( gl.CULL_FACE ); state.buffers.depth.setMask( false ); for ( var i = 0, l = flares.length; i < l; i ++ ) { size = 16 / viewport.w; scale.set( size * invAspect, size ); // calc object screen position var flare = flares[ i ]; tempPosition.set( flare.matrixWorld.elements[ 12 ], flare.matrixWorld.elements[ 13 ], flare.matrixWorld.elements[ 14 ] ); tempPosition.applyMatrix4( camera.matrixWorldInverse ); tempPosition.applyMatrix4( camera.projectionMatrix ); // setup arrays for gl programs screenPosition.copy( tempPosition ); // horizontal and vertical coordinate of the lower left corner of the pixels to copy screenPositionPixels.x = viewport.x + ( screenPosition.x * halfViewportWidth ) + halfViewportWidth - 8; screenPositionPixels.y = viewport.y + ( screenPosition.y * halfViewportHeight ) + halfViewportHeight - 8; // screen cull if ( validArea.containsPoint( screenPositionPixels ) === true ) { // save current RGB to temp texture state.activeTexture( gl.TEXTURE0 ); state.bindTexture( gl.TEXTURE_2D, null ); state.activeTexture( gl.TEXTURE1 ); state.bindTexture( gl.TEXTURE_2D, tempTexture ); gl.copyTexImage2D( gl.TEXTURE_2D, 0, gl.RGB, screenPositionPixels.x, screenPositionPixels.y, 16, 16, 0 ); // render pink quad gl.uniform1i( uniforms.renderType, 0 ); gl.uniform2f( uniforms.scale, scale.x, scale.y ); gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z ); state.disable( gl.BLEND ); state.enable( gl.DEPTH_TEST ); gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); // copy result to occlusionMap state.activeTexture( gl.TEXTURE0 ); state.bindTexture( gl.TEXTURE_2D, occlusionTexture ); gl.copyTexImage2D( gl.TEXTURE_2D, 0, gl.RGBA, screenPositionPixels.x, screenPositionPixels.y, 16, 16, 0 ); // restore graphics gl.uniform1i( uniforms.renderType, 1 ); state.disable( gl.DEPTH_TEST ); state.activeTexture( gl.TEXTURE1 ); state.bindTexture( gl.TEXTURE_2D, tempTexture ); gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); // update object positions flare.positionScreen.copy( screenPosition ); if ( flare.customUpdateCallback ) { flare.customUpdateCallback( flare ); } else { flare.updateLensFlares(); } // render flares gl.uniform1i( uniforms.renderType, 2 ); state.enable( gl.BLEND ); for ( var j = 0, jl = flare.lensFlares.length; j < jl; j ++ ) { var sprite = flare.lensFlares[ j ]; if ( sprite.opacity > 0.001 && sprite.scale > 0.001 ) { screenPosition.x = sprite.x; screenPosition.y = sprite.y; screenPosition.z = sprite.z; size = sprite.size * sprite.scale / viewport.w; scale.x = size * invAspect; scale.y = size; gl.uniform3f( uniforms.screenPosition, screenPosition.x, screenPosition.y, screenPosition.z ); gl.uniform2f( uniforms.scale, scale.x, scale.y ); gl.uniform1f( uniforms.rotation, sprite.rotation ); gl.uniform1f( uniforms.opacity, sprite.opacity ); gl.uniform3f( uniforms.color, sprite.color.r, sprite.color.g, sprite.color.b ); state.setBlending( sprite.blending, sprite.blendEquation, sprite.blendSrc, sprite.blendDst ); renderer.setTexture2D( sprite.texture, 1 ); gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); } } } } // restore gl state.enable( gl.CULL_FACE ); state.enable( gl.DEPTH_TEST ); state.buffers.depth.setMask( true ); renderer.resetGLState(); }; function createProgram( shader ) { var program = gl.createProgram(); var fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); var vertexShader = gl.createShader( gl.VERTEX_SHADER ); var prefix = "precision " + renderer.getPrecision() + " float;\n"; gl.shaderSource( fragmentShader, prefix + shader.fragmentShader ); gl.shaderSource( vertexShader, prefix + shader.vertexShader ); gl.compileShader( fragmentShader ); gl.compileShader( vertexShader ); gl.attachShader( program, fragmentShader ); gl.attachShader( program, vertexShader ); gl.linkProgram( program ); return program; } } /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ */ function SpritePlugin( renderer, sprites ) { var gl = renderer.context; var state = renderer.state; var vertexBuffer, elementBuffer; var program, attributes, uniforms; var texture; // decompose matrixWorld var spritePosition = new Vector3(); var spriteRotation = new Quaternion(); var spriteScale = new Vector3(); function init() { var vertices = new Float32Array( [ - 0.5, - 0.5, 0, 0, 0.5, - 0.5, 1, 0, 0.5, 0.5, 1, 1, - 0.5, 0.5, 0, 1 ] ); var faces = new Uint16Array( [ 0, 1, 2, 0, 2, 3 ] ); vertexBuffer = gl.createBuffer(); elementBuffer = gl.createBuffer(); gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); gl.bufferData( gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW ); gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); gl.bufferData( gl.ELEMENT_ARRAY_BUFFER, faces, gl.STATIC_DRAW ); program = createProgram(); attributes = { position: gl.getAttribLocation ( program, 'position' ), uv: gl.getAttribLocation ( program, 'uv' ) }; uniforms = { uvOffset: gl.getUniformLocation( program, 'uvOffset' ), uvScale: gl.getUniformLocation( program, 'uvScale' ), rotation: gl.getUniformLocation( program, 'rotation' ), scale: gl.getUniformLocation( program, 'scale' ), color: gl.getUniformLocation( program, 'color' ), map: gl.getUniformLocation( program, 'map' ), opacity: gl.getUniformLocation( program, 'opacity' ), modelViewMatrix: gl.getUniformLocation( program, 'modelViewMatrix' ), projectionMatrix: gl.getUniformLocation( program, 'projectionMatrix' ), fogType: gl.getUniformLocation( program, 'fogType' ), fogDensity: gl.getUniformLocation( program, 'fogDensity' ), fogNear: gl.getUniformLocation( program, 'fogNear' ), fogFar: gl.getUniformLocation( program, 'fogFar' ), fogColor: gl.getUniformLocation( program, 'fogColor' ), alphaTest: gl.getUniformLocation( program, 'alphaTest' ) }; var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); canvas.width = 8; canvas.height = 8; var context = canvas.getContext( '2d' ); context.fillStyle = 'white'; context.fillRect( 0, 0, 8, 8 ); texture = new Texture( canvas ); texture.needsUpdate = true; } this.render = function ( scene, camera ) { if ( sprites.length === 0 ) return; // setup gl if ( program === undefined ) { init(); } gl.useProgram( program ); state.initAttributes(); state.enableAttribute( attributes.position ); state.enableAttribute( attributes.uv ); state.disableUnusedAttributes(); state.disable( gl.CULL_FACE ); state.enable( gl.BLEND ); gl.bindBuffer( gl.ARRAY_BUFFER, vertexBuffer ); gl.vertexAttribPointer( attributes.position, 2, gl.FLOAT, false, 2 * 8, 0 ); gl.vertexAttribPointer( attributes.uv, 2, gl.FLOAT, false, 2 * 8, 8 ); gl.bindBuffer( gl.ELEMENT_ARRAY_BUFFER, elementBuffer ); gl.uniformMatrix4fv( uniforms.projectionMatrix, false, camera.projectionMatrix.elements ); state.activeTexture( gl.TEXTURE0 ); gl.uniform1i( uniforms.map, 0 ); var oldFogType = 0; var sceneFogType = 0; var fog = scene.fog; if ( fog ) { gl.uniform3f( uniforms.fogColor, fog.color.r, fog.color.g, fog.color.b ); if ( fog.isFog ) { gl.uniform1f( uniforms.fogNear, fog.near ); gl.uniform1f( uniforms.fogFar, fog.far ); gl.uniform1i( uniforms.fogType, 1 ); oldFogType = 1; sceneFogType = 1; } else if ( fog.isFogExp2 ) { gl.uniform1f( uniforms.fogDensity, fog.density ); gl.uniform1i( uniforms.fogType, 2 ); oldFogType = 2; sceneFogType = 2; } } else { gl.uniform1i( uniforms.fogType, 0 ); oldFogType = 0; sceneFogType = 0; } // update positions and sort for ( var i = 0, l = sprites.length; i < l; i ++ ) { var sprite = sprites[ i ]; sprite.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, sprite.matrixWorld ); sprite.z = - sprite.modelViewMatrix.elements[ 14 ]; } sprites.sort( painterSortStable ); // render all sprites var scale = []; for ( var i = 0, l = sprites.length; i < l; i ++ ) { var sprite = sprites[ i ]; var material = sprite.material; if ( material.visible === false ) continue; sprite.onBeforeRender( renderer, scene, camera, undefined, material, undefined ); gl.uniform1f( uniforms.alphaTest, material.alphaTest ); gl.uniformMatrix4fv( uniforms.modelViewMatrix, false, sprite.modelViewMatrix.elements ); sprite.matrixWorld.decompose( spritePosition, spriteRotation, spriteScale ); scale[ 0 ] = spriteScale.x; scale[ 1 ] = spriteScale.y; var fogType = 0; if ( scene.fog && material.fog ) { fogType = sceneFogType; } if ( oldFogType !== fogType ) { gl.uniform1i( uniforms.fogType, fogType ); oldFogType = fogType; } if ( material.map !== null ) { gl.uniform2f( uniforms.uvOffset, material.map.offset.x, material.map.offset.y ); gl.uniform2f( uniforms.uvScale, material.map.repeat.x, material.map.repeat.y ); } else { gl.uniform2f( uniforms.uvOffset, 0, 0 ); gl.uniform2f( uniforms.uvScale, 1, 1 ); } gl.uniform1f( uniforms.opacity, material.opacity ); gl.uniform3f( uniforms.color, material.color.r, material.color.g, material.color.b ); gl.uniform1f( uniforms.rotation, material.rotation ); gl.uniform2fv( uniforms.scale, scale ); state.setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha ); state.buffers.depth.setTest( material.depthTest ); state.buffers.depth.setMask( material.depthWrite ); if ( material.map ) { renderer.setTexture2D( material.map, 0 ); } else { renderer.setTexture2D( texture, 0 ); } gl.drawElements( gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0 ); sprite.onAfterRender( renderer, scene, camera, undefined, material, undefined ); } // restore gl state.enable( gl.CULL_FACE ); renderer.resetGLState(); }; function createProgram() { var program = gl.createProgram(); var vertexShader = gl.createShader( gl.VERTEX_SHADER ); var fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); gl.shaderSource( vertexShader, [ 'precision ' + renderer.getPrecision() + ' float;', '#define SHADER_NAME ' + 'SpriteMaterial', 'uniform mat4 modelViewMatrix;', 'uniform mat4 projectionMatrix;', 'uniform float rotation;', 'uniform vec2 scale;', 'uniform vec2 uvOffset;', 'uniform vec2 uvScale;', 'attribute vec2 position;', 'attribute vec2 uv;', 'varying vec2 vUV;', 'void main() {', 'vUV = uvOffset + uv * uvScale;', 'vec2 alignedPosition = position * scale;', 'vec2 rotatedPosition;', 'rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;', 'rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;', 'vec4 finalPosition;', 'finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );', 'finalPosition.xy += rotatedPosition;', 'finalPosition = projectionMatrix * finalPosition;', 'gl_Position = finalPosition;', '}' ].join( '\n' ) ); gl.shaderSource( fragmentShader, [ 'precision ' + renderer.getPrecision() + ' float;', '#define SHADER_NAME ' + 'SpriteMaterial', 'uniform vec3 color;', 'uniform sampler2D map;', 'uniform float opacity;', 'uniform int fogType;', 'uniform vec3 fogColor;', 'uniform float fogDensity;', 'uniform float fogNear;', 'uniform float fogFar;', 'uniform float alphaTest;', 'varying vec2 vUV;', 'void main() {', 'vec4 texture = texture2D( map, vUV );', 'if ( texture.a < alphaTest ) discard;', 'gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );', 'if ( fogType > 0 ) {', 'float depth = gl_FragCoord.z / gl_FragCoord.w;', 'float fogFactor = 0.0;', 'if ( fogType == 1 ) {', 'fogFactor = smoothstep( fogNear, fogFar, depth );', '} else {', 'const float LOG2 = 1.442695;', 'fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );', 'fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );', '}', 'gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );', '}', '}' ].join( '\n' ) ); gl.compileShader( vertexShader ); gl.compileShader( fragmentShader ); gl.attachShader( program, vertexShader ); gl.attachShader( program, fragmentShader ); gl.linkProgram( program ); return program; } function painterSortStable( a, b ) { if ( a.renderOrder !== b.renderOrder ) { return a.renderOrder - b.renderOrder; } else if ( a.z !== b.z ) { return b.z - a.z; } else { return b.id - a.id; } } } /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ var materialId = 0; function Material() { Object.defineProperty( this, 'id', { value: materialId ++ } ); this.uuid = _Math.generateUUID(); this.name = ''; this.type = 'Material'; this.fog = true; this.lights = true; this.blending = NormalBlending; this.side = FrontSide; this.shading = SmoothShading; // THREE.FlatShading, THREE.SmoothShading this.vertexColors = NoColors; // THREE.NoColors, THREE.VertexColors, THREE.FaceColors this.opacity = 1; this.transparent = false; this.blendSrc = SrcAlphaFactor; this.blendDst = OneMinusSrcAlphaFactor; this.blendEquation = AddEquation; this.blendSrcAlpha = null; this.blendDstAlpha = null; this.blendEquationAlpha = null; this.depthFunc = LessEqualDepth; this.depthTest = true; this.depthWrite = true; this.clippingPlanes = null; this.clipIntersection = false; this.clipShadows = false; this.colorWrite = true; this.precision = null; // override the renderer's default precision for this material this.polygonOffset = false; this.polygonOffsetFactor = 0; this.polygonOffsetUnits = 0; this.dithering = false; this.alphaTest = 0; this.premultipliedAlpha = false; this.overdraw = 0; // Overdrawn pixels (typically between 0 and 1) for fixing antialiasing gaps in CanvasRenderer this.visible = true; this.needsUpdate = true; } Object.assign( Material.prototype, EventDispatcher.prototype, { isMaterial: true, onBeforeCompile: function () {}, setValues: function ( values ) { if ( values === undefined ) return; for ( var key in values ) { var newValue = values[ key ]; if ( newValue === undefined ) { console.warn( "THREE.Material: '" + key + "' parameter is undefined." ); continue; } var currentValue = this[ key ]; if ( currentValue === undefined ) { console.warn( "THREE." + this.type + ": '" + key + "' is not a property of this material." ); continue; } if ( currentValue && currentValue.isColor ) { currentValue.set( newValue ); } else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) { currentValue.copy( newValue ); } else if ( key === 'overdraw' ) { // ensure overdraw is backwards-compatible with legacy boolean type this[ key ] = Number( newValue ); } else { this[ key ] = newValue; } } }, toJSON: function ( meta ) { var isRoot = meta === undefined; if ( isRoot ) { meta = { textures: {}, images: {} }; } var data = { metadata: { version: 4.5, type: 'Material', generator: 'Material.toJSON' } }; // standard Material serialization data.uuid = this.uuid; data.type = this.type; if ( this.name !== '' ) data.name = this.name; if ( this.color && this.color.isColor ) data.color = this.color.getHex(); if ( this.roughness !== undefined ) data.roughness = this.roughness; if ( this.metalness !== undefined ) data.metalness = this.metalness; if ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex(); if ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex(); if ( this.shininess !== undefined ) data.shininess = this.shininess; if ( this.clearCoat !== undefined ) data.clearCoat = this.clearCoat; if ( this.clearCoatRoughness !== undefined ) data.clearCoatRoughness = this.clearCoatRoughness; if ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid; if ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid; if ( this.lightMap && this.lightMap.isTexture ) data.lightMap = this.lightMap.toJSON( meta ).uuid; if ( this.bumpMap && this.bumpMap.isTexture ) { data.bumpMap = this.bumpMap.toJSON( meta ).uuid; data.bumpScale = this.bumpScale; } if ( this.normalMap && this.normalMap.isTexture ) { data.normalMap = this.normalMap.toJSON( meta ).uuid; data.normalScale = this.normalScale.toArray(); } if ( this.displacementMap && this.displacementMap.isTexture ) { data.displacementMap = this.displacementMap.toJSON( meta ).uuid; data.displacementScale = this.displacementScale; data.displacementBias = this.displacementBias; } if ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid; if ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid; if ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid; if ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid; if ( this.envMap && this.envMap.isTexture ) { data.envMap = this.envMap.toJSON( meta ).uuid; data.reflectivity = this.reflectivity; // Scale behind envMap } if ( this.gradientMap && this.gradientMap.isTexture ) { data.gradientMap = this.gradientMap.toJSON( meta ).uuid; } if ( this.size !== undefined ) data.size = this.size; if ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation; if ( this.blending !== NormalBlending ) data.blending = this.blending; if ( this.shading !== SmoothShading ) data.shading = this.shading; if ( this.side !== FrontSide ) data.side = this.side; if ( this.vertexColors !== NoColors ) data.vertexColors = this.vertexColors; if ( this.opacity < 1 ) data.opacity = this.opacity; if ( this.transparent === true ) data.transparent = this.transparent; data.depthFunc = this.depthFunc; data.depthTest = this.depthTest; data.depthWrite = this.depthWrite; if ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest; if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha; if ( this.wireframe === true ) data.wireframe = this.wireframe; if ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth; if ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap; if ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin; data.skinning = this.skinning; data.morphTargets = this.morphTargets; data.dithering = this.dithering; // TODO: Copied from Object3D.toJSON function extractFromCache( cache ) { var values = []; for ( var key in cache ) { var data = cache[ key ]; delete data.metadata; values.push( data ); } return values; } if ( isRoot ) { var textures = extractFromCache( meta.textures ); var images = extractFromCache( meta.images ); if ( textures.length > 0 ) data.textures = textures; if ( images.length > 0 ) data.images = images; } return data; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( source ) { this.name = source.name; this.fog = source.fog; this.lights = source.lights; this.blending = source.blending; this.side = source.side; this.shading = source.shading; this.vertexColors = source.vertexColors; this.opacity = source.opacity; this.transparent = source.transparent; this.blendSrc = source.blendSrc; this.blendDst = source.blendDst; this.blendEquation = source.blendEquation; this.blendSrcAlpha = source.blendSrcAlpha; this.blendDstAlpha = source.blendDstAlpha; this.blendEquationAlpha = source.blendEquationAlpha; this.depthFunc = source.depthFunc; this.depthTest = source.depthTest; this.depthWrite = source.depthWrite; this.colorWrite = source.colorWrite; this.precision = source.precision; this.polygonOffset = source.polygonOffset; this.polygonOffsetFactor = source.polygonOffsetFactor; this.polygonOffsetUnits = source.polygonOffsetUnits; this.dithering = source.dithering; this.alphaTest = source.alphaTest; this.premultipliedAlpha = source.premultipliedAlpha; this.overdraw = source.overdraw; this.visible = source.visible; this.clipShadows = source.clipShadows; this.clipIntersection = source.clipIntersection; var srcPlanes = source.clippingPlanes, dstPlanes = null; if ( srcPlanes !== null ) { var n = srcPlanes.length; dstPlanes = new Array( n ); for ( var i = 0; i !== n; ++ i ) dstPlanes[ i ] = srcPlanes[ i ].clone(); } this.clippingPlanes = dstPlanes; return this; }, dispose: function () { this.dispatchEvent( { type: 'dispose' } ); } } ); /** * @author alteredq / http://alteredqualia.com/ * * parameters = { * defines: { "label" : "value" }, * uniforms: { "parameter1": { value: 1.0 }, "parameter2": { value2: 2 } }, * * fragmentShader: , * vertexShader: , * * wireframe: , * wireframeLinewidth: , * * lights: , * * skinning: , * morphTargets: , * morphNormals: * } */ function ShaderMaterial( parameters ) { Material.call( this ); this.type = 'ShaderMaterial'; this.defines = {}; this.uniforms = {}; this.vertexShader = 'void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}'; this.fragmentShader = 'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}'; this.linewidth = 1; this.wireframe = false; this.wireframeLinewidth = 1; this.fog = false; // set to use scene fog this.lights = false; // set to use scene lights this.clipping = false; // set to use user-defined clipping planes this.skinning = false; // set to use skinning attribute streams this.morphTargets = false; // set to use morph targets this.morphNormals = false; // set to use morph normals this.extensions = { derivatives: false, // set to use derivatives fragDepth: false, // set to use fragment depth values drawBuffers: false, // set to use draw buffers shaderTextureLOD: false // set to use shader texture LOD }; // When rendered geometry doesn't include these attributes but the material does, // use these default values in WebGL. This avoids errors when buffer data is missing. this.defaultAttributeValues = { 'color': [ 1, 1, 1 ], 'uv': [ 0, 0 ], 'uv2': [ 0, 0 ] }; this.index0AttributeName = undefined; if ( parameters !== undefined ) { if ( parameters.attributes !== undefined ) { console.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' ); } this.setValues( parameters ); } } ShaderMaterial.prototype = Object.create( Material.prototype ); ShaderMaterial.prototype.constructor = ShaderMaterial; ShaderMaterial.prototype.isShaderMaterial = true; ShaderMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.fragmentShader = source.fragmentShader; this.vertexShader = source.vertexShader; this.uniforms = UniformsUtils.clone( source.uniforms ); this.defines = source.defines; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.lights = source.lights; this.clipping = source.clipping; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; this.extensions = source.extensions; return this; }; ShaderMaterial.prototype.toJSON = function ( meta ) { var data = Material.prototype.toJSON.call( this, meta ); data.uniforms = this.uniforms; data.vertexShader = this.vertexShader; data.fragmentShader = this.fragmentShader; return data; }; /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * @author bhouston / https://clara.io * @author WestLangley / http://github.com/WestLangley * * parameters = { * * opacity: , * * map: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: , * * wireframe: , * wireframeLinewidth: * } */ function MeshDepthMaterial( parameters ) { Material.call( this ); this.type = 'MeshDepthMaterial'; this.depthPacking = BasicDepthPacking; this.skinning = false; this.morphTargets = false; this.map = null; this.alphaMap = null; this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.wireframe = false; this.wireframeLinewidth = 1; this.fog = false; this.lights = false; this.setValues( parameters ); } MeshDepthMaterial.prototype = Object.create( Material.prototype ); MeshDepthMaterial.prototype.constructor = MeshDepthMaterial; MeshDepthMaterial.prototype.isMeshDepthMaterial = true; MeshDepthMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.depthPacking = source.depthPacking; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.map = source.map; this.alphaMap = source.alphaMap; this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; return this; }; /** * @author bhouston / http://clara.io * @author WestLangley / http://github.com/WestLangley */ function Box3( min, max ) { this.min = ( min !== undefined ) ? min : new Vector3( + Infinity, + Infinity, + Infinity ); this.max = ( max !== undefined ) ? max : new Vector3( - Infinity, - Infinity, - Infinity ); } Object.assign( Box3.prototype, { isBox3: true, set: function ( min, max ) { this.min.copy( min ); this.max.copy( max ); return this; }, setFromArray: function ( array ) { var minX = + Infinity; var minY = + Infinity; var minZ = + Infinity; var maxX = - Infinity; var maxY = - Infinity; var maxZ = - Infinity; for ( var i = 0, l = array.length; i < l; i += 3 ) { var x = array[ i ]; var y = array[ i + 1 ]; var z = array[ i + 2 ]; if ( x < minX ) minX = x; if ( y < minY ) minY = y; if ( z < minZ ) minZ = z; if ( x > maxX ) maxX = x; if ( y > maxY ) maxY = y; if ( z > maxZ ) maxZ = z; } this.min.set( minX, minY, minZ ); this.max.set( maxX, maxY, maxZ ); return this; }, setFromBufferAttribute: function ( attribute ) { var minX = + Infinity; var minY = + Infinity; var minZ = + Infinity; var maxX = - Infinity; var maxY = - Infinity; var maxZ = - Infinity; for ( var i = 0, l = attribute.count; i < l; i ++ ) { var x = attribute.getX( i ); var y = attribute.getY( i ); var z = attribute.getZ( i ); if ( x < minX ) minX = x; if ( y < minY ) minY = y; if ( z < minZ ) minZ = z; if ( x > maxX ) maxX = x; if ( y > maxY ) maxY = y; if ( z > maxZ ) maxZ = z; } this.min.set( minX, minY, minZ ); this.max.set( maxX, maxY, maxZ ); return this; }, setFromPoints: function ( points ) { this.makeEmpty(); for ( var i = 0, il = points.length; i < il; i ++ ) { this.expandByPoint( points[ i ] ); } return this; }, setFromCenterAndSize: function () { var v1 = new Vector3(); return function setFromCenterAndSize( center, size ) { var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); this.min.copy( center ).sub( halfSize ); this.max.copy( center ).add( halfSize ); return this; }; }(), setFromObject: function ( object ) { this.makeEmpty(); return this.expandByObject( object ); }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( box ) { this.min.copy( box.min ); this.max.copy( box.max ); return this; }, makeEmpty: function () { this.min.x = this.min.y = this.min.z = + Infinity; this.max.x = this.max.y = this.max.z = - Infinity; return this; }, isEmpty: function () { // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z ); }, getCenter: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return this.isEmpty() ? result.set( 0, 0, 0 ) : result.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); }, getSize: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return this.isEmpty() ? result.set( 0, 0, 0 ) : result.subVectors( this.max, this.min ); }, expandByPoint: function ( point ) { this.min.min( point ); this.max.max( point ); return this; }, expandByVector: function ( vector ) { this.min.sub( vector ); this.max.add( vector ); return this; }, expandByScalar: function ( scalar ) { this.min.addScalar( - scalar ); this.max.addScalar( scalar ); return this; }, expandByObject: function () { // Computes the world-axis-aligned bounding box of an object (including its children), // accounting for both the object's, and children's, world transforms var v1 = new Vector3(); return function expandByObject( object ) { var scope = this; object.updateMatrixWorld( true ); object.traverse( function ( node ) { var i, l; var geometry = node.geometry; if ( geometry !== undefined ) { if ( geometry.isGeometry ) { var vertices = geometry.vertices; for ( i = 0, l = vertices.length; i < l; i ++ ) { v1.copy( vertices[ i ] ); v1.applyMatrix4( node.matrixWorld ); scope.expandByPoint( v1 ); } } else if ( geometry.isBufferGeometry ) { var attribute = geometry.attributes.position; if ( attribute !== undefined ) { for ( i = 0, l = attribute.count; i < l; i ++ ) { v1.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld ); scope.expandByPoint( v1 ); } } } } } ); return this; }; }(), containsPoint: function ( point ) { return point.x < this.min.x || point.x > this.max.x || point.y < this.min.y || point.y > this.max.y || point.z < this.min.z || point.z > this.max.z ? false : true; }, containsBox: function ( box ) { return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y && this.min.z <= box.min.z && box.max.z <= this.max.z; }, getParameter: function ( point, optionalTarget ) { // This can potentially have a divide by zero if the box // has a size dimension of 0. var result = optionalTarget || new Vector3(); return result.set( ( point.x - this.min.x ) / ( this.max.x - this.min.x ), ( point.y - this.min.y ) / ( this.max.y - this.min.y ), ( point.z - this.min.z ) / ( this.max.z - this.min.z ) ); }, intersectsBox: function ( box ) { // using 6 splitting planes to rule out intersections. return box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y || box.max.z < this.min.z || box.min.z > this.max.z ? false : true; }, intersectsSphere: ( function () { var closestPoint = new Vector3(); return function intersectsSphere( sphere ) { // Find the point on the AABB closest to the sphere center. this.clampPoint( sphere.center, closestPoint ); // If that point is inside the sphere, the AABB and sphere intersect. return closestPoint.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius ); }; } )(), intersectsPlane: function ( plane ) { // We compute the minimum and maximum dot product values. If those values // are on the same side (back or front) of the plane, then there is no intersection. var min, max; if ( plane.normal.x > 0 ) { min = plane.normal.x * this.min.x; max = plane.normal.x * this.max.x; } else { min = plane.normal.x * this.max.x; max = plane.normal.x * this.min.x; } if ( plane.normal.y > 0 ) { min += plane.normal.y * this.min.y; max += plane.normal.y * this.max.y; } else { min += plane.normal.y * this.max.y; max += plane.normal.y * this.min.y; } if ( plane.normal.z > 0 ) { min += plane.normal.z * this.min.z; max += plane.normal.z * this.max.z; } else { min += plane.normal.z * this.max.z; max += plane.normal.z * this.min.z; } return ( min <= plane.constant && max >= plane.constant ); }, clampPoint: function ( point, optionalTarget ) { var result = optionalTarget || new Vector3(); return result.copy( point ).clamp( this.min, this.max ); }, distanceToPoint: function () { var v1 = new Vector3(); return function distanceToPoint( point ) { var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); return clampedPoint.sub( point ).length(); }; }(), getBoundingSphere: function () { var v1 = new Vector3(); return function getBoundingSphere( optionalTarget ) { var result = optionalTarget || new Sphere(); this.getCenter( result.center ); result.radius = this.getSize( v1 ).length() * 0.5; return result; }; }(), intersect: function ( box ) { this.min.max( box.min ); this.max.min( box.max ); // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values. if( this.isEmpty() ) this.makeEmpty(); return this; }, union: function ( box ) { this.min.min( box.min ); this.max.max( box.max ); return this; }, applyMatrix4: function () { var points = [ new Vector3(), new Vector3(), new Vector3(), new Vector3(), new Vector3(), new Vector3(), new Vector3(), new Vector3() ]; return function applyMatrix4( matrix ) { // transform of empty box is an empty box. if( this.isEmpty() ) return this; // NOTE: I am using a binary pattern to specify all 2^3 combinations below points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000 points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001 points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010 points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011 points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100 points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101 points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110 points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111 this.setFromPoints( points ); return this; }; }(), translate: function ( offset ) { this.min.add( offset ); this.max.add( offset ); return this; }, equals: function ( box ) { return box.min.equals( this.min ) && box.max.equals( this.max ); } } ); /** * @author bhouston / http://clara.io * @author mrdoob / http://mrdoob.com/ */ function Sphere( center, radius ) { this.center = ( center !== undefined ) ? center : new Vector3(); this.radius = ( radius !== undefined ) ? radius : 0; } Object.assign( Sphere.prototype, { set: function ( center, radius ) { this.center.copy( center ); this.radius = radius; return this; }, setFromPoints: function () { var box = new Box3(); return function setFromPoints( points, optionalCenter ) { var center = this.center; if ( optionalCenter !== undefined ) { center.copy( optionalCenter ); } else { box.setFromPoints( points ).getCenter( center ); } var maxRadiusSq = 0; for ( var i = 0, il = points.length; i < il; i ++ ) { maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) ); } this.radius = Math.sqrt( maxRadiusSq ); return this; }; }(), clone: function () { return new this.constructor().copy( this ); }, copy: function ( sphere ) { this.center.copy( sphere.center ); this.radius = sphere.radius; return this; }, empty: function () { return ( this.radius <= 0 ); }, containsPoint: function ( point ) { return ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) ); }, distanceToPoint: function ( point ) { return ( point.distanceTo( this.center ) - this.radius ); }, intersectsSphere: function ( sphere ) { var radiusSum = this.radius + sphere.radius; return sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum ); }, intersectsBox: function ( box ) { return box.intersectsSphere( this ); }, intersectsPlane: function ( plane ) { // We use the following equation to compute the signed distance from // the center of the sphere to the plane. // // distance = q * n - d // // If this distance is greater than the radius of the sphere, // then there is no intersection. return Math.abs( this.center.dot( plane.normal ) - plane.constant ) <= this.radius; }, clampPoint: function ( point, optionalTarget ) { var deltaLengthSq = this.center.distanceToSquared( point ); var result = optionalTarget || new Vector3(); result.copy( point ); if ( deltaLengthSq > ( this.radius * this.radius ) ) { result.sub( this.center ).normalize(); result.multiplyScalar( this.radius ).add( this.center ); } return result; }, getBoundingBox: function ( optionalTarget ) { var box = optionalTarget || new Box3(); box.set( this.center, this.center ); box.expandByScalar( this.radius ); return box; }, applyMatrix4: function ( matrix ) { this.center.applyMatrix4( matrix ); this.radius = this.radius * matrix.getMaxScaleOnAxis(); return this; }, translate: function ( offset ) { this.center.add( offset ); return this; }, equals: function ( sphere ) { return sphere.center.equals( this.center ) && ( sphere.radius === this.radius ); } } ); /** * @author alteredq / http://alteredqualia.com/ * @author WestLangley / http://github.com/WestLangley * @author bhouston / http://clara.io * @author tschw */ function Matrix3() { this.elements = [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]; if ( arguments.length > 0 ) { console.error( 'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.' ); } } Object.assign( Matrix3.prototype, { isMatrix3: true, set: function ( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) { var te = this.elements; te[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31; te[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32; te[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33; return this; }, identity: function () { this.set( 1, 0, 0, 0, 1, 0, 0, 0, 1 ); return this; }, clone: function () { return new this.constructor().fromArray( this.elements ); }, copy: function ( m ) { var te = this.elements; var me = m.elements; te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ]; return this; }, setFromMatrix4: function ( m ) { var me = m.elements; this.set( me[ 0 ], me[ 4 ], me[ 8 ], me[ 1 ], me[ 5 ], me[ 9 ], me[ 2 ], me[ 6 ], me[ 10 ] ); return this; }, applyToBufferAttribute: function () { var v1 = new Vector3(); return function applyToBufferAttribute( attribute ) { for ( var i = 0, l = attribute.count; i < l; i ++ ) { v1.x = attribute.getX( i ); v1.y = attribute.getY( i ); v1.z = attribute.getZ( i ); v1.applyMatrix3( this ); attribute.setXYZ( i, v1.x, v1.y, v1.z ); } return attribute; }; }(), multiply: function ( m ) { return this.multiplyMatrices( this, m ); }, premultiply: function ( m ) { return this.multiplyMatrices( m, this ); }, multiplyMatrices: function ( a, b ) { var ae = a.elements; var be = b.elements; var te = this.elements; var a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ]; var a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ]; var a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ]; var b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ]; var b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ]; var b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ]; te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31; te[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32; te[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33; te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31; te[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32; te[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33; te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31; te[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32; te[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33; return this; }, multiplyScalar: function ( s ) { var te = this.elements; te[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s; te[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s; te[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s; return this; }, determinant: function () { var te = this.elements; var a = te[ 0 ], b = te[ 1 ], c = te[ 2 ], d = te[ 3 ], e = te[ 4 ], f = te[ 5 ], g = te[ 6 ], h = te[ 7 ], i = te[ 8 ]; return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; }, getInverse: function ( matrix, throwOnDegenerate ) { if ( matrix && matrix.isMatrix4 ) { console.error( "THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument." ); } var me = matrix.elements, te = this.elements, n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], n12 = me[ 3 ], n22 = me[ 4 ], n32 = me[ 5 ], n13 = me[ 6 ], n23 = me[ 7 ], n33 = me[ 8 ], t11 = n33 * n22 - n32 * n23, t12 = n32 * n13 - n33 * n12, t13 = n23 * n12 - n22 * n13, det = n11 * t11 + n21 * t12 + n31 * t13; if ( det === 0 ) { var msg = "THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0"; if ( throwOnDegenerate === true ) { throw new Error( msg ); } else { console.warn( msg ); } return this.identity(); } var detInv = 1 / det; te[ 0 ] = t11 * detInv; te[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv; te[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv; te[ 3 ] = t12 * detInv; te[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv; te[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv; te[ 6 ] = t13 * detInv; te[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv; te[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv; return this; }, transpose: function () { var tmp, m = this.elements; tmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp; tmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp; tmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp; return this; }, getNormalMatrix: function ( matrix4 ) { return this.setFromMatrix4( matrix4 ).getInverse( this ).transpose(); }, transposeIntoArray: function ( r ) { var m = this.elements; r[ 0 ] = m[ 0 ]; r[ 1 ] = m[ 3 ]; r[ 2 ] = m[ 6 ]; r[ 3 ] = m[ 1 ]; r[ 4 ] = m[ 4 ]; r[ 5 ] = m[ 7 ]; r[ 6 ] = m[ 2 ]; r[ 7 ] = m[ 5 ]; r[ 8 ] = m[ 8 ]; return this; }, equals: function ( matrix ) { var te = this.elements; var me = matrix.elements; for ( var i = 0; i < 9; i ++ ) { if ( te[ i ] !== me[ i ] ) return false; } return true; }, fromArray: function ( array, offset ) { if ( offset === undefined ) offset = 0; for ( var i = 0; i < 9; i ++ ) { this.elements[ i ] = array[ i + offset ]; } return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; var te = this.elements; array[ offset ] = te[ 0 ]; array[ offset + 1 ] = te[ 1 ]; array[ offset + 2 ] = te[ 2 ]; array[ offset + 3 ] = te[ 3 ]; array[ offset + 4 ] = te[ 4 ]; array[ offset + 5 ] = te[ 5 ]; array[ offset + 6 ] = te[ 6 ]; array[ offset + 7 ] = te[ 7 ]; array[ offset + 8 ] = te[ 8 ]; return array; } } ); /** * @author bhouston / http://clara.io */ function Plane( normal, constant ) { this.normal = ( normal !== undefined ) ? normal : new Vector3( 1, 0, 0 ); this.constant = ( constant !== undefined ) ? constant : 0; } Object.assign( Plane.prototype, { set: function ( normal, constant ) { this.normal.copy( normal ); this.constant = constant; return this; }, setComponents: function ( x, y, z, w ) { this.normal.set( x, y, z ); this.constant = w; return this; }, setFromNormalAndCoplanarPoint: function ( normal, point ) { this.normal.copy( normal ); this.constant = - point.dot( this.normal ); return this; }, setFromCoplanarPoints: function () { var v1 = new Vector3(); var v2 = new Vector3(); return function setFromCoplanarPoints( a, b, c ) { var normal = v1.subVectors( c, b ).cross( v2.subVectors( a, b ) ).normalize(); // Q: should an error be thrown if normal is zero (e.g. degenerate plane)? this.setFromNormalAndCoplanarPoint( normal, a ); return this; }; }(), clone: function () { return new this.constructor().copy( this ); }, copy: function ( plane ) { this.normal.copy( plane.normal ); this.constant = plane.constant; return this; }, normalize: function () { // Note: will lead to a divide by zero if the plane is invalid. var inverseNormalLength = 1.0 / this.normal.length(); this.normal.multiplyScalar( inverseNormalLength ); this.constant *= inverseNormalLength; return this; }, negate: function () { this.constant *= - 1; this.normal.negate(); return this; }, distanceToPoint: function ( point ) { return this.normal.dot( point ) + this.constant; }, distanceToSphere: function ( sphere ) { return this.distanceToPoint( sphere.center ) - sphere.radius; }, projectPoint: function ( point, optionalTarget ) { var result = optionalTarget || new Vector3(); return result.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point ); }, intersectLine: function () { var v1 = new Vector3(); return function intersectLine( line, optionalTarget ) { var result = optionalTarget || new Vector3(); var direction = line.delta( v1 ); var denominator = this.normal.dot( direction ); if ( denominator === 0 ) { // line is coplanar, return origin if ( this.distanceToPoint( line.start ) === 0 ) { return result.copy( line.start ); } // Unsure if this is the correct method to handle this case. return undefined; } var t = - ( line.start.dot( this.normal ) + this.constant ) / denominator; if ( t < 0 || t > 1 ) { return undefined; } return result.copy( direction ).multiplyScalar( t ).add( line.start ); }; }(), intersectsLine: function ( line ) { // Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it. var startSign = this.distanceToPoint( line.start ); var endSign = this.distanceToPoint( line.end ); return ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 ); }, intersectsBox: function ( box ) { return box.intersectsPlane( this ); }, intersectsSphere: function ( sphere ) { return sphere.intersectsPlane( this ); }, coplanarPoint: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return result.copy( this.normal ).multiplyScalar( - this.constant ); }, applyMatrix4: function () { var v1 = new Vector3(); var m1 = new Matrix3(); return function applyMatrix4( matrix, optionalNormalMatrix ) { var normalMatrix = optionalNormalMatrix || m1.getNormalMatrix( matrix ); var referencePoint = this.coplanarPoint( v1 ).applyMatrix4( matrix ); var normal = this.normal.applyMatrix3( normalMatrix ).normalize(); this.constant = - referencePoint.dot( normal ); return this; }; }(), translate: function ( offset ) { this.constant -= offset.dot( this.normal ); return this; }, equals: function ( plane ) { return plane.normal.equals( this.normal ) && ( plane.constant === this.constant ); } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * @author bhouston / http://clara.io */ function Frustum( p0, p1, p2, p3, p4, p5 ) { this.planes = [ ( p0 !== undefined ) ? p0 : new Plane(), ( p1 !== undefined ) ? p1 : new Plane(), ( p2 !== undefined ) ? p2 : new Plane(), ( p3 !== undefined ) ? p3 : new Plane(), ( p4 !== undefined ) ? p4 : new Plane(), ( p5 !== undefined ) ? p5 : new Plane() ]; } Object.assign( Frustum.prototype, { set: function ( p0, p1, p2, p3, p4, p5 ) { var planes = this.planes; planes[ 0 ].copy( p0 ); planes[ 1 ].copy( p1 ); planes[ 2 ].copy( p2 ); planes[ 3 ].copy( p3 ); planes[ 4 ].copy( p4 ); planes[ 5 ].copy( p5 ); return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( frustum ) { var planes = this.planes; for ( var i = 0; i < 6; i ++ ) { planes[ i ].copy( frustum.planes[ i ] ); } return this; }, setFromMatrix: function ( m ) { var planes = this.planes; var me = m.elements; var me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ]; var me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ]; var me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ]; var me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ]; planes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize(); planes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize(); planes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize(); planes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize(); planes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize(); planes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize(); return this; }, intersectsObject: function () { var sphere = new Sphere(); return function intersectsObject( object ) { var geometry = object.geometry; if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); sphere.copy( geometry.boundingSphere ) .applyMatrix4( object.matrixWorld ); return this.intersectsSphere( sphere ); }; }(), intersectsSprite: function () { var sphere = new Sphere(); return function intersectsSprite( sprite ) { sphere.center.set( 0, 0, 0 ); sphere.radius = 0.7071067811865476; sphere.applyMatrix4( sprite.matrixWorld ); return this.intersectsSphere( sphere ); }; }(), intersectsSphere: function ( sphere ) { var planes = this.planes; var center = sphere.center; var negRadius = - sphere.radius; for ( var i = 0; i < 6; i ++ ) { var distance = planes[ i ].distanceToPoint( center ); if ( distance < negRadius ) { return false; } } return true; }, intersectsBox: function () { var p1 = new Vector3(), p2 = new Vector3(); return function intersectsBox( box ) { var planes = this.planes; for ( var i = 0; i < 6; i ++ ) { var plane = planes[ i ]; p1.x = plane.normal.x > 0 ? box.min.x : box.max.x; p2.x = plane.normal.x > 0 ? box.max.x : box.min.x; p1.y = plane.normal.y > 0 ? box.min.y : box.max.y; p2.y = plane.normal.y > 0 ? box.max.y : box.min.y; p1.z = plane.normal.z > 0 ? box.min.z : box.max.z; p2.z = plane.normal.z > 0 ? box.max.z : box.min.z; var d1 = plane.distanceToPoint( p1 ); var d2 = plane.distanceToPoint( p2 ); // if both outside plane, no intersection if ( d1 < 0 && d2 < 0 ) { return false; } } return true; }; }(), containsPoint: function ( point ) { var planes = this.planes; for ( var i = 0; i < 6; i ++ ) { if ( planes[ i ].distanceToPoint( point ) < 0 ) { return false; } } return true; } } ); /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ */ function WebGLShadowMap( _renderer, _lights, _objects, capabilities ) { var _gl = _renderer.context, _state = _renderer.state, _frustum = new Frustum(), _projScreenMatrix = new Matrix4(), _lightShadows = _lights.shadows, _shadowMapSize = new Vector2(), _maxShadowMapSize = new Vector2( capabilities.maxTextureSize, capabilities.maxTextureSize ), _lookTarget = new Vector3(), _lightPositionWorld = new Vector3(), _MorphingFlag = 1, _SkinningFlag = 2, _NumberOfMaterialVariants = ( _MorphingFlag | _SkinningFlag ) + 1, _depthMaterials = new Array( _NumberOfMaterialVariants ), _distanceMaterials = new Array( _NumberOfMaterialVariants ), _materialCache = {}; var cubeDirections = [ new Vector3( 1, 0, 0 ), new Vector3( - 1, 0, 0 ), new Vector3( 0, 0, 1 ), new Vector3( 0, 0, - 1 ), new Vector3( 0, 1, 0 ), new Vector3( 0, - 1, 0 ) ]; var cubeUps = [ new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ), new Vector3( 0, 0, - 1 ) ]; var cube2DViewPorts = [ new Vector4(), new Vector4(), new Vector4(), new Vector4(), new Vector4(), new Vector4() ]; // init var depthMaterialTemplate = new MeshDepthMaterial(); depthMaterialTemplate.depthPacking = RGBADepthPacking; depthMaterialTemplate.clipping = true; var distanceShader = ShaderLib[ "distanceRGBA" ]; var distanceUniforms = UniformsUtils.clone( distanceShader.uniforms ); for ( var i = 0; i !== _NumberOfMaterialVariants; ++ i ) { var useMorphing = ( i & _MorphingFlag ) !== 0; var useSkinning = ( i & _SkinningFlag ) !== 0; var depthMaterial = depthMaterialTemplate.clone(); depthMaterial.morphTargets = useMorphing; depthMaterial.skinning = useSkinning; _depthMaterials[ i ] = depthMaterial; var distanceMaterial = new ShaderMaterial( { defines: { 'USE_SHADOWMAP': '' }, uniforms: distanceUniforms, vertexShader: distanceShader.vertexShader, fragmentShader: distanceShader.fragmentShader, morphTargets: useMorphing, skinning: useSkinning, clipping: true } ); _distanceMaterials[ i ] = distanceMaterial; } // var scope = this; this.enabled = false; this.autoUpdate = true; this.needsUpdate = false; this.type = PCFShadowMap; this.renderReverseSided = true; this.renderSingleSided = true; this.render = function ( scene, camera ) { if ( scope.enabled === false ) return; if ( scope.autoUpdate === false && scope.needsUpdate === false ) return; if ( _lightShadows.length === 0 ) return; // Set GL state for depth map. _state.disable( _gl.BLEND ); _state.buffers.color.setClear( 1, 1, 1, 1 ); _state.buffers.depth.setTest( true ); _state.setScissorTest( false ); // render depth map var faceCount; for ( var i = 0, il = _lightShadows.length; i < il; i ++ ) { var light = _lightShadows[ i ]; var shadow = light.shadow; var isPointLight = light && light.isPointLight; if ( shadow === undefined ) { console.warn( 'THREE.WebGLShadowMap:', light, 'has no shadow.' ); continue; } var shadowCamera = shadow.camera; _shadowMapSize.copy( shadow.mapSize ); _shadowMapSize.min( _maxShadowMapSize ); if ( isPointLight ) { var vpWidth = _shadowMapSize.x; var vpHeight = _shadowMapSize.y; // These viewports map a cube-map onto a 2D texture with the // following orientation: // // xzXZ // y Y // // X - Positive x direction // x - Negative x direction // Y - Positive y direction // y - Negative y direction // Z - Positive z direction // z - Negative z direction // positive X cube2DViewPorts[ 0 ].set( vpWidth * 2, vpHeight, vpWidth, vpHeight ); // negative X cube2DViewPorts[ 1 ].set( 0, vpHeight, vpWidth, vpHeight ); // positive Z cube2DViewPorts[ 2 ].set( vpWidth * 3, vpHeight, vpWidth, vpHeight ); // negative Z cube2DViewPorts[ 3 ].set( vpWidth, vpHeight, vpWidth, vpHeight ); // positive Y cube2DViewPorts[ 4 ].set( vpWidth * 3, 0, vpWidth, vpHeight ); // negative Y cube2DViewPorts[ 5 ].set( vpWidth, 0, vpWidth, vpHeight ); _shadowMapSize.x *= 4.0; _shadowMapSize.y *= 2.0; } if ( shadow.map === null ) { var pars = { minFilter: NearestFilter, magFilter: NearestFilter, format: RGBAFormat }; shadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); shadow.map.texture.name = light.name + ".shadowMap"; shadowCamera.updateProjectionMatrix(); } if ( shadow.isSpotLightShadow ) { shadow.update( light ); } var shadowMap = shadow.map; var shadowMatrix = shadow.matrix; _lightPositionWorld.setFromMatrixPosition( light.matrixWorld ); shadowCamera.position.copy( _lightPositionWorld ); if ( isPointLight ) { faceCount = 6; // for point lights we set the shadow matrix to be a translation-only matrix // equal to inverse of the light's position shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z ); } else { faceCount = 1; _lookTarget.setFromMatrixPosition( light.target.matrixWorld ); shadowCamera.lookAt( _lookTarget ); shadowCamera.updateMatrixWorld(); // compute shadow matrix shadowMatrix.set( 0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0 ); shadowMatrix.multiply( shadowCamera.projectionMatrix ); shadowMatrix.multiply( shadowCamera.matrixWorldInverse ); } _renderer.setRenderTarget( shadowMap ); _renderer.clear(); // render shadow map for each cube face (if omni-directional) or // run a single pass if not for ( var face = 0; face < faceCount; face ++ ) { if ( isPointLight ) { _lookTarget.copy( shadowCamera.position ); _lookTarget.add( cubeDirections[ face ] ); shadowCamera.up.copy( cubeUps[ face ] ); shadowCamera.lookAt( _lookTarget ); shadowCamera.updateMatrixWorld(); var vpDimensions = cube2DViewPorts[ face ]; _state.viewport( vpDimensions ); } // update camera matrices and frustum _projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse ); _frustum.setFromMatrix( _projScreenMatrix ); // set object matrices & frustum culling renderObject( scene, camera, shadowCamera, isPointLight ); } } // Restore GL state. var clearColor = _renderer.getClearColor(); var clearAlpha = _renderer.getClearAlpha(); _renderer.setClearColor( clearColor, clearAlpha ); scope.needsUpdate = false; }; function getDepthMaterial( object, material, isPointLight, lightPositionWorld ) { var geometry = object.geometry; var result = null; var materialVariants = _depthMaterials; var customMaterial = object.customDepthMaterial; if ( isPointLight ) { materialVariants = _distanceMaterials; customMaterial = object.customDistanceMaterial; } if ( ! customMaterial ) { var useMorphing = false; if ( material.morphTargets ) { if ( geometry && geometry.isBufferGeometry ) { useMorphing = geometry.morphAttributes && geometry.morphAttributes.position && geometry.morphAttributes.position.length > 0; } else if ( geometry && geometry.isGeometry ) { useMorphing = geometry.morphTargets && geometry.morphTargets.length > 0; } } if ( object.isSkinnedMesh && material.skinning === false ) { console.warn( 'THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:', object ); } var useSkinning = object.isSkinnedMesh && material.skinning; var variantIndex = 0; if ( useMorphing ) variantIndex |= _MorphingFlag; if ( useSkinning ) variantIndex |= _SkinningFlag; result = materialVariants[ variantIndex ]; } else { result = customMaterial; } if ( _renderer.localClippingEnabled && material.clipShadows === true && material.clippingPlanes.length !== 0 ) { // in this case we need a unique material instance reflecting the // appropriate state var keyA = result.uuid, keyB = material.uuid; var materialsForVariant = _materialCache[ keyA ]; if ( materialsForVariant === undefined ) { materialsForVariant = {}; _materialCache[ keyA ] = materialsForVariant; } var cachedMaterial = materialsForVariant[ keyB ]; if ( cachedMaterial === undefined ) { cachedMaterial = result.clone(); materialsForVariant[ keyB ] = cachedMaterial; } result = cachedMaterial; } result.visible = material.visible; result.wireframe = material.wireframe; var side = material.side; if ( scope.renderSingleSided && side == DoubleSide ) { side = FrontSide; } if ( scope.renderReverseSided ) { if ( side === FrontSide ) side = BackSide; else if ( side === BackSide ) side = FrontSide; } result.side = side; result.clipShadows = material.clipShadows; result.clippingPlanes = material.clippingPlanes; result.clipIntersection = material.clipIntersection; result.wireframeLinewidth = material.wireframeLinewidth; result.linewidth = material.linewidth; if ( isPointLight && result.uniforms.lightPos !== undefined ) { result.uniforms.lightPos.value.copy( lightPositionWorld ); } return result; } function renderObject( object, camera, shadowCamera, isPointLight ) { if ( object.visible === false ) return; var visible = object.layers.test( camera.layers ); if ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) { if ( object.castShadow && ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) ) { object.modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld ); var geometry = _objects.update( object ); var material = object.material; if ( Array.isArray( material ) ) { var groups = geometry.groups; for ( var k = 0, kl = groups.length; k < kl; k ++ ) { var group = groups[ k ]; var groupMaterial = material[ group.materialIndex ]; if ( groupMaterial && groupMaterial.visible ) { var depthMaterial = getDepthMaterial( object, groupMaterial, isPointLight, _lightPositionWorld ); _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, group ); } } } else if ( material.visible ) { var depthMaterial = getDepthMaterial( object, material, isPointLight, _lightPositionWorld ); _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, null ); } } } var children = object.children; for ( var i = 0, l = children.length; i < l; i ++ ) { renderObject( children[ i ], camera, shadowCamera, isPointLight ); } } } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLAttributes( gl ) { var buffers = {}; function createBuffer( attribute, bufferType ) { var array = attribute.array; var usage = attribute.dynamic ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; var buffer = gl.createBuffer(); gl.bindBuffer( bufferType, buffer ); gl.bufferData( bufferType, array, usage ); attribute.onUploadCallback(); var type = gl.FLOAT; if ( array instanceof Float32Array ) { type = gl.FLOAT; } else if ( array instanceof Float64Array ) { console.warn( 'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.' ); } else if ( array instanceof Uint16Array ) { type = gl.UNSIGNED_SHORT; } else if ( array instanceof Int16Array ) { type = gl.SHORT; } else if ( array instanceof Uint32Array ) { type = gl.UNSIGNED_INT; } else if ( array instanceof Int32Array ) { type = gl.INT; } else if ( array instanceof Int8Array ) { type = gl.BYTE; } else if ( array instanceof Uint8Array ) { type = gl.UNSIGNED_BYTE; } return { buffer: buffer, type: type, bytesPerElement: array.BYTES_PER_ELEMENT, version: attribute.version }; } function updateBuffer( buffer, attribute, bufferType ) { var array = attribute.array; var updateRange = attribute.updateRange; gl.bindBuffer( bufferType, buffer ); if ( attribute.dynamic === false ) { gl.bufferData( bufferType, array, gl.STATIC_DRAW ); } else if ( updateRange.count === - 1 ) { // Not using update ranges gl.bufferSubData( bufferType, 0, array ); } else if ( updateRange.count === 0 ) { console.error( 'THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually.' ); } else { gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, array.subarray( updateRange.offset, updateRange.offset + updateRange.count ) ); updateRange.count = -1; // reset range } } // function get( attribute ) { if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; return buffers[ attribute.uuid ]; } function remove( attribute ) { if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; var data = buffers[ attribute.uuid ]; if ( data ) { gl.deleteBuffer( data.buffer ); delete buffers[ attribute.uuid ]; } } function update( attribute, bufferType ) { if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; var data = buffers[ attribute.uuid ]; if ( data === undefined ) { buffers[ attribute.uuid ] = createBuffer( attribute, bufferType ); } else if ( data.version < attribute.version ) { updateBuffer( data.buffer, attribute, bufferType ); data.version = attribute.version; } } return { get: get, remove: remove, update: update }; } /** * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley * @author bhouston / http://clara.io */ function Euler( x, y, z, order ) { this._x = x || 0; this._y = y || 0; this._z = z || 0; this._order = order || Euler.DefaultOrder; } Euler.RotationOrders = [ 'XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX' ]; Euler.DefaultOrder = 'XYZ'; Object.defineProperties( Euler.prototype, { x: { get: function () { return this._x; }, set: function ( value ) { this._x = value; this.onChangeCallback(); } }, y: { get: function () { return this._y; }, set: function ( value ) { this._y = value; this.onChangeCallback(); } }, z: { get: function () { return this._z; }, set: function ( value ) { this._z = value; this.onChangeCallback(); } }, order: { get: function () { return this._order; }, set: function ( value ) { this._order = value; this.onChangeCallback(); } } } ); Object.assign( Euler.prototype, { isEuler: true, set: function ( x, y, z, order ) { this._x = x; this._y = y; this._z = z; this._order = order || this._order; this.onChangeCallback(); return this; }, clone: function () { return new this.constructor( this._x, this._y, this._z, this._order ); }, copy: function ( euler ) { this._x = euler._x; this._y = euler._y; this._z = euler._z; this._order = euler._order; this.onChangeCallback(); return this; }, setFromRotationMatrix: function ( m, order, update ) { var clamp = _Math.clamp; // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) var te = m.elements; var m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ]; var m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ]; var m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; order = order || this._order; if ( order === 'XYZ' ) { this._y = Math.asin( clamp( m13, - 1, 1 ) ); if ( Math.abs( m13 ) < 0.99999 ) { this._x = Math.atan2( - m23, m33 ); this._z = Math.atan2( - m12, m11 ); } else { this._x = Math.atan2( m32, m22 ); this._z = 0; } } else if ( order === 'YXZ' ) { this._x = Math.asin( - clamp( m23, - 1, 1 ) ); if ( Math.abs( m23 ) < 0.99999 ) { this._y = Math.atan2( m13, m33 ); this._z = Math.atan2( m21, m22 ); } else { this._y = Math.atan2( - m31, m11 ); this._z = 0; } } else if ( order === 'ZXY' ) { this._x = Math.asin( clamp( m32, - 1, 1 ) ); if ( Math.abs( m32 ) < 0.99999 ) { this._y = Math.atan2( - m31, m33 ); this._z = Math.atan2( - m12, m22 ); } else { this._y = 0; this._z = Math.atan2( m21, m11 ); } } else if ( order === 'ZYX' ) { this._y = Math.asin( - clamp( m31, - 1, 1 ) ); if ( Math.abs( m31 ) < 0.99999 ) { this._x = Math.atan2( m32, m33 ); this._z = Math.atan2( m21, m11 ); } else { this._x = 0; this._z = Math.atan2( - m12, m22 ); } } else if ( order === 'YZX' ) { this._z = Math.asin( clamp( m21, - 1, 1 ) ); if ( Math.abs( m21 ) < 0.99999 ) { this._x = Math.atan2( - m23, m22 ); this._y = Math.atan2( - m31, m11 ); } else { this._x = 0; this._y = Math.atan2( m13, m33 ); } } else if ( order === 'XZY' ) { this._z = Math.asin( - clamp( m12, - 1, 1 ) ); if ( Math.abs( m12 ) < 0.99999 ) { this._x = Math.atan2( m32, m22 ); this._y = Math.atan2( m13, m11 ); } else { this._x = Math.atan2( - m23, m33 ); this._y = 0; } } else { console.warn( 'THREE.Euler: .setFromRotationMatrix() given unsupported order: ' + order ); } this._order = order; if ( update !== false ) this.onChangeCallback(); return this; }, setFromQuaternion: function () { var matrix = new Matrix4(); return function setFromQuaternion( q, order, update ) { matrix.makeRotationFromQuaternion( q ); return this.setFromRotationMatrix( matrix, order, update ); }; }(), setFromVector3: function ( v, order ) { return this.set( v.x, v.y, v.z, order || this._order ); }, reorder: function () { // WARNING: this discards revolution information -bhouston var q = new Quaternion(); return function reorder( newOrder ) { q.setFromEuler( this ); return this.setFromQuaternion( q, newOrder ); }; }(), equals: function ( euler ) { return ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order ); }, fromArray: function ( array ) { this._x = array[ 0 ]; this._y = array[ 1 ]; this._z = array[ 2 ]; if ( array[ 3 ] !== undefined ) this._order = array[ 3 ]; this.onChangeCallback(); return this; }, toArray: function ( array, offset ) { if ( array === undefined ) array = []; if ( offset === undefined ) offset = 0; array[ offset ] = this._x; array[ offset + 1 ] = this._y; array[ offset + 2 ] = this._z; array[ offset + 3 ] = this._order; return array; }, toVector3: function ( optionalResult ) { if ( optionalResult ) { return optionalResult.set( this._x, this._y, this._z ); } else { return new Vector3( this._x, this._y, this._z ); } }, onChange: function ( callback ) { this.onChangeCallback = callback; return this; }, onChangeCallback: function () {} } ); /** * @author mrdoob / http://mrdoob.com/ */ function Layers() { this.mask = 1 | 0; } Object.assign( Layers.prototype, { set: function ( channel ) { this.mask = 1 << channel | 0; }, enable: function ( channel ) { this.mask |= 1 << channel | 0; }, toggle: function ( channel ) { this.mask ^= 1 << channel | 0; }, disable: function ( channel ) { this.mask &= ~ ( 1 << channel | 0 ); }, test: function ( layers ) { return ( this.mask & layers.mask ) !== 0; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author WestLangley / http://github.com/WestLangley * @author elephantatwork / www.elephantatwork.ch */ var object3DId = 0; function Object3D() { Object.defineProperty( this, 'id', { value: object3DId ++ } ); this.uuid = _Math.generateUUID(); this.name = ''; this.type = 'Object3D'; this.parent = null; this.children = []; this.up = Object3D.DefaultUp.clone(); var position = new Vector3(); var rotation = new Euler(); var quaternion = new Quaternion(); var scale = new Vector3( 1, 1, 1 ); function onRotationChange() { quaternion.setFromEuler( rotation, false ); } function onQuaternionChange() { rotation.setFromQuaternion( quaternion, undefined, false ); } rotation.onChange( onRotationChange ); quaternion.onChange( onQuaternionChange ); Object.defineProperties( this, { position: { enumerable: true, value: position }, rotation: { enumerable: true, value: rotation }, quaternion: { enumerable: true, value: quaternion }, scale: { enumerable: true, value: scale }, modelViewMatrix: { value: new Matrix4() }, normalMatrix: { value: new Matrix3() } } ); this.matrix = new Matrix4(); this.matrixWorld = new Matrix4(); this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; this.matrixWorldNeedsUpdate = false; this.layers = new Layers(); this.visible = true; this.castShadow = false; this.receiveShadow = false; this.frustumCulled = true; this.renderOrder = 0; this.userData = {}; } Object3D.DefaultUp = new Vector3( 0, 1, 0 ); Object3D.DefaultMatrixAutoUpdate = true; Object.assign( Object3D.prototype, EventDispatcher.prototype, { isObject3D: true, onBeforeRender: function () {}, onAfterRender: function () {}, applyMatrix: function ( matrix ) { this.matrix.multiplyMatrices( matrix, this.matrix ); this.matrix.decompose( this.position, this.quaternion, this.scale ); }, applyQuaternion: function ( q ) { this.quaternion.premultiply( q ); return this; }, setRotationFromAxisAngle: function ( axis, angle ) { // assumes axis is normalized this.quaternion.setFromAxisAngle( axis, angle ); }, setRotationFromEuler: function ( euler ) { this.quaternion.setFromEuler( euler, true ); }, setRotationFromMatrix: function ( m ) { // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) this.quaternion.setFromRotationMatrix( m ); }, setRotationFromQuaternion: function ( q ) { // assumes q is normalized this.quaternion.copy( q ); }, rotateOnAxis: function () { // rotate object on axis in object space // axis is assumed to be normalized var q1 = new Quaternion(); return function rotateOnAxis( axis, angle ) { q1.setFromAxisAngle( axis, angle ); this.quaternion.multiply( q1 ); return this; }; }(), rotateX: function () { var v1 = new Vector3( 1, 0, 0 ); return function rotateX( angle ) { return this.rotateOnAxis( v1, angle ); }; }(), rotateY: function () { var v1 = new Vector3( 0, 1, 0 ); return function rotateY( angle ) { return this.rotateOnAxis( v1, angle ); }; }(), rotateZ: function () { var v1 = new Vector3( 0, 0, 1 ); return function rotateZ( angle ) { return this.rotateOnAxis( v1, angle ); }; }(), translateOnAxis: function () { // translate object by distance along axis in object space // axis is assumed to be normalized var v1 = new Vector3(); return function translateOnAxis( axis, distance ) { v1.copy( axis ).applyQuaternion( this.quaternion ); this.position.add( v1.multiplyScalar( distance ) ); return this; }; }(), translateX: function () { var v1 = new Vector3( 1, 0, 0 ); return function translateX( distance ) { return this.translateOnAxis( v1, distance ); }; }(), translateY: function () { var v1 = new Vector3( 0, 1, 0 ); return function translateY( distance ) { return this.translateOnAxis( v1, distance ); }; }(), translateZ: function () { var v1 = new Vector3( 0, 0, 1 ); return function translateZ( distance ) { return this.translateOnAxis( v1, distance ); }; }(), localToWorld: function ( vector ) { return vector.applyMatrix4( this.matrixWorld ); }, worldToLocal: function () { var m1 = new Matrix4(); return function worldToLocal( vector ) { return vector.applyMatrix4( m1.getInverse( this.matrixWorld ) ); }; }(), lookAt: function () { // This method does not support objects with rotated and/or translated parent(s) var m1 = new Matrix4(); return function lookAt( vector ) { if ( this.isCamera ) { m1.lookAt( this.position, vector, this.up ); } else { m1.lookAt( vector, this.position, this.up ); } this.quaternion.setFromRotationMatrix( m1 ); }; }(), add: function ( object ) { if ( arguments.length > 1 ) { for ( var i = 0; i < arguments.length; i ++ ) { this.add( arguments[ i ] ); } return this; } if ( object === this ) { console.error( "THREE.Object3D.add: object can't be added as a child of itself.", object ); return this; } if ( ( object && object.isObject3D ) ) { if ( object.parent !== null ) { object.parent.remove( object ); } object.parent = this; object.dispatchEvent( { type: 'added' } ); this.children.push( object ); } else { console.error( "THREE.Object3D.add: object not an instance of THREE.Object3D.", object ); } return this; }, remove: function ( object ) { if ( arguments.length > 1 ) { for ( var i = 0; i < arguments.length; i ++ ) { this.remove( arguments[ i ] ); } return this; } var index = this.children.indexOf( object ); if ( index !== - 1 ) { object.parent = null; object.dispatchEvent( { type: 'removed' } ); this.children.splice( index, 1 ); } return this; }, getObjectById: function ( id ) { return this.getObjectByProperty( 'id', id ); }, getObjectByName: function ( name ) { return this.getObjectByProperty( 'name', name ); }, getObjectByProperty: function ( name, value ) { if ( this[ name ] === value ) return this; for ( var i = 0, l = this.children.length; i < l; i ++ ) { var child = this.children[ i ]; var object = child.getObjectByProperty( name, value ); if ( object !== undefined ) { return object; } } return undefined; }, getWorldPosition: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); this.updateMatrixWorld( true ); return result.setFromMatrixPosition( this.matrixWorld ); }, getWorldQuaternion: function () { var position = new Vector3(); var scale = new Vector3(); return function getWorldQuaternion( optionalTarget ) { var result = optionalTarget || new Quaternion(); this.updateMatrixWorld( true ); this.matrixWorld.decompose( position, result, scale ); return result; }; }(), getWorldRotation: function () { var quaternion = new Quaternion(); return function getWorldRotation( optionalTarget ) { var result = optionalTarget || new Euler(); this.getWorldQuaternion( quaternion ); return result.setFromQuaternion( quaternion, this.rotation.order, false ); }; }(), getWorldScale: function () { var position = new Vector3(); var quaternion = new Quaternion(); return function getWorldScale( optionalTarget ) { var result = optionalTarget || new Vector3(); this.updateMatrixWorld( true ); this.matrixWorld.decompose( position, quaternion, result ); return result; }; }(), getWorldDirection: function () { var quaternion = new Quaternion(); return function getWorldDirection( optionalTarget ) { var result = optionalTarget || new Vector3(); this.getWorldQuaternion( quaternion ); return result.set( 0, 0, 1 ).applyQuaternion( quaternion ); }; }(), raycast: function () {}, traverse: function ( callback ) { callback( this ); var children = this.children; for ( var i = 0, l = children.length; i < l; i ++ ) { children[ i ].traverse( callback ); } }, traverseVisible: function ( callback ) { if ( this.visible === false ) return; callback( this ); var children = this.children; for ( var i = 0, l = children.length; i < l; i ++ ) { children[ i ].traverseVisible( callback ); } }, traverseAncestors: function ( callback ) { var parent = this.parent; if ( parent !== null ) { callback( parent ); parent.traverseAncestors( callback ); } }, updateMatrix: function () { this.matrix.compose( this.position, this.quaternion, this.scale ); this.matrixWorldNeedsUpdate = true; }, updateMatrixWorld: function ( force ) { if ( this.matrixAutoUpdate ) this.updateMatrix(); if ( this.matrixWorldNeedsUpdate || force ) { if ( this.parent === null ) { this.matrixWorld.copy( this.matrix ); } else { this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); } this.matrixWorldNeedsUpdate = false; force = true; } // update children var children = this.children; for ( var i = 0, l = children.length; i < l; i ++ ) { children[ i ].updateMatrixWorld( force ); } }, toJSON: function ( meta ) { // meta is '' when called from JSON.stringify var isRootObject = ( meta === undefined || meta === '' ); var output = {}; // meta is a hash used to collect geometries, materials. // not providing it implies that this is the root object // being serialized. if ( isRootObject ) { // initialize meta obj meta = { geometries: {}, materials: {}, textures: {}, images: {} }; output.metadata = { version: 4.5, type: 'Object', generator: 'Object3D.toJSON' }; } // standard Object3D serialization var object = {}; object.uuid = this.uuid; object.type = this.type; if ( this.name !== '' ) object.name = this.name; if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData; if ( this.castShadow === true ) object.castShadow = true; if ( this.receiveShadow === true ) object.receiveShadow = true; if ( this.visible === false ) object.visible = false; object.matrix = this.matrix.toArray(); // function serialize( library, element ) { if ( library[ element.uuid ] === undefined ) { library[ element.uuid ] = element.toJSON( meta ); } return element.uuid; } if ( this.geometry !== undefined ) { object.geometry = serialize( meta.geometries, this.geometry ); } if ( this.material !== undefined ) { if ( Array.isArray( this.material ) ) { var uuids = []; for ( var i = 0, l = this.material.length; i < l; i ++ ) { uuids.push( serialize( meta.materials, this.material[ i ] ) ); } object.material = uuids; } else { object.material = serialize( meta.materials, this.material ); } } // if ( this.children.length > 0 ) { object.children = []; for ( var i = 0; i < this.children.length; i ++ ) { object.children.push( this.children[ i ].toJSON( meta ).object ); } } if ( isRootObject ) { var geometries = extractFromCache( meta.geometries ); var materials = extractFromCache( meta.materials ); var textures = extractFromCache( meta.textures ); var images = extractFromCache( meta.images ); if ( geometries.length > 0 ) output.geometries = geometries; if ( materials.length > 0 ) output.materials = materials; if ( textures.length > 0 ) output.textures = textures; if ( images.length > 0 ) output.images = images; } output.object = object; return output; // extract data from the cache hash // remove metadata on each item // and return as array function extractFromCache( cache ) { var values = []; for ( var key in cache ) { var data = cache[ key ]; delete data.metadata; values.push( data ); } return values; } }, clone: function ( recursive ) { return new this.constructor().copy( this, recursive ); }, copy: function ( source, recursive ) { if ( recursive === undefined ) recursive = true; this.name = source.name; this.up.copy( source.up ); this.position.copy( source.position ); this.quaternion.copy( source.quaternion ); this.scale.copy( source.scale ); this.matrix.copy( source.matrix ); this.matrixWorld.copy( source.matrixWorld ); this.matrixAutoUpdate = source.matrixAutoUpdate; this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; this.layers.mask = source.layers.mask; this.visible = source.visible; this.castShadow = source.castShadow; this.receiveShadow = source.receiveShadow; this.frustumCulled = source.frustumCulled; this.renderOrder = source.renderOrder; this.userData = JSON.parse( JSON.stringify( source.userData ) ); if ( recursive === true ) { for ( var i = 0; i < source.children.length; i ++ ) { var child = source.children[ i ]; this.add( child.clone() ); } } return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author mikael emtinger / http://gomo.se/ * @author WestLangley / http://github.com/WestLangley */ function Camera() { Object3D.call( this ); this.type = 'Camera'; this.matrixWorldInverse = new Matrix4(); this.projectionMatrix = new Matrix4(); } Camera.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Camera, isCamera: true, copy: function ( source, recursive ) { Object3D.prototype.copy.call( this, source, recursive ); this.matrixWorldInverse.copy( source.matrixWorldInverse ); this.projectionMatrix.copy( source.projectionMatrix ); return this; }, getWorldDirection: function () { var quaternion = new Quaternion(); return function getWorldDirection( optionalTarget ) { var result = optionalTarget || new Vector3(); this.getWorldQuaternion( quaternion ); return result.set( 0, 0, - 1 ).applyQuaternion( quaternion ); }; }(), updateMatrixWorld: function ( force ) { Object3D.prototype.updateMatrixWorld.call( this, force ); this.matrixWorldInverse.getInverse( this.matrixWorld ); }, clone: function () { return new this.constructor().copy( this ); } } ); /** * @author alteredq / http://alteredqualia.com/ * @author arose / http://github.com/arose */ function OrthographicCamera( left, right, top, bottom, near, far ) { Camera.call( this ); this.type = 'OrthographicCamera'; this.zoom = 1; this.view = null; this.left = left; this.right = right; this.top = top; this.bottom = bottom; this.near = ( near !== undefined ) ? near : 0.1; this.far = ( far !== undefined ) ? far : 2000; this.updateProjectionMatrix(); } OrthographicCamera.prototype = Object.assign( Object.create( Camera.prototype ), { constructor: OrthographicCamera, isOrthographicCamera: true, copy: function ( source, recursive ) { Camera.prototype.copy.call( this, source, recursive ); this.left = source.left; this.right = source.right; this.top = source.top; this.bottom = source.bottom; this.near = source.near; this.far = source.far; this.zoom = source.zoom; this.view = source.view === null ? null : Object.assign( {}, source.view ); return this; }, setViewOffset: function( fullWidth, fullHeight, x, y, width, height ) { this.view = { fullWidth: fullWidth, fullHeight: fullHeight, offsetX: x, offsetY: y, width: width, height: height }; this.updateProjectionMatrix(); }, clearViewOffset: function() { this.view = null; this.updateProjectionMatrix(); }, updateProjectionMatrix: function () { var dx = ( this.right - this.left ) / ( 2 * this.zoom ); var dy = ( this.top - this.bottom ) / ( 2 * this.zoom ); var cx = ( this.right + this.left ) / 2; var cy = ( this.top + this.bottom ) / 2; var left = cx - dx; var right = cx + dx; var top = cy + dy; var bottom = cy - dy; if ( this.view !== null ) { var zoomW = this.zoom / ( this.view.width / this.view.fullWidth ); var zoomH = this.zoom / ( this.view.height / this.view.fullHeight ); var scaleW = ( this.right - this.left ) / this.view.width; var scaleH = ( this.top - this.bottom ) / this.view.height; left += scaleW * ( this.view.offsetX / zoomW ); right = left + scaleW * ( this.view.width / zoomW ); top -= scaleH * ( this.view.offsetY / zoomH ); bottom = top - scaleH * ( this.view.height / zoomH ); } this.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far ); }, toJSON: function ( meta ) { var data = Object3D.prototype.toJSON.call( this, meta ); data.object.zoom = this.zoom; data.object.left = this.left; data.object.right = this.right; data.object.top = this.top; data.object.bottom = this.bottom; data.object.near = this.near; data.object.far = this.far; if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); return data; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author greggman / http://games.greggman.com/ * @author zz85 / http://www.lab4games.net/zz85/blog * @author tschw */ function PerspectiveCamera( fov, aspect, near, far ) { Camera.call( this ); this.type = 'PerspectiveCamera'; this.fov = fov !== undefined ? fov : 50; this.zoom = 1; this.near = near !== undefined ? near : 0.1; this.far = far !== undefined ? far : 2000; this.focus = 10; this.aspect = aspect !== undefined ? aspect : 1; this.view = null; this.filmGauge = 35; // width of the film (default in millimeters) this.filmOffset = 0; // horizontal film offset (same unit as gauge) this.updateProjectionMatrix(); } PerspectiveCamera.prototype = Object.assign( Object.create( Camera.prototype ), { constructor: PerspectiveCamera, isPerspectiveCamera: true, copy: function ( source, recursive ) { Camera.prototype.copy.call( this, source, recursive ); this.fov = source.fov; this.zoom = source.zoom; this.near = source.near; this.far = source.far; this.focus = source.focus; this.aspect = source.aspect; this.view = source.view === null ? null : Object.assign( {}, source.view ); this.filmGauge = source.filmGauge; this.filmOffset = source.filmOffset; return this; }, /** * Sets the FOV by focal length in respect to the current .filmGauge. * * The default film gauge is 35, so that the focal length can be specified for * a 35mm (full frame) camera. * * Values for focal length and film gauge must have the same unit. */ setFocalLength: function ( focalLength ) { // see http://www.bobatkins.com/photography/technical/field_of_view.html var vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; this.fov = _Math.RAD2DEG * 2 * Math.atan( vExtentSlope ); this.updateProjectionMatrix(); }, /** * Calculates the focal length from the current .fov and .filmGauge. */ getFocalLength: function () { var vExtentSlope = Math.tan( _Math.DEG2RAD * 0.5 * this.fov ); return 0.5 * this.getFilmHeight() / vExtentSlope; }, getEffectiveFOV: function () { return _Math.RAD2DEG * 2 * Math.atan( Math.tan( _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom ); }, getFilmWidth: function () { // film not completely covered in portrait format (aspect < 1) return this.filmGauge * Math.min( this.aspect, 1 ); }, getFilmHeight: function () { // film not completely covered in landscape format (aspect > 1) return this.filmGauge / Math.max( this.aspect, 1 ); }, /** * Sets an offset in a larger frustum. This is useful for multi-window or * multi-monitor/multi-machine setups. * * For example, if you have 3x2 monitors and each monitor is 1920x1080 and * the monitors are in grid like this * * +---+---+---+ * | A | B | C | * +---+---+---+ * | D | E | F | * +---+---+---+ * * then for each monitor you would call it like this * * var w = 1920; * var h = 1080; * var fullWidth = w * 3; * var fullHeight = h * 2; * * --A-- * camera.setOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); * --B-- * camera.setOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); * --C-- * camera.setOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); * --D-- * camera.setOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); * --E-- * camera.setOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); * --F-- * camera.setOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); * * Note there is no reason monitors have to be the same size or in a grid. */ setViewOffset: function ( fullWidth, fullHeight, x, y, width, height ) { this.aspect = fullWidth / fullHeight; this.view = { fullWidth: fullWidth, fullHeight: fullHeight, offsetX: x, offsetY: y, width: width, height: height }; this.updateProjectionMatrix(); }, clearViewOffset: function () { this.view = null; this.updateProjectionMatrix(); }, updateProjectionMatrix: function () { var near = this.near, top = near * Math.tan( _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom, height = 2 * top, width = this.aspect * height, left = - 0.5 * width, view = this.view; if ( view !== null ) { var fullWidth = view.fullWidth, fullHeight = view.fullHeight; left += view.offsetX * width / fullWidth; top -= view.offsetY * height / fullHeight; width *= view.width / fullWidth; height *= view.height / fullHeight; } var skew = this.filmOffset; if ( skew !== 0 ) left += near * skew / this.getFilmWidth(); this.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far ); }, toJSON: function ( meta ) { var data = Object3D.prototype.toJSON.call( this, meta ); data.object.fov = this.fov; data.object.zoom = this.zoom; data.object.near = this.near; data.object.far = this.far; data.object.focus = this.focus; data.object.aspect = this.aspect; if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); data.object.filmGauge = this.filmGauge; data.object.filmOffset = this.filmOffset; return data; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function Face3( a, b, c, normal, color, materialIndex ) { this.a = a; this.b = b; this.c = c; this.normal = ( normal && normal.isVector3 ) ? normal : new Vector3(); this.vertexNormals = Array.isArray( normal ) ? normal : []; this.color = ( color && color.isColor ) ? color : new Color(); this.vertexColors = Array.isArray( color ) ? color : []; this.materialIndex = materialIndex !== undefined ? materialIndex : 0; } Object.assign( Face3.prototype, { clone: function () { return new this.constructor().copy( this ); }, copy: function ( source ) { this.a = source.a; this.b = source.b; this.c = source.c; this.normal.copy( source.normal ); this.color.copy( source.color ); this.materialIndex = source.materialIndex; for ( var i = 0, il = source.vertexNormals.length; i < il; i ++ ) { this.vertexNormals[ i ] = source.vertexNormals[ i ].clone(); } for ( var i = 0, il = source.vertexColors.length; i < il; i ++ ) { this.vertexColors[ i ] = source.vertexColors[ i ].clone(); } return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author kile / http://kile.stravaganza.org/ * @author alteredq / http://alteredqualia.com/ * @author mikael emtinger / http://gomo.se/ * @author zz85 / http://www.lab4games.net/zz85/blog * @author bhouston / http://clara.io */ var count = 0; function GeometryIdCount() { return count++; } function Geometry() { Object.defineProperty( this, 'id', { value: GeometryIdCount() } ); this.uuid = _Math.generateUUID(); this.name = ''; this.type = 'Geometry'; this.vertices = []; this.colors = []; this.faces = []; this.faceVertexUvs = [[]]; this.morphTargets = []; this.morphNormals = []; this.skinWeights = []; this.skinIndices = []; this.lineDistances = []; this.boundingBox = null; this.boundingSphere = null; // update flags this.elementsNeedUpdate = false; this.verticesNeedUpdate = false; this.uvsNeedUpdate = false; this.normalsNeedUpdate = false; this.colorsNeedUpdate = false; this.lineDistancesNeedUpdate = false; this.groupsNeedUpdate = false; } Object.assign( Geometry.prototype, EventDispatcher.prototype, { isGeometry: true, applyMatrix: function ( matrix ) { var normalMatrix = new Matrix3().getNormalMatrix( matrix ); for ( var i = 0, il = this.vertices.length; i < il; i ++ ) { var vertex = this.vertices[ i ]; vertex.applyMatrix4( matrix ); } for ( var i = 0, il = this.faces.length; i < il; i ++ ) { var face = this.faces[ i ]; face.normal.applyMatrix3( normalMatrix ).normalize(); for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { face.vertexNormals[ j ].applyMatrix3( normalMatrix ).normalize(); } } if ( this.boundingBox !== null ) { this.computeBoundingBox(); } if ( this.boundingSphere !== null ) { this.computeBoundingSphere(); } this.verticesNeedUpdate = true; this.normalsNeedUpdate = true; return this; }, rotateX: function () { // rotate geometry around world x-axis var m1 = new Matrix4(); return function rotateX( angle ) { m1.makeRotationX( angle ); this.applyMatrix( m1 ); return this; }; }(), rotateY: function () { // rotate geometry around world y-axis var m1 = new Matrix4(); return function rotateY( angle ) { m1.makeRotationY( angle ); this.applyMatrix( m1 ); return this; }; }(), rotateZ: function () { // rotate geometry around world z-axis var m1 = new Matrix4(); return function rotateZ( angle ) { m1.makeRotationZ( angle ); this.applyMatrix( m1 ); return this; }; }(), translate: function () { // translate geometry var m1 = new Matrix4(); return function translate( x, y, z ) { m1.makeTranslation( x, y, z ); this.applyMatrix( m1 ); return this; }; }(), scale: function () { // scale geometry var m1 = new Matrix4(); return function scale( x, y, z ) { m1.makeScale( x, y, z ); this.applyMatrix( m1 ); return this; }; }(), lookAt: function () { var obj = new Object3D(); return function lookAt( vector ) { obj.lookAt( vector ); obj.updateMatrix(); this.applyMatrix( obj.matrix ); }; }(), fromBufferGeometry: function ( geometry ) { var scope = this; var indices = geometry.index !== null ? geometry.index.array : undefined; var attributes = geometry.attributes; var positions = attributes.position.array; var normals = attributes.normal !== undefined ? attributes.normal.array : undefined; var colors = attributes.color !== undefined ? attributes.color.array : undefined; var uvs = attributes.uv !== undefined ? attributes.uv.array : undefined; var uvs2 = attributes.uv2 !== undefined ? attributes.uv2.array : undefined; if ( uvs2 !== undefined ) this.faceVertexUvs[ 1 ] = []; var tempNormals = []; var tempUVs = []; var tempUVs2 = []; for ( var i = 0, j = 0; i < positions.length; i += 3, j += 2 ) { scope.vertices.push( new Vector3( positions[ i ], positions[ i + 1 ], positions[ i + 2 ] ) ); if ( normals !== undefined ) { tempNormals.push( new Vector3( normals[ i ], normals[ i + 1 ], normals[ i + 2 ] ) ); } if ( colors !== undefined ) { scope.colors.push( new Color( colors[ i ], colors[ i + 1 ], colors[ i + 2 ] ) ); } if ( uvs !== undefined ) { tempUVs.push( new Vector2( uvs[ j ], uvs[ j + 1 ] ) ); } if ( uvs2 !== undefined ) { tempUVs2.push( new Vector2( uvs2[ j ], uvs2[ j + 1 ] ) ); } } function addFace( a, b, c, materialIndex ) { var vertexNormals = normals !== undefined ? [ tempNormals[ a ].clone(), tempNormals[ b ].clone(), tempNormals[ c ].clone() ] : []; var vertexColors = colors !== undefined ? [ scope.colors[ a ].clone(), scope.colors[ b ].clone(), scope.colors[ c ].clone() ] : []; var face = new Face3( a, b, c, vertexNormals, vertexColors, materialIndex ); scope.faces.push( face ); if ( uvs !== undefined ) { scope.faceVertexUvs[ 0 ].push( [ tempUVs[ a ].clone(), tempUVs[ b ].clone(), tempUVs[ c ].clone() ] ); } if ( uvs2 !== undefined ) { scope.faceVertexUvs[ 1 ].push( [ tempUVs2[ a ].clone(), tempUVs2[ b ].clone(), tempUVs2[ c ].clone() ] ); } } var groups = geometry.groups; if ( groups.length > 0 ) { for ( var i = 0; i < groups.length; i ++ ) { var group = groups[ i ]; var start = group.start; var count = group.count; for ( var j = start, jl = start + count; j < jl; j += 3 ) { if ( indices !== undefined ) { addFace( indices[ j ], indices[ j + 1 ], indices[ j + 2 ], group.materialIndex ); } else { addFace( j, j + 1, j + 2, group.materialIndex ); } } } } else { if ( indices !== undefined ) { for ( var i = 0; i < indices.length; i += 3 ) { addFace( indices[ i ], indices[ i + 1 ], indices[ i + 2 ] ); } } else { for ( var i = 0; i < positions.length / 3; i += 3 ) { addFace( i, i + 1, i + 2 ); } } } this.computeFaceNormals(); if ( geometry.boundingBox !== null ) { this.boundingBox = geometry.boundingBox.clone(); } if ( geometry.boundingSphere !== null ) { this.boundingSphere = geometry.boundingSphere.clone(); } return this; }, center: function () { this.computeBoundingBox(); var offset = this.boundingBox.getCenter().negate(); this.translate( offset.x, offset.y, offset.z ); return offset; }, normalize: function () { this.computeBoundingSphere(); var center = this.boundingSphere.center; var radius = this.boundingSphere.radius; var s = radius === 0 ? 1 : 1.0 / radius; var matrix = new Matrix4(); matrix.set( s, 0, 0, - s * center.x, 0, s, 0, - s * center.y, 0, 0, s, - s * center.z, 0, 0, 0, 1 ); this.applyMatrix( matrix ); return this; }, computeFaceNormals: function () { var cb = new Vector3(), ab = new Vector3(); for ( var f = 0, fl = this.faces.length; f < fl; f ++ ) { var face = this.faces[ f ]; var vA = this.vertices[ face.a ]; var vB = this.vertices[ face.b ]; var vC = this.vertices[ face.c ]; cb.subVectors( vC, vB ); ab.subVectors( vA, vB ); cb.cross( ab ); cb.normalize(); face.normal.copy( cb ); } }, computeVertexNormals: function ( areaWeighted ) { if ( areaWeighted === undefined ) areaWeighted = true; var v, vl, f, fl, face, vertices; vertices = new Array( this.vertices.length ); for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { vertices[ v ] = new Vector3(); } if ( areaWeighted ) { // vertex normals weighted by triangle areas // http://www.iquilezles.org/www/articles/normals/normals.htm var vA, vB, vC; var cb = new Vector3(), ab = new Vector3(); for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; vA = this.vertices[ face.a ]; vB = this.vertices[ face.b ]; vC = this.vertices[ face.c ]; cb.subVectors( vC, vB ); ab.subVectors( vA, vB ); cb.cross( ab ); vertices[ face.a ].add( cb ); vertices[ face.b ].add( cb ); vertices[ face.c ].add( cb ); } } else { this.computeFaceNormals(); for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; vertices[ face.a ].add( face.normal ); vertices[ face.b ].add( face.normal ); vertices[ face.c ].add( face.normal ); } } for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { vertices[ v ].normalize(); } for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; var vertexNormals = face.vertexNormals; if ( vertexNormals.length === 3 ) { vertexNormals[ 0 ].copy( vertices[ face.a ] ); vertexNormals[ 1 ].copy( vertices[ face.b ] ); vertexNormals[ 2 ].copy( vertices[ face.c ] ); } else { vertexNormals[ 0 ] = vertices[ face.a ].clone(); vertexNormals[ 1 ] = vertices[ face.b ].clone(); vertexNormals[ 2 ] = vertices[ face.c ].clone(); } } if ( this.faces.length > 0 ) { this.normalsNeedUpdate = true; } }, computeFlatVertexNormals: function () { var f, fl, face; this.computeFaceNormals(); for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; var vertexNormals = face.vertexNormals; if ( vertexNormals.length === 3 ) { vertexNormals[ 0 ].copy( face.normal ); vertexNormals[ 1 ].copy( face.normal ); vertexNormals[ 2 ].copy( face.normal ); } else { vertexNormals[ 0 ] = face.normal.clone(); vertexNormals[ 1 ] = face.normal.clone(); vertexNormals[ 2 ] = face.normal.clone(); } } if ( this.faces.length > 0 ) { this.normalsNeedUpdate = true; } }, computeMorphNormals: function () { var i, il, f, fl, face; // save original normals // - create temp variables on first access // otherwise just copy (for faster repeated calls) for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; if ( ! face.__originalFaceNormal ) { face.__originalFaceNormal = face.normal.clone(); } else { face.__originalFaceNormal.copy( face.normal ); } if ( ! face.__originalVertexNormals ) face.__originalVertexNormals = []; for ( i = 0, il = face.vertexNormals.length; i < il; i ++ ) { if ( ! face.__originalVertexNormals[ i ] ) { face.__originalVertexNormals[ i ] = face.vertexNormals[ i ].clone(); } else { face.__originalVertexNormals[ i ].copy( face.vertexNormals[ i ] ); } } } // use temp geometry to compute face and vertex normals for each morph var tmpGeo = new Geometry(); tmpGeo.faces = this.faces; for ( i = 0, il = this.morphTargets.length; i < il; i ++ ) { // create on first access if ( ! this.morphNormals[ i ] ) { this.morphNormals[ i ] = {}; this.morphNormals[ i ].faceNormals = []; this.morphNormals[ i ].vertexNormals = []; var dstNormalsFace = this.morphNormals[ i ].faceNormals; var dstNormalsVertex = this.morphNormals[ i ].vertexNormals; var faceNormal, vertexNormals; for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { faceNormal = new Vector3(); vertexNormals = { a: new Vector3(), b: new Vector3(), c: new Vector3() }; dstNormalsFace.push( faceNormal ); dstNormalsVertex.push( vertexNormals ); } } var morphNormals = this.morphNormals[ i ]; // set vertices to morph target tmpGeo.vertices = this.morphTargets[ i ].vertices; // compute morph normals tmpGeo.computeFaceNormals(); tmpGeo.computeVertexNormals(); // store morph normals var faceNormal, vertexNormals; for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; faceNormal = morphNormals.faceNormals[ f ]; vertexNormals = morphNormals.vertexNormals[ f ]; faceNormal.copy( face.normal ); vertexNormals.a.copy( face.vertexNormals[ 0 ] ); vertexNormals.b.copy( face.vertexNormals[ 1 ] ); vertexNormals.c.copy( face.vertexNormals[ 2 ] ); } } // restore original normals for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { face = this.faces[ f ]; face.normal = face.__originalFaceNormal; face.vertexNormals = face.__originalVertexNormals; } }, computeLineDistances: function () { var d = 0; var vertices = this.vertices; for ( var i = 0, il = vertices.length; i < il; i ++ ) { if ( i > 0 ) { d += vertices[ i ].distanceTo( vertices[ i - 1 ] ); } this.lineDistances[ i ] = d; } }, computeBoundingBox: function () { if ( this.boundingBox === null ) { this.boundingBox = new Box3(); } this.boundingBox.setFromPoints( this.vertices ); }, computeBoundingSphere: function () { if ( this.boundingSphere === null ) { this.boundingSphere = new Sphere(); } this.boundingSphere.setFromPoints( this.vertices ); }, merge: function ( geometry, matrix, materialIndexOffset ) { if ( ! ( geometry && geometry.isGeometry ) ) { console.error( 'THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.', geometry ); return; } var normalMatrix, vertexOffset = this.vertices.length, vertices1 = this.vertices, vertices2 = geometry.vertices, faces1 = this.faces, faces2 = geometry.faces, uvs1 = this.faceVertexUvs[ 0 ], uvs2 = geometry.faceVertexUvs[ 0 ], colors1 = this.colors, colors2 = geometry.colors; if ( materialIndexOffset === undefined ) materialIndexOffset = 0; if ( matrix !== undefined ) { normalMatrix = new Matrix3().getNormalMatrix( matrix ); } // vertices for ( var i = 0, il = vertices2.length; i < il; i ++ ) { var vertex = vertices2[ i ]; var vertexCopy = vertex.clone(); if ( matrix !== undefined ) vertexCopy.applyMatrix4( matrix ); vertices1.push( vertexCopy ); } // colors for ( var i = 0, il = colors2.length; i < il; i ++ ) { colors1.push( colors2[ i ].clone() ); } // faces for ( i = 0, il = faces2.length; i < il; i ++ ) { var face = faces2[ i ], faceCopy, normal, color, faceVertexNormals = face.vertexNormals, faceVertexColors = face.vertexColors; faceCopy = new Face3( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset ); faceCopy.normal.copy( face.normal ); if ( normalMatrix !== undefined ) { faceCopy.normal.applyMatrix3( normalMatrix ).normalize(); } for ( var j = 0, jl = faceVertexNormals.length; j < jl; j ++ ) { normal = faceVertexNormals[ j ].clone(); if ( normalMatrix !== undefined ) { normal.applyMatrix3( normalMatrix ).normalize(); } faceCopy.vertexNormals.push( normal ); } faceCopy.color.copy( face.color ); for ( var j = 0, jl = faceVertexColors.length; j < jl; j ++ ) { color = faceVertexColors[ j ]; faceCopy.vertexColors.push( color.clone() ); } faceCopy.materialIndex = face.materialIndex + materialIndexOffset; faces1.push( faceCopy ); } // uvs for ( i = 0, il = uvs2.length; i < il; i ++ ) { var uv = uvs2[ i ], uvCopy = []; if ( uv === undefined ) { continue; } for ( var j = 0, jl = uv.length; j < jl; j ++ ) { uvCopy.push( uv[ j ].clone() ); } uvs1.push( uvCopy ); } }, mergeMesh: function ( mesh ) { if ( ! ( mesh && mesh.isMesh ) ) { console.error( 'THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.', mesh ); return; } mesh.matrixAutoUpdate && mesh.updateMatrix(); this.merge( mesh.geometry, mesh.matrix ); }, /* * Checks for duplicate vertices with hashmap. * Duplicated vertices are removed * and faces' vertices are updated. */ mergeVertices: function () { var verticesMap = {}; // Hashmap for looking up vertices by position coordinates (and making sure they are unique) var unique = [], changes = []; var v, key; var precisionPoints = 4; // number of decimal points, e.g. 4 for epsilon of 0.0001 var precision = Math.pow( 10, precisionPoints ); var i, il, face; var indices, j, jl; for ( i = 0, il = this.vertices.length; i < il; i ++ ) { v = this.vertices[ i ]; key = Math.round( v.x * precision ) + '_' + Math.round( v.y * precision ) + '_' + Math.round( v.z * precision ); if ( verticesMap[ key ] === undefined ) { verticesMap[ key ] = i; unique.push( this.vertices[ i ] ); changes[ i ] = unique.length - 1; } else { //console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]); changes[ i ] = changes[ verticesMap[ key ] ]; } } // if faces are completely degenerate after merging vertices, we // have to remove them from the geometry. var faceIndicesToRemove = []; for ( i = 0, il = this.faces.length; i < il; i ++ ) { face = this.faces[ i ]; face.a = changes[ face.a ]; face.b = changes[ face.b ]; face.c = changes[ face.c ]; indices = [ face.a, face.b, face.c ]; // if any duplicate vertices are found in a Face3 // we have to remove the face as nothing can be saved for ( var n = 0; n < 3; n ++ ) { if ( indices[ n ] === indices[ ( n + 1 ) % 3 ] ) { faceIndicesToRemove.push( i ); break; } } } for ( i = faceIndicesToRemove.length - 1; i >= 0; i -- ) { var idx = faceIndicesToRemove[ i ]; this.faces.splice( idx, 1 ); for ( j = 0, jl = this.faceVertexUvs.length; j < jl; j ++ ) { this.faceVertexUvs[ j ].splice( idx, 1 ); } } // Use unique set of vertices var diff = this.vertices.length - unique.length; this.vertices = unique; return diff; }, sortFacesByMaterialIndex: function () { var faces = this.faces; var length = faces.length; // tag faces for ( var i = 0; i < length; i ++ ) { faces[ i ]._id = i; } // sort faces function materialIndexSort( a, b ) { return a.materialIndex - b.materialIndex; } faces.sort( materialIndexSort ); // sort uvs var uvs1 = this.faceVertexUvs[ 0 ]; var uvs2 = this.faceVertexUvs[ 1 ]; var newUvs1, newUvs2; if ( uvs1 && uvs1.length === length ) newUvs1 = []; if ( uvs2 && uvs2.length === length ) newUvs2 = []; for ( var i = 0; i < length; i ++ ) { var id = faces[ i ]._id; if ( newUvs1 ) newUvs1.push( uvs1[ id ] ); if ( newUvs2 ) newUvs2.push( uvs2[ id ] ); } if ( newUvs1 ) this.faceVertexUvs[ 0 ] = newUvs1; if ( newUvs2 ) this.faceVertexUvs[ 1 ] = newUvs2; }, toJSON: function () { var data = { metadata: { version: 4.5, type: 'Geometry', generator: 'Geometry.toJSON' } }; // standard Geometry serialization data.uuid = this.uuid; data.type = this.type; if ( this.name !== '' ) data.name = this.name; if ( this.parameters !== undefined ) { var parameters = this.parameters; for ( var key in parameters ) { if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; } return data; } var vertices = []; for ( var i = 0; i < this.vertices.length; i ++ ) { var vertex = this.vertices[ i ]; vertices.push( vertex.x, vertex.y, vertex.z ); } var faces = []; var normals = []; var normalsHash = {}; var colors = []; var colorsHash = {}; var uvs = []; var uvsHash = {}; for ( var i = 0; i < this.faces.length; i ++ ) { var face = this.faces[ i ]; var hasMaterial = true; var hasFaceUv = false; // deprecated var hasFaceVertexUv = this.faceVertexUvs[ 0 ][ i ] !== undefined; var hasFaceNormal = face.normal.length() > 0; var hasFaceVertexNormal = face.vertexNormals.length > 0; var hasFaceColor = face.color.r !== 1 || face.color.g !== 1 || face.color.b !== 1; var hasFaceVertexColor = face.vertexColors.length > 0; var faceType = 0; faceType = setBit( faceType, 0, 0 ); // isQuad faceType = setBit( faceType, 1, hasMaterial ); faceType = setBit( faceType, 2, hasFaceUv ); faceType = setBit( faceType, 3, hasFaceVertexUv ); faceType = setBit( faceType, 4, hasFaceNormal ); faceType = setBit( faceType, 5, hasFaceVertexNormal ); faceType = setBit( faceType, 6, hasFaceColor ); faceType = setBit( faceType, 7, hasFaceVertexColor ); faces.push( faceType ); faces.push( face.a, face.b, face.c ); faces.push( face.materialIndex ); if ( hasFaceVertexUv ) { var faceVertexUvs = this.faceVertexUvs[ 0 ][ i ]; faces.push( getUvIndex( faceVertexUvs[ 0 ] ), getUvIndex( faceVertexUvs[ 1 ] ), getUvIndex( faceVertexUvs[ 2 ] ) ); } if ( hasFaceNormal ) { faces.push( getNormalIndex( face.normal ) ); } if ( hasFaceVertexNormal ) { var vertexNormals = face.vertexNormals; faces.push( getNormalIndex( vertexNormals[ 0 ] ), getNormalIndex( vertexNormals[ 1 ] ), getNormalIndex( vertexNormals[ 2 ] ) ); } if ( hasFaceColor ) { faces.push( getColorIndex( face.color ) ); } if ( hasFaceVertexColor ) { var vertexColors = face.vertexColors; faces.push( getColorIndex( vertexColors[ 0 ] ), getColorIndex( vertexColors[ 1 ] ), getColorIndex( vertexColors[ 2 ] ) ); } } function setBit( value, position, enabled ) { return enabled ? value | ( 1 << position ) : value & ( ~ ( 1 << position ) ); } function getNormalIndex( normal ) { var hash = normal.x.toString() + normal.y.toString() + normal.z.toString(); if ( normalsHash[ hash ] !== undefined ) { return normalsHash[ hash ]; } normalsHash[ hash ] = normals.length / 3; normals.push( normal.x, normal.y, normal.z ); return normalsHash[ hash ]; } function getColorIndex( color ) { var hash = color.r.toString() + color.g.toString() + color.b.toString(); if ( colorsHash[ hash ] !== undefined ) { return colorsHash[ hash ]; } colorsHash[ hash ] = colors.length; colors.push( color.getHex() ); return colorsHash[ hash ]; } function getUvIndex( uv ) { var hash = uv.x.toString() + uv.y.toString(); if ( uvsHash[ hash ] !== undefined ) { return uvsHash[ hash ]; } uvsHash[ hash ] = uvs.length / 2; uvs.push( uv.x, uv.y ); return uvsHash[ hash ]; } data.data = {}; data.data.vertices = vertices; data.data.normals = normals; if ( colors.length > 0 ) data.data.colors = colors; if ( uvs.length > 0 ) data.data.uvs = [ uvs ]; // temporal backward compatibility data.data.faces = faces; return data; }, clone: function () { /* // Handle primitives var parameters = this.parameters; if ( parameters !== undefined ) { var values = []; for ( var key in parameters ) { values.push( parameters[ key ] ); } var geometry = Object.create( this.constructor.prototype ); this.constructor.apply( geometry, values ); return geometry; } return new this.constructor().copy( this ); */ return new Geometry().copy( this ); }, copy: function ( source ) { var i, il, j, jl, k, kl; // reset this.vertices = []; this.colors = []; this.faces = []; this.faceVertexUvs = [[]]; this.morphTargets = []; this.morphNormals = []; this.skinWeights = []; this.skinIndices = []; this.lineDistances = []; this.boundingBox = null; this.boundingSphere = null; // name this.name = source.name; // vertices var vertices = source.vertices; for ( i = 0, il = vertices.length; i < il; i ++ ) { this.vertices.push( vertices[ i ].clone() ); } // colors var colors = source.colors; for ( i = 0, il = colors.length; i < il; i ++ ) { this.colors.push( colors[ i ].clone() ); } // faces var faces = source.faces; for ( i = 0, il = faces.length; i < il; i ++ ) { this.faces.push( faces[ i ].clone() ); } // face vertex uvs for ( i = 0, il = source.faceVertexUvs.length; i < il; i ++ ) { var faceVertexUvs = source.faceVertexUvs[ i ]; if ( this.faceVertexUvs[ i ] === undefined ) { this.faceVertexUvs[ i ] = []; } for ( j = 0, jl = faceVertexUvs.length; j < jl; j ++ ) { var uvs = faceVertexUvs[ j ], uvsCopy = []; for ( k = 0, kl = uvs.length; k < kl; k ++ ) { var uv = uvs[ k ]; uvsCopy.push( uv.clone() ); } this.faceVertexUvs[ i ].push( uvsCopy ); } } // morph targets var morphTargets = source.morphTargets; for ( i = 0, il = morphTargets.length; i < il; i ++ ) { var morphTarget = {}; morphTarget.name = morphTargets[ i ].name; // vertices if ( morphTargets[ i ].vertices !== undefined ) { morphTarget.vertices = []; for ( j = 0, jl = morphTargets[ i ].vertices.length; j < jl; j ++ ) { morphTarget.vertices.push( morphTargets[ i ].vertices[ j ].clone() ); } } // normals if ( morphTargets[ i ].normals !== undefined ) { morphTarget.normals = []; for ( j = 0, jl = morphTargets[ i ].normals.length; j < jl; j ++ ) { morphTarget.normals.push( morphTargets[ i ].normals[ j ].clone() ); } } this.morphTargets.push( morphTarget ); } // morph normals var morphNormals = source.morphNormals; for ( i = 0, il = morphNormals.length; i < il; i ++ ) { var morphNormal = {}; // vertex normals if ( morphNormals[ i ].vertexNormals !== undefined ) { morphNormal.vertexNormals = []; for ( j = 0, jl = morphNormals[ i ].vertexNormals.length; j < jl; j ++ ) { var srcVertexNormal = morphNormals[ i ].vertexNormals[ j ]; var destVertexNormal = {}; destVertexNormal.a = srcVertexNormal.a.clone(); destVertexNormal.b = srcVertexNormal.b.clone(); destVertexNormal.c = srcVertexNormal.c.clone(); morphNormal.vertexNormals.push( destVertexNormal ); } } // face normals if ( morphNormals[ i ].faceNormals !== undefined ) { morphNormal.faceNormals = []; for ( j = 0, jl = morphNormals[ i ].faceNormals.length; j < jl; j ++ ) { morphNormal.faceNormals.push( morphNormals[ i ].faceNormals[ j ].clone() ); } } this.morphNormals.push( morphNormal ); } // skin weights var skinWeights = source.skinWeights; for ( i = 0, il = skinWeights.length; i < il; i ++ ) { this.skinWeights.push( skinWeights[ i ].clone() ); } // skin indices var skinIndices = source.skinIndices; for ( i = 0, il = skinIndices.length; i < il; i ++ ) { this.skinIndices.push( skinIndices[ i ].clone() ); } // line distances var lineDistances = source.lineDistances; for ( i = 0, il = lineDistances.length; i < il; i ++ ) { this.lineDistances.push( lineDistances[ i ] ); } // bounding box var boundingBox = source.boundingBox; if ( boundingBox !== null ) { this.boundingBox = boundingBox.clone(); } // bounding sphere var boundingSphere = source.boundingSphere; if ( boundingSphere !== null ) { this.boundingSphere = boundingSphere.clone(); } // update flags this.elementsNeedUpdate = source.elementsNeedUpdate; this.verticesNeedUpdate = source.verticesNeedUpdate; this.uvsNeedUpdate = source.uvsNeedUpdate; this.normalsNeedUpdate = source.normalsNeedUpdate; this.colorsNeedUpdate = source.colorsNeedUpdate; this.lineDistancesNeedUpdate = source.lineDistancesNeedUpdate; this.groupsNeedUpdate = source.groupsNeedUpdate; return this; }, dispose: function () { this.dispatchEvent( { type: 'dispose' } ); } } ); /** * @author mrdoob / http://mrdoob.com/ */ function BufferAttribute( array, itemSize, normalized ) { if ( Array.isArray( array ) ) { throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); } this.uuid = _Math.generateUUID(); this.name = ''; this.array = array; this.itemSize = itemSize; this.count = array !== undefined ? array.length / itemSize : 0; this.normalized = normalized === true; this.dynamic = false; this.updateRange = { offset: 0, count: - 1 }; this.onUploadCallback = function () {}; this.version = 0; } Object.defineProperty( BufferAttribute.prototype, 'needsUpdate', { set: function ( value ) { if ( value === true ) this.version ++; } } ); Object.assign( BufferAttribute.prototype, { isBufferAttribute: true, setArray: function ( array ) { if ( Array.isArray( array ) ) { throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); } this.count = array !== undefined ? array.length / this.itemSize : 0; this.array = array; }, setDynamic: function ( value ) { this.dynamic = value; return this; }, copy: function ( source ) { this.array = new source.array.constructor( source.array ); this.itemSize = source.itemSize; this.count = source.count; this.normalized = source.normalized; this.dynamic = source.dynamic; return this; }, copyAt: function ( index1, attribute, index2 ) { index1 *= this.itemSize; index2 *= attribute.itemSize; for ( var i = 0, l = this.itemSize; i < l; i ++ ) { this.array[ index1 + i ] = attribute.array[ index2 + i ]; } return this; }, copyArray: function ( array ) { this.array.set( array ); return this; }, copyColorsArray: function ( colors ) { var array = this.array, offset = 0; for ( var i = 0, l = colors.length; i < l; i ++ ) { var color = colors[ i ]; if ( color === undefined ) { console.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i ); color = new Color(); } array[ offset ++ ] = color.r; array[ offset ++ ] = color.g; array[ offset ++ ] = color.b; } return this; }, copyIndicesArray: function ( indices ) { var array = this.array, offset = 0; for ( var i = 0, l = indices.length; i < l; i ++ ) { var index = indices[ i ]; array[ offset ++ ] = index.a; array[ offset ++ ] = index.b; array[ offset ++ ] = index.c; } return this; }, copyVector2sArray: function ( vectors ) { var array = this.array, offset = 0; for ( var i = 0, l = vectors.length; i < l; i ++ ) { var vector = vectors[ i ]; if ( vector === undefined ) { console.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i ); vector = new Vector2(); } array[ offset ++ ] = vector.x; array[ offset ++ ] = vector.y; } return this; }, copyVector3sArray: function ( vectors ) { var array = this.array, offset = 0; for ( var i = 0, l = vectors.length; i < l; i ++ ) { var vector = vectors[ i ]; if ( vector === undefined ) { console.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i ); vector = new Vector3(); } array[ offset ++ ] = vector.x; array[ offset ++ ] = vector.y; array[ offset ++ ] = vector.z; } return this; }, copyVector4sArray: function ( vectors ) { var array = this.array, offset = 0; for ( var i = 0, l = vectors.length; i < l; i ++ ) { var vector = vectors[ i ]; if ( vector === undefined ) { console.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i ); vector = new Vector4(); } array[ offset ++ ] = vector.x; array[ offset ++ ] = vector.y; array[ offset ++ ] = vector.z; array[ offset ++ ] = vector.w; } return this; }, set: function ( value, offset ) { if ( offset === undefined ) offset = 0; this.array.set( value, offset ); return this; }, getX: function ( index ) { return this.array[ index * this.itemSize ]; }, setX: function ( index, x ) { this.array[ index * this.itemSize ] = x; return this; }, getY: function ( index ) { return this.array[ index * this.itemSize + 1 ]; }, setY: function ( index, y ) { this.array[ index * this.itemSize + 1 ] = y; return this; }, getZ: function ( index ) { return this.array[ index * this.itemSize + 2 ]; }, setZ: function ( index, z ) { this.array[ index * this.itemSize + 2 ] = z; return this; }, getW: function ( index ) { return this.array[ index * this.itemSize + 3 ]; }, setW: function ( index, w ) { this.array[ index * this.itemSize + 3 ] = w; return this; }, setXY: function ( index, x, y ) { index *= this.itemSize; this.array[ index + 0 ] = x; this.array[ index + 1 ] = y; return this; }, setXYZ: function ( index, x, y, z ) { index *= this.itemSize; this.array[ index + 0 ] = x; this.array[ index + 1 ] = y; this.array[ index + 2 ] = z; return this; }, setXYZW: function ( index, x, y, z, w ) { index *= this.itemSize; this.array[ index + 0 ] = x; this.array[ index + 1 ] = y; this.array[ index + 2 ] = z; this.array[ index + 3 ] = w; return this; }, onUpload: function ( callback ) { this.onUploadCallback = callback; return this; }, clone: function () { return new this.constructor( this.array, this.itemSize ).copy( this ); } } ); // function Int8BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Int8Array( array ), itemSize ); } Int8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Int8BufferAttribute.prototype.constructor = Int8BufferAttribute; function Uint8BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Uint8Array( array ), itemSize ); } Uint8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Uint8BufferAttribute.prototype.constructor = Uint8BufferAttribute; function Uint8ClampedBufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Uint8ClampedArray( array ), itemSize ); } Uint8ClampedBufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Uint8ClampedBufferAttribute.prototype.constructor = Uint8ClampedBufferAttribute; function Int16BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Int16Array( array ), itemSize ); } Int16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Int16BufferAttribute.prototype.constructor = Int16BufferAttribute; function Uint16BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Uint16Array( array ), itemSize ); } Uint16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Uint16BufferAttribute.prototype.constructor = Uint16BufferAttribute; function Int32BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Int32Array( array ), itemSize ); } Int32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Int32BufferAttribute.prototype.constructor = Int32BufferAttribute; function Uint32BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Uint32Array( array ), itemSize ); } Uint32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Uint32BufferAttribute.prototype.constructor = Uint32BufferAttribute; function Float32BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Float32Array( array ), itemSize ); } Float32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Float32BufferAttribute.prototype.constructor = Float32BufferAttribute; function Float64BufferAttribute( array, itemSize ) { BufferAttribute.call( this, new Float64Array( array ), itemSize ); } Float64BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); Float64BufferAttribute.prototype.constructor = Float64BufferAttribute; /** * @author mrdoob / http://mrdoob.com/ */ function DirectGeometry() { this.indices = []; this.vertices = []; this.normals = []; this.colors = []; this.uvs = []; this.uvs2 = []; this.groups = []; this.morphTargets = {}; this.skinWeights = []; this.skinIndices = []; // this.lineDistances = []; this.boundingBox = null; this.boundingSphere = null; // update flags this.verticesNeedUpdate = false; this.normalsNeedUpdate = false; this.colorsNeedUpdate = false; this.uvsNeedUpdate = false; this.groupsNeedUpdate = false; } Object.assign( DirectGeometry.prototype, { computeGroups: function ( geometry ) { var group; var groups = []; var materialIndex = undefined; var faces = geometry.faces; for ( var i = 0; i < faces.length; i ++ ) { var face = faces[ i ]; // materials if ( face.materialIndex !== materialIndex ) { materialIndex = face.materialIndex; if ( group !== undefined ) { group.count = ( i * 3 ) - group.start; groups.push( group ); } group = { start: i * 3, materialIndex: materialIndex }; } } if ( group !== undefined ) { group.count = ( i * 3 ) - group.start; groups.push( group ); } this.groups = groups; }, fromGeometry: function ( geometry ) { var faces = geometry.faces; var vertices = geometry.vertices; var faceVertexUvs = geometry.faceVertexUvs; var hasFaceVertexUv = faceVertexUvs[ 0 ] && faceVertexUvs[ 0 ].length > 0; var hasFaceVertexUv2 = faceVertexUvs[ 1 ] && faceVertexUvs[ 1 ].length > 0; // morphs var morphTargets = geometry.morphTargets; var morphTargetsLength = morphTargets.length; var morphTargetsPosition; if ( morphTargetsLength > 0 ) { morphTargetsPosition = []; for ( var i = 0; i < morphTargetsLength; i ++ ) { morphTargetsPosition[ i ] = []; } this.morphTargets.position = morphTargetsPosition; } var morphNormals = geometry.morphNormals; var morphNormalsLength = morphNormals.length; var morphTargetsNormal; if ( morphNormalsLength > 0 ) { morphTargetsNormal = []; for ( var i = 0; i < morphNormalsLength; i ++ ) { morphTargetsNormal[ i ] = []; } this.morphTargets.normal = morphTargetsNormal; } // skins var skinIndices = geometry.skinIndices; var skinWeights = geometry.skinWeights; var hasSkinIndices = skinIndices.length === vertices.length; var hasSkinWeights = skinWeights.length === vertices.length; // for ( var i = 0; i < faces.length; i ++ ) { var face = faces[ i ]; this.vertices.push( vertices[ face.a ], vertices[ face.b ], vertices[ face.c ] ); var vertexNormals = face.vertexNormals; if ( vertexNormals.length === 3 ) { this.normals.push( vertexNormals[ 0 ], vertexNormals[ 1 ], vertexNormals[ 2 ] ); } else { var normal = face.normal; this.normals.push( normal, normal, normal ); } var vertexColors = face.vertexColors; if ( vertexColors.length === 3 ) { this.colors.push( vertexColors[ 0 ], vertexColors[ 1 ], vertexColors[ 2 ] ); } else { var color = face.color; this.colors.push( color, color, color ); } if ( hasFaceVertexUv === true ) { var vertexUvs = faceVertexUvs[ 0 ][ i ]; if ( vertexUvs !== undefined ) { this.uvs.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); } else { console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ', i ); this.uvs.push( new Vector2(), new Vector2(), new Vector2() ); } } if ( hasFaceVertexUv2 === true ) { var vertexUvs = faceVertexUvs[ 1 ][ i ]; if ( vertexUvs !== undefined ) { this.uvs2.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); } else { console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ', i ); this.uvs2.push( new Vector2(), new Vector2(), new Vector2() ); } } // morphs for ( var j = 0; j < morphTargetsLength; j ++ ) { var morphTarget = morphTargets[ j ].vertices; morphTargetsPosition[ j ].push( morphTarget[ face.a ], morphTarget[ face.b ], morphTarget[ face.c ] ); } for ( var j = 0; j < morphNormalsLength; j ++ ) { var morphNormal = morphNormals[ j ].vertexNormals[ i ]; morphTargetsNormal[ j ].push( morphNormal.a, morphNormal.b, morphNormal.c ); } // skins if ( hasSkinIndices ) { this.skinIndices.push( skinIndices[ face.a ], skinIndices[ face.b ], skinIndices[ face.c ] ); } if ( hasSkinWeights ) { this.skinWeights.push( skinWeights[ face.a ], skinWeights[ face.b ], skinWeights[ face.c ] ); } } this.computeGroups( geometry ); this.verticesNeedUpdate = geometry.verticesNeedUpdate; this.normalsNeedUpdate = geometry.normalsNeedUpdate; this.colorsNeedUpdate = geometry.colorsNeedUpdate; this.uvsNeedUpdate = geometry.uvsNeedUpdate; this.groupsNeedUpdate = geometry.groupsNeedUpdate; return this; } } ); function arrayMax( array ) { if ( array.length === 0 ) return - Infinity; var max = array[ 0 ]; for ( var i = 1, l = array.length; i < l; ++ i ) { if ( array[ i ] > max ) max = array[ i ]; } return max; } /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ */ function BufferGeometry() { Object.defineProperty( this, 'id', { value: GeometryIdCount() } ); this.uuid = _Math.generateUUID(); this.name = ''; this.type = 'BufferGeometry'; this.index = null; this.attributes = {}; this.morphAttributes = {}; this.groups = []; this.boundingBox = null; this.boundingSphere = null; this.drawRange = { start: 0, count: Infinity }; } BufferGeometry.MaxIndex = 65535; Object.assign( BufferGeometry.prototype, EventDispatcher.prototype, { isBufferGeometry: true, getIndex: function () { return this.index; }, setIndex: function ( index ) { if ( Array.isArray( index ) ) { this.index = new ( arrayMax( index ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( index, 1 ); } else { this.index = index; } }, addAttribute: function ( name, attribute ) { if ( ! ( attribute && attribute.isBufferAttribute ) && ! ( attribute && attribute.isInterleavedBufferAttribute ) ) { console.warn( 'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).' ); this.addAttribute( name, new BufferAttribute( arguments[ 1 ], arguments[ 2 ] ) ); return; } if ( name === 'index' ) { console.warn( 'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.' ); this.setIndex( attribute ); return; } this.attributes[ name ] = attribute; return this; }, getAttribute: function ( name ) { return this.attributes[ name ]; }, removeAttribute: function ( name ) { delete this.attributes[ name ]; return this; }, addGroup: function ( start, count, materialIndex ) { this.groups.push( { start: start, count: count, materialIndex: materialIndex !== undefined ? materialIndex : 0 } ); }, clearGroups: function () { this.groups = []; }, setDrawRange: function ( start, count ) { this.drawRange.start = start; this.drawRange.count = count; }, applyMatrix: function ( matrix ) { var position = this.attributes.position; if ( position !== undefined ) { matrix.applyToBufferAttribute( position ); position.needsUpdate = true; } var normal = this.attributes.normal; if ( normal !== undefined ) { var normalMatrix = new Matrix3().getNormalMatrix( matrix ); normalMatrix.applyToBufferAttribute( normal ); normal.needsUpdate = true; } if ( this.boundingBox !== null ) { this.computeBoundingBox(); } if ( this.boundingSphere !== null ) { this.computeBoundingSphere(); } return this; }, rotateX: function () { // rotate geometry around world x-axis var m1 = new Matrix4(); return function rotateX( angle ) { m1.makeRotationX( angle ); this.applyMatrix( m1 ); return this; }; }(), rotateY: function () { // rotate geometry around world y-axis var m1 = new Matrix4(); return function rotateY( angle ) { m1.makeRotationY( angle ); this.applyMatrix( m1 ); return this; }; }(), rotateZ: function () { // rotate geometry around world z-axis var m1 = new Matrix4(); return function rotateZ( angle ) { m1.makeRotationZ( angle ); this.applyMatrix( m1 ); return this; }; }(), translate: function () { // translate geometry var m1 = new Matrix4(); return function translate( x, y, z ) { m1.makeTranslation( x, y, z ); this.applyMatrix( m1 ); return this; }; }(), scale: function () { // scale geometry var m1 = new Matrix4(); return function scale( x, y, z ) { m1.makeScale( x, y, z ); this.applyMatrix( m1 ); return this; }; }(), lookAt: function () { var obj = new Object3D(); return function lookAt( vector ) { obj.lookAt( vector ); obj.updateMatrix(); this.applyMatrix( obj.matrix ); }; }(), center: function () { this.computeBoundingBox(); var offset = this.boundingBox.getCenter().negate(); this.translate( offset.x, offset.y, offset.z ); return offset; }, setFromObject: function ( object ) { // console.log( 'THREE.BufferGeometry.setFromObject(). Converting', object, this ); var geometry = object.geometry; if ( object.isPoints || object.isLine ) { var positions = new Float32BufferAttribute( geometry.vertices.length * 3, 3 ); var colors = new Float32BufferAttribute( geometry.colors.length * 3, 3 ); this.addAttribute( 'position', positions.copyVector3sArray( geometry.vertices ) ); this.addAttribute( 'color', colors.copyColorsArray( geometry.colors ) ); if ( geometry.lineDistances && geometry.lineDistances.length === geometry.vertices.length ) { var lineDistances = new Float32BufferAttribute( geometry.lineDistances.length, 1 ); this.addAttribute( 'lineDistance', lineDistances.copyArray( geometry.lineDistances ) ); } if ( geometry.boundingSphere !== null ) { this.boundingSphere = geometry.boundingSphere.clone(); } if ( geometry.boundingBox !== null ) { this.boundingBox = geometry.boundingBox.clone(); } } else if ( object.isMesh ) { if ( geometry && geometry.isGeometry ) { this.fromGeometry( geometry ); } } return this; }, updateFromObject: function ( object ) { var geometry = object.geometry; if ( object.isMesh ) { var direct = geometry.__directGeometry; if ( geometry.elementsNeedUpdate === true ) { direct = undefined; geometry.elementsNeedUpdate = false; } if ( direct === undefined ) { return this.fromGeometry( geometry ); } direct.verticesNeedUpdate = geometry.verticesNeedUpdate; direct.normalsNeedUpdate = geometry.normalsNeedUpdate; direct.colorsNeedUpdate = geometry.colorsNeedUpdate; direct.uvsNeedUpdate = geometry.uvsNeedUpdate; direct.groupsNeedUpdate = geometry.groupsNeedUpdate; geometry.verticesNeedUpdate = false; geometry.normalsNeedUpdate = false; geometry.colorsNeedUpdate = false; geometry.uvsNeedUpdate = false; geometry.groupsNeedUpdate = false; geometry = direct; } var attribute; if ( geometry.verticesNeedUpdate === true ) { attribute = this.attributes.position; if ( attribute !== undefined ) { attribute.copyVector3sArray( geometry.vertices ); attribute.needsUpdate = true; } geometry.verticesNeedUpdate = false; } if ( geometry.normalsNeedUpdate === true ) { attribute = this.attributes.normal; if ( attribute !== undefined ) { attribute.copyVector3sArray( geometry.normals ); attribute.needsUpdate = true; } geometry.normalsNeedUpdate = false; } if ( geometry.colorsNeedUpdate === true ) { attribute = this.attributes.color; if ( attribute !== undefined ) { attribute.copyColorsArray( geometry.colors ); attribute.needsUpdate = true; } geometry.colorsNeedUpdate = false; } if ( geometry.uvsNeedUpdate ) { attribute = this.attributes.uv; if ( attribute !== undefined ) { attribute.copyVector2sArray( geometry.uvs ); attribute.needsUpdate = true; } geometry.uvsNeedUpdate = false; } if ( geometry.lineDistancesNeedUpdate ) { attribute = this.attributes.lineDistance; if ( attribute !== undefined ) { attribute.copyArray( geometry.lineDistances ); attribute.needsUpdate = true; } geometry.lineDistancesNeedUpdate = false; } if ( geometry.groupsNeedUpdate ) { geometry.computeGroups( object.geometry ); this.groups = geometry.groups; geometry.groupsNeedUpdate = false; } return this; }, fromGeometry: function ( geometry ) { geometry.__directGeometry = new DirectGeometry().fromGeometry( geometry ); return this.fromDirectGeometry( geometry.__directGeometry ); }, fromDirectGeometry: function ( geometry ) { var positions = new Float32Array( geometry.vertices.length * 3 ); this.addAttribute( 'position', new BufferAttribute( positions, 3 ).copyVector3sArray( geometry.vertices ) ); if ( geometry.normals.length > 0 ) { var normals = new Float32Array( geometry.normals.length * 3 ); this.addAttribute( 'normal', new BufferAttribute( normals, 3 ).copyVector3sArray( geometry.normals ) ); } if ( geometry.colors.length > 0 ) { var colors = new Float32Array( geometry.colors.length * 3 ); this.addAttribute( 'color', new BufferAttribute( colors, 3 ).copyColorsArray( geometry.colors ) ); } if ( geometry.uvs.length > 0 ) { var uvs = new Float32Array( geometry.uvs.length * 2 ); this.addAttribute( 'uv', new BufferAttribute( uvs, 2 ).copyVector2sArray( geometry.uvs ) ); } if ( geometry.uvs2.length > 0 ) { var uvs2 = new Float32Array( geometry.uvs2.length * 2 ); this.addAttribute( 'uv2', new BufferAttribute( uvs2, 2 ).copyVector2sArray( geometry.uvs2 ) ); } if ( geometry.indices.length > 0 ) { var TypeArray = arrayMax( geometry.indices ) > 65535 ? Uint32Array : Uint16Array; var indices = new TypeArray( geometry.indices.length * 3 ); this.setIndex( new BufferAttribute( indices, 1 ).copyIndicesArray( geometry.indices ) ); } // groups this.groups = geometry.groups; // morphs for ( var name in geometry.morphTargets ) { var array = []; var morphTargets = geometry.morphTargets[ name ]; for ( var i = 0, l = morphTargets.length; i < l; i ++ ) { var morphTarget = morphTargets[ i ]; var attribute = new Float32BufferAttribute( morphTarget.length * 3, 3 ); array.push( attribute.copyVector3sArray( morphTarget ) ); } this.morphAttributes[ name ] = array; } // skinning if ( geometry.skinIndices.length > 0 ) { var skinIndices = new Float32BufferAttribute( geometry.skinIndices.length * 4, 4 ); this.addAttribute( 'skinIndex', skinIndices.copyVector4sArray( geometry.skinIndices ) ); } if ( geometry.skinWeights.length > 0 ) { var skinWeights = new Float32BufferAttribute( geometry.skinWeights.length * 4, 4 ); this.addAttribute( 'skinWeight', skinWeights.copyVector4sArray( geometry.skinWeights ) ); } // if ( geometry.boundingSphere !== null ) { this.boundingSphere = geometry.boundingSphere.clone(); } if ( geometry.boundingBox !== null ) { this.boundingBox = geometry.boundingBox.clone(); } return this; }, computeBoundingBox: function () { if ( this.boundingBox === null ) { this.boundingBox = new Box3(); } var position = this.attributes.position; if ( position !== undefined ) { this.boundingBox.setFromBufferAttribute( position ); } else { this.boundingBox.makeEmpty(); } if ( isNaN( this.boundingBox.min.x ) || isNaN( this.boundingBox.min.y ) || isNaN( this.boundingBox.min.z ) ) { console.error( 'THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this ); } }, computeBoundingSphere: function () { var box = new Box3(); var vector = new Vector3(); return function computeBoundingSphere() { if ( this.boundingSphere === null ) { this.boundingSphere = new Sphere(); } var position = this.attributes.position; if ( position ) { var center = this.boundingSphere.center; box.setFromBufferAttribute( position ); box.getCenter( center ); // hoping to find a boundingSphere with a radius smaller than the // boundingSphere of the boundingBox: sqrt(3) smaller in the best case var maxRadiusSq = 0; for ( var i = 0, il = position.count; i < il; i ++ ) { vector.x = position.getX( i ); vector.y = position.getY( i ); vector.z = position.getZ( i ); maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); } this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); if ( isNaN( this.boundingSphere.radius ) ) { console.error( 'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this ); } } }; }(), computeFaceNormals: function () { // backwards compatibility }, computeVertexNormals: function () { var index = this.index; var attributes = this.attributes; var groups = this.groups; if ( attributes.position ) { var positions = attributes.position.array; if ( attributes.normal === undefined ) { this.addAttribute( 'normal', new BufferAttribute( new Float32Array( positions.length ), 3 ) ); } else { // reset existing normals to zero var array = attributes.normal.array; for ( var i = 0, il = array.length; i < il; i ++ ) { array[ i ] = 0; } } var normals = attributes.normal.array; var vA, vB, vC; var pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); var cb = new Vector3(), ab = new Vector3(); // indexed elements if ( index ) { var indices = index.array; if ( groups.length === 0 ) { this.addGroup( 0, indices.length ); } for ( var j = 0, jl = groups.length; j < jl; ++ j ) { var group = groups[ j ]; var start = group.start; var count = group.count; for ( var i = start, il = start + count; i < il; i += 3 ) { vA = indices[ i + 0 ] * 3; vB = indices[ i + 1 ] * 3; vC = indices[ i + 2 ] * 3; pA.fromArray( positions, vA ); pB.fromArray( positions, vB ); pC.fromArray( positions, vC ); cb.subVectors( pC, pB ); ab.subVectors( pA, pB ); cb.cross( ab ); normals[ vA ] += cb.x; normals[ vA + 1 ] += cb.y; normals[ vA + 2 ] += cb.z; normals[ vB ] += cb.x; normals[ vB + 1 ] += cb.y; normals[ vB + 2 ] += cb.z; normals[ vC ] += cb.x; normals[ vC + 1 ] += cb.y; normals[ vC + 2 ] += cb.z; } } } else { // non-indexed elements (unconnected triangle soup) for ( var i = 0, il = positions.length; i < il; i += 9 ) { pA.fromArray( positions, i ); pB.fromArray( positions, i + 3 ); pC.fromArray( positions, i + 6 ); cb.subVectors( pC, pB ); ab.subVectors( pA, pB ); cb.cross( ab ); normals[ i ] = cb.x; normals[ i + 1 ] = cb.y; normals[ i + 2 ] = cb.z; normals[ i + 3 ] = cb.x; normals[ i + 4 ] = cb.y; normals[ i + 5 ] = cb.z; normals[ i + 6 ] = cb.x; normals[ i + 7 ] = cb.y; normals[ i + 8 ] = cb.z; } } this.normalizeNormals(); attributes.normal.needsUpdate = true; } }, merge: function ( geometry, offset ) { if ( ! ( geometry && geometry.isBufferGeometry ) ) { console.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry ); return; } if ( offset === undefined ) offset = 0; var attributes = this.attributes; for ( var key in attributes ) { if ( geometry.attributes[ key ] === undefined ) continue; var attribute1 = attributes[ key ]; var attributeArray1 = attribute1.array; var attribute2 = geometry.attributes[ key ]; var attributeArray2 = attribute2.array; var attributeSize = attribute2.itemSize; for ( var i = 0, j = attributeSize * offset; i < attributeArray2.length; i ++, j ++ ) { attributeArray1[ j ] = attributeArray2[ i ]; } } return this; }, normalizeNormals: function () { var normals = this.attributes.normal; var x, y, z, n; for ( var i = 0, il = normals.count; i < il; i ++ ) { x = normals.getX( i ); y = normals.getY( i ); z = normals.getZ( i ); n = 1.0 / Math.sqrt( x * x + y * y + z * z ); normals.setXYZ( i, x * n, y * n, z * n ); } }, toNonIndexed: function () { if ( this.index === null ) { console.warn( 'THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed.' ); return this; } var geometry2 = new BufferGeometry(); var indices = this.index.array; var attributes = this.attributes; for ( var name in attributes ) { var attribute = attributes[ name ]; var array = attribute.array; var itemSize = attribute.itemSize; var array2 = new array.constructor( indices.length * itemSize ); var index = 0, index2 = 0; for ( var i = 0, l = indices.length; i < l; i ++ ) { index = indices[ i ] * itemSize; for ( var j = 0; j < itemSize; j ++ ) { array2[ index2 ++ ] = array[ index ++ ]; } } geometry2.addAttribute( name, new BufferAttribute( array2, itemSize ) ); } return geometry2; }, toJSON: function () { var data = { metadata: { version: 4.5, type: 'BufferGeometry', generator: 'BufferGeometry.toJSON' } }; // standard BufferGeometry serialization data.uuid = this.uuid; data.type = this.type; if ( this.name !== '' ) data.name = this.name; if ( this.parameters !== undefined ) { var parameters = this.parameters; for ( var key in parameters ) { if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; } return data; } data.data = { attributes: {} }; var index = this.index; if ( index !== null ) { var array = Array.prototype.slice.call( index.array ); data.data.index = { type: index.array.constructor.name, array: array }; } var attributes = this.attributes; for ( var key in attributes ) { var attribute = attributes[ key ]; var array = Array.prototype.slice.call( attribute.array ); data.data.attributes[ key ] = { itemSize: attribute.itemSize, type: attribute.array.constructor.name, array: array, normalized: attribute.normalized }; } var groups = this.groups; if ( groups.length > 0 ) { data.data.groups = JSON.parse( JSON.stringify( groups ) ); } var boundingSphere = this.boundingSphere; if ( boundingSphere !== null ) { data.data.boundingSphere = { center: boundingSphere.center.toArray(), radius: boundingSphere.radius }; } return data; }, clone: function () { /* // Handle primitives var parameters = this.parameters; if ( parameters !== undefined ) { var values = []; for ( var key in parameters ) { values.push( parameters[ key ] ); } var geometry = Object.create( this.constructor.prototype ); this.constructor.apply( geometry, values ); return geometry; } return new this.constructor().copy( this ); */ return new BufferGeometry().copy( this ); }, copy: function ( source ) { var name, i, l; // reset this.index = null; this.attributes = {}; this.morphAttributes = {}; this.groups = []; this.boundingBox = null; this.boundingSphere = null; // name this.name = source.name; // index var index = source.index; if ( index !== null ) { this.setIndex( index.clone() ); } // attributes var attributes = source.attributes; for ( name in attributes ) { var attribute = attributes[ name ]; this.addAttribute( name, attribute.clone() ); } // morph attributes var morphAttributes = source.morphAttributes; for ( name in morphAttributes ) { var array = []; var morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes for ( i = 0, l = morphAttribute.length; i < l; i ++ ) { array.push( morphAttribute[ i ].clone() ); } this.morphAttributes[ name ] = array; } // groups var groups = source.groups; for ( i = 0, l = groups.length; i < l; i ++ ) { var group = groups[ i ]; this.addGroup( group.start, group.count, group.materialIndex ); } // bounding box var boundingBox = source.boundingBox; if ( boundingBox !== null ) { this.boundingBox = boundingBox.clone(); } // bounding sphere var boundingSphere = source.boundingSphere; if ( boundingSphere !== null ) { this.boundingSphere = boundingSphere.clone(); } // draw range this.drawRange.start = source.drawRange.start; this.drawRange.count = source.drawRange.count; return this; }, dispose: function () { this.dispatchEvent( { type: 'dispose' } ); } } ); /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ // BoxGeometry function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { Geometry.call( this ); this.type = 'BoxGeometry'; this.parameters = { width: width, height: height, depth: depth, widthSegments: widthSegments, heightSegments: heightSegments, depthSegments: depthSegments }; this.fromBufferGeometry( new BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) ); this.mergeVertices(); } BoxGeometry.prototype = Object.create( Geometry.prototype ); BoxGeometry.prototype.constructor = BoxGeometry; // BoxBufferGeometry function BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { BufferGeometry.call( this ); this.type = 'BoxBufferGeometry'; this.parameters = { width: width, height: height, depth: depth, widthSegments: widthSegments, heightSegments: heightSegments, depthSegments: depthSegments }; var scope = this; // segments widthSegments = Math.floor( widthSegments ) || 1; heightSegments = Math.floor( heightSegments ) || 1; depthSegments = Math.floor( depthSegments ) || 1; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var numberOfVertices = 0; var groupStart = 0; // build each side of the box geometry buildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px buildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx buildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py buildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny buildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz buildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); function buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) { var segmentWidth = width / gridX; var segmentHeight = height / gridY; var widthHalf = width / 2; var heightHalf = height / 2; var depthHalf = depth / 2; var gridX1 = gridX + 1; var gridY1 = gridY + 1; var vertexCounter = 0; var groupCount = 0; var ix, iy; var vector = new Vector3(); // generate vertices, normals and uvs for ( iy = 0; iy < gridY1; iy ++ ) { var y = iy * segmentHeight - heightHalf; for ( ix = 0; ix < gridX1; ix ++ ) { var x = ix * segmentWidth - widthHalf; // set values to correct vector component vector[ u ] = x * udir; vector[ v ] = y * vdir; vector[ w ] = depthHalf; // now apply vector to vertex buffer vertices.push( vector.x, vector.y, vector.z ); // set values to correct vector component vector[ u ] = 0; vector[ v ] = 0; vector[ w ] = depth > 0 ? 1 : - 1; // now apply vector to normal buffer normals.push( vector.x, vector.y, vector.z ); // uvs uvs.push( ix / gridX ); uvs.push( 1 - ( iy / gridY ) ); // counters vertexCounter += 1; } } // indices // 1. you need three indices to draw a single face // 2. a single segment consists of two faces // 3. so we need to generate six (2*3) indices per segment for ( iy = 0; iy < gridY; iy ++ ) { for ( ix = 0; ix < gridX; ix ++ ) { var a = numberOfVertices + ix + gridX1 * iy; var b = numberOfVertices + ix + gridX1 * ( iy + 1 ); var c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 ); var d = numberOfVertices + ( ix + 1 ) + gridX1 * iy; // faces indices.push( a, b, d ); indices.push( b, c, d ); // increase counter groupCount += 6; } } // add a group to the geometry. this will ensure multi material support scope.addGroup( groupStart, groupCount, materialIndex ); // calculate new start value for groups groupStart += groupCount; // update total number of vertices numberOfVertices += vertexCounter; } } BoxBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); BoxBufferGeometry.prototype.constructor = BoxBufferGeometry; /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ // PlaneGeometry function PlaneGeometry( width, height, widthSegments, heightSegments ) { Geometry.call( this ); this.type = 'PlaneGeometry'; this.parameters = { width: width, height: height, widthSegments: widthSegments, heightSegments: heightSegments }; this.fromBufferGeometry( new PlaneBufferGeometry( width, height, widthSegments, heightSegments ) ); this.mergeVertices(); } PlaneGeometry.prototype = Object.create( Geometry.prototype ); PlaneGeometry.prototype.constructor = PlaneGeometry; // PlaneBufferGeometry function PlaneBufferGeometry( width, height, widthSegments, heightSegments ) { BufferGeometry.call( this ); this.type = 'PlaneBufferGeometry'; this.parameters = { width: width, height: height, widthSegments: widthSegments, heightSegments: heightSegments }; var width_half = width / 2; var height_half = height / 2; var gridX = Math.floor( widthSegments ) || 1; var gridY = Math.floor( heightSegments ) || 1; var gridX1 = gridX + 1; var gridY1 = gridY + 1; var segment_width = width / gridX; var segment_height = height / gridY; var ix, iy; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // generate vertices, normals and uvs for ( iy = 0; iy < gridY1; iy ++ ) { var y = iy * segment_height - height_half; for ( ix = 0; ix < gridX1; ix ++ ) { var x = ix * segment_width - width_half; vertices.push( x, - y, 0 ); normals.push( 0, 0, 1 ); uvs.push( ix / gridX ); uvs.push( 1 - ( iy / gridY ) ); } } // indices for ( iy = 0; iy < gridY; iy ++ ) { for ( ix = 0; ix < gridX; ix ++ ) { var a = ix + gridX1 * iy; var b = ix + gridX1 * ( iy + 1 ); var c = ( ix + 1 ) + gridX1 * ( iy + 1 ); var d = ( ix + 1 ) + gridX1 * iy; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } PlaneBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); PlaneBufferGeometry.prototype.constructor = PlaneBufferGeometry; /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * map: new THREE.Texture( ), * * lightMap: new THREE.Texture( ), * lightMapIntensity: * * aoMap: new THREE.Texture( ), * aoMapIntensity: * * specularMap: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), * combine: THREE.Multiply, * reflectivity: , * refractionRatio: , * * shading: THREE.SmoothShading, * depthTest: , * depthWrite: , * * wireframe: , * wireframeLinewidth: , * * skinning: , * morphTargets: * } */ function MeshBasicMaterial( parameters ) { Material.call( this ); this.type = 'MeshBasicMaterial'; this.color = new Color( 0xffffff ); // emissive this.map = null; this.lightMap = null; this.lightMapIntensity = 1.0; this.aoMap = null; this.aoMapIntensity = 1.0; this.specularMap = null; this.alphaMap = null; this.envMap = null; this.combine = MultiplyOperation; this.reflectivity = 1; this.refractionRatio = 0.98; this.wireframe = false; this.wireframeLinewidth = 1; this.wireframeLinecap = 'round'; this.wireframeLinejoin = 'round'; this.skinning = false; this.morphTargets = false; this.lights = false; this.setValues( parameters ); } MeshBasicMaterial.prototype = Object.create( Material.prototype ); MeshBasicMaterial.prototype.constructor = MeshBasicMaterial; MeshBasicMaterial.prototype.isMeshBasicMaterial = true; MeshBasicMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.map = source.map; this.lightMap = source.lightMap; this.lightMapIntensity = source.lightMapIntensity; this.aoMap = source.aoMap; this.aoMapIntensity = source.aoMapIntensity; this.specularMap = source.specularMap; this.alphaMap = source.alphaMap; this.envMap = source.envMap; this.combine = source.combine; this.reflectivity = source.reflectivity; this.refractionRatio = source.refractionRatio; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.wireframeLinecap = source.wireframeLinecap; this.wireframeLinejoin = source.wireframeLinejoin; this.skinning = source.skinning; this.morphTargets = source.morphTargets; return this; }; /** * @author bhouston / http://clara.io */ function Ray( origin, direction ) { this.origin = ( origin !== undefined ) ? origin : new Vector3(); this.direction = ( direction !== undefined ) ? direction : new Vector3(); } Object.assign( Ray.prototype, { set: function ( origin, direction ) { this.origin.copy( origin ); this.direction.copy( direction ); return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( ray ) { this.origin.copy( ray.origin ); this.direction.copy( ray.direction ); return this; }, at: function ( t, optionalTarget ) { var result = optionalTarget || new Vector3(); return result.copy( this.direction ).multiplyScalar( t ).add( this.origin ); }, lookAt: function ( v ) { this.direction.copy( v ).sub( this.origin ).normalize(); return this; }, recast: function () { var v1 = new Vector3(); return function recast( t ) { this.origin.copy( this.at( t, v1 ) ); return this; }; }(), closestPointToPoint: function ( point, optionalTarget ) { var result = optionalTarget || new Vector3(); result.subVectors( point, this.origin ); var directionDistance = result.dot( this.direction ); if ( directionDistance < 0 ) { return result.copy( this.origin ); } return result.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); }, distanceToPoint: function ( point ) { return Math.sqrt( this.distanceSqToPoint( point ) ); }, distanceSqToPoint: function () { var v1 = new Vector3(); return function distanceSqToPoint( point ) { var directionDistance = v1.subVectors( point, this.origin ).dot( this.direction ); // point behind the ray if ( directionDistance < 0 ) { return this.origin.distanceToSquared( point ); } v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); return v1.distanceToSquared( point ); }; }(), distanceSqToSegment: function () { var segCenter = new Vector3(); var segDir = new Vector3(); var diff = new Vector3(); return function distanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) { // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h // It returns the min distance between the ray and the segment // defined by v0 and v1 // It can also set two optional targets : // - The closest point on the ray // - The closest point on the segment segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 ); segDir.copy( v1 ).sub( v0 ).normalize(); diff.copy( this.origin ).sub( segCenter ); var segExtent = v0.distanceTo( v1 ) * 0.5; var a01 = - this.direction.dot( segDir ); var b0 = diff.dot( this.direction ); var b1 = - diff.dot( segDir ); var c = diff.lengthSq(); var det = Math.abs( 1 - a01 * a01 ); var s0, s1, sqrDist, extDet; if ( det > 0 ) { // The ray and segment are not parallel. s0 = a01 * b1 - b0; s1 = a01 * b0 - b1; extDet = segExtent * det; if ( s0 >= 0 ) { if ( s1 >= - extDet ) { if ( s1 <= extDet ) { // region 0 // Minimum at interior points of ray and segment. var invDet = 1 / det; s0 *= invDet; s1 *= invDet; sqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c; } else { // region 1 s1 = segExtent; s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; } } else { // region 5 s1 = - segExtent; s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; } } else { if ( s1 <= - extDet ) { // region 4 s0 = Math.max( 0, - ( - a01 * segExtent + b0 ) ); s1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; } else if ( s1 <= extDet ) { // region 3 s0 = 0; s1 = Math.min( Math.max( - segExtent, - b1 ), segExtent ); sqrDist = s1 * ( s1 + 2 * b1 ) + c; } else { // region 2 s0 = Math.max( 0, - ( a01 * segExtent + b0 ) ); s1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; } } } else { // Ray and segment are parallel. s1 = ( a01 > 0 ) ? - segExtent : segExtent; s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; } if ( optionalPointOnRay ) { optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin ); } if ( optionalPointOnSegment ) { optionalPointOnSegment.copy( segDir ).multiplyScalar( s1 ).add( segCenter ); } return sqrDist; }; }(), intersectSphere: function () { var v1 = new Vector3(); return function intersectSphere( sphere, optionalTarget ) { v1.subVectors( sphere.center, this.origin ); var tca = v1.dot( this.direction ); var d2 = v1.dot( v1 ) - tca * tca; var radius2 = sphere.radius * sphere.radius; if ( d2 > radius2 ) return null; var thc = Math.sqrt( radius2 - d2 ); // t0 = first intersect point - entrance on front of sphere var t0 = tca - thc; // t1 = second intersect point - exit point on back of sphere var t1 = tca + thc; // test to see if both t0 and t1 are behind the ray - if so, return null if ( t0 < 0 && t1 < 0 ) return null; // test to see if t0 is behind the ray: // if it is, the ray is inside the sphere, so return the second exit point scaled by t1, // in order to always return an intersect point that is in front of the ray. if ( t0 < 0 ) return this.at( t1, optionalTarget ); // else t0 is in front of the ray, so return the first collision point scaled by t0 return this.at( t0, optionalTarget ); }; }(), intersectsSphere: function ( sphere ) { return this.distanceToPoint( sphere.center ) <= sphere.radius; }, distanceToPlane: function ( plane ) { var denominator = plane.normal.dot( this.direction ); if ( denominator === 0 ) { // line is coplanar, return origin if ( plane.distanceToPoint( this.origin ) === 0 ) { return 0; } // Null is preferable to undefined since undefined means.... it is undefined return null; } var t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator; // Return if the ray never intersects the plane return t >= 0 ? t : null; }, intersectPlane: function ( plane, optionalTarget ) { var t = this.distanceToPlane( plane ); if ( t === null ) { return null; } return this.at( t, optionalTarget ); }, intersectsPlane: function ( plane ) { // check if the ray lies on the plane first var distToPoint = plane.distanceToPoint( this.origin ); if ( distToPoint === 0 ) { return true; } var denominator = plane.normal.dot( this.direction ); if ( denominator * distToPoint < 0 ) { return true; } // ray origin is behind the plane (and is pointing behind it) return false; }, intersectBox: function ( box, optionalTarget ) { var tmin, tmax, tymin, tymax, tzmin, tzmax; var invdirx = 1 / this.direction.x, invdiry = 1 / this.direction.y, invdirz = 1 / this.direction.z; var origin = this.origin; if ( invdirx >= 0 ) { tmin = ( box.min.x - origin.x ) * invdirx; tmax = ( box.max.x - origin.x ) * invdirx; } else { tmin = ( box.max.x - origin.x ) * invdirx; tmax = ( box.min.x - origin.x ) * invdirx; } if ( invdiry >= 0 ) { tymin = ( box.min.y - origin.y ) * invdiry; tymax = ( box.max.y - origin.y ) * invdiry; } else { tymin = ( box.max.y - origin.y ) * invdiry; tymax = ( box.min.y - origin.y ) * invdiry; } if ( ( tmin > tymax ) || ( tymin > tmax ) ) return null; // These lines also handle the case where tmin or tmax is NaN // (result of 0 * Infinity). x !== x returns true if x is NaN if ( tymin > tmin || tmin !== tmin ) tmin = tymin; if ( tymax < tmax || tmax !== tmax ) tmax = tymax; if ( invdirz >= 0 ) { tzmin = ( box.min.z - origin.z ) * invdirz; tzmax = ( box.max.z - origin.z ) * invdirz; } else { tzmin = ( box.max.z - origin.z ) * invdirz; tzmax = ( box.min.z - origin.z ) * invdirz; } if ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null; if ( tzmin > tmin || tmin !== tmin ) tmin = tzmin; if ( tzmax < tmax || tmax !== tmax ) tmax = tzmax; //return point closest to the ray (positive side) if ( tmax < 0 ) return null; return this.at( tmin >= 0 ? tmin : tmax, optionalTarget ); }, intersectsBox: ( function () { var v = new Vector3(); return function intersectsBox( box ) { return this.intersectBox( box, v ) !== null; }; } )(), intersectTriangle: function () { // Compute the offset origin, edges, and normal. var diff = new Vector3(); var edge1 = new Vector3(); var edge2 = new Vector3(); var normal = new Vector3(); return function intersectTriangle( a, b, c, backfaceCulling, optionalTarget ) { // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h edge1.subVectors( b, a ); edge2.subVectors( c, a ); normal.crossVectors( edge1, edge2 ); // Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction, // E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by // |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2)) // |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q)) // |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N) var DdN = this.direction.dot( normal ); var sign; if ( DdN > 0 ) { if ( backfaceCulling ) return null; sign = 1; } else if ( DdN < 0 ) { sign = - 1; DdN = - DdN; } else { return null; } diff.subVectors( this.origin, a ); var DdQxE2 = sign * this.direction.dot( edge2.crossVectors( diff, edge2 ) ); // b1 < 0, no intersection if ( DdQxE2 < 0 ) { return null; } var DdE1xQ = sign * this.direction.dot( edge1.cross( diff ) ); // b2 < 0, no intersection if ( DdE1xQ < 0 ) { return null; } // b1+b2 > 1, no intersection if ( DdQxE2 + DdE1xQ > DdN ) { return null; } // Line intersects triangle, check if ray does. var QdN = - sign * diff.dot( normal ); // t < 0, no intersection if ( QdN < 0 ) { return null; } // Ray intersects triangle. return this.at( QdN / DdN, optionalTarget ); }; }(), applyMatrix4: function ( matrix4 ) { this.origin.applyMatrix4( matrix4 ); this.direction.transformDirection( matrix4 ); return this; }, equals: function ( ray ) { return ray.origin.equals( this.origin ) && ray.direction.equals( this.direction ); } } ); /** * @author bhouston / http://clara.io */ function Line3( start, end ) { this.start = ( start !== undefined ) ? start : new Vector3(); this.end = ( end !== undefined ) ? end : new Vector3(); } Object.assign( Line3.prototype, { set: function ( start, end ) { this.start.copy( start ); this.end.copy( end ); return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( line ) { this.start.copy( line.start ); this.end.copy( line.end ); return this; }, getCenter: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return result.addVectors( this.start, this.end ).multiplyScalar( 0.5 ); }, delta: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return result.subVectors( this.end, this.start ); }, distanceSq: function () { return this.start.distanceToSquared( this.end ); }, distance: function () { return this.start.distanceTo( this.end ); }, at: function ( t, optionalTarget ) { var result = optionalTarget || new Vector3(); return this.delta( result ).multiplyScalar( t ).add( this.start ); }, closestPointToPointParameter: function () { var startP = new Vector3(); var startEnd = new Vector3(); return function closestPointToPointParameter( point, clampToLine ) { startP.subVectors( point, this.start ); startEnd.subVectors( this.end, this.start ); var startEnd2 = startEnd.dot( startEnd ); var startEnd_startP = startEnd.dot( startP ); var t = startEnd_startP / startEnd2; if ( clampToLine ) { t = _Math.clamp( t, 0, 1 ); } return t; }; }(), closestPointToPoint: function ( point, clampToLine, optionalTarget ) { var t = this.closestPointToPointParameter( point, clampToLine ); var result = optionalTarget || new Vector3(); return this.delta( result ).multiplyScalar( t ).add( this.start ); }, applyMatrix4: function ( matrix ) { this.start.applyMatrix4( matrix ); this.end.applyMatrix4( matrix ); return this; }, equals: function ( line ) { return line.start.equals( this.start ) && line.end.equals( this.end ); } } ); /** * @author bhouston / http://clara.io * @author mrdoob / http://mrdoob.com/ */ function Triangle( a, b, c ) { this.a = ( a !== undefined ) ? a : new Vector3(); this.b = ( b !== undefined ) ? b : new Vector3(); this.c = ( c !== undefined ) ? c : new Vector3(); } Object.assign( Triangle, { normal: function () { var v0 = new Vector3(); return function normal( a, b, c, optionalTarget ) { var result = optionalTarget || new Vector3(); result.subVectors( c, b ); v0.subVectors( a, b ); result.cross( v0 ); var resultLengthSq = result.lengthSq(); if ( resultLengthSq > 0 ) { return result.multiplyScalar( 1 / Math.sqrt( resultLengthSq ) ); } return result.set( 0, 0, 0 ); }; }(), // static/instance method to calculate barycentric coordinates // based on: http://www.blackpawn.com/texts/pointinpoly/default.html barycoordFromPoint: function () { var v0 = new Vector3(); var v1 = new Vector3(); var v2 = new Vector3(); return function barycoordFromPoint( point, a, b, c, optionalTarget ) { v0.subVectors( c, a ); v1.subVectors( b, a ); v2.subVectors( point, a ); var dot00 = v0.dot( v0 ); var dot01 = v0.dot( v1 ); var dot02 = v0.dot( v2 ); var dot11 = v1.dot( v1 ); var dot12 = v1.dot( v2 ); var denom = ( dot00 * dot11 - dot01 * dot01 ); var result = optionalTarget || new Vector3(); // collinear or singular triangle if ( denom === 0 ) { // arbitrary location outside of triangle? // not sure if this is the best idea, maybe should be returning undefined return result.set( - 2, - 1, - 1 ); } var invDenom = 1 / denom; var u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom; var v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom; // barycentric coordinates must always sum to 1 return result.set( 1 - u - v, v, u ); }; }(), containsPoint: function () { var v1 = new Vector3(); return function containsPoint( point, a, b, c ) { var result = Triangle.barycoordFromPoint( point, a, b, c, v1 ); return ( result.x >= 0 ) && ( result.y >= 0 ) && ( ( result.x + result.y ) <= 1 ); }; }() } ); Object.assign( Triangle.prototype, { set: function ( a, b, c ) { this.a.copy( a ); this.b.copy( b ); this.c.copy( c ); return this; }, setFromPointsAndIndices: function ( points, i0, i1, i2 ) { this.a.copy( points[ i0 ] ); this.b.copy( points[ i1 ] ); this.c.copy( points[ i2 ] ); return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( triangle ) { this.a.copy( triangle.a ); this.b.copy( triangle.b ); this.c.copy( triangle.c ); return this; }, area: function () { var v0 = new Vector3(); var v1 = new Vector3(); return function area() { v0.subVectors( this.c, this.b ); v1.subVectors( this.a, this.b ); return v0.cross( v1 ).length() * 0.5; }; }(), midpoint: function ( optionalTarget ) { var result = optionalTarget || new Vector3(); return result.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 ); }, normal: function ( optionalTarget ) { return Triangle.normal( this.a, this.b, this.c, optionalTarget ); }, plane: function ( optionalTarget ) { var result = optionalTarget || new Plane(); return result.setFromCoplanarPoints( this.a, this.b, this.c ); }, barycoordFromPoint: function ( point, optionalTarget ) { return Triangle.barycoordFromPoint( point, this.a, this.b, this.c, optionalTarget ); }, containsPoint: function ( point ) { return Triangle.containsPoint( point, this.a, this.b, this.c ); }, closestPointToPoint: function () { var plane = new Plane(); var edgeList = [ new Line3(), new Line3(), new Line3() ]; var projectedPoint = new Vector3(); var closestPoint = new Vector3(); return function closestPointToPoint( point, optionalTarget ) { var result = optionalTarget || new Vector3(); var minDistance = Infinity; // project the point onto the plane of the triangle plane.setFromCoplanarPoints( this.a, this.b, this.c ); plane.projectPoint( point, projectedPoint ); // check if the projection lies within the triangle if( this.containsPoint( projectedPoint ) === true ) { // if so, this is the closest point result.copy( projectedPoint ); } else { // if not, the point falls outside the triangle. the result is the closest point to the triangle's edges or vertices edgeList[ 0 ].set( this.a, this.b ); edgeList[ 1 ].set( this.b, this.c ); edgeList[ 2 ].set( this.c, this.a ); for( var i = 0; i < edgeList.length; i ++ ) { edgeList[ i ].closestPointToPoint( projectedPoint, true, closestPoint ); var distance = projectedPoint.distanceToSquared( closestPoint ); if( distance < minDistance ) { minDistance = distance; result.copy( closestPoint ); } } } return result; }; }(), equals: function ( triangle ) { return triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c ); } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * @author mikael emtinger / http://gomo.se/ * @author jonobr1 / http://jonobr1.com/ */ function Mesh( geometry, material ) { Object3D.call( this ); this.type = 'Mesh'; this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); this.material = material !== undefined ? material : new MeshBasicMaterial( { color: Math.random() * 0xffffff } ); this.drawMode = TrianglesDrawMode; this.updateMorphTargets(); } Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Mesh, isMesh: true, setDrawMode: function ( value ) { this.drawMode = value; }, copy: function ( source ) { Object3D.prototype.copy.call( this, source ); this.drawMode = source.drawMode; return this; }, updateMorphTargets: function () { var geometry = this.geometry; var m, ml, name; if ( geometry.isBufferGeometry ) { var morphAttributes = geometry.morphAttributes; var keys = Object.keys( morphAttributes ); if ( keys.length > 0 ) { var morphAttribute = morphAttributes[ keys[ 0 ] ]; if ( morphAttribute !== undefined ) { this.morphTargetInfluences = []; this.morphTargetDictionary = {}; for ( m = 0, ml = morphAttribute.length; m < ml; m ++ ) { name = morphAttribute[ m ].name || String( m ); this.morphTargetInfluences.push( 0 ); this.morphTargetDictionary[ name ] = m; } } } } else { var morphTargets = geometry.morphTargets; if ( morphTargets !== undefined && morphTargets.length > 0 ) { this.morphTargetInfluences = []; this.morphTargetDictionary = {}; for ( m = 0, ml = morphTargets.length; m < ml; m ++ ) { name = morphTargets[ m ].name || String( m ); this.morphTargetInfluences.push( 0 ); this.morphTargetDictionary[ name ] = m; } } } }, raycast: ( function () { var inverseMatrix = new Matrix4(); var ray = new Ray(); var sphere = new Sphere(); var vA = new Vector3(); var vB = new Vector3(); var vC = new Vector3(); var tempA = new Vector3(); var tempB = new Vector3(); var tempC = new Vector3(); var uvA = new Vector2(); var uvB = new Vector2(); var uvC = new Vector2(); var barycoord = new Vector3(); var intersectionPoint = new Vector3(); var intersectionPointWorld = new Vector3(); function uvIntersection( point, p1, p2, p3, uv1, uv2, uv3 ) { Triangle.barycoordFromPoint( point, p1, p2, p3, barycoord ); uv1.multiplyScalar( barycoord.x ); uv2.multiplyScalar( barycoord.y ); uv3.multiplyScalar( barycoord.z ); uv1.add( uv2 ).add( uv3 ); return uv1.clone(); } function checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) { var intersect; if ( material.side === BackSide ) { intersect = ray.intersectTriangle( pC, pB, pA, true, point ); } else { intersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point ); } if ( intersect === null ) return null; intersectionPointWorld.copy( point ); intersectionPointWorld.applyMatrix4( object.matrixWorld ); var distance = raycaster.ray.origin.distanceTo( intersectionPointWorld ); if ( distance < raycaster.near || distance > raycaster.far ) return null; return { distance: distance, point: intersectionPointWorld.clone(), object: object }; } function checkBufferGeometryIntersection( object, raycaster, ray, position, uv, a, b, c ) { vA.fromBufferAttribute( position, a ); vB.fromBufferAttribute( position, b ); vC.fromBufferAttribute( position, c ); var intersection = checkIntersection( object, object.material, raycaster, ray, vA, vB, vC, intersectionPoint ); if ( intersection ) { if ( uv ) { uvA.fromBufferAttribute( uv, a ); uvB.fromBufferAttribute( uv, b ); uvC.fromBufferAttribute( uv, c ); intersection.uv = uvIntersection( intersectionPoint, vA, vB, vC, uvA, uvB, uvC ); } intersection.face = new Face3( a, b, c, Triangle.normal( vA, vB, vC ) ); intersection.faceIndex = a; } return intersection; } return function raycast( raycaster, intersects ) { var geometry = this.geometry; var material = this.material; var matrixWorld = this.matrixWorld; if ( material === undefined ) return; // Checking boundingSphere distance to ray if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); sphere.copy( geometry.boundingSphere ); sphere.applyMatrix4( matrixWorld ); if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; // inverseMatrix.getInverse( matrixWorld ); ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); // Check boundingBox before continuing if ( geometry.boundingBox !== null ) { if ( ray.intersectsBox( geometry.boundingBox ) === false ) return; } var intersection; if ( geometry.isBufferGeometry ) { var a, b, c; var index = geometry.index; var position = geometry.attributes.position; var uv = geometry.attributes.uv; var i, l; if ( index !== null ) { // indexed buffer geometry for ( i = 0, l = index.count; i < l; i += 3 ) { a = index.getX( i ); b = index.getX( i + 1 ); c = index.getX( i + 2 ); intersection = checkBufferGeometryIntersection( this, raycaster, ray, position, uv, a, b, c ); if ( intersection ) { intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indices buffer semantics intersects.push( intersection ); } } } else { // non-indexed buffer geometry for ( i = 0, l = position.count; i < l; i += 3 ) { a = i; b = i + 1; c = i + 2; intersection = checkBufferGeometryIntersection( this, raycaster, ray, position, uv, a, b, c ); if ( intersection ) { intersection.index = a; // triangle number in positions buffer semantics intersects.push( intersection ); } } } } else if ( geometry.isGeometry ) { var fvA, fvB, fvC; var isMultiMaterial = Array.isArray( material ); var vertices = geometry.vertices; var faces = geometry.faces; var uvs; var faceVertexUvs = geometry.faceVertexUvs[ 0 ]; if ( faceVertexUvs.length > 0 ) uvs = faceVertexUvs; for ( var f = 0, fl = faces.length; f < fl; f ++ ) { var face = faces[ f ]; var faceMaterial = isMultiMaterial ? material[ face.materialIndex ] : material; if ( faceMaterial === undefined ) continue; fvA = vertices[ face.a ]; fvB = vertices[ face.b ]; fvC = vertices[ face.c ]; if ( faceMaterial.morphTargets === true ) { var morphTargets = geometry.morphTargets; var morphInfluences = this.morphTargetInfluences; vA.set( 0, 0, 0 ); vB.set( 0, 0, 0 ); vC.set( 0, 0, 0 ); for ( var t = 0, tl = morphTargets.length; t < tl; t ++ ) { var influence = morphInfluences[ t ]; if ( influence === 0 ) continue; var targets = morphTargets[ t ].vertices; vA.addScaledVector( tempA.subVectors( targets[ face.a ], fvA ), influence ); vB.addScaledVector( tempB.subVectors( targets[ face.b ], fvB ), influence ); vC.addScaledVector( tempC.subVectors( targets[ face.c ], fvC ), influence ); } vA.add( fvA ); vB.add( fvB ); vC.add( fvC ); fvA = vA; fvB = vB; fvC = vC; } intersection = checkIntersection( this, faceMaterial, raycaster, ray, fvA, fvB, fvC, intersectionPoint ); if ( intersection ) { if ( uvs && uvs[ f ] ) { var uvs_f = uvs[ f ]; uvA.copy( uvs_f[ 0 ] ); uvB.copy( uvs_f[ 1 ] ); uvC.copy( uvs_f[ 2 ] ); intersection.uv = uvIntersection( intersectionPoint, fvA, fvB, fvC, uvA, uvB, uvC ); } intersection.face = face; intersection.faceIndex = f; intersects.push( intersection ); } } } }; }() ), clone: function () { return new this.constructor( this.geometry, this.material ).copy( this ); } } ); /** * @author mrdoob / http://mrdoob.com/ */ function WebGLBackground( renderer, state, objects, premultipliedAlpha ) { var clearColor = new Color( 0x000000 ); var clearAlpha = 0; var planeCamera, planeMesh; var boxCamera, boxMesh; function render( scene, camera, forceClear ) { var background = scene.background; if ( background === null ) { setClear( clearColor, clearAlpha ); } else if ( background && background.isColor ) { setClear( background, 1 ); forceClear = true; } if ( renderer.autoClear || forceClear ) { renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); } if ( background && background.isCubeTexture ) { if ( boxCamera === undefined ) { boxCamera = new PerspectiveCamera(); boxMesh = new Mesh( new BoxBufferGeometry( 5, 5, 5 ), new ShaderMaterial( { uniforms: ShaderLib.cube.uniforms, vertexShader: ShaderLib.cube.vertexShader, fragmentShader: ShaderLib.cube.fragmentShader, side: BackSide, depthTest: false, depthWrite: false, fog: false } ) ); } boxCamera.projectionMatrix.copy( camera.projectionMatrix ); boxCamera.matrixWorld.extractRotation( camera.matrixWorld ); boxCamera.matrixWorldInverse.getInverse( boxCamera.matrixWorld ); boxMesh.material.uniforms[ "tCube" ].value = background; boxMesh.modelViewMatrix.multiplyMatrices( boxCamera.matrixWorldInverse, boxMesh.matrixWorld ); objects.update( boxMesh ); renderer.renderBufferDirect( boxCamera, null, boxMesh.geometry, boxMesh.material, boxMesh, null ); } else if ( background && background.isTexture ) { if ( planeCamera === undefined ) { planeCamera = new OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); planeMesh = new Mesh( new PlaneBufferGeometry( 2, 2 ), new MeshBasicMaterial( { depthTest: false, depthWrite: false, fog: false } ) ); } planeMesh.material.map = background; objects.update( planeMesh ); renderer.renderBufferDirect( planeCamera, null, planeMesh.geometry, planeMesh.material, planeMesh, null ); } } function setClear( color, alpha ) { state.buffers.color.setClear( color.r, color.g, color.b, alpha, premultipliedAlpha ); } return { getClearColor: function () { return clearColor; }, setClearColor: function ( color, alpha ) { clearColor.set( color ); clearAlpha = alpha !== undefined ? alpha : 1; setClear( clearColor, clearAlpha ); }, getClearAlpha: function () { return clearAlpha; }, setClearAlpha: function ( alpha ) { clearAlpha = alpha; setClear( clearColor, clearAlpha ); }, render: render }; } /** * @author mrdoob / http://mrdoob.com/ */ function painterSortStable( a, b ) { if ( a.renderOrder !== b.renderOrder ) { return a.renderOrder - b.renderOrder; } else if ( a.program && b.program && a.program !== b.program ) { return a.program.id - b.program.id; } else if ( a.material.id !== b.material.id ) { return a.material.id - b.material.id; } else if ( a.z !== b.z ) { return a.z - b.z; } else { return a.id - b.id; } } function reversePainterSortStable( a, b ) { if ( a.renderOrder !== b.renderOrder ) { return a.renderOrder - b.renderOrder; } if ( a.z !== b.z ) { return b.z - a.z; } else { return a.id - b.id; } } function WebGLRenderList() { var opaque = []; var opaqueLastIndex = - 1; var transparent = []; var transparentLastIndex = - 1; function init() { opaqueLastIndex = - 1; transparentLastIndex = - 1; } function push( object, geometry, material, z, group ) { var array, index; // allocate the next position in the appropriate array if ( material.transparent ) { array = transparent; index = ++ transparentLastIndex; } else { array = opaque; index = ++ opaqueLastIndex; } // recycle existing render item or grow the array var renderItem = array[ index ]; if ( renderItem ) { renderItem.id = object.id; renderItem.object = object; renderItem.geometry = geometry; renderItem.material = material; renderItem.program = material.program; renderItem.renderOrder = object.renderOrder; renderItem.z = z; renderItem.group = group; } else { renderItem = { id: object.id, object: object, geometry: geometry, material: material, program: material.program, renderOrder: object.renderOrder, z: z, group: group }; // assert( index === array.length ); array.push( renderItem ); } } function finish() { opaque.length = opaqueLastIndex + 1; transparent.length = transparentLastIndex + 1; } function sort() { opaque.sort( painterSortStable ); transparent.sort( reversePainterSortStable ); } return { opaque: opaque, transparent: transparent, init: init, push: push, finish: finish, sort: sort }; } function WebGLRenderLists() { var lists = {}; function get( scene, camera ) { var hash = scene.id + ',' + camera.id; var list = lists[ hash ]; if ( list === undefined ) { // console.log( 'THREE.WebGLRenderLists:', hash ); list = new WebGLRenderList(); lists[ hash ] = list; } return list; } function dispose() { lists = {}; } return { get: get, dispose: dispose }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLIndexedBufferRenderer( gl, extensions, infoRender ) { var mode; function setMode( value ) { mode = value; } var type, bytesPerElement; function setIndex( value ) { type = value.type; bytesPerElement = value.bytesPerElement; } function render( start, count ) { gl.drawElements( mode, count, type, start * bytesPerElement ); infoRender.calls ++; infoRender.vertices += count; if ( mode === gl.TRIANGLES ) infoRender.faces += count / 3; else if ( mode === gl.POINTS ) infoRender.points += count; } function renderInstances( geometry, start, count ) { var extension = extensions.get( 'ANGLE_instanced_arrays' ); if ( extension === null ) { console.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); return; } extension.drawElementsInstancedANGLE( mode, count, type, start * bytesPerElement, geometry.maxInstancedCount ); infoRender.calls ++; infoRender.vertices += count * geometry.maxInstancedCount; if ( mode === gl.TRIANGLES ) infoRender.faces += geometry.maxInstancedCount * count / 3; else if ( mode === gl.POINTS ) infoRender.points += geometry.maxInstancedCount * count; } // this.setMode = setMode; this.setIndex = setIndex; this.render = render; this.renderInstances = renderInstances; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLBufferRenderer( gl, extensions, infoRender ) { var mode; function setMode( value ) { mode = value; } function render( start, count ) { gl.drawArrays( mode, start, count ); infoRender.calls ++; infoRender.vertices += count; if ( mode === gl.TRIANGLES ) infoRender.faces += count / 3; else if ( mode === gl.POINTS ) infoRender.points += count; } function renderInstances( geometry, start, count ) { var extension = extensions.get( 'ANGLE_instanced_arrays' ); if ( extension === null ) { console.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); return; } var position = geometry.attributes.position; if ( position.isInterleavedBufferAttribute ) { count = position.data.count; extension.drawArraysInstancedANGLE( mode, 0, count, geometry.maxInstancedCount ); } else { extension.drawArraysInstancedANGLE( mode, start, count, geometry.maxInstancedCount ); } infoRender.calls ++; infoRender.vertices += count * geometry.maxInstancedCount; if ( mode === gl.TRIANGLES ) infoRender.faces += geometry.maxInstancedCount * count / 3; else if ( mode === gl.POINTS ) infoRender.points += geometry.maxInstancedCount * count; } // this.setMode = setMode; this.render = render; this.renderInstances = renderInstances; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLGeometries( gl, attributes, infoMemory ) { var geometries = {}; var wireframeAttributes = {}; function onGeometryDispose( event ) { var geometry = event.target; var buffergeometry = geometries[ geometry.id ]; if ( buffergeometry.index !== null ) { attributes.remove( buffergeometry.index ); } for ( var name in buffergeometry.attributes ) { attributes.remove( buffergeometry.attributes[ name ] ); } geometry.removeEventListener( 'dispose', onGeometryDispose ); delete geometries[ geometry.id ]; // TODO Remove duplicate code var attribute = wireframeAttributes[ geometry.id ]; if ( attribute ) { attributes.remove( attribute ); delete wireframeAttributes[ geometry.id ]; } attribute = wireframeAttributes[ buffergeometry.id ]; if ( attribute ) { attributes.remove( attribute ); delete wireframeAttributes[ buffergeometry.id ]; } // infoMemory.geometries --; } function get( object, geometry ) { var buffergeometry = geometries[ geometry.id ]; if ( buffergeometry ) return buffergeometry; geometry.addEventListener( 'dispose', onGeometryDispose ); if ( geometry.isBufferGeometry ) { buffergeometry = geometry; } else if ( geometry.isGeometry ) { if ( geometry._bufferGeometry === undefined ) { geometry._bufferGeometry = new BufferGeometry().setFromObject( object ); } buffergeometry = geometry._bufferGeometry; } geometries[ geometry.id ] = buffergeometry; infoMemory.geometries ++; return buffergeometry; } function update( geometry ) { var index = geometry.index; var geometryAttributes = geometry.attributes; if ( index !== null ) { attributes.update( index, gl.ELEMENT_ARRAY_BUFFER ); } for ( var name in geometryAttributes ) { attributes.update( geometryAttributes[ name ], gl.ARRAY_BUFFER ); } // morph targets var morphAttributes = geometry.morphAttributes; for ( var name in morphAttributes ) { var array = morphAttributes[ name ]; for ( var i = 0, l = array.length; i < l; i ++ ) { attributes.update( array[ i ], gl.ARRAY_BUFFER ); } } } function getWireframeAttribute( geometry ) { var attribute = wireframeAttributes[ geometry.id ]; if ( attribute ) return attribute; var indices = []; var geometryIndex = geometry.index; var geometryAttributes = geometry.attributes; // console.time( 'wireframe' ); if ( geometryIndex !== null ) { var array = geometryIndex.array; for ( var i = 0, l = array.length; i < l; i += 3 ) { var a = array[ i + 0 ]; var b = array[ i + 1 ]; var c = array[ i + 2 ]; indices.push( a, b, b, c, c, a ); } } else { var array = geometryAttributes.position.array; for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) { var a = i + 0; var b = i + 1; var c = i + 2; indices.push( a, b, b, c, c, a ); } } // console.timeEnd( 'wireframe' ); attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 ); attributes.update( attribute, gl.ELEMENT_ARRAY_BUFFER ); wireframeAttributes[ geometry.id ] = attribute; return attribute; } return { get: get, update: update, getWireframeAttribute: getWireframeAttribute }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLLights() { var lights = {}; return { get: function ( light ) { if ( lights[ light.id ] !== undefined ) { return lights[ light.id ]; } var uniforms; switch ( light.type ) { case 'DirectionalLight': uniforms = { direction: new Vector3(), color: new Color(), shadow: false, shadowBias: 0, shadowRadius: 1, shadowMapSize: new Vector2() }; break; case 'SpotLight': uniforms = { position: new Vector3(), direction: new Vector3(), color: new Color(), distance: 0, coneCos: 0, penumbraCos: 0, decay: 0, shadow: false, shadowBias: 0, shadowRadius: 1, shadowMapSize: new Vector2() }; break; case 'PointLight': uniforms = { position: new Vector3(), color: new Color(), distance: 0, decay: 0, shadow: false, shadowBias: 0, shadowRadius: 1, shadowMapSize: new Vector2() }; break; case 'HemisphereLight': uniforms = { direction: new Vector3(), skyColor: new Color(), groundColor: new Color() }; break; case 'RectAreaLight': uniforms = { color: new Color(), position: new Vector3(), halfWidth: new Vector3(), halfHeight: new Vector3() // TODO (abelnation): set RectAreaLight shadow uniforms }; break; } lights[ light.id ] = uniforms; return uniforms; } }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLObjects( gl, geometries, infoRender ) { var updateList = {}; function update( object ) { var frame = infoRender.frame; var geometry = object.geometry; var buffergeometry = geometries.get( object, geometry ); // Update once per frame if ( updateList[ buffergeometry.id ] !== frame ) { if ( geometry.isGeometry ) { buffergeometry.updateFromObject( object ); } geometries.update( buffergeometry ); updateList[ buffergeometry.id ] = frame; } return buffergeometry; } function clear() { updateList = {}; } return { update: update, clear: clear }; } /** * @author mrdoob / http://mrdoob.com/ */ function addLineNumbers( string ) { var lines = string.split( '\n' ); for ( var i = 0; i < lines.length; i ++ ) { lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; } return lines.join( '\n' ); } function WebGLShader( gl, type, string ) { var shader = gl.createShader( type ); gl.shaderSource( shader, string ); gl.compileShader( shader ); if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) { console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' ); } if ( gl.getShaderInfoLog( shader ) !== '' ) { //console.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', type === gl.VERTEX_SHADER ? 'vertex' : 'fragment', gl.getShaderInfoLog( shader ), addLineNumbers( string ) ); } // --enable-privileged-webgl-extension // console.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); return shader; } /** * @author mrdoob / http://mrdoob.com/ */ var programIdCount = 0; function getEncodingComponents( encoding ) { switch ( encoding ) { case LinearEncoding: return [ 'Linear','( value )' ]; case sRGBEncoding: return [ 'sRGB','( value )' ]; case RGBEEncoding: return [ 'RGBE','( value )' ]; case RGBM7Encoding: return [ 'RGBM','( value, 7.0 )' ]; case RGBM16Encoding: return [ 'RGBM','( value, 16.0 )' ]; case RGBDEncoding: return [ 'RGBD','( value, 256.0 )' ]; case GammaEncoding: return [ 'Gamma','( value, float( GAMMA_FACTOR ) )' ]; default: throw new Error( 'unsupported encoding: ' + encoding ); } } function getTexelDecodingFunction( functionName, encoding ) { var components = getEncodingComponents( encoding ); return "vec4 " + functionName + "( vec4 value ) { return " + components[ 0 ] + "ToLinear" + components[ 1 ] + "; }"; } function getTexelEncodingFunction( functionName, encoding ) { var components = getEncodingComponents( encoding ); return "vec4 " + functionName + "( vec4 value ) { return LinearTo" + components[ 0 ] + components[ 1 ] + "; }"; } function getToneMappingFunction( functionName, toneMapping ) { var toneMappingName; switch ( toneMapping ) { case LinearToneMapping: toneMappingName = "Linear"; break; case ReinhardToneMapping: toneMappingName = "Reinhard"; break; case Uncharted2ToneMapping: toneMappingName = "Uncharted2"; break; case CineonToneMapping: toneMappingName = "OptimizedCineon"; break; default: throw new Error( 'unsupported toneMapping: ' + toneMapping ); } return "vec3 " + functionName + "( vec3 color ) { return " + toneMappingName + "ToneMapping( color ); }"; } function generateExtensions( extensions, parameters, rendererExtensions ) { extensions = extensions || {}; var chunks = [ ( extensions.derivatives || parameters.envMapCubeUV || parameters.bumpMap || parameters.normalMap || parameters.flatShading ) ? '#extension GL_OES_standard_derivatives : enable' : '', ( extensions.fragDepth || parameters.logarithmicDepthBuffer ) && rendererExtensions.get( 'EXT_frag_depth' ) ? '#extension GL_EXT_frag_depth : enable' : '', ( extensions.drawBuffers ) && rendererExtensions.get( 'WEBGL_draw_buffers' ) ? '#extension GL_EXT_draw_buffers : require' : '', ( extensions.shaderTextureLOD || parameters.envMap ) && rendererExtensions.get( 'EXT_shader_texture_lod' ) ? '#extension GL_EXT_shader_texture_lod : enable' : '' ]; return chunks.filter( filterEmptyLine ).join( '\n' ); } function generateDefines( defines ) { var chunks = []; for ( var name in defines ) { var value = defines[ name ]; if ( value === false ) continue; chunks.push( '#define ' + name + ' ' + value ); } return chunks.join( '\n' ); } function fetchAttributeLocations( gl, program, identifiers ) { var attributes = {}; var n = gl.getProgramParameter( program, gl.ACTIVE_ATTRIBUTES ); for ( var i = 0; i < n; i ++ ) { var info = gl.getActiveAttrib( program, i ); var name = info.name; // console.log("THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:", name, i ); attributes[ name ] = gl.getAttribLocation( program, name ); } return attributes; } function filterEmptyLine( string ) { return string !== ''; } function replaceLightNums( string, parameters ) { return string .replace( /NUM_DIR_LIGHTS/g, parameters.numDirLights ) .replace( /NUM_SPOT_LIGHTS/g, parameters.numSpotLights ) .replace( /NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights ) .replace( /NUM_POINT_LIGHTS/g, parameters.numPointLights ) .replace( /NUM_HEMI_LIGHTS/g, parameters.numHemiLights ); } function parseIncludes( string ) { var pattern = /^[ \t]*#include +<([\w\d.]+)>/gm; function replace( match, include ) { var replace = ShaderChunk[ include ]; if ( replace === undefined ) { throw new Error( 'Can not resolve #include <' + include + '>' ); } return parseIncludes( replace ); } return string.replace( pattern, replace ); } function unrollLoops( string ) { var pattern = /for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g; function replace( match, start, end, snippet ) { var unroll = ''; for ( var i = parseInt( start ); i < parseInt( end ); i ++ ) { unroll += snippet.replace( /\[ i \]/g, '[ ' + i + ' ]' ); } return unroll; } return string.replace( pattern, replace ); } function WebGLProgram( renderer, code, material, shader, parameters ) { var gl = renderer.context; var extensions = material.extensions; var defines = material.defines; var vertexShader = shader.vertexShader; var fragmentShader = shader.fragmentShader; var shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC'; if ( parameters.shadowMapType === PCFShadowMap ) { shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF'; } else if ( parameters.shadowMapType === PCFSoftShadowMap ) { shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT'; } var envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; var envMapModeDefine = 'ENVMAP_MODE_REFLECTION'; var envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; if ( parameters.envMap ) { switch ( material.envMap.mapping ) { case CubeReflectionMapping: case CubeRefractionMapping: envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; break; case CubeUVReflectionMapping: case CubeUVRefractionMapping: envMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV'; break; case EquirectangularReflectionMapping: case EquirectangularRefractionMapping: envMapTypeDefine = 'ENVMAP_TYPE_EQUIREC'; break; case SphericalReflectionMapping: envMapTypeDefine = 'ENVMAP_TYPE_SPHERE'; break; } switch ( material.envMap.mapping ) { case CubeRefractionMapping: case EquirectangularRefractionMapping: envMapModeDefine = 'ENVMAP_MODE_REFRACTION'; break; } switch ( material.combine ) { case MultiplyOperation: envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; break; case MixOperation: envMapBlendingDefine = 'ENVMAP_BLENDING_MIX'; break; case AddOperation: envMapBlendingDefine = 'ENVMAP_BLENDING_ADD'; break; } } var gammaFactorDefine = ( renderer.gammaFactor > 0 ) ? renderer.gammaFactor : 1.0; // console.log( 'building new program ' ); // var customExtensions = generateExtensions( extensions, parameters, renderer.extensions ); var customDefines = generateDefines( defines ); // var program = gl.createProgram(); var prefixVertex, prefixFragment; if ( material.isRawShaderMaterial ) { prefixVertex = [ customDefines, '\n' ].filter( filterEmptyLine ).join( '\n' ); prefixFragment = [ customExtensions, customDefines, '\n' ].filter( filterEmptyLine ).join( '\n' ); } else { prefixVertex = [ 'precision ' + parameters.precision + ' float;', 'precision ' + parameters.precision + ' int;', '#define SHADER_NAME ' + shader.name, customDefines, parameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', '#define GAMMA_FACTOR ' + gammaFactorDefine, '#define MAX_BONES ' + parameters.maxBones, ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', parameters.map ? '#define USE_MAP' : '', parameters.envMap ? '#define USE_ENVMAP' : '', parameters.envMap ? '#define ' + envMapModeDefine : '', parameters.lightMap ? '#define USE_LIGHTMAP' : '', parameters.aoMap ? '#define USE_AOMAP' : '', parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', parameters.bumpMap ? '#define USE_BUMPMAP' : '', parameters.normalMap ? '#define USE_NORMALMAP' : '', parameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', parameters.specularMap ? '#define USE_SPECULARMAP' : '', parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', parameters.alphaMap ? '#define USE_ALPHAMAP' : '', parameters.vertexColors ? '#define USE_COLOR' : '', parameters.flatShading ? '#define FLAT_SHADED' : '', parameters.skinning ? '#define USE_SKINNING' : '', parameters.useVertexTexture ? '#define BONE_TEXTURE' : '', parameters.morphTargets ? '#define USE_MORPHTARGETS' : '', parameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '', parameters.doubleSided ? '#define DOUBLE_SIDED' : '', parameters.flipSided ? '#define FLIP_SIDED' : '', '#define NUM_CLIPPING_PLANES ' + parameters.numClippingPlanes, parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', parameters.logarithmicDepthBuffer && renderer.extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '', 'uniform mat4 modelMatrix;', 'uniform mat4 modelViewMatrix;', 'uniform mat4 projectionMatrix;', 'uniform mat4 viewMatrix;', 'uniform mat3 normalMatrix;', 'uniform vec3 cameraPosition;', 'attribute vec3 position;', 'attribute vec3 normal;', 'attribute vec2 uv;', '#ifdef USE_COLOR', ' attribute vec3 color;', '#endif', '#ifdef USE_MORPHTARGETS', ' attribute vec3 morphTarget0;', ' attribute vec3 morphTarget1;', ' attribute vec3 morphTarget2;', ' attribute vec3 morphTarget3;', ' #ifdef USE_MORPHNORMALS', ' attribute vec3 morphNormal0;', ' attribute vec3 morphNormal1;', ' attribute vec3 morphNormal2;', ' attribute vec3 morphNormal3;', ' #else', ' attribute vec3 morphTarget4;', ' attribute vec3 morphTarget5;', ' attribute vec3 morphTarget6;', ' attribute vec3 morphTarget7;', ' #endif', '#endif', '#ifdef USE_SKINNING', ' attribute vec4 skinIndex;', ' attribute vec4 skinWeight;', '#endif', '\n' ].filter( filterEmptyLine ).join( '\n' ); prefixFragment = [ customExtensions, 'precision ' + parameters.precision + ' float;', 'precision ' + parameters.precision + ' int;', '#define SHADER_NAME ' + shader.name, customDefines, parameters.alphaTest ? '#define ALPHATEST ' + parameters.alphaTest : '', '#define GAMMA_FACTOR ' + gammaFactorDefine, ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', parameters.map ? '#define USE_MAP' : '', parameters.envMap ? '#define USE_ENVMAP' : '', parameters.envMap ? '#define ' + envMapTypeDefine : '', parameters.envMap ? '#define ' + envMapModeDefine : '', parameters.envMap ? '#define ' + envMapBlendingDefine : '', parameters.lightMap ? '#define USE_LIGHTMAP' : '', parameters.aoMap ? '#define USE_AOMAP' : '', parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', parameters.bumpMap ? '#define USE_BUMPMAP' : '', parameters.normalMap ? '#define USE_NORMALMAP' : '', parameters.specularMap ? '#define USE_SPECULARMAP' : '', parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', parameters.alphaMap ? '#define USE_ALPHAMAP' : '', parameters.vertexColors ? '#define USE_COLOR' : '', parameters.gradientMap ? '#define USE_GRADIENTMAP' : '', parameters.flatShading ? '#define FLAT_SHADED' : '', parameters.doubleSided ? '#define DOUBLE_SIDED' : '', parameters.flipSided ? '#define FLIP_SIDED' : '', '#define NUM_CLIPPING_PLANES ' + parameters.numClippingPlanes, '#define UNION_CLIPPING_PLANES ' + (parameters.numClippingPlanes - parameters.numClipIntersection), parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', parameters.premultipliedAlpha ? "#define PREMULTIPLIED_ALPHA" : '', parameters.physicallyCorrectLights ? "#define PHYSICALLY_CORRECT_LIGHTS" : '', parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', parameters.logarithmicDepthBuffer && renderer.extensions.get( 'EXT_frag_depth' ) ? '#define USE_LOGDEPTHBUF_EXT' : '', parameters.envMap && renderer.extensions.get( 'EXT_shader_texture_lod' ) ? '#define TEXTURE_LOD_EXT' : '', 'uniform mat4 viewMatrix;', 'uniform vec3 cameraPosition;', ( parameters.toneMapping !== NoToneMapping ) ? "#define TONE_MAPPING" : '', ( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below ( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( "toneMapping", parameters.toneMapping ) : '', parameters.dithering ? '#define DITHERING' : '', ( parameters.outputEncoding || parameters.mapEncoding || parameters.envMapEncoding || parameters.emissiveMapEncoding ) ? ShaderChunk[ 'encodings_pars_fragment' ] : '', // this code is required here because it is used by the various encoding/decoding function defined below parameters.mapEncoding ? getTexelDecodingFunction( 'mapTexelToLinear', parameters.mapEncoding ) : '', parameters.envMapEncoding ? getTexelDecodingFunction( 'envMapTexelToLinear', parameters.envMapEncoding ) : '', parameters.emissiveMapEncoding ? getTexelDecodingFunction( 'emissiveMapTexelToLinear', parameters.emissiveMapEncoding ) : '', parameters.outputEncoding ? getTexelEncodingFunction( "linearToOutputTexel", parameters.outputEncoding ) : '', parameters.depthPacking ? "#define DEPTH_PACKING " + material.depthPacking : '', '\n' ].filter( filterEmptyLine ).join( '\n' ); } vertexShader = parseIncludes( vertexShader ); vertexShader = replaceLightNums( vertexShader, parameters ); fragmentShader = parseIncludes( fragmentShader ); fragmentShader = replaceLightNums( fragmentShader, parameters ); if ( ! material.isShaderMaterial ) { vertexShader = unrollLoops( vertexShader ); fragmentShader = unrollLoops( fragmentShader ); } var vertexGlsl = prefixVertex + vertexShader; var fragmentGlsl = prefixFragment + fragmentShader; // console.log( '*VERTEX*', vertexGlsl ); // console.log( '*FRAGMENT*', fragmentGlsl ); var glVertexShader = WebGLShader( gl, gl.VERTEX_SHADER, vertexGlsl ); var glFragmentShader = WebGLShader( gl, gl.FRAGMENT_SHADER, fragmentGlsl ); gl.attachShader( program, glVertexShader ); gl.attachShader( program, glFragmentShader ); // Force a particular attribute to index 0. if ( material.index0AttributeName !== undefined ) { gl.bindAttribLocation( program, 0, material.index0AttributeName ); } else if ( parameters.morphTargets === true ) { // programs with morphTargets displace position out of attribute 0 gl.bindAttribLocation( program, 0, 'position' ); } gl.linkProgram( program ); var programLog = gl.getProgramInfoLog( program ); var vertexLog = gl.getShaderInfoLog( glVertexShader ); var fragmentLog = gl.getShaderInfoLog( glFragmentShader ); var runnable = true; var haveDiagnostics = true; // console.log( '**VERTEX**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glVertexShader ) ); // console.log( '**FRAGMENT**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glFragmentShader ) ); if ( gl.getProgramParameter( program, gl.LINK_STATUS ) === false ) { runnable = false; console.error( 'THREE.WebGLProgram: shader error: ', gl.getError(), 'gl.VALIDATE_STATUS', gl.getProgramParameter( program, gl.VALIDATE_STATUS ), 'gl.getProgramInfoLog', programLog, vertexLog, fragmentLog ); } else if ( programLog !== '' ) { console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', programLog ); } else if ( vertexLog === '' || fragmentLog === '' ) { haveDiagnostics = false; } if ( haveDiagnostics ) { this.diagnostics = { runnable: runnable, material: material, programLog: programLog, vertexShader: { log: vertexLog, prefix: prefixVertex }, fragmentShader: { log: fragmentLog, prefix: prefixFragment } }; } // clean up gl.deleteShader( glVertexShader ); gl.deleteShader( glFragmentShader ); // set up caching for uniform locations var cachedUniforms; this.getUniforms = function() { if ( cachedUniforms === undefined ) { cachedUniforms = new WebGLUniforms( gl, program, renderer ); } return cachedUniforms; }; // set up caching for attribute locations var cachedAttributes; this.getAttributes = function() { if ( cachedAttributes === undefined ) { cachedAttributes = fetchAttributeLocations( gl, program ); } return cachedAttributes; }; // free resource this.destroy = function() { gl.deleteProgram( program ); this.program = undefined; }; // DEPRECATED Object.defineProperties( this, { uniforms: { get: function() { console.warn( 'THREE.WebGLProgram: .uniforms is now .getUniforms().' ); return this.getUniforms(); } }, attributes: { get: function() { console.warn( 'THREE.WebGLProgram: .attributes is now .getAttributes().' ); return this.getAttributes(); } } } ); // this.id = programIdCount ++; this.code = code; this.usedTimes = 1; this.program = program; this.vertexShader = glVertexShader; this.fragmentShader = glFragmentShader; return this; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLPrograms( renderer, capabilities ) { var programs = []; var shaderIDs = { MeshDepthMaterial: 'depth', MeshNormalMaterial: 'normal', MeshBasicMaterial: 'basic', MeshLambertMaterial: 'lambert', MeshPhongMaterial: 'phong', MeshToonMaterial: 'phong', MeshStandardMaterial: 'physical', MeshPhysicalMaterial: 'physical', LineBasicMaterial: 'basic', LineDashedMaterial: 'dashed', PointsMaterial: 'points' }; var parameterNames = [ "precision", "supportsVertexTextures", "map", "mapEncoding", "envMap", "envMapMode", "envMapEncoding", "lightMap", "aoMap", "emissiveMap", "emissiveMapEncoding", "bumpMap", "normalMap", "displacementMap", "specularMap", "roughnessMap", "metalnessMap", "gradientMap", "alphaMap", "combine", "vertexColors", "fog", "useFog", "fogExp", "flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning", "maxBones", "useVertexTexture", "morphTargets", "morphNormals", "maxMorphTargets", "maxMorphNormals", "premultipliedAlpha", "numDirLights", "numPointLights", "numSpotLights", "numHemiLights", "numRectAreaLights", "shadowMapEnabled", "shadowMapType", "toneMapping", 'physicallyCorrectLights', "alphaTest", "doubleSided", "flipSided", "numClippingPlanes", "numClipIntersection", "depthPacking", "dithering" ]; function allocateBones( object ) { var skeleton = object.skeleton; var bones = skeleton.bones; if ( capabilities.floatVertexTextures ) { return 1024; } else { // default for when object is not specified // ( for example when prebuilding shader to be used with multiple objects ) // // - leave some extra space for other uniforms // - limit here is ANGLE's 254 max uniform vectors // (up to 54 should be safe) var nVertexUniforms = capabilities.maxVertexUniforms; var nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 ); var maxBones = Math.min( nVertexMatrices, bones.length ); if ( maxBones < bones.length ) { console.warn( 'THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones. This GPU supports ' + maxBones + '.' ); return 0; } return maxBones; } } function getTextureEncodingFromMap( map, gammaOverrideLinear ) { var encoding; if ( ! map ) { encoding = LinearEncoding; } else if ( map.isTexture ) { encoding = map.encoding; } else if ( map.isWebGLRenderTarget ) { console.warn( "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead." ); encoding = map.texture.encoding; } // add backwards compatibility for WebGLRenderer.gammaInput/gammaOutput parameter, should probably be removed at some point. if ( encoding === LinearEncoding && gammaOverrideLinear ) { encoding = GammaEncoding; } return encoding; } this.getParameters = function ( material, lights, fog, nClipPlanes, nClipIntersection, object ) { var shaderID = shaderIDs[ material.type ]; // heuristics to create shader parameters according to lights in the scene // (not to blow over maxLights budget) var maxBones = object.isSkinnedMesh ? allocateBones( object ) : 0; var precision = renderer.getPrecision(); if ( material.precision !== null ) { precision = capabilities.getMaxPrecision( material.precision ); if ( precision !== material.precision ) { console.warn( 'THREE.WebGLProgram.getParameters:', material.precision, 'not supported, using', precision, 'instead.' ); } } var currentRenderTarget = renderer.getRenderTarget(); var parameters = { shaderID: shaderID, precision: precision, supportsVertexTextures: capabilities.vertexTextures, outputEncoding: getTextureEncodingFromMap( ( ! currentRenderTarget ) ? null : currentRenderTarget.texture, renderer.gammaOutput ), map: !! material.map, mapEncoding: getTextureEncodingFromMap( material.map, renderer.gammaInput ), envMap: !! material.envMap, envMapMode: material.envMap && material.envMap.mapping, envMapEncoding: getTextureEncodingFromMap( material.envMap, renderer.gammaInput ), envMapCubeUV: ( !! material.envMap ) && ( ( material.envMap.mapping === CubeUVReflectionMapping ) || ( material.envMap.mapping === CubeUVRefractionMapping ) ), lightMap: !! material.lightMap, aoMap: !! material.aoMap, emissiveMap: !! material.emissiveMap, emissiveMapEncoding: getTextureEncodingFromMap( material.emissiveMap, renderer.gammaInput ), bumpMap: !! material.bumpMap, normalMap: !! material.normalMap, displacementMap: !! material.displacementMap, roughnessMap: !! material.roughnessMap, metalnessMap: !! material.metalnessMap, specularMap: !! material.specularMap, alphaMap: !! material.alphaMap, gradientMap: !! material.gradientMap, combine: material.combine, vertexColors: material.vertexColors, fog: !! fog, useFog: material.fog, fogExp: ( fog && fog.isFogExp2 ), flatShading: material.shading === FlatShading, sizeAttenuation: material.sizeAttenuation, logarithmicDepthBuffer: capabilities.logarithmicDepthBuffer, skinning: material.skinning && maxBones > 0, maxBones: maxBones, useVertexTexture: capabilities.floatVertexTextures, morphTargets: material.morphTargets, morphNormals: material.morphNormals, maxMorphTargets: renderer.maxMorphTargets, maxMorphNormals: renderer.maxMorphNormals, numDirLights: lights.directional.length, numPointLights: lights.point.length, numSpotLights: lights.spot.length, numRectAreaLights: lights.rectArea.length, numHemiLights: lights.hemi.length, numClippingPlanes: nClipPlanes, numClipIntersection: nClipIntersection, dithering: material.dithering, shadowMapEnabled: renderer.shadowMap.enabled && object.receiveShadow && lights.shadows.length > 0, shadowMapType: renderer.shadowMap.type, toneMapping: renderer.toneMapping, physicallyCorrectLights: renderer.physicallyCorrectLights, premultipliedAlpha: material.premultipliedAlpha, alphaTest: material.alphaTest, doubleSided: material.side === DoubleSide, flipSided: material.side === BackSide, depthPacking: ( material.depthPacking !== undefined ) ? material.depthPacking : false }; return parameters; }; this.getProgramCode = function ( material, parameters ) { var array = []; if ( parameters.shaderID ) { array.push( parameters.shaderID ); } else { array.push( material.fragmentShader ); array.push( material.vertexShader ); } if ( material.defines !== undefined ) { for ( var name in material.defines ) { array.push( name ); array.push( material.defines[ name ] ); } } for ( var i = 0; i < parameterNames.length; i ++ ) { array.push( parameters[ parameterNames[ i ] ] ); } array.push( material.onBeforeCompile.toString() ); array.push( renderer.gammaOutput ); return array.join(); }; this.acquireProgram = function ( material, shader, parameters, code ) { var program; // Check if code has been already compiled for ( var p = 0, pl = programs.length; p < pl; p ++ ) { var programInfo = programs[ p ]; if ( programInfo.code === code ) { program = programInfo; ++ program.usedTimes; break; } } if ( program === undefined ) { program = new WebGLProgram( renderer, code, material, shader, parameters ); programs.push( program ); } return program; }; this.releaseProgram = function ( program ) { if ( -- program.usedTimes === 0 ) { // Remove from unordered set var i = programs.indexOf( program ); programs[ i ] = programs[ programs.length - 1 ]; programs.pop(); // Free WebGL resources program.destroy(); } }; // Exposed for resource monitoring & error feedback via renderer.info: this.programs = programs; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLTextures( _gl, extensions, state, properties, capabilities, paramThreeToGL, infoMemory ) { var _isWebGL2 = ( typeof WebGL2RenderingContext !== 'undefined' && _gl instanceof WebGL2RenderingContext ); // function clampToMaxSize( image, maxSize ) { if ( image.width > maxSize || image.height > maxSize ) { // Warning: Scaling through the canvas will only work with images that use // premultiplied alpha. var scale = maxSize / Math.max( image.width, image.height ); var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); canvas.width = Math.floor( image.width * scale ); canvas.height = Math.floor( image.height * scale ); var context = canvas.getContext( '2d' ); context.drawImage( image, 0, 0, image.width, image.height, 0, 0, canvas.width, canvas.height ); console.warn( 'THREE.WebGLRenderer: image is too big (' + image.width + 'x' + image.height + '). Resized to ' + canvas.width + 'x' + canvas.height, image ); return canvas; } return image; } function isPowerOfTwo( image ) { return _Math.isPowerOfTwo( image.width ) && _Math.isPowerOfTwo( image.height ); } function makePowerOfTwo( image ) { if ( image instanceof HTMLImageElement || image instanceof HTMLCanvasElement ) { var canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); canvas.width = _Math.nearestPowerOfTwo( image.width ); canvas.height = _Math.nearestPowerOfTwo( image.height ); var context = canvas.getContext( '2d' ); context.drawImage( image, 0, 0, canvas.width, canvas.height ); console.warn( 'THREE.WebGLRenderer: image is not power of two (' + image.width + 'x' + image.height + '). Resized to ' + canvas.width + 'x' + canvas.height, image ); return canvas; } return image; } function textureNeedsPowerOfTwo( texture ) { return ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) || ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ); } function textureNeedsGenerateMipmaps( texture, isPowerOfTwo ) { return texture.generateMipmaps && isPowerOfTwo && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; } // Fallback filters for non-power-of-2 textures function filterFallback( f ) { if ( f === NearestFilter || f === NearestMipMapNearestFilter || f === NearestMipMapLinearFilter ) { return _gl.NEAREST; } return _gl.LINEAR; } // function onTextureDispose( event ) { var texture = event.target; texture.removeEventListener( 'dispose', onTextureDispose ); deallocateTexture( texture ); infoMemory.textures --; } function onRenderTargetDispose( event ) { var renderTarget = event.target; renderTarget.removeEventListener( 'dispose', onRenderTargetDispose ); deallocateRenderTarget( renderTarget ); infoMemory.textures --; } // function deallocateTexture( texture ) { var textureProperties = properties.get( texture ); if ( texture.image && textureProperties.__image__webglTextureCube ) { // cube texture _gl.deleteTexture( textureProperties.__image__webglTextureCube ); } else { // 2D texture if ( textureProperties.__webglInit === undefined ) return; _gl.deleteTexture( textureProperties.__webglTexture ); } // remove all webgl properties properties.remove( texture ); } function deallocateRenderTarget( renderTarget ) { var renderTargetProperties = properties.get( renderTarget ); var textureProperties = properties.get( renderTarget.texture ); if ( ! renderTarget ) return; if ( textureProperties.__webglTexture !== undefined ) { _gl.deleteTexture( textureProperties.__webglTexture ); } if ( renderTarget.depthTexture ) { renderTarget.depthTexture.dispose(); } if ( renderTarget.isWebGLRenderTargetCube ) { for ( var i = 0; i < 6; i ++ ) { _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer[ i ] ); if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer[ i ] ); } } else { _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer ); if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer ); } properties.remove( renderTarget.texture ); properties.remove( renderTarget ); } // function setTexture2D( texture, slot ) { var textureProperties = properties.get( texture ); if ( texture.version > 0 && textureProperties.__version !== texture.version ) { var image = texture.image; if ( image === undefined ) { console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is undefined', texture ); } else if ( image.complete === false ) { console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete', texture ); } else { uploadTexture( textureProperties, texture, slot ); return; } } state.activeTexture( _gl.TEXTURE0 + slot ); state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); } function setTextureCube( texture, slot ) { var textureProperties = properties.get( texture ); if ( texture.image.length === 6 ) { if ( texture.version > 0 && textureProperties.__version !== texture.version ) { if ( ! textureProperties.__image__webglTextureCube ) { texture.addEventListener( 'dispose', onTextureDispose ); textureProperties.__image__webglTextureCube = _gl.createTexture(); infoMemory.textures ++; } state.activeTexture( _gl.TEXTURE0 + slot ); state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__image__webglTextureCube ); _gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY ); var isCompressed = ( texture && texture.isCompressedTexture ); var isDataTexture = ( texture.image[ 0 ] && texture.image[ 0 ].isDataTexture ); var cubeImage = []; for ( var i = 0; i < 6; i ++ ) { if ( ! isCompressed && ! isDataTexture ) { cubeImage[ i ] = clampToMaxSize( texture.image[ i ], capabilities.maxCubemapSize ); } else { cubeImage[ i ] = isDataTexture ? texture.image[ i ].image : texture.image[ i ]; } } var image = cubeImage[ 0 ], isPowerOfTwoImage = isPowerOfTwo( image ), glFormat = paramThreeToGL( texture.format ), glType = paramThreeToGL( texture.type ); setTextureParameters( _gl.TEXTURE_CUBE_MAP, texture, isPowerOfTwoImage ); for ( var i = 0; i < 6; i ++ ) { if ( ! isCompressed ) { if ( isDataTexture ) { state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, cubeImage[ i ].width, cubeImage[ i ].height, 0, glFormat, glType, cubeImage[ i ].data ); } else { state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glFormat, glFormat, glType, cubeImage[ i ] ); } } else { var mipmap, mipmaps = cubeImage[ i ].mipmaps; for ( var j = 0, jl = mipmaps.length; j < jl; j ++ ) { mipmap = mipmaps[ j ]; if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { state.compressedTexImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glFormat, mipmap.width, mipmap.height, 0, mipmap.data ); } else { console.warn( "THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()" ); } } else { state.texImage2D( _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); } } } } if ( textureNeedsGenerateMipmaps( texture, isPowerOfTwoImage ) ) { _gl.generateMipmap( _gl.TEXTURE_CUBE_MAP ); } textureProperties.__version = texture.version; if ( texture.onUpdate ) texture.onUpdate( texture ); } else { state.activeTexture( _gl.TEXTURE0 + slot ); state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__image__webglTextureCube ); } } } function setTextureCubeDynamic( texture, slot ) { state.activeTexture( _gl.TEXTURE0 + slot ); state.bindTexture( _gl.TEXTURE_CUBE_MAP, properties.get( texture ).__webglTexture ); } function setTextureParameters( textureType, texture, isPowerOfTwoImage ) { var extension; if ( isPowerOfTwoImage ) { _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, paramThreeToGL( texture.wrapS ) ); _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, paramThreeToGL( texture.wrapT ) ); _gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, paramThreeToGL( texture.magFilter ) ); _gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, paramThreeToGL( texture.minFilter ) ); } else { _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE ); _gl.texParameteri( textureType, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE ); if ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) { console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.', texture ); } _gl.texParameteri( textureType, _gl.TEXTURE_MAG_FILTER, filterFallback( texture.magFilter ) ); _gl.texParameteri( textureType, _gl.TEXTURE_MIN_FILTER, filterFallback( texture.minFilter ) ); if ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) { console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.', texture ); } } extension = extensions.get( 'EXT_texture_filter_anisotropic' ); if ( extension ) { if ( texture.type === FloatType && extensions.get( 'OES_texture_float_linear' ) === null ) return; if ( texture.type === HalfFloatType && extensions.get( 'OES_texture_half_float_linear' ) === null ) return; if ( texture.anisotropy > 1 || properties.get( texture ).__currentAnisotropy ) { _gl.texParameterf( textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, capabilities.getMaxAnisotropy() ) ); properties.get( texture ).__currentAnisotropy = texture.anisotropy; } } } function uploadTexture( textureProperties, texture, slot ) { if ( textureProperties.__webglInit === undefined ) { textureProperties.__webglInit = true; texture.addEventListener( 'dispose', onTextureDispose ); textureProperties.__webglTexture = _gl.createTexture(); infoMemory.textures ++; } state.activeTexture( _gl.TEXTURE0 + slot ); state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); _gl.pixelStorei( _gl.UNPACK_FLIP_Y_WEBGL, texture.flipY ); _gl.pixelStorei( _gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha ); _gl.pixelStorei( _gl.UNPACK_ALIGNMENT, texture.unpackAlignment ); var image = clampToMaxSize( texture.image, capabilities.maxTextureSize ); if ( textureNeedsPowerOfTwo( texture ) && isPowerOfTwo( image ) === false ) { image = makePowerOfTwo( image ); } var isPowerOfTwoImage = isPowerOfTwo( image ), glFormat = paramThreeToGL( texture.format ), glType = paramThreeToGL( texture.type ); setTextureParameters( _gl.TEXTURE_2D, texture, isPowerOfTwoImage ); var mipmap, mipmaps = texture.mipmaps; if ( texture.isDepthTexture ) { // populate depth texture with dummy data var internalFormat = _gl.DEPTH_COMPONENT; if ( texture.type === FloatType ) { if ( !_isWebGL2 ) throw new Error('Float Depth Texture only supported in WebGL2.0'); internalFormat = _gl.DEPTH_COMPONENT32F; } else if ( _isWebGL2 ) { // WebGL 2.0 requires signed internalformat for glTexImage2D internalFormat = _gl.DEPTH_COMPONENT16; } if ( texture.format === DepthFormat && internalFormat === _gl.DEPTH_COMPONENT ) { // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are // DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) if ( texture.type !== UnsignedShortType && texture.type !== UnsignedIntType ) { console.warn( 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.' ); texture.type = UnsignedShortType; glType = paramThreeToGL( texture.type ); } } // Depth stencil textures need the DEPTH_STENCIL internal format // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) if ( texture.format === DepthStencilFormat ) { internalFormat = _gl.DEPTH_STENCIL; // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are // DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL. // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) if ( texture.type !== UnsignedInt248Type ) { console.warn( 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.' ); texture.type = UnsignedInt248Type; glType = paramThreeToGL( texture.type ); } } state.texImage2D( _gl.TEXTURE_2D, 0, internalFormat, image.width, image.height, 0, glFormat, glType, null ); } else if ( texture.isDataTexture ) { // use manually created mipmaps if available // if there are no manual mipmaps // set 0 level mipmap and then use GL to generate other mipmap levels if ( mipmaps.length > 0 && isPowerOfTwoImage ) { for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { mipmap = mipmaps[ i ]; state.texImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); } texture.generateMipmaps = false; } else { state.texImage2D( _gl.TEXTURE_2D, 0, glFormat, image.width, image.height, 0, glFormat, glType, image.data ); } } else if ( texture.isCompressedTexture ) { for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { mipmap = mipmaps[ i ]; if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { state.compressedTexImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, mipmap.data ); } else { console.warn( "THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()" ); } } else { state.texImage2D( _gl.TEXTURE_2D, i, glFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); } } } else { // regular Texture (image, video, canvas) // use manually created mipmaps if available // if there are no manual mipmaps // set 0 level mipmap and then use GL to generate other mipmap levels if ( mipmaps.length > 0 && isPowerOfTwoImage ) { for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { mipmap = mipmaps[ i ]; state.texImage2D( _gl.TEXTURE_2D, i, glFormat, glFormat, glType, mipmap ); } texture.generateMipmaps = false; } else { state.texImage2D( _gl.TEXTURE_2D, 0, glFormat, glFormat, glType, image ); } } if ( textureNeedsGenerateMipmaps( texture, isPowerOfTwoImage ) ) _gl.generateMipmap( _gl.TEXTURE_2D ); textureProperties.__version = texture.version; if ( texture.onUpdate ) texture.onUpdate( texture ); } // Render targets // Setup storage for target texture and bind it to correct framebuffer function setupFrameBufferTexture( framebuffer, renderTarget, attachment, textureTarget ) { var glFormat = paramThreeToGL( renderTarget.texture.format ); var glType = paramThreeToGL( renderTarget.texture.type ); state.texImage2D( textureTarget, 0, glFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null ); _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); _gl.framebufferTexture2D( _gl.FRAMEBUFFER, attachment, textureTarget, properties.get( renderTarget.texture ).__webglTexture, 0 ); _gl.bindFramebuffer( _gl.FRAMEBUFFER, null ); } // Setup storage for internal depth/stencil buffers and bind to correct framebuffer function setupRenderBufferStorage( renderbuffer, renderTarget ) { _gl.bindRenderbuffer( _gl.RENDERBUFFER, renderbuffer ); if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) { _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_COMPONENT16, renderTarget.width, renderTarget.height ); _gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer ); } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height ); _gl.framebufferRenderbuffer( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer ); } else { // FIXME: We don't support !depth !stencil _gl.renderbufferStorage( _gl.RENDERBUFFER, _gl.RGBA4, renderTarget.width, renderTarget.height ); } _gl.bindRenderbuffer( _gl.RENDERBUFFER, null ); } // Setup resources for a Depth Texture for a FBO (needs an extension) function setupDepthTexture( framebuffer, renderTarget ) { var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube ); if ( isCube ) throw new Error('Depth Texture with cube render targets is not supported!'); _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); if ( !( renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture ) ) { throw new Error('renderTarget.depthTexture must be an instance of THREE.DepthTexture'); } // upload an empty depth texture with framebuffer size if ( !properties.get( renderTarget.depthTexture ).__webglTexture || renderTarget.depthTexture.image.width !== renderTarget.width || renderTarget.depthTexture.image.height !== renderTarget.height ) { renderTarget.depthTexture.image.width = renderTarget.width; renderTarget.depthTexture.image.height = renderTarget.height; renderTarget.depthTexture.needsUpdate = true; } setTexture2D( renderTarget.depthTexture, 0 ); var webglDepthTexture = properties.get( renderTarget.depthTexture ).__webglTexture; if ( renderTarget.depthTexture.format === DepthFormat ) { _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0 ); } else if ( renderTarget.depthTexture.format === DepthStencilFormat ) { _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0 ); } else { throw new Error('Unknown depthTexture format') } } // Setup GL resources for a non-texture depth buffer function setupDepthRenderbuffer( renderTarget ) { var renderTargetProperties = properties.get( renderTarget ); var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); if ( renderTarget.depthTexture ) { if ( isCube ) throw new Error('target.depthTexture not supported in Cube render targets'); setupDepthTexture( renderTargetProperties.__webglFramebuffer, renderTarget ); } else { if ( isCube ) { renderTargetProperties.__webglDepthbuffer = []; for ( var i = 0; i < 6; i ++ ) { _gl.bindFramebuffer( _gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer[ i ] ); renderTargetProperties.__webglDepthbuffer[ i ] = _gl.createRenderbuffer(); setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer[ i ], renderTarget ); } } else { _gl.bindFramebuffer( _gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer ); renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer, renderTarget ); } } _gl.bindFramebuffer( _gl.FRAMEBUFFER, null ); } // Set up GL resources for the render target function setupRenderTarget( renderTarget ) { var renderTargetProperties = properties.get( renderTarget ); var textureProperties = properties.get( renderTarget.texture ); renderTarget.addEventListener( 'dispose', onRenderTargetDispose ); textureProperties.__webglTexture = _gl.createTexture(); infoMemory.textures ++; var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); var isTargetPowerOfTwo = isPowerOfTwo( renderTarget ); // Setup framebuffer if ( isCube ) { renderTargetProperties.__webglFramebuffer = []; for ( var i = 0; i < 6; i ++ ) { renderTargetProperties.__webglFramebuffer[ i ] = _gl.createFramebuffer(); } } else { renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); } // Setup color buffer if ( isCube ) { state.bindTexture( _gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture ); setTextureParameters( _gl.TEXTURE_CUBE_MAP, renderTarget.texture, isTargetPowerOfTwo ); for ( var i = 0; i < 6; i ++ ) { setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer[ i ], renderTarget, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i ); } if ( textureNeedsGenerateMipmaps( renderTarget.texture, isTargetPowerOfTwo ) ) _gl.generateMipmap( _gl.TEXTURE_CUBE_MAP ); state.bindTexture( _gl.TEXTURE_CUBE_MAP, null ); } else { state.bindTexture( _gl.TEXTURE_2D, textureProperties.__webglTexture ); setTextureParameters( _gl.TEXTURE_2D, renderTarget.texture, isTargetPowerOfTwo ); setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_2D ); if ( textureNeedsGenerateMipmaps( renderTarget.texture, isTargetPowerOfTwo ) ) _gl.generateMipmap( _gl.TEXTURE_2D ); state.bindTexture( _gl.TEXTURE_2D, null ); } // Setup depth and stencil buffers if ( renderTarget.depthBuffer ) { setupDepthRenderbuffer( renderTarget ); } } function updateRenderTargetMipmap( renderTarget ) { var texture = renderTarget.texture; var isTargetPowerOfTwo = isPowerOfTwo( renderTarget ); if ( textureNeedsGenerateMipmaps( texture, isTargetPowerOfTwo ) ) { var target = renderTarget.isWebGLRenderTargetCube ? _gl.TEXTURE_CUBE_MAP : _gl.TEXTURE_2D; var webglTexture = properties.get( texture ).__webglTexture; state.bindTexture( target, webglTexture ); _gl.generateMipmap( target ); state.bindTexture( target, null ); } } this.setTexture2D = setTexture2D; this.setTextureCube = setTextureCube; this.setTextureCubeDynamic = setTextureCubeDynamic; this.setupRenderTarget = setupRenderTarget; this.updateRenderTargetMipmap = updateRenderTargetMipmap; } /** * @author fordacious / fordacious.github.io */ function WebGLProperties() { var properties = {}; function get( object ) { var uuid = object.uuid; var map = properties[ uuid ]; if ( map === undefined ) { map = {}; properties[ uuid ] = map; } return map; } function remove( object ) { delete properties[ object.uuid ]; } function clear() { properties = {}; } return { get: get, remove: remove, clear: clear }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLState( gl, extensions, paramThreeToGL ) { function ColorBuffer() { var locked = false; var color = new Vector4(); var currentColorMask = null; var currentColorClear = new Vector4(); return { setMask: function ( colorMask ) { if ( currentColorMask !== colorMask && ! locked ) { gl.colorMask( colorMask, colorMask, colorMask, colorMask ); currentColorMask = colorMask; } }, setLocked: function ( lock ) { locked = lock; }, setClear: function ( r, g, b, a, premultipliedAlpha ) { if ( premultipliedAlpha === true ) { r *= a; g *= a; b *= a; } color.set( r, g, b, a ); if ( currentColorClear.equals( color ) === false ) { gl.clearColor( r, g, b, a ); currentColorClear.copy( color ); } }, reset: function () { locked = false; currentColorMask = null; currentColorClear.set( 0, 0, 0, 1 ); } }; } function DepthBuffer() { var locked = false; var currentDepthMask = null; var currentDepthFunc = null; var currentDepthClear = null; return { setTest: function ( depthTest ) { if ( depthTest ) { enable( gl.DEPTH_TEST ); } else { disable( gl.DEPTH_TEST ); } }, setMask: function ( depthMask ) { if ( currentDepthMask !== depthMask && ! locked ) { gl.depthMask( depthMask ); currentDepthMask = depthMask; } }, setFunc: function ( depthFunc ) { if ( currentDepthFunc !== depthFunc ) { if ( depthFunc ) { switch ( depthFunc ) { case NeverDepth: gl.depthFunc( gl.NEVER ); break; case AlwaysDepth: gl.depthFunc( gl.ALWAYS ); break; case LessDepth: gl.depthFunc( gl.LESS ); break; case LessEqualDepth: gl.depthFunc( gl.LEQUAL ); break; case EqualDepth: gl.depthFunc( gl.EQUAL ); break; case GreaterEqualDepth: gl.depthFunc( gl.GEQUAL ); break; case GreaterDepth: gl.depthFunc( gl.GREATER ); break; case NotEqualDepth: gl.depthFunc( gl.NOTEQUAL ); break; default: gl.depthFunc( gl.LEQUAL ); } } else { gl.depthFunc( gl.LEQUAL ); } currentDepthFunc = depthFunc; } }, setLocked: function ( lock ) { locked = lock; }, setClear: function ( depth ) { if ( currentDepthClear !== depth ) { gl.clearDepth( depth ); currentDepthClear = depth; } }, reset: function () { locked = false; currentDepthMask = null; currentDepthFunc = null; currentDepthClear = null; } }; } function StencilBuffer() { var locked = false; var currentStencilMask = null; var currentStencilFunc = null; var currentStencilRef = null; var currentStencilFuncMask = null; var currentStencilFail = null; var currentStencilZFail = null; var currentStencilZPass = null; var currentStencilClear = null; return { setTest: function ( stencilTest ) { if ( stencilTest ) { enable( gl.STENCIL_TEST ); } else { disable( gl.STENCIL_TEST ); } }, setMask: function ( stencilMask ) { if ( currentStencilMask !== stencilMask && ! locked ) { gl.stencilMask( stencilMask ); currentStencilMask = stencilMask; } }, setFunc: function ( stencilFunc, stencilRef, stencilMask ) { if ( currentStencilFunc !== stencilFunc || currentStencilRef !== stencilRef || currentStencilFuncMask !== stencilMask ) { gl.stencilFunc( stencilFunc, stencilRef, stencilMask ); currentStencilFunc = stencilFunc; currentStencilRef = stencilRef; currentStencilFuncMask = stencilMask; } }, setOp: function ( stencilFail, stencilZFail, stencilZPass ) { if ( currentStencilFail !== stencilFail || currentStencilZFail !== stencilZFail || currentStencilZPass !== stencilZPass ) { gl.stencilOp( stencilFail, stencilZFail, stencilZPass ); currentStencilFail = stencilFail; currentStencilZFail = stencilZFail; currentStencilZPass = stencilZPass; } }, setLocked: function ( lock ) { locked = lock; }, setClear: function ( stencil ) { if ( currentStencilClear !== stencil ) { gl.clearStencil( stencil ); currentStencilClear = stencil; } }, reset: function () { locked = false; currentStencilMask = null; currentStencilFunc = null; currentStencilRef = null; currentStencilFuncMask = null; currentStencilFail = null; currentStencilZFail = null; currentStencilZPass = null; currentStencilClear = null; } }; } // var colorBuffer = new ColorBuffer(); var depthBuffer = new DepthBuffer(); var stencilBuffer = new StencilBuffer(); var maxVertexAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS ); var newAttributes = new Uint8Array( maxVertexAttributes ); var enabledAttributes = new Uint8Array( maxVertexAttributes ); var attributeDivisors = new Uint8Array( maxVertexAttributes ); var capabilities = {}; var compressedTextureFormats = null; var currentBlending = null; var currentBlendEquation = null; var currentBlendSrc = null; var currentBlendDst = null; var currentBlendEquationAlpha = null; var currentBlendSrcAlpha = null; var currentBlendDstAlpha = null; var currentPremultipledAlpha = false; var currentFlipSided = null; var currentCullFace = null; var currentLineWidth = null; var currentPolygonOffsetFactor = null; var currentPolygonOffsetUnits = null; var currentScissorTest = null; var maxTextures = gl.getParameter( gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS ); var version = parseFloat( /^WebGL\ ([0-9])/.exec( gl.getParameter( gl.VERSION ) )[ 1 ] ); var lineWidthAvailable = parseFloat( version ) >= 1.0; var currentTextureSlot = null; var currentBoundTextures = {}; var currentScissor = new Vector4(); var currentViewport = new Vector4(); function createTexture( type, target, count ) { var data = new Uint8Array( 4 ); // 4 is required to match default unpack alignment of 4. var texture = gl.createTexture(); gl.bindTexture( type, texture ); gl.texParameteri( type, gl.TEXTURE_MIN_FILTER, gl.NEAREST ); gl.texParameteri( type, gl.TEXTURE_MAG_FILTER, gl.NEAREST ); for ( var i = 0; i < count; i ++ ) { gl.texImage2D( target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data ); } return texture; } var emptyTextures = {}; emptyTextures[ gl.TEXTURE_2D ] = createTexture( gl.TEXTURE_2D, gl.TEXTURE_2D, 1 ); emptyTextures[ gl.TEXTURE_CUBE_MAP ] = createTexture( gl.TEXTURE_CUBE_MAP, gl.TEXTURE_CUBE_MAP_POSITIVE_X, 6 ); // function init() { colorBuffer.setClear( 0, 0, 0, 1 ); depthBuffer.setClear( 1 ); stencilBuffer.setClear( 0 ); enable( gl.DEPTH_TEST ); depthBuffer.setFunc( LessEqualDepth ); setFlipSided( false ); setCullFace( CullFaceBack ); enable( gl.CULL_FACE ); enable( gl.BLEND ); setBlending( NormalBlending ); } function initAttributes() { for ( var i = 0, l = newAttributes.length; i < l; i ++ ) { newAttributes[ i ] = 0; } } function enableAttribute( attribute ) { newAttributes[ attribute ] = 1; if ( enabledAttributes[ attribute ] === 0 ) { gl.enableVertexAttribArray( attribute ); enabledAttributes[ attribute ] = 1; } if ( attributeDivisors[ attribute ] !== 0 ) { var extension = extensions.get( 'ANGLE_instanced_arrays' ); extension.vertexAttribDivisorANGLE( attribute, 0 ); attributeDivisors[ attribute ] = 0; } } function enableAttributeAndDivisor( attribute, meshPerAttribute ) { newAttributes[ attribute ] = 1; if ( enabledAttributes[ attribute ] === 0 ) { gl.enableVertexAttribArray( attribute ); enabledAttributes[ attribute ] = 1; } if ( attributeDivisors[ attribute ] !== meshPerAttribute ) { var extension = extensions.get( 'ANGLE_instanced_arrays' ); extension.vertexAttribDivisorANGLE( attribute, meshPerAttribute ); attributeDivisors[ attribute ] = meshPerAttribute; } } function disableUnusedAttributes() { for ( var i = 0, l = enabledAttributes.length; i !== l; ++ i ) { if ( enabledAttributes[ i ] !== newAttributes[ i ] ) { gl.disableVertexAttribArray( i ); enabledAttributes[ i ] = 0; } } } function enable( id ) { if ( capabilities[ id ] !== true ) { gl.enable( id ); capabilities[ id ] = true; } } function disable( id ) { if ( capabilities[ id ] !== false ) { gl.disable( id ); capabilities[ id ] = false; } } function getCompressedTextureFormats() { if ( compressedTextureFormats === null ) { compressedTextureFormats = []; if ( extensions.get( 'WEBGL_compressed_texture_pvrtc' ) || extensions.get( 'WEBGL_compressed_texture_s3tc' ) || extensions.get( 'WEBGL_compressed_texture_etc1' ) ) { var formats = gl.getParameter( gl.COMPRESSED_TEXTURE_FORMATS ); for ( var i = 0; i < formats.length; i ++ ) { compressedTextureFormats.push( formats[ i ] ); } } } return compressedTextureFormats; } function setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) { if ( blending !== NoBlending ) { enable( gl.BLEND ); } else { disable( gl.BLEND ); } if ( ( blending !== CustomBlending ) && ( blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha ) ) { if ( blending === AdditiveBlending ) { if ( premultipliedAlpha ) { gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); gl.blendFuncSeparate( gl.ONE, gl.ONE, gl.ONE, gl.ONE ); } else { gl.blendEquation( gl.FUNC_ADD ); gl.blendFunc( gl.SRC_ALPHA, gl.ONE ); } } else if ( blending === SubtractiveBlending ) { if ( premultipliedAlpha ) { gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); gl.blendFuncSeparate( gl.ZERO, gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ONE_MINUS_SRC_ALPHA ); } else { gl.blendEquation( gl.FUNC_ADD ); gl.blendFunc( gl.ZERO, gl.ONE_MINUS_SRC_COLOR ); } } else if ( blending === MultiplyBlending ) { if ( premultipliedAlpha ) { gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); gl.blendFuncSeparate( gl.ZERO, gl.SRC_COLOR, gl.ZERO, gl.SRC_ALPHA ); } else { gl.blendEquation( gl.FUNC_ADD ); gl.blendFunc( gl.ZERO, gl.SRC_COLOR ); } } else { if ( premultipliedAlpha ) { gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); gl.blendFuncSeparate( gl.ONE, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA ); } else { gl.blendEquationSeparate( gl.FUNC_ADD, gl.FUNC_ADD ); gl.blendFuncSeparate( gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA ); } } currentBlending = blending; currentPremultipledAlpha = premultipliedAlpha; } if ( blending === CustomBlending ) { blendEquationAlpha = blendEquationAlpha || blendEquation; blendSrcAlpha = blendSrcAlpha || blendSrc; blendDstAlpha = blendDstAlpha || blendDst; if ( blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha ) { gl.blendEquationSeparate( paramThreeToGL( blendEquation ), paramThreeToGL( blendEquationAlpha ) ); currentBlendEquation = blendEquation; currentBlendEquationAlpha = blendEquationAlpha; } if ( blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha ) { gl.blendFuncSeparate( paramThreeToGL( blendSrc ), paramThreeToGL( blendDst ), paramThreeToGL( blendSrcAlpha ), paramThreeToGL( blendDstAlpha ) ); currentBlendSrc = blendSrc; currentBlendDst = blendDst; currentBlendSrcAlpha = blendSrcAlpha; currentBlendDstAlpha = blendDstAlpha; } } else { currentBlendEquation = null; currentBlendSrc = null; currentBlendDst = null; currentBlendEquationAlpha = null; currentBlendSrcAlpha = null; currentBlendDstAlpha = null; } } function setMaterial( material ) { material.side === DoubleSide ? disable( gl.CULL_FACE ) : enable( gl.CULL_FACE ); setFlipSided( material.side === BackSide ); material.transparent === true ? setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha ) : setBlending( NoBlending ); depthBuffer.setFunc( material.depthFunc ); depthBuffer.setTest( material.depthTest ); depthBuffer.setMask( material.depthWrite ); colorBuffer.setMask( material.colorWrite ); setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits ); } // function setFlipSided( flipSided ) { if ( currentFlipSided !== flipSided ) { if ( flipSided ) { gl.frontFace( gl.CW ); } else { gl.frontFace( gl.CCW ); } currentFlipSided = flipSided; } } function setCullFace( cullFace ) { if ( cullFace !== CullFaceNone ) { enable( gl.CULL_FACE ); if ( cullFace !== currentCullFace ) { if ( cullFace === CullFaceBack ) { gl.cullFace( gl.BACK ); } else if ( cullFace === CullFaceFront ) { gl.cullFace( gl.FRONT ); } else { gl.cullFace( gl.FRONT_AND_BACK ); } } } else { disable( gl.CULL_FACE ); } currentCullFace = cullFace; } function setLineWidth( width ) { if ( width !== currentLineWidth ) { if ( lineWidthAvailable ) gl.lineWidth( width ); currentLineWidth = width; } } function setPolygonOffset( polygonOffset, factor, units ) { if ( polygonOffset ) { enable( gl.POLYGON_OFFSET_FILL ); if ( currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units ) { gl.polygonOffset( factor, units ); currentPolygonOffsetFactor = factor; currentPolygonOffsetUnits = units; } } else { disable( gl.POLYGON_OFFSET_FILL ); } } function getScissorTest() { return currentScissorTest; } function setScissorTest( scissorTest ) { currentScissorTest = scissorTest; if ( scissorTest ) { enable( gl.SCISSOR_TEST ); } else { disable( gl.SCISSOR_TEST ); } } // texture function activeTexture( webglSlot ) { if ( webglSlot === undefined ) webglSlot = gl.TEXTURE0 + maxTextures - 1; if ( currentTextureSlot !== webglSlot ) { gl.activeTexture( webglSlot ); currentTextureSlot = webglSlot; } } function bindTexture( webglType, webglTexture ) { if ( currentTextureSlot === null ) { activeTexture(); } var boundTexture = currentBoundTextures[ currentTextureSlot ]; if ( boundTexture === undefined ) { boundTexture = { type: undefined, texture: undefined }; currentBoundTextures[ currentTextureSlot ] = boundTexture; } if ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) { gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); boundTexture.type = webglType; boundTexture.texture = webglTexture; } } function compressedTexImage2D() { try { gl.compressedTexImage2D.apply( gl, arguments ); } catch ( error ) { console.error( 'THREE.WebGLState:', error ); } } function texImage2D() { try { gl.texImage2D.apply( gl, arguments ); } catch ( error ) { console.error( 'THREE.WebGLState:', error ); } } // function scissor( scissor ) { if ( currentScissor.equals( scissor ) === false ) { gl.scissor( scissor.x, scissor.y, scissor.z, scissor.w ); currentScissor.copy( scissor ); } } function viewport( viewport ) { if ( currentViewport.equals( viewport ) === false ) { gl.viewport( viewport.x, viewport.y, viewport.z, viewport.w ); currentViewport.copy( viewport ); } } // function reset() { for ( var i = 0; i < enabledAttributes.length; i ++ ) { if ( enabledAttributes[ i ] === 1 ) { gl.disableVertexAttribArray( i ); enabledAttributes[ i ] = 0; } } capabilities = {}; compressedTextureFormats = null; currentTextureSlot = null; currentBoundTextures = {}; currentBlending = null; currentFlipSided = null; currentCullFace = null; colorBuffer.reset(); depthBuffer.reset(); stencilBuffer.reset(); } return { buffers: { color: colorBuffer, depth: depthBuffer, stencil: stencilBuffer }, init: init, initAttributes: initAttributes, enableAttribute: enableAttribute, enableAttributeAndDivisor: enableAttributeAndDivisor, disableUnusedAttributes: disableUnusedAttributes, enable: enable, disable: disable, getCompressedTextureFormats: getCompressedTextureFormats, setBlending: setBlending, setMaterial: setMaterial, setFlipSided: setFlipSided, setCullFace: setCullFace, setLineWidth: setLineWidth, setPolygonOffset: setPolygonOffset, getScissorTest: getScissorTest, setScissorTest: setScissorTest, activeTexture: activeTexture, bindTexture: bindTexture, compressedTexImage2D: compressedTexImage2D, texImage2D: texImage2D, scissor: scissor, viewport: viewport, reset: reset }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLCapabilities( gl, extensions, parameters ) { var maxAnisotropy; function getMaxAnisotropy() { if ( maxAnisotropy !== undefined ) return maxAnisotropy; var extension = extensions.get( 'EXT_texture_filter_anisotropic' ); if ( extension !== null ) { maxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT ); } else { maxAnisotropy = 0; } return maxAnisotropy; } function getMaxPrecision( precision ) { if ( precision === 'highp' ) { if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 && gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0 ) { return 'highp'; } precision = 'mediump'; } if ( precision === 'mediump' ) { if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 && gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0 ) { return 'mediump'; } } return 'lowp'; } var precision = parameters.precision !== undefined ? parameters.precision : 'highp'; var maxPrecision = getMaxPrecision( precision ); if ( maxPrecision !== precision ) { console.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' ); precision = maxPrecision; } var logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true && !! extensions.get( 'EXT_frag_depth' ); var maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS ); var maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ); var maxTextureSize = gl.getParameter( gl.MAX_TEXTURE_SIZE ); var maxCubemapSize = gl.getParameter( gl.MAX_CUBE_MAP_TEXTURE_SIZE ); var maxAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS ); var maxVertexUniforms = gl.getParameter( gl.MAX_VERTEX_UNIFORM_VECTORS ); var maxVaryings = gl.getParameter( gl.MAX_VARYING_VECTORS ); var maxFragmentUniforms = gl.getParameter( gl.MAX_FRAGMENT_UNIFORM_VECTORS ); var vertexTextures = maxVertexTextures > 0; var floatFragmentTextures = !! extensions.get( 'OES_texture_float' ); var floatVertexTextures = vertexTextures && floatFragmentTextures; return { getMaxAnisotropy: getMaxAnisotropy, getMaxPrecision: getMaxPrecision, precision: precision, logarithmicDepthBuffer: logarithmicDepthBuffer, maxTextures: maxTextures, maxVertexTextures: maxVertexTextures, maxTextureSize: maxTextureSize, maxCubemapSize: maxCubemapSize, maxAttributes: maxAttributes, maxVertexUniforms: maxVertexUniforms, maxVaryings: maxVaryings, maxFragmentUniforms: maxFragmentUniforms, vertexTextures: vertexTextures, floatFragmentTextures: floatFragmentTextures, floatVertexTextures: floatVertexTextures }; } /** * @author mrdoob / http://mrdoob.com/ */ function ArrayCamera( array ) { PerspectiveCamera.call( this ); this.cameras = array || []; } ArrayCamera.prototype = Object.assign( Object.create( PerspectiveCamera.prototype ), { constructor: ArrayCamera, isArrayCamera: true } ); /** * @author mrdoob / http://mrdoob.com/ */ function WebVRManager( renderer ) { var scope = this; var device = null; var frameData = null; if ( 'VRFrameData' in window ) { frameData = new window.VRFrameData(); } var matrixWorldInverse = new Matrix4(); var standingMatrix = new Matrix4(); var standingMatrixInverse = new Matrix4(); var cameraL = new PerspectiveCamera(); cameraL.bounds = new Vector4( 0.0, 0.0, 0.5, 1.0 ); cameraL.layers.enable( 1 ); var cameraR = new PerspectiveCamera(); cameraR.bounds = new Vector4( 0.5, 0.0, 0.5, 1.0 ); cameraR.layers.enable( 2 ); var cameraVR = new ArrayCamera( [ cameraL, cameraR ] ); cameraVR.layers.enable( 1 ); cameraVR.layers.enable( 2 ); // var currentSize, currentPixelRatio; function onVRDisplayPresentChange() { if ( device !== null && device.isPresenting ) { var eyeParameters = device.getEyeParameters( 'left' ); var renderWidth = eyeParameters.renderWidth; var renderHeight = eyeParameters.renderHeight; currentPixelRatio = renderer.getPixelRatio(); currentSize = renderer.getSize(); renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 ); } else if ( scope.enabled ) { renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio ); } } window.addEventListener( 'vrdisplaypresentchange', onVRDisplayPresentChange, false ); // this.enabled = false; this.standing = false; this.getDevice = function () { return device; }; this.setDevice = function ( value ) { if ( value !== undefined ) device = value; }; this.getCamera = function ( camera ) { if ( device === null ) return camera; device.depthNear = camera.near; device.depthFar = camera.far; device.getFrameData( frameData ); // var pose = frameData.pose; if ( pose.position !== null ) { camera.position.fromArray( pose.position ); } else { camera.position.set( 0, 0, 0 ); } if ( pose.orientation !== null ) { camera.quaternion.fromArray( pose.orientation ); } camera.updateMatrixWorld(); var stageParameters = device.stageParameters; if ( this.standing && stageParameters ) { standingMatrix.fromArray( stageParameters.sittingToStandingTransform ); standingMatrixInverse.getInverse( standingMatrix ); camera.matrixWorld.multiply( standingMatrix ); camera.matrixWorldInverse.multiply( standingMatrixInverse ); } if ( device.isPresenting === false ) return camera; // cameraVR.matrixWorld.copy( camera.matrixWorld ); cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse ); cameraL.matrixWorldInverse.fromArray( frameData.leftViewMatrix ); cameraR.matrixWorldInverse.fromArray( frameData.rightViewMatrix ); if ( this.standing && stageParameters ) { cameraL.matrixWorldInverse.multiply( standingMatrixInverse ); cameraR.matrixWorldInverse.multiply( standingMatrixInverse ); } var parent = camera.parent; if ( parent !== null ) { matrixWorldInverse.getInverse( parent.matrixWorld ); cameraL.matrixWorldInverse.multiply( matrixWorldInverse ); cameraR.matrixWorldInverse.multiply( matrixWorldInverse ); } // envMap and Mirror needs camera.matrixWorld cameraL.matrixWorld.getInverse( cameraL.matrixWorldInverse ); cameraR.matrixWorld.getInverse( cameraR.matrixWorldInverse ); cameraL.projectionMatrix.fromArray( frameData.leftProjectionMatrix ); cameraR.projectionMatrix.fromArray( frameData.rightProjectionMatrix ); // HACK @mrdoob // https://github.com/w3c/webvr/issues/203 cameraVR.projectionMatrix.copy( cameraL.projectionMatrix ); // var layers = device.getLayers(); if ( layers.length ) { var layer = layers[ 0 ]; if ( layer.leftBounds !== null && layer.leftBounds.length === 4 ) { cameraL.bounds.fromArray( layer.leftBounds ); } if ( layer.rightBounds !== null && layer.rightBounds.length === 4 ) { cameraR.bounds.fromArray( layer.rightBounds ); } } return cameraVR; }; this.getStandingMatrix = function () { return standingMatrix; }; this.submitFrame = function () { if ( device && device.isPresenting ) device.submitFrame(); }; } /** * @author mrdoob / http://mrdoob.com/ */ function WebGLExtensions( gl ) { var extensions = {}; return { get: function ( name ) { if ( extensions[ name ] !== undefined ) { return extensions[ name ]; } var extension; switch ( name ) { case 'WEBGL_depth_texture': extension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' ); break; case 'EXT_texture_filter_anisotropic': extension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' ); break; case 'WEBGL_compressed_texture_s3tc': extension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' ); break; case 'WEBGL_compressed_texture_pvrtc': extension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' ); break; case 'WEBGL_compressed_texture_etc1': extension = gl.getExtension( 'WEBGL_compressed_texture_etc1' ); break; default: extension = gl.getExtension( name ); } if ( extension === null ) { console.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' ); } extensions[ name ] = extension; return extension; } }; } /** * @author tschw */ function WebGLClipping() { var scope = this, globalState = null, numGlobalPlanes = 0, localClippingEnabled = false, renderingShadows = false, plane = new Plane(), viewNormalMatrix = new Matrix3(), uniform = { value: null, needsUpdate: false }; this.uniform = uniform; this.numPlanes = 0; this.numIntersection = 0; this.init = function( planes, enableLocalClipping, camera ) { var enabled = planes.length !== 0 || enableLocalClipping || // enable state of previous frame - the clipping code has to // run another frame in order to reset the state: numGlobalPlanes !== 0 || localClippingEnabled; localClippingEnabled = enableLocalClipping; globalState = projectPlanes( planes, camera, 0 ); numGlobalPlanes = planes.length; return enabled; }; this.beginShadows = function() { renderingShadows = true; projectPlanes( null ); }; this.endShadows = function() { renderingShadows = false; resetGlobalState(); }; this.setState = function( planes, clipIntersection, clipShadows, camera, cache, fromCache ) { if ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) { // there's no local clipping if ( renderingShadows ) { // there's no global clipping projectPlanes( null ); } else { resetGlobalState(); } } else { var nGlobal = renderingShadows ? 0 : numGlobalPlanes, lGlobal = nGlobal * 4, dstArray = cache.clippingState || null; uniform.value = dstArray; // ensure unique state dstArray = projectPlanes( planes, camera, lGlobal, fromCache ); for ( var i = 0; i !== lGlobal; ++ i ) { dstArray[ i ] = globalState[ i ]; } cache.clippingState = dstArray; this.numIntersection = clipIntersection ? this.numPlanes : 0; this.numPlanes += nGlobal; } }; function resetGlobalState() { if ( uniform.value !== globalState ) { uniform.value = globalState; uniform.needsUpdate = numGlobalPlanes > 0; } scope.numPlanes = numGlobalPlanes; scope.numIntersection = 0; } function projectPlanes( planes, camera, dstOffset, skipTransform ) { var nPlanes = planes !== null ? planes.length : 0, dstArray = null; if ( nPlanes !== 0 ) { dstArray = uniform.value; if ( skipTransform !== true || dstArray === null ) { var flatSize = dstOffset + nPlanes * 4, viewMatrix = camera.matrixWorldInverse; viewNormalMatrix.getNormalMatrix( viewMatrix ); if ( dstArray === null || dstArray.length < flatSize ) { dstArray = new Float32Array( flatSize ); } for ( var i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) { plane.copy( planes[ i ] ). applyMatrix4( viewMatrix, viewNormalMatrix ); plane.normal.toArray( dstArray, i4 ); dstArray[ i4 + 3 ] = plane.constant; } } uniform.value = dstArray; uniform.needsUpdate = true; } scope.numPlanes = nPlanes; return dstArray; } } // import { Sphere } from '../math/Sphere'; /** * @author supereggbert / http://www.paulbrunt.co.uk/ * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * @author szimek / https://github.com/szimek/ * @author tschw */ function WebGLRenderer( parameters ) { console.log( 'THREE.WebGLRenderer', REVISION ); parameters = parameters || {}; var _canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ), _context = parameters.context !== undefined ? parameters.context : null, _alpha = parameters.alpha !== undefined ? parameters.alpha : false, _depth = parameters.depth !== undefined ? parameters.depth : true, _stencil = parameters.stencil !== undefined ? parameters.stencil : true, _antialias = parameters.antialias !== undefined ? parameters.antialias : false, _premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true, _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false; var lights = []; var currentRenderList = null; var morphInfluences = new Float32Array( 8 ); var sprites = []; var lensFlares = []; // public properties this.domElement = _canvas; this.context = null; // clearing this.autoClear = true; this.autoClearColor = true; this.autoClearDepth = true; this.autoClearStencil = true; // scene graph this.sortObjects = true; // user-defined clipping this.clippingPlanes = []; this.localClippingEnabled = false; // physically based shading this.gammaFactor = 2.0; // for backwards compatibility this.gammaInput = false; this.gammaOutput = false; // physical lights this.physicallyCorrectLights = false; // tone mapping this.toneMapping = LinearToneMapping; this.toneMappingExposure = 1.0; this.toneMappingWhitePoint = 1.0; // morphs this.maxMorphTargets = 8; this.maxMorphNormals = 4; // internal properties var _this = this, // internal state cache _currentProgram = null, _currentRenderTarget = null, _currentFramebuffer = null, _currentMaterialId = - 1, _currentGeometryProgram = '', _currentCamera = null, _currentArrayCamera = null, _currentScissor = new Vector4(), _currentScissorTest = null, _currentViewport = new Vector4(), // _usedTextureUnits = 0, // _width = _canvas.width, _height = _canvas.height, _pixelRatio = 1, _scissor = new Vector4( 0, 0, _width, _height ), _scissorTest = false, _viewport = new Vector4( 0, 0, _width, _height ), // frustum _frustum = new Frustum(), // clipping _clipping = new WebGLClipping(), _clippingEnabled = false, _localClippingEnabled = false, // camera matrices cache _projScreenMatrix = new Matrix4(), _vector3 = new Vector3(), _matrix4 = new Matrix4(), _matrix42 = new Matrix4(), // light arrays cache _lights = { hash: '', ambient: [ 0, 0, 0 ], directional: [], directionalShadowMap: [], directionalShadowMatrix: [], spot: [], spotShadowMap: [], spotShadowMatrix: [], rectArea: [], point: [], pointShadowMap: [], pointShadowMatrix: [], hemi: [], shadows: [] }, // info _infoMemory = { geometries: 0, textures: 0 }, _infoRender = { frame: 0, calls: 0, vertices: 0, faces: 0, points: 0 }; this.info = { render: _infoRender, memory: _infoMemory, programs: null }; // initialize var _gl; try { var contextAttributes = { alpha: _alpha, depth: _depth, stencil: _stencil, antialias: _antialias, premultipliedAlpha: _premultipliedAlpha, preserveDrawingBuffer: _preserveDrawingBuffer }; _gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes ); if ( _gl === null ) { if ( _canvas.getContext( 'webgl' ) !== null ) { throw 'Error creating WebGL context with your selected attributes.'; } else { throw 'Error creating WebGL context.'; } } // Some experimental-webgl implementations do not have getShaderPrecisionFormat if ( _gl.getShaderPrecisionFormat === undefined ) { _gl.getShaderPrecisionFormat = function () { return { 'rangeMin': 1, 'rangeMax': 1, 'precision': 1 }; }; } _canvas.addEventListener( 'webglcontextlost', onContextLost, false ); } catch ( error ) { console.error( 'THREE.WebGLRenderer: ' + error ); } var extensions = new WebGLExtensions( _gl ); extensions.get( 'WEBGL_depth_texture' ); extensions.get( 'OES_texture_float' ); extensions.get( 'OES_texture_float_linear' ); extensions.get( 'OES_texture_half_float' ); extensions.get( 'OES_texture_half_float_linear' ); extensions.get( 'OES_standard_derivatives' ); extensions.get( 'ANGLE_instanced_arrays' ); if ( extensions.get( 'OES_element_index_uint' ) ) { BufferGeometry.MaxIndex = 4294967296; } var capabilities = new WebGLCapabilities( _gl, extensions, parameters ); var state = new WebGLState( _gl, extensions, paramThreeToGL ); var properties = new WebGLProperties(); var textures = new WebGLTextures( _gl, extensions, state, properties, capabilities, paramThreeToGL, _infoMemory ); var attributes = new WebGLAttributes( _gl ); var geometries = new WebGLGeometries( _gl, attributes, _infoMemory ); var objects = new WebGLObjects( _gl, geometries, _infoRender ); var programCache = new WebGLPrograms( this, capabilities ); var lightCache = new WebGLLights(); var renderLists = new WebGLRenderLists(); var background = new WebGLBackground( this, state, objects, _premultipliedAlpha ); var vr = new WebVRManager( this ); this.info.programs = programCache.programs; var bufferRenderer = new WebGLBufferRenderer( _gl, extensions, _infoRender ); var indexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, _infoRender ); // function getTargetPixelRatio() { return _currentRenderTarget === null ? _pixelRatio : 1; } function setDefaultGLState() { state.init(); state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); } function resetGLState() { _currentProgram = null; _currentCamera = null; _currentGeometryProgram = ''; _currentMaterialId = - 1; state.reset(); } setDefaultGLState(); this.context = _gl; this.capabilities = capabilities; this.extensions = extensions; this.properties = properties; this.renderLists = renderLists; this.state = state; this.vr = vr; // shadow map var shadowMap = new WebGLShadowMap( this, _lights, objects, capabilities ); this.shadowMap = shadowMap; // Plugins var spritePlugin = new SpritePlugin( this, sprites ); var lensFlarePlugin = new LensFlarePlugin( this, lensFlares ); // API this.getContext = function () { return _gl; }; this.getContextAttributes = function () { return _gl.getContextAttributes(); }; this.forceContextLoss = function () { var extension = extensions.get( 'WEBGL_lose_context' ); if ( extension ) extension.loseContext(); }; this.getMaxAnisotropy = function () { return capabilities.getMaxAnisotropy(); }; this.getPrecision = function () { return capabilities.precision; }; this.getPixelRatio = function () { return _pixelRatio; }; this.setPixelRatio = function ( value ) { if ( value === undefined ) return; _pixelRatio = value; this.setSize( _width, _height, false ); }; this.getSize = function () { return { width: _width, height: _height }; }; this.setSize = function ( width, height, updateStyle ) { var device = vr.getDevice(); if ( device && device.isPresenting ) { console.warn( 'THREE.WebGLRenderer: Can\'t change size while VR device is presenting.' ); return; } _width = width; _height = height; _canvas.width = width * _pixelRatio; _canvas.height = height * _pixelRatio; if ( updateStyle !== false ) { _canvas.style.width = width + 'px'; _canvas.style.height = height + 'px'; } this.setViewport( 0, 0, width, height ); }; this.getDrawingBufferSize = function () { return { width: _width * _pixelRatio, height: _height * _pixelRatio }; }; this.setDrawingBufferSize = function ( width, height, pixelRatio ) { _width = width; _height = height; _pixelRatio = pixelRatio; _canvas.width = width * pixelRatio; _canvas.height = height * pixelRatio; this.setViewport( 0, 0, width, height ); }; this.setViewport = function ( x, y, width, height ) { _viewport.set( x, _height - y - height, width, height ); state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); }; this.setScissor = function ( x, y, width, height ) { _scissor.set( x, _height - y - height, width, height ); state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); }; this.setScissorTest = function ( boolean ) { state.setScissorTest( _scissorTest = boolean ); }; // Clearing this.getClearColor = background.getClearColor; this.setClearColor = background.setClearColor; this.getClearAlpha = background.getClearAlpha; this.setClearAlpha = background.setClearAlpha; this.clear = function ( color, depth, stencil ) { var bits = 0; if ( color === undefined || color ) bits |= _gl.COLOR_BUFFER_BIT; if ( depth === undefined || depth ) bits |= _gl.DEPTH_BUFFER_BIT; if ( stencil === undefined || stencil ) bits |= _gl.STENCIL_BUFFER_BIT; _gl.clear( bits ); }; this.clearColor = function () { this.clear( true, false, false ); }; this.clearDepth = function () { this.clear( false, true, false ); }; this.clearStencil = function () { this.clear( false, false, true ); }; this.clearTarget = function ( renderTarget, color, depth, stencil ) { this.setRenderTarget( renderTarget ); this.clear( color, depth, stencil ); }; // Reset this.resetGLState = resetGLState; this.dispose = function () { _canvas.removeEventListener( 'webglcontextlost', onContextLost, false ); renderLists.dispose(); }; // Events function onContextLost( event ) { event.preventDefault(); resetGLState(); setDefaultGLState(); properties.clear(); objects.clear(); } function onMaterialDispose( event ) { var material = event.target; material.removeEventListener( 'dispose', onMaterialDispose ); deallocateMaterial( material ); } // Buffer deallocation function deallocateMaterial( material ) { releaseMaterialProgramReference( material ); properties.remove( material ); } function releaseMaterialProgramReference( material ) { var programInfo = properties.get( material ).program; material.program = undefined; if ( programInfo !== undefined ) { programCache.releaseProgram( programInfo ); } } // Buffer rendering function renderObjectImmediate( object, program, material ) { object.render( function ( object ) { _this.renderBufferImmediate( object, program, material ); } ); } this.renderBufferImmediate = function ( object, program, material ) { state.initAttributes(); var buffers = properties.get( object ); if ( object.hasPositions && ! buffers.position ) buffers.position = _gl.createBuffer(); if ( object.hasNormals && ! buffers.normal ) buffers.normal = _gl.createBuffer(); if ( object.hasUvs && ! buffers.uv ) buffers.uv = _gl.createBuffer(); if ( object.hasColors && ! buffers.color ) buffers.color = _gl.createBuffer(); var programAttributes = program.getAttributes(); if ( object.hasPositions ) { _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.position ); _gl.bufferData( _gl.ARRAY_BUFFER, object.positionArray, _gl.DYNAMIC_DRAW ); state.enableAttribute( programAttributes.position ); _gl.vertexAttribPointer( programAttributes.position, 3, _gl.FLOAT, false, 0, 0 ); } if ( object.hasNormals ) { _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.normal ); if ( ! material.isMeshPhongMaterial && ! material.isMeshStandardMaterial && ! material.isMeshNormalMaterial && material.shading === FlatShading ) { for ( var i = 0, l = object.count * 3; i < l; i += 9 ) { var array = object.normalArray; var nx = ( array[ i + 0 ] + array[ i + 3 ] + array[ i + 6 ] ) / 3; var ny = ( array[ i + 1 ] + array[ i + 4 ] + array[ i + 7 ] ) / 3; var nz = ( array[ i + 2 ] + array[ i + 5 ] + array[ i + 8 ] ) / 3; array[ i + 0 ] = nx; array[ i + 1 ] = ny; array[ i + 2 ] = nz; array[ i + 3 ] = nx; array[ i + 4 ] = ny; array[ i + 5 ] = nz; array[ i + 6 ] = nx; array[ i + 7 ] = ny; array[ i + 8 ] = nz; } } _gl.bufferData( _gl.ARRAY_BUFFER, object.normalArray, _gl.DYNAMIC_DRAW ); state.enableAttribute( programAttributes.normal ); _gl.vertexAttribPointer( programAttributes.normal, 3, _gl.FLOAT, false, 0, 0 ); } if ( object.hasUvs && material.map ) { _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.uv ); _gl.bufferData( _gl.ARRAY_BUFFER, object.uvArray, _gl.DYNAMIC_DRAW ); state.enableAttribute( programAttributes.uv ); _gl.vertexAttribPointer( attributes.uv, 2, _gl.FLOAT, false, 0, 0 ); } if ( object.hasColors && material.vertexColors !== NoColors ) { _gl.bindBuffer( _gl.ARRAY_BUFFER, buffers.color ); _gl.bufferData( _gl.ARRAY_BUFFER, object.colorArray, _gl.DYNAMIC_DRAW ); state.enableAttribute( programAttributes.color ); _gl.vertexAttribPointer( programAttributes.color, 3, _gl.FLOAT, false, 0, 0 ); } state.disableUnusedAttributes(); _gl.drawArrays( _gl.TRIANGLES, 0, object.count ); object.count = 0; }; function absNumericalSort( a, b ) { return Math.abs( b[ 0 ] ) - Math.abs( a[ 0 ] ); } this.renderBufferDirect = function ( camera, fog, geometry, material, object, group ) { state.setMaterial( material ); var program = setProgram( camera, fog, material, object ); var geometryProgram = geometry.id + '_' + program.id + '_' + ( material.wireframe === true ); var updateBuffers = false; if ( geometryProgram !== _currentGeometryProgram ) { _currentGeometryProgram = geometryProgram; updateBuffers = true; } // morph targets var morphTargetInfluences = object.morphTargetInfluences; if ( morphTargetInfluences !== undefined ) { // TODO Remove allocations var activeInfluences = []; for ( var i = 0, l = morphTargetInfluences.length; i < l; i ++ ) { var influence = morphTargetInfluences[ i ]; activeInfluences.push( [ influence, i ] ); } activeInfluences.sort( absNumericalSort ); if ( activeInfluences.length > 8 ) { activeInfluences.length = 8; } var morphAttributes = geometry.morphAttributes; for ( var i = 0, l = activeInfluences.length; i < l; i ++ ) { var influence = activeInfluences[ i ]; morphInfluences[ i ] = influence[ 0 ]; if ( influence[ 0 ] !== 0 ) { var index = influence[ 1 ]; if ( material.morphTargets === true && morphAttributes.position ) geometry.addAttribute( 'morphTarget' + i, morphAttributes.position[ index ] ); if ( material.morphNormals === true && morphAttributes.normal ) geometry.addAttribute( 'morphNormal' + i, morphAttributes.normal[ index ] ); } else { if ( material.morphTargets === true ) geometry.removeAttribute( 'morphTarget' + i ); if ( material.morphNormals === true ) geometry.removeAttribute( 'morphNormal' + i ); } } for ( var i = activeInfluences.length, il = morphInfluences.length; i < il; i ++ ) { morphInfluences[ i ] = 0.0; } program.getUniforms().setValue( _gl, 'morphTargetInfluences', morphInfluences ); updateBuffers = true; } // var index = geometry.index; var position = geometry.attributes.position; var rangeFactor = 1; if ( material.wireframe === true ) { index = geometries.getWireframeAttribute( geometry ); rangeFactor = 2; } var attribute; var renderer = bufferRenderer; if ( index !== null ) { attribute = attributes.get( index ); renderer = indexedBufferRenderer; renderer.setIndex( attribute ); } if ( updateBuffers ) { setupVertexAttributes( material, program, geometry ); if ( index !== null ) { _gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, attribute.buffer ); } } // var dataCount = 0; if ( index !== null ) { dataCount = index.count; } else if ( position !== undefined ) { dataCount = position.count; } var rangeStart = geometry.drawRange.start * rangeFactor; var rangeCount = geometry.drawRange.count * rangeFactor; var groupStart = group !== null ? group.start * rangeFactor : 0; var groupCount = group !== null ? group.count * rangeFactor : Infinity; var drawStart = Math.max( rangeStart, groupStart ); var drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1; var drawCount = Math.max( 0, drawEnd - drawStart + 1 ); if ( drawCount === 0 ) return; // if ( object.isMesh ) { if ( material.wireframe === true ) { state.setLineWidth( material.wireframeLinewidth * getTargetPixelRatio() ); renderer.setMode( _gl.LINES ); } else { switch ( object.drawMode ) { case TrianglesDrawMode: renderer.setMode( _gl.TRIANGLES ); break; case TriangleStripDrawMode: renderer.setMode( _gl.TRIANGLE_STRIP ); break; case TriangleFanDrawMode: renderer.setMode( _gl.TRIANGLE_FAN ); break; } } } else if ( object.isLine ) { var lineWidth = material.linewidth; if ( lineWidth === undefined ) lineWidth = 1; // Not using Line*Material state.setLineWidth( lineWidth * getTargetPixelRatio() ); if ( object.isLineSegments ) { renderer.setMode( _gl.LINES ); } else if ( object.isLineLoop ) { renderer.setMode( _gl.LINE_LOOP ); } else { renderer.setMode( _gl.LINE_STRIP ); } } else if ( object.isPoints ) { renderer.setMode( _gl.POINTS ); } if ( geometry && geometry.isInstancedBufferGeometry ) { if ( geometry.maxInstancedCount > 0 ) { renderer.renderInstances( geometry, drawStart, drawCount ); } } else { renderer.render( drawStart, drawCount ); } }; function setupVertexAttributes( material, program, geometry, startIndex ) { if ( geometry && geometry.isInstancedBufferGeometry ) { if ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) { console.error( 'THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); return; } } if ( startIndex === undefined ) startIndex = 0; state.initAttributes(); var geometryAttributes = geometry.attributes; var programAttributes = program.getAttributes(); var materialDefaultAttributeValues = material.defaultAttributeValues; for ( var name in programAttributes ) { var programAttribute = programAttributes[ name ]; if ( programAttribute >= 0 ) { var geometryAttribute = geometryAttributes[ name ]; if ( geometryAttribute !== undefined ) { var normalized = geometryAttribute.normalized; var size = geometryAttribute.itemSize; var attribute = attributes.get( geometryAttribute ); var buffer = attribute.buffer; var type = attribute.type; var bytesPerElement = attribute.bytesPerElement; if ( geometryAttribute.isInterleavedBufferAttribute ) { var data = geometryAttribute.data; var stride = data.stride; var offset = geometryAttribute.offset; if ( data && data.isInstancedInterleavedBuffer ) { state.enableAttributeAndDivisor( programAttribute, data.meshPerAttribute ); if ( geometry.maxInstancedCount === undefined ) { geometry.maxInstancedCount = data.meshPerAttribute * data.count; } } else { state.enableAttribute( programAttribute ); } _gl.bindBuffer( _gl.ARRAY_BUFFER, buffer ); _gl.vertexAttribPointer( programAttribute, size, type, normalized, stride * bytesPerElement, ( startIndex * stride + offset ) * bytesPerElement ); } else { if ( geometryAttribute.isInstancedBufferAttribute ) { state.enableAttributeAndDivisor( programAttribute, geometryAttribute.meshPerAttribute ); if ( geometry.maxInstancedCount === undefined ) { geometry.maxInstancedCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; } } else { state.enableAttribute( programAttribute ); } _gl.bindBuffer( _gl.ARRAY_BUFFER, buffer ); _gl.vertexAttribPointer( programAttribute, size, type, normalized, 0, startIndex * size * bytesPerElement ); } } else if ( materialDefaultAttributeValues !== undefined ) { var value = materialDefaultAttributeValues[ name ]; if ( value !== undefined ) { switch ( value.length ) { case 2: _gl.vertexAttrib2fv( programAttribute, value ); break; case 3: _gl.vertexAttrib3fv( programAttribute, value ); break; case 4: _gl.vertexAttrib4fv( programAttribute, value ); break; default: _gl.vertexAttrib1fv( programAttribute, value ); } } } } } state.disableUnusedAttributes(); } // Compile this.compile = function ( scene, camera ) { lights = []; scene.traverse( function ( object ) { if ( object.isLight ) { lights.push( object ); } } ); setupLights( lights, camera ); scene.traverse( function ( object ) { if ( object.material ) { if ( Array.isArray( object.material ) ) { for ( var i = 0; i < object.material.length; i ++ ) { initMaterial( object.material[ i ], scene.fog, object ); } } else { initMaterial( object.material, scene.fog, object ); } } } ); }; // Rendering this.animate = function ( callback ) { function onFrame() { callback(); ( vr.getDevice() || window ).requestAnimationFrame( onFrame ); } ( vr.getDevice() || window ).requestAnimationFrame( onFrame ); }; this.render = function ( scene, camera, renderTarget, forceClear ) { if ( ! ( camera && camera.isCamera ) ) { console.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' ); return; } // reset caching for this frame _currentGeometryProgram = ''; _currentMaterialId = - 1; _currentCamera = null; // update scene graph if ( scene.autoUpdate === true ) scene.updateMatrixWorld(); // update camera matrices and frustum if ( camera.parent === null ) camera.updateMatrixWorld(); if ( vr.enabled ) { camera = vr.getCamera( camera ); } _projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse ); _frustum.setFromMatrix( _projScreenMatrix ); lights.length = 0; sprites.length = 0; lensFlares.length = 0; _localClippingEnabled = this.localClippingEnabled; _clippingEnabled = _clipping.init( this.clippingPlanes, _localClippingEnabled, camera ); currentRenderList = renderLists.get( scene, camera ); currentRenderList.init(); projectObject( scene, camera, _this.sortObjects ); currentRenderList.finish(); if ( _this.sortObjects === true ) { currentRenderList.sort(); } // if ( _clippingEnabled ) _clipping.beginShadows(); setupShadows( lights ); shadowMap.render( scene, camera ); setupLights( lights, camera ); if ( _clippingEnabled ) _clipping.endShadows(); // _infoRender.frame ++; _infoRender.calls = 0; _infoRender.vertices = 0; _infoRender.faces = 0; _infoRender.points = 0; if ( renderTarget === undefined ) { renderTarget = null; } this.setRenderTarget( renderTarget ); // background.render( scene, camera, forceClear ); // render scene var opaqueObjects = currentRenderList.opaque; var transparentObjects = currentRenderList.transparent; if ( scene.overrideMaterial ) { var overrideMaterial = scene.overrideMaterial; if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera, overrideMaterial ); if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera, overrideMaterial ); } else { // opaque pass (front-to-back order) if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera ); // transparent pass (back-to-front order) if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera ); } // custom render plugins (post pass) spritePlugin.render( scene, camera ); lensFlarePlugin.render( scene, camera, _currentViewport ); // Generate mipmap if we're using any kind of mipmap filtering if ( renderTarget ) { textures.updateRenderTargetMipmap( renderTarget ); } // Ensure depth buffer writing is enabled so it can be cleared on next render state.buffers.depth.setTest( true ); state.buffers.depth.setMask( true ); state.buffers.color.setMask( true ); if ( camera.isArrayCamera ) { _this.setScissorTest( false ); } if ( vr.enabled ) { vr.submitFrame(); } // _gl.finish(); }; /* // TODO Duplicated code (Frustum) var _sphere = new Sphere(); function isObjectViewable( object ) { var geometry = object.geometry; if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); _sphere.copy( geometry.boundingSphere ). applyMatrix4( object.matrixWorld ); return isSphereViewable( _sphere ); } function isSpriteViewable( sprite ) { _sphere.center.set( 0, 0, 0 ); _sphere.radius = 0.7071067811865476; _sphere.applyMatrix4( sprite.matrixWorld ); return isSphereViewable( _sphere ); } function isSphereViewable( sphere ) { if ( ! _frustum.intersectsSphere( sphere ) ) return false; var numPlanes = _clipping.numPlanes; if ( numPlanes === 0 ) return true; var planes = _this.clippingPlanes, center = sphere.center, negRad = - sphere.radius, i = 0; do { // out when deeper than radius in the negative halfspace if ( planes[ i ].distanceToPoint( center ) < negRad ) return false; } while ( ++ i !== numPlanes ); return true; } */ function projectObject( object, camera, sortObjects ) { if ( ! object.visible ) return; var visible = object.layers.test( camera.layers ); if ( visible ) { if ( object.isLight ) { lights.push( object ); } else if ( object.isSprite ) { if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) { sprites.push( object ); } } else if ( object.isLensFlare ) { lensFlares.push( object ); } else if ( object.isImmediateRenderObject ) { if ( sortObjects ) { _vector3.setFromMatrixPosition( object.matrixWorld ) .applyMatrix4( _projScreenMatrix ); } currentRenderList.push( object, null, object.material, _vector3.z, null ); } else if ( object.isMesh || object.isLine || object.isPoints ) { if ( object.isSkinnedMesh ) { object.skeleton.update(); } if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) { if ( sortObjects ) { _vector3.setFromMatrixPosition( object.matrixWorld ) .applyMatrix4( _projScreenMatrix ); } var geometry = objects.update( object ); var material = object.material; if ( Array.isArray( material ) ) { var groups = geometry.groups; for ( var i = 0, l = groups.length; i < l; i ++ ) { var group = groups[ i ]; var groupMaterial = material[ group.materialIndex ]; if ( groupMaterial && groupMaterial.visible ) { currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group ); } } } else if ( material.visible ) { currentRenderList.push( object, geometry, material, _vector3.z, null ); } } } } var children = object.children; for ( var i = 0, l = children.length; i < l; i ++ ) { projectObject( children[ i ], camera, sortObjects ); } } function renderObjects( renderList, scene, camera, overrideMaterial ) { for ( var i = 0, l = renderList.length; i < l; i ++ ) { var renderItem = renderList[ i ]; var object = renderItem.object; var geometry = renderItem.geometry; var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial; var group = renderItem.group; if ( camera.isArrayCamera ) { _currentArrayCamera = camera; var cameras = camera.cameras; for ( var j = 0, jl = cameras.length; j < jl; j ++ ) { var camera2 = cameras[ j ]; if ( object.layers.test( camera2.layers ) ) { var bounds = camera2.bounds; var x = bounds.x * _width; var y = bounds.y * _height; var width = bounds.z * _width; var height = bounds.w * _height; _this.setViewport( x, y, width, height ); _this.setScissor( x, y, width, height ); _this.setScissorTest( true ); renderObject( object, scene, camera2, geometry, material, group ); } } } else { _currentArrayCamera = null; renderObject( object, scene, camera, geometry, material, group ); } } } function renderObject( object, scene, camera, geometry, material, group ) { object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); object.normalMatrix.getNormalMatrix( object.modelViewMatrix ); object.onBeforeRender( _this, scene, camera, geometry, material, group ); if ( object.isImmediateRenderObject ) { state.setMaterial( material ); var program = setProgram( camera, scene.fog, material, object ); _currentGeometryProgram = ''; renderObjectImmediate( object, program, material ); } else { _this.renderBufferDirect( camera, scene.fog, geometry, material, object, group ); } object.onAfterRender( _this, scene, camera, geometry, material, group ); } function initMaterial( material, fog, object ) { var materialProperties = properties.get( material ); var parameters = programCache.getParameters( material, _lights, fog, _clipping.numPlanes, _clipping.numIntersection, object ); var code = programCache.getProgramCode( material, parameters ); var program = materialProperties.program; var programChange = true; if ( program === undefined ) { // new material material.addEventListener( 'dispose', onMaterialDispose ); } else if ( program.code !== code ) { // changed glsl or parameters releaseMaterialProgramReference( material ); } else if ( parameters.shaderID !== undefined ) { // same glsl and uniform list return; } else { // only rebuild uniform list programChange = false; } if ( programChange ) { if ( parameters.shaderID ) { var shader = ShaderLib[ parameters.shaderID ]; materialProperties.shader = { name: material.type, uniforms: UniformsUtils.clone( shader.uniforms ), vertexShader: shader.vertexShader, fragmentShader: shader.fragmentShader }; } else { materialProperties.shader = { name: material.type, uniforms: material.uniforms, vertexShader: material.vertexShader, fragmentShader: material.fragmentShader }; } material.onBeforeCompile( materialProperties.shader ); program = programCache.acquireProgram( material, materialProperties.shader, parameters, code ); materialProperties.program = program; material.program = program; } var programAttributes = program.getAttributes(); if ( material.morphTargets ) { material.numSupportedMorphTargets = 0; for ( var i = 0; i < _this.maxMorphTargets; i ++ ) { if ( programAttributes[ 'morphTarget' + i ] >= 0 ) { material.numSupportedMorphTargets ++; } } } if ( material.morphNormals ) { material.numSupportedMorphNormals = 0; for ( var i = 0; i < _this.maxMorphNormals; i ++ ) { if ( programAttributes[ 'morphNormal' + i ] >= 0 ) { material.numSupportedMorphNormals ++; } } } var uniforms = materialProperties.shader.uniforms; if ( ! material.isShaderMaterial && ! material.isRawShaderMaterial || material.clipping === true ) { materialProperties.numClippingPlanes = _clipping.numPlanes; materialProperties.numIntersection = _clipping.numIntersection; uniforms.clippingPlanes = _clipping.uniform; } materialProperties.fog = fog; // store the light setup it was created for materialProperties.lightsHash = _lights.hash; if ( material.lights ) { // wire up the material to this renderer's lighting state uniforms.ambientLightColor.value = _lights.ambient; uniforms.directionalLights.value = _lights.directional; uniforms.spotLights.value = _lights.spot; uniforms.rectAreaLights.value = _lights.rectArea; uniforms.pointLights.value = _lights.point; uniforms.hemisphereLights.value = _lights.hemi; uniforms.directionalShadowMap.value = _lights.directionalShadowMap; uniforms.directionalShadowMatrix.value = _lights.directionalShadowMatrix; uniforms.spotShadowMap.value = _lights.spotShadowMap; uniforms.spotShadowMatrix.value = _lights.spotShadowMatrix; uniforms.pointShadowMap.value = _lights.pointShadowMap; uniforms.pointShadowMatrix.value = _lights.pointShadowMatrix; // TODO (abelnation): add area lights shadow info to uniforms } var progUniforms = materialProperties.program.getUniforms(), uniformsList = WebGLUniforms.seqWithValue( progUniforms.seq, uniforms ); materialProperties.uniformsList = uniformsList; } function setProgram( camera, fog, material, object ) { _usedTextureUnits = 0; var materialProperties = properties.get( material ); if ( _clippingEnabled ) { if ( _localClippingEnabled || camera !== _currentCamera ) { var useCache = camera === _currentCamera && material.id === _currentMaterialId; // we might want to call this function with some ClippingGroup // object instead of the material, once it becomes feasible // (#8465, #8379) _clipping.setState( material.clippingPlanes, material.clipIntersection, material.clipShadows, camera, materialProperties, useCache ); } } if ( material.needsUpdate === false ) { if ( materialProperties.program === undefined ) { material.needsUpdate = true; } else if ( material.fog && materialProperties.fog !== fog ) { material.needsUpdate = true; } else if ( material.lights && materialProperties.lightsHash !== _lights.hash ) { material.needsUpdate = true; } else if ( materialProperties.numClippingPlanes !== undefined && ( materialProperties.numClippingPlanes !== _clipping.numPlanes || materialProperties.numIntersection !== _clipping.numIntersection ) ) { material.needsUpdate = true; } } if ( material.needsUpdate ) { initMaterial( material, fog, object ); material.needsUpdate = false; } var refreshProgram = false; var refreshMaterial = false; var refreshLights = false; var program = materialProperties.program, p_uniforms = program.getUniforms(), m_uniforms = materialProperties.shader.uniforms; if ( program.id !== _currentProgram ) { _gl.useProgram( program.program ); _currentProgram = program.id; refreshProgram = true; refreshMaterial = true; refreshLights = true; } if ( material.id !== _currentMaterialId ) { _currentMaterialId = material.id; refreshMaterial = true; } if ( refreshProgram || camera !== _currentCamera ) { p_uniforms.setValue( _gl, 'projectionMatrix', camera.projectionMatrix ); if ( capabilities.logarithmicDepthBuffer ) { p_uniforms.setValue( _gl, 'logDepthBufFC', 2.0 / ( Math.log( camera.far + 1.0 ) / Math.LN2 ) ); } // Avoid unneeded uniform updates per ArrayCamera's sub-camera if ( _currentCamera !== ( _currentArrayCamera || camera ) ) { _currentCamera = ( _currentArrayCamera || camera ); // lighting uniforms depend on the camera so enforce an update // now, in case this material supports lights - or later, when // the next material that does gets activated: refreshMaterial = true; // set to true on material change refreshLights = true; // remains set until update done } // load material specific uniforms // (shader material also gets them for the sake of genericity) if ( material.isShaderMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.envMap ) { var uCamPos = p_uniforms.map.cameraPosition; if ( uCamPos !== undefined ) { uCamPos.setValue( _gl, _vector3.setFromMatrixPosition( camera.matrixWorld ) ); } } if ( material.isMeshPhongMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial || material.skinning ) { p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse ); } } // skinning uniforms must be set even if material didn't change // auto-setting of texture unit for bone texture must go before other textures // not sure why, but otherwise weird things happen if ( material.skinning ) { p_uniforms.setOptional( _gl, object, 'bindMatrix' ); p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' ); var skeleton = object.skeleton; if ( skeleton ) { var bones = skeleton.bones; if ( capabilities.floatVertexTextures ) { if ( skeleton.boneTexture === undefined ) { // layout (1 matrix = 4 pixels) // RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4) // with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8) // 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16) // 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32) // 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64) var size = Math.sqrt( bones.length * 4 ); // 4 pixels needed for 1 matrix size = _Math.nextPowerOfTwo( Math.ceil( size ) ); size = Math.max( size, 4 ); var boneMatrices = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel boneMatrices.set( skeleton.boneMatrices ); // copy current values var boneTexture = new DataTexture( boneMatrices, size, size, RGBAFormat, FloatType ); skeleton.boneMatrices = boneMatrices; skeleton.boneTexture = boneTexture; skeleton.boneTextureSize = size; } p_uniforms.setValue( _gl, 'boneTexture', skeleton.boneTexture ); p_uniforms.setValue( _gl, 'boneTextureSize', skeleton.boneTextureSize ); } else { p_uniforms.setOptional( _gl, skeleton, 'boneMatrices' ); } } } if ( refreshMaterial ) { p_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure ); p_uniforms.setValue( _gl, 'toneMappingWhitePoint', _this.toneMappingWhitePoint ); if ( material.lights ) { // the current material requires lighting info // note: all lighting uniforms are always set correctly // they simply reference the renderer's state for their // values // // use the current material's .needsUpdate flags to set // the GL state when required markUniformsLightsNeedsUpdate( m_uniforms, refreshLights ); } // refresh uniforms common to several materials if ( fog && material.fog ) { refreshUniformsFog( m_uniforms, fog ); } if ( material.isMeshBasicMaterial || material.isMeshLambertMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.isMeshNormalMaterial || material.isMeshDepthMaterial ) { refreshUniformsCommon( m_uniforms, material ); } // refresh single material specific uniforms if ( material.isLineBasicMaterial ) { refreshUniformsLine( m_uniforms, material ); } else if ( material.isLineDashedMaterial ) { refreshUniformsLine( m_uniforms, material ); refreshUniformsDash( m_uniforms, material ); } else if ( material.isPointsMaterial ) { refreshUniformsPoints( m_uniforms, material ); } else if ( material.isMeshLambertMaterial ) { refreshUniformsLambert( m_uniforms, material ); } else if ( material.isMeshToonMaterial ) { refreshUniformsToon( m_uniforms, material ); } else if ( material.isMeshPhongMaterial ) { refreshUniformsPhong( m_uniforms, material ); } else if ( material.isMeshPhysicalMaterial ) { refreshUniformsPhysical( m_uniforms, material ); } else if ( material.isMeshStandardMaterial ) { refreshUniformsStandard( m_uniforms, material ); } else if ( material.isMeshDepthMaterial ) { if ( material.displacementMap ) { m_uniforms.displacementMap.value = material.displacementMap; m_uniforms.displacementScale.value = material.displacementScale; m_uniforms.displacementBias.value = material.displacementBias; } } else if ( material.isMeshNormalMaterial ) { refreshUniformsNormal( m_uniforms, material ); } // RectAreaLight Texture // TODO (mrdoob): Find a nicer implementation if ( m_uniforms.ltcMat !== undefined ) m_uniforms.ltcMat.value = UniformsLib.LTC_MAT_TEXTURE; if ( m_uniforms.ltcMag !== undefined ) m_uniforms.ltcMag.value = UniformsLib.LTC_MAG_TEXTURE; WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, _this ); } // common matrices p_uniforms.setValue( _gl, 'modelViewMatrix', object.modelViewMatrix ); p_uniforms.setValue( _gl, 'normalMatrix', object.normalMatrix ); p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld ); return program; } // Uniforms (refresh uniforms objects) function refreshUniformsCommon( uniforms, material ) { uniforms.opacity.value = material.opacity; uniforms.diffuse.value = material.color; if ( material.emissive ) { uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); } uniforms.map.value = material.map; uniforms.specularMap.value = material.specularMap; uniforms.alphaMap.value = material.alphaMap; if ( material.lightMap ) { uniforms.lightMap.value = material.lightMap; uniforms.lightMapIntensity.value = material.lightMapIntensity; } if ( material.aoMap ) { uniforms.aoMap.value = material.aoMap; uniforms.aoMapIntensity.value = material.aoMapIntensity; } // uv repeat and offset setting priorities // 1. color map // 2. specular map // 3. normal map // 4. bump map // 5. alpha map // 6. emissive map var uvScaleMap; if ( material.map ) { uvScaleMap = material.map; } else if ( material.specularMap ) { uvScaleMap = material.specularMap; } else if ( material.displacementMap ) { uvScaleMap = material.displacementMap; } else if ( material.normalMap ) { uvScaleMap = material.normalMap; } else if ( material.bumpMap ) { uvScaleMap = material.bumpMap; } else if ( material.roughnessMap ) { uvScaleMap = material.roughnessMap; } else if ( material.metalnessMap ) { uvScaleMap = material.metalnessMap; } else if ( material.alphaMap ) { uvScaleMap = material.alphaMap; } else if ( material.emissiveMap ) { uvScaleMap = material.emissiveMap; } if ( uvScaleMap !== undefined ) { // backwards compatibility if ( uvScaleMap.isWebGLRenderTarget ) { uvScaleMap = uvScaleMap.texture; } var offset = uvScaleMap.offset; var repeat = uvScaleMap.repeat; uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); } uniforms.envMap.value = material.envMap; // don't flip CubeTexture envMaps, flip everything else: // WebGLRenderTargetCube will be flipped for backwards compatibility // WebGLRenderTargetCube.texture will be flipped because it's a Texture and NOT a CubeTexture // this check must be handled differently, or removed entirely, if WebGLRenderTargetCube uses a CubeTexture in the future uniforms.flipEnvMap.value = ( ! ( material.envMap && material.envMap.isCubeTexture ) ) ? 1 : - 1; uniforms.reflectivity.value = material.reflectivity; uniforms.refractionRatio.value = material.refractionRatio; } function refreshUniformsLine( uniforms, material ) { uniforms.diffuse.value = material.color; uniforms.opacity.value = material.opacity; } function refreshUniformsDash( uniforms, material ) { uniforms.dashSize.value = material.dashSize; uniforms.totalSize.value = material.dashSize + material.gapSize; uniforms.scale.value = material.scale; } function refreshUniformsPoints( uniforms, material ) { uniforms.diffuse.value = material.color; uniforms.opacity.value = material.opacity; uniforms.size.value = material.size * _pixelRatio; uniforms.scale.value = _height * 0.5; uniforms.map.value = material.map; if ( material.map !== null ) { var offset = material.map.offset; var repeat = material.map.repeat; uniforms.offsetRepeat.value.set( offset.x, offset.y, repeat.x, repeat.y ); } } function refreshUniformsFog( uniforms, fog ) { uniforms.fogColor.value = fog.color; if ( fog.isFog ) { uniforms.fogNear.value = fog.near; uniforms.fogFar.value = fog.far; } else if ( fog.isFogExp2 ) { uniforms.fogDensity.value = fog.density; } } function refreshUniformsLambert( uniforms, material ) { if ( material.emissiveMap ) { uniforms.emissiveMap.value = material.emissiveMap; } } function refreshUniformsPhong( uniforms, material ) { uniforms.specular.value = material.specular; uniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 ) if ( material.emissiveMap ) { uniforms.emissiveMap.value = material.emissiveMap; } if ( material.bumpMap ) { uniforms.bumpMap.value = material.bumpMap; uniforms.bumpScale.value = material.bumpScale; } if ( material.normalMap ) { uniforms.normalMap.value = material.normalMap; uniforms.normalScale.value.copy( material.normalScale ); } if ( material.displacementMap ) { uniforms.displacementMap.value = material.displacementMap; uniforms.displacementScale.value = material.displacementScale; uniforms.displacementBias.value = material.displacementBias; } } function refreshUniformsToon( uniforms, material ) { refreshUniformsPhong( uniforms, material ); if ( material.gradientMap ) { uniforms.gradientMap.value = material.gradientMap; } } function refreshUniformsStandard( uniforms, material ) { uniforms.roughness.value = material.roughness; uniforms.metalness.value = material.metalness; if ( material.roughnessMap ) { uniforms.roughnessMap.value = material.roughnessMap; } if ( material.metalnessMap ) { uniforms.metalnessMap.value = material.metalnessMap; } if ( material.emissiveMap ) { uniforms.emissiveMap.value = material.emissiveMap; } if ( material.bumpMap ) { uniforms.bumpMap.value = material.bumpMap; uniforms.bumpScale.value = material.bumpScale; } if ( material.normalMap ) { uniforms.normalMap.value = material.normalMap; uniforms.normalScale.value.copy( material.normalScale ); } if ( material.displacementMap ) { uniforms.displacementMap.value = material.displacementMap; uniforms.displacementScale.value = material.displacementScale; uniforms.displacementBias.value = material.displacementBias; } if ( material.envMap ) { //uniforms.envMap.value = material.envMap; // part of uniforms common uniforms.envMapIntensity.value = material.envMapIntensity; } } function refreshUniformsPhysical( uniforms, material ) { uniforms.clearCoat.value = material.clearCoat; uniforms.clearCoatRoughness.value = material.clearCoatRoughness; refreshUniformsStandard( uniforms, material ); } function refreshUniformsNormal( uniforms, material ) { if ( material.bumpMap ) { uniforms.bumpMap.value = material.bumpMap; uniforms.bumpScale.value = material.bumpScale; } if ( material.normalMap ) { uniforms.normalMap.value = material.normalMap; uniforms.normalScale.value.copy( material.normalScale ); } if ( material.displacementMap ) { uniforms.displacementMap.value = material.displacementMap; uniforms.displacementScale.value = material.displacementScale; uniforms.displacementBias.value = material.displacementBias; } } // If uniforms are marked as clean, they don't need to be loaded to the GPU. function markUniformsLightsNeedsUpdate( uniforms, value ) { uniforms.ambientLightColor.needsUpdate = value; uniforms.directionalLights.needsUpdate = value; uniforms.pointLights.needsUpdate = value; uniforms.spotLights.needsUpdate = value; uniforms.rectAreaLights.needsUpdate = value; uniforms.hemisphereLights.needsUpdate = value; } // Lighting function setupShadows( lights ) { var lightShadowsLength = 0; for ( var i = 0, l = lights.length; i < l; i ++ ) { var light = lights[ i ]; if ( light.castShadow ) { _lights.shadows[ lightShadowsLength ] = light; lightShadowsLength ++; } } _lights.shadows.length = lightShadowsLength; } function setupLights( lights, camera ) { var l, ll, light, shadow, r = 0, g = 0, b = 0, color, intensity, distance, shadowMap, viewMatrix = camera.matrixWorldInverse, directionalLength = 0, pointLength = 0, spotLength = 0, rectAreaLength = 0, hemiLength = 0; for ( l = 0, ll = lights.length; l < ll; l ++ ) { light = lights[ l ]; color = light.color; intensity = light.intensity; distance = light.distance; shadowMap = ( light.shadow && light.shadow.map ) ? light.shadow.map.texture : null; if ( light.isAmbientLight ) { r += color.r * intensity; g += color.g * intensity; b += color.b * intensity; } else if ( light.isDirectionalLight ) { var uniforms = lightCache.get( light ); uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); uniforms.direction.setFromMatrixPosition( light.matrixWorld ); _vector3.setFromMatrixPosition( light.target.matrixWorld ); uniforms.direction.sub( _vector3 ); uniforms.direction.transformDirection( viewMatrix ); uniforms.shadow = light.castShadow; if ( light.castShadow ) { shadow = light.shadow; uniforms.shadowBias = shadow.bias; uniforms.shadowRadius = shadow.radius; uniforms.shadowMapSize = shadow.mapSize; } _lights.directionalShadowMap[ directionalLength ] = shadowMap; _lights.directionalShadowMatrix[ directionalLength ] = light.shadow.matrix; _lights.directional[ directionalLength ] = uniforms; directionalLength ++; } else if ( light.isSpotLight ) { var uniforms = lightCache.get( light ); uniforms.position.setFromMatrixPosition( light.matrixWorld ); uniforms.position.applyMatrix4( viewMatrix ); uniforms.color.copy( color ).multiplyScalar( intensity ); uniforms.distance = distance; uniforms.direction.setFromMatrixPosition( light.matrixWorld ); _vector3.setFromMatrixPosition( light.target.matrixWorld ); uniforms.direction.sub( _vector3 ); uniforms.direction.transformDirection( viewMatrix ); uniforms.coneCos = Math.cos( light.angle ); uniforms.penumbraCos = Math.cos( light.angle * ( 1 - light.penumbra ) ); uniforms.decay = ( light.distance === 0 ) ? 0.0 : light.decay; uniforms.shadow = light.castShadow; if ( light.castShadow ) { shadow = light.shadow; uniforms.shadowBias = shadow.bias; uniforms.shadowRadius = shadow.radius; uniforms.shadowMapSize = shadow.mapSize; } _lights.spotShadowMap[ spotLength ] = shadowMap; _lights.spotShadowMatrix[ spotLength ] = light.shadow.matrix; _lights.spot[ spotLength ] = uniforms; spotLength ++; } else if ( light.isRectAreaLight ) { var uniforms = lightCache.get( light ); // (a) intensity controls irradiance of entire light uniforms.color .copy( color ) .multiplyScalar( intensity / ( light.width * light.height ) ); // (b) intensity controls the radiance per light area // uniforms.color.copy( color ).multiplyScalar( intensity ); uniforms.position.setFromMatrixPosition( light.matrixWorld ); uniforms.position.applyMatrix4( viewMatrix ); // extract local rotation of light to derive width/height half vectors _matrix42.identity(); _matrix4.copy( light.matrixWorld ); _matrix4.premultiply( viewMatrix ); _matrix42.extractRotation( _matrix4 ); uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 ); uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 ); uniforms.halfWidth.applyMatrix4( _matrix42 ); uniforms.halfHeight.applyMatrix4( _matrix42 ); // TODO (abelnation): RectAreaLight distance? // uniforms.distance = distance; _lights.rectArea[ rectAreaLength ] = uniforms; rectAreaLength ++; } else if ( light.isPointLight ) { var uniforms = lightCache.get( light ); uniforms.position.setFromMatrixPosition( light.matrixWorld ); uniforms.position.applyMatrix4( viewMatrix ); uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); uniforms.distance = light.distance; uniforms.decay = ( light.distance === 0 ) ? 0.0 : light.decay; uniforms.shadow = light.castShadow; if ( light.castShadow ) { shadow = light.shadow; uniforms.shadowBias = shadow.bias; uniforms.shadowRadius = shadow.radius; uniforms.shadowMapSize = shadow.mapSize; } _lights.pointShadowMap[ pointLength ] = shadowMap; _lights.pointShadowMatrix[ pointLength ] = light.shadow.matrix; _lights.point[ pointLength ] = uniforms; pointLength ++; } else if ( light.isHemisphereLight ) { var uniforms = lightCache.get( light ); uniforms.direction.setFromMatrixPosition( light.matrixWorld ); uniforms.direction.transformDirection( viewMatrix ); uniforms.direction.normalize(); uniforms.skyColor.copy( light.color ).multiplyScalar( intensity ); uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity ); _lights.hemi[ hemiLength ] = uniforms; hemiLength ++; } } _lights.ambient[ 0 ] = r; _lights.ambient[ 1 ] = g; _lights.ambient[ 2 ] = b; _lights.directional.length = directionalLength; _lights.spot.length = spotLength; _lights.rectArea.length = rectAreaLength; _lights.point.length = pointLength; _lights.hemi.length = hemiLength; // TODO (sam-g-steel) why aren't we using join _lights.hash = directionalLength + ',' + pointLength + ',' + spotLength + ',' + rectAreaLength + ',' + hemiLength + ',' + _lights.shadows.length; } // GL state setting this.setFaceCulling = function ( cullFace, frontFaceDirection ) { state.setCullFace( cullFace ); state.setFlipSided( frontFaceDirection === FrontFaceDirectionCW ); }; // Textures function allocTextureUnit() { var textureUnit = _usedTextureUnits; if ( textureUnit >= capabilities.maxTextures ) { console.warn( 'THREE.WebGLRenderer: Trying to use ' + textureUnit + ' texture units while this GPU supports only ' + capabilities.maxTextures ); } _usedTextureUnits += 1; return textureUnit; } this.allocTextureUnit = allocTextureUnit; // this.setTexture2D = setTexture2D; this.setTexture2D = ( function () { var warned = false; // backwards compatibility: peel texture.texture return function setTexture2D( texture, slot ) { if ( texture && texture.isWebGLRenderTarget ) { if ( ! warned ) { console.warn( "THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead." ); warned = true; } texture = texture.texture; } textures.setTexture2D( texture, slot ); }; }() ); this.setTexture = ( function () { var warned = false; return function setTexture( texture, slot ) { if ( ! warned ) { console.warn( "THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead." ); warned = true; } textures.setTexture2D( texture, slot ); }; }() ); this.setTextureCube = ( function () { var warned = false; return function setTextureCube( texture, slot ) { // backwards compatibility: peel texture.texture if ( texture && texture.isWebGLRenderTargetCube ) { if ( ! warned ) { console.warn( "THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead." ); warned = true; } texture = texture.texture; } // currently relying on the fact that WebGLRenderTargetCube.texture is a Texture and NOT a CubeTexture // TODO: unify these code paths if ( ( texture && texture.isCubeTexture ) || ( Array.isArray( texture.image ) && texture.image.length === 6 ) ) { // CompressedTexture can have Array in image :/ // this function alone should take care of cube textures textures.setTextureCube( texture, slot ); } else { // assumed: texture property of THREE.WebGLRenderTargetCube textures.setTextureCubeDynamic( texture, slot ); } }; }() ); this.getRenderTarget = function () { return _currentRenderTarget; }; this.setRenderTarget = function ( renderTarget ) { _currentRenderTarget = renderTarget; if ( renderTarget && properties.get( renderTarget ).__webglFramebuffer === undefined ) { textures.setupRenderTarget( renderTarget ); } var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube ); var framebuffer; if ( renderTarget ) { var renderTargetProperties = properties.get( renderTarget ); if ( isCube ) { framebuffer = renderTargetProperties.__webglFramebuffer[ renderTarget.activeCubeFace ]; } else { framebuffer = renderTargetProperties.__webglFramebuffer; } _currentScissor.copy( renderTarget.scissor ); _currentScissorTest = renderTarget.scissorTest; _currentViewport.copy( renderTarget.viewport ); } else { framebuffer = null; _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ); _currentScissorTest = _scissorTest; _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ); } if ( _currentFramebuffer !== framebuffer ) { _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); _currentFramebuffer = framebuffer; } state.scissor( _currentScissor ); state.setScissorTest( _currentScissorTest ); state.viewport( _currentViewport ); if ( isCube ) { var textureProperties = properties.get( renderTarget.texture ); _gl.framebufferTexture2D( _gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + renderTarget.activeCubeFace, textureProperties.__webglTexture, renderTarget.activeMipMapLevel ); } }; this.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer ) { if ( ! ( renderTarget && renderTarget.isWebGLRenderTarget ) ) { console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' ); return; } var framebuffer = properties.get( renderTarget ).__webglFramebuffer; if ( framebuffer ) { var restore = false; if ( framebuffer !== _currentFramebuffer ) { _gl.bindFramebuffer( _gl.FRAMEBUFFER, framebuffer ); restore = true; } try { var texture = renderTarget.texture; var textureFormat = texture.format; var textureType = texture.type; if ( textureFormat !== RGBAFormat && paramThreeToGL( textureFormat ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_FORMAT ) ) { console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' ); return; } if ( textureType !== UnsignedByteType && paramThreeToGL( textureType ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_TYPE ) && // IE11, Edge and Chrome Mac < 52 (#9513) ! ( textureType === FloatType && ( extensions.get( 'OES_texture_float' ) || extensions.get( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox ! ( textureType === HalfFloatType && extensions.get( 'EXT_color_buffer_half_float' ) ) ) { console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' ); return; } if ( _gl.checkFramebufferStatus( _gl.FRAMEBUFFER ) === _gl.FRAMEBUFFER_COMPLETE ) { // the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604) if ( ( x >= 0 && x <= ( renderTarget.width - width ) ) && ( y >= 0 && y <= ( renderTarget.height - height ) ) ) { _gl.readPixels( x, y, width, height, paramThreeToGL( textureFormat ), paramThreeToGL( textureType ), buffer ); } } else { console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' ); } } finally { if ( restore ) { _gl.bindFramebuffer( _gl.FRAMEBUFFER, _currentFramebuffer ); } } } }; // Map three.js constants to WebGL constants function paramThreeToGL( p ) { var extension; if ( p === RepeatWrapping ) return _gl.REPEAT; if ( p === ClampToEdgeWrapping ) return _gl.CLAMP_TO_EDGE; if ( p === MirroredRepeatWrapping ) return _gl.MIRRORED_REPEAT; if ( p === NearestFilter ) return _gl.NEAREST; if ( p === NearestMipMapNearestFilter ) return _gl.NEAREST_MIPMAP_NEAREST; if ( p === NearestMipMapLinearFilter ) return _gl.NEAREST_MIPMAP_LINEAR; if ( p === LinearFilter ) return _gl.LINEAR; if ( p === LinearMipMapNearestFilter ) return _gl.LINEAR_MIPMAP_NEAREST; if ( p === LinearMipMapLinearFilter ) return _gl.LINEAR_MIPMAP_LINEAR; if ( p === UnsignedByteType ) return _gl.UNSIGNED_BYTE; if ( p === UnsignedShort4444Type ) return _gl.UNSIGNED_SHORT_4_4_4_4; if ( p === UnsignedShort5551Type ) return _gl.UNSIGNED_SHORT_5_5_5_1; if ( p === UnsignedShort565Type ) return _gl.UNSIGNED_SHORT_5_6_5; if ( p === ByteType ) return _gl.BYTE; if ( p === ShortType ) return _gl.SHORT; if ( p === UnsignedShortType ) return _gl.UNSIGNED_SHORT; if ( p === IntType ) return _gl.INT; if ( p === UnsignedIntType ) return _gl.UNSIGNED_INT; if ( p === FloatType ) return _gl.FLOAT; if ( p === HalfFloatType ) { extension = extensions.get( 'OES_texture_half_float' ); if ( extension !== null ) return extension.HALF_FLOAT_OES; } if ( p === AlphaFormat ) return _gl.ALPHA; if ( p === RGBFormat ) return _gl.RGB; if ( p === RGBAFormat ) return _gl.RGBA; if ( p === LuminanceFormat ) return _gl.LUMINANCE; if ( p === LuminanceAlphaFormat ) return _gl.LUMINANCE_ALPHA; if ( p === DepthFormat ) return _gl.DEPTH_COMPONENT; if ( p === DepthStencilFormat ) return _gl.DEPTH_STENCIL; if ( p === AddEquation ) return _gl.FUNC_ADD; if ( p === SubtractEquation ) return _gl.FUNC_SUBTRACT; if ( p === ReverseSubtractEquation ) return _gl.FUNC_REVERSE_SUBTRACT; if ( p === ZeroFactor ) return _gl.ZERO; if ( p === OneFactor ) return _gl.ONE; if ( p === SrcColorFactor ) return _gl.SRC_COLOR; if ( p === OneMinusSrcColorFactor ) return _gl.ONE_MINUS_SRC_COLOR; if ( p === SrcAlphaFactor ) return _gl.SRC_ALPHA; if ( p === OneMinusSrcAlphaFactor ) return _gl.ONE_MINUS_SRC_ALPHA; if ( p === DstAlphaFactor ) return _gl.DST_ALPHA; if ( p === OneMinusDstAlphaFactor ) return _gl.ONE_MINUS_DST_ALPHA; if ( p === DstColorFactor ) return _gl.DST_COLOR; if ( p === OneMinusDstColorFactor ) return _gl.ONE_MINUS_DST_COLOR; if ( p === SrcAlphaSaturateFactor ) return _gl.SRC_ALPHA_SATURATE; if ( p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format ) { extension = extensions.get( 'WEBGL_compressed_texture_s3tc' ); if ( extension !== null ) { if ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; if ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; if ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; if ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; } } if ( p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format ) { extension = extensions.get( 'WEBGL_compressed_texture_pvrtc' ); if ( extension !== null ) { if ( p === RGB_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; if ( p === RGB_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; if ( p === RGBA_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; if ( p === RGBA_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; } } if ( p === RGB_ETC1_Format ) { extension = extensions.get( 'WEBGL_compressed_texture_etc1' ); if ( extension !== null ) return extension.COMPRESSED_RGB_ETC1_WEBGL; } if ( p === MinEquation || p === MaxEquation ) { extension = extensions.get( 'EXT_blend_minmax' ); if ( extension !== null ) { if ( p === MinEquation ) return extension.MIN_EXT; if ( p === MaxEquation ) return extension.MAX_EXT; } } if ( p === UnsignedInt248Type ) { extension = extensions.get( 'WEBGL_depth_texture' ); if ( extension !== null ) return extension.UNSIGNED_INT_24_8_WEBGL; } return 0; } } /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function FogExp2 ( color, density ) { this.name = ''; this.color = new Color( color ); this.density = ( density !== undefined ) ? density : 0.00025; } FogExp2.prototype.isFogExp2 = true; FogExp2.prototype.clone = function () { return new FogExp2( this.color.getHex(), this.density ); }; FogExp2.prototype.toJSON = function ( meta ) { return { type: 'FogExp2', color: this.color.getHex(), density: this.density }; }; /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function Fog ( color, near, far ) { this.name = ''; this.color = new Color( color ); this.near = ( near !== undefined ) ? near : 1; this.far = ( far !== undefined ) ? far : 1000; } Fog.prototype.isFog = true; Fog.prototype.clone = function () { return new Fog( this.color.getHex(), this.near, this.far ); }; Fog.prototype.toJSON = function ( meta ) { return { type: 'Fog', color: this.color.getHex(), near: this.near, far: this.far }; }; /** * @author mrdoob / http://mrdoob.com/ */ function Scene () { Object3D.call( this ); this.type = 'Scene'; this.background = null; this.fog = null; this.overrideMaterial = null; this.autoUpdate = true; // checked by the renderer } Scene.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Scene, copy: function ( source, recursive ) { Object3D.prototype.copy.call( this, source, recursive ); if ( source.background !== null ) this.background = source.background.clone(); if ( source.fog !== null ) this.fog = source.fog.clone(); if ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone(); this.autoUpdate = source.autoUpdate; this.matrixAutoUpdate = source.matrixAutoUpdate; return this; }, toJSON: function ( meta ) { var data = Object3D.prototype.toJSON.call( this, meta ); if ( this.background !== null ) data.object.background = this.background.toJSON( meta ); if ( this.fog !== null ) data.object.fog = this.fog.toJSON(); return data; } } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ */ function LensFlare( texture, size, distance, blending, color ) { Object3D.call( this ); this.lensFlares = []; this.positionScreen = new Vector3(); this.customUpdateCallback = undefined; if ( texture !== undefined ) { this.add( texture, size, distance, blending, color ); } } LensFlare.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: LensFlare, isLensFlare: true, copy: function ( source ) { Object3D.prototype.copy.call( this, source ); this.positionScreen.copy( source.positionScreen ); this.customUpdateCallback = source.customUpdateCallback; for ( var i = 0, l = source.lensFlares.length; i < l; i ++ ) { this.lensFlares.push( source.lensFlares[ i ] ); } return this; }, add: function ( texture, size, distance, blending, color, opacity ) { if ( size === undefined ) size = - 1; if ( distance === undefined ) distance = 0; if ( opacity === undefined ) opacity = 1; if ( color === undefined ) color = new Color( 0xffffff ); if ( blending === undefined ) blending = NormalBlending; distance = Math.min( distance, Math.max( 0, distance ) ); this.lensFlares.push( { texture: texture, // THREE.Texture size: size, // size in pixels (-1 = use texture.width) distance: distance, // distance (0-1) from light source (0=at light source) x: 0, y: 0, z: 0, // screen position (-1 => 1) z = 0 is in front z = 1 is back scale: 1, // scale rotation: 0, // rotation opacity: opacity, // opacity color: color, // color blending: blending // blending } ); }, /* * Update lens flares update positions on all flares based on the screen position * Set myLensFlare.customUpdateCallback to alter the flares in your project specific way. */ updateLensFlares: function () { var f, fl = this.lensFlares.length; var flare; var vecX = - this.positionScreen.x * 2; var vecY = - this.positionScreen.y * 2; for ( f = 0; f < fl; f ++ ) { flare = this.lensFlares[ f ]; flare.x = this.positionScreen.x + vecX * flare.distance; flare.y = this.positionScreen.y + vecY * flare.distance; flare.wantedRotation = flare.x * Math.PI * 0.25; flare.rotation += ( flare.wantedRotation - flare.rotation ) * 0.25; } } } ); /** * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * map: new THREE.Texture( ), * * uvOffset: new THREE.Vector2(), * uvScale: new THREE.Vector2() * } */ function SpriteMaterial( parameters ) { Material.call( this ); this.type = 'SpriteMaterial'; this.color = new Color( 0xffffff ); this.map = null; this.rotation = 0; this.fog = false; this.lights = false; this.setValues( parameters ); } SpriteMaterial.prototype = Object.create( Material.prototype ); SpriteMaterial.prototype.constructor = SpriteMaterial; SpriteMaterial.prototype.isSpriteMaterial = true; SpriteMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.map = source.map; this.rotation = source.rotation; return this; }; /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ */ function Sprite( material ) { Object3D.call( this ); this.type = 'Sprite'; this.material = ( material !== undefined ) ? material : new SpriteMaterial(); } Sprite.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Sprite, isSprite: true, raycast: ( function () { var intersectPoint = new Vector3(); var worldPosition = new Vector3(); var worldScale = new Vector3(); return function raycast( raycaster, intersects ) { worldPosition.setFromMatrixPosition( this.matrixWorld ); raycaster.ray.closestPointToPoint( worldPosition, intersectPoint ); worldScale.setFromMatrixScale( this.matrixWorld ); var guessSizeSq = worldScale.x * worldScale.y / 4; if ( worldPosition.distanceToSquared( intersectPoint ) > guessSizeSq ) return; var distance = raycaster.ray.origin.distanceTo( intersectPoint ); if ( distance < raycaster.near || distance > raycaster.far ) return; intersects.push( { distance: distance, point: intersectPoint.clone(), face: null, object: this } ); }; }() ), clone: function () { return new this.constructor( this.material ).copy( this ); } } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ */ function LOD() { Object3D.call( this ); this.type = 'LOD'; Object.defineProperties( this, { levels: { enumerable: true, value: [] } } ); } LOD.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: LOD, copy: function ( source ) { Object3D.prototype.copy.call( this, source, false ); var levels = source.levels; for ( var i = 0, l = levels.length; i < l; i ++ ) { var level = levels[ i ]; this.addLevel( level.object.clone(), level.distance ); } return this; }, addLevel: function ( object, distance ) { if ( distance === undefined ) distance = 0; distance = Math.abs( distance ); var levels = this.levels; for ( var l = 0; l < levels.length; l ++ ) { if ( distance < levels[ l ].distance ) { break; } } levels.splice( l, 0, { distance: distance, object: object } ); this.add( object ); }, getObjectForDistance: function ( distance ) { var levels = this.levels; for ( var i = 1, l = levels.length; i < l; i ++ ) { if ( distance < levels[ i ].distance ) { break; } } return levels[ i - 1 ].object; }, raycast: ( function () { var matrixPosition = new Vector3(); return function raycast( raycaster, intersects ) { matrixPosition.setFromMatrixPosition( this.matrixWorld ); var distance = raycaster.ray.origin.distanceTo( matrixPosition ); this.getObjectForDistance( distance ).raycast( raycaster, intersects ); }; }() ), update: function () { var v1 = new Vector3(); var v2 = new Vector3(); return function update( camera ) { var levels = this.levels; if ( levels.length > 1 ) { v1.setFromMatrixPosition( camera.matrixWorld ); v2.setFromMatrixPosition( this.matrixWorld ); var distance = v1.distanceTo( v2 ); levels[ 0 ].object.visible = true; for ( var i = 1, l = levels.length; i < l; i ++ ) { if ( distance >= levels[ i ].distance ) { levels[ i - 1 ].object.visible = false; levels[ i ].object.visible = true; } else { break; } } for ( ; i < l; i ++ ) { levels[ i ].object.visible = false; } } }; }(), toJSON: function ( meta ) { var data = Object3D.prototype.toJSON.call( this, meta ); data.object.levels = []; var levels = this.levels; for ( var i = 0, l = levels.length; i < l; i ++ ) { var level = levels[ i ]; data.object.levels.push( { object: level.object.uuid, distance: level.distance } ); } return data; } } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author michael guerrero / http://realitymeltdown.com * @author ikerr / http://verold.com */ function Skeleton( bones, boneInverses ) { // copy the bone array bones = bones || []; this.bones = bones.slice( 0 ); this.boneMatrices = new Float32Array( this.bones.length * 16 ); // use the supplied bone inverses or calculate the inverses if ( boneInverses === undefined ) { this.calculateInverses(); } else { if ( this.bones.length === boneInverses.length ) { this.boneInverses = boneInverses.slice( 0 ); } else { console.warn( 'THREE.Skeleton boneInverses is the wrong length.' ); this.boneInverses = []; for ( var i = 0, il = this.bones.length; i < il; i ++ ) { this.boneInverses.push( new Matrix4() ); } } } } Object.assign( Skeleton.prototype, { calculateInverses: function () { this.boneInverses = []; for ( var i = 0, il = this.bones.length; i < il; i ++ ) { var inverse = new Matrix4(); if ( this.bones[ i ] ) { inverse.getInverse( this.bones[ i ].matrixWorld ); } this.boneInverses.push( inverse ); } }, pose: function () { var bone, i, il; // recover the bind-time world matrices for ( i = 0, il = this.bones.length; i < il; i ++ ) { bone = this.bones[ i ]; if ( bone ) { bone.matrixWorld.getInverse( this.boneInverses[ i ] ); } } // compute the local matrices, positions, rotations and scales for ( i = 0, il = this.bones.length; i < il; i ++ ) { bone = this.bones[ i ]; if ( bone ) { if ( bone.parent && bone.parent.isBone ) { bone.matrix.getInverse( bone.parent.matrixWorld ); bone.matrix.multiply( bone.matrixWorld ); } else { bone.matrix.copy( bone.matrixWorld ); } bone.matrix.decompose( bone.position, bone.quaternion, bone.scale ); } } }, update: ( function () { var offsetMatrix = new Matrix4(); var identityMatrix = new Matrix4(); return function update() { var bones = this.bones; var boneInverses = this.boneInverses; var boneMatrices = this.boneMatrices; var boneTexture = this.boneTexture; // flatten bone matrices to array for ( var i = 0, il = bones.length; i < il; i ++ ) { // compute the offset between the current and the original transform var matrix = bones[ i ] ? bones[ i ].matrixWorld : identityMatrix; offsetMatrix.multiplyMatrices( matrix, boneInverses[ i ] ); offsetMatrix.toArray( boneMatrices, i * 16 ); } if ( boneTexture !== undefined ) { boneTexture.needsUpdate = true; } }; } )(), clone: function () { return new Skeleton( this.bones, this.boneInverses ); } } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author ikerr / http://verold.com */ function Bone() { Object3D.call( this ); this.type = 'Bone'; } Bone.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Bone, isBone: true } ); /** * @author mikael emtinger / http://gomo.se/ * @author alteredq / http://alteredqualia.com/ * @author ikerr / http://verold.com */ function SkinnedMesh( geometry, material ) { Mesh.call( this, geometry, material ); this.type = 'SkinnedMesh'; this.bindMode = 'attached'; this.bindMatrix = new Matrix4(); this.bindMatrixInverse = new Matrix4(); var bones = this.initBones(); var skeleton = new Skeleton( bones ); this.bind( skeleton, this.matrixWorld ); this.normalizeSkinWeights(); } SkinnedMesh.prototype = Object.assign( Object.create( Mesh.prototype ), { constructor: SkinnedMesh, isSkinnedMesh: true, initBones: function () { var bones = [], bone, gbone; var i, il; if ( this.geometry && this.geometry.bones !== undefined ) { // first, create array of 'Bone' objects from geometry data for ( i = 0, il = this.geometry.bones.length; i < il; i ++ ) { gbone = this.geometry.bones[ i ]; // create new 'Bone' object bone = new Bone(); bones.push( bone ); // apply values bone.name = gbone.name; bone.position.fromArray( gbone.pos ); bone.quaternion.fromArray( gbone.rotq ); if ( gbone.scl !== undefined ) bone.scale.fromArray( gbone.scl ); } // second, create bone hierarchy for ( i = 0, il = this.geometry.bones.length; i < il; i ++ ) { gbone = this.geometry.bones[ i ]; if ( ( gbone.parent !== - 1 ) && ( gbone.parent !== null ) && ( bones[ gbone.parent ] !== undefined ) ) { // subsequent bones in the hierarchy bones[ gbone.parent ].add( bones[ i ] ); } else { // topmost bone, immediate child of the skinned mesh this.add( bones[ i ] ); } } } // now the bones are part of the scene graph and children of the skinned mesh. // let's update the corresponding matrices this.updateMatrixWorld( true ); return bones; }, bind: function ( skeleton, bindMatrix ) { this.skeleton = skeleton; if ( bindMatrix === undefined ) { this.updateMatrixWorld( true ); this.skeleton.calculateInverses(); bindMatrix = this.matrixWorld; } this.bindMatrix.copy( bindMatrix ); this.bindMatrixInverse.getInverse( bindMatrix ); }, pose: function () { this.skeleton.pose(); }, normalizeSkinWeights: function () { var scale, i; if ( this.geometry && this.geometry.isGeometry ) { for ( i = 0; i < this.geometry.skinWeights.length; i ++ ) { var sw = this.geometry.skinWeights[ i ]; scale = 1.0 / sw.lengthManhattan(); if ( scale !== Infinity ) { sw.multiplyScalar( scale ); } else { sw.set( 1, 0, 0, 0 ); // do something reasonable } } } else if ( this.geometry && this.geometry.isBufferGeometry ) { var vec = new Vector4(); var skinWeight = this.geometry.attributes.skinWeight; for ( i = 0; i < skinWeight.count; i ++ ) { vec.x = skinWeight.getX( i ); vec.y = skinWeight.getY( i ); vec.z = skinWeight.getZ( i ); vec.w = skinWeight.getW( i ); scale = 1.0 / vec.lengthManhattan(); if ( scale !== Infinity ) { vec.multiplyScalar( scale ); } else { vec.set( 1, 0, 0, 0 ); // do something reasonable } skinWeight.setXYZW( i, vec.x, vec.y, vec.z, vec.w ); } } }, updateMatrixWorld: function ( force ) { Mesh.prototype.updateMatrixWorld.call( this, force ); if ( this.bindMode === 'attached' ) { this.bindMatrixInverse.getInverse( this.matrixWorld ); } else if ( this.bindMode === 'detached' ) { this.bindMatrixInverse.getInverse( this.bindMatrix ); } else { console.warn( 'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode ); } }, clone: function () { return new this.constructor( this.geometry, this.material ).copy( this ); } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * * linewidth: , * linecap: "round", * linejoin: "round" * } */ function LineBasicMaterial( parameters ) { Material.call( this ); this.type = 'LineBasicMaterial'; this.color = new Color( 0xffffff ); this.linewidth = 1; this.linecap = 'round'; this.linejoin = 'round'; this.lights = false; this.setValues( parameters ); } LineBasicMaterial.prototype = Object.create( Material.prototype ); LineBasicMaterial.prototype.constructor = LineBasicMaterial; LineBasicMaterial.prototype.isLineBasicMaterial = true; LineBasicMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.linewidth = source.linewidth; this.linecap = source.linecap; this.linejoin = source.linejoin; return this; }; /** * @author mrdoob / http://mrdoob.com/ */ function Line( geometry, material, mode ) { if ( mode === 1 ) { console.warn( 'THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead.' ); return new LineSegments( geometry, material ); } Object3D.call( this ); this.type = 'Line'; this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); this.material = material !== undefined ? material : new LineBasicMaterial( { color: Math.random() * 0xffffff } ); } Line.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Line, isLine: true, raycast: ( function () { var inverseMatrix = new Matrix4(); var ray = new Ray(); var sphere = new Sphere(); return function raycast( raycaster, intersects ) { var precision = raycaster.linePrecision; var precisionSq = precision * precision; var geometry = this.geometry; var matrixWorld = this.matrixWorld; // Checking boundingSphere distance to ray if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); sphere.copy( geometry.boundingSphere ); sphere.applyMatrix4( matrixWorld ); if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; // inverseMatrix.getInverse( matrixWorld ); ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); var vStart = new Vector3(); var vEnd = new Vector3(); var interSegment = new Vector3(); var interRay = new Vector3(); var step = (this && this.isLineSegments) ? 2 : 1; if ( geometry.isBufferGeometry ) { var index = geometry.index; var attributes = geometry.attributes; var positions = attributes.position.array; if ( index !== null ) { var indices = index.array; for ( var i = 0, l = indices.length - 1; i < l; i += step ) { var a = indices[ i ]; var b = indices[ i + 1 ]; vStart.fromArray( positions, a * 3 ); vEnd.fromArray( positions, b * 3 ); var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); if ( distSq > precisionSq ) continue; interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation var distance = raycaster.ray.origin.distanceTo( interRay ); if ( distance < raycaster.near || distance > raycaster.far ) continue; intersects.push( { distance: distance, // What do we want? intersection point on the ray or on the segment?? // point: raycaster.ray.at( distance ), point: interSegment.clone().applyMatrix4( this.matrixWorld ), index: i, face: null, faceIndex: null, object: this } ); } } else { for ( var i = 0, l = positions.length / 3 - 1; i < l; i += step ) { vStart.fromArray( positions, 3 * i ); vEnd.fromArray( positions, 3 * i + 3 ); var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); if ( distSq > precisionSq ) continue; interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation var distance = raycaster.ray.origin.distanceTo( interRay ); if ( distance < raycaster.near || distance > raycaster.far ) continue; intersects.push( { distance: distance, // What do we want? intersection point on the ray or on the segment?? // point: raycaster.ray.at( distance ), point: interSegment.clone().applyMatrix4( this.matrixWorld ), index: i, face: null, faceIndex: null, object: this } ); } } } else if ( geometry.isGeometry ) { var vertices = geometry.vertices; var nbVertices = vertices.length; for ( var i = 0; i < nbVertices - 1; i += step ) { var distSq = ray.distanceSqToSegment( vertices[ i ], vertices[ i + 1 ], interRay, interSegment ); if ( distSq > precisionSq ) continue; interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation var distance = raycaster.ray.origin.distanceTo( interRay ); if ( distance < raycaster.near || distance > raycaster.far ) continue; intersects.push( { distance: distance, // What do we want? intersection point on the ray or on the segment?? // point: raycaster.ray.at( distance ), point: interSegment.clone().applyMatrix4( this.matrixWorld ), index: i, face: null, faceIndex: null, object: this } ); } } }; }() ), clone: function () { return new this.constructor( this.geometry, this.material ).copy( this ); } } ); /** * @author mrdoob / http://mrdoob.com/ */ function LineSegments( geometry, material ) { Line.call( this, geometry, material ); this.type = 'LineSegments'; } LineSegments.prototype = Object.assign( Object.create( Line.prototype ), { constructor: LineSegments, isLineSegments: true } ); /** * @author mgreter / http://github.com/mgreter */ function LineLoop( geometry, material ) { Line.call( this, geometry, material ); this.type = 'LineLoop'; } LineLoop.prototype = Object.assign( Object.create( Line.prototype ), { constructor: LineLoop, isLineLoop: true, } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * map: new THREE.Texture( ), * * size: , * sizeAttenuation: * } */ function PointsMaterial( parameters ) { Material.call( this ); this.type = 'PointsMaterial'; this.color = new Color( 0xffffff ); this.map = null; this.size = 1; this.sizeAttenuation = true; this.lights = false; this.setValues( parameters ); } PointsMaterial.prototype = Object.create( Material.prototype ); PointsMaterial.prototype.constructor = PointsMaterial; PointsMaterial.prototype.isPointsMaterial = true; PointsMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.map = source.map; this.size = source.size; this.sizeAttenuation = source.sizeAttenuation; return this; }; /** * @author alteredq / http://alteredqualia.com/ */ function Points( geometry, material ) { Object3D.call( this ); this.type = 'Points'; this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); this.material = material !== undefined ? material : new PointsMaterial( { color: Math.random() * 0xffffff } ); } Points.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Points, isPoints: true, raycast: ( function () { var inverseMatrix = new Matrix4(); var ray = new Ray(); var sphere = new Sphere(); return function raycast( raycaster, intersects ) { var object = this; var geometry = this.geometry; var matrixWorld = this.matrixWorld; var threshold = raycaster.params.Points.threshold; // Checking boundingSphere distance to ray if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); sphere.copy( geometry.boundingSphere ); sphere.applyMatrix4( matrixWorld ); sphere.radius += threshold; if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; // inverseMatrix.getInverse( matrixWorld ); ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); var localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); var localThresholdSq = localThreshold * localThreshold; var position = new Vector3(); function testPoint( point, index ) { var rayPointDistanceSq = ray.distanceSqToPoint( point ); if ( rayPointDistanceSq < localThresholdSq ) { var intersectPoint = ray.closestPointToPoint( point ); intersectPoint.applyMatrix4( matrixWorld ); var distance = raycaster.ray.origin.distanceTo( intersectPoint ); if ( distance < raycaster.near || distance > raycaster.far ) return; intersects.push( { distance: distance, distanceToRay: Math.sqrt( rayPointDistanceSq ), point: intersectPoint.clone(), index: index, face: null, object: object } ); } } if ( geometry.isBufferGeometry ) { var index = geometry.index; var attributes = geometry.attributes; var positions = attributes.position.array; if ( index !== null ) { var indices = index.array; for ( var i = 0, il = indices.length; i < il; i ++ ) { var a = indices[ i ]; position.fromArray( positions, a * 3 ); testPoint( position, a ); } } else { for ( var i = 0, l = positions.length / 3; i < l; i ++ ) { position.fromArray( positions, i * 3 ); testPoint( position, i ); } } } else { var vertices = geometry.vertices; for ( var i = 0, l = vertices.length; i < l; i ++ ) { testPoint( vertices[ i ], i ); } } }; }() ), clone: function () { return new this.constructor( this.geometry, this.material ).copy( this ); } } ); /** * @author mrdoob / http://mrdoob.com/ */ function Group() { Object3D.call( this ); this.type = 'Group'; } Group.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Group } ); /** * @author mrdoob / http://mrdoob.com/ */ function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); this.generateMipmaps = false; var scope = this; function update() { requestAnimationFrame( update ); if ( video.readyState >= video.HAVE_CURRENT_DATA ) { scope.needsUpdate = true; } } update(); } VideoTexture.prototype = Object.create( Texture.prototype ); VideoTexture.prototype.constructor = VideoTexture; /** * @author alteredq / http://alteredqualia.com/ */ function CompressedTexture( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); this.image = { width: width, height: height }; this.mipmaps = mipmaps; // no flipping for cube textures // (also flipping doesn't work for compressed textures ) this.flipY = false; // can't generate mipmaps for compressed textures // mips must be embedded in DDS files this.generateMipmaps = false; } CompressedTexture.prototype = Object.create( Texture.prototype ); CompressedTexture.prototype.constructor = CompressedTexture; CompressedTexture.prototype.isCompressedTexture = true; /** * @author mrdoob / http://mrdoob.com/ */ function CanvasTexture( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { Texture.call( this, canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); this.needsUpdate = true; } CanvasTexture.prototype = Object.create( Texture.prototype ); CanvasTexture.prototype.constructor = CanvasTexture; /** * @author Matt DesLauriers / @mattdesl * @author atix / arthursilber.de */ function DepthTexture( width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format ) { format = format !== undefined ? format : DepthFormat; if ( format !== DepthFormat && format !== DepthStencilFormat ) { throw new Error( 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat' ) } if ( type === undefined && format === DepthFormat ) type = UnsignedShortType; if ( type === undefined && format === DepthStencilFormat ) type = UnsignedInt248Type; Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); this.image = { width: width, height: height }; this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; this.flipY = false; this.generateMipmaps = false; } DepthTexture.prototype = Object.create( Texture.prototype ); DepthTexture.prototype.constructor = DepthTexture; DepthTexture.prototype.isDepthTexture = true; /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ function WireframeGeometry( geometry ) { BufferGeometry.call( this ); this.type = 'WireframeGeometry'; // buffer var vertices = []; // helper variables var i, j, l, o, ol; var edge = [ 0, 0 ], edges = {}, e, edge1, edge2; var key, keys = [ 'a', 'b', 'c' ]; var vertex; // different logic for Geometry and BufferGeometry if ( geometry && geometry.isGeometry ) { // create a data structure that contains all edges without duplicates var faces = geometry.faces; for ( i = 0, l = faces.length; i < l; i ++ ) { var face = faces[ i ]; for ( j = 0; j < 3; j ++ ) { edge1 = face[ keys[ j ] ]; edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates edge[ 1 ] = Math.max( edge1, edge2 ); key = edge[ 0 ] + ',' + edge[ 1 ]; if ( edges[ key ] === undefined ) { edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; } } } // generate vertices for ( key in edges ) { e = edges[ key ]; vertex = geometry.vertices[ e.index1 ]; vertices.push( vertex.x, vertex.y, vertex.z ); vertex = geometry.vertices[ e.index2 ]; vertices.push( vertex.x, vertex.y, vertex.z ); } } else if ( geometry && geometry.isBufferGeometry ) { var position, indices, groups; var group, start, count; var index1, index2; vertex = new Vector3(); if ( geometry.index !== null ) { // indexed BufferGeometry position = geometry.attributes.position; indices = geometry.index; groups = geometry.groups; if ( groups.length === 0 ) { groups = [ { start: 0, count: indices.count, materialIndex: 0 } ]; } // create a data structure that contains all eges without duplicates for ( o = 0, ol = groups.length; o < ol; ++ o ) { group = groups[ o ]; start = group.start; count = group.count; for ( i = start, l = ( start + count ); i < l; i += 3 ) { for ( j = 0; j < 3; j ++ ) { edge1 = indices.getX( i + j ); edge2 = indices.getX( i + ( j + 1 ) % 3 ); edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates edge[ 1 ] = Math.max( edge1, edge2 ); key = edge[ 0 ] + ',' + edge[ 1 ]; if ( edges[ key ] === undefined ) { edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; } } } } // generate vertices for ( key in edges ) { e = edges[ key ]; vertex.fromBufferAttribute( position, e.index1 ); vertices.push( vertex.x, vertex.y, vertex.z ); vertex.fromBufferAttribute( position, e.index2 ); vertices.push( vertex.x, vertex.y, vertex.z ); } } else { // non-indexed BufferGeometry position = geometry.attributes.position; for ( i = 0, l = ( position.count / 3 ); i < l; i ++ ) { for ( j = 0; j < 3; j ++ ) { // three edges per triangle, an edge is represented as (index1, index2) // e.g. the first triangle has the following edges: (0,1),(1,2),(2,0) index1 = 3 * i + j; vertex.fromBufferAttribute( position, index1 ); vertices.push( vertex.x, vertex.y, vertex.z ); index2 = 3 * i + ( ( j + 1 ) % 3 ); vertex.fromBufferAttribute( position, index2 ); vertices.push( vertex.x, vertex.y, vertex.z ); } } } } // build geometry this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); } WireframeGeometry.prototype = Object.create( BufferGeometry.prototype ); WireframeGeometry.prototype.constructor = WireframeGeometry; /** * @author zz85 / https://github.com/zz85 * @author Mugen87 / https://github.com/Mugen87 * * Parametric Surfaces Geometry * based on the brilliant article by @prideout http://prideout.net/blog/?p=44 */ // ParametricGeometry function ParametricGeometry( func, slices, stacks ) { Geometry.call( this ); this.type = 'ParametricGeometry'; this.parameters = { func: func, slices: slices, stacks: stacks }; this.fromBufferGeometry( new ParametricBufferGeometry( func, slices, stacks ) ); this.mergeVertices(); } ParametricGeometry.prototype = Object.create( Geometry.prototype ); ParametricGeometry.prototype.constructor = ParametricGeometry; // ParametricBufferGeometry function ParametricBufferGeometry( func, slices, stacks ) { BufferGeometry.call( this ); this.type = 'ParametricBufferGeometry'; this.parameters = { func: func, slices: slices, stacks: stacks }; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; var EPS = 0.00001; var normal = new Vector3(); var p0 = new Vector3(), p1 = new Vector3(); var pu = new Vector3(), pv = new Vector3(); var i, j; // generate vertices, normals and uvs var sliceCount = slices + 1; for ( i = 0; i <= stacks; i ++ ) { var v = i / stacks; for ( j = 0; j <= slices; j ++ ) { var u = j / slices; // vertex p0 = func( u, v, p0 ); vertices.push( p0.x, p0.y, p0.z ); // normal // approximate tangent vectors via finite differences if ( u - EPS >= 0 ) { p1 = func( u - EPS, v, p1 ); pu.subVectors( p0, p1 ); } else { p1 = func( u + EPS, v, p1 ); pu.subVectors( p1, p0 ); } if ( v - EPS >= 0 ) { p1 = func( u, v - EPS, p1 ); pv.subVectors( p0, p1 ); } else { p1 = func( u, v + EPS, p1 ); pv.subVectors( p1, p0 ); } // cross product of tangent vectors returns surface normal normal.crossVectors( pu, pv ).normalize(); normals.push( normal.x, normal.y, normal.z ); // uv uvs.push( u, v ); } } // generate indices for ( i = 0; i < stacks; i ++ ) { for ( j = 0; j < slices; j ++ ) { var a = i * sliceCount + j; var b = i * sliceCount + j + 1; var c = ( i + 1 ) * sliceCount + j + 1; var d = ( i + 1 ) * sliceCount + j; // faces one and two indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } ParametricBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); ParametricBufferGeometry.prototype.constructor = ParametricBufferGeometry; /** * @author clockworkgeek / https://github.com/clockworkgeek * @author timothypratley / https://github.com/timothypratley * @author WestLangley / http://github.com/WestLangley * @author Mugen87 / https://github.com/Mugen87 */ // PolyhedronGeometry function PolyhedronGeometry( vertices, indices, radius, detail ) { Geometry.call( this ); this.type = 'PolyhedronGeometry'; this.parameters = { vertices: vertices, indices: indices, radius: radius, detail: detail }; this.fromBufferGeometry( new PolyhedronBufferGeometry( vertices, indices, radius, detail ) ); this.mergeVertices(); } PolyhedronGeometry.prototype = Object.create( Geometry.prototype ); PolyhedronGeometry.prototype.constructor = PolyhedronGeometry; // PolyhedronBufferGeometry function PolyhedronBufferGeometry( vertices, indices, radius, detail ) { BufferGeometry.call( this ); this.type = 'PolyhedronBufferGeometry'; this.parameters = { vertices: vertices, indices: indices, radius: radius, detail: detail }; radius = radius || 1; detail = detail || 0; // default buffer data var vertexBuffer = []; var uvBuffer = []; // the subdivision creates the vertex buffer data subdivide( detail ); // all vertices should lie on a conceptual sphere with a given radius appplyRadius( radius ); // finally, create the uv data generateUVs(); // build non-indexed geometry this.addAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) ); if ( detail === 0 ) { this.computeVertexNormals(); // flat normals } else { this.normalizeNormals(); // smooth normals } // helper functions function subdivide( detail ) { var a = new Vector3(); var b = new Vector3(); var c = new Vector3(); // iterate over all faces and apply a subdivison with the given detail value for ( var i = 0; i < indices.length; i += 3 ) { // get the vertices of the face getVertexByIndex( indices[ i + 0 ], a ); getVertexByIndex( indices[ i + 1 ], b ); getVertexByIndex( indices[ i + 2 ], c ); // perform subdivision subdivideFace( a, b, c, detail ); } } function subdivideFace( a, b, c, detail ) { var cols = Math.pow( 2, detail ); // we use this multidimensional array as a data structure for creating the subdivision var v = []; var i, j; // construct all of the vertices for this subdivision for ( i = 0; i <= cols; i ++ ) { v[ i ] = []; var aj = a.clone().lerp( c, i / cols ); var bj = b.clone().lerp( c, i / cols ); var rows = cols - i; for ( j = 0; j <= rows; j ++ ) { if ( j === 0 && i === cols ) { v[ i ][ j ] = aj; } else { v[ i ][ j ] = aj.clone().lerp( bj, j / rows ); } } } // construct all of the faces for ( i = 0; i < cols; i ++ ) { for ( j = 0; j < 2 * ( cols - i ) - 1; j ++ ) { var k = Math.floor( j / 2 ); if ( j % 2 === 0 ) { pushVertex( v[ i ][ k + 1 ] ); pushVertex( v[ i + 1 ][ k ] ); pushVertex( v[ i ][ k ] ); } else { pushVertex( v[ i ][ k + 1 ] ); pushVertex( v[ i + 1 ][ k + 1 ] ); pushVertex( v[ i + 1 ][ k ] ); } } } } function appplyRadius( radius ) { var vertex = new Vector3(); // iterate over the entire buffer and apply the radius to each vertex for ( var i = 0; i < vertexBuffer.length; i += 3 ) { vertex.x = vertexBuffer[ i + 0 ]; vertex.y = vertexBuffer[ i + 1 ]; vertex.z = vertexBuffer[ i + 2 ]; vertex.normalize().multiplyScalar( radius ); vertexBuffer[ i + 0 ] = vertex.x; vertexBuffer[ i + 1 ] = vertex.y; vertexBuffer[ i + 2 ] = vertex.z; } } function generateUVs() { var vertex = new Vector3(); for ( var i = 0; i < vertexBuffer.length; i += 3 ) { vertex.x = vertexBuffer[ i + 0 ]; vertex.y = vertexBuffer[ i + 1 ]; vertex.z = vertexBuffer[ i + 2 ]; var u = azimuth( vertex ) / 2 / Math.PI + 0.5; var v = inclination( vertex ) / Math.PI + 0.5; uvBuffer.push( u, 1 - v ); } correctUVs(); correctSeam(); } function correctSeam() { // handle case when face straddles the seam, see #3269 for ( var i = 0; i < uvBuffer.length; i += 6 ) { // uv data of a single face var x0 = uvBuffer[ i + 0 ]; var x1 = uvBuffer[ i + 2 ]; var x2 = uvBuffer[ i + 4 ]; var max = Math.max( x0, x1, x2 ); var min = Math.min( x0, x1, x2 ); // 0.9 is somewhat arbitrary if ( max > 0.9 && min < 0.1 ) { if ( x0 < 0.2 ) uvBuffer[ i + 0 ] += 1; if ( x1 < 0.2 ) uvBuffer[ i + 2 ] += 1; if ( x2 < 0.2 ) uvBuffer[ i + 4 ] += 1; } } } function pushVertex( vertex ) { vertexBuffer.push( vertex.x, vertex.y, vertex.z ); } function getVertexByIndex( index, vertex ) { var stride = index * 3; vertex.x = vertices[ stride + 0 ]; vertex.y = vertices[ stride + 1 ]; vertex.z = vertices[ stride + 2 ]; } function correctUVs() { var a = new Vector3(); var b = new Vector3(); var c = new Vector3(); var centroid = new Vector3(); var uvA = new Vector2(); var uvB = new Vector2(); var uvC = new Vector2(); for ( var i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6 ) { a.set( vertexBuffer[ i + 0 ], vertexBuffer[ i + 1 ], vertexBuffer[ i + 2 ] ); b.set( vertexBuffer[ i + 3 ], vertexBuffer[ i + 4 ], vertexBuffer[ i + 5 ] ); c.set( vertexBuffer[ i + 6 ], vertexBuffer[ i + 7 ], vertexBuffer[ i + 8 ] ); uvA.set( uvBuffer[ j + 0 ], uvBuffer[ j + 1 ] ); uvB.set( uvBuffer[ j + 2 ], uvBuffer[ j + 3 ] ); uvC.set( uvBuffer[ j + 4 ], uvBuffer[ j + 5 ] ); centroid.copy( a ).add( b ).add( c ).divideScalar( 3 ); var azi = azimuth( centroid ); correctUV( uvA, j + 0, a, azi ); correctUV( uvB, j + 2, b, azi ); correctUV( uvC, j + 4, c, azi ); } } function correctUV( uv, stride, vector, azimuth ) { if ( ( azimuth < 0 ) && ( uv.x === 1 ) ) { uvBuffer[ stride ] = uv.x - 1; } if ( ( vector.x === 0 ) && ( vector.z === 0 ) ) { uvBuffer[ stride ] = azimuth / 2 / Math.PI + 0.5; } } // Angle around the Y axis, counter-clockwise when looking from above. function azimuth( vector ) { return Math.atan2( vector.z, - vector.x ); } // Angle above the XZ plane. function inclination( vector ) { return Math.atan2( - vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) ); } } PolyhedronBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); PolyhedronBufferGeometry.prototype.constructor = PolyhedronBufferGeometry; /** * @author timothypratley / https://github.com/timothypratley * @author Mugen87 / https://github.com/Mugen87 */ // TetrahedronGeometry function TetrahedronGeometry( radius, detail ) { Geometry.call( this ); this.type = 'TetrahedronGeometry'; this.parameters = { radius: radius, detail: detail }; this.fromBufferGeometry( new TetrahedronBufferGeometry( radius, detail ) ); this.mergeVertices(); } TetrahedronGeometry.prototype = Object.create( Geometry.prototype ); TetrahedronGeometry.prototype.constructor = TetrahedronGeometry; // TetrahedronBufferGeometry function TetrahedronBufferGeometry( radius, detail ) { var vertices = [ 1, 1, 1, - 1, - 1, 1, - 1, 1, - 1, 1, - 1, - 1 ]; var indices = [ 2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1 ]; PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); this.type = 'TetrahedronBufferGeometry'; this.parameters = { radius: radius, detail: detail }; } TetrahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); TetrahedronBufferGeometry.prototype.constructor = TetrahedronBufferGeometry; /** * @author timothypratley / https://github.com/timothypratley * @author Mugen87 / https://github.com/Mugen87 */ // OctahedronGeometry function OctahedronGeometry( radius, detail ) { Geometry.call( this ); this.type = 'OctahedronGeometry'; this.parameters = { radius: radius, detail: detail }; this.fromBufferGeometry( new OctahedronBufferGeometry( radius, detail ) ); this.mergeVertices(); } OctahedronGeometry.prototype = Object.create( Geometry.prototype ); OctahedronGeometry.prototype.constructor = OctahedronGeometry; // OctahedronBufferGeometry function OctahedronBufferGeometry( radius, detail ) { var vertices = [ 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, - 1 ]; var indices = [ 0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4, 2 ]; PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); this.type = 'OctahedronBufferGeometry'; this.parameters = { radius: radius, detail: detail }; } OctahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); OctahedronBufferGeometry.prototype.constructor = OctahedronBufferGeometry; /** * @author timothypratley / https://github.com/timothypratley * @author Mugen87 / https://github.com/Mugen87 */ // IcosahedronGeometry function IcosahedronGeometry( radius, detail ) { Geometry.call( this ); this.type = 'IcosahedronGeometry'; this.parameters = { radius: radius, detail: detail }; this.fromBufferGeometry( new IcosahedronBufferGeometry( radius, detail ) ); this.mergeVertices(); } IcosahedronGeometry.prototype = Object.create( Geometry.prototype ); IcosahedronGeometry.prototype.constructor = IcosahedronGeometry; // IcosahedronBufferGeometry function IcosahedronBufferGeometry( radius, detail ) { var t = ( 1 + Math.sqrt( 5 ) ) / 2; var vertices = [ - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, 0, 0, - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, t, 0, - 1, t, 0, 1, - t, 0, - 1, - t, 0, 1 ]; var indices = [ 0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1 ]; PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); this.type = 'IcosahedronBufferGeometry'; this.parameters = { radius: radius, detail: detail }; } IcosahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); IcosahedronBufferGeometry.prototype.constructor = IcosahedronBufferGeometry; /** * @author Abe Pazos / https://hamoid.com * @author Mugen87 / https://github.com/Mugen87 */ // DodecahedronGeometry function DodecahedronGeometry( radius, detail ) { Geometry.call( this ); this.type = 'DodecahedronGeometry'; this.parameters = { radius: radius, detail: detail }; this.fromBufferGeometry( new DodecahedronBufferGeometry( radius, detail ) ); this.mergeVertices(); } DodecahedronGeometry.prototype = Object.create( Geometry.prototype ); DodecahedronGeometry.prototype.constructor = DodecahedronGeometry; // DodecahedronBufferGeometry function DodecahedronBufferGeometry( radius, detail ) { var t = ( 1 + Math.sqrt( 5 ) ) / 2; var r = 1 / t; var vertices = [ // (±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, // (0, ±1/φ, ±φ) 0, - r, - t, 0, - r, t, 0, r, - t, 0, r, t, // (±1/φ, ±φ, 0) - r, - t, 0, - r, t, 0, r, - t, 0, r, t, 0, // (±φ, 0, ±1/φ) - t, 0, - r, t, 0, - r, - t, 0, r, t, 0, r ]; var indices = [ 3, 11, 7, 3, 7, 15, 3, 15, 13, 7, 19, 17, 7, 17, 6, 7, 6, 15, 17, 4, 8, 17, 8, 10, 17, 10, 6, 8, 0, 16, 8, 16, 2, 8, 2, 10, 0, 12, 1, 0, 1, 18, 0, 18, 16, 6, 10, 2, 6, 2, 13, 6, 13, 15, 2, 16, 18, 2, 18, 3, 2, 3, 13, 18, 1, 9, 18, 9, 11, 18, 11, 3, 4, 14, 12, 4, 12, 0, 4, 0, 8, 11, 9, 5, 11, 5, 19, 11, 19, 7, 19, 5, 14, 19, 14, 4, 19, 4, 17, 1, 12, 14, 1, 14, 5, 1, 5, 9 ]; PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); this.type = 'DodecahedronBufferGeometry'; this.parameters = { radius: radius, detail: detail }; } DodecahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); DodecahedronBufferGeometry.prototype.constructor = DodecahedronBufferGeometry; /** * @author oosmoxiecode / https://github.com/oosmoxiecode * @author WestLangley / https://github.com/WestLangley * @author zz85 / https://github.com/zz85 * @author miningold / https://github.com/miningold * @author jonobr1 / https://github.com/jonobr1 * @author Mugen87 / https://github.com/Mugen87 * */ // TubeGeometry function TubeGeometry( path, tubularSegments, radius, radialSegments, closed, taper ) { Geometry.call( this ); this.type = 'TubeGeometry'; this.parameters = { path: path, tubularSegments: tubularSegments, radius: radius, radialSegments: radialSegments, closed: closed }; if ( taper !== undefined ) console.warn( 'THREE.TubeGeometry: taper has been removed.' ); var bufferGeometry = new TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ); // expose internals this.tangents = bufferGeometry.tangents; this.normals = bufferGeometry.normals; this.binormals = bufferGeometry.binormals; // create geometry this.fromBufferGeometry( bufferGeometry ); this.mergeVertices(); } TubeGeometry.prototype = Object.create( Geometry.prototype ); TubeGeometry.prototype.constructor = TubeGeometry; // TubeBufferGeometry function TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ) { BufferGeometry.call( this ); this.type = 'TubeBufferGeometry'; this.parameters = { path: path, tubularSegments: tubularSegments, radius: radius, radialSegments: radialSegments, closed: closed }; tubularSegments = tubularSegments || 64; radius = radius || 1; radialSegments = radialSegments || 8; closed = closed || false; var frames = path.computeFrenetFrames( tubularSegments, closed ); // expose internals this.tangents = frames.tangents; this.normals = frames.normals; this.binormals = frames.binormals; // helper variables var vertex = new Vector3(); var normal = new Vector3(); var uv = new Vector2(); var i, j; // buffer var vertices = []; var normals = []; var uvs = []; var indices = []; // create buffer data generateBufferData(); // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); // functions function generateBufferData() { for ( i = 0; i < tubularSegments; i ++ ) { generateSegment( i ); } // if the geometry is not closed, generate the last row of vertices and normals // at the regular position on the given path // // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ) generateSegment( ( closed === false ) ? tubularSegments : 0 ); // uvs are generated in a separate function. // this makes it easy compute correct values for closed geometries generateUVs(); // finally create faces generateIndices(); } function generateSegment( i ) { // we use getPointAt to sample evenly distributed points from the given path var P = path.getPointAt( i / tubularSegments ); // retrieve corresponding normal and binormal var N = frames.normals[ i ]; var B = frames.binormals[ i ]; // generate normals and vertices for the current segment for ( j = 0; j <= radialSegments; j ++ ) { var v = j / radialSegments * Math.PI * 2; var sin = Math.sin( v ); var cos = - Math.cos( v ); // normal normal.x = ( cos * N.x + sin * B.x ); normal.y = ( cos * N.y + sin * B.y ); normal.z = ( cos * N.z + sin * B.z ); normal.normalize(); normals.push( normal.x, normal.y, normal.z ); // vertex vertex.x = P.x + radius * normal.x; vertex.y = P.y + radius * normal.y; vertex.z = P.z + radius * normal.z; vertices.push( vertex.x, vertex.y, vertex.z ); } } function generateIndices() { for ( j = 1; j <= tubularSegments; j ++ ) { for ( i = 1; i <= radialSegments; i ++ ) { var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); var b = ( radialSegments + 1 ) * j + ( i - 1 ); var c = ( radialSegments + 1 ) * j + i; var d = ( radialSegments + 1 ) * ( j - 1 ) + i; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } } function generateUVs() { for ( i = 0; i <= tubularSegments; i ++ ) { for ( j = 0; j <= radialSegments; j ++ ) { uv.x = i / tubularSegments; uv.y = j / radialSegments; uvs.push( uv.x, uv.y ); } } } } TubeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); TubeBufferGeometry.prototype.constructor = TubeBufferGeometry; /** * @author oosmoxiecode * @author Mugen87 / https://github.com/Mugen87 * * based on http://www.blackpawn.com/texts/pqtorus/ */ // TorusKnotGeometry function TorusKnotGeometry( radius, tube, tubularSegments, radialSegments, p, q, heightScale ) { Geometry.call( this ); this.type = 'TorusKnotGeometry'; this.parameters = { radius: radius, tube: tube, tubularSegments: tubularSegments, radialSegments: radialSegments, p: p, q: q }; if ( heightScale !== undefined ) console.warn( 'THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.' ); this.fromBufferGeometry( new TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) ); this.mergeVertices(); } TorusKnotGeometry.prototype = Object.create( Geometry.prototype ); TorusKnotGeometry.prototype.constructor = TorusKnotGeometry; // TorusKnotBufferGeometry function TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) { BufferGeometry.call( this ); this.type = 'TorusKnotBufferGeometry'; this.parameters = { radius: radius, tube: tube, tubularSegments: tubularSegments, radialSegments: radialSegments, p: p, q: q }; radius = radius || 100; tube = tube || 40; tubularSegments = Math.floor( tubularSegments ) || 64; radialSegments = Math.floor( radialSegments ) || 8; p = p || 2; q = q || 3; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var i, j; var vertex = new Vector3(); var normal = new Vector3(); var P1 = new Vector3(); var P2 = new Vector3(); var B = new Vector3(); var T = new Vector3(); var N = new Vector3(); // generate vertices, normals and uvs for ( i = 0; i <= tubularSegments; ++ i ) { // the radian "u" is used to calculate the position on the torus curve of the current tubular segement var u = i / tubularSegments * p * Math.PI * 2; // now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead. // these points are used to create a special "coordinate space", which is necessary to calculate the correct vertex positions calculatePositionOnCurve( u, p, q, radius, P1 ); calculatePositionOnCurve( u + 0.01, p, q, radius, P2 ); // calculate orthonormal basis T.subVectors( P2, P1 ); N.addVectors( P2, P1 ); B.crossVectors( T, N ); N.crossVectors( B, T ); // normalize B, N. T can be ignored, we don't use it B.normalize(); N.normalize(); for ( j = 0; j <= radialSegments; ++ j ) { // now calculate the vertices. they are nothing more than an extrusion of the torus curve. // because we extrude a shape in the xy-plane, there is no need to calculate a z-value. var v = j / radialSegments * Math.PI * 2; var cx = - tube * Math.cos( v ); var cy = tube * Math.sin( v ); // now calculate the final vertex position. // first we orient the extrusion with our basis vectos, then we add it to the current position on the curve vertex.x = P1.x + ( cx * N.x + cy * B.x ); vertex.y = P1.y + ( cx * N.y + cy * B.y ); vertex.z = P1.z + ( cx * N.z + cy * B.z ); vertices.push( vertex.x, vertex.y, vertex.z ); // normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal) normal.subVectors( vertex, P1 ).normalize(); normals.push( normal.x, normal.y, normal.z ); // uv uvs.push( i / tubularSegments ); uvs.push( j / radialSegments ); } } // generate indices for ( j = 1; j <= tubularSegments; j ++ ) { for ( i = 1; i <= radialSegments; i ++ ) { // indices var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); var b = ( radialSegments + 1 ) * j + ( i - 1 ); var c = ( radialSegments + 1 ) * j + i; var d = ( radialSegments + 1 ) * ( j - 1 ) + i; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); // this function calculates the current position on the torus curve function calculatePositionOnCurve( u, p, q, radius, position ) { var cu = Math.cos( u ); var su = Math.sin( u ); var quOverP = q / p * u; var cs = Math.cos( quOverP ); position.x = radius * ( 2 + cs ) * 0.5 * cu; position.y = radius * ( 2 + cs ) * su * 0.5; position.z = radius * Math.sin( quOverP ) * 0.5; } } TorusKnotBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); TorusKnotBufferGeometry.prototype.constructor = TorusKnotBufferGeometry; /** * @author oosmoxiecode * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ // TorusGeometry function TorusGeometry( radius, tube, radialSegments, tubularSegments, arc ) { Geometry.call( this ); this.type = 'TorusGeometry'; this.parameters = { radius: radius, tube: tube, radialSegments: radialSegments, tubularSegments: tubularSegments, arc: arc }; this.fromBufferGeometry( new TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) ); this.mergeVertices(); } TorusGeometry.prototype = Object.create( Geometry.prototype ); TorusGeometry.prototype.constructor = TorusGeometry; // TorusBufferGeometry function TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) { BufferGeometry.call( this ); this.type = 'TorusBufferGeometry'; this.parameters = { radius: radius, tube: tube, radialSegments: radialSegments, tubularSegments: tubularSegments, arc: arc }; radius = radius || 100; tube = tube || 40; radialSegments = Math.floor( radialSegments ) || 8; tubularSegments = Math.floor( tubularSegments ) || 6; arc = arc || Math.PI * 2; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var center = new Vector3(); var vertex = new Vector3(); var normal = new Vector3(); var j, i; // generate vertices, normals and uvs for ( j = 0; j <= radialSegments; j ++ ) { for ( i = 0; i <= tubularSegments; i ++ ) { var u = i / tubularSegments * arc; var v = j / radialSegments * Math.PI * 2; // vertex vertex.x = ( radius + tube * Math.cos( v ) ) * Math.cos( u ); vertex.y = ( radius + tube * Math.cos( v ) ) * Math.sin( u ); vertex.z = tube * Math.sin( v ); vertices.push( vertex.x, vertex.y, vertex.z ); // normal center.x = radius * Math.cos( u ); center.y = radius * Math.sin( u ); normal.subVectors( vertex, center ).normalize(); normals.push( normal.x, normal.y, normal.z ); // uv uvs.push( i / tubularSegments ); uvs.push( j / radialSegments ); } } // generate indices for ( j = 1; j <= radialSegments; j ++ ) { for ( i = 1; i <= tubularSegments; i ++ ) { // indices var a = ( tubularSegments + 1 ) * j + i - 1; var b = ( tubularSegments + 1 ) * ( j - 1 ) + i - 1; var c = ( tubularSegments + 1 ) * ( j - 1 ) + i; var d = ( tubularSegments + 1 ) * j + i; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } TorusBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); TorusBufferGeometry.prototype.constructor = TorusBufferGeometry; /** * @author zz85 / http://www.lab4games.net/zz85/blog */ var ShapeUtils = { // calculate area of the contour polygon area: function ( contour ) { var n = contour.length; var a = 0.0; for ( var p = n - 1, q = 0; q < n; p = q ++ ) { a += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y; } return a * 0.5; }, triangulate: ( function () { /** * This code is a quick port of code written in C++ which was submitted to * flipcode.com by John W. Ratcliff // July 22, 2000 * See original code and more information here: * http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml * * ported to actionscript by Zevan Rosser * www.actionsnippet.com * * ported to javascript by Joshua Koo * http://www.lab4games.net/zz85/blog * */ function snip( contour, u, v, w, n, verts ) { var p; var ax, ay, bx, by; var cx, cy, px, py; ax = contour[ verts[ u ] ].x; ay = contour[ verts[ u ] ].y; bx = contour[ verts[ v ] ].x; by = contour[ verts[ v ] ].y; cx = contour[ verts[ w ] ].x; cy = contour[ verts[ w ] ].y; if ( ( bx - ax ) * ( cy - ay ) - ( by - ay ) * ( cx - ax ) <= 0 ) return false; var aX, aY, bX, bY, cX, cY; var apx, apy, bpx, bpy, cpx, cpy; var cCROSSap, bCROSScp, aCROSSbp; aX = cx - bx; aY = cy - by; bX = ax - cx; bY = ay - cy; cX = bx - ax; cY = by - ay; for ( p = 0; p < n; p ++ ) { px = contour[ verts[ p ] ].x; py = contour[ verts[ p ] ].y; if ( ( ( px === ax ) && ( py === ay ) ) || ( ( px === bx ) && ( py === by ) ) || ( ( px === cx ) && ( py === cy ) ) ) continue; apx = px - ax; apy = py - ay; bpx = px - bx; bpy = py - by; cpx = px - cx; cpy = py - cy; // see if p is inside triangle abc aCROSSbp = aX * bpy - aY * bpx; cCROSSap = cX * apy - cY * apx; bCROSScp = bX * cpy - bY * cpx; if ( ( aCROSSbp >= - Number.EPSILON ) && ( bCROSScp >= - Number.EPSILON ) && ( cCROSSap >= - Number.EPSILON ) ) return false; } return true; } // takes in an contour array and returns return function triangulate( contour, indices ) { var n = contour.length; if ( n < 3 ) return null; var result = [], verts = [], vertIndices = []; /* we want a counter-clockwise polygon in verts */ var u, v, w; if ( ShapeUtils.area( contour ) > 0.0 ) { for ( v = 0; v < n; v ++ ) verts[ v ] = v; } else { for ( v = 0; v < n; v ++ ) verts[ v ] = ( n - 1 ) - v; } var nv = n; /* remove nv - 2 vertices, creating 1 triangle every time */ var count = 2 * nv; /* error detection */ for ( v = nv - 1; nv > 2; ) { /* if we loop, it is probably a non-simple polygon */ if ( ( count -- ) <= 0 ) { //** Triangulate: ERROR - probable bad polygon! //throw ( "Warning, unable to triangulate polygon!" ); //return null; // Sometimes warning is fine, especially polygons are triangulated in reverse. console.warn( 'THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()' ); if ( indices ) return vertIndices; return result; } /* three consecutive vertices in current polygon, */ u = v; if ( nv <= u ) u = 0; /* previous */ v = u + 1; if ( nv <= v ) v = 0; /* new v */ w = v + 1; if ( nv <= w ) w = 0; /* next */ if ( snip( contour, u, v, w, nv, verts ) ) { var a, b, c, s, t; /* true names of the vertices */ a = verts[ u ]; b = verts[ v ]; c = verts[ w ]; /* output Triangle */ result.push( [ contour[ a ], contour[ b ], contour[ c ] ] ); vertIndices.push( [ verts[ u ], verts[ v ], verts[ w ] ] ); /* remove v from the remaining polygon */ for ( s = v, t = v + 1; t < nv; s ++, t ++ ) { verts[ s ] = verts[ t ]; } nv --; /* reset error detection counter */ count = 2 * nv; } } if ( indices ) return vertIndices; return result; } } )(), triangulateShape: function ( contour, holes ) { function removeDupEndPts(points) { var l = points.length; if ( l > 2 && points[ l - 1 ].equals( points[ 0 ] ) ) { points.pop(); } } removeDupEndPts( contour ); holes.forEach( removeDupEndPts ); function point_in_segment_2D_colin( inSegPt1, inSegPt2, inOtherPt ) { // inOtherPt needs to be collinear to the inSegment if ( inSegPt1.x !== inSegPt2.x ) { if ( inSegPt1.x < inSegPt2.x ) { return ( ( inSegPt1.x <= inOtherPt.x ) && ( inOtherPt.x <= inSegPt2.x ) ); } else { return ( ( inSegPt2.x <= inOtherPt.x ) && ( inOtherPt.x <= inSegPt1.x ) ); } } else { if ( inSegPt1.y < inSegPt2.y ) { return ( ( inSegPt1.y <= inOtherPt.y ) && ( inOtherPt.y <= inSegPt2.y ) ); } else { return ( ( inSegPt2.y <= inOtherPt.y ) && ( inOtherPt.y <= inSegPt1.y ) ); } } } function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2Pt2, inExcludeAdjacentSegs ) { var seg1dx = inSeg1Pt2.x - inSeg1Pt1.x, seg1dy = inSeg1Pt2.y - inSeg1Pt1.y; var seg2dx = inSeg2Pt2.x - inSeg2Pt1.x, seg2dy = inSeg2Pt2.y - inSeg2Pt1.y; var seg1seg2dx = inSeg1Pt1.x - inSeg2Pt1.x; var seg1seg2dy = inSeg1Pt1.y - inSeg2Pt1.y; var limit = seg1dy * seg2dx - seg1dx * seg2dy; var perpSeg1 = seg1dy * seg1seg2dx - seg1dx * seg1seg2dy; if ( Math.abs( limit ) > Number.EPSILON ) { // not parallel var perpSeg2; if ( limit > 0 ) { if ( ( perpSeg1 < 0 ) || ( perpSeg1 > limit ) ) return []; perpSeg2 = seg2dy * seg1seg2dx - seg2dx * seg1seg2dy; if ( ( perpSeg2 < 0 ) || ( perpSeg2 > limit ) ) return []; } else { if ( ( perpSeg1 > 0 ) || ( perpSeg1 < limit ) ) return []; perpSeg2 = seg2dy * seg1seg2dx - seg2dx * seg1seg2dy; if ( ( perpSeg2 > 0 ) || ( perpSeg2 < limit ) ) return []; } // i.e. to reduce rounding errors // intersection at endpoint of segment#1? if ( perpSeg2 === 0 ) { if ( ( inExcludeAdjacentSegs ) && ( ( perpSeg1 === 0 ) || ( perpSeg1 === limit ) ) ) return []; return [ inSeg1Pt1 ]; } if ( perpSeg2 === limit ) { if ( ( inExcludeAdjacentSegs ) && ( ( perpSeg1 === 0 ) || ( perpSeg1 === limit ) ) ) return []; return [ inSeg1Pt2 ]; } // intersection at endpoint of segment#2? if ( perpSeg1 === 0 ) return [ inSeg2Pt1 ]; if ( perpSeg1 === limit ) return [ inSeg2Pt2 ]; // return real intersection point var factorSeg1 = perpSeg2 / limit; return [ { x: inSeg1Pt1.x + factorSeg1 * seg1dx, y: inSeg1Pt1.y + factorSeg1 * seg1dy } ]; } else { // parallel or collinear if ( ( perpSeg1 !== 0 ) || ( seg2dy * seg1seg2dx !== seg2dx * seg1seg2dy ) ) return []; // they are collinear or degenerate var seg1Pt = ( ( seg1dx === 0 ) && ( seg1dy === 0 ) ); // segment1 is just a point? var seg2Pt = ( ( seg2dx === 0 ) && ( seg2dy === 0 ) ); // segment2 is just a point? // both segments are points if ( seg1Pt && seg2Pt ) { if ( ( inSeg1Pt1.x !== inSeg2Pt1.x ) || ( inSeg1Pt1.y !== inSeg2Pt1.y ) ) return []; // they are distinct points return [ inSeg1Pt1 ]; // they are the same point } // segment#1 is a single point if ( seg1Pt ) { if ( ! point_in_segment_2D_colin( inSeg2Pt1, inSeg2Pt2, inSeg1Pt1 ) ) return []; // but not in segment#2 return [ inSeg1Pt1 ]; } // segment#2 is a single point if ( seg2Pt ) { if ( ! point_in_segment_2D_colin( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1 ) ) return []; // but not in segment#1 return [ inSeg2Pt1 ]; } // they are collinear segments, which might overlap var seg1min, seg1max, seg1minVal, seg1maxVal; var seg2min, seg2max, seg2minVal, seg2maxVal; if ( seg1dx !== 0 ) { // the segments are NOT on a vertical line if ( inSeg1Pt1.x < inSeg1Pt2.x ) { seg1min = inSeg1Pt1; seg1minVal = inSeg1Pt1.x; seg1max = inSeg1Pt2; seg1maxVal = inSeg1Pt2.x; } else { seg1min = inSeg1Pt2; seg1minVal = inSeg1Pt2.x; seg1max = inSeg1Pt1; seg1maxVal = inSeg1Pt1.x; } if ( inSeg2Pt1.x < inSeg2Pt2.x ) { seg2min = inSeg2Pt1; seg2minVal = inSeg2Pt1.x; seg2max = inSeg2Pt2; seg2maxVal = inSeg2Pt2.x; } else { seg2min = inSeg2Pt2; seg2minVal = inSeg2Pt2.x; seg2max = inSeg2Pt1; seg2maxVal = inSeg2Pt1.x; } } else { // the segments are on a vertical line if ( inSeg1Pt1.y < inSeg1Pt2.y ) { seg1min = inSeg1Pt1; seg1minVal = inSeg1Pt1.y; seg1max = inSeg1Pt2; seg1maxVal = inSeg1Pt2.y; } else { seg1min = inSeg1Pt2; seg1minVal = inSeg1Pt2.y; seg1max = inSeg1Pt1; seg1maxVal = inSeg1Pt1.y; } if ( inSeg2Pt1.y < inSeg2Pt2.y ) { seg2min = inSeg2Pt1; seg2minVal = inSeg2Pt1.y; seg2max = inSeg2Pt2; seg2maxVal = inSeg2Pt2.y; } else { seg2min = inSeg2Pt2; seg2minVal = inSeg2Pt2.y; seg2max = inSeg2Pt1; seg2maxVal = inSeg2Pt1.y; } } if ( seg1minVal <= seg2minVal ) { if ( seg1maxVal < seg2minVal ) return []; if ( seg1maxVal === seg2minVal ) { if ( inExcludeAdjacentSegs ) return []; return [ seg2min ]; } if ( seg1maxVal <= seg2maxVal ) return [ seg2min, seg1max ]; return [ seg2min, seg2max ]; } else { if ( seg1minVal > seg2maxVal ) return []; if ( seg1minVal === seg2maxVal ) { if ( inExcludeAdjacentSegs ) return []; return [ seg1min ]; } if ( seg1maxVal <= seg2maxVal ) return [ seg1min, seg1max ]; return [ seg1min, seg2max ]; } } } function isPointInsideAngle( inVertex, inLegFromPt, inLegToPt, inOtherPt ) { // The order of legs is important // translation of all points, so that Vertex is at (0,0) var legFromPtX = inLegFromPt.x - inVertex.x, legFromPtY = inLegFromPt.y - inVertex.y; var legToPtX = inLegToPt.x - inVertex.x, legToPtY = inLegToPt.y - inVertex.y; var otherPtX = inOtherPt.x - inVertex.x, otherPtY = inOtherPt.y - inVertex.y; // main angle >0: < 180 deg.; 0: 180 deg.; <0: > 180 deg. var from2toAngle = legFromPtX * legToPtY - legFromPtY * legToPtX; var from2otherAngle = legFromPtX * otherPtY - legFromPtY * otherPtX; if ( Math.abs( from2toAngle ) > Number.EPSILON ) { // angle != 180 deg. var other2toAngle = otherPtX * legToPtY - otherPtY * legToPtX; // console.log( "from2to: " + from2toAngle + ", from2other: " + from2otherAngle + ", other2to: " + other2toAngle ); if ( from2toAngle > 0 ) { // main angle < 180 deg. return ( ( from2otherAngle >= 0 ) && ( other2toAngle >= 0 ) ); } else { // main angle > 180 deg. return ( ( from2otherAngle >= 0 ) || ( other2toAngle >= 0 ) ); } } else { // angle == 180 deg. // console.log( "from2to: 180 deg., from2other: " + from2otherAngle ); return ( from2otherAngle > 0 ); } } function removeHoles( contour, holes ) { var shape = contour.concat(); // work on this shape var hole; function isCutLineInsideAngles( inShapeIdx, inHoleIdx ) { // Check if hole point lies within angle around shape point var lastShapeIdx = shape.length - 1; var prevShapeIdx = inShapeIdx - 1; if ( prevShapeIdx < 0 ) prevShapeIdx = lastShapeIdx; var nextShapeIdx = inShapeIdx + 1; if ( nextShapeIdx > lastShapeIdx ) nextShapeIdx = 0; var insideAngle = isPointInsideAngle( shape[ inShapeIdx ], shape[ prevShapeIdx ], shape[ nextShapeIdx ], hole[ inHoleIdx ] ); if ( ! insideAngle ) { // console.log( "Vertex (Shape): " + inShapeIdx + ", Point: " + hole[inHoleIdx].x + "/" + hole[inHoleIdx].y ); return false; } // Check if shape point lies within angle around hole point var lastHoleIdx = hole.length - 1; var prevHoleIdx = inHoleIdx - 1; if ( prevHoleIdx < 0 ) prevHoleIdx = lastHoleIdx; var nextHoleIdx = inHoleIdx + 1; if ( nextHoleIdx > lastHoleIdx ) nextHoleIdx = 0; insideAngle = isPointInsideAngle( hole[ inHoleIdx ], hole[ prevHoleIdx ], hole[ nextHoleIdx ], shape[ inShapeIdx ] ); if ( ! insideAngle ) { // console.log( "Vertex (Hole): " + inHoleIdx + ", Point: " + shape[inShapeIdx].x + "/" + shape[inShapeIdx].y ); return false; } return true; } function intersectsShapeEdge( inShapePt, inHolePt ) { // checks for intersections with shape edges var sIdx, nextIdx, intersection; for ( sIdx = 0; sIdx < shape.length; sIdx ++ ) { nextIdx = sIdx + 1; nextIdx %= shape.length; intersection = intersect_segments_2D( inShapePt, inHolePt, shape[ sIdx ], shape[ nextIdx ], true ); if ( intersection.length > 0 ) return true; } return false; } var indepHoles = []; function intersectsHoleEdge( inShapePt, inHolePt ) { // checks for intersections with hole edges var ihIdx, chkHole, hIdx, nextIdx, intersection; for ( ihIdx = 0; ihIdx < indepHoles.length; ihIdx ++ ) { chkHole = holes[ indepHoles[ ihIdx ]]; for ( hIdx = 0; hIdx < chkHole.length; hIdx ++ ) { nextIdx = hIdx + 1; nextIdx %= chkHole.length; intersection = intersect_segments_2D( inShapePt, inHolePt, chkHole[ hIdx ], chkHole[ nextIdx ], true ); if ( intersection.length > 0 ) return true; } } return false; } var holeIndex, shapeIndex, shapePt, holePt, holeIdx, cutKey, failedCuts = [], tmpShape1, tmpShape2, tmpHole1, tmpHole2; for ( var h = 0, hl = holes.length; h < hl; h ++ ) { indepHoles.push( h ); } var minShapeIndex = 0; var counter = indepHoles.length * 2; while ( indepHoles.length > 0 ) { counter --; if ( counter < 0 ) { console.log( "Infinite Loop! Holes left:" + indepHoles.length + ", Probably Hole outside Shape!" ); break; } // search for shape-vertex and hole-vertex, // which can be connected without intersections for ( shapeIndex = minShapeIndex; shapeIndex < shape.length; shapeIndex ++ ) { shapePt = shape[ shapeIndex ]; holeIndex = - 1; // search for hole which can be reached without intersections for ( var h = 0; h < indepHoles.length; h ++ ) { holeIdx = indepHoles[ h ]; // prevent multiple checks cutKey = shapePt.x + ":" + shapePt.y + ":" + holeIdx; if ( failedCuts[ cutKey ] !== undefined ) continue; hole = holes[ holeIdx ]; for ( var h2 = 0; h2 < hole.length; h2 ++ ) { holePt = hole[ h2 ]; if ( ! isCutLineInsideAngles( shapeIndex, h2 ) ) continue; if ( intersectsShapeEdge( shapePt, holePt ) ) continue; if ( intersectsHoleEdge( shapePt, holePt ) ) continue; holeIndex = h2; indepHoles.splice( h, 1 ); tmpShape1 = shape.slice( 0, shapeIndex + 1 ); tmpShape2 = shape.slice( shapeIndex ); tmpHole1 = hole.slice( holeIndex ); tmpHole2 = hole.slice( 0, holeIndex + 1 ); shape = tmpShape1.concat( tmpHole1 ).concat( tmpHole2 ).concat( tmpShape2 ); minShapeIndex = shapeIndex; // Debug only, to show the selected cuts // glob_CutLines.push( [ shapePt, holePt ] ); break; } if ( holeIndex >= 0 ) break; // hole-vertex found failedCuts[ cutKey ] = true; // remember failure } if ( holeIndex >= 0 ) break; // hole-vertex found } } return shape; /* shape with no holes */ } var i, il, f, face, key, index, allPointsMap = {}; // To maintain reference to old shape, one must match coordinates, or offset the indices from original arrays. It's probably easier to do the first. var allpoints = contour.concat(); for ( var h = 0, hl = holes.length; h < hl; h ++ ) { Array.prototype.push.apply( allpoints, holes[ h ] ); } //console.log( "allpoints",allpoints, allpoints.length ); // prepare all points map for ( i = 0, il = allpoints.length; i < il; i ++ ) { key = allpoints[ i ].x + ":" + allpoints[ i ].y; if ( allPointsMap[ key ] !== undefined ) { console.warn( "THREE.ShapeUtils: Duplicate point", key, i ); } allPointsMap[ key ] = i; } // remove holes by cutting paths to holes and adding them to the shape var shapeWithoutHoles = removeHoles( contour, holes ); var triangles = ShapeUtils.triangulate( shapeWithoutHoles, false ); // True returns indices for points of spooled shape //console.log( "triangles",triangles, triangles.length ); // check all face vertices against all points map for ( i = 0, il = triangles.length; i < il; i ++ ) { face = triangles[ i ]; for ( f = 0; f < 3; f ++ ) { key = face[ f ].x + ":" + face[ f ].y; index = allPointsMap[ key ]; if ( index !== undefined ) { face[ f ] = index; } } } return triangles.concat(); }, isClockWise: function ( pts ) { return ShapeUtils.area( pts ) < 0; } }; /** * @author zz85 / http://www.lab4games.net/zz85/blog * * Creates extruded geometry from a path shape. * * parameters = { * * curveSegments: , // number of points on the curves * steps: , // number of points for z-side extrusions / used for subdividing segments of extrude spline too * amount: , // Depth to extrude the shape * * bevelEnabled: , // turn on bevel * bevelThickness: , // how deep into the original shape bevel goes * bevelSize: , // how far from shape outline is bevel * bevelSegments: , // number of bevel layers * * extrudePath: // curve to extrude shape along * frames: // containing arrays of tangents, normals, binormals * * UVGenerator: // object that provides UV generator functions * * } */ // ExtrudeGeometry function ExtrudeGeometry( shapes, options ) { Geometry.call( this ); this.type = 'ExtrudeGeometry'; this.parameters = { shapes: shapes, options: options }; this.fromBufferGeometry( new ExtrudeBufferGeometry( shapes, options ) ); this.mergeVertices(); } ExtrudeGeometry.prototype = Object.create( Geometry.prototype ); ExtrudeGeometry.prototype.constructor = ExtrudeGeometry; // ExtrudeBufferGeometry function ExtrudeBufferGeometry( shapes, options ) { if ( typeof ( shapes ) === "undefined" ) { return; } BufferGeometry.call( this ); this.type = 'ExtrudeBufferGeometry'; shapes = Array.isArray( shapes ) ? shapes : [ shapes ]; this.addShapeList( shapes, options ); this.computeVertexNormals(); // can't really use automatic vertex normals // as then front and back sides get smoothed too // should do separate smoothing just for sides //this.computeVertexNormals(); //console.log( "took", ( Date.now() - startTime ) ); } ExtrudeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); ExtrudeBufferGeometry.prototype.constructor = ExtrudeBufferGeometry; ExtrudeBufferGeometry.prototype.getArrays = function () { var positionAttribute = this.getAttribute( "position" ); var verticesArray = positionAttribute ? Array.prototype.slice.call( positionAttribute.array ) : []; var uvAttribute = this.getAttribute( "uv" ); var uvArray = uvAttribute ? Array.prototype.slice.call( uvAttribute.array ) : []; var IndexAttribute = this.index; var indicesArray = IndexAttribute ? Array.prototype.slice.call( IndexAttribute.array ) : []; return { position: verticesArray, uv: uvArray, index: indicesArray }; }; ExtrudeBufferGeometry.prototype.addShapeList = function ( shapes, options ) { var sl = shapes.length; options.arrays = this.getArrays(); for ( var s = 0; s < sl; s ++ ) { var shape = shapes[ s ]; this.addShape( shape, options ); } this.setIndex( options.arrays.index ); this.addAttribute( 'position', new Float32BufferAttribute( options.arrays.position, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) ); }; ExtrudeBufferGeometry.prototype.addShape = function ( shape, options ) { var arrays = options.arrays ? options.arrays : this.getArrays(); var verticesArray = arrays.position; var indicesArray = arrays.index; var uvArray = arrays.uv; var placeholder = []; var amount = options.amount !== undefined ? options.amount : 100; var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6; // 10 var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2; // 8 var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3; var bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; // false var curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12; var steps = options.steps !== undefined ? options.steps : 1; var extrudePath = options.extrudePath; var extrudePts, extrudeByPath = false; // Use default WorldUVGenerator if no UV generators are specified. var uvgen = options.UVGenerator !== undefined ? options.UVGenerator : ExtrudeGeometry.WorldUVGenerator; var splineTube, binormal, normal, position2; if ( extrudePath ) { extrudePts = extrudePath.getSpacedPoints( steps ); extrudeByPath = true; bevelEnabled = false; // bevels not supported for path extrusion // SETUP TNB variables // TODO1 - have a .isClosed in spline? splineTube = options.frames !== undefined ? options.frames : extrudePath.computeFrenetFrames( steps, false ); // console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length); binormal = new Vector3(); normal = new Vector3(); position2 = new Vector3(); } // Safeguards if bevels are not enabled if ( ! bevelEnabled ) { bevelSegments = 0; bevelThickness = 0; bevelSize = 0; } // Variables initialization var ahole, h, hl; // looping of holes var scope = this; var shapePoints = shape.extractPoints( curveSegments ); var vertices = shapePoints.shape; var holes = shapePoints.holes; var reverse = ! ShapeUtils.isClockWise( vertices ); if ( reverse ) { vertices = vertices.reverse(); // Maybe we should also check if holes are in the opposite direction, just to be safe ... for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; if ( ShapeUtils.isClockWise( ahole ) ) { holes[ h ] = ahole.reverse(); } } } var faces = ShapeUtils.triangulateShape( vertices, holes ); /* Vertices */ var contour = vertices; // vertices has all points but contour has only points of circumference for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; vertices = vertices.concat( ahole ); } function scalePt2( pt, vec, size ) { if ( ! vec ) console.error( "THREE.ExtrudeGeometry: vec does not exist" ); return vec.clone().multiplyScalar( size ).add( pt ); } var b, bs, t, z, vert, vlen = vertices.length, face, flen = faces.length; // Find directions for point movement function getBevelVec( inPt, inPrev, inNext ) { // computes for inPt the corresponding point inPt' on a new contour // shifted by 1 unit (length of normalized vector) to the left // if we walk along contour clockwise, this new contour is outside the old one // // inPt' is the intersection of the two lines parallel to the two // adjacent edges of inPt at a distance of 1 unit on the left side. var v_trans_x, v_trans_y, shrink_by; // resulting translation vector for inPt // good reading for geometry algorithms (here: line-line intersection) // http://geomalgorithms.com/a05-_intersect-1.html var v_prev_x = inPt.x - inPrev.x, v_prev_y = inPt.y - inPrev.y; var v_next_x = inNext.x - inPt.x, v_next_y = inNext.y - inPt.y; var v_prev_lensq = ( v_prev_x * v_prev_x + v_prev_y * v_prev_y ); // check for collinear edges var collinear0 = ( v_prev_x * v_next_y - v_prev_y * v_next_x ); if ( Math.abs( collinear0 ) > Number.EPSILON ) { // not collinear // length of vectors for normalizing var v_prev_len = Math.sqrt( v_prev_lensq ); var v_next_len = Math.sqrt( v_next_x * v_next_x + v_next_y * v_next_y ); // shift adjacent points by unit vectors to the left var ptPrevShift_x = ( inPrev.x - v_prev_y / v_prev_len ); var ptPrevShift_y = ( inPrev.y + v_prev_x / v_prev_len ); var ptNextShift_x = ( inNext.x - v_next_y / v_next_len ); var ptNextShift_y = ( inNext.y + v_next_x / v_next_len ); // scaling factor for v_prev to intersection point var sf = ( ( ptNextShift_x - ptPrevShift_x ) * v_next_y - ( ptNextShift_y - ptPrevShift_y ) * v_next_x ) / ( v_prev_x * v_next_y - v_prev_y * v_next_x ); // vector from inPt to intersection point v_trans_x = ( ptPrevShift_x + v_prev_x * sf - inPt.x ); v_trans_y = ( ptPrevShift_y + v_prev_y * sf - inPt.y ); // Don't normalize!, otherwise sharp corners become ugly // but prevent crazy spikes var v_trans_lensq = ( v_trans_x * v_trans_x + v_trans_y * v_trans_y ); if ( v_trans_lensq <= 2 ) { return new Vector2( v_trans_x, v_trans_y ); } else { shrink_by = Math.sqrt( v_trans_lensq / 2 ); } } else { // handle special case of collinear edges var direction_eq = false; // assumes: opposite if ( v_prev_x > Number.EPSILON ) { if ( v_next_x > Number.EPSILON ) { direction_eq = true; } } else { if ( v_prev_x < - Number.EPSILON ) { if ( v_next_x < - Number.EPSILON ) { direction_eq = true; } } else { if ( Math.sign( v_prev_y ) === Math.sign( v_next_y ) ) { direction_eq = true; } } } if ( direction_eq ) { // console.log("Warning: lines are a straight sequence"); v_trans_x = - v_prev_y; v_trans_y = v_prev_x; shrink_by = Math.sqrt( v_prev_lensq ); } else { // console.log("Warning: lines are a straight spike"); v_trans_x = v_prev_x; v_trans_y = v_prev_y; shrink_by = Math.sqrt( v_prev_lensq / 2 ); } } return new Vector2( v_trans_x / shrink_by, v_trans_y / shrink_by ); } var contourMovements = []; for ( var i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { if ( j === il ) j = 0; if ( k === il ) k = 0; // (j)---(i)---(k) // console.log('i,j,k', i, j , k) contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] ); } var holesMovements = [], oneHoleMovements, verticesMovements = contourMovements.concat(); for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; oneHoleMovements = []; for ( i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { if ( j === il ) j = 0; if ( k === il ) k = 0; // (j)---(i)---(k) oneHoleMovements[ i ] = getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] ); } holesMovements.push( oneHoleMovements ); verticesMovements = verticesMovements.concat( oneHoleMovements ); } // Loop bevelSegments, 1 for the front, 1 for the back for ( b = 0; b < bevelSegments; b ++ ) { //for ( b = bevelSegments; b > 0; b -- ) { t = b / bevelSegments; z = bevelThickness * Math.cos( t * Math.PI / 2 ); bs = bevelSize * Math.sin( t * Math.PI / 2 ); // contract shape for ( i = 0, il = contour.length; i < il; i ++ ) { vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); v( vert.x, vert.y, - z ); } // expand holes for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; oneHoleMovements = holesMovements[ h ]; for ( i = 0, il = ahole.length; i < il; i ++ ) { vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); v( vert.x, vert.y, - z ); } } } bs = bevelSize; // Back facing vertices for ( i = 0; i < vlen; i ++ ) { vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; if ( ! extrudeByPath ) { v( vert.x, vert.y, 0 ); } else { // v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x ); normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x ); binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y ); position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal ); v( position2.x, position2.y, position2.z ); } } // Add stepped vertices... // Including front facing vertices var s; for ( s = 1; s <= steps; s ++ ) { for ( i = 0; i < vlen; i ++ ) { vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; if ( ! extrudeByPath ) { v( vert.x, vert.y, amount / steps * s ); } else { // v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x ); normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x ); binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y ); position2.copy( extrudePts[ s ] ).add( normal ).add( binormal ); v( position2.x, position2.y, position2.z ); } } } // Add bevel segments planes //for ( b = 1; b <= bevelSegments; b ++ ) { for ( b = bevelSegments - 1; b >= 0; b -- ) { t = b / bevelSegments; z = bevelThickness * Math.cos( t * Math.PI / 2 ); bs = bevelSize * Math.sin( t * Math.PI / 2 ); // contract shape for ( i = 0, il = contour.length; i < il; i ++ ) { vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); v( vert.x, vert.y, amount + z ); } // expand holes for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; oneHoleMovements = holesMovements[ h ]; for ( i = 0, il = ahole.length; i < il; i ++ ) { vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); if ( ! extrudeByPath ) { v( vert.x, vert.y, amount + z ); } else { v( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z ); } } } } /* Faces */ // Top and bottom faces buildLidFaces(); // Sides faces buildSideFaces(); ///// Internal functions function buildLidFaces() { var start = verticesArray.length/3; if ( bevelEnabled ) { var layer = 0; // steps + 1 var offset = vlen * layer; // Bottom faces for ( i = 0; i < flen; i ++ ) { face = faces[ i ]; f3( face[ 2 ] + offset, face[ 1 ] + offset, face[ 0 ] + offset ); } layer = steps + bevelSegments * 2; offset = vlen * layer; // Top faces for ( i = 0; i < flen; i ++ ) { face = faces[ i ]; f3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset ); } } else { // Bottom faces for ( i = 0; i < flen; i ++ ) { face = faces[ i ]; f3( face[ 2 ], face[ 1 ], face[ 0 ] ); } // Top faces for ( i = 0; i < flen; i ++ ) { face = faces[ i ]; f3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps ); } } scope.addGroup( start, verticesArray.length/3 -start, options.material !== undefined ? options.material : 0); } // Create faces for the z-sides of the shape function buildSideFaces() { var start = verticesArray.length/3; var layeroffset = 0; sidewalls( contour, layeroffset ); layeroffset += contour.length; for ( h = 0, hl = holes.length; h < hl; h ++ ) { ahole = holes[ h ]; sidewalls( ahole, layeroffset ); //, true layeroffset += ahole.length; } scope.addGroup( start, verticesArray.length/3 -start, options.extrudeMaterial !== undefined ? options.extrudeMaterial : 1); } function sidewalls( contour, layeroffset ) { var j, k; i = contour.length; while ( -- i >= 0 ) { j = i; k = i - 1; if ( k < 0 ) k = contour.length - 1; //console.log('b', i,j, i-1, k,vertices.length); var s = 0, sl = steps + bevelSegments * 2; for ( s = 0; s < sl; s ++ ) { var slen1 = vlen * s; var slen2 = vlen * ( s + 1 ); var a = layeroffset + j + slen1, b = layeroffset + k + slen1, c = layeroffset + k + slen2, d = layeroffset + j + slen2; f4( a, b, c, d, contour, s, sl, j, k ); } } } function v( x, y, z ) { placeholder.push( x ); placeholder.push( y ); placeholder.push( z ); } function f3( a, b, c ) { addVertex( a ); addVertex( b ); addVertex( c ); var nextIndex = verticesArray.length / 3; var uvs = uvgen.generateTopUV( scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); addUV( uvs[ 0 ] ); addUV( uvs[ 1 ] ); addUV( uvs[ 2 ] ); } function f4( a, b, c, d, wallContour, stepIndex, stepsLength, contourIndex1, contourIndex2 ) { addVertex( a ); addVertex( b ); addVertex( d ); addVertex( b ); addVertex( c ); addVertex( d ); var nextIndex = verticesArray.length / 3; var uvs = uvgen.generateSideWallUV( scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); addUV( uvs[ 0 ] ); addUV( uvs[ 1 ] ); addUV( uvs[ 3 ] ); addUV( uvs[ 1 ] ); addUV( uvs[ 2 ] ); addUV( uvs[ 3 ] ); } function addVertex( index ) { indicesArray.push( verticesArray.length / 3 ); verticesArray.push( placeholder[ index * 3 + 0 ] ); verticesArray.push( placeholder[ index * 3 + 1 ] ); verticesArray.push( placeholder[ index * 3 + 2 ] ); } function addUV( vector2 ) { uvArray.push( vector2.x ); uvArray.push( vector2.y ); } if ( ! options.arrays ) { this.setIndex( indicesArray ); this.addAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( options.arrays.uv, 2 ) ); } }; ExtrudeGeometry.WorldUVGenerator = { generateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) { var a_x = vertices[ indexA * 3 ]; var a_y = vertices[ indexA * 3 + 1 ]; var b_x = vertices[ indexB * 3 ]; var b_y = vertices[ indexB * 3 + 1 ]; var c_x = vertices[ indexC * 3 ]; var c_y = vertices[ indexC * 3 + 1 ]; return [ new Vector2( a_x, a_y ), new Vector2( b_x, b_y ), new Vector2( c_x, c_y ) ]; }, generateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) { var a_x = vertices[ indexA * 3 ]; var a_y = vertices[ indexA * 3 + 1 ]; var a_z = vertices[ indexA * 3 + 2 ]; var b_x = vertices[ indexB * 3 ]; var b_y = vertices[ indexB * 3 + 1 ]; var b_z = vertices[ indexB * 3 + 2 ]; var c_x = vertices[ indexC * 3 ]; var c_y = vertices[ indexC * 3 + 1 ]; var c_z = vertices[ indexC * 3 + 2 ]; var d_x = vertices[ indexD * 3 ]; var d_y = vertices[ indexD * 3 + 1 ]; var d_z = vertices[ indexD * 3 + 2 ]; if ( Math.abs( a_y - b_y ) < 0.01 ) { return [ new Vector2( a_x, 1 - a_z ), new Vector2( b_x, 1 - b_z ), new Vector2( c_x, 1 - c_z ), new Vector2( d_x, 1 - d_z ) ]; } else { return [ new Vector2( a_y, 1 - a_z ), new Vector2( b_y, 1 - b_z ), new Vector2( c_y, 1 - c_z ), new Vector2( d_y, 1 - d_z ) ]; } } }; /** * @author zz85 / http://www.lab4games.net/zz85/blog * @author alteredq / http://alteredqualia.com/ * * Text = 3D Text * * parameters = { * font: , // font * * size: , // size of the text * height: , // thickness to extrude text * curveSegments: , // number of points on the curves * * bevelEnabled: , // turn on bevel * bevelThickness: , // how deep into text bevel goes * bevelSize: // how far from text outline is bevel * } */ // TextGeometry function TextGeometry( text, parameters ) { Geometry.call( this ); this.type = 'TextGeometry'; this.parameters = { text: text, parameters: parameters }; this.fromBufferGeometry( new TextBufferGeometry( text, parameters ) ); this.mergeVertices(); } TextGeometry.prototype = Object.create( Geometry.prototype ); TextGeometry.prototype.constructor = TextGeometry; // TextBufferGeometry function TextBufferGeometry( text, parameters ) { parameters = parameters || {}; var font = parameters.font; if ( ! ( font && font.isFont ) ) { console.error( 'THREE.TextGeometry: font parameter is not an instance of THREE.Font.' ); return new Geometry(); } var shapes = font.generateShapes( text, parameters.size, parameters.curveSegments ); // translate parameters to ExtrudeGeometry API parameters.amount = parameters.height !== undefined ? parameters.height : 50; // defaults if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10; if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8; if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; ExtrudeBufferGeometry.call( this, shapes, parameters ); this.type = 'TextBufferGeometry'; } TextBufferGeometry.prototype = Object.create( ExtrudeBufferGeometry.prototype ); TextBufferGeometry.prototype.constructor = TextBufferGeometry; /** * @author mrdoob / http://mrdoob.com/ * @author benaadams / https://twitter.com/ben_a_adams * @author Mugen87 / https://github.com/Mugen87 */ // SphereGeometry function SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { Geometry.call( this ); this.type = 'SphereGeometry'; this.parameters = { radius: radius, widthSegments: widthSegments, heightSegments: heightSegments, phiStart: phiStart, phiLength: phiLength, thetaStart: thetaStart, thetaLength: thetaLength }; this.fromBufferGeometry( new SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) ); this.mergeVertices(); } SphereGeometry.prototype = Object.create( Geometry.prototype ); SphereGeometry.prototype.constructor = SphereGeometry; // SphereBufferGeometry function SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { BufferGeometry.call( this ); this.type = 'SphereBufferGeometry'; this.parameters = { radius: radius, widthSegments: widthSegments, heightSegments: heightSegments, phiStart: phiStart, phiLength: phiLength, thetaStart: thetaStart, thetaLength: thetaLength }; radius = radius || 50; widthSegments = Math.max( 3, Math.floor( widthSegments ) || 8 ); heightSegments = Math.max( 2, Math.floor( heightSegments ) || 6 ); phiStart = phiStart !== undefined ? phiStart : 0; phiLength = phiLength !== undefined ? phiLength : Math.PI * 2; thetaStart = thetaStart !== undefined ? thetaStart : 0; thetaLength = thetaLength !== undefined ? thetaLength : Math.PI; var thetaEnd = thetaStart + thetaLength; var ix, iy; var index = 0; var grid = []; var vertex = new Vector3(); var normal = new Vector3(); // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // generate vertices, normals and uvs for ( iy = 0; iy <= heightSegments; iy ++ ) { var verticesRow = []; var v = iy / heightSegments; for ( ix = 0; ix <= widthSegments; ix ++ ) { var u = ix / widthSegments; // vertex vertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); vertex.y = radius * Math.cos( thetaStart + v * thetaLength ); vertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); vertices.push( vertex.x, vertex.y, vertex.z ); // normal normal.set( vertex.x, vertex.y, vertex.z ).normalize(); normals.push( normal.x, normal.y, normal.z ); // uv uvs.push( u, 1 - v ); verticesRow.push( index ++ ); } grid.push( verticesRow ); } // indices for ( iy = 0; iy < heightSegments; iy ++ ) { for ( ix = 0; ix < widthSegments; ix ++ ) { var a = grid[ iy ][ ix + 1 ]; var b = grid[ iy ][ ix ]; var c = grid[ iy + 1 ][ ix ]; var d = grid[ iy + 1 ][ ix + 1 ]; if ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d ); if ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } SphereBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); SphereBufferGeometry.prototype.constructor = SphereBufferGeometry; /** * @author Kaleb Murphy * @author Mugen87 / https://github.com/Mugen87 */ // RingGeometry function RingGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { Geometry.call( this ); this.type = 'RingGeometry'; this.parameters = { innerRadius: innerRadius, outerRadius: outerRadius, thetaSegments: thetaSegments, phiSegments: phiSegments, thetaStart: thetaStart, thetaLength: thetaLength }; this.fromBufferGeometry( new RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) ); this.mergeVertices(); } RingGeometry.prototype = Object.create( Geometry.prototype ); RingGeometry.prototype.constructor = RingGeometry; // RingBufferGeometry function RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { BufferGeometry.call( this ); this.type = 'RingBufferGeometry'; this.parameters = { innerRadius: innerRadius, outerRadius: outerRadius, thetaSegments: thetaSegments, phiSegments: phiSegments, thetaStart: thetaStart, thetaLength: thetaLength }; innerRadius = innerRadius || 20; outerRadius = outerRadius || 50; thetaStart = thetaStart !== undefined ? thetaStart : 0; thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; thetaSegments = thetaSegments !== undefined ? Math.max( 3, thetaSegments ) : 8; phiSegments = phiSegments !== undefined ? Math.max( 1, phiSegments ) : 1; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // some helper variables var segment; var radius = innerRadius; var radiusStep = ( ( outerRadius - innerRadius ) / phiSegments ); var vertex = new Vector3(); var uv = new Vector2(); var j, i; // generate vertices, normals and uvs for ( j = 0; j <= phiSegments; j ++ ) { for ( i = 0; i <= thetaSegments; i ++ ) { // values are generate from the inside of the ring to the outside segment = thetaStart + i / thetaSegments * thetaLength; // vertex vertex.x = radius * Math.cos( segment ); vertex.y = radius * Math.sin( segment ); vertices.push( vertex.x, vertex.y, vertex.z ); // normal normals.push( 0, 0, 1 ); // uv uv.x = ( vertex.x / outerRadius + 1 ) / 2; uv.y = ( vertex.y / outerRadius + 1 ) / 2; uvs.push( uv.x, uv.y ); } // increase the radius for next row of vertices radius += radiusStep; } // indices for ( j = 0; j < phiSegments; j ++ ) { var thetaSegmentLevel = j * ( thetaSegments + 1 ); for ( i = 0; i < thetaSegments; i ++ ) { segment = i + thetaSegmentLevel; var a = segment; var b = segment + thetaSegments + 1; var c = segment + thetaSegments + 2; var d = segment + 1; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } RingBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); RingBufferGeometry.prototype.constructor = RingBufferGeometry; /** * @author astrodud / http://astrodud.isgreat.org/ * @author zz85 / https://github.com/zz85 * @author bhouston / http://clara.io * @author Mugen87 / https://github.com/Mugen87 */ // LatheGeometry function LatheGeometry( points, segments, phiStart, phiLength ) { Geometry.call( this ); this.type = 'LatheGeometry'; this.parameters = { points: points, segments: segments, phiStart: phiStart, phiLength: phiLength }; this.fromBufferGeometry( new LatheBufferGeometry( points, segments, phiStart, phiLength ) ); this.mergeVertices(); } LatheGeometry.prototype = Object.create( Geometry.prototype ); LatheGeometry.prototype.constructor = LatheGeometry; // LatheBufferGeometry function LatheBufferGeometry( points, segments, phiStart, phiLength ) { BufferGeometry.call( this ); this.type = 'LatheBufferGeometry'; this.parameters = { points: points, segments: segments, phiStart: phiStart, phiLength: phiLength }; segments = Math.floor( segments ) || 12; phiStart = phiStart || 0; phiLength = phiLength || Math.PI * 2; // clamp phiLength so it's in range of [ 0, 2PI ] phiLength = _Math.clamp( phiLength, 0, Math.PI * 2 ); // buffers var indices = []; var vertices = []; var uvs = []; // helper variables var base; var inverseSegments = 1.0 / segments; var vertex = new Vector3(); var uv = new Vector2(); var i, j; // generate vertices and uvs for ( i = 0; i <= segments; i ++ ) { var phi = phiStart + i * inverseSegments * phiLength; var sin = Math.sin( phi ); var cos = Math.cos( phi ); for ( j = 0; j <= ( points.length - 1 ); j ++ ) { // vertex vertex.x = points[ j ].x * sin; vertex.y = points[ j ].y; vertex.z = points[ j ].x * cos; vertices.push( vertex.x, vertex.y, vertex.z ); // uv uv.x = i / segments; uv.y = j / ( points.length - 1 ); uvs.push( uv.x, uv.y ); } } // indices for ( i = 0; i < segments; i ++ ) { for ( j = 0; j < ( points.length - 1 ); j ++ ) { base = j + i * points.length; var a = base; var b = base + points.length; var c = base + points.length + 1; var d = base + 1; // faces indices.push( a, b, d ); indices.push( b, c, d ); } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); // generate normals this.computeVertexNormals(); // if the geometry is closed, we need to average the normals along the seam. // because the corresponding vertices are identical (but still have different UVs). if ( phiLength === Math.PI * 2 ) { var normals = this.attributes.normal.array; var n1 = new Vector3(); var n2 = new Vector3(); var n = new Vector3(); // this is the buffer offset for the last line of vertices base = segments * points.length * 3; for ( i = 0, j = 0; i < points.length; i ++, j += 3 ) { // select the normal of the vertex in the first line n1.x = normals[ j + 0 ]; n1.y = normals[ j + 1 ]; n1.z = normals[ j + 2 ]; // select the normal of the vertex in the last line n2.x = normals[ base + j + 0 ]; n2.y = normals[ base + j + 1 ]; n2.z = normals[ base + j + 2 ]; // average normals n.addVectors( n1, n2 ).normalize(); // assign the new values to both normals normals[ j + 0 ] = normals[ base + j + 0 ] = n.x; normals[ j + 1 ] = normals[ base + j + 1 ] = n.y; normals[ j + 2 ] = normals[ base + j + 2 ] = n.z; } } } LatheBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); LatheBufferGeometry.prototype.constructor = LatheBufferGeometry; /** * @author jonobr1 / http://jonobr1.com * @author Mugen87 / https://github.com/Mugen87 */ // ShapeGeometry function ShapeGeometry( shapes, curveSegments ) { Geometry.call( this ); this.type = 'ShapeGeometry'; if ( typeof curveSegments === 'object' ) { console.warn( 'THREE.ShapeGeometry: Options parameter has been removed.' ); curveSegments = curveSegments.curveSegments; } this.parameters = { shapes: shapes, curveSegments: curveSegments }; this.fromBufferGeometry( new ShapeBufferGeometry( shapes, curveSegments ) ); this.mergeVertices(); } ShapeGeometry.prototype = Object.create( Geometry.prototype ); ShapeGeometry.prototype.constructor = ShapeGeometry; // ShapeBufferGeometry function ShapeBufferGeometry( shapes, curveSegments ) { BufferGeometry.call( this ); this.type = 'ShapeBufferGeometry'; this.parameters = { shapes: shapes, curveSegments: curveSegments }; curveSegments = curveSegments || 12; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var groupStart = 0; var groupCount = 0; // allow single and array values for "shapes" parameter if ( Array.isArray( shapes ) === false ) { addShape( shapes ); } else { for ( var i = 0; i < shapes.length; i ++ ) { addShape( shapes[ i ] ); this.addGroup( groupStart, groupCount, i ); // enables MultiMaterial support groupStart += groupCount; groupCount = 0; } } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); // helper functions function addShape( shape ) { var i, l, shapeHole; var indexOffset = vertices.length / 3; var points = shape.extractPoints( curveSegments ); var shapeVertices = points.shape; var shapeHoles = points.holes; // check direction of vertices if ( ShapeUtils.isClockWise( shapeVertices ) === false ) { shapeVertices = shapeVertices.reverse(); // also check if holes are in the opposite direction for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { shapeHole = shapeHoles[ i ]; if ( ShapeUtils.isClockWise( shapeHole ) === true ) { shapeHoles[ i ] = shapeHole.reverse(); } } } var faces = ShapeUtils.triangulateShape( shapeVertices, shapeHoles ); // join vertices of inner and outer paths to a single array for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { shapeHole = shapeHoles[ i ]; shapeVertices = shapeVertices.concat( shapeHole ); } // vertices, normals, uvs for ( i = 0, l = shapeVertices.length; i < l; i ++ ) { var vertex = shapeVertices[ i ]; vertices.push( vertex.x, vertex.y, 0 ); normals.push( 0, 0, 1 ); uvs.push( vertex.x, vertex.y ); // world uvs } // incides for ( i = 0, l = faces.length; i < l; i ++ ) { var face = faces[ i ]; var a = face[ 0 ] + indexOffset; var b = face[ 1 ] + indexOffset; var c = face[ 2 ] + indexOffset; indices.push( a, b, c ); groupCount += 3; } } } ShapeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); ShapeBufferGeometry.prototype.constructor = ShapeBufferGeometry; /** * @author WestLangley / http://github.com/WestLangley * @author Mugen87 / https://github.com/Mugen87 */ function EdgesGeometry( geometry, thresholdAngle ) { BufferGeometry.call( this ); this.type = 'EdgesGeometry'; this.parameters = { thresholdAngle: thresholdAngle }; thresholdAngle = ( thresholdAngle !== undefined ) ? thresholdAngle : 1; // buffer var vertices = []; // helper variables var thresholdDot = Math.cos( _Math.DEG2RAD * thresholdAngle ); var edge = [ 0, 0 ], edges = {}, edge1, edge2; var key, keys = [ 'a', 'b', 'c' ]; // prepare source geometry var geometry2; if ( geometry.isBufferGeometry ) { geometry2 = new Geometry(); geometry2.fromBufferGeometry( geometry ); } else { geometry2 = geometry.clone(); } geometry2.mergeVertices(); geometry2.computeFaceNormals(); var sourceVertices = geometry2.vertices; var faces = geometry2.faces; // now create a data structure where each entry represents an edge with its adjoining faces for ( var i = 0, l = faces.length; i < l; i ++ ) { var face = faces[ i ]; for ( var j = 0; j < 3; j ++ ) { edge1 = face[ keys[ j ] ]; edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; edge[ 0 ] = Math.min( edge1, edge2 ); edge[ 1 ] = Math.max( edge1, edge2 ); key = edge[ 0 ] + ',' + edge[ 1 ]; if ( edges[ key ] === undefined ) { edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ], face1: i, face2: undefined }; } else { edges[ key ].face2 = i; } } } // generate vertices for ( key in edges ) { var e = edges[ key ]; // an edge is only rendered if the angle (in degrees) between the face normals of the adjoining faces exceeds this value. default = 1 degree. if ( e.face2 === undefined || faces[ e.face1 ].normal.dot( faces[ e.face2 ].normal ) <= thresholdDot ) { var vertex = sourceVertices[ e.index1 ]; vertices.push( vertex.x, vertex.y, vertex.z ); vertex = sourceVertices[ e.index2 ]; vertices.push( vertex.x, vertex.y, vertex.z ); } } // build geometry this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); } EdgesGeometry.prototype = Object.create( BufferGeometry.prototype ); EdgesGeometry.prototype.constructor = EdgesGeometry; /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ // CylinderGeometry function CylinderGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { Geometry.call( this ); this.type = 'CylinderGeometry'; this.parameters = { radiusTop: radiusTop, radiusBottom: radiusBottom, height: height, radialSegments: radialSegments, heightSegments: heightSegments, openEnded: openEnded, thetaStart: thetaStart, thetaLength: thetaLength }; this.fromBufferGeometry( new CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) ); this.mergeVertices(); } CylinderGeometry.prototype = Object.create( Geometry.prototype ); CylinderGeometry.prototype.constructor = CylinderGeometry; // CylinderBufferGeometry function CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { BufferGeometry.call( this ); this.type = 'CylinderBufferGeometry'; this.parameters = { radiusTop: radiusTop, radiusBottom: radiusBottom, height: height, radialSegments: radialSegments, heightSegments: heightSegments, openEnded: openEnded, thetaStart: thetaStart, thetaLength: thetaLength }; var scope = this; radiusTop = radiusTop !== undefined ? radiusTop : 20; radiusBottom = radiusBottom !== undefined ? radiusBottom : 20; height = height !== undefined ? height : 100; radialSegments = Math.floor( radialSegments ) || 8; heightSegments = Math.floor( heightSegments ) || 1; openEnded = openEnded !== undefined ? openEnded : false; thetaStart = thetaStart !== undefined ? thetaStart : 0.0; thetaLength = thetaLength !== undefined ? thetaLength : 2.0 * Math.PI; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var index = 0; var indexArray = []; var halfHeight = height / 2; var groupStart = 0; // generate geometry generateTorso(); if ( openEnded === false ) { if ( radiusTop > 0 ) generateCap( true ); if ( radiusBottom > 0 ) generateCap( false ); } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); function generateTorso() { var x, y; var normal = new Vector3(); var vertex = new Vector3(); var groupCount = 0; // this will be used to calculate the normal var slope = ( radiusBottom - radiusTop ) / height; // generate vertices, normals and uvs for ( y = 0; y <= heightSegments; y ++ ) { var indexRow = []; var v = y / heightSegments; // calculate the radius of the current row var radius = v * ( radiusBottom - radiusTop ) + radiusTop; for ( x = 0; x <= radialSegments; x ++ ) { var u = x / radialSegments; var theta = u * thetaLength + thetaStart; var sinTheta = Math.sin( theta ); var cosTheta = Math.cos( theta ); // vertex vertex.x = radius * sinTheta; vertex.y = - v * height + halfHeight; vertex.z = radius * cosTheta; vertices.push( vertex.x, vertex.y, vertex.z ); // normal normal.set( sinTheta, slope, cosTheta ).normalize(); normals.push( normal.x, normal.y, normal.z ); // uv uvs.push( u, 1 - v ); // save index of vertex in respective row indexRow.push( index ++ ); } // now save vertices of the row in our index array indexArray.push( indexRow ); } // generate indices for ( x = 0; x < radialSegments; x ++ ) { for ( y = 0; y < heightSegments; y ++ ) { // we use the index array to access the correct indices var a = indexArray[ y ][ x ]; var b = indexArray[ y + 1 ][ x ]; var c = indexArray[ y + 1 ][ x + 1 ]; var d = indexArray[ y ][ x + 1 ]; // faces indices.push( a, b, d ); indices.push( b, c, d ); // update group counter groupCount += 6; } } // add a group to the geometry. this will ensure multi material support scope.addGroup( groupStart, groupCount, 0 ); // calculate new start value for groups groupStart += groupCount; } function generateCap( top ) { var x, centerIndexStart, centerIndexEnd; var uv = new Vector2(); var vertex = new Vector3(); var groupCount = 0; var radius = ( top === true ) ? radiusTop : radiusBottom; var sign = ( top === true ) ? 1 : - 1; // save the index of the first center vertex centerIndexStart = index; // first we generate the center vertex data of the cap. // because the geometry needs one set of uvs per face, // we must generate a center vertex per face/segment for ( x = 1; x <= radialSegments; x ++ ) { // vertex vertices.push( 0, halfHeight * sign, 0 ); // normal normals.push( 0, sign, 0 ); // uv uvs.push( 0.5, 0.5 ); // increase index index ++; } // save the index of the last center vertex centerIndexEnd = index; // now we generate the surrounding vertices, normals and uvs for ( x = 0; x <= radialSegments; x ++ ) { var u = x / radialSegments; var theta = u * thetaLength + thetaStart; var cosTheta = Math.cos( theta ); var sinTheta = Math.sin( theta ); // vertex vertex.x = radius * sinTheta; vertex.y = halfHeight * sign; vertex.z = radius * cosTheta; vertices.push( vertex.x, vertex.y, vertex.z ); // normal normals.push( 0, sign, 0 ); // uv uv.x = ( cosTheta * 0.5 ) + 0.5; uv.y = ( sinTheta * 0.5 * sign ) + 0.5; uvs.push( uv.x, uv.y ); // increase index index ++; } // generate indices for ( x = 0; x < radialSegments; x ++ ) { var c = centerIndexStart + x; var i = centerIndexEnd + x; if ( top === true ) { // face top indices.push( i, i + 1, c ); } else { // face bottom indices.push( i + 1, i, c ); } groupCount += 3; } // add a group to the geometry. this will ensure multi material support scope.addGroup( groupStart, groupCount, top === true ? 1 : 2 ); // calculate new start value for groups groupStart += groupCount; } } CylinderBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); CylinderBufferGeometry.prototype.constructor = CylinderBufferGeometry; /** * @author abelnation / http://github.com/abelnation */ // ConeGeometry function ConeGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { CylinderGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); this.type = 'ConeGeometry'; this.parameters = { radius: radius, height: height, radialSegments: radialSegments, heightSegments: heightSegments, openEnded: openEnded, thetaStart: thetaStart, thetaLength: thetaLength }; } ConeGeometry.prototype = Object.create( CylinderGeometry.prototype ); ConeGeometry.prototype.constructor = ConeGeometry; // ConeBufferGeometry function ConeBufferGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { CylinderBufferGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); this.type = 'ConeBufferGeometry'; this.parameters = { radius: radius, height: height, radialSegments: radialSegments, heightSegments: heightSegments, openEnded: openEnded, thetaStart: thetaStart, thetaLength: thetaLength }; } ConeBufferGeometry.prototype = Object.create( CylinderBufferGeometry.prototype ); ConeBufferGeometry.prototype.constructor = ConeBufferGeometry; /** * @author benaadams / https://twitter.com/ben_a_adams * @author Mugen87 / https://github.com/Mugen87 * @author hughes */ // CircleGeometry function CircleGeometry( radius, segments, thetaStart, thetaLength ) { Geometry.call( this ); this.type = 'CircleGeometry'; this.parameters = { radius: radius, segments: segments, thetaStart: thetaStart, thetaLength: thetaLength }; this.fromBufferGeometry( new CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) ); this.mergeVertices(); } CircleGeometry.prototype = Object.create( Geometry.prototype ); CircleGeometry.prototype.constructor = CircleGeometry; // CircleBufferGeometry function CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) { BufferGeometry.call( this ); this.type = 'CircleBufferGeometry'; this.parameters = { radius: radius, segments: segments, thetaStart: thetaStart, thetaLength: thetaLength }; radius = radius || 50; segments = segments !== undefined ? Math.max( 3, segments ) : 8; thetaStart = thetaStart !== undefined ? thetaStart : 0; thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; // buffers var indices = []; var vertices = []; var normals = []; var uvs = []; // helper variables var i, s; var vertex = new Vector3(); var uv = new Vector2(); // center point vertices.push( 0, 0, 0 ); normals.push( 0, 0, 1 ); uvs.push( 0.5, 0.5 ); for ( s = 0, i = 3; s <= segments; s ++, i += 3 ) { var segment = thetaStart + s / segments * thetaLength; // vertex vertex.x = radius * Math.cos( segment ); vertex.y = radius * Math.sin( segment ); vertices.push( vertex.x, vertex.y, vertex.z ); // normal normals.push( 0, 0, 1 ); // uvs uv.x = ( vertices[ i ] / radius + 1 ) / 2; uv.y = ( vertices[ i + 1 ] / radius + 1 ) / 2; uvs.push( uv.x, uv.y ); } // indices for ( i = 1; i <= segments; i ++ ) { indices.push( i, i + 1, 0 ); } // build geometry this.setIndex( indices ); this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); } CircleBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); CircleBufferGeometry.prototype.constructor = CircleBufferGeometry; var Geometries = Object.freeze({ WireframeGeometry: WireframeGeometry, ParametricGeometry: ParametricGeometry, ParametricBufferGeometry: ParametricBufferGeometry, TetrahedronGeometry: TetrahedronGeometry, TetrahedronBufferGeometry: TetrahedronBufferGeometry, OctahedronGeometry: OctahedronGeometry, OctahedronBufferGeometry: OctahedronBufferGeometry, IcosahedronGeometry: IcosahedronGeometry, IcosahedronBufferGeometry: IcosahedronBufferGeometry, DodecahedronGeometry: DodecahedronGeometry, DodecahedronBufferGeometry: DodecahedronBufferGeometry, PolyhedronGeometry: PolyhedronGeometry, PolyhedronBufferGeometry: PolyhedronBufferGeometry, TubeGeometry: TubeGeometry, TubeBufferGeometry: TubeBufferGeometry, TorusKnotGeometry: TorusKnotGeometry, TorusKnotBufferGeometry: TorusKnotBufferGeometry, TorusGeometry: TorusGeometry, TorusBufferGeometry: TorusBufferGeometry, TextGeometry: TextGeometry, TextBufferGeometry: TextBufferGeometry, SphereGeometry: SphereGeometry, SphereBufferGeometry: SphereBufferGeometry, RingGeometry: RingGeometry, RingBufferGeometry: RingBufferGeometry, PlaneGeometry: PlaneGeometry, PlaneBufferGeometry: PlaneBufferGeometry, LatheGeometry: LatheGeometry, LatheBufferGeometry: LatheBufferGeometry, ShapeGeometry: ShapeGeometry, ShapeBufferGeometry: ShapeBufferGeometry, ExtrudeGeometry: ExtrudeGeometry, ExtrudeBufferGeometry: ExtrudeBufferGeometry, EdgesGeometry: EdgesGeometry, ConeGeometry: ConeGeometry, ConeBufferGeometry: ConeBufferGeometry, CylinderGeometry: CylinderGeometry, CylinderBufferGeometry: CylinderBufferGeometry, CircleGeometry: CircleGeometry, CircleBufferGeometry: CircleBufferGeometry, BoxGeometry: BoxGeometry, BoxBufferGeometry: BoxBufferGeometry }); /** * @author mrdoob / http://mrdoob.com/ * * parameters = { * opacity: * } */ function ShadowMaterial( parameters ) { ShaderMaterial.call( this, { uniforms: UniformsUtils.merge( [ UniformsLib.lights, { opacity: { value: 1.0 } } ] ), vertexShader: ShaderChunk[ 'shadow_vert' ], fragmentShader: ShaderChunk[ 'shadow_frag' ] } ); this.lights = true; this.transparent = true; Object.defineProperties( this, { opacity: { enumerable: true, get: function () { return this.uniforms.opacity.value; }, set: function ( value ) { this.uniforms.opacity.value = value; } } } ); this.setValues( parameters ); } ShadowMaterial.prototype = Object.create( ShaderMaterial.prototype ); ShadowMaterial.prototype.constructor = ShadowMaterial; ShadowMaterial.prototype.isShadowMaterial = true; /** * @author mrdoob / http://mrdoob.com/ */ function RawShaderMaterial( parameters ) { ShaderMaterial.call( this, parameters ); this.type = 'RawShaderMaterial'; } RawShaderMaterial.prototype = Object.create( ShaderMaterial.prototype ); RawShaderMaterial.prototype.constructor = RawShaderMaterial; RawShaderMaterial.prototype.isRawShaderMaterial = true; /** * @author WestLangley / http://github.com/WestLangley * * parameters = { * color: , * roughness: , * metalness: , * opacity: , * * map: new THREE.Texture( ), * * lightMap: new THREE.Texture( ), * lightMapIntensity: * * aoMap: new THREE.Texture( ), * aoMapIntensity: * * emissive: , * emissiveIntensity: * emissiveMap: new THREE.Texture( ), * * bumpMap: new THREE.Texture( ), * bumpScale: , * * normalMap: new THREE.Texture( ), * normalScale: , * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: , * * roughnessMap: new THREE.Texture( ), * * metalnessMap: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), * envMapIntensity: * * refractionRatio: , * * wireframe: , * wireframeLinewidth: , * * skinning: , * morphTargets: , * morphNormals: * } */ function MeshStandardMaterial( parameters ) { Material.call( this ); this.defines = { 'STANDARD': '' }; this.type = 'MeshStandardMaterial'; this.color = new Color( 0xffffff ); // diffuse this.roughness = 0.5; this.metalness = 0.5; this.map = null; this.lightMap = null; this.lightMapIntensity = 1.0; this.aoMap = null; this.aoMapIntensity = 1.0; this.emissive = new Color( 0x000000 ); this.emissiveIntensity = 1.0; this.emissiveMap = null; this.bumpMap = null; this.bumpScale = 1; this.normalMap = null; this.normalScale = new Vector2( 1, 1 ); this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.roughnessMap = null; this.metalnessMap = null; this.alphaMap = null; this.envMap = null; this.envMapIntensity = 1.0; this.refractionRatio = 0.98; this.wireframe = false; this.wireframeLinewidth = 1; this.wireframeLinecap = 'round'; this.wireframeLinejoin = 'round'; this.skinning = false; this.morphTargets = false; this.morphNormals = false; this.setValues( parameters ); } MeshStandardMaterial.prototype = Object.create( Material.prototype ); MeshStandardMaterial.prototype.constructor = MeshStandardMaterial; MeshStandardMaterial.prototype.isMeshStandardMaterial = true; MeshStandardMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.defines = { 'STANDARD': '' }; this.color.copy( source.color ); this.roughness = source.roughness; this.metalness = source.metalness; this.map = source.map; this.lightMap = source.lightMap; this.lightMapIntensity = source.lightMapIntensity; this.aoMap = source.aoMap; this.aoMapIntensity = source.aoMapIntensity; this.emissive.copy( source.emissive ); this.emissiveMap = source.emissiveMap; this.emissiveIntensity = source.emissiveIntensity; this.bumpMap = source.bumpMap; this.bumpScale = source.bumpScale; this.normalMap = source.normalMap; this.normalScale.copy( source.normalScale ); this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; this.roughnessMap = source.roughnessMap; this.metalnessMap = source.metalnessMap; this.alphaMap = source.alphaMap; this.envMap = source.envMap; this.envMapIntensity = source.envMapIntensity; this.refractionRatio = source.refractionRatio; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.wireframeLinecap = source.wireframeLinecap; this.wireframeLinejoin = source.wireframeLinejoin; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; return this; }; /** * @author WestLangley / http://github.com/WestLangley * * parameters = { * reflectivity: * } */ function MeshPhysicalMaterial( parameters ) { MeshStandardMaterial.call( this ); this.defines = { 'PHYSICAL': '' }; this.type = 'MeshPhysicalMaterial'; this.reflectivity = 0.5; // maps to F0 = 0.04 this.clearCoat = 0.0; this.clearCoatRoughness = 0.0; this.setValues( parameters ); } MeshPhysicalMaterial.prototype = Object.create( MeshStandardMaterial.prototype ); MeshPhysicalMaterial.prototype.constructor = MeshPhysicalMaterial; MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true; MeshPhysicalMaterial.prototype.copy = function ( source ) { MeshStandardMaterial.prototype.copy.call( this, source ); this.defines = { 'PHYSICAL': '' }; this.reflectivity = source.reflectivity; this.clearCoat = source.clearCoat; this.clearCoatRoughness = source.clearCoatRoughness; return this; }; /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * specular: , * shininess: , * opacity: , * * map: new THREE.Texture( ), * * lightMap: new THREE.Texture( ), * lightMapIntensity: * * aoMap: new THREE.Texture( ), * aoMapIntensity: * * emissive: , * emissiveIntensity: * emissiveMap: new THREE.Texture( ), * * bumpMap: new THREE.Texture( ), * bumpScale: , * * normalMap: new THREE.Texture( ), * normalScale: , * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: , * * specularMap: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), * combine: THREE.Multiply, * reflectivity: , * refractionRatio: , * * wireframe: , * wireframeLinewidth: , * * skinning: , * morphTargets: , * morphNormals: * } */ function MeshPhongMaterial( parameters ) { Material.call( this ); this.type = 'MeshPhongMaterial'; this.color = new Color( 0xffffff ); // diffuse this.specular = new Color( 0x111111 ); this.shininess = 30; this.map = null; this.lightMap = null; this.lightMapIntensity = 1.0; this.aoMap = null; this.aoMapIntensity = 1.0; this.emissive = new Color( 0x000000 ); this.emissiveIntensity = 1.0; this.emissiveMap = null; this.bumpMap = null; this.bumpScale = 1; this.normalMap = null; this.normalScale = new Vector2( 1, 1 ); this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.specularMap = null; this.alphaMap = null; this.envMap = null; this.combine = MultiplyOperation; this.reflectivity = 1; this.refractionRatio = 0.98; this.wireframe = false; this.wireframeLinewidth = 1; this.wireframeLinecap = 'round'; this.wireframeLinejoin = 'round'; this.skinning = false; this.morphTargets = false; this.morphNormals = false; this.setValues( parameters ); } MeshPhongMaterial.prototype = Object.create( Material.prototype ); MeshPhongMaterial.prototype.constructor = MeshPhongMaterial; MeshPhongMaterial.prototype.isMeshPhongMaterial = true; MeshPhongMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.specular.copy( source.specular ); this.shininess = source.shininess; this.map = source.map; this.lightMap = source.lightMap; this.lightMapIntensity = source.lightMapIntensity; this.aoMap = source.aoMap; this.aoMapIntensity = source.aoMapIntensity; this.emissive.copy( source.emissive ); this.emissiveMap = source.emissiveMap; this.emissiveIntensity = source.emissiveIntensity; this.bumpMap = source.bumpMap; this.bumpScale = source.bumpScale; this.normalMap = source.normalMap; this.normalScale.copy( source.normalScale ); this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; this.specularMap = source.specularMap; this.alphaMap = source.alphaMap; this.envMap = source.envMap; this.combine = source.combine; this.reflectivity = source.reflectivity; this.refractionRatio = source.refractionRatio; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.wireframeLinecap = source.wireframeLinecap; this.wireframeLinejoin = source.wireframeLinejoin; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; return this; }; /** * @author takahirox / http://github.com/takahirox * * parameters = { * gradientMap: new THREE.Texture( ) * } */ function MeshToonMaterial( parameters ) { MeshPhongMaterial.call( this ); this.defines = { 'TOON': '' }; this.type = 'MeshToonMaterial'; this.gradientMap = null; this.setValues( parameters ); } MeshToonMaterial.prototype = Object.create( MeshPhongMaterial.prototype ); MeshToonMaterial.prototype.constructor = MeshToonMaterial; MeshToonMaterial.prototype.isMeshToonMaterial = true; MeshToonMaterial.prototype.copy = function ( source ) { MeshPhongMaterial.prototype.copy.call( this, source ); this.gradientMap = source.gradientMap; return this; }; /** * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley * * parameters = { * opacity: , * * bumpMap: new THREE.Texture( ), * bumpScale: , * * normalMap: new THREE.Texture( ), * normalScale: , * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: , * * wireframe: , * wireframeLinewidth: * * skinning: , * morphTargets: , * morphNormals: * } */ function MeshNormalMaterial( parameters ) { Material.call( this ); this.type = 'MeshNormalMaterial'; this.bumpMap = null; this.bumpScale = 1; this.normalMap = null; this.normalScale = new Vector2( 1, 1 ); this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.wireframe = false; this.wireframeLinewidth = 1; this.fog = false; this.lights = false; this.skinning = false; this.morphTargets = false; this.morphNormals = false; this.setValues( parameters ); } MeshNormalMaterial.prototype = Object.create( Material.prototype ); MeshNormalMaterial.prototype.constructor = MeshNormalMaterial; MeshNormalMaterial.prototype.isMeshNormalMaterial = true; MeshNormalMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.bumpMap = source.bumpMap; this.bumpScale = source.bumpScale; this.normalMap = source.normalMap; this.normalScale.copy( source.normalScale ); this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; return this; }; /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * * map: new THREE.Texture( ), * * lightMap: new THREE.Texture( ), * lightMapIntensity: * * aoMap: new THREE.Texture( ), * aoMapIntensity: * * emissive: , * emissiveIntensity: * emissiveMap: new THREE.Texture( ), * * specularMap: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * envMap: new THREE.TextureCube( [posx, negx, posy, negy, posz, negz] ), * combine: THREE.Multiply, * reflectivity: , * refractionRatio: , * * wireframe: , * wireframeLinewidth: , * * skinning: , * morphTargets: , * morphNormals: * } */ function MeshLambertMaterial( parameters ) { Material.call( this ); this.type = 'MeshLambertMaterial'; this.color = new Color( 0xffffff ); // diffuse this.map = null; this.lightMap = null; this.lightMapIntensity = 1.0; this.aoMap = null; this.aoMapIntensity = 1.0; this.emissive = new Color( 0x000000 ); this.emissiveIntensity = 1.0; this.emissiveMap = null; this.specularMap = null; this.alphaMap = null; this.envMap = null; this.combine = MultiplyOperation; this.reflectivity = 1; this.refractionRatio = 0.98; this.wireframe = false; this.wireframeLinewidth = 1; this.wireframeLinecap = 'round'; this.wireframeLinejoin = 'round'; this.skinning = false; this.morphTargets = false; this.morphNormals = false; this.setValues( parameters ); } MeshLambertMaterial.prototype = Object.create( Material.prototype ); MeshLambertMaterial.prototype.constructor = MeshLambertMaterial; MeshLambertMaterial.prototype.isMeshLambertMaterial = true; MeshLambertMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.map = source.map; this.lightMap = source.lightMap; this.lightMapIntensity = source.lightMapIntensity; this.aoMap = source.aoMap; this.aoMapIntensity = source.aoMapIntensity; this.emissive.copy( source.emissive ); this.emissiveMap = source.emissiveMap; this.emissiveIntensity = source.emissiveIntensity; this.specularMap = source.specularMap; this.alphaMap = source.alphaMap; this.envMap = source.envMap; this.combine = source.combine; this.reflectivity = source.reflectivity; this.refractionRatio = source.refractionRatio; this.wireframe = source.wireframe; this.wireframeLinewidth = source.wireframeLinewidth; this.wireframeLinecap = source.wireframeLinecap; this.wireframeLinejoin = source.wireframeLinejoin; this.skinning = source.skinning; this.morphTargets = source.morphTargets; this.morphNormals = source.morphNormals; return this; }; /** * @author alteredq / http://alteredqualia.com/ * * parameters = { * color: , * opacity: , * * linewidth: , * * scale: , * dashSize: , * gapSize: * } */ function LineDashedMaterial( parameters ) { Material.call( this ); this.type = 'LineDashedMaterial'; this.color = new Color( 0xffffff ); this.linewidth = 1; this.scale = 1; this.dashSize = 3; this.gapSize = 1; this.lights = false; this.setValues( parameters ); } LineDashedMaterial.prototype = Object.create( Material.prototype ); LineDashedMaterial.prototype.constructor = LineDashedMaterial; LineDashedMaterial.prototype.isLineDashedMaterial = true; LineDashedMaterial.prototype.copy = function ( source ) { Material.prototype.copy.call( this, source ); this.color.copy( source.color ); this.linewidth = source.linewidth; this.scale = source.scale; this.dashSize = source.dashSize; this.gapSize = source.gapSize; return this; }; var Materials = Object.freeze({ ShadowMaterial: ShadowMaterial, SpriteMaterial: SpriteMaterial, RawShaderMaterial: RawShaderMaterial, ShaderMaterial: ShaderMaterial, PointsMaterial: PointsMaterial, MeshPhysicalMaterial: MeshPhysicalMaterial, MeshStandardMaterial: MeshStandardMaterial, MeshPhongMaterial: MeshPhongMaterial, MeshToonMaterial: MeshToonMaterial, MeshNormalMaterial: MeshNormalMaterial, MeshLambertMaterial: MeshLambertMaterial, MeshDepthMaterial: MeshDepthMaterial, MeshBasicMaterial: MeshBasicMaterial, LineDashedMaterial: LineDashedMaterial, LineBasicMaterial: LineBasicMaterial, Material: Material }); /** * @author mrdoob / http://mrdoob.com/ */ var Cache = { enabled: false, files: {}, add: function ( key, file ) { if ( this.enabled === false ) return; // console.log( 'THREE.Cache', 'Adding key:', key ); this.files[ key ] = file; }, get: function ( key ) { if ( this.enabled === false ) return; // console.log( 'THREE.Cache', 'Checking key:', key ); return this.files[ key ]; }, remove: function ( key ) { delete this.files[ key ]; }, clear: function () { this.files = {}; } }; /** * @author mrdoob / http://mrdoob.com/ */ function LoadingManager( onLoad, onProgress, onError ) { var scope = this; var isLoading = false, itemsLoaded = 0, itemsTotal = 0; this.onStart = undefined; this.onLoad = onLoad; this.onProgress = onProgress; this.onError = onError; this.itemStart = function ( url ) { itemsTotal ++; if ( isLoading === false ) { if ( scope.onStart !== undefined ) { scope.onStart( url, itemsLoaded, itemsTotal ); } } isLoading = true; }; this.itemEnd = function ( url ) { itemsLoaded ++; if ( scope.onProgress !== undefined ) { scope.onProgress( url, itemsLoaded, itemsTotal ); } if ( itemsLoaded === itemsTotal ) { isLoading = false; if ( scope.onLoad !== undefined ) { scope.onLoad(); } } }; this.itemError = function ( url ) { if ( scope.onError !== undefined ) { scope.onError( url ); } }; } var DefaultLoadingManager = new LoadingManager(); /** * @author mrdoob / http://mrdoob.com/ */ function FileLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( FileLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { if ( url === undefined ) url = ''; if ( this.path !== undefined ) url = this.path + url; var scope = this; var cached = Cache.get( url ); if ( cached !== undefined ) { scope.manager.itemStart( url ); setTimeout( function () { if ( onLoad ) onLoad( cached ); scope.manager.itemEnd( url ); }, 0 ); return cached; } // Check for data: URI var dataUriRegex = /^data:(.*?)(;base64)?,(.*)$/; var dataUriRegexResult = url.match( dataUriRegex ); // Safari can not handle Data URIs through XMLHttpRequest so process manually if ( dataUriRegexResult ) { var mimeType = dataUriRegexResult[ 1 ]; var isBase64 = !! dataUriRegexResult[ 2 ]; var data = dataUriRegexResult[ 3 ]; data = window.decodeURIComponent( data ); if ( isBase64 ) data = window.atob( data ); try { var response; var responseType = ( this.responseType || '' ).toLowerCase(); switch ( responseType ) { case 'arraybuffer': case 'blob': response = new ArrayBuffer( data.length ); var view = new Uint8Array( response ); for ( var i = 0; i < data.length; i ++ ) { view[ i ] = data.charCodeAt( i ); } if ( responseType === 'blob' ) { response = new Blob( [ response ], { type: mimeType } ); } break; case 'document': var parser = new DOMParser(); response = parser.parseFromString( data, mimeType ); break; case 'json': response = JSON.parse( data ); break; default: // 'text' or other response = data; break; } // Wait for next browser tick window.setTimeout( function () { if ( onLoad ) onLoad( response ); scope.manager.itemEnd( url ); }, 0 ); } catch ( error ) { // Wait for next browser tick window.setTimeout( function () { if ( onError ) onError( error ); scope.manager.itemEnd( url ); scope.manager.itemError( url ); }, 0 ); } } else { var request = new XMLHttpRequest(); request.open( 'GET', url, true ); request.addEventListener( 'load', function ( event ) { var response = event.target.response; Cache.add( url, response ); if ( this.status === 200 ) { if ( onLoad ) onLoad( response ); scope.manager.itemEnd( url ); } else if ( this.status === 0 ) { // Some browsers return HTTP Status 0 when using non-http protocol // e.g. 'file://' or 'data://'. Handle as success. console.warn( 'THREE.FileLoader: HTTP Status 0 received.' ); if ( onLoad ) onLoad( response ); scope.manager.itemEnd( url ); } else { if ( onError ) onError( event ); scope.manager.itemEnd( url ); scope.manager.itemError( url ); } }, false ); if ( onProgress !== undefined ) { request.addEventListener( 'progress', function ( event ) { onProgress( event ); }, false ); } request.addEventListener( 'error', function ( event ) { if ( onError ) onError( event ); scope.manager.itemEnd( url ); scope.manager.itemError( url ); }, false ); if ( this.responseType !== undefined ) request.responseType = this.responseType; if ( this.withCredentials !== undefined ) request.withCredentials = this.withCredentials; if ( request.overrideMimeType ) request.overrideMimeType( this.mimeType !== undefined ? this.mimeType : 'text/plain' ); for ( var header in this.requestHeader ) { request.setRequestHeader( header, this.requestHeader[ header ] ); } request.send( null ); } scope.manager.itemStart( url ); return request; }, setPath: function ( value ) { this.path = value; return this; }, setResponseType: function ( value ) { this.responseType = value; return this; }, setWithCredentials: function ( value ) { this.withCredentials = value; return this; }, setMimeType: function ( value ) { this.mimeType = value; return this; }, setRequestHeader: function ( value ) { this.requestHeader = value; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * * Abstract Base class to block based textures loader (dds, pvr, ...) */ function CompressedTextureLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; // override in sub classes this._parser = null; } Object.assign( CompressedTextureLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var images = []; var texture = new CompressedTexture(); texture.image = images; var loader = new FileLoader( this.manager ); loader.setPath( this.path ); loader.setResponseType( 'arraybuffer' ); function loadTexture( i ) { loader.load( url[ i ], function ( buffer ) { var texDatas = scope._parser( buffer, true ); images[ i ] = { width: texDatas.width, height: texDatas.height, format: texDatas.format, mipmaps: texDatas.mipmaps }; loaded += 1; if ( loaded === 6 ) { if ( texDatas.mipmapCount === 1 ) texture.minFilter = LinearFilter; texture.format = texDatas.format; texture.needsUpdate = true; if ( onLoad ) onLoad( texture ); } }, onProgress, onError ); } if ( Array.isArray( url ) ) { var loaded = 0; for ( var i = 0, il = url.length; i < il; ++ i ) { loadTexture( i ); } } else { // compressed cubemap texture stored in a single DDS file loader.load( url, function ( buffer ) { var texDatas = scope._parser( buffer, true ); if ( texDatas.isCubemap ) { var faces = texDatas.mipmaps.length / texDatas.mipmapCount; for ( var f = 0; f < faces; f ++ ) { images[ f ] = { mipmaps : [] }; for ( var i = 0; i < texDatas.mipmapCount; i ++ ) { images[ f ].mipmaps.push( texDatas.mipmaps[ f * texDatas.mipmapCount + i ] ); images[ f ].format = texDatas.format; images[ f ].width = texDatas.width; images[ f ].height = texDatas.height; } } } else { texture.image.width = texDatas.width; texture.image.height = texDatas.height; texture.mipmaps = texDatas.mipmaps; } if ( texDatas.mipmapCount === 1 ) { texture.minFilter = LinearFilter; } texture.format = texDatas.format; texture.needsUpdate = true; if ( onLoad ) onLoad( texture ); }, onProgress, onError ); } return texture; }, setPath: function ( value ) { this.path = value; return this; } } ); /** * @author Nikos M. / https://github.com/foo123/ * * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...) */ function DataTextureLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; // override in sub classes this._parser = null; } Object.assign( DataTextureLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var texture = new DataTexture(); var loader = new FileLoader( this.manager ); loader.setResponseType( 'arraybuffer' ); loader.load( url, function ( buffer ) { var texData = scope._parser( buffer ); if ( ! texData ) return; if ( undefined !== texData.image ) { texture.image = texData.image; } else if ( undefined !== texData.data ) { texture.image.width = texData.width; texture.image.height = texData.height; texture.image.data = texData.data; } texture.wrapS = undefined !== texData.wrapS ? texData.wrapS : ClampToEdgeWrapping; texture.wrapT = undefined !== texData.wrapT ? texData.wrapT : ClampToEdgeWrapping; texture.magFilter = undefined !== texData.magFilter ? texData.magFilter : LinearFilter; texture.minFilter = undefined !== texData.minFilter ? texData.minFilter : LinearMipMapLinearFilter; texture.anisotropy = undefined !== texData.anisotropy ? texData.anisotropy : 1; if ( undefined !== texData.format ) { texture.format = texData.format; } if ( undefined !== texData.type ) { texture.type = texData.type; } if ( undefined !== texData.mipmaps ) { texture.mipmaps = texData.mipmaps; } if ( 1 === texData.mipmapCount ) { texture.minFilter = LinearFilter; } texture.needsUpdate = true; if ( onLoad ) onLoad( texture, texData ); }, onProgress, onError ); return texture; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function ImageLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( ImageLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { if ( url === undefined ) url = ''; if ( this.path !== undefined ) url = this.path + url; var scope = this; var cached = Cache.get( url ); if ( cached !== undefined ) { scope.manager.itemStart( url ); setTimeout( function () { if ( onLoad ) onLoad( cached ); scope.manager.itemEnd( url ); }, 0 ); return cached; } var image = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'img' ); image.addEventListener( 'load', function () { Cache.add( url, this ); if ( onLoad ) onLoad( this ); scope.manager.itemEnd( url ); }, false ); /* image.addEventListener( 'progress', function ( event ) { if ( onProgress ) onProgress( event ); }, false ); */ image.addEventListener( 'error', function ( event ) { if ( onError ) onError( event ); scope.manager.itemEnd( url ); scope.manager.itemError( url ); }, false ); if ( url.substr( 0, 5 ) !== 'data:' ) { if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin; } scope.manager.itemStart( url ); image.src = url; return image; }, setCrossOrigin: function ( value ) { this.crossOrigin = value; return this; }, setPath: function ( value ) { this.path = value; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function CubeTextureLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( CubeTextureLoader.prototype, { load: function ( urls, onLoad, onProgress, onError ) { var texture = new CubeTexture(); var loader = new ImageLoader( this.manager ); loader.setCrossOrigin( this.crossOrigin ); loader.setPath( this.path ); var loaded = 0; function loadTexture( i ) { loader.load( urls[ i ], function ( image ) { texture.images[ i ] = image; loaded ++; if ( loaded === 6 ) { texture.needsUpdate = true; if ( onLoad ) onLoad( texture ); } }, undefined, onError ); } for ( var i = 0; i < urls.length; ++ i ) { loadTexture( i ); } return texture; }, setCrossOrigin: function ( value ) { this.crossOrigin = value; return this; }, setPath: function ( value ) { this.path = value; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function TextureLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( TextureLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var loader = new ImageLoader( this.manager ); loader.setCrossOrigin( this.crossOrigin ); loader.setPath( this.path ); var texture = new Texture(); texture.image = loader.load( url, function () { // JPEGs can't have an alpha channel, so memory can be saved by storing them as RGB. var isJPEG = url.search( /\.(jpg|jpeg)$/ ) > 0 || url.search( /^data\:image\/jpeg/ ) === 0; texture.format = isJPEG ? RGBFormat : RGBAFormat; texture.needsUpdate = true; if ( onLoad !== undefined ) { onLoad( texture ); } }, onProgress, onError ); return texture; }, setCrossOrigin: function ( value ) { this.crossOrigin = value; return this; }, setPath: function ( value ) { this.path = value; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function Light( color, intensity ) { Object3D.call( this ); this.type = 'Light'; this.color = new Color( color ); this.intensity = intensity !== undefined ? intensity : 1; this.receiveShadow = undefined; } Light.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Light, isLight: true, copy: function ( source ) { Object3D.prototype.copy.call( this, source ); this.color.copy( source.color ); this.intensity = source.intensity; return this; }, toJSON: function ( meta ) { var data = Object3D.prototype.toJSON.call( this, meta ); data.object.color = this.color.getHex(); data.object.intensity = this.intensity; if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex(); if ( this.distance !== undefined ) data.object.distance = this.distance; if ( this.angle !== undefined ) data.object.angle = this.angle; if ( this.decay !== undefined ) data.object.decay = this.decay; if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra; if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON(); return data; } } ); /** * @author alteredq / http://alteredqualia.com/ */ function HemisphereLight( skyColor, groundColor, intensity ) { Light.call( this, skyColor, intensity ); this.type = 'HemisphereLight'; this.castShadow = undefined; this.position.copy( Object3D.DefaultUp ); this.updateMatrix(); this.groundColor = new Color( groundColor ); } HemisphereLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: HemisphereLight, isHemisphereLight: true, copy: function ( source ) { Light.prototype.copy.call( this, source ); this.groundColor.copy( source.groundColor ); return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function LightShadow( camera ) { this.camera = camera; this.bias = 0; this.radius = 1; this.mapSize = new Vector2( 512, 512 ); this.map = null; this.matrix = new Matrix4(); } Object.assign( LightShadow.prototype, { copy: function ( source ) { this.camera = source.camera.clone(); this.bias = source.bias; this.radius = source.radius; this.mapSize.copy( source.mapSize ); return this; }, clone: function () { return new this.constructor().copy( this ); }, toJSON: function () { var object = {}; if ( this.bias !== 0 ) object.bias = this.bias; if ( this.radius !== 1 ) object.radius = this.radius; if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray(); object.camera = this.camera.toJSON( false ).object; delete object.camera.matrix; return object; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function SpotLightShadow() { LightShadow.call( this, new PerspectiveCamera( 50, 1, 0.5, 500 ) ); } SpotLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { constructor: SpotLightShadow, isSpotLightShadow: true, update: function ( light ) { var camera = this.camera; var fov = _Math.RAD2DEG * 2 * light.angle; var aspect = this.mapSize.width / this.mapSize.height; var far = light.distance || camera.far; if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { camera.fov = fov; camera.aspect = aspect; camera.far = far; camera.updateProjectionMatrix(); } } } ); /** * @author alteredq / http://alteredqualia.com/ */ function SpotLight( color, intensity, distance, angle, penumbra, decay ) { Light.call( this, color, intensity ); this.type = 'SpotLight'; this.position.copy( Object3D.DefaultUp ); this.updateMatrix(); this.target = new Object3D(); Object.defineProperty( this, 'power', { get: function () { // intensity = power per solid angle. // ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf return this.intensity * Math.PI; }, set: function ( power ) { // intensity = power per solid angle. // ref: equation (17) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf this.intensity = power / Math.PI; } } ); this.distance = ( distance !== undefined ) ? distance : 0; this.angle = ( angle !== undefined ) ? angle : Math.PI / 3; this.penumbra = ( penumbra !== undefined ) ? penumbra : 0; this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. this.shadow = new SpotLightShadow(); } SpotLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: SpotLight, isSpotLight: true, copy: function ( source ) { Light.prototype.copy.call( this, source ); this.distance = source.distance; this.angle = source.angle; this.penumbra = source.penumbra; this.decay = source.decay; this.target = source.target.clone(); this.shadow = source.shadow.clone(); return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function PointLight( color, intensity, distance, decay ) { Light.call( this, color, intensity ); this.type = 'PointLight'; Object.defineProperty( this, 'power', { get: function () { // intensity = power per solid angle. // ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf return this.intensity * 4 * Math.PI; }, set: function ( power ) { // intensity = power per solid angle. // ref: equation (15) from http://www.frostbite.com/wp-content/uploads/2014/11/course_notes_moving_frostbite_to_pbr.pdf this.intensity = power / ( 4 * Math.PI ); } } ); this.distance = ( distance !== undefined ) ? distance : 0; this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. this.shadow = new LightShadow( new PerspectiveCamera( 90, 1, 0.5, 500 ) ); } PointLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: PointLight, isPointLight: true, copy: function ( source ) { Light.prototype.copy.call( this, source ); this.distance = source.distance; this.decay = source.decay; this.shadow = source.shadow.clone(); return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function DirectionalLightShadow( ) { LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); } DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { constructor: DirectionalLightShadow } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function DirectionalLight( color, intensity ) { Light.call( this, color, intensity ); this.type = 'DirectionalLight'; this.position.copy( Object3D.DefaultUp ); this.updateMatrix(); this.target = new Object3D(); this.shadow = new DirectionalLightShadow(); } DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: DirectionalLight, isDirectionalLight: true, copy: function ( source ) { Light.prototype.copy.call( this, source ); this.target = source.target.clone(); this.shadow = source.shadow.clone(); return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function AmbientLight( color, intensity ) { Light.call( this, color, intensity ); this.type = 'AmbientLight'; this.castShadow = undefined; } AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: AmbientLight, isAmbientLight: true } ); /** * @author abelnation / http://github.com/abelnation */ function RectAreaLight( color, intensity, width, height ) { Light.call( this, color, intensity ); this.type = 'RectAreaLight'; this.position.set( 0, 1, 0 ); this.updateMatrix(); this.width = ( width !== undefined ) ? width : 10; this.height = ( height !== undefined ) ? height : 10; // TODO (abelnation): distance/decay // TODO (abelnation): update method for RectAreaLight to update transform to lookat target // TODO (abelnation): shadows } // TODO (abelnation): RectAreaLight update when light shape is changed RectAreaLight.prototype = Object.assign( Object.create( Light.prototype ), { constructor: RectAreaLight, isRectAreaLight: true, copy: function ( source ) { Light.prototype.copy.call( this, source ); this.width = source.width; this.height = source.height; return this; }, toJSON: function ( meta ) { var data = Light.prototype.toJSON.call( this, meta ); data.object.width = this.width; data.object.height = this.height; return data; } } ); /** * @author tschw * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ */ var AnimationUtils = { // same as Array.prototype.slice, but also works on typed arrays arraySlice: function ( array, from, to ) { if ( AnimationUtils.isTypedArray( array ) ) { // in ios9 array.subarray(from, undefined) will return empty array // but array.subarray(from) or array.subarray(from, len) is correct return new array.constructor( array.subarray( from, to !== undefined ? to : array.length ) ); } return array.slice( from, to ); }, // converts an array to a specific type convertArray: function ( array, type, forceClone ) { if ( ! array || // let 'undefined' and 'null' pass ! forceClone && array.constructor === type ) return array; if ( typeof type.BYTES_PER_ELEMENT === 'number' ) { return new type( array ); // create typed array } return Array.prototype.slice.call( array ); // create Array }, isTypedArray: function ( object ) { return ArrayBuffer.isView( object ) && ! ( object instanceof DataView ); }, // returns an array by which times and values can be sorted getKeyframeOrder: function ( times ) { function compareTime( i, j ) { return times[ i ] - times[ j ]; } var n = times.length; var result = new Array( n ); for ( var i = 0; i !== n; ++ i ) result[ i ] = i; result.sort( compareTime ); return result; }, // uses the array previously returned by 'getKeyframeOrder' to sort data sortedArray: function ( values, stride, order ) { var nValues = values.length; var result = new values.constructor( nValues ); for ( var i = 0, dstOffset = 0; dstOffset !== nValues; ++ i ) { var srcOffset = order[ i ] * stride; for ( var j = 0; j !== stride; ++ j ) { result[ dstOffset ++ ] = values[ srcOffset + j ]; } } return result; }, // function for parsing AOS keyframe formats flattenJSON: function ( jsonKeys, times, values, valuePropertyName ) { var i = 1, key = jsonKeys[ 0 ]; while ( key !== undefined && key[ valuePropertyName ] === undefined ) { key = jsonKeys[ i ++ ]; } if ( key === undefined ) return; // no data var value = key[ valuePropertyName ]; if ( value === undefined ) return; // no data if ( Array.isArray( value ) ) { do { value = key[ valuePropertyName ]; if ( value !== undefined ) { times.push( key.time ); values.push.apply( values, value ); // push all elements } key = jsonKeys[ i ++ ]; } while ( key !== undefined ); } else if ( value.toArray !== undefined ) { // ...assume THREE.Math-ish do { value = key[ valuePropertyName ]; if ( value !== undefined ) { times.push( key.time ); value.toArray( values, values.length ); } key = jsonKeys[ i ++ ]; } while ( key !== undefined ); } else { // otherwise push as-is do { value = key[ valuePropertyName ]; if ( value !== undefined ) { times.push( key.time ); values.push( value ); } key = jsonKeys[ i ++ ]; } while ( key !== undefined ); } } }; /** * Abstract base class of interpolants over parametric samples. * * The parameter domain is one dimensional, typically the time or a path * along a curve defined by the data. * * The sample values can have any dimensionality and derived classes may * apply special interpretations to the data. * * This class provides the interval seek in a Template Method, deferring * the actual interpolation to derived classes. * * Time complexity is O(1) for linear access crossing at most two points * and O(log N) for random access, where N is the number of positions. * * References: * * http://www.oodesign.com/template-method-pattern.html * * @author tschw */ function Interpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { this.parameterPositions = parameterPositions; this._cachedIndex = 0; this.resultBuffer = resultBuffer !== undefined ? resultBuffer : new sampleValues.constructor( sampleSize ); this.sampleValues = sampleValues; this.valueSize = sampleSize; } Object.assign( Interpolant.prototype, { evaluate: function( t ) { var pp = this.parameterPositions, i1 = this._cachedIndex, t1 = pp[ i1 ], t0 = pp[ i1 - 1 ]; validate_interval: { seek: { var right; linear_scan: { //- See http://jsperf.com/comparison-to-undefined/3 //- slower code: //- //- if ( t >= t1 || t1 === undefined ) { forward_scan: if ( ! ( t < t1 ) ) { for ( var giveUpAt = i1 + 2; ;) { if ( t1 === undefined ) { if ( t < t0 ) break forward_scan; // after end i1 = pp.length; this._cachedIndex = i1; return this.afterEnd_( i1 - 1, t, t0 ); } if ( i1 === giveUpAt ) break; // this loop t0 = t1; t1 = pp[ ++ i1 ]; if ( t < t1 ) { // we have arrived at the sought interval break seek; } } // prepare binary search on the right side of the index right = pp.length; break linear_scan; } //- slower code: //- if ( t < t0 || t0 === undefined ) { if ( ! ( t >= t0 ) ) { // looping? var t1global = pp[ 1 ]; if ( t < t1global ) { i1 = 2; // + 1, using the scan for the details t0 = t1global; } // linear reverse scan for ( var giveUpAt = i1 - 2; ;) { if ( t0 === undefined ) { // before start this._cachedIndex = 0; return this.beforeStart_( 0, t, t1 ); } if ( i1 === giveUpAt ) break; // this loop t1 = t0; t0 = pp[ -- i1 - 1 ]; if ( t >= t0 ) { // we have arrived at the sought interval break seek; } } // prepare binary search on the left side of the index right = i1; i1 = 0; break linear_scan; } // the interval is valid break validate_interval; } // linear scan // binary search while ( i1 < right ) { var mid = ( i1 + right ) >>> 1; if ( t < pp[ mid ] ) { right = mid; } else { i1 = mid + 1; } } t1 = pp[ i1 ]; t0 = pp[ i1 - 1 ]; // check boundary cases, again if ( t0 === undefined ) { this._cachedIndex = 0; return this.beforeStart_( 0, t, t1 ); } if ( t1 === undefined ) { i1 = pp.length; this._cachedIndex = i1; return this.afterEnd_( i1 - 1, t0, t ); } } // seek this._cachedIndex = i1; this.intervalChanged_( i1, t0, t1 ); } // validate_interval return this.interpolate_( i1, t0, t, t1 ); }, settings: null, // optional, subclass-specific settings structure // Note: The indirection allows central control of many interpolants. // --- Protected interface DefaultSettings_: {}, getSettings_: function() { return this.settings || this.DefaultSettings_; }, copySampleValue_: function( index ) { // copies a sample value to the result buffer var result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset = index * stride; for ( var i = 0; i !== stride; ++ i ) { result[ i ] = values[ offset + i ]; } return result; }, // Template methods for derived classes: interpolate_: function( i1, t0, t, t1 ) { throw new Error( "call to abstract method" ); // implementations shall return this.resultBuffer }, intervalChanged_: function( i1, t0, t1 ) { // empty } } ); //!\ DECLARE ALIAS AFTER assign prototype ! Object.assign( Interpolant.prototype, { //( 0, t, t0 ), returns this.resultBuffer beforeStart_: Interpolant.prototype.copySampleValue_, //( N-1, tN-1, t ), returns this.resultBuffer afterEnd_: Interpolant.prototype.copySampleValue_, } ); /** * Fast and simple cubic spline interpolant. * * It was derived from a Hermitian construction setting the first derivative * at each sample position to the linear slope between neighboring positions * over their parameter interval. * * @author tschw */ function CubicInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); this._weightPrev = -0; this._offsetPrev = -0; this._weightNext = -0; this._offsetNext = -0; } CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { constructor: CubicInterpolant, DefaultSettings_: { endingStart: ZeroCurvatureEnding, endingEnd: ZeroCurvatureEnding }, intervalChanged_: function( i1, t0, t1 ) { var pp = this.parameterPositions, iPrev = i1 - 2, iNext = i1 + 1, tPrev = pp[ iPrev ], tNext = pp[ iNext ]; if ( tPrev === undefined ) { switch ( this.getSettings_().endingStart ) { case ZeroSlopeEnding: // f'(t0) = 0 iPrev = i1; tPrev = 2 * t0 - t1; break; case WrapAroundEnding: // use the other end of the curve iPrev = pp.length - 2; tPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ]; break; default: // ZeroCurvatureEnding // f''(t0) = 0 a.k.a. Natural Spline iPrev = i1; tPrev = t1; } } if ( tNext === undefined ) { switch ( this.getSettings_().endingEnd ) { case ZeroSlopeEnding: // f'(tN) = 0 iNext = i1; tNext = 2 * t1 - t0; break; case WrapAroundEnding: // use the other end of the curve iNext = 1; tNext = t1 + pp[ 1 ] - pp[ 0 ]; break; default: // ZeroCurvatureEnding // f''(tN) = 0, a.k.a. Natural Spline iNext = i1 - 1; tNext = t0; } } var halfDt = ( t1 - t0 ) * 0.5, stride = this.valueSize; this._weightPrev = halfDt / ( t0 - tPrev ); this._weightNext = halfDt / ( tNext - t1 ); this._offsetPrev = iPrev * stride; this._offsetNext = iNext * stride; }, interpolate_: function( i1, t0, t, t1 ) { var result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, o1 = i1 * stride, o0 = o1 - stride, oP = this._offsetPrev, oN = this._offsetNext, wP = this._weightPrev, wN = this._weightNext, p = ( t - t0 ) / ( t1 - t0 ), pp = p * p, ppp = pp * p; // evaluate polynomials var sP = - wP * ppp + 2 * wP * pp - wP * p; var s0 = ( 1 + wP ) * ppp + (-1.5 - 2 * wP ) * pp + ( -0.5 + wP ) * p + 1; var s1 = (-1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p; var sN = wN * ppp - wN * pp; // combine data linearly for ( var i = 0; i !== stride; ++ i ) { result[ i ] = sP * values[ oP + i ] + s0 * values[ o0 + i ] + s1 * values[ o1 + i ] + sN * values[ oN + i ]; } return result; } } ); /** * @author tschw */ function LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); } LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { constructor: LinearInterpolant, interpolate_: function( i1, t0, t, t1 ) { var result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset1 = i1 * stride, offset0 = offset1 - stride, weight1 = ( t - t0 ) / ( t1 - t0 ), weight0 = 1 - weight1; for ( var i = 0; i !== stride; ++ i ) { result[ i ] = values[ offset0 + i ] * weight0 + values[ offset1 + i ] * weight1; } return result; } } ); /** * * Interpolant that evaluates to the sample value at the position preceeding * the parameter. * * @author tschw */ function DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); } DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { constructor: DiscreteInterpolant, interpolate_: function( i1, t0, t, t1 ) { return this.copySampleValue_( i1 - 1 ); } } ); var KeyframeTrackPrototype; KeyframeTrackPrototype = { TimeBufferType: Float32Array, ValueBufferType: Float32Array, DefaultInterpolation: InterpolateLinear, InterpolantFactoryMethodDiscrete: function ( result ) { return new DiscreteInterpolant( this.times, this.values, this.getValueSize(), result ); }, InterpolantFactoryMethodLinear: function ( result ) { return new LinearInterpolant( this.times, this.values, this.getValueSize(), result ); }, InterpolantFactoryMethodSmooth: function ( result ) { return new CubicInterpolant( this.times, this.values, this.getValueSize(), result ); }, setInterpolation: function ( interpolation ) { var factoryMethod; switch ( interpolation ) { case InterpolateDiscrete: factoryMethod = this.InterpolantFactoryMethodDiscrete; break; case InterpolateLinear: factoryMethod = this.InterpolantFactoryMethodLinear; break; case InterpolateSmooth: factoryMethod = this.InterpolantFactoryMethodSmooth; break; } if ( factoryMethod === undefined ) { var message = "unsupported interpolation for " + this.ValueTypeName + " keyframe track named " + this.name; if ( this.createInterpolant === undefined ) { // fall back to default, unless the default itself is messed up if ( interpolation !== this.DefaultInterpolation ) { this.setInterpolation( this.DefaultInterpolation ); } else { throw new Error( message ); // fatal, in this case } } console.warn( 'THREE.KeyframeTrackPrototype:', message ); return; } this.createInterpolant = factoryMethod; }, getInterpolation: function () { switch ( this.createInterpolant ) { case this.InterpolantFactoryMethodDiscrete: return InterpolateDiscrete; case this.InterpolantFactoryMethodLinear: return InterpolateLinear; case this.InterpolantFactoryMethodSmooth: return InterpolateSmooth; } }, getValueSize: function () { return this.values.length / this.times.length; }, // move all keyframes either forwards or backwards in time shift: function ( timeOffset ) { if ( timeOffset !== 0.0 ) { var times = this.times; for ( var i = 0, n = times.length; i !== n; ++ i ) { times[ i ] += timeOffset; } } return this; }, // scale all keyframe times by a factor (useful for frame <-> seconds conversions) scale: function ( timeScale ) { if ( timeScale !== 1.0 ) { var times = this.times; for ( var i = 0, n = times.length; i !== n; ++ i ) { times[ i ] *= timeScale; } } return this; }, // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values trim: function ( startTime, endTime ) { var times = this.times, nKeys = times.length, from = 0, to = nKeys - 1; while ( from !== nKeys && times[ from ] < startTime ) ++ from; while ( to !== - 1 && times[ to ] > endTime ) -- to; ++ to; // inclusive -> exclusive bound if ( from !== 0 || to !== nKeys ) { // empty tracks are forbidden, so keep at least one keyframe if ( from >= to ) to = Math.max( to, 1 ), from = to - 1; var stride = this.getValueSize(); this.times = AnimationUtils.arraySlice( times, from, to ); this.values = AnimationUtils. arraySlice( this.values, from * stride, to * stride ); } return this; }, // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable validate: function () { var valid = true; var valueSize = this.getValueSize(); if ( valueSize - Math.floor( valueSize ) !== 0 ) { console.error( 'THREE.KeyframeTrackPrototype: Invalid value size in track.', this ); valid = false; } var times = this.times, values = this.values, nKeys = times.length; if ( nKeys === 0 ) { console.error( 'THREE.KeyframeTrackPrototype: Track is empty.', this ); valid = false; } var prevTime = null; for ( var i = 0; i !== nKeys; i ++ ) { var currTime = times[ i ]; if ( typeof currTime === 'number' && isNaN( currTime ) ) { console.error( 'THREE.KeyframeTrackPrototype: Time is not a valid number.', this, i, currTime ); valid = false; break; } if ( prevTime !== null && prevTime > currTime ) { console.error( 'THREE.KeyframeTrackPrototype: Out of order keys.', this, i, currTime, prevTime ); valid = false; break; } prevTime = currTime; } if ( values !== undefined ) { if ( AnimationUtils.isTypedArray( values ) ) { for ( var i = 0, n = values.length; i !== n; ++ i ) { var value = values[ i ]; if ( isNaN( value ) ) { console.error( 'THREE.KeyframeTrackPrototype: Value is not a valid number.', this, i, value ); valid = false; break; } } } } return valid; }, // removes equivalent sequential keys as common in morph target sequences // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) optimize: function () { var times = this.times, values = this.values, stride = this.getValueSize(), smoothInterpolation = this.getInterpolation() === InterpolateSmooth, writeIndex = 1, lastIndex = times.length - 1; for ( var i = 1; i < lastIndex; ++ i ) { var keep = false; var time = times[ i ]; var timeNext = times[ i + 1 ]; // remove adjacent keyframes scheduled at the same time if ( time !== timeNext && ( i !== 1 || time !== time[ 0 ] ) ) { if ( ! smoothInterpolation ) { // remove unnecessary keyframes same as their neighbors var offset = i * stride, offsetP = offset - stride, offsetN = offset + stride; for ( var j = 0; j !== stride; ++ j ) { var value = values[ offset + j ]; if ( value !== values[ offsetP + j ] || value !== values[ offsetN + j ] ) { keep = true; break; } } } else keep = true; } // in-place compaction if ( keep ) { if ( i !== writeIndex ) { times[ writeIndex ] = times[ i ]; var readOffset = i * stride, writeOffset = writeIndex * stride; for ( var j = 0; j !== stride; ++ j ) values[ writeOffset + j ] = values[ readOffset + j ]; } ++ writeIndex; } } // flush last keyframe (compaction looks ahead) if ( lastIndex > 0 ) { times[ writeIndex ] = times[ lastIndex ]; for ( var readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++ j ) values[ writeOffset + j ] = values[ readOffset + j ]; ++ writeIndex; } if ( writeIndex !== times.length ) { this.times = AnimationUtils.arraySlice( times, 0, writeIndex ); this.values = AnimationUtils.arraySlice( values, 0, writeIndex * stride ); } return this; } }; function KeyframeTrackConstructor( name, times, values, interpolation ) { if ( name === undefined ) throw new Error( "track name is undefined" ); if ( times === undefined || times.length === 0 ) { throw new Error( "no keyframes in track named " + name ); } this.name = name; this.times = AnimationUtils.convertArray( times, this.TimeBufferType ); this.values = AnimationUtils.convertArray( values, this.ValueBufferType ); this.setInterpolation( interpolation || this.DefaultInterpolation ); this.validate(); this.optimize(); } /** * * A Track of vectored keyframe values. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function VectorKeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.call( this, name, times, values, interpolation ); } VectorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: VectorKeyframeTrack, ValueTypeName: 'vector' // ValueBufferType is inherited // DefaultInterpolation is inherited } ); /** * Spherical linear unit quaternion interpolant. * * @author tschw */ function QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); } QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { constructor: QuaternionLinearInterpolant, interpolate_: function( i1, t0, t, t1 ) { var result = this.resultBuffer, values = this.sampleValues, stride = this.valueSize, offset = i1 * stride, alpha = ( t - t0 ) / ( t1 - t0 ); for ( var end = offset + stride; offset !== end; offset += 4 ) { Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha ); } return result; } } ); /** * * A Track of quaternion keyframe values. * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function QuaternionKeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.call( this, name, times, values, interpolation ); } QuaternionKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: QuaternionKeyframeTrack, ValueTypeName: 'quaternion', // ValueBufferType is inherited DefaultInterpolation: InterpolateLinear, InterpolantFactoryMethodLinear: function( result ) { return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result ); }, InterpolantFactoryMethodSmooth: undefined // not yet implemented } ); /** * * A Track of numeric keyframe values. * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function NumberKeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.call( this, name, times, values, interpolation ); } NumberKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: NumberKeyframeTrack, ValueTypeName: 'number' // ValueBufferType is inherited // DefaultInterpolation is inherited } ); /** * * A Track that interpolates Strings * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function StringKeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.call( this, name, times, values, interpolation ); } StringKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: StringKeyframeTrack, ValueTypeName: 'string', ValueBufferType: Array, DefaultInterpolation: InterpolateDiscrete, InterpolantFactoryMethodLinear: undefined, InterpolantFactoryMethodSmooth: undefined } ); /** * * A Track of Boolean keyframe values. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function BooleanKeyframeTrack( name, times, values ) { KeyframeTrackConstructor.call( this, name, times, values ); } BooleanKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: BooleanKeyframeTrack, ValueTypeName: 'bool', ValueBufferType: Array, DefaultInterpolation: InterpolateDiscrete, InterpolantFactoryMethodLinear: undefined, InterpolantFactoryMethodSmooth: undefined // Note: Actually this track could have a optimized / compressed // representation of a single value and a custom interpolant that // computes "firstValue ^ isOdd( index )". } ); /** * * A Track of keyframe values that represent color. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function ColorKeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.call( this, name, times, values, interpolation ); } ColorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrackPrototype ), { constructor: ColorKeyframeTrack, ValueTypeName: 'color' // ValueBufferType is inherited // DefaultInterpolation is inherited // Note: Very basic implementation and nothing special yet. // However, this is the place for color space parameterization. } ); /** * * A timed sequence of keyframes for a specific property. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function KeyframeTrack( name, times, values, interpolation ) { KeyframeTrackConstructor.apply( this, arguments ); } KeyframeTrack.prototype = KeyframeTrackPrototype; KeyframeTrackPrototype.constructor = KeyframeTrack; // Static methods: Object.assign( KeyframeTrack, { // Serialization (in static context, because of constructor invocation // and automatic invocation of .toJSON): parse: function( json ) { if( json.type === undefined ) { throw new Error( "track type undefined, can not parse" ); } var trackType = KeyframeTrack._getTrackTypeForValueTypeName( json.type ); if ( json.times === undefined ) { var times = [], values = []; AnimationUtils.flattenJSON( json.keys, times, values, 'value' ); json.times = times; json.values = values; } // derived classes can define a static parse method if ( trackType.parse !== undefined ) { return trackType.parse( json ); } else { // by default, we asssume a constructor compatible with the base return new trackType( json.name, json.times, json.values, json.interpolation ); } }, toJSON: function( track ) { var trackType = track.constructor; var json; // derived classes can define a static toJSON method if ( trackType.toJSON !== undefined ) { json = trackType.toJSON( track ); } else { // by default, we assume the data can be serialized as-is json = { 'name': track.name, 'times': AnimationUtils.convertArray( track.times, Array ), 'values': AnimationUtils.convertArray( track.values, Array ) }; var interpolation = track.getInterpolation(); if ( interpolation !== track.DefaultInterpolation ) { json.interpolation = interpolation; } } json.type = track.ValueTypeName; // mandatory return json; }, _getTrackTypeForValueTypeName: function( typeName ) { switch( typeName.toLowerCase() ) { case "scalar": case "double": case "float": case "number": case "integer": return NumberKeyframeTrack; case "vector": case "vector2": case "vector3": case "vector4": return VectorKeyframeTrack; case "color": return ColorKeyframeTrack; case "quaternion": return QuaternionKeyframeTrack; case "bool": case "boolean": return BooleanKeyframeTrack; case "string": return StringKeyframeTrack; } throw new Error( "Unsupported typeName: " + typeName ); } } ); /** * * Reusable set of Tracks that represent an animation. * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ */ function AnimationClip( name, duration, tracks ) { this.name = name; this.tracks = tracks; this.duration = ( duration !== undefined ) ? duration : - 1; this.uuid = _Math.generateUUID(); // this means it should figure out its duration by scanning the tracks if ( this.duration < 0 ) { this.resetDuration(); } this.optimize(); } Object.assign( AnimationClip, { parse: function ( json ) { var tracks = [], jsonTracks = json.tracks, frameTime = 1.0 / ( json.fps || 1.0 ); for ( var i = 0, n = jsonTracks.length; i !== n; ++ i ) { tracks.push( KeyframeTrack.parse( jsonTracks[ i ] ).scale( frameTime ) ); } return new AnimationClip( json.name, json.duration, tracks ); }, toJSON: function ( clip ) { var tracks = [], clipTracks = clip.tracks; var json = { 'name': clip.name, 'duration': clip.duration, 'tracks': tracks }; for ( var i = 0, n = clipTracks.length; i !== n; ++ i ) { tracks.push( KeyframeTrack.toJSON( clipTracks[ i ] ) ); } return json; }, CreateFromMorphTargetSequence: function ( name, morphTargetSequence, fps, noLoop ) { var numMorphTargets = morphTargetSequence.length; var tracks = []; for ( var i = 0; i < numMorphTargets; i ++ ) { var times = []; var values = []; times.push( ( i + numMorphTargets - 1 ) % numMorphTargets, i, ( i + 1 ) % numMorphTargets ); values.push( 0, 1, 0 ); var order = AnimationUtils.getKeyframeOrder( times ); times = AnimationUtils.sortedArray( times, 1, order ); values = AnimationUtils.sortedArray( values, 1, order ); // if there is a key at the first frame, duplicate it as the // last frame as well for perfect loop. if ( ! noLoop && times[ 0 ] === 0 ) { times.push( numMorphTargets ); values.push( values[ 0 ] ); } tracks.push( new NumberKeyframeTrack( '.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']', times, values ).scale( 1.0 / fps ) ); } return new AnimationClip( name, - 1, tracks ); }, findByName: function ( objectOrClipArray, name ) { var clipArray = objectOrClipArray; if ( ! Array.isArray( objectOrClipArray ) ) { var o = objectOrClipArray; clipArray = o.geometry && o.geometry.animations || o.animations; } for ( var i = 0; i < clipArray.length; i ++ ) { if ( clipArray[ i ].name === name ) { return clipArray[ i ]; } } return null; }, CreateClipsFromMorphTargetSequences: function ( morphTargets, fps, noLoop ) { var animationToMorphTargets = {}; // tested with https://regex101.com/ on trick sequences // such flamingo_flyA_003, flamingo_run1_003, crdeath0059 var pattern = /^([\w-]*?)([\d]+)$/; // sort morph target names into animation groups based // patterns like Walk_001, Walk_002, Run_001, Run_002 for ( var i = 0, il = morphTargets.length; i < il; i ++ ) { var morphTarget = morphTargets[ i ]; var parts = morphTarget.name.match( pattern ); if ( parts && parts.length > 1 ) { var name = parts[ 1 ]; var animationMorphTargets = animationToMorphTargets[ name ]; if ( ! animationMorphTargets ) { animationToMorphTargets[ name ] = animationMorphTargets = []; } animationMorphTargets.push( morphTarget ); } } var clips = []; for ( var name in animationToMorphTargets ) { clips.push( AnimationClip.CreateFromMorphTargetSequence( name, animationToMorphTargets[ name ], fps, noLoop ) ); } return clips; }, // parse the animation.hierarchy format parseAnimation: function ( animation, bones ) { if ( ! animation ) { console.error( 'THREE.AnimationClip: No animation in JSONLoader data.' ); return null; } var addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) { // only return track if there are actually keys. if ( animationKeys.length !== 0 ) { var times = []; var values = []; AnimationUtils.flattenJSON( animationKeys, times, values, propertyName ); // empty keys are filtered out, so check again if ( times.length !== 0 ) { destTracks.push( new trackType( trackName, times, values ) ); } } }; var tracks = []; var clipName = animation.name || 'default'; // automatic length determination in AnimationClip. var duration = animation.length || - 1; var fps = animation.fps || 30; var hierarchyTracks = animation.hierarchy || []; for ( var h = 0; h < hierarchyTracks.length; h ++ ) { var animationKeys = hierarchyTracks[ h ].keys; // skip empty tracks if ( ! animationKeys || animationKeys.length === 0 ) continue; // process morph targets if ( animationKeys[ 0 ].morphTargets ) { // figure out all morph targets used in this track var morphTargetNames = {}; for ( var k = 0; k < animationKeys.length; k ++ ) { if ( animationKeys[ k ].morphTargets ) { for ( var m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) { morphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1; } } } // create a track for each morph target with all zero // morphTargetInfluences except for the keys in which // the morphTarget is named. for ( var morphTargetName in morphTargetNames ) { var times = []; var values = []; for ( var m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) { var animationKey = animationKeys[ k ]; times.push( animationKey.time ); values.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 ); } tracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) ); } duration = morphTargetNames.length * ( fps || 1.0 ); } else { // ...assume skeletal animation var boneName = '.bones[' + bones[ h ].name + ']'; addNonemptyTrack( VectorKeyframeTrack, boneName + '.position', animationKeys, 'pos', tracks ); addNonemptyTrack( QuaternionKeyframeTrack, boneName + '.quaternion', animationKeys, 'rot', tracks ); addNonemptyTrack( VectorKeyframeTrack, boneName + '.scale', animationKeys, 'scl', tracks ); } } if ( tracks.length === 0 ) { return null; } var clip = new AnimationClip( clipName, duration, tracks ); return clip; } } ); Object.assign( AnimationClip.prototype, { resetDuration: function () { var tracks = this.tracks, duration = 0; for ( var i = 0, n = tracks.length; i !== n; ++ i ) { var track = this.tracks[ i ]; duration = Math.max( duration, track.times[ track.times.length - 1 ] ); } this.duration = duration; }, trim: function () { for ( var i = 0; i < this.tracks.length; i ++ ) { this.tracks[ i ].trim( 0, this.duration ); } return this; }, optimize: function () { for ( var i = 0; i < this.tracks.length; i ++ ) { this.tracks[ i ].optimize(); } return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function MaterialLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; this.textures = {}; } Object.assign( MaterialLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var loader = new FileLoader( scope.manager ); loader.load( url, function ( text ) { onLoad( scope.parse( JSON.parse( text ) ) ); }, onProgress, onError ); }, setTextures: function ( value ) { this.textures = value; }, parse: function ( json ) { var textures = this.textures; function getTexture( name ) { if ( textures[ name ] === undefined ) { console.warn( 'THREE.MaterialLoader: Undefined texture', name ); } return textures[ name ]; } var material = new Materials[ json.type ](); if ( json.uuid !== undefined ) material.uuid = json.uuid; if ( json.name !== undefined ) material.name = json.name; if ( json.color !== undefined ) material.color.setHex( json.color ); if ( json.roughness !== undefined ) material.roughness = json.roughness; if ( json.metalness !== undefined ) material.metalness = json.metalness; if ( json.emissive !== undefined ) material.emissive.setHex( json.emissive ); if ( json.specular !== undefined ) material.specular.setHex( json.specular ); if ( json.shininess !== undefined ) material.shininess = json.shininess; if ( json.clearCoat !== undefined ) material.clearCoat = json.clearCoat; if ( json.clearCoatRoughness !== undefined ) material.clearCoatRoughness = json.clearCoatRoughness; if ( json.uniforms !== undefined ) material.uniforms = json.uniforms; if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader; if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader; if ( json.vertexColors !== undefined ) material.vertexColors = json.vertexColors; if ( json.fog !== undefined ) material.fog = json.fog; if ( json.shading !== undefined ) material.shading = json.shading; if ( json.blending !== undefined ) material.blending = json.blending; if ( json.side !== undefined ) material.side = json.side; if ( json.opacity !== undefined ) material.opacity = json.opacity; if ( json.transparent !== undefined ) material.transparent = json.transparent; if ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest; if ( json.depthTest !== undefined ) material.depthTest = json.depthTest; if ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite; if ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite; if ( json.wireframe !== undefined ) material.wireframe = json.wireframe; if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth; if ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap; if ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin; if ( json.skinning !== undefined ) material.skinning = json.skinning; if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets; // for PointsMaterial if ( json.size !== undefined ) material.size = json.size; if ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation; // maps if ( json.map !== undefined ) material.map = getTexture( json.map ); if ( json.alphaMap !== undefined ) { material.alphaMap = getTexture( json.alphaMap ); material.transparent = true; } if ( json.bumpMap !== undefined ) material.bumpMap = getTexture( json.bumpMap ); if ( json.bumpScale !== undefined ) material.bumpScale = json.bumpScale; if ( json.normalMap !== undefined ) material.normalMap = getTexture( json.normalMap ); if ( json.normalScale !== undefined ) { var normalScale = json.normalScale; if ( Array.isArray( normalScale ) === false ) { // Blender exporter used to export a scalar. See #7459 normalScale = [ normalScale, normalScale ]; } material.normalScale = new Vector2().fromArray( normalScale ); } if ( json.displacementMap !== undefined ) material.displacementMap = getTexture( json.displacementMap ); if ( json.displacementScale !== undefined ) material.displacementScale = json.displacementScale; if ( json.displacementBias !== undefined ) material.displacementBias = json.displacementBias; if ( json.roughnessMap !== undefined ) material.roughnessMap = getTexture( json.roughnessMap ); if ( json.metalnessMap !== undefined ) material.metalnessMap = getTexture( json.metalnessMap ); if ( json.emissiveMap !== undefined ) material.emissiveMap = getTexture( json.emissiveMap ); if ( json.emissiveIntensity !== undefined ) material.emissiveIntensity = json.emissiveIntensity; if ( json.specularMap !== undefined ) material.specularMap = getTexture( json.specularMap ); if ( json.envMap !== undefined ) material.envMap = getTexture( json.envMap ); if ( json.reflectivity !== undefined ) material.reflectivity = json.reflectivity; if ( json.lightMap !== undefined ) material.lightMap = getTexture( json.lightMap ); if ( json.lightMapIntensity !== undefined ) material.lightMapIntensity = json.lightMapIntensity; if ( json.aoMap !== undefined ) material.aoMap = getTexture( json.aoMap ); if ( json.aoMapIntensity !== undefined ) material.aoMapIntensity = json.aoMapIntensity; if ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap ); return material; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function BufferGeometryLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( BufferGeometryLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var loader = new FileLoader( scope.manager ); loader.load( url, function ( text ) { onLoad( scope.parse( JSON.parse( text ) ) ); }, onProgress, onError ); }, parse: function ( json ) { var geometry = new BufferGeometry(); var index = json.data.index; if ( index !== undefined ) { var typedArray = new TYPED_ARRAYS[ index.type ]( index.array ); geometry.setIndex( new BufferAttribute( typedArray, 1 ) ); } var attributes = json.data.attributes; for ( var key in attributes ) { var attribute = attributes[ key ]; var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array ); geometry.addAttribute( key, new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized ) ); } var groups = json.data.groups || json.data.drawcalls || json.data.offsets; if ( groups !== undefined ) { for ( var i = 0, n = groups.length; i !== n; ++ i ) { var group = groups[ i ]; geometry.addGroup( group.start, group.count, group.materialIndex ); } } var boundingSphere = json.data.boundingSphere; if ( boundingSphere !== undefined ) { var center = new Vector3(); if ( boundingSphere.center !== undefined ) { center.fromArray( boundingSphere.center ); } geometry.boundingSphere = new Sphere( center, boundingSphere.radius ); } return geometry; } } ); var TYPED_ARRAYS = { Int8Array: Int8Array, Uint8Array: Uint8Array, // Workaround for IE11 pre KB2929437. See #11440 Uint8ClampedArray: typeof Uint8ClampedArray !== 'undefined' ? Uint8ClampedArray : Uint8Array, Int16Array: Int16Array, Uint16Array: Uint16Array, Int32Array: Int32Array, Uint32Array: Uint32Array, Float32Array: Float32Array, Float64Array: Float64Array }; /** * @author alteredq / http://alteredqualia.com/ */ function Loader() { this.onLoadStart = function () {}; this.onLoadProgress = function () {}; this.onLoadComplete = function () {}; } Loader.Handlers = { handlers: [], add: function ( regex, loader ) { this.handlers.push( regex, loader ); }, get: function ( file ) { var handlers = this.handlers; for ( var i = 0, l = handlers.length; i < l; i += 2 ) { var regex = handlers[ i ]; var loader = handlers[ i + 1 ]; if ( regex.test( file ) ) { return loader; } } return null; } }; Object.assign( Loader.prototype, { crossOrigin: undefined, extractUrlBase: function ( url ) { var parts = url.split( '/' ); if ( parts.length === 1 ) return './'; parts.pop(); return parts.join( '/' ) + '/'; }, initMaterials: function ( materials, texturePath, crossOrigin ) { var array = []; for ( var i = 0; i < materials.length; ++ i ) { array[ i ] = this.createMaterial( materials[ i ], texturePath, crossOrigin ); } return array; }, createMaterial: ( function () { var BlendingMode = { NoBlending: NoBlending, NormalBlending: NormalBlending, AdditiveBlending: AdditiveBlending, SubtractiveBlending: SubtractiveBlending, MultiplyBlending: MultiplyBlending, CustomBlending: CustomBlending }; var color = new Color(); var textureLoader = new TextureLoader(); var materialLoader = new MaterialLoader(); return function createMaterial( m, texturePath, crossOrigin ) { // convert from old material format var textures = {}; function loadTexture( path, repeat, offset, wrap, anisotropy ) { var fullPath = texturePath + path; var loader = Loader.Handlers.get( fullPath ); var texture; if ( loader !== null ) { texture = loader.load( fullPath ); } else { textureLoader.setCrossOrigin( crossOrigin ); texture = textureLoader.load( fullPath ); } if ( repeat !== undefined ) { texture.repeat.fromArray( repeat ); if ( repeat[ 0 ] !== 1 ) texture.wrapS = RepeatWrapping; if ( repeat[ 1 ] !== 1 ) texture.wrapT = RepeatWrapping; } if ( offset !== undefined ) { texture.offset.fromArray( offset ); } if ( wrap !== undefined ) { if ( wrap[ 0 ] === 'repeat' ) texture.wrapS = RepeatWrapping; if ( wrap[ 0 ] === 'mirror' ) texture.wrapS = MirroredRepeatWrapping; if ( wrap[ 1 ] === 'repeat' ) texture.wrapT = RepeatWrapping; if ( wrap[ 1 ] === 'mirror' ) texture.wrapT = MirroredRepeatWrapping; } if ( anisotropy !== undefined ) { texture.anisotropy = anisotropy; } var uuid = _Math.generateUUID(); textures[ uuid ] = texture; return uuid; } // var json = { uuid: _Math.generateUUID(), type: 'MeshLambertMaterial' }; for ( var name in m ) { var value = m[ name ]; switch ( name ) { case 'DbgColor': case 'DbgIndex': case 'opticalDensity': case 'illumination': break; case 'DbgName': json.name = value; break; case 'blending': json.blending = BlendingMode[ value ]; break; case 'colorAmbient': case 'mapAmbient': console.warn( 'THREE.Loader.createMaterial:', name, 'is no longer supported.' ); break; case 'colorDiffuse': json.color = color.fromArray( value ).getHex(); break; case 'colorSpecular': json.specular = color.fromArray( value ).getHex(); break; case 'colorEmissive': json.emissive = color.fromArray( value ).getHex(); break; case 'specularCoef': json.shininess = value; break; case 'shading': if ( value.toLowerCase() === 'basic' ) json.type = 'MeshBasicMaterial'; if ( value.toLowerCase() === 'phong' ) json.type = 'MeshPhongMaterial'; if ( value.toLowerCase() === 'standard' ) json.type = 'MeshStandardMaterial'; break; case 'mapDiffuse': json.map = loadTexture( value, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy ); break; case 'mapDiffuseRepeat': case 'mapDiffuseOffset': case 'mapDiffuseWrap': case 'mapDiffuseAnisotropy': break; case 'mapEmissive': json.emissiveMap = loadTexture( value, m.mapEmissiveRepeat, m.mapEmissiveOffset, m.mapEmissiveWrap, m.mapEmissiveAnisotropy ); break; case 'mapEmissiveRepeat': case 'mapEmissiveOffset': case 'mapEmissiveWrap': case 'mapEmissiveAnisotropy': break; case 'mapLight': json.lightMap = loadTexture( value, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy ); break; case 'mapLightRepeat': case 'mapLightOffset': case 'mapLightWrap': case 'mapLightAnisotropy': break; case 'mapAO': json.aoMap = loadTexture( value, m.mapAORepeat, m.mapAOOffset, m.mapAOWrap, m.mapAOAnisotropy ); break; case 'mapAORepeat': case 'mapAOOffset': case 'mapAOWrap': case 'mapAOAnisotropy': break; case 'mapBump': json.bumpMap = loadTexture( value, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy ); break; case 'mapBumpScale': json.bumpScale = value; break; case 'mapBumpRepeat': case 'mapBumpOffset': case 'mapBumpWrap': case 'mapBumpAnisotropy': break; case 'mapNormal': json.normalMap = loadTexture( value, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy ); break; case 'mapNormalFactor': json.normalScale = [ value, value ]; break; case 'mapNormalRepeat': case 'mapNormalOffset': case 'mapNormalWrap': case 'mapNormalAnisotropy': break; case 'mapSpecular': json.specularMap = loadTexture( value, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy ); break; case 'mapSpecularRepeat': case 'mapSpecularOffset': case 'mapSpecularWrap': case 'mapSpecularAnisotropy': break; case 'mapMetalness': json.metalnessMap = loadTexture( value, m.mapMetalnessRepeat, m.mapMetalnessOffset, m.mapMetalnessWrap, m.mapMetalnessAnisotropy ); break; case 'mapMetalnessRepeat': case 'mapMetalnessOffset': case 'mapMetalnessWrap': case 'mapMetalnessAnisotropy': break; case 'mapRoughness': json.roughnessMap = loadTexture( value, m.mapRoughnessRepeat, m.mapRoughnessOffset, m.mapRoughnessWrap, m.mapRoughnessAnisotropy ); break; case 'mapRoughnessRepeat': case 'mapRoughnessOffset': case 'mapRoughnessWrap': case 'mapRoughnessAnisotropy': break; case 'mapAlpha': json.alphaMap = loadTexture( value, m.mapAlphaRepeat, m.mapAlphaOffset, m.mapAlphaWrap, m.mapAlphaAnisotropy ); break; case 'mapAlphaRepeat': case 'mapAlphaOffset': case 'mapAlphaWrap': case 'mapAlphaAnisotropy': break; case 'flipSided': json.side = BackSide; break; case 'doubleSided': json.side = DoubleSide; break; case 'transparency': console.warn( 'THREE.Loader.createMaterial: transparency has been renamed to opacity' ); json.opacity = value; break; case 'depthTest': case 'depthWrite': case 'colorWrite': case 'opacity': case 'reflectivity': case 'transparent': case 'visible': case 'wireframe': json[ name ] = value; break; case 'vertexColors': if ( value === true ) json.vertexColors = VertexColors; if ( value === 'face' ) json.vertexColors = FaceColors; break; default: console.error( 'THREE.Loader.createMaterial: Unsupported', name, value ); break; } } if ( json.type === 'MeshBasicMaterial' ) delete json.emissive; if ( json.type !== 'MeshPhongMaterial' ) delete json.specular; if ( json.opacity < 1 ) json.transparent = true; materialLoader.setTextures( textures ); return materialLoader.parse( json ); }; } )() } ); /** * @author mrdoob / http://mrdoob.com/ * @author alteredq / http://alteredqualia.com/ */ function JSONLoader( manager ) { if ( typeof manager === 'boolean' ) { console.warn( 'THREE.JSONLoader: showStatus parameter has been removed from constructor.' ); manager = undefined; } this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; this.withCredentials = false; } Object.assign( JSONLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var texturePath = this.texturePath && ( typeof this.texturePath === "string" ) ? this.texturePath : Loader.prototype.extractUrlBase( url ); var loader = new FileLoader( this.manager ); loader.setWithCredentials( this.withCredentials ); loader.load( url, function ( text ) { var json = JSON.parse( text ); var metadata = json.metadata; if ( metadata !== undefined ) { var type = metadata.type; if ( type !== undefined ) { if ( type.toLowerCase() === 'object' ) { console.error( 'THREE.JSONLoader: ' + url + ' should be loaded with THREE.ObjectLoader instead.' ); return; } if ( type.toLowerCase() === 'scene' ) { console.error( 'THREE.JSONLoader: ' + url + ' should be loaded with THREE.SceneLoader instead.' ); return; } } } var object = scope.parse( json, texturePath ); onLoad( object.geometry, object.materials ); }, onProgress, onError ); }, setTexturePath: function ( value ) { this.texturePath = value; }, parse: ( function () { function parseModel( json, geometry ) { function isBitSet( value, position ) { return value & ( 1 << position ); } var i, j, fi, offset, zLength, colorIndex, normalIndex, uvIndex, materialIndex, type, isQuad, hasMaterial, hasFaceVertexUv, hasFaceNormal, hasFaceVertexNormal, hasFaceColor, hasFaceVertexColor, vertex, face, faceA, faceB, hex, normal, uvLayer, uv, u, v, faces = json.faces, vertices = json.vertices, normals = json.normals, colors = json.colors, scale = json.scale, nUvLayers = 0; if ( json.uvs !== undefined ) { // disregard empty arrays for ( i = 0; i < json.uvs.length; i ++ ) { if ( json.uvs[ i ].length ) nUvLayers ++; } for ( i = 0; i < nUvLayers; i ++ ) { geometry.faceVertexUvs[ i ] = []; } } offset = 0; zLength = vertices.length; while ( offset < zLength ) { vertex = new Vector3(); vertex.x = vertices[ offset ++ ] * scale; vertex.y = vertices[ offset ++ ] * scale; vertex.z = vertices[ offset ++ ] * scale; geometry.vertices.push( vertex ); } offset = 0; zLength = faces.length; while ( offset < zLength ) { type = faces[ offset ++ ]; isQuad = isBitSet( type, 0 ); hasMaterial = isBitSet( type, 1 ); hasFaceVertexUv = isBitSet( type, 3 ); hasFaceNormal = isBitSet( type, 4 ); hasFaceVertexNormal = isBitSet( type, 5 ); hasFaceColor = isBitSet( type, 6 ); hasFaceVertexColor = isBitSet( type, 7 ); // console.log("type", type, "bits", isQuad, hasMaterial, hasFaceVertexUv, hasFaceNormal, hasFaceVertexNormal, hasFaceColor, hasFaceVertexColor); if ( isQuad ) { faceA = new Face3(); faceA.a = faces[ offset ]; faceA.b = faces[ offset + 1 ]; faceA.c = faces[ offset + 3 ]; faceB = new Face3(); faceB.a = faces[ offset + 1 ]; faceB.b = faces[ offset + 2 ]; faceB.c = faces[ offset + 3 ]; offset += 4; if ( hasMaterial ) { materialIndex = faces[ offset ++ ]; faceA.materialIndex = materialIndex; faceB.materialIndex = materialIndex; } // to get face <=> uv index correspondence fi = geometry.faces.length; if ( hasFaceVertexUv ) { for ( i = 0; i < nUvLayers; i ++ ) { uvLayer = json.uvs[ i ]; geometry.faceVertexUvs[ i ][ fi ] = []; geometry.faceVertexUvs[ i ][ fi + 1 ] = []; for ( j = 0; j < 4; j ++ ) { uvIndex = faces[ offset ++ ]; u = uvLayer[ uvIndex * 2 ]; v = uvLayer[ uvIndex * 2 + 1 ]; uv = new Vector2( u, v ); if ( j !== 2 ) geometry.faceVertexUvs[ i ][ fi ].push( uv ); if ( j !== 0 ) geometry.faceVertexUvs[ i ][ fi + 1 ].push( uv ); } } } if ( hasFaceNormal ) { normalIndex = faces[ offset ++ ] * 3; faceA.normal.set( normals[ normalIndex ++ ], normals[ normalIndex ++ ], normals[ normalIndex ] ); faceB.normal.copy( faceA.normal ); } if ( hasFaceVertexNormal ) { for ( i = 0; i < 4; i ++ ) { normalIndex = faces[ offset ++ ] * 3; normal = new Vector3( normals[ normalIndex ++ ], normals[ normalIndex ++ ], normals[ normalIndex ] ); if ( i !== 2 ) faceA.vertexNormals.push( normal ); if ( i !== 0 ) faceB.vertexNormals.push( normal ); } } if ( hasFaceColor ) { colorIndex = faces[ offset ++ ]; hex = colors[ colorIndex ]; faceA.color.setHex( hex ); faceB.color.setHex( hex ); } if ( hasFaceVertexColor ) { for ( i = 0; i < 4; i ++ ) { colorIndex = faces[ offset ++ ]; hex = colors[ colorIndex ]; if ( i !== 2 ) faceA.vertexColors.push( new Color( hex ) ); if ( i !== 0 ) faceB.vertexColors.push( new Color( hex ) ); } } geometry.faces.push( faceA ); geometry.faces.push( faceB ); } else { face = new Face3(); face.a = faces[ offset ++ ]; face.b = faces[ offset ++ ]; face.c = faces[ offset ++ ]; if ( hasMaterial ) { materialIndex = faces[ offset ++ ]; face.materialIndex = materialIndex; } // to get face <=> uv index correspondence fi = geometry.faces.length; if ( hasFaceVertexUv ) { for ( i = 0; i < nUvLayers; i ++ ) { uvLayer = json.uvs[ i ]; geometry.faceVertexUvs[ i ][ fi ] = []; for ( j = 0; j < 3; j ++ ) { uvIndex = faces[ offset ++ ]; u = uvLayer[ uvIndex * 2 ]; v = uvLayer[ uvIndex * 2 + 1 ]; uv = new Vector2( u, v ); geometry.faceVertexUvs[ i ][ fi ].push( uv ); } } } if ( hasFaceNormal ) { normalIndex = faces[ offset ++ ] * 3; face.normal.set( normals[ normalIndex ++ ], normals[ normalIndex ++ ], normals[ normalIndex ] ); } if ( hasFaceVertexNormal ) { for ( i = 0; i < 3; i ++ ) { normalIndex = faces[ offset ++ ] * 3; normal = new Vector3( normals[ normalIndex ++ ], normals[ normalIndex ++ ], normals[ normalIndex ] ); face.vertexNormals.push( normal ); } } if ( hasFaceColor ) { colorIndex = faces[ offset ++ ]; face.color.setHex( colors[ colorIndex ] ); } if ( hasFaceVertexColor ) { for ( i = 0; i < 3; i ++ ) { colorIndex = faces[ offset ++ ]; face.vertexColors.push( new Color( colors[ colorIndex ] ) ); } } geometry.faces.push( face ); } } } function parseSkin( json, geometry ) { var influencesPerVertex = ( json.influencesPerVertex !== undefined ) ? json.influencesPerVertex : 2; if ( json.skinWeights ) { for ( var i = 0, l = json.skinWeights.length; i < l; i += influencesPerVertex ) { var x = json.skinWeights[ i ]; var y = ( influencesPerVertex > 1 ) ? json.skinWeights[ i + 1 ] : 0; var z = ( influencesPerVertex > 2 ) ? json.skinWeights[ i + 2 ] : 0; var w = ( influencesPerVertex > 3 ) ? json.skinWeights[ i + 3 ] : 0; geometry.skinWeights.push( new Vector4( x, y, z, w ) ); } } if ( json.skinIndices ) { for ( var i = 0, l = json.skinIndices.length; i < l; i += influencesPerVertex ) { var a = json.skinIndices[ i ]; var b = ( influencesPerVertex > 1 ) ? json.skinIndices[ i + 1 ] : 0; var c = ( influencesPerVertex > 2 ) ? json.skinIndices[ i + 2 ] : 0; var d = ( influencesPerVertex > 3 ) ? json.skinIndices[ i + 3 ] : 0; geometry.skinIndices.push( new Vector4( a, b, c, d ) ); } } geometry.bones = json.bones; if ( geometry.bones && geometry.bones.length > 0 && ( geometry.skinWeights.length !== geometry.skinIndices.length || geometry.skinIndices.length !== geometry.vertices.length ) ) { console.warn( 'When skinning, number of vertices (' + geometry.vertices.length + '), skinIndices (' + geometry.skinIndices.length + '), and skinWeights (' + geometry.skinWeights.length + ') should match.' ); } } function parseMorphing( json, geometry ) { var scale = json.scale; if ( json.morphTargets !== undefined ) { for ( var i = 0, l = json.morphTargets.length; i < l; i ++ ) { geometry.morphTargets[ i ] = {}; geometry.morphTargets[ i ].name = json.morphTargets[ i ].name; geometry.morphTargets[ i ].vertices = []; var dstVertices = geometry.morphTargets[ i ].vertices; var srcVertices = json.morphTargets[ i ].vertices; for ( var v = 0, vl = srcVertices.length; v < vl; v += 3 ) { var vertex = new Vector3(); vertex.x = srcVertices[ v ] * scale; vertex.y = srcVertices[ v + 1 ] * scale; vertex.z = srcVertices[ v + 2 ] * scale; dstVertices.push( vertex ); } } } if ( json.morphColors !== undefined && json.morphColors.length > 0 ) { console.warn( 'THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.' ); var faces = geometry.faces; var morphColors = json.morphColors[ 0 ].colors; for ( var i = 0, l = faces.length; i < l; i ++ ) { faces[ i ].color.fromArray( morphColors, i * 3 ); } } } function parseAnimations( json, geometry ) { var outputAnimations = []; // parse old style Bone/Hierarchy animations var animations = []; if ( json.animation !== undefined ) { animations.push( json.animation ); } if ( json.animations !== undefined ) { if ( json.animations.length ) { animations = animations.concat( json.animations ); } else { animations.push( json.animations ); } } for ( var i = 0; i < animations.length; i ++ ) { var clip = AnimationClip.parseAnimation( animations[ i ], geometry.bones ); if ( clip ) outputAnimations.push( clip ); } // parse implicit morph animations if ( geometry.morphTargets ) { // TODO: Figure out what an appropraite FPS is for morph target animations -- defaulting to 10, but really it is completely arbitrary. var morphAnimationClips = AnimationClip.CreateClipsFromMorphTargetSequences( geometry.morphTargets, 10 ); outputAnimations = outputAnimations.concat( morphAnimationClips ); } if ( outputAnimations.length > 0 ) geometry.animations = outputAnimations; } return function ( json, texturePath ) { if ( json.data !== undefined ) { // Geometry 4.0 spec json = json.data; } if ( json.scale !== undefined ) { json.scale = 1.0 / json.scale; } else { json.scale = 1.0; } var geometry = new Geometry(); parseModel( json, geometry ); parseSkin( json, geometry ); parseMorphing( json, geometry ); parseAnimations( json, geometry ); geometry.computeFaceNormals(); geometry.computeBoundingSphere(); if ( json.materials === undefined || json.materials.length === 0 ) { return { geometry: geometry }; } else { var materials = Loader.prototype.initMaterials( json.materials, texturePath, this.crossOrigin ); return { geometry: geometry, materials: materials }; } }; } )() } ); /** * @author mrdoob / http://mrdoob.com/ */ function ObjectLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; this.texturePath = ''; } Object.assign( ObjectLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { if ( this.texturePath === '' ) { this.texturePath = url.substring( 0, url.lastIndexOf( '/' ) + 1 ); } var scope = this; var loader = new FileLoader( scope.manager ); loader.load( url, function ( text ) { var json = null; try { json = JSON.parse( text ); } catch ( error ) { if ( onError !== undefined ) onError( error ); console.error( 'THREE:ObjectLoader: Can\'t parse ' + url + '.', error.message ); return; } var metadata = json.metadata; if ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) { console.error( 'THREE.ObjectLoader: Can\'t load ' + url + '. Use THREE.JSONLoader instead.' ); return; } scope.parse( json, onLoad ); }, onProgress, onError ); }, setTexturePath: function ( value ) { this.texturePath = value; }, setCrossOrigin: function ( value ) { this.crossOrigin = value; }, parse: function ( json, onLoad ) { var geometries = this.parseGeometries( json.geometries ); var images = this.parseImages( json.images, function () { if ( onLoad !== undefined ) onLoad( object ); } ); var textures = this.parseTextures( json.textures, images ); var materials = this.parseMaterials( json.materials, textures ); var object = this.parseObject( json.object, geometries, materials ); if ( json.animations ) { object.animations = this.parseAnimations( json.animations ); } if ( json.images === undefined || json.images.length === 0 ) { if ( onLoad !== undefined ) onLoad( object ); } return object; }, parseGeometries: function ( json ) { var geometries = {}; if ( json !== undefined ) { var geometryLoader = new JSONLoader(); var bufferGeometryLoader = new BufferGeometryLoader(); for ( var i = 0, l = json.length; i < l; i ++ ) { var geometry; var data = json[ i ]; switch ( data.type ) { case 'PlaneGeometry': case 'PlaneBufferGeometry': geometry = new Geometries[ data.type ]( data.width, data.height, data.widthSegments, data.heightSegments ); break; case 'BoxGeometry': case 'BoxBufferGeometry': case 'CubeGeometry': // backwards compatible geometry = new Geometries[ data.type ]( data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments ); break; case 'CircleGeometry': case 'CircleBufferGeometry': geometry = new Geometries[ data.type ]( data.radius, data.segments, data.thetaStart, data.thetaLength ); break; case 'CylinderGeometry': case 'CylinderBufferGeometry': geometry = new Geometries[ data.type ]( data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength ); break; case 'ConeGeometry': case 'ConeBufferGeometry': geometry = new Geometries[ data.type ]( data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength ); break; case 'SphereGeometry': case 'SphereBufferGeometry': geometry = new Geometries[ data.type ]( data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength ); break; case 'DodecahedronGeometry': case 'IcosahedronGeometry': case 'OctahedronGeometry': case 'TetrahedronGeometry': geometry = new Geometries[ data.type ]( data.radius, data.detail ); break; case 'RingGeometry': case 'RingBufferGeometry': geometry = new Geometries[ data.type ]( data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength ); break; case 'TorusGeometry': case 'TorusBufferGeometry': geometry = new Geometries[ data.type ]( data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc ); break; case 'TorusKnotGeometry': case 'TorusKnotBufferGeometry': geometry = new Geometries[ data.type ]( data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q ); break; case 'LatheGeometry': case 'LatheBufferGeometry': geometry = new Geometries[ data.type ]( data.points, data.segments, data.phiStart, data.phiLength ); break; case 'BufferGeometry': geometry = bufferGeometryLoader.parse( data ); break; case 'Geometry': geometry = geometryLoader.parse( data, this.texturePath ).geometry; break; default: console.warn( 'THREE.ObjectLoader: Unsupported geometry type "' + data.type + '"' ); continue; } geometry.uuid = data.uuid; if ( data.name !== undefined ) geometry.name = data.name; geometries[ data.uuid ] = geometry; } } return geometries; }, parseMaterials: function ( json, textures ) { var materials = {}; if ( json !== undefined ) { var loader = new MaterialLoader(); loader.setTextures( textures ); for ( var i = 0, l = json.length; i < l; i ++ ) { var data = json[ i ]; if ( data.type === 'MultiMaterial' ) { // Deprecated var array = []; for ( var j = 0; j < data.materials.length; j ++ ) { array.push( loader.parse( data.materials[ j ] ) ); } materials[ data.uuid ] = array; } else { materials[ data.uuid ] = loader.parse( data ); } } } return materials; }, parseAnimations: function ( json ) { var animations = []; for ( var i = 0; i < json.length; i ++ ) { var clip = AnimationClip.parse( json[ i ] ); animations.push( clip ); } return animations; }, parseImages: function ( json, onLoad ) { var scope = this; var images = {}; function loadImage( url ) { scope.manager.itemStart( url ); return loader.load( url, function () { scope.manager.itemEnd( url ); }, undefined, function () { scope.manager.itemEnd( url ); scope.manager.itemError( url ); } ); } if ( json !== undefined && json.length > 0 ) { var manager = new LoadingManager( onLoad ); var loader = new ImageLoader( manager ); loader.setCrossOrigin( this.crossOrigin ); for ( var i = 0, l = json.length; i < l; i ++ ) { var image = json[ i ]; var path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( image.url ) ? image.url : scope.texturePath + image.url; images[ image.uuid ] = loadImage( path ); } } return images; }, parseTextures: function ( json, images ) { function parseConstant( value, type ) { if ( typeof( value ) === 'number' ) return value; console.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value ); return type[ value ]; } var textures = {}; if ( json !== undefined ) { for ( var i = 0, l = json.length; i < l; i ++ ) { var data = json[ i ]; if ( data.image === undefined ) { console.warn( 'THREE.ObjectLoader: No "image" specified for', data.uuid ); } if ( images[ data.image ] === undefined ) { console.warn( 'THREE.ObjectLoader: Undefined image', data.image ); } var texture = new Texture( images[ data.image ] ); texture.needsUpdate = true; texture.uuid = data.uuid; if ( data.name !== undefined ) texture.name = data.name; if ( data.mapping !== undefined ) texture.mapping = parseConstant( data.mapping, TEXTURE_MAPPING ); if ( data.offset !== undefined ) texture.offset.fromArray( data.offset ); if ( data.repeat !== undefined ) texture.repeat.fromArray( data.repeat ); if ( data.wrap !== undefined ) { texture.wrapS = parseConstant( data.wrap[ 0 ], TEXTURE_WRAPPING ); texture.wrapT = parseConstant( data.wrap[ 1 ], TEXTURE_WRAPPING ); } if ( data.minFilter !== undefined ) texture.minFilter = parseConstant( data.minFilter, TEXTURE_FILTER ); if ( data.magFilter !== undefined ) texture.magFilter = parseConstant( data.magFilter, TEXTURE_FILTER ); if ( data.anisotropy !== undefined ) texture.anisotropy = data.anisotropy; if ( data.flipY !== undefined ) texture.flipY = data.flipY; textures[ data.uuid ] = texture; } } return textures; }, parseObject: function () { var matrix = new Matrix4(); return function parseObject( data, geometries, materials ) { var object; function getGeometry( name ) { if ( geometries[ name ] === undefined ) { console.warn( 'THREE.ObjectLoader: Undefined geometry', name ); } return geometries[ name ]; } function getMaterial( name ) { if ( name === undefined ) return undefined; if ( Array.isArray( name ) ) { var array = []; for ( var i = 0, l = name.length; i < l; i ++ ) { var uuid = name[ i ]; if ( materials[ uuid ] === undefined ) { console.warn( 'THREE.ObjectLoader: Undefined material', uuid ); } array.push( materials[ uuid ] ); } return array; } if ( materials[ name ] === undefined ) { console.warn( 'THREE.ObjectLoader: Undefined material', name ); } return materials[ name ]; } switch ( data.type ) { case 'Scene': object = new Scene(); if ( data.background !== undefined ) { if ( Number.isInteger( data.background ) ) { object.background = new Color( data.background ); } } if ( data.fog !== undefined ) { if ( data.fog.type === 'Fog' ) { object.fog = new Fog( data.fog.color, data.fog.near, data.fog.far ); } else if ( data.fog.type === 'FogExp2' ) { object.fog = new FogExp2( data.fog.color, data.fog.density ); } } break; case 'PerspectiveCamera': object = new PerspectiveCamera( data.fov, data.aspect, data.near, data.far ); if ( data.focus !== undefined ) object.focus = data.focus; if ( data.zoom !== undefined ) object.zoom = data.zoom; if ( data.filmGauge !== undefined ) object.filmGauge = data.filmGauge; if ( data.filmOffset !== undefined ) object.filmOffset = data.filmOffset; if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); break; case 'OrthographicCamera': object = new OrthographicCamera( data.left, data.right, data.top, data.bottom, data.near, data.far ); break; case 'AmbientLight': object = new AmbientLight( data.color, data.intensity ); break; case 'DirectionalLight': object = new DirectionalLight( data.color, data.intensity ); break; case 'PointLight': object = new PointLight( data.color, data.intensity, data.distance, data.decay ); break; case 'RectAreaLight': object = new RectAreaLight( data.color, data.intensity, data.width, data.height ); break; case 'SpotLight': object = new SpotLight( data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay ); break; case 'HemisphereLight': object = new HemisphereLight( data.color, data.groundColor, data.intensity ); break; case 'SkinnedMesh': console.warn( 'THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.' ); case 'Mesh': var geometry = getGeometry( data.geometry ); var material = getMaterial( data.material ); if ( geometry.bones && geometry.bones.length > 0 ) { object = new SkinnedMesh( geometry, material ); } else { object = new Mesh( geometry, material ); } break; case 'LOD': object = new LOD(); break; case 'Line': object = new Line( getGeometry( data.geometry ), getMaterial( data.material ), data.mode ); break; case 'LineLoop': object = new LineLoop( getGeometry( data.geometry ), getMaterial( data.material ) ); break; case 'LineSegments': object = new LineSegments( getGeometry( data.geometry ), getMaterial( data.material ) ); break; case 'PointCloud': case 'Points': object = new Points( getGeometry( data.geometry ), getMaterial( data.material ) ); break; case 'Sprite': object = new Sprite( getMaterial( data.material ) ); break; case 'Group': object = new Group(); break; default: object = new Object3D(); } object.uuid = data.uuid; if ( data.name !== undefined ) object.name = data.name; if ( data.matrix !== undefined ) { matrix.fromArray( data.matrix ); matrix.decompose( object.position, object.quaternion, object.scale ); } else { if ( data.position !== undefined ) object.position.fromArray( data.position ); if ( data.rotation !== undefined ) object.rotation.fromArray( data.rotation ); if ( data.quaternion !== undefined ) object.quaternion.fromArray( data.quaternion ); if ( data.scale !== undefined ) object.scale.fromArray( data.scale ); } if ( data.castShadow !== undefined ) object.castShadow = data.castShadow; if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow; if ( data.shadow ) { if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias; if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius; if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize ); if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera ); } if ( data.visible !== undefined ) object.visible = data.visible; if ( data.userData !== undefined ) object.userData = data.userData; if ( data.children !== undefined ) { for ( var child in data.children ) { object.add( this.parseObject( data.children[ child ], geometries, materials ) ); } } if ( data.type === 'LOD' ) { var levels = data.levels; for ( var l = 0; l < levels.length; l ++ ) { var level = levels[ l ]; var child = object.getObjectByProperty( 'uuid', level.object ); if ( child !== undefined ) { object.addLevel( child, level.distance ); } } } return object; }; }() } ); var TEXTURE_MAPPING = { UVMapping: UVMapping, CubeReflectionMapping: CubeReflectionMapping, CubeRefractionMapping: CubeRefractionMapping, EquirectangularReflectionMapping: EquirectangularReflectionMapping, EquirectangularRefractionMapping: EquirectangularRefractionMapping, SphericalReflectionMapping: SphericalReflectionMapping, CubeUVReflectionMapping: CubeUVReflectionMapping, CubeUVRefractionMapping: CubeUVRefractionMapping }; var TEXTURE_WRAPPING = { RepeatWrapping: RepeatWrapping, ClampToEdgeWrapping: ClampToEdgeWrapping, MirroredRepeatWrapping: MirroredRepeatWrapping }; var TEXTURE_FILTER = { NearestFilter: NearestFilter, NearestMipMapNearestFilter: NearestMipMapNearestFilter, NearestMipMapLinearFilter: NearestMipMapLinearFilter, LinearFilter: LinearFilter, LinearMipMapNearestFilter: LinearMipMapNearestFilter, LinearMipMapLinearFilter: LinearMipMapLinearFilter }; /** * @author zz85 / http://www.lab4games.net/zz85/blog * * Bezier Curves formulas obtained from * http://en.wikipedia.org/wiki/Bézier_curve */ function CatmullRom( t, p0, p1, p2, p3 ) { var v0 = ( p2 - p0 ) * 0.5; var v1 = ( p3 - p1 ) * 0.5; var t2 = t * t; var t3 = t * t2; return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1; } // function QuadraticBezierP0( t, p ) { var k = 1 - t; return k * k * p; } function QuadraticBezierP1( t, p ) { return 2 * ( 1 - t ) * t * p; } function QuadraticBezierP2( t, p ) { return t * t * p; } function QuadraticBezier( t, p0, p1, p2 ) { return QuadraticBezierP0( t, p0 ) + QuadraticBezierP1( t, p1 ) + QuadraticBezierP2( t, p2 ); } // function CubicBezierP0( t, p ) { var k = 1 - t; return k * k * k * p; } function CubicBezierP1( t, p ) { var k = 1 - t; return 3 * k * k * t * p; } function CubicBezierP2( t, p ) { return 3 * ( 1 - t ) * t * t * p; } function CubicBezierP3( t, p ) { return t * t * t * p; } function CubicBezier( t, p0, p1, p2, p3 ) { return CubicBezierP0( t, p0 ) + CubicBezierP1( t, p1 ) + CubicBezierP2( t, p2 ) + CubicBezierP3( t, p3 ); } /** * @author zz85 / http://www.lab4games.net/zz85/blog * Extensible curve object * * Some common of curve methods: * .getPoint(t), getTangent(t) * .getPointAt(u), getTangentAt(u) * .getPoints(), .getSpacedPoints() * .getLength() * .updateArcLengths() * * This following curves inherit from THREE.Curve: * * -- 2D curves -- * THREE.ArcCurve * THREE.CubicBezierCurve * THREE.EllipseCurve * THREE.LineCurve * THREE.QuadraticBezierCurve * THREE.SplineCurve * * -- 3D curves -- * THREE.CatmullRomCurve3 * THREE.CubicBezierCurve3 * THREE.LineCurve3 * THREE.QuadraticBezierCurve3 * * A series of curves can be represented as a THREE.CurvePath. * **/ /************************************************************** * Abstract Curve base class **************************************************************/ function Curve() { this.arcLengthDivisions = 200; } Object.assign( Curve.prototype, { // Virtual base class method to overwrite and implement in subclasses // - t [0 .. 1] getPoint: function () { console.warn( 'THREE.Curve: .getPoint() not implemented.' ); return null; }, // Get point at relative position in curve according to arc length // - u [0 .. 1] getPointAt: function ( u ) { var t = this.getUtoTmapping( u ); return this.getPoint( t ); }, // Get sequence of points using getPoint( t ) getPoints: function ( divisions ) { if ( divisions === undefined ) divisions = 5; var points = []; for ( var d = 0; d <= divisions; d ++ ) { points.push( this.getPoint( d / divisions ) ); } return points; }, // Get sequence of points using getPointAt( u ) getSpacedPoints: function ( divisions ) { if ( divisions === undefined ) divisions = 5; var points = []; for ( var d = 0; d <= divisions; d ++ ) { points.push( this.getPointAt( d / divisions ) ); } return points; }, // Get total curve arc length getLength: function () { var lengths = this.getLengths(); return lengths[ lengths.length - 1 ]; }, // Get list of cumulative segment lengths getLengths: function ( divisions ) { if ( divisions === undefined ) divisions = this.arcLengthDivisions; if ( this.cacheArcLengths && ( this.cacheArcLengths.length === divisions + 1 ) && ! this.needsUpdate ) { return this.cacheArcLengths; } this.needsUpdate = false; var cache = []; var current, last = this.getPoint( 0 ); var p, sum = 0; cache.push( 0 ); for ( p = 1; p <= divisions; p ++ ) { current = this.getPoint( p / divisions ); sum += current.distanceTo( last ); cache.push( sum ); last = current; } this.cacheArcLengths = cache; return cache; // { sums: cache, sum: sum }; Sum is in the last element. }, updateArcLengths: function () { this.needsUpdate = true; this.getLengths(); }, // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant getUtoTmapping: function ( u, distance ) { var arcLengths = this.getLengths(); var i = 0, il = arcLengths.length; var targetArcLength; // The targeted u distance value to get if ( distance ) { targetArcLength = distance; } else { targetArcLength = u * arcLengths[ il - 1 ]; } // binary search for the index with largest value smaller than target u distance var low = 0, high = il - 1, comparison; while ( low <= high ) { i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats comparison = arcLengths[ i ] - targetArcLength; if ( comparison < 0 ) { low = i + 1; } else if ( comparison > 0 ) { high = i - 1; } else { high = i; break; // DONE } } i = high; if ( arcLengths[ i ] === targetArcLength ) { return i / ( il - 1 ); } // we could get finer grain at lengths, or use simple interpolation between two points var lengthBefore = arcLengths[ i ]; var lengthAfter = arcLengths[ i + 1 ]; var segmentLength = lengthAfter - lengthBefore; // determine where we are between the 'before' and 'after' points var segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength; // add that fractional amount to t var t = ( i + segmentFraction ) / ( il - 1 ); return t; }, // Returns a unit vector tangent at t // In case any sub curve does not implement its tangent derivation, // 2 points a small delta apart will be used to find its gradient // which seems to give a reasonable approximation getTangent: function ( t ) { var delta = 0.0001; var t1 = t - delta; var t2 = t + delta; // Capping in case of danger if ( t1 < 0 ) t1 = 0; if ( t2 > 1 ) t2 = 1; var pt1 = this.getPoint( t1 ); var pt2 = this.getPoint( t2 ); var vec = pt2.clone().sub( pt1 ); return vec.normalize(); }, getTangentAt: function ( u ) { var t = this.getUtoTmapping( u ); return this.getTangent( t ); }, computeFrenetFrames: function ( segments, closed ) { // see http://www.cs.indiana.edu/pub/techreports/TR425.pdf var normal = new Vector3(); var tangents = []; var normals = []; var binormals = []; var vec = new Vector3(); var mat = new Matrix4(); var i, u, theta; // compute the tangent vectors for each segment on the curve for ( i = 0; i <= segments; i ++ ) { u = i / segments; tangents[ i ] = this.getTangentAt( u ); tangents[ i ].normalize(); } // select an initial normal vector perpendicular to the first tangent vector, // and in the direction of the minimum tangent xyz component normals[ 0 ] = new Vector3(); binormals[ 0 ] = new Vector3(); var min = Number.MAX_VALUE; var tx = Math.abs( tangents[ 0 ].x ); var ty = Math.abs( tangents[ 0 ].y ); var tz = Math.abs( tangents[ 0 ].z ); if ( tx <= min ) { min = tx; normal.set( 1, 0, 0 ); } if ( ty <= min ) { min = ty; normal.set( 0, 1, 0 ); } if ( tz <= min ) { normal.set( 0, 0, 1 ); } vec.crossVectors( tangents[ 0 ], normal ).normalize(); normals[ 0 ].crossVectors( tangents[ 0 ], vec ); binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ); // compute the slowly-varying normal and binormal vectors for each segment on the curve for ( i = 1; i <= segments; i ++ ) { normals[ i ] = normals[ i - 1 ].clone(); binormals[ i ] = binormals[ i - 1 ].clone(); vec.crossVectors( tangents[ i - 1 ], tangents[ i ] ); if ( vec.length() > Number.EPSILON ) { vec.normalize(); theta = Math.acos( _Math.clamp( tangents[ i - 1 ].dot( tangents[ i ] ), - 1, 1 ) ); // clamp for floating pt errors normals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) ); } binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); } // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same if ( closed === true ) { theta = Math.acos( _Math.clamp( normals[ 0 ].dot( normals[ segments ] ), - 1, 1 ) ); theta /= segments; if ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ segments ] ) ) > 0 ) { theta = - theta; } for ( i = 1; i <= segments; i ++ ) { // twist a little... normals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) ); binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); } } return { tangents: tangents, normals: normals, binormals: binormals }; } } ); function LineCurve( v1, v2 ) { Curve.call( this ); this.v1 = v1; this.v2 = v2; } LineCurve.prototype = Object.create( Curve.prototype ); LineCurve.prototype.constructor = LineCurve; LineCurve.prototype.isLineCurve = true; LineCurve.prototype.getPoint = function ( t ) { if ( t === 1 ) { return this.v2.clone(); } var point = this.v2.clone().sub( this.v1 ); point.multiplyScalar( t ).add( this.v1 ); return point; }; // Line curve is linear, so we can overwrite default getPointAt LineCurve.prototype.getPointAt = function ( u ) { return this.getPoint( u ); }; LineCurve.prototype.getTangent = function ( t ) { var tangent = this.v2.clone().sub( this.v1 ); return tangent.normalize(); }; /** * @author zz85 / http://www.lab4games.net/zz85/blog * **/ /************************************************************** * Curved Path - a curve path is simply a array of connected * curves, but retains the api of a curve **************************************************************/ function CurvePath() { Curve.call( this ); this.curves = []; this.autoClose = false; // Automatically closes the path } CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), { constructor: CurvePath, add: function ( curve ) { this.curves.push( curve ); }, closePath: function () { // Add a line curve if start and end of lines are not connected var startPoint = this.curves[ 0 ].getPoint( 0 ); var endPoint = this.curves[ this.curves.length - 1 ].getPoint( 1 ); if ( ! startPoint.equals( endPoint ) ) { this.curves.push( new LineCurve( endPoint, startPoint ) ); } }, // To get accurate point with reference to // entire path distance at time t, // following has to be done: // 1. Length of each sub path have to be known // 2. Locate and identify type of curve // 3. Get t for the curve // 4. Return curve.getPointAt(t') getPoint: function ( t ) { var d = t * this.getLength(); var curveLengths = this.getCurveLengths(); var i = 0; // To think about boundaries points. while ( i < curveLengths.length ) { if ( curveLengths[ i ] >= d ) { var diff = curveLengths[ i ] - d; var curve = this.curves[ i ]; var segmentLength = curve.getLength(); var u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; return curve.getPointAt( u ); } i ++; } return null; // loop where sum != 0, sum > d , sum+1 1 && !points[ points.length - 1 ].equals( points[ 0 ] ) ) { points.push( points[ 0 ] ); } return points; }, /************************************************************** * Create Geometries Helpers **************************************************************/ /// Generate geometry from path points (for Line or Points objects) createPointsGeometry: function ( divisions ) { var pts = this.getPoints( divisions ); return this.createGeometry( pts ); }, // Generate geometry from equidistant sampling along the path createSpacedPointsGeometry: function ( divisions ) { var pts = this.getSpacedPoints( divisions ); return this.createGeometry( pts ); }, createGeometry: function ( points ) { var geometry = new Geometry(); for ( var i = 0, l = points.length; i < l; i ++ ) { var point = points[ i ]; geometry.vertices.push( new Vector3( point.x, point.y, point.z || 0 ) ); } return geometry; } } ); function EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { Curve.call( this ); this.aX = aX; this.aY = aY; this.xRadius = xRadius; this.yRadius = yRadius; this.aStartAngle = aStartAngle; this.aEndAngle = aEndAngle; this.aClockwise = aClockwise; this.aRotation = aRotation || 0; } EllipseCurve.prototype = Object.create( Curve.prototype ); EllipseCurve.prototype.constructor = EllipseCurve; EllipseCurve.prototype.isEllipseCurve = true; EllipseCurve.prototype.getPoint = function ( t ) { var twoPi = Math.PI * 2; var deltaAngle = this.aEndAngle - this.aStartAngle; var samePoints = Math.abs( deltaAngle ) < Number.EPSILON; // ensures that deltaAngle is 0 .. 2 PI while ( deltaAngle < 0 ) deltaAngle += twoPi; while ( deltaAngle > twoPi ) deltaAngle -= twoPi; if ( deltaAngle < Number.EPSILON ) { if ( samePoints ) { deltaAngle = 0; } else { deltaAngle = twoPi; } } if ( this.aClockwise === true && ! samePoints ) { if ( deltaAngle === twoPi ) { deltaAngle = - twoPi; } else { deltaAngle = deltaAngle - twoPi; } } var angle = this.aStartAngle + t * deltaAngle; var x = this.aX + this.xRadius * Math.cos( angle ); var y = this.aY + this.yRadius * Math.sin( angle ); if ( this.aRotation !== 0 ) { var cos = Math.cos( this.aRotation ); var sin = Math.sin( this.aRotation ); var tx = x - this.aX; var ty = y - this.aY; // Rotate the point about the center of the ellipse. x = tx * cos - ty * sin + this.aX; y = tx * sin + ty * cos + this.aY; } return new Vector2( x, y ); }; function SplineCurve( points /* array of Vector2 */ ) { Curve.call( this ); this.points = ( points === undefined ) ? [] : points; } SplineCurve.prototype = Object.create( Curve.prototype ); SplineCurve.prototype.constructor = SplineCurve; SplineCurve.prototype.isSplineCurve = true; SplineCurve.prototype.getPoint = function ( t ) { var points = this.points; var point = ( points.length - 1 ) * t; var intPoint = Math.floor( point ); var weight = point - intPoint; var point0 = points[ intPoint === 0 ? intPoint : intPoint - 1 ]; var point1 = points[ intPoint ]; var point2 = points[ intPoint > points.length - 2 ? points.length - 1 : intPoint + 1 ]; var point3 = points[ intPoint > points.length - 3 ? points.length - 1 : intPoint + 2 ]; return new Vector2( CatmullRom( weight, point0.x, point1.x, point2.x, point3.x ), CatmullRom( weight, point0.y, point1.y, point2.y, point3.y ) ); }; function CubicBezierCurve( v0, v1, v2, v3 ) { Curve.call( this ); this.v0 = v0; this.v1 = v1; this.v2 = v2; this.v3 = v3; } CubicBezierCurve.prototype = Object.create( Curve.prototype ); CubicBezierCurve.prototype.constructor = CubicBezierCurve; CubicBezierCurve.prototype.getPoint = function ( t ) { var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; return new Vector2( CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), CubicBezier( t, v0.y, v1.y, v2.y, v3.y ) ); }; function QuadraticBezierCurve( v0, v1, v2 ) { Curve.call( this ); this.v0 = v0; this.v1 = v1; this.v2 = v2; } QuadraticBezierCurve.prototype = Object.create( Curve.prototype ); QuadraticBezierCurve.prototype.constructor = QuadraticBezierCurve; QuadraticBezierCurve.prototype.getPoint = function ( t ) { var v0 = this.v0, v1 = this.v1, v2 = this.v2; return new Vector2( QuadraticBezier( t, v0.x, v1.x, v2.x ), QuadraticBezier( t, v0.y, v1.y, v2.y ) ); }; var PathPrototype = Object.assign( Object.create( CurvePath.prototype ), { fromPoints: function ( vectors ) { this.moveTo( vectors[ 0 ].x, vectors[ 0 ].y ); for ( var i = 1, l = vectors.length; i < l; i ++ ) { this.lineTo( vectors[ i ].x, vectors[ i ].y ); } }, moveTo: function ( x, y ) { this.currentPoint.set( x, y ); // TODO consider referencing vectors instead of copying? }, lineTo: function ( x, y ) { var curve = new LineCurve( this.currentPoint.clone(), new Vector2( x, y ) ); this.curves.push( curve ); this.currentPoint.set( x, y ); }, quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { var curve = new QuadraticBezierCurve( this.currentPoint.clone(), new Vector2( aCPx, aCPy ), new Vector2( aX, aY ) ); this.curves.push( curve ); this.currentPoint.set( aX, aY ); }, bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { var curve = new CubicBezierCurve( this.currentPoint.clone(), new Vector2( aCP1x, aCP1y ), new Vector2( aCP2x, aCP2y ), new Vector2( aX, aY ) ); this.curves.push( curve ); this.currentPoint.set( aX, aY ); }, splineThru: function ( pts /*Array of Vector*/ ) { var npts = [ this.currentPoint.clone() ].concat( pts ); var curve = new SplineCurve( npts ); this.curves.push( curve ); this.currentPoint.copy( pts[ pts.length - 1 ] ); }, arc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { var x0 = this.currentPoint.x; var y0 = this.currentPoint.y; this.absarc( aX + x0, aY + y0, aRadius, aStartAngle, aEndAngle, aClockwise ); }, absarc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { this.absellipse( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); }, ellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { var x0 = this.currentPoint.x; var y0 = this.currentPoint.y; this.absellipse( aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); }, absellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { var curve = new EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); if ( this.curves.length > 0 ) { // if a previous curve is present, attempt to join var firstPoint = curve.getPoint( 0 ); if ( ! firstPoint.equals( this.currentPoint ) ) { this.lineTo( firstPoint.x, firstPoint.y ); } } this.curves.push( curve ); var lastPoint = curve.getPoint( 1 ); this.currentPoint.copy( lastPoint ); } } ); /** * @author zz85 / http://www.lab4games.net/zz85/blog * Creates free form 2d path using series of points, lines or curves. **/ function Path( points ) { CurvePath.call( this ); this.currentPoint = new Vector2(); if ( points ) { this.fromPoints( points ); } } Path.prototype = PathPrototype; PathPrototype.constructor = Path; /** * @author zz85 / http://www.lab4games.net/zz85/blog * Defines a 2d shape plane using paths. **/ // STEP 1 Create a path. // STEP 2 Turn path into shape. // STEP 3 ExtrudeGeometry takes in Shape/Shapes // STEP 3a - Extract points from each shape, turn to vertices // STEP 3b - Triangulate each shape, add faces. function Shape() { Path.apply( this, arguments ); this.holes = []; } Shape.prototype = Object.assign( Object.create( PathPrototype ), { constructor: Shape, getPointsHoles: function ( divisions ) { var holesPts = []; for ( var i = 0, l = this.holes.length; i < l; i ++ ) { holesPts[ i ] = this.holes[ i ].getPoints( divisions ); } return holesPts; }, // Get points of shape and holes (keypoints based on segments parameter) extractAllPoints: function ( divisions ) { return { shape: this.getPoints( divisions ), holes: this.getPointsHoles( divisions ) }; }, extractPoints: function ( divisions ) { return this.extractAllPoints( divisions ); } } ); /** * @author zz85 / http://www.lab4games.net/zz85/blog * minimal class for proxing functions to Path. Replaces old "extractSubpaths()" **/ function ShapePath() { this.subPaths = []; this.currentPath = null; } Object.assign( ShapePath.prototype, { moveTo: function ( x, y ) { this.currentPath = new Path(); this.subPaths.push( this.currentPath ); this.currentPath.moveTo( x, y ); }, lineTo: function ( x, y ) { this.currentPath.lineTo( x, y ); }, quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { this.currentPath.quadraticCurveTo( aCPx, aCPy, aX, aY ); }, bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { this.currentPath.bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ); }, splineThru: function ( pts ) { this.currentPath.splineThru( pts ); }, toShapes: function ( isCCW, noHoles ) { function toShapesNoHoles( inSubpaths ) { var shapes = []; for ( var i = 0, l = inSubpaths.length; i < l; i ++ ) { var tmpPath = inSubpaths[ i ]; var tmpShape = new Shape(); tmpShape.curves = tmpPath.curves; shapes.push( tmpShape ); } return shapes; } function isPointInsidePolygon( inPt, inPolygon ) { var polyLen = inPolygon.length; // inPt on polygon contour => immediate success or // toggling of inside/outside at every single! intersection point of an edge // with the horizontal line through inPt, left of inPt // not counting lowerY endpoints of edges and whole edges on that line var inside = false; for ( var p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) { var edgeLowPt = inPolygon[ p ]; var edgeHighPt = inPolygon[ q ]; var edgeDx = edgeHighPt.x - edgeLowPt.x; var edgeDy = edgeHighPt.y - edgeLowPt.y; if ( Math.abs( edgeDy ) > Number.EPSILON ) { // not parallel if ( edgeDy < 0 ) { edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx; edgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy; } if ( ( inPt.y < edgeLowPt.y ) || ( inPt.y > edgeHighPt.y ) ) continue; if ( inPt.y === edgeLowPt.y ) { if ( inPt.x === edgeLowPt.x ) return true; // inPt is on contour ? // continue; // no intersection or edgeLowPt => doesn't count !!! } else { var perpEdge = edgeDy * ( inPt.x - edgeLowPt.x ) - edgeDx * ( inPt.y - edgeLowPt.y ); if ( perpEdge === 0 ) return true; // inPt is on contour ? if ( perpEdge < 0 ) continue; inside = ! inside; // true intersection left of inPt } } else { // parallel or collinear if ( inPt.y !== edgeLowPt.y ) continue; // parallel // edge lies on the same horizontal line as inPt if ( ( ( edgeHighPt.x <= inPt.x ) && ( inPt.x <= edgeLowPt.x ) ) || ( ( edgeLowPt.x <= inPt.x ) && ( inPt.x <= edgeHighPt.x ) ) ) return true; // inPt: Point on contour ! // continue; } } return inside; } var isClockWise = ShapeUtils.isClockWise; var subPaths = this.subPaths; if ( subPaths.length === 0 ) return []; if ( noHoles === true ) return toShapesNoHoles( subPaths ); var solid, tmpPath, tmpShape, shapes = []; if ( subPaths.length === 1 ) { tmpPath = subPaths[ 0 ]; tmpShape = new Shape(); tmpShape.curves = tmpPath.curves; shapes.push( tmpShape ); return shapes; } var holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() ); holesFirst = isCCW ? ! holesFirst : holesFirst; // console.log("Holes first", holesFirst); var betterShapeHoles = []; var newShapes = []; var newShapeHoles = []; var mainIdx = 0; var tmpPoints; newShapes[ mainIdx ] = undefined; newShapeHoles[ mainIdx ] = []; for ( var i = 0, l = subPaths.length; i < l; i ++ ) { tmpPath = subPaths[ i ]; tmpPoints = tmpPath.getPoints(); solid = isClockWise( tmpPoints ); solid = isCCW ? ! solid : solid; if ( solid ) { if ( ( ! holesFirst ) && ( newShapes[ mainIdx ] ) ) mainIdx ++; newShapes[ mainIdx ] = { s: new Shape(), p: tmpPoints }; newShapes[ mainIdx ].s.curves = tmpPath.curves; if ( holesFirst ) mainIdx ++; newShapeHoles[ mainIdx ] = []; //console.log('cw', i); } else { newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } ); //console.log('ccw', i); } } // only Holes? -> probably all Shapes with wrong orientation if ( ! newShapes[ 0 ] ) return toShapesNoHoles( subPaths ); if ( newShapes.length > 1 ) { var ambiguous = false; var toChange = []; for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { betterShapeHoles[ sIdx ] = []; } for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { var sho = newShapeHoles[ sIdx ]; for ( var hIdx = 0; hIdx < sho.length; hIdx ++ ) { var ho = sho[ hIdx ]; var hole_unassigned = true; for ( var s2Idx = 0; s2Idx < newShapes.length; s2Idx ++ ) { if ( isPointInsidePolygon( ho.p, newShapes[ s2Idx ].p ) ) { if ( sIdx !== s2Idx ) toChange.push( { froms: sIdx, tos: s2Idx, hole: hIdx } ); if ( hole_unassigned ) { hole_unassigned = false; betterShapeHoles[ s2Idx ].push( ho ); } else { ambiguous = true; } } } if ( hole_unassigned ) { betterShapeHoles[ sIdx ].push( ho ); } } } // console.log("ambiguous: ", ambiguous); if ( toChange.length > 0 ) { // console.log("to change: ", toChange); if ( ! ambiguous ) newShapeHoles = betterShapeHoles; } } var tmpHoles; for ( var i = 0, il = newShapes.length; i < il; i ++ ) { tmpShape = newShapes[ i ].s; shapes.push( tmpShape ); tmpHoles = newShapeHoles[ i ]; for ( var j = 0, jl = tmpHoles.length; j < jl; j ++ ) { tmpShape.holes.push( tmpHoles[ j ].h ); } } //console.log("shape", shapes); return shapes; } } ); /** * @author zz85 / http://www.lab4games.net/zz85/blog * @author mrdoob / http://mrdoob.com/ */ function Font( data ) { this.data = data; } Object.assign( Font.prototype, { isFont: true, generateShapes: function ( text, size, divisions ) { function createPaths( text ) { var chars = String( text ).split( '' ); var scale = size / data.resolution; var line_height = ( data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness ) * scale; var offsetX = 0, offsetY = 0; var paths = []; for ( var i = 0; i < chars.length; i ++ ) { var char = chars[ i ]; if ( char === '\n' ) { offsetX = 0; offsetY -= line_height; } else { var ret = createPath( char, scale, offsetX, offsetY ); offsetX += ret.offsetX; paths.push( ret.path ); } } return paths; } function createPath( c, scale, offsetX, offsetY ) { var glyph = data.glyphs[ c ] || data.glyphs[ '?' ]; if ( ! glyph ) return; var path = new ShapePath(); var pts = []; var x, y, cpx, cpy, cpx0, cpy0, cpx1, cpy1, cpx2, cpy2, laste; if ( glyph.o ) { var outline = glyph._cachedOutline || ( glyph._cachedOutline = glyph.o.split( ' ' ) ); for ( var i = 0, l = outline.length; i < l; ) { var action = outline[ i ++ ]; switch ( action ) { case 'm': // moveTo x = outline[ i ++ ] * scale + offsetX; y = outline[ i ++ ] * scale + offsetY; path.moveTo( x, y ); break; case 'l': // lineTo x = outline[ i ++ ] * scale + offsetX; y = outline[ i ++ ] * scale + offsetY; path.lineTo( x, y ); break; case 'q': // quadraticCurveTo cpx = outline[ i ++ ] * scale + offsetX; cpy = outline[ i ++ ] * scale + offsetY; cpx1 = outline[ i ++ ] * scale + offsetX; cpy1 = outline[ i ++ ] * scale + offsetY; path.quadraticCurveTo( cpx1, cpy1, cpx, cpy ); laste = pts[ pts.length - 1 ]; if ( laste ) { cpx0 = laste.x; cpy0 = laste.y; for ( var i2 = 1; i2 <= divisions; i2 ++ ) { var t = i2 / divisions; QuadraticBezier( t, cpx0, cpx1, cpx ); QuadraticBezier( t, cpy0, cpy1, cpy ); } } break; case 'b': // bezierCurveTo cpx = outline[ i ++ ] * scale + offsetX; cpy = outline[ i ++ ] * scale + offsetY; cpx1 = outline[ i ++ ] * scale + offsetX; cpy1 = outline[ i ++ ] * scale + offsetY; cpx2 = outline[ i ++ ] * scale + offsetX; cpy2 = outline[ i ++ ] * scale + offsetY; path.bezierCurveTo( cpx1, cpy1, cpx2, cpy2, cpx, cpy ); laste = pts[ pts.length - 1 ]; if ( laste ) { cpx0 = laste.x; cpy0 = laste.y; for ( var i2 = 1; i2 <= divisions; i2 ++ ) { var t = i2 / divisions; CubicBezier( t, cpx0, cpx1, cpx2, cpx ); CubicBezier( t, cpy0, cpy1, cpy2, cpy ); } } break; } } } return { offsetX: glyph.ha * scale, path: path }; } // if ( size === undefined ) size = 100; if ( divisions === undefined ) divisions = 4; var data = this.data; var paths = createPaths( text ); var shapes = []; for ( var p = 0, pl = paths.length; p < pl; p ++ ) { Array.prototype.push.apply( shapes, paths[ p ].toShapes() ); } return shapes; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function FontLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( FontLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var scope = this; var loader = new FileLoader( this.manager ); loader.load( url, function ( text ) { var json; try { json = JSON.parse( text ); } catch ( e ) { console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' ); json = JSON.parse( text.substring( 65, text.length - 2 ) ); } var font = scope.parse( json ); if ( onLoad ) onLoad( font ); }, onProgress, onError ); }, parse: function ( json ) { return new Font( json ); } } ); var context; var AudioContext = { getContext: function () { if ( context === undefined ) { context = new ( window.AudioContext || window.webkitAudioContext )(); } return context; }, setContext: function ( value ) { context = value; } }; /** * @author Reece Aaron Lecrivain / http://reecenotes.com/ */ function AudioLoader( manager ) { this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; } Object.assign( AudioLoader.prototype, { load: function ( url, onLoad, onProgress, onError ) { var loader = new FileLoader( this.manager ); loader.setResponseType( 'arraybuffer' ); loader.load( url, function ( buffer ) { var context = AudioContext.getContext(); context.decodeAudioData( buffer, function ( audioBuffer ) { onLoad( audioBuffer ); } ); }, onProgress, onError ); } } ); /** * @author mrdoob / http://mrdoob.com/ */ function StereoCamera() { this.type = 'StereoCamera'; this.aspect = 1; this.eyeSep = 0.064; this.cameraL = new PerspectiveCamera(); this.cameraL.layers.enable( 1 ); this.cameraL.matrixAutoUpdate = false; this.cameraR = new PerspectiveCamera(); this.cameraR.layers.enable( 2 ); this.cameraR.matrixAutoUpdate = false; } Object.assign( StereoCamera.prototype, { update: ( function () { var instance, focus, fov, aspect, near, far, zoom, eyeSep; var eyeRight = new Matrix4(); var eyeLeft = new Matrix4(); return function update( camera ) { var needsUpdate = instance !== this || focus !== camera.focus || fov !== camera.fov || aspect !== camera.aspect * this.aspect || near !== camera.near || far !== camera.far || zoom !== camera.zoom || eyeSep !== this.eyeSep; if ( needsUpdate ) { instance = this; focus = camera.focus; fov = camera.fov; aspect = camera.aspect * this.aspect; near = camera.near; far = camera.far; zoom = camera.zoom; // Off-axis stereoscopic effect based on // http://paulbourke.net/stereographics/stereorender/ var projectionMatrix = camera.projectionMatrix.clone(); eyeSep = this.eyeSep / 2; var eyeSepOnProjection = eyeSep * near / focus; var ymax = ( near * Math.tan( _Math.DEG2RAD * fov * 0.5 ) ) / zoom; var xmin, xmax; // translate xOffset eyeLeft.elements[ 12 ] = - eyeSep; eyeRight.elements[ 12 ] = eyeSep; // for left eye xmin = - ymax * aspect + eyeSepOnProjection; xmax = ymax * aspect + eyeSepOnProjection; projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); this.cameraL.projectionMatrix.copy( projectionMatrix ); // for right eye xmin = - ymax * aspect - eyeSepOnProjection; xmax = ymax * aspect - eyeSepOnProjection; projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); this.cameraR.projectionMatrix.copy( projectionMatrix ); } this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( eyeLeft ); this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( eyeRight ); }; } )() } ); /** * Camera for rendering cube maps * - renders scene into axis-aligned cube * * @author alteredq / http://alteredqualia.com/ */ function CubeCamera( near, far, cubeResolution ) { Object3D.call( this ); this.type = 'CubeCamera'; var fov = 90, aspect = 1; var cameraPX = new PerspectiveCamera( fov, aspect, near, far ); cameraPX.up.set( 0, - 1, 0 ); cameraPX.lookAt( new Vector3( 1, 0, 0 ) ); this.add( cameraPX ); var cameraNX = new PerspectiveCamera( fov, aspect, near, far ); cameraNX.up.set( 0, - 1, 0 ); cameraNX.lookAt( new Vector3( - 1, 0, 0 ) ); this.add( cameraNX ); var cameraPY = new PerspectiveCamera( fov, aspect, near, far ); cameraPY.up.set( 0, 0, 1 ); cameraPY.lookAt( new Vector3( 0, 1, 0 ) ); this.add( cameraPY ); var cameraNY = new PerspectiveCamera( fov, aspect, near, far ); cameraNY.up.set( 0, 0, - 1 ); cameraNY.lookAt( new Vector3( 0, - 1, 0 ) ); this.add( cameraNY ); var cameraPZ = new PerspectiveCamera( fov, aspect, near, far ); cameraPZ.up.set( 0, - 1, 0 ); cameraPZ.lookAt( new Vector3( 0, 0, 1 ) ); this.add( cameraPZ ); var cameraNZ = new PerspectiveCamera( fov, aspect, near, far ); cameraNZ.up.set( 0, - 1, 0 ); cameraNZ.lookAt( new Vector3( 0, 0, - 1 ) ); this.add( cameraNZ ); var options = { format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }; this.renderTarget = new WebGLRenderTargetCube( cubeResolution, cubeResolution, options ); this.renderTarget.texture.name = "CubeCamera"; this.updateCubeMap = function ( renderer, scene ) { if ( this.parent === null ) this.updateMatrixWorld(); var renderTarget = this.renderTarget; var generateMipmaps = renderTarget.texture.generateMipmaps; renderTarget.texture.generateMipmaps = false; renderTarget.activeCubeFace = 0; renderer.render( scene, cameraPX, renderTarget ); renderTarget.activeCubeFace = 1; renderer.render( scene, cameraNX, renderTarget ); renderTarget.activeCubeFace = 2; renderer.render( scene, cameraPY, renderTarget ); renderTarget.activeCubeFace = 3; renderer.render( scene, cameraNY, renderTarget ); renderTarget.activeCubeFace = 4; renderer.render( scene, cameraPZ, renderTarget ); renderTarget.texture.generateMipmaps = generateMipmaps; renderTarget.activeCubeFace = 5; renderer.render( scene, cameraNZ, renderTarget ); renderer.setRenderTarget( null ); }; } CubeCamera.prototype = Object.create( Object3D.prototype ); CubeCamera.prototype.constructor = CubeCamera; /** * @author mrdoob / http://mrdoob.com/ */ function AudioListener() { Object3D.call( this ); this.type = 'AudioListener'; this.context = AudioContext.getContext(); this.gain = this.context.createGain(); this.gain.connect( this.context.destination ); this.filter = null; } AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: AudioListener, getInput: function () { return this.gain; }, removeFilter: function ( ) { if ( this.filter !== null ) { this.gain.disconnect( this.filter ); this.filter.disconnect( this.context.destination ); this.gain.connect( this.context.destination ); this.filter = null; } }, getFilter: function () { return this.filter; }, setFilter: function ( value ) { if ( this.filter !== null ) { this.gain.disconnect( this.filter ); this.filter.disconnect( this.context.destination ); } else { this.gain.disconnect( this.context.destination ); } this.filter = value; this.gain.connect( this.filter ); this.filter.connect( this.context.destination ); }, getMasterVolume: function () { return this.gain.gain.value; }, setMasterVolume: function ( value ) { this.gain.gain.value = value; }, updateMatrixWorld: ( function () { var position = new Vector3(); var quaternion = new Quaternion(); var scale = new Vector3(); var orientation = new Vector3(); return function updateMatrixWorld( force ) { Object3D.prototype.updateMatrixWorld.call( this, force ); var listener = this.context.listener; var up = this.up; this.matrixWorld.decompose( position, quaternion, scale ); orientation.set( 0, 0, - 1 ).applyQuaternion( quaternion ); if ( listener.positionX ) { listener.positionX.setValueAtTime( position.x, this.context.currentTime ); listener.positionY.setValueAtTime( position.y, this.context.currentTime ); listener.positionZ.setValueAtTime( position.z, this.context.currentTime ); listener.forwardX.setValueAtTime( orientation.x, this.context.currentTime ); listener.forwardY.setValueAtTime( orientation.y, this.context.currentTime ); listener.forwardZ.setValueAtTime( orientation.z, this.context.currentTime ); listener.upX.setValueAtTime( up.x, this.context.currentTime ); listener.upY.setValueAtTime( up.y, this.context.currentTime ); listener.upZ.setValueAtTime( up.z, this.context.currentTime ); } else { listener.setPosition( position.x, position.y, position.z ); listener.setOrientation( orientation.x, orientation.y, orientation.z, up.x, up.y, up.z ); } }; } )() } ); /** * @author mrdoob / http://mrdoob.com/ * @author Reece Aaron Lecrivain / http://reecenotes.com/ */ function Audio( listener ) { Object3D.call( this ); this.type = 'Audio'; this.context = listener.context; this.gain = this.context.createGain(); this.gain.connect( listener.getInput() ); this.autoplay = false; this.buffer = null; this.loop = false; this.startTime = 0; this.playbackRate = 1; this.isPlaying = false; this.hasPlaybackControl = true; this.sourceType = 'empty'; this.filters = []; } Audio.prototype = Object.assign( Object.create( Object3D.prototype ), { constructor: Audio, getOutput: function () { return this.gain; }, setNodeSource: function ( audioNode ) { this.hasPlaybackControl = false; this.sourceType = 'audioNode'; this.source = audioNode; this.connect(); return this; }, setBuffer: function ( audioBuffer ) { this.buffer = audioBuffer; this.sourceType = 'buffer'; if ( this.autoplay ) this.play(); return this; }, play: function () { if ( this.isPlaying === true ) { console.warn( 'THREE.Audio: Audio is already playing.' ); return; } if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return; } var source = this.context.createBufferSource(); source.buffer = this.buffer; source.loop = this.loop; source.onended = this.onEnded.bind( this ); source.playbackRate.setValueAtTime( this.playbackRate, this.startTime ); source.start( 0, this.startTime ); this.isPlaying = true; this.source = source; return this.connect(); }, pause: function () { if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return; } this.source.stop(); this.startTime = this.context.currentTime; this.isPlaying = false; return this; }, stop: function () { if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return; } this.source.stop(); this.startTime = 0; this.isPlaying = false; return this; }, connect: function () { if ( this.filters.length > 0 ) { this.source.connect( this.filters[ 0 ] ); for ( var i = 1, l = this.filters.length; i < l; i ++ ) { this.filters[ i - 1 ].connect( this.filters[ i ] ); } this.filters[ this.filters.length - 1 ].connect( this.getOutput() ); } else { this.source.connect( this.getOutput() ); } return this; }, disconnect: function () { if ( this.filters.length > 0 ) { this.source.disconnect( this.filters[ 0 ] ); for ( var i = 1, l = this.filters.length; i < l; i ++ ) { this.filters[ i - 1 ].disconnect( this.filters[ i ] ); } this.filters[ this.filters.length - 1 ].disconnect( this.getOutput() ); } else { this.source.disconnect( this.getOutput() ); } return this; }, getFilters: function () { return this.filters; }, setFilters: function ( value ) { if ( ! value ) value = []; if ( this.isPlaying === true ) { this.disconnect(); this.filters = value; this.connect(); } else { this.filters = value; } return this; }, getFilter: function () { return this.getFilters()[ 0 ]; }, setFilter: function ( filter ) { return this.setFilters( filter ? [ filter ] : [] ); }, setPlaybackRate: function ( value ) { if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return; } this.playbackRate = value; if ( this.isPlaying === true ) { this.source.playbackRate.setValueAtTime( this.playbackRate, this.context.currentTime ); } return this; }, getPlaybackRate: function () { return this.playbackRate; }, onEnded: function () { this.isPlaying = false; }, getLoop: function () { if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return false; } return this.loop; }, setLoop: function ( value ) { if ( this.hasPlaybackControl === false ) { console.warn( 'THREE.Audio: this Audio has no playback control.' ); return; } this.loop = value; if ( this.isPlaying === true ) { this.source.loop = this.loop; } return this; }, getVolume: function () { return this.gain.gain.value; }, setVolume: function ( value ) { this.gain.gain.value = value; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ */ function PositionalAudio( listener ) { Audio.call( this, listener ); this.panner = this.context.createPanner(); this.panner.connect( this.gain ); } PositionalAudio.prototype = Object.assign( Object.create( Audio.prototype ), { constructor: PositionalAudio, getOutput: function () { return this.panner; }, getRefDistance: function () { return this.panner.refDistance; }, setRefDistance: function ( value ) { this.panner.refDistance = value; }, getRolloffFactor: function () { return this.panner.rolloffFactor; }, setRolloffFactor: function ( value ) { this.panner.rolloffFactor = value; }, getDistanceModel: function () { return this.panner.distanceModel; }, setDistanceModel: function ( value ) { this.panner.distanceModel = value; }, getMaxDistance: function () { return this.panner.maxDistance; }, setMaxDistance: function ( value ) { this.panner.maxDistance = value; }, updateMatrixWorld: ( function () { var position = new Vector3(); return function updateMatrixWorld( force ) { Object3D.prototype.updateMatrixWorld.call( this, force ); position.setFromMatrixPosition( this.matrixWorld ); this.panner.setPosition( position.x, position.y, position.z ); }; } )() } ); /** * @author mrdoob / http://mrdoob.com/ */ function AudioAnalyser( audio, fftSize ) { this.analyser = audio.context.createAnalyser(); this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048; this.data = new Uint8Array( this.analyser.frequencyBinCount ); audio.getOutput().connect( this.analyser ); } Object.assign( AudioAnalyser.prototype, { getFrequencyData: function () { this.analyser.getByteFrequencyData( this.data ); return this.data; }, getAverageFrequency: function () { var value = 0, data = this.getFrequencyData(); for ( var i = 0; i < data.length; i ++ ) { value += data[ i ]; } return value / data.length; } } ); /** * * Buffered scene graph property that allows weighted accumulation. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function PropertyMixer( binding, typeName, valueSize ) { this.binding = binding; this.valueSize = valueSize; var bufferType = Float64Array, mixFunction; switch ( typeName ) { case 'quaternion': mixFunction = this._slerp; break; case 'string': case 'bool': bufferType = Array; mixFunction = this._select; break; default: mixFunction = this._lerp; } this.buffer = new bufferType( valueSize * 4 ); // layout: [ incoming | accu0 | accu1 | orig ] // // interpolators can use .buffer as their .result // the data then goes to 'incoming' // // 'accu0' and 'accu1' are used frame-interleaved for // the cumulative result and are compared to detect // changes // // 'orig' stores the original state of the property this._mixBufferRegion = mixFunction; this.cumulativeWeight = 0; this.useCount = 0; this.referenceCount = 0; } Object.assign( PropertyMixer.prototype, { // accumulate data in the 'incoming' region into 'accu' accumulate: function ( accuIndex, weight ) { // note: happily accumulating nothing when weight = 0, the caller knows // the weight and shouldn't have made the call in the first place var buffer = this.buffer, stride = this.valueSize, offset = accuIndex * stride + stride, currentWeight = this.cumulativeWeight; if ( currentWeight === 0 ) { // accuN := incoming * weight for ( var i = 0; i !== stride; ++ i ) { buffer[ offset + i ] = buffer[ i ]; } currentWeight = weight; } else { // accuN := accuN + incoming * weight currentWeight += weight; var mix = weight / currentWeight; this._mixBufferRegion( buffer, offset, 0, mix, stride ); } this.cumulativeWeight = currentWeight; }, // apply the state of 'accu' to the binding when accus differ apply: function ( accuIndex ) { var stride = this.valueSize, buffer = this.buffer, offset = accuIndex * stride + stride, weight = this.cumulativeWeight, binding = this.binding; this.cumulativeWeight = 0; if ( weight < 1 ) { // accuN := accuN + original * ( 1 - cumulativeWeight ) var originalValueOffset = stride * 3; this._mixBufferRegion( buffer, offset, originalValueOffset, 1 - weight, stride ); } for ( var i = stride, e = stride + stride; i !== e; ++ i ) { if ( buffer[ i ] !== buffer[ i + stride ] ) { // value has changed -> update scene graph binding.setValue( buffer, offset ); break; } } }, // remember the state of the bound property and copy it to both accus saveOriginalState: function () { var binding = this.binding; var buffer = this.buffer, stride = this.valueSize, originalValueOffset = stride * 3; binding.getValue( buffer, originalValueOffset ); // accu[0..1] := orig -- initially detect changes against the original for ( var i = stride, e = originalValueOffset; i !== e; ++ i ) { buffer[ i ] = buffer[ originalValueOffset + ( i % stride ) ]; } this.cumulativeWeight = 0; }, // apply the state previously taken via 'saveOriginalState' to the binding restoreOriginalState: function () { var originalValueOffset = this.valueSize * 3; this.binding.setValue( this.buffer, originalValueOffset ); }, // mix functions _select: function ( buffer, dstOffset, srcOffset, t, stride ) { if ( t >= 0.5 ) { for ( var i = 0; i !== stride; ++ i ) { buffer[ dstOffset + i ] = buffer[ srcOffset + i ]; } } }, _slerp: function ( buffer, dstOffset, srcOffset, t ) { Quaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t ); }, _lerp: function ( buffer, dstOffset, srcOffset, t, stride ) { var s = 1 - t; for ( var i = 0; i !== stride; ++ i ) { var j = dstOffset + i; buffer[ j ] = buffer[ j ] * s + buffer[ srcOffset + i ] * t; } } } ); /** * * A reference to a real property in the scene graph. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function Composite( targetGroup, path, optionalParsedPath ) { var parsedPath = optionalParsedPath || PropertyBinding.parseTrackName( path ); this._targetGroup = targetGroup; this._bindings = targetGroup.subscribe_( path, parsedPath ); } Object.assign( Composite.prototype, { getValue: function ( array, offset ) { this.bind(); // bind all binding var firstValidIndex = this._targetGroup.nCachedObjects_, binding = this._bindings[ firstValidIndex ]; // and only call .getValue on the first if ( binding !== undefined ) binding.getValue( array, offset ); }, setValue: function ( array, offset ) { var bindings = this._bindings; for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { bindings[ i ].setValue( array, offset ); } }, bind: function () { var bindings = this._bindings; for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { bindings[ i ].bind(); } }, unbind: function () { var bindings = this._bindings; for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { bindings[ i ].unbind(); } } } ); function PropertyBinding( rootNode, path, parsedPath ) { this.path = path; this.parsedPath = parsedPath || PropertyBinding.parseTrackName( path ); this.node = PropertyBinding.findNode( rootNode, this.parsedPath.nodeName ) || rootNode; this.rootNode = rootNode; } Object.assign( PropertyBinding, { Composite: Composite, create: function ( root, path, parsedPath ) { if ( ! ( root && root.isAnimationObjectGroup ) ) { return new PropertyBinding( root, path, parsedPath ); } else { return new PropertyBinding.Composite( root, path, parsedPath ); } }, /** * Replaces spaces with underscores and removes unsupported characters from * node names, to ensure compatibility with parseTrackName(). * * @param {string} name Node name to be sanitized. * @return {string} */ sanitizeNodeName: function ( name ) { return name.replace( /\s/g, '_' ).replace( /[^\w-]/g, '' ); }, parseTrackName: function () { // Parent directories, delimited by '/' or ':'. Currently unused, but must // be matched to parse the rest of the track name. var directoryRe = /((?:[\w-]+[\/:])*)/; // Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'. var nodeRe = /([\w-\.]+)?/; // Object on target node, and accessor. Name may contain only word // characters. Accessor may contain any character except closing bracket. var objectRe = /(?:\.([\w-]+)(?:\[(.+)\])?)?/; // Property and accessor. May contain only word characters. Accessor may // contain any non-bracket characters. var propertyRe = /\.([\w-]+)(?:\[(.+)\])?/; var trackRe = new RegExp('' + '^' + directoryRe.source + nodeRe.source + objectRe.source + propertyRe.source + '$' ); var supportedObjectNames = [ 'material', 'materials', 'bones' ]; return function ( trackName ) { var matches = trackRe.exec( trackName ); if ( ! matches ) { throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName ); } var results = { // directoryName: matches[ 1 ], // (tschw) currently unused nodeName: matches[ 2 ], objectName: matches[ 3 ], objectIndex: matches[ 4 ], propertyName: matches[ 5 ], // required propertyIndex: matches[ 6 ] }; var lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' ); if ( lastDot !== undefined && lastDot !== -1 ) { var objectName = results.nodeName.substring( lastDot + 1 ); // Object names must be checked against a whitelist. Otherwise, there // is no way to parse 'foo.bar.baz': 'baz' must be a property, but // 'bar' could be the objectName, or part of a nodeName (which can // include '.' characters). if ( supportedObjectNames.indexOf( objectName ) !== -1 ) { results.nodeName = results.nodeName.substring( 0, lastDot ); results.objectName = objectName; } } if ( results.propertyName === null || results.propertyName.length === 0 ) { throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName ); } return results; }; }(), findNode: function ( root, nodeName ) { if ( ! nodeName || nodeName === "" || nodeName === "root" || nodeName === "." || nodeName === - 1 || nodeName === root.name || nodeName === root.uuid ) { return root; } // search into skeleton bones. if ( root.skeleton ) { var searchSkeleton = function ( skeleton ) { for ( var i = 0; i < skeleton.bones.length; i ++ ) { var bone = skeleton.bones[ i ]; if ( bone.name === nodeName ) { return bone; } } return null; }; var bone = searchSkeleton( root.skeleton ); if ( bone ) { return bone; } } // search into node subtree. if ( root.children ) { var searchNodeSubtree = function ( children ) { for ( var i = 0; i < children.length; i ++ ) { var childNode = children[ i ]; if ( childNode.name === nodeName || childNode.uuid === nodeName ) { return childNode; } var result = searchNodeSubtree( childNode.children ); if ( result ) return result; } return null; }; var subTreeNode = searchNodeSubtree( root.children ); if ( subTreeNode ) { return subTreeNode; } } return null; } } ); Object.assign( PropertyBinding.prototype, { // prototype, continued // these are used to "bind" a nonexistent property _getValue_unavailable: function () {}, _setValue_unavailable: function () {}, BindingType: { Direct: 0, EntireArray: 1, ArrayElement: 2, HasFromToArray: 3 }, Versioning: { None: 0, NeedsUpdate: 1, MatrixWorldNeedsUpdate: 2 }, GetterByBindingType: [ function getValue_direct( buffer, offset ) { buffer[ offset ] = this.node[ this.propertyName ]; }, function getValue_array( buffer, offset ) { var source = this.resolvedProperty; for ( var i = 0, n = source.length; i !== n; ++ i ) { buffer[ offset ++ ] = source[ i ]; } }, function getValue_arrayElement( buffer, offset ) { buffer[ offset ] = this.resolvedProperty[ this.propertyIndex ]; }, function getValue_toArray( buffer, offset ) { this.resolvedProperty.toArray( buffer, offset ); } ], SetterByBindingTypeAndVersioning: [ [ // Direct function setValue_direct( buffer, offset ) { this.node[ this.propertyName ] = buffer[ offset ]; }, function setValue_direct_setNeedsUpdate( buffer, offset ) { this.node[ this.propertyName ] = buffer[ offset ]; this.targetObject.needsUpdate = true; }, function setValue_direct_setMatrixWorldNeedsUpdate( buffer, offset ) { this.node[ this.propertyName ] = buffer[ offset ]; this.targetObject.matrixWorldNeedsUpdate = true; } ], [ // EntireArray function setValue_array( buffer, offset ) { var dest = this.resolvedProperty; for ( var i = 0, n = dest.length; i !== n; ++ i ) { dest[ i ] = buffer[ offset ++ ]; } }, function setValue_array_setNeedsUpdate( buffer, offset ) { var dest = this.resolvedProperty; for ( var i = 0, n = dest.length; i !== n; ++ i ) { dest[ i ] = buffer[ offset ++ ]; } this.targetObject.needsUpdate = true; }, function setValue_array_setMatrixWorldNeedsUpdate( buffer, offset ) { var dest = this.resolvedProperty; for ( var i = 0, n = dest.length; i !== n; ++ i ) { dest[ i ] = buffer[ offset ++ ]; } this.targetObject.matrixWorldNeedsUpdate = true; } ], [ // ArrayElement function setValue_arrayElement( buffer, offset ) { this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; }, function setValue_arrayElement_setNeedsUpdate( buffer, offset ) { this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; this.targetObject.needsUpdate = true; }, function setValue_arrayElement_setMatrixWorldNeedsUpdate( buffer, offset ) { this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; this.targetObject.matrixWorldNeedsUpdate = true; } ], [ // HasToFromArray function setValue_fromArray( buffer, offset ) { this.resolvedProperty.fromArray( buffer, offset ); }, function setValue_fromArray_setNeedsUpdate( buffer, offset ) { this.resolvedProperty.fromArray( buffer, offset ); this.targetObject.needsUpdate = true; }, function setValue_fromArray_setMatrixWorldNeedsUpdate( buffer, offset ) { this.resolvedProperty.fromArray( buffer, offset ); this.targetObject.matrixWorldNeedsUpdate = true; } ] ], getValue: function getValue_unbound( targetArray, offset ) { this.bind(); this.getValue( targetArray, offset ); // Note: This class uses a State pattern on a per-method basis: // 'bind' sets 'this.getValue' / 'setValue' and shadows the // prototype version of these methods with one that represents // the bound state. When the property is not found, the methods // become no-ops. }, setValue: function getValue_unbound( sourceArray, offset ) { this.bind(); this.setValue( sourceArray, offset ); }, // create getter / setter pair for a property in the scene graph bind: function () { var targetObject = this.node, parsedPath = this.parsedPath, objectName = parsedPath.objectName, propertyName = parsedPath.propertyName, propertyIndex = parsedPath.propertyIndex; if ( ! targetObject ) { targetObject = PropertyBinding.findNode( this.rootNode, parsedPath.nodeName ) || this.rootNode; this.node = targetObject; } // set fail state so we can just 'return' on error this.getValue = this._getValue_unavailable; this.setValue = this._setValue_unavailable; // ensure there is a value node if ( ! targetObject ) { console.error( 'THREE.PropertyBinding: Trying to update node for track: ' + this.path + ' but it wasn\'t found.' ); return; } if ( objectName ) { var objectIndex = parsedPath.objectIndex; // special cases were we need to reach deeper into the hierarchy to get the face materials.... switch ( objectName ) { case 'materials': if ( ! targetObject.material ) { console.error( 'THREE.PropertyBinding: Can not bind to material as node does not have a material.', this ); return; } if ( ! targetObject.material.materials ) { console.error( 'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this ); return; } targetObject = targetObject.material.materials; break; case 'bones': if ( ! targetObject.skeleton ) { console.error( 'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this ); return; } // potential future optimization: skip this if propertyIndex is already an integer // and convert the integer string to a true integer. targetObject = targetObject.skeleton.bones; // support resolving morphTarget names into indices. for ( var i = 0; i < targetObject.length; i ++ ) { if ( targetObject[ i ].name === objectIndex ) { objectIndex = i; break; } } break; default: if ( targetObject[ objectName ] === undefined ) { console.error( 'THREE.PropertyBinding: Can not bind to objectName of node undefined.', this ); return; } targetObject = targetObject[ objectName ]; } if ( objectIndex !== undefined ) { if ( targetObject[ objectIndex ] === undefined ) { console.error( 'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject ); return; } targetObject = targetObject[ objectIndex ]; } } // resolve property var nodeProperty = targetObject[ propertyName ]; if ( nodeProperty === undefined ) { var nodeName = parsedPath.nodeName; console.error( 'THREE.PropertyBinding: Trying to update property for track: ' + nodeName + '.' + propertyName + ' but it wasn\'t found.', targetObject ); return; } // determine versioning scheme var versioning = this.Versioning.None; if ( targetObject.needsUpdate !== undefined ) { // material versioning = this.Versioning.NeedsUpdate; this.targetObject = targetObject; } else if ( targetObject.matrixWorldNeedsUpdate !== undefined ) { // node transform versioning = this.Versioning.MatrixWorldNeedsUpdate; this.targetObject = targetObject; } // determine how the property gets bound var bindingType = this.BindingType.Direct; if ( propertyIndex !== undefined ) { // access a sub element of the property array (only primitives are supported right now) if ( propertyName === "morphTargetInfluences" ) { // potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer. // support resolving morphTarget names into indices. if ( ! targetObject.geometry ) { console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this ); return; } if ( targetObject.geometry.isBufferGeometry ) { if ( ! targetObject.geometry.morphAttributes ) { console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this ); return; } for ( var i = 0; i < this.node.geometry.morphAttributes.position.length; i ++ ) { if ( targetObject.geometry.morphAttributes.position[ i ].name === propertyIndex ) { propertyIndex = i; break; } } } else { if ( ! targetObject.geometry.morphTargets ) { console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.', this ); return; } for ( var i = 0; i < this.node.geometry.morphTargets.length; i ++ ) { if ( targetObject.geometry.morphTargets[ i ].name === propertyIndex ) { propertyIndex = i; break; } } } } bindingType = this.BindingType.ArrayElement; this.resolvedProperty = nodeProperty; this.propertyIndex = propertyIndex; } else if ( nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined ) { // must use copy for Object3D.Euler/Quaternion bindingType = this.BindingType.HasFromToArray; this.resolvedProperty = nodeProperty; } else if ( Array.isArray( nodeProperty ) ) { bindingType = this.BindingType.EntireArray; this.resolvedProperty = nodeProperty; } else { this.propertyName = propertyName; } // select getter / setter this.getValue = this.GetterByBindingType[ bindingType ]; this.setValue = this.SetterByBindingTypeAndVersioning[ bindingType ][ versioning ]; }, unbind: function () { this.node = null; // back to the prototype version of getValue / setValue // note: avoiding to mutate the shape of 'this' via 'delete' this.getValue = this._getValue_unbound; this.setValue = this._setValue_unbound; } } ); //!\ DECLARE ALIAS AFTER assign prototype ! Object.assign( PropertyBinding.prototype, { // initial state of these methods that calls 'bind' _getValue_unbound: PropertyBinding.prototype.getValue, _setValue_unbound: PropertyBinding.prototype.setValue, } ); /** * * A group of objects that receives a shared animation state. * * Usage: * * - Add objects you would otherwise pass as 'root' to the * constructor or the .clipAction method of AnimationMixer. * * - Instead pass this object as 'root'. * * - You can also add and remove objects later when the mixer * is running. * * Note: * * Objects of this class appear as one object to the mixer, * so cache control of the individual objects must be done * on the group. * * Limitation: * * - The animated properties must be compatible among the * all objects in the group. * * - A single property can either be controlled through a * target group or directly, but not both. * * @author tschw */ function AnimationObjectGroup( var_args ) { this.uuid = _Math.generateUUID(); // cached objects followed by the active ones this._objects = Array.prototype.slice.call( arguments ); this.nCachedObjects_ = 0; // threshold // note: read by PropertyBinding.Composite var indices = {}; this._indicesByUUID = indices; // for bookkeeping for ( var i = 0, n = arguments.length; i !== n; ++ i ) { indices[ arguments[ i ].uuid ] = i; } this._paths = []; // inside: string this._parsedPaths = []; // inside: { we don't care, here } this._bindings = []; // inside: Array< PropertyBinding > this._bindingsIndicesByPath = {}; // inside: indices in these arrays var scope = this; this.stats = { objects: { get total() { return scope._objects.length; }, get inUse() { return this.total - scope.nCachedObjects_; } }, get bindingsPerObject() { return scope._bindings.length; } }; } Object.assign( AnimationObjectGroup.prototype, { isAnimationObjectGroup: true, add: function( var_args ) { var objects = this._objects, nObjects = objects.length, nCachedObjects = this.nCachedObjects_, indicesByUUID = this._indicesByUUID, paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, nBindings = bindings.length; for ( var i = 0, n = arguments.length; i !== n; ++ i ) { var object = arguments[ i ], uuid = object.uuid, index = indicesByUUID[ uuid ], knownObject = undefined; if ( index === undefined ) { // unknown object -> add it to the ACTIVE region index = nObjects ++; indicesByUUID[ uuid ] = index; objects.push( object ); // accounting is done, now do the same for all bindings for ( var j = 0, m = nBindings; j !== m; ++ j ) { bindings[ j ].push( new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ) ); } } else if ( index < nCachedObjects ) { knownObject = objects[ index ]; // move existing object to the ACTIVE region var firstActiveIndex = -- nCachedObjects, lastCachedObject = objects[ firstActiveIndex ]; indicesByUUID[ lastCachedObject.uuid ] = index; objects[ index ] = lastCachedObject; indicesByUUID[ uuid ] = firstActiveIndex; objects[ firstActiveIndex ] = object; // accounting is done, now do the same for all bindings for ( var j = 0, m = nBindings; j !== m; ++ j ) { var bindingsForPath = bindings[ j ], lastCached = bindingsForPath[ firstActiveIndex ], binding = bindingsForPath[ index ]; bindingsForPath[ index ] = lastCached; if ( binding === undefined ) { // since we do not bother to create new bindings // for objects that are cached, the binding may // or may not exist binding = new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ); } bindingsForPath[ firstActiveIndex ] = binding; } } else if ( objects[ index ] !== knownObject ) { console.error( 'THREE.AnimationObjectGroup: Different objects with the same UUID ' + 'detected. Clean the caches or recreate your infrastructure when reloading scenes.' ); } // else the object is already where we want it to be } // for arguments this.nCachedObjects_ = nCachedObjects; }, remove: function( var_args ) { var objects = this._objects, nCachedObjects = this.nCachedObjects_, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length; for ( var i = 0, n = arguments.length; i !== n; ++ i ) { var object = arguments[ i ], uuid = object.uuid, index = indicesByUUID[ uuid ]; if ( index !== undefined && index >= nCachedObjects ) { // move existing object into the CACHED region var lastCachedIndex = nCachedObjects ++, firstActiveObject = objects[ lastCachedIndex ]; indicesByUUID[ firstActiveObject.uuid ] = index; objects[ index ] = firstActiveObject; indicesByUUID[ uuid ] = lastCachedIndex; objects[ lastCachedIndex ] = object; // accounting is done, now do the same for all bindings for ( var j = 0, m = nBindings; j !== m; ++ j ) { var bindingsForPath = bindings[ j ], firstActive = bindingsForPath[ lastCachedIndex ], binding = bindingsForPath[ index ]; bindingsForPath[ index ] = firstActive; bindingsForPath[ lastCachedIndex ] = binding; } } } // for arguments this.nCachedObjects_ = nCachedObjects; }, // remove & forget uncache: function( var_args ) { var objects = this._objects, nObjects = objects.length, nCachedObjects = this.nCachedObjects_, indicesByUUID = this._indicesByUUID, bindings = this._bindings, nBindings = bindings.length; for ( var i = 0, n = arguments.length; i !== n; ++ i ) { var object = arguments[ i ], uuid = object.uuid, index = indicesByUUID[ uuid ]; if ( index !== undefined ) { delete indicesByUUID[ uuid ]; if ( index < nCachedObjects ) { // object is cached, shrink the CACHED region var firstActiveIndex = -- nCachedObjects, lastCachedObject = objects[ firstActiveIndex ], lastIndex = -- nObjects, lastObject = objects[ lastIndex ]; // last cached object takes this object's place indicesByUUID[ lastCachedObject.uuid ] = index; objects[ index ] = lastCachedObject; // last object goes to the activated slot and pop indicesByUUID[ lastObject.uuid ] = firstActiveIndex; objects[ firstActiveIndex ] = lastObject; objects.pop(); // accounting is done, now do the same for all bindings for ( var j = 0, m = nBindings; j !== m; ++ j ) { var bindingsForPath = bindings[ j ], lastCached = bindingsForPath[ firstActiveIndex ], last = bindingsForPath[ lastIndex ]; bindingsForPath[ index ] = lastCached; bindingsForPath[ firstActiveIndex ] = last; bindingsForPath.pop(); } } else { // object is active, just swap with the last and pop var lastIndex = -- nObjects, lastObject = objects[ lastIndex ]; indicesByUUID[ lastObject.uuid ] = index; objects[ index ] = lastObject; objects.pop(); // accounting is done, now do the same for all bindings for ( var j = 0, m = nBindings; j !== m; ++ j ) { var bindingsForPath = bindings[ j ]; bindingsForPath[ index ] = bindingsForPath[ lastIndex ]; bindingsForPath.pop(); } } // cached or active } // if object is known } // for arguments this.nCachedObjects_ = nCachedObjects; }, // Internal interface used by befriended PropertyBinding.Composite: subscribe_: function ( path, parsedPath ) { // returns an array of bindings for the given path that is changed // according to the contained objects in the group var indicesByPath = this._bindingsIndicesByPath, index = indicesByPath[ path ], bindings = this._bindings; if ( index !== undefined ) return bindings[ index ]; var paths = this._paths, parsedPaths = this._parsedPaths, objects = this._objects, nObjects = objects.length, nCachedObjects = this.nCachedObjects_, bindingsForPath = new Array( nObjects ); index = bindings.length; indicesByPath[ path ] = index; paths.push( path ); parsedPaths.push( parsedPath ); bindings.push( bindingsForPath ); for ( var i = nCachedObjects, n = objects.length; i !== n; ++ i ) { var object = objects[ i ]; bindingsForPath[ i ] = new PropertyBinding( object, path, parsedPath ); } return bindingsForPath; }, unsubscribe_: function ( path ) { // tells the group to forget about a property path and no longer // update the array previously obtained with 'subscribe_' var indicesByPath = this._bindingsIndicesByPath, index = indicesByPath[ path ]; if ( index !== undefined ) { var paths = this._paths, parsedPaths = this._parsedPaths, bindings = this._bindings, lastBindingsIndex = bindings.length - 1, lastBindings = bindings[ lastBindingsIndex ], lastBindingsPath = path[ lastBindingsIndex ]; indicesByPath[ lastBindingsPath ] = index; bindings[ index ] = lastBindings; bindings.pop(); parsedPaths[ index ] = parsedPaths[ lastBindingsIndex ]; parsedPaths.pop(); paths[ index ] = paths[ lastBindingsIndex ]; paths.pop(); } } } ); /** * * Action provided by AnimationMixer for scheduling clip playback on specific * objects. * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw * */ function AnimationAction( mixer, clip, localRoot ) { this._mixer = mixer; this._clip = clip; this._localRoot = localRoot || null; var tracks = clip.tracks, nTracks = tracks.length, interpolants = new Array( nTracks ); var interpolantSettings = { endingStart: ZeroCurvatureEnding, endingEnd: ZeroCurvatureEnding }; for ( var i = 0; i !== nTracks; ++ i ) { var interpolant = tracks[ i ].createInterpolant( null ); interpolants[ i ] = interpolant; interpolant.settings = interpolantSettings; } this._interpolantSettings = interpolantSettings; this._interpolants = interpolants; // bound by the mixer // inside: PropertyMixer (managed by the mixer) this._propertyBindings = new Array( nTracks ); this._cacheIndex = null; // for the memory manager this._byClipCacheIndex = null; // for the memory manager this._timeScaleInterpolant = null; this._weightInterpolant = null; this.loop = LoopRepeat; this._loopCount = -1; // global mixer time when the action is to be started // it's set back to 'null' upon start of the action this._startTime = null; // scaled local time of the action // gets clamped or wrapped to 0..clip.duration according to loop this.time = 0; this.timeScale = 1; this._effectiveTimeScale = 1; this.weight = 1; this._effectiveWeight = 1; this.repetitions = Infinity; // no. of repetitions when looping this.paused = false; // true -> zero effective time scale this.enabled = true; // false -> zero effective weight this.clampWhenFinished = false; // keep feeding the last frame? this.zeroSlopeAtStart = true; // for smooth interpolation w/o separate this.zeroSlopeAtEnd = true; // clips for start, loop and end } Object.assign( AnimationAction.prototype, { // State & Scheduling play: function() { this._mixer._activateAction( this ); return this; }, stop: function() { this._mixer._deactivateAction( this ); return this.reset(); }, reset: function() { this.paused = false; this.enabled = true; this.time = 0; // restart clip this._loopCount = -1; // forget previous loops this._startTime = null; // forget scheduling return this.stopFading().stopWarping(); }, isRunning: function() { return this.enabled && ! this.paused && this.timeScale !== 0 && this._startTime === null && this._mixer._isActiveAction( this ); }, // return true when play has been called isScheduled: function() { return this._mixer._isActiveAction( this ); }, startAt: function( time ) { this._startTime = time; return this; }, setLoop: function( mode, repetitions ) { this.loop = mode; this.repetitions = repetitions; return this; }, // Weight // set the weight stopping any scheduled fading // although .enabled = false yields an effective weight of zero, this // method does *not* change .enabled, because it would be confusing setEffectiveWeight: function( weight ) { this.weight = weight; // note: same logic as when updated at runtime this._effectiveWeight = this.enabled ? weight : 0; return this.stopFading(); }, // return the weight considering fading and .enabled getEffectiveWeight: function() { return this._effectiveWeight; }, fadeIn: function( duration ) { return this._scheduleFading( duration, 0, 1 ); }, fadeOut: function( duration ) { return this._scheduleFading( duration, 1, 0 ); }, crossFadeFrom: function( fadeOutAction, duration, warp ) { fadeOutAction.fadeOut( duration ); this.fadeIn( duration ); if( warp ) { var fadeInDuration = this._clip.duration, fadeOutDuration = fadeOutAction._clip.duration, startEndRatio = fadeOutDuration / fadeInDuration, endStartRatio = fadeInDuration / fadeOutDuration; fadeOutAction.warp( 1.0, startEndRatio, duration ); this.warp( endStartRatio, 1.0, duration ); } return this; }, crossFadeTo: function( fadeInAction, duration, warp ) { return fadeInAction.crossFadeFrom( this, duration, warp ); }, stopFading: function() { var weightInterpolant = this._weightInterpolant; if ( weightInterpolant !== null ) { this._weightInterpolant = null; this._mixer._takeBackControlInterpolant( weightInterpolant ); } return this; }, // Time Scale Control // set the time scale stopping any scheduled warping // although .paused = true yields an effective time scale of zero, this // method does *not* change .paused, because it would be confusing setEffectiveTimeScale: function( timeScale ) { this.timeScale = timeScale; this._effectiveTimeScale = this.paused ? 0 :timeScale; return this.stopWarping(); }, // return the time scale considering warping and .paused getEffectiveTimeScale: function() { return this._effectiveTimeScale; }, setDuration: function( duration ) { this.timeScale = this._clip.duration / duration; return this.stopWarping(); }, syncWith: function( action ) { this.time = action.time; this.timeScale = action.timeScale; return this.stopWarping(); }, halt: function( duration ) { return this.warp( this._effectiveTimeScale, 0, duration ); }, warp: function( startTimeScale, endTimeScale, duration ) { var mixer = this._mixer, now = mixer.time, interpolant = this._timeScaleInterpolant, timeScale = this.timeScale; if ( interpolant === null ) { interpolant = mixer._lendControlInterpolant(); this._timeScaleInterpolant = interpolant; } var times = interpolant.parameterPositions, values = interpolant.sampleValues; times[ 0 ] = now; times[ 1 ] = now + duration; values[ 0 ] = startTimeScale / timeScale; values[ 1 ] = endTimeScale / timeScale; return this; }, stopWarping: function() { var timeScaleInterpolant = this._timeScaleInterpolant; if ( timeScaleInterpolant !== null ) { this._timeScaleInterpolant = null; this._mixer._takeBackControlInterpolant( timeScaleInterpolant ); } return this; }, // Object Accessors getMixer: function() { return this._mixer; }, getClip: function() { return this._clip; }, getRoot: function() { return this._localRoot || this._mixer._root; }, // Interna _update: function( time, deltaTime, timeDirection, accuIndex ) { // called by the mixer if ( ! this.enabled ) { // call ._updateWeight() to update ._effectiveWeight this._updateWeight( time ); return; } var startTime = this._startTime; if ( startTime !== null ) { // check for scheduled start of action var timeRunning = ( time - startTime ) * timeDirection; if ( timeRunning < 0 || timeDirection === 0 ) { return; // yet to come / don't decide when delta = 0 } // start this._startTime = null; // unschedule deltaTime = timeDirection * timeRunning; } // apply time scale and advance time deltaTime *= this._updateTimeScale( time ); var clipTime = this._updateTime( deltaTime ); // note: _updateTime may disable the action resulting in // an effective weight of 0 var weight = this._updateWeight( time ); if ( weight > 0 ) { var interpolants = this._interpolants; var propertyMixers = this._propertyBindings; for ( var j = 0, m = interpolants.length; j !== m; ++ j ) { interpolants[ j ].evaluate( clipTime ); propertyMixers[ j ].accumulate( accuIndex, weight ); } } }, _updateWeight: function( time ) { var weight = 0; if ( this.enabled ) { weight = this.weight; var interpolant = this._weightInterpolant; if ( interpolant !== null ) { var interpolantValue = interpolant.evaluate( time )[ 0 ]; weight *= interpolantValue; if ( time > interpolant.parameterPositions[ 1 ] ) { this.stopFading(); if ( interpolantValue === 0 ) { // faded out, disable this.enabled = false; } } } } this._effectiveWeight = weight; return weight; }, _updateTimeScale: function( time ) { var timeScale = 0; if ( ! this.paused ) { timeScale = this.timeScale; var interpolant = this._timeScaleInterpolant; if ( interpolant !== null ) { var interpolantValue = interpolant.evaluate( time )[ 0 ]; timeScale *= interpolantValue; if ( time > interpolant.parameterPositions[ 1 ] ) { this.stopWarping(); if ( timeScale === 0 ) { // motion has halted, pause this.paused = true; } else { // warp done - apply final time scale this.timeScale = timeScale; } } } } this._effectiveTimeScale = timeScale; return timeScale; }, _updateTime: function( deltaTime ) { var time = this.time + deltaTime; if ( deltaTime === 0 ) return time; var duration = this._clip.duration, loop = this.loop, loopCount = this._loopCount; if ( loop === LoopOnce ) { if ( loopCount === -1 ) { // just started this._loopCount = 0; this._setEndings( true, true, false ); } handle_stop: { if ( time >= duration ) { time = duration; } else if ( time < 0 ) { time = 0; } else break handle_stop; if ( this.clampWhenFinished ) this.paused = true; else this.enabled = false; this._mixer.dispatchEvent( { type: 'finished', action: this, direction: deltaTime < 0 ? -1 : 1 } ); } } else { // repetitive Repeat or PingPong var pingPong = ( loop === LoopPingPong ); if ( loopCount === -1 ) { // just started if ( deltaTime >= 0 ) { loopCount = 0; this._setEndings( true, this.repetitions === 0, pingPong ); } else { // when looping in reverse direction, the initial // transition through zero counts as a repetition, // so leave loopCount at -1 this._setEndings( this.repetitions === 0, true, pingPong ); } } if ( time >= duration || time < 0 ) { // wrap around var loopDelta = Math.floor( time / duration ); // signed time -= duration * loopDelta; loopCount += Math.abs( loopDelta ); var pending = this.repetitions - loopCount; if ( pending < 0 ) { // have to stop (switch state, clamp time, fire event) if ( this.clampWhenFinished ) this.paused = true; else this.enabled = false; time = deltaTime > 0 ? duration : 0; this._mixer.dispatchEvent( { type: 'finished', action: this, direction: deltaTime > 0 ? 1 : -1 } ); } else { // keep running if ( pending === 0 ) { // entering the last round var atStart = deltaTime < 0; this._setEndings( atStart, ! atStart, pingPong ); } else { this._setEndings( false, false, pingPong ); } this._loopCount = loopCount; this._mixer.dispatchEvent( { type: 'loop', action: this, loopDelta: loopDelta } ); } } if ( pingPong && ( loopCount & 1 ) === 1 ) { // invert time for the "pong round" this.time = time; return duration - time; } } this.time = time; return time; }, _setEndings: function( atStart, atEnd, pingPong ) { var settings = this._interpolantSettings; if ( pingPong ) { settings.endingStart = ZeroSlopeEnding; settings.endingEnd = ZeroSlopeEnding; } else { // assuming for LoopOnce atStart == atEnd == true if ( atStart ) { settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding; } else { settings.endingStart = WrapAroundEnding; } if ( atEnd ) { settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding; } else { settings.endingEnd = WrapAroundEnding; } } }, _scheduleFading: function( duration, weightNow, weightThen ) { var mixer = this._mixer, now = mixer.time, interpolant = this._weightInterpolant; if ( interpolant === null ) { interpolant = mixer._lendControlInterpolant(); this._weightInterpolant = interpolant; } var times = interpolant.parameterPositions, values = interpolant.sampleValues; times[ 0 ] = now; values[ 0 ] = weightNow; times[ 1 ] = now + duration; values[ 1 ] = weightThen; return this; } } ); /** * * Player for AnimationClips. * * * @author Ben Houston / http://clara.io/ * @author David Sarno / http://lighthaus.us/ * @author tschw */ function AnimationMixer( root ) { this._root = root; this._initMemoryManager(); this._accuIndex = 0; this.time = 0; this.timeScale = 1.0; } Object.assign( AnimationMixer.prototype, EventDispatcher.prototype, { _bindAction: function ( action, prototypeAction ) { var root = action._localRoot || this._root, tracks = action._clip.tracks, nTracks = tracks.length, bindings = action._propertyBindings, interpolants = action._interpolants, rootUuid = root.uuid, bindingsByRoot = this._bindingsByRootAndName, bindingsByName = bindingsByRoot[ rootUuid ]; if ( bindingsByName === undefined ) { bindingsByName = {}; bindingsByRoot[ rootUuid ] = bindingsByName; } for ( var i = 0; i !== nTracks; ++ i ) { var track = tracks[ i ], trackName = track.name, binding = bindingsByName[ trackName ]; if ( binding !== undefined ) { bindings[ i ] = binding; } else { binding = bindings[ i ]; if ( binding !== undefined ) { // existing binding, make sure the cache knows if ( binding._cacheIndex === null ) { ++ binding.referenceCount; this._addInactiveBinding( binding, rootUuid, trackName ); } continue; } var path = prototypeAction && prototypeAction. _propertyBindings[ i ].binding.parsedPath; binding = new PropertyMixer( PropertyBinding.create( root, trackName, path ), track.ValueTypeName, track.getValueSize() ); ++ binding.referenceCount; this._addInactiveBinding( binding, rootUuid, trackName ); bindings[ i ] = binding; } interpolants[ i ].resultBuffer = binding.buffer; } }, _activateAction: function ( action ) { if ( ! this._isActiveAction( action ) ) { if ( action._cacheIndex === null ) { // this action has been forgotten by the cache, but the user // appears to be still using it -> rebind var rootUuid = ( action._localRoot || this._root ).uuid, clipUuid = action._clip.uuid, actionsForClip = this._actionsByClip[ clipUuid ]; this._bindAction( action, actionsForClip && actionsForClip.knownActions[ 0 ] ); this._addInactiveAction( action, clipUuid, rootUuid ); } var bindings = action._propertyBindings; // increment reference counts / sort out state for ( var i = 0, n = bindings.length; i !== n; ++ i ) { var binding = bindings[ i ]; if ( binding.useCount ++ === 0 ) { this._lendBinding( binding ); binding.saveOriginalState(); } } this._lendAction( action ); } }, _deactivateAction: function ( action ) { if ( this._isActiveAction( action ) ) { var bindings = action._propertyBindings; // decrement reference counts / sort out state for ( var i = 0, n = bindings.length; i !== n; ++ i ) { var binding = bindings[ i ]; if ( -- binding.useCount === 0 ) { binding.restoreOriginalState(); this._takeBackBinding( binding ); } } this._takeBackAction( action ); } }, // Memory manager _initMemoryManager: function () { this._actions = []; // 'nActiveActions' followed by inactive ones this._nActiveActions = 0; this._actionsByClip = {}; // inside: // { // knownActions: Array< AnimationAction > - used as prototypes // actionByRoot: AnimationAction - lookup // } this._bindings = []; // 'nActiveBindings' followed by inactive ones this._nActiveBindings = 0; this._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer > this._controlInterpolants = []; // same game as above this._nActiveControlInterpolants = 0; var scope = this; this.stats = { actions: { get total() { return scope._actions.length; }, get inUse() { return scope._nActiveActions; } }, bindings: { get total() { return scope._bindings.length; }, get inUse() { return scope._nActiveBindings; } }, controlInterpolants: { get total() { return scope._controlInterpolants.length; }, get inUse() { return scope._nActiveControlInterpolants; } } }; }, // Memory management for AnimationAction objects _isActiveAction: function ( action ) { var index = action._cacheIndex; return index !== null && index < this._nActiveActions; }, _addInactiveAction: function ( action, clipUuid, rootUuid ) { var actions = this._actions, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[ clipUuid ]; if ( actionsForClip === undefined ) { actionsForClip = { knownActions: [ action ], actionByRoot: {} }; action._byClipCacheIndex = 0; actionsByClip[ clipUuid ] = actionsForClip; } else { var knownActions = actionsForClip.knownActions; action._byClipCacheIndex = knownActions.length; knownActions.push( action ); } action._cacheIndex = actions.length; actions.push( action ); actionsForClip.actionByRoot[ rootUuid ] = action; }, _removeInactiveAction: function ( action ) { var actions = this._actions, lastInactiveAction = actions[ actions.length - 1 ], cacheIndex = action._cacheIndex; lastInactiveAction._cacheIndex = cacheIndex; actions[ cacheIndex ] = lastInactiveAction; actions.pop(); action._cacheIndex = null; var clipUuid = action._clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[ clipUuid ], knownActionsForClip = actionsForClip.knownActions, lastKnownAction = knownActionsForClip[ knownActionsForClip.length - 1 ], byClipCacheIndex = action._byClipCacheIndex; lastKnownAction._byClipCacheIndex = byClipCacheIndex; knownActionsForClip[ byClipCacheIndex ] = lastKnownAction; knownActionsForClip.pop(); action._byClipCacheIndex = null; var actionByRoot = actionsForClip.actionByRoot, rootUuid = ( action._localRoot || this._root ).uuid; delete actionByRoot[ rootUuid ]; if ( knownActionsForClip.length === 0 ) { delete actionsByClip[ clipUuid ]; } this._removeInactiveBindingsForAction( action ); }, _removeInactiveBindingsForAction: function ( action ) { var bindings = action._propertyBindings; for ( var i = 0, n = bindings.length; i !== n; ++ i ) { var binding = bindings[ i ]; if ( -- binding.referenceCount === 0 ) { this._removeInactiveBinding( binding ); } } }, _lendAction: function ( action ) { // [ active actions | inactive actions ] // [ active actions >| inactive actions ] // s a // <-swap-> // a s var actions = this._actions, prevIndex = action._cacheIndex, lastActiveIndex = this._nActiveActions ++, firstInactiveAction = actions[ lastActiveIndex ]; action._cacheIndex = lastActiveIndex; actions[ lastActiveIndex ] = action; firstInactiveAction._cacheIndex = prevIndex; actions[ prevIndex ] = firstInactiveAction; }, _takeBackAction: function ( action ) { // [ active actions | inactive actions ] // [ active actions |< inactive actions ] // a s // <-swap-> // s a var actions = this._actions, prevIndex = action._cacheIndex, firstInactiveIndex = -- this._nActiveActions, lastActiveAction = actions[ firstInactiveIndex ]; action._cacheIndex = firstInactiveIndex; actions[ firstInactiveIndex ] = action; lastActiveAction._cacheIndex = prevIndex; actions[ prevIndex ] = lastActiveAction; }, // Memory management for PropertyMixer objects _addInactiveBinding: function ( binding, rootUuid, trackName ) { var bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[ rootUuid ], bindings = this._bindings; if ( bindingByName === undefined ) { bindingByName = {}; bindingsByRoot[ rootUuid ] = bindingByName; } bindingByName[ trackName ] = binding; binding._cacheIndex = bindings.length; bindings.push( binding ); }, _removeInactiveBinding: function ( binding ) { var bindings = this._bindings, propBinding = binding.binding, rootUuid = propBinding.rootNode.uuid, trackName = propBinding.path, bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[ rootUuid ], lastInactiveBinding = bindings[ bindings.length - 1 ], cacheIndex = binding._cacheIndex; lastInactiveBinding._cacheIndex = cacheIndex; bindings[ cacheIndex ] = lastInactiveBinding; bindings.pop(); delete bindingByName[ trackName ]; remove_empty_map: { for ( var _ in bindingByName ) break remove_empty_map; delete bindingsByRoot[ rootUuid ]; } }, _lendBinding: function ( binding ) { var bindings = this._bindings, prevIndex = binding._cacheIndex, lastActiveIndex = this._nActiveBindings ++, firstInactiveBinding = bindings[ lastActiveIndex ]; binding._cacheIndex = lastActiveIndex; bindings[ lastActiveIndex ] = binding; firstInactiveBinding._cacheIndex = prevIndex; bindings[ prevIndex ] = firstInactiveBinding; }, _takeBackBinding: function ( binding ) { var bindings = this._bindings, prevIndex = binding._cacheIndex, firstInactiveIndex = -- this._nActiveBindings, lastActiveBinding = bindings[ firstInactiveIndex ]; binding._cacheIndex = firstInactiveIndex; bindings[ firstInactiveIndex ] = binding; lastActiveBinding._cacheIndex = prevIndex; bindings[ prevIndex ] = lastActiveBinding; }, // Memory management of Interpolants for weight and time scale _lendControlInterpolant: function () { var interpolants = this._controlInterpolants, lastActiveIndex = this._nActiveControlInterpolants ++, interpolant = interpolants[ lastActiveIndex ]; if ( interpolant === undefined ) { interpolant = new LinearInterpolant( new Float32Array( 2 ), new Float32Array( 2 ), 1, this._controlInterpolantsResultBuffer ); interpolant.__cacheIndex = lastActiveIndex; interpolants[ lastActiveIndex ] = interpolant; } return interpolant; }, _takeBackControlInterpolant: function ( interpolant ) { var interpolants = this._controlInterpolants, prevIndex = interpolant.__cacheIndex, firstInactiveIndex = -- this._nActiveControlInterpolants, lastActiveInterpolant = interpolants[ firstInactiveIndex ]; interpolant.__cacheIndex = firstInactiveIndex; interpolants[ firstInactiveIndex ] = interpolant; lastActiveInterpolant.__cacheIndex = prevIndex; interpolants[ prevIndex ] = lastActiveInterpolant; }, _controlInterpolantsResultBuffer: new Float32Array( 1 ), // return an action for a clip optionally using a custom root target // object (this method allocates a lot of dynamic memory in case a // previously unknown clip/root combination is specified) clipAction: function ( clip, optionalRoot ) { var root = optionalRoot || this._root, rootUuid = root.uuid, clipObject = typeof clip === 'string' ? AnimationClip.findByName( root, clip ) : clip, clipUuid = clipObject !== null ? clipObject.uuid : clip, actionsForClip = this._actionsByClip[ clipUuid ], prototypeAction = null; if ( actionsForClip !== undefined ) { var existingAction = actionsForClip.actionByRoot[ rootUuid ]; if ( existingAction !== undefined ) { return existingAction; } // we know the clip, so we don't have to parse all // the bindings again but can just copy prototypeAction = actionsForClip.knownActions[ 0 ]; // also, take the clip from the prototype action if ( clipObject === null ) clipObject = prototypeAction._clip; } // clip must be known when specified via string if ( clipObject === null ) return null; // allocate all resources required to run it var newAction = new AnimationAction( this, clipObject, optionalRoot ); this._bindAction( newAction, prototypeAction ); // and make the action known to the memory manager this._addInactiveAction( newAction, clipUuid, rootUuid ); return newAction; }, // get an existing action existingAction: function ( clip, optionalRoot ) { var root = optionalRoot || this._root, rootUuid = root.uuid, clipObject = typeof clip === 'string' ? AnimationClip.findByName( root, clip ) : clip, clipUuid = clipObject ? clipObject.uuid : clip, actionsForClip = this._actionsByClip[ clipUuid ]; if ( actionsForClip !== undefined ) { return actionsForClip.actionByRoot[ rootUuid ] || null; } return null; }, // deactivates all previously scheduled actions stopAllAction: function () { var actions = this._actions, nActions = this._nActiveActions, bindings = this._bindings, nBindings = this._nActiveBindings; this._nActiveActions = 0; this._nActiveBindings = 0; for ( var i = 0; i !== nActions; ++ i ) { actions[ i ].reset(); } for ( var i = 0; i !== nBindings; ++ i ) { bindings[ i ].useCount = 0; } return this; }, // advance the time and update apply the animation update: function ( deltaTime ) { deltaTime *= this.timeScale; var actions = this._actions, nActions = this._nActiveActions, time = this.time += deltaTime, timeDirection = Math.sign( deltaTime ), accuIndex = this._accuIndex ^= 1; // run active actions for ( var i = 0; i !== nActions; ++ i ) { var action = actions[ i ]; action._update( time, deltaTime, timeDirection, accuIndex ); } // update scene graph var bindings = this._bindings, nBindings = this._nActiveBindings; for ( var i = 0; i !== nBindings; ++ i ) { bindings[ i ].apply( accuIndex ); } return this; }, // return this mixer's root target object getRoot: function () { return this._root; }, // free all resources specific to a particular clip uncacheClip: function ( clip ) { var actions = this._actions, clipUuid = clip.uuid, actionsByClip = this._actionsByClip, actionsForClip = actionsByClip[ clipUuid ]; if ( actionsForClip !== undefined ) { // note: just calling _removeInactiveAction would mess up the // iteration state and also require updating the state we can // just throw away var actionsToRemove = actionsForClip.knownActions; for ( var i = 0, n = actionsToRemove.length; i !== n; ++ i ) { var action = actionsToRemove[ i ]; this._deactivateAction( action ); var cacheIndex = action._cacheIndex, lastInactiveAction = actions[ actions.length - 1 ]; action._cacheIndex = null; action._byClipCacheIndex = null; lastInactiveAction._cacheIndex = cacheIndex; actions[ cacheIndex ] = lastInactiveAction; actions.pop(); this._removeInactiveBindingsForAction( action ); } delete actionsByClip[ clipUuid ]; } }, // free all resources specific to a particular root target object uncacheRoot: function ( root ) { var rootUuid = root.uuid, actionsByClip = this._actionsByClip; for ( var clipUuid in actionsByClip ) { var actionByRoot = actionsByClip[ clipUuid ].actionByRoot, action = actionByRoot[ rootUuid ]; if ( action !== undefined ) { this._deactivateAction( action ); this._removeInactiveAction( action ); } } var bindingsByRoot = this._bindingsByRootAndName, bindingByName = bindingsByRoot[ rootUuid ]; if ( bindingByName !== undefined ) { for ( var trackName in bindingByName ) { var binding = bindingByName[ trackName ]; binding.restoreOriginalState(); this._removeInactiveBinding( binding ); } } }, // remove a targeted clip from the cache uncacheAction: function ( clip, optionalRoot ) { var action = this.existingAction( clip, optionalRoot ); if ( action !== null ) { this._deactivateAction( action ); this._removeInactiveAction( action ); } } } ); /** * @author mrdoob / http://mrdoob.com/ */ function Uniform( value ) { if ( typeof value === 'string' ) { console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); value = arguments[ 1 ]; } this.value = value; } Uniform.prototype.clone = function () { return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); }; /** * @author benaadams / https://twitter.com/ben_a_adams */ function InstancedBufferGeometry() { BufferGeometry.call( this ); this.type = 'InstancedBufferGeometry'; this.maxInstancedCount = undefined; } InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), { constructor: InstancedBufferGeometry, isInstancedBufferGeometry: true, addGroup: function ( start, count, materialIndex ) { this.groups.push( { start: start, count: count, materialIndex: materialIndex } ); }, copy: function ( source ) { var index = source.index; if ( index !== null ) { this.setIndex( index.clone() ); } var attributes = source.attributes; for ( var name in attributes ) { var attribute = attributes[ name ]; this.addAttribute( name, attribute.clone() ); } var groups = source.groups; for ( var i = 0, l = groups.length; i < l; i ++ ) { var group = groups[ i ]; this.addGroup( group.start, group.count, group.materialIndex ); } return this; } } ); /** * @author benaadams / https://twitter.com/ben_a_adams */ function InterleavedBufferAttribute( interleavedBuffer, itemSize, offset, normalized ) { this.uuid = _Math.generateUUID(); this.data = interleavedBuffer; this.itemSize = itemSize; this.offset = offset; this.normalized = normalized === true; } Object.defineProperties( InterleavedBufferAttribute.prototype, { count: { get: function () { return this.data.count; } }, array: { get: function () { return this.data.array; } } } ); Object.assign( InterleavedBufferAttribute.prototype, { isInterleavedBufferAttribute: true, setX: function ( index, x ) { this.data.array[ index * this.data.stride + this.offset ] = x; return this; }, setY: function ( index, y ) { this.data.array[ index * this.data.stride + this.offset + 1 ] = y; return this; }, setZ: function ( index, z ) { this.data.array[ index * this.data.stride + this.offset + 2 ] = z; return this; }, setW: function ( index, w ) { this.data.array[ index * this.data.stride + this.offset + 3 ] = w; return this; }, getX: function ( index ) { return this.data.array[ index * this.data.stride + this.offset ]; }, getY: function ( index ) { return this.data.array[ index * this.data.stride + this.offset + 1 ]; }, getZ: function ( index ) { return this.data.array[ index * this.data.stride + this.offset + 2 ]; }, getW: function ( index ) { return this.data.array[ index * this.data.stride + this.offset + 3 ]; }, setXY: function ( index, x, y ) { index = index * this.data.stride + this.offset; this.data.array[ index + 0 ] = x; this.data.array[ index + 1 ] = y; return this; }, setXYZ: function ( index, x, y, z ) { index = index * this.data.stride + this.offset; this.data.array[ index + 0 ] = x; this.data.array[ index + 1 ] = y; this.data.array[ index + 2 ] = z; return this; }, setXYZW: function ( index, x, y, z, w ) { index = index * this.data.stride + this.offset; this.data.array[ index + 0 ] = x; this.data.array[ index + 1 ] = y; this.data.array[ index + 2 ] = z; this.data.array[ index + 3 ] = w; return this; } } ); /** * @author benaadams / https://twitter.com/ben_a_adams */ function InterleavedBuffer( array, stride ) { this.uuid = _Math.generateUUID(); this.array = array; this.stride = stride; this.count = array !== undefined ? array.length / stride : 0; this.dynamic = false; this.updateRange = { offset: 0, count: - 1 }; this.onUploadCallback = function () {}; this.version = 0; } Object.defineProperty( InterleavedBuffer.prototype, 'needsUpdate', { set: function ( value ) { if ( value === true ) this.version ++; } } ); Object.assign( InterleavedBuffer.prototype, { isInterleavedBuffer: true, setArray: function ( array ) { if ( Array.isArray( array ) ) { throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); } this.count = array !== undefined ? array.length / this.stride : 0; this.array = array; }, setDynamic: function ( value ) { this.dynamic = value; return this; }, copy: function ( source ) { this.array = new source.array.constructor( source.array ); this.count = source.count; this.stride = source.stride; this.dynamic = source.dynamic; return this; }, copyAt: function ( index1, attribute, index2 ) { index1 *= this.stride; index2 *= attribute.stride; for ( var i = 0, l = this.stride; i < l; i ++ ) { this.array[ index1 + i ] = attribute.array[ index2 + i ]; } return this; }, set: function ( value, offset ) { if ( offset === undefined ) offset = 0; this.array.set( value, offset ); return this; }, clone: function () { return new this.constructor().copy( this ); }, onUpload: function ( callback ) { this.onUploadCallback = callback; return this; } } ); /** * @author benaadams / https://twitter.com/ben_a_adams */ function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) { InterleavedBuffer.call( this, array, stride ); this.meshPerAttribute = meshPerAttribute || 1; } InstancedInterleavedBuffer.prototype = Object.assign( Object.create( InterleavedBuffer.prototype ), { constructor: InstancedInterleavedBuffer, isInstancedInterleavedBuffer: true, copy: function ( source ) { InterleavedBuffer.prototype.copy.call( this, source ); this.meshPerAttribute = source.meshPerAttribute; return this; } } ); /** * @author benaadams / https://twitter.com/ben_a_adams */ function InstancedBufferAttribute( array, itemSize, meshPerAttribute ) { BufferAttribute.call( this, array, itemSize ); this.meshPerAttribute = meshPerAttribute || 1; } InstancedBufferAttribute.prototype = Object.assign( Object.create( BufferAttribute.prototype ), { constructor: InstancedBufferAttribute, isInstancedBufferAttribute: true, copy: function ( source ) { BufferAttribute.prototype.copy.call( this, source ); this.meshPerAttribute = source.meshPerAttribute; return this; } } ); /** * @author mrdoob / http://mrdoob.com/ * @author bhouston / http://clara.io/ * @author stephomi / http://stephaneginier.com/ */ function Raycaster( origin, direction, near, far ) { this.ray = new Ray( origin, direction ); // direction is assumed to be normalized (for accurate distance calculations) this.near = near || 0; this.far = far || Infinity; this.params = { Mesh: {}, Line: {}, LOD: {}, Points: { threshold: 1 }, Sprite: {} }; Object.defineProperties( this.params, { PointCloud: { get: function () { console.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' ); return this.Points; } } } ); } function ascSort( a, b ) { return a.distance - b.distance; } function intersectObject( object, raycaster, intersects, recursive ) { if ( object.visible === false ) return; object.raycast( raycaster, intersects ); if ( recursive === true ) { var children = object.children; for ( var i = 0, l = children.length; i < l; i ++ ) { intersectObject( children[ i ], raycaster, intersects, true ); } } } Object.assign( Raycaster.prototype, { linePrecision: 1, set: function ( origin, direction ) { // direction is assumed to be normalized (for accurate distance calculations) this.ray.set( origin, direction ); }, setFromCamera: function ( coords, camera ) { if ( ( camera && camera.isPerspectiveCamera ) ) { this.ray.origin.setFromMatrixPosition( camera.matrixWorld ); this.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize(); } else if ( ( camera && camera.isOrthographicCamera ) ) { this.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera this.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld ); } else { console.error( 'THREE.Raycaster: Unsupported camera type.' ); } }, intersectObject: function ( object, recursive ) { var intersects = []; intersectObject( object, this, intersects, recursive ); intersects.sort( ascSort ); return intersects; }, intersectObjects: function ( objects, recursive ) { var intersects = []; if ( Array.isArray( objects ) === false ) { console.warn( 'THREE.Raycaster.intersectObjects: objects is not an Array.' ); return intersects; } for ( var i = 0, l = objects.length; i < l; i ++ ) { intersectObject( objects[ i ], this, intersects, recursive ); } intersects.sort( ascSort ); return intersects; } } ); /** * @author alteredq / http://alteredqualia.com/ */ function Clock( autoStart ) { this.autoStart = ( autoStart !== undefined ) ? autoStart : true; this.startTime = 0; this.oldTime = 0; this.elapsedTime = 0; this.running = false; } Object.assign( Clock.prototype, { start: function () { this.startTime = ( typeof performance === 'undefined' ? Date : performance ).now(); // see #10732 this.oldTime = this.startTime; this.elapsedTime = 0; this.running = true; }, stop: function () { this.getElapsedTime(); this.running = false; this.autoStart = false; }, getElapsedTime: function () { this.getDelta(); return this.elapsedTime; }, getDelta: function () { var diff = 0; if ( this.autoStart && ! this.running ) { this.start(); return 0; } if ( this.running ) { var newTime = ( typeof performance === 'undefined' ? Date : performance ).now(); diff = ( newTime - this.oldTime ) / 1000; this.oldTime = newTime; this.elapsedTime += diff; } return diff; } } ); /** * @author bhouston / http://clara.io * @author WestLangley / http://github.com/WestLangley * * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system * * The poles (phi) are at the positive and negative y axis. * The equator starts at positive z. */ function Spherical( radius, phi, theta ) { this.radius = ( radius !== undefined ) ? radius : 1.0; this.phi = ( phi !== undefined ) ? phi : 0; // up / down towards top and bottom pole this.theta = ( theta !== undefined ) ? theta : 0; // around the equator of the sphere return this; } Object.assign( Spherical.prototype, { set: function ( radius, phi, theta ) { this.radius = radius; this.phi = phi; this.theta = theta; return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( other ) { this.radius = other.radius; this.phi = other.phi; this.theta = other.theta; return this; }, // restrict phi to be betwee EPS and PI-EPS makeSafe: function() { var EPS = 0.000001; this.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) ); return this; }, setFromVector3: function( vec3 ) { this.radius = vec3.length(); if ( this.radius === 0 ) { this.theta = 0; this.phi = 0; } else { this.theta = Math.atan2( vec3.x, vec3.z ); // equator angle around y-up axis this.phi = Math.acos( _Math.clamp( vec3.y / this.radius, - 1, 1 ) ); // polar angle } return this; } } ); /** * @author Mugen87 / https://github.com/Mugen87 * * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system * */ function Cylindrical( radius, theta, y ) { this.radius = ( radius !== undefined ) ? radius : 1.0; // distance from the origin to a point in the x-z plane this.theta = ( theta !== undefined ) ? theta : 0; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis this.y = ( y !== undefined ) ? y : 0; // height above the x-z plane return this; } Object.assign( Cylindrical.prototype, { set: function ( radius, theta, y ) { this.radius = radius; this.theta = theta; this.y = y; return this; }, clone: function () { return new this.constructor().copy( this ); }, copy: function ( other ) { this.radius = other.radius; this.theta = other.theta; this.y = other.y; return this; }, setFromVector3: function( vec3 ) { this.radius = Math.sqrt( vec3.x * vec3.x + vec3.z * vec3.z ); this.theta = Math.atan2( vec3.x, vec3.z ); this.y = vec3.y; return this; } } ); /** * @author alteredq / http://alteredqualia.com/ */ function MorphBlendMesh( geometry, material ) { Mesh.call( this, geometry, material ); this.animationsMap = {}; this.animationsList = []; // prepare default animation // (all frames played together in 1 second) var numFrames = this.geometry.morphTargets.length; var name = "__default"; var startFrame = 0; var endFrame = numFrames - 1; var fps = numFrames / 1; this.createAnimation( name, startFrame, endFrame, fps ); this.setAnimationWeight( name, 1 ); } MorphBlendMesh.prototype = Object.create( Mesh.prototype ); MorphBlendMesh.prototype.constructor = MorphBlendMesh; MorphBlendMesh.prototype.createAnimation = function ( name, start, end, fps ) { var animation = { start: start, end: end, length: end - start + 1, fps: fps, duration: ( end - start ) / fps, lastFrame: 0, currentFrame: 0, active: false, time: 0, direction: 1, weight: 1, directionBackwards: false, mirroredLoop: false }; this.animationsMap[ name ] = animation; this.animationsList.push( animation ); }; MorphBlendMesh.prototype.autoCreateAnimations = function ( fps ) { var pattern = /([a-z]+)_?(\d+)/i; var firstAnimation, frameRanges = {}; var geometry = this.geometry; for ( var i = 0, il = geometry.morphTargets.length; i < il; i ++ ) { var morph = geometry.morphTargets[ i ]; var chunks = morph.name.match( pattern ); if ( chunks && chunks.length > 1 ) { var name = chunks[ 1 ]; if ( ! frameRanges[ name ] ) frameRanges[ name ] = { start: Infinity, end: - Infinity }; var range = frameRanges[ name ]; if ( i < range.start ) range.start = i; if ( i > range.end ) range.end = i; if ( ! firstAnimation ) firstAnimation = name; } } for ( var name in frameRanges ) { var range = frameRanges[ name ]; this.createAnimation( name, range.start, range.end, fps ); } this.firstAnimation = firstAnimation; }; MorphBlendMesh.prototype.setAnimationDirectionForward = function ( name ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.direction = 1; animation.directionBackwards = false; } }; MorphBlendMesh.prototype.setAnimationDirectionBackward = function ( name ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.direction = - 1; animation.directionBackwards = true; } }; MorphBlendMesh.prototype.setAnimationFPS = function ( name, fps ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.fps = fps; animation.duration = ( animation.end - animation.start ) / animation.fps; } }; MorphBlendMesh.prototype.setAnimationDuration = function ( name, duration ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.duration = duration; animation.fps = ( animation.end - animation.start ) / animation.duration; } }; MorphBlendMesh.prototype.setAnimationWeight = function ( name, weight ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.weight = weight; } }; MorphBlendMesh.prototype.setAnimationTime = function ( name, time ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.time = time; } }; MorphBlendMesh.prototype.getAnimationTime = function ( name ) { var time = 0; var animation = this.animationsMap[ name ]; if ( animation ) { time = animation.time; } return time; }; MorphBlendMesh.prototype.getAnimationDuration = function ( name ) { var duration = - 1; var animation = this.animationsMap[ name ]; if ( animation ) { duration = animation.duration; } return duration; }; MorphBlendMesh.prototype.playAnimation = function ( name ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.time = 0; animation.active = true; } else { console.warn( "THREE.MorphBlendMesh: animation[" + name + "] undefined in .playAnimation()" ); } }; MorphBlendMesh.prototype.stopAnimation = function ( name ) { var animation = this.animationsMap[ name ]; if ( animation ) { animation.active = false; } }; MorphBlendMesh.prototype.update = function ( delta ) { for ( var i = 0, il = this.animationsList.length; i < il; i ++ ) { var animation = this.animationsList[ i ]; if ( ! animation.active ) continue; var frameTime = animation.duration / animation.length; animation.time += animation.direction * delta; if ( animation.mirroredLoop ) { if ( animation.time > animation.duration || animation.time < 0 ) { animation.direction *= - 1; if ( animation.time > animation.duration ) { animation.time = animation.duration; animation.directionBackwards = true; } if ( animation.time < 0 ) { animation.time = 0; animation.directionBackwards = false; } } } else { animation.time = animation.time % animation.duration; if ( animation.time < 0 ) animation.time += animation.duration; } var keyframe = animation.start + _Math.clamp( Math.floor( animation.time / frameTime ), 0, animation.length - 1 ); var weight = animation.weight; if ( keyframe !== animation.currentFrame ) { this.morphTargetInfluences[ animation.lastFrame ] = 0; this.morphTargetInfluences[ animation.currentFrame ] = 1 * weight; this.morphTargetInfluences[ keyframe ] = 0; animation.lastFrame = animation.currentFrame; animation.currentFrame = keyframe; } var mix = ( animation.time % frameTime ) / frameTime; if ( animation.directionBackwards ) mix = 1 - mix; if ( animation.currentFrame !== animation.lastFrame ) { this.morphTargetInfluences[ animation.currentFrame ] = mix * weight; this.morphTargetInfluences[ animation.lastFrame ] = ( 1 - mix ) * weight; } else { this.morphTargetInfluences[ animation.currentFrame ] = weight; } } }; /** * @author alteredq / http://alteredqualia.com/ */ function ImmediateRenderObject( material ) { Object3D.call( this ); this.material = material; this.render = function ( renderCallback ) {}; } ImmediateRenderObject.prototype = Object.create( Object3D.prototype ); ImmediateRenderObject.prototype.constructor = ImmediateRenderObject; ImmediateRenderObject.prototype.isImmediateRenderObject = true; /** * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley */ function VertexNormalsHelper( object, size, hex, linewidth ) { this.object = object; this.size = ( size !== undefined ) ? size : 1; var color = ( hex !== undefined ) ? hex : 0xff0000; var width = ( linewidth !== undefined ) ? linewidth : 1; // var nNormals = 0; var objGeometry = this.object.geometry; if ( objGeometry && objGeometry.isGeometry ) { nNormals = objGeometry.faces.length * 3; } else if ( objGeometry && objGeometry.isBufferGeometry ) { nNormals = objGeometry.attributes.normal.count; } // var geometry = new BufferGeometry(); var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); geometry.addAttribute( 'position', positions ); LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); // this.matrixAutoUpdate = false; this.update(); } VertexNormalsHelper.prototype = Object.create( LineSegments.prototype ); VertexNormalsHelper.prototype.constructor = VertexNormalsHelper; VertexNormalsHelper.prototype.update = ( function () { var v1 = new Vector3(); var v2 = new Vector3(); var normalMatrix = new Matrix3(); return function update() { var keys = [ 'a', 'b', 'c' ]; this.object.updateMatrixWorld( true ); normalMatrix.getNormalMatrix( this.object.matrixWorld ); var matrixWorld = this.object.matrixWorld; var position = this.geometry.attributes.position; // var objGeometry = this.object.geometry; if ( objGeometry && objGeometry.isGeometry ) { var vertices = objGeometry.vertices; var faces = objGeometry.faces; var idx = 0; for ( var i = 0, l = faces.length; i < l; i ++ ) { var face = faces[ i ]; for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { var vertex = vertices[ face[ keys[ j ] ] ]; var normal = face.vertexNormals[ j ]; v1.copy( vertex ).applyMatrix4( matrixWorld ); v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); position.setXYZ( idx, v1.x, v1.y, v1.z ); idx = idx + 1; position.setXYZ( idx, v2.x, v2.y, v2.z ); idx = idx + 1; } } } else if ( objGeometry && objGeometry.isBufferGeometry ) { var objPos = objGeometry.attributes.position; var objNorm = objGeometry.attributes.normal; var idx = 0; // for simplicity, ignore index and drawcalls, and render every normal for ( var j = 0, jl = objPos.count; j < jl; j ++ ) { v1.set( objPos.getX( j ), objPos.getY( j ), objPos.getZ( j ) ).applyMatrix4( matrixWorld ); v2.set( objNorm.getX( j ), objNorm.getY( j ), objNorm.getZ( j ) ); v2.applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); position.setXYZ( idx, v1.x, v1.y, v1.z ); idx = idx + 1; position.setXYZ( idx, v2.x, v2.y, v2.z ); idx = idx + 1; } } position.needsUpdate = true; }; }() ); /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley */ function SpotLightHelper( light, color ) { Object3D.call( this ); this.light = light; this.light.updateMatrixWorld(); this.matrix = light.matrixWorld; this.matrixAutoUpdate = false; this.color = color; var geometry = new BufferGeometry(); var positions = [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 1 ]; for ( var i = 0, j = 1, l = 32; i < l; i ++, j ++ ) { var p1 = ( i / l ) * Math.PI * 2; var p2 = ( j / l ) * Math.PI * 2; positions.push( Math.cos( p1 ), Math.sin( p1 ), 1, Math.cos( p2 ), Math.sin( p2 ), 1 ); } geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); var material = new LineBasicMaterial( { fog: false, color: this.color } ); this.cone = new LineSegments( geometry, material ); this.add( this.cone ); this.update(); } SpotLightHelper.prototype = Object.create( Object3D.prototype ); SpotLightHelper.prototype.constructor = SpotLightHelper; SpotLightHelper.prototype.dispose = function () { this.cone.geometry.dispose(); this.cone.material.dispose(); }; SpotLightHelper.prototype.update = function () { var vector = new Vector3(); var vector2 = new Vector3(); return function update() { this.light.updateMatrixWorld(); var coneLength = this.light.distance ? this.light.distance : 1000; var coneWidth = coneLength * Math.tan( this.light.angle ); this.cone.scale.set( coneWidth, coneWidth, coneLength ); vector.setFromMatrixPosition( this.light.matrixWorld ); vector2.setFromMatrixPosition( this.light.target.matrixWorld ); this.cone.lookAt( vector2.sub( vector ) ); if ( this.color !== undefined ) { this.cone.material.color.set( this.color ); } else { this.cone.material.color.copy( this.light.color ); } }; }(); /** * @author Sean Griffin / http://twitter.com/sgrif * @author Michael Guerrero / http://realitymeltdown.com * @author mrdoob / http://mrdoob.com/ * @author ikerr / http://verold.com * @author Mugen87 / https://github.com/Mugen87 */ function getBoneList( object ) { var boneList = []; if ( object && object.isBone ) { boneList.push( object ); } for ( var i = 0; i < object.children.length; i ++ ) { boneList.push.apply( boneList, getBoneList( object.children[ i ] ) ); } return boneList; } function SkeletonHelper( object ) { var bones = getBoneList( object ); var geometry = new BufferGeometry(); var vertices = []; var colors = []; var color1 = new Color( 0, 0, 1 ); var color2 = new Color( 0, 1, 0 ); for ( var i = 0; i < bones.length; i ++ ) { var bone = bones[ i ]; if ( bone.parent && bone.parent.isBone ) { vertices.push( 0, 0, 0 ); vertices.push( 0, 0, 0 ); colors.push( color1.r, color1.g, color1.b ); colors.push( color2.r, color2.g, color2.b ); } } geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); var material = new LineBasicMaterial( { vertexColors: VertexColors, depthTest: false, depthWrite: false, transparent: true } ); LineSegments.call( this, geometry, material ); this.root = object; this.bones = bones; this.matrix = object.matrixWorld; this.matrixAutoUpdate = false; this.onBeforeRender(); } SkeletonHelper.prototype = Object.create( LineSegments.prototype ); SkeletonHelper.prototype.constructor = SkeletonHelper; SkeletonHelper.prototype.onBeforeRender = function () { var vector = new Vector3(); var boneMatrix = new Matrix4(); var matrixWorldInv = new Matrix4(); return function onBeforeRender() { var bones = this.bones; var geometry = this.geometry; var position = geometry.getAttribute( 'position' ); matrixWorldInv.getInverse( this.root.matrixWorld ); for ( var i = 0, j = 0; i < bones.length; i ++ ) { var bone = bones[ i ]; if ( bone.parent && bone.parent.isBone ) { boneMatrix.multiplyMatrices( matrixWorldInv, bone.matrixWorld ); vector.setFromMatrixPosition( boneMatrix ); position.setXYZ( j, vector.x, vector.y, vector.z ); boneMatrix.multiplyMatrices( matrixWorldInv, bone.parent.matrixWorld ); vector.setFromMatrixPosition( boneMatrix ); position.setXYZ( j + 1, vector.x, vector.y, vector.z ); j += 2; } } geometry.getAttribute( 'position' ).needsUpdate = true; }; }(); /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ */ function PointLightHelper( light, sphereSize, color ) { this.light = light; this.light.updateMatrixWorld(); this.color = color; var geometry = new SphereBufferGeometry( sphereSize, 4, 2 ); var material = new MeshBasicMaterial( { wireframe: true, fog: false, color: this.color } ); Mesh.call( this, geometry, material ); this.matrix = this.light.matrixWorld; this.matrixAutoUpdate = false; this.update(); /* var distanceGeometry = new THREE.IcosahedronGeometry( 1, 2 ); var distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } ); this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial ); this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial ); var d = light.distance; if ( d === 0.0 ) { this.lightDistance.visible = false; } else { this.lightDistance.scale.set( d, d, d ); } this.add( this.lightDistance ); */ } PointLightHelper.prototype = Object.create( Mesh.prototype ); PointLightHelper.prototype.constructor = PointLightHelper; PointLightHelper.prototype.dispose = function () { this.geometry.dispose(); this.material.dispose(); }; PointLightHelper.prototype.update = function () { if ( this.color !== undefined ) { this.material.color.set( this.color ); } else { this.material.color.copy( this.light.color ); } /* var d = this.light.distance; if ( d === 0.0 ) { this.lightDistance.visible = false; } else { this.lightDistance.visible = true; this.lightDistance.scale.set( d, d, d ); } */ }; /** * @author abelnation / http://github.com/abelnation * @author Mugen87 / http://github.com/Mugen87 * @author WestLangley / http://github.com/WestLangley */ function RectAreaLightHelper( light, color ) { Object3D.call( this ); this.light = light; this.light.updateMatrixWorld(); this.matrix = light.matrixWorld; this.matrixAutoUpdate = false; this.color = color; var material = new LineBasicMaterial( { fog: false, color: this.color } ); var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new BufferAttribute( new Float32Array( 5 * 3 ), 3 ) ); this.line = new Line( geometry, material ); this.add( this.line ); this.update(); } RectAreaLightHelper.prototype = Object.create( Object3D.prototype ); RectAreaLightHelper.prototype.constructor = RectAreaLightHelper; RectAreaLightHelper.prototype.dispose = function () { this.children[ 0 ].geometry.dispose(); this.children[ 0 ].material.dispose(); }; RectAreaLightHelper.prototype.update = function () { // calculate new dimensions of the helper var hx = this.light.width * 0.5; var hy = this.light.height * 0.5; var position = this.line.geometry.attributes.position; var array = position.array; // update vertices array[ 0 ] = hx; array[ 1 ] = - hy; array[ 2 ] = 0; array[ 3 ] = hx; array[ 4 ] = hy; array[ 5 ] = 0; array[ 6 ] = - hx; array[ 7 ] = hy; array[ 8 ] = 0; array[ 9 ] = - hx; array[ 10 ] = - hy; array[ 11 ] = 0; array[ 12 ] = hx; array[ 13 ] = - hy; array[ 14 ] = 0; position.needsUpdate = true; if ( this.color !== undefined ) { this.line.material.color.set( this.color ); } else { this.line.material.color.copy( this.light.color ); } }; /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / https://github.com/Mugen87 */ function HemisphereLightHelper( light, size, color ) { Object3D.call( this ); this.light = light; this.light.updateMatrixWorld(); this.matrix = light.matrixWorld; this.matrixAutoUpdate = false; this.color = color; var geometry = new OctahedronBufferGeometry( size ); geometry.rotateY( Math.PI * 0.5 ); this.material = new MeshBasicMaterial( { wireframe: true, fog: false, color: this.color } ); if ( this.color === undefined ) this.material.vertexColors = VertexColors; var position = geometry.getAttribute( 'position' ); var colors = new Float32Array( position.count * 3 ); geometry.addAttribute( 'color', new BufferAttribute( colors, 3 ) ); this.add( new Mesh( geometry, this.material ) ); this.update(); } HemisphereLightHelper.prototype = Object.create( Object3D.prototype ); HemisphereLightHelper.prototype.constructor = HemisphereLightHelper; HemisphereLightHelper.prototype.dispose = function () { this.children[ 0 ].geometry.dispose(); this.children[ 0 ].material.dispose(); }; HemisphereLightHelper.prototype.update = function () { var vector = new Vector3(); var color1 = new Color(); var color2 = new Color(); return function update() { var mesh = this.children[ 0 ]; if ( this.color !== undefined ) { this.material.color.set( this.color ); } else { var colors = mesh.geometry.getAttribute( 'color' ); color1.copy( this.light.color ); color2.copy( this.light.groundColor ); for ( var i = 0, l = colors.count; i < l; i ++ ) { var color = ( i < ( l / 2 ) ) ? color1 : color2; colors.setXYZ( i, color.r, color.g, color.b ); } colors.needsUpdate = true; } mesh.lookAt( vector.setFromMatrixPosition( this.light.matrixWorld ).negate() ); }; }(); /** * @author mrdoob / http://mrdoob.com/ */ function GridHelper( size, divisions, color1, color2 ) { size = size || 10; divisions = divisions || 10; color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); var center = divisions / 2; var step = size / divisions; var halfSize = size / 2; var vertices = [], colors = []; for ( var i = 0, j = 0, k = - halfSize; i <= divisions; i ++, k += step ) { vertices.push( - halfSize, 0, k, halfSize, 0, k ); vertices.push( k, 0, - halfSize, k, 0, halfSize ); var color = i === center ? color1 : color2; color.toArray( colors, j ); j += 3; color.toArray( colors, j ); j += 3; color.toArray( colors, j ); j += 3; color.toArray( colors, j ); j += 3; } var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); var material = new LineBasicMaterial( { vertexColors: VertexColors } ); LineSegments.call( this, geometry, material ); } GridHelper.prototype = Object.create( LineSegments.prototype ); GridHelper.prototype.constructor = GridHelper; /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / http://github.com/Mugen87 * @author Hectate / http://www.github.com/Hectate */ function PolarGridHelper( radius, radials, circles, divisions, color1, color2 ) { radius = radius || 10; radials = radials || 16; circles = circles || 8; divisions = divisions || 64; color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); var vertices = []; var colors = []; var x, z; var v, i, j, r, color; // create the radials for ( i = 0; i <= radials; i ++ ) { v = ( i / radials ) * ( Math.PI * 2 ); x = Math.sin( v ) * radius; z = Math.cos( v ) * radius; vertices.push( 0, 0, 0 ); vertices.push( x, 0, z ); color = ( i & 1 ) ? color1 : color2; colors.push( color.r, color.g, color.b ); colors.push( color.r, color.g, color.b ); } // create the circles for ( i = 0; i <= circles; i ++ ) { color = ( i & 1 ) ? color1 : color2; r = radius - ( radius / circles * i ); for ( j = 0; j < divisions; j ++ ) { // first vertex v = ( j / divisions ) * ( Math.PI * 2 ); x = Math.sin( v ) * r; z = Math.cos( v ) * r; vertices.push( x, 0, z ); colors.push( color.r, color.g, color.b ); // second vertex v = ( ( j + 1 ) / divisions ) * ( Math.PI * 2 ); x = Math.sin( v ) * r; z = Math.cos( v ) * r; vertices.push( x, 0, z ); colors.push( color.r, color.g, color.b ); } } var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); var material = new LineBasicMaterial( { vertexColors: VertexColors } ); LineSegments.call( this, geometry, material ); } PolarGridHelper.prototype = Object.create( LineSegments.prototype ); PolarGridHelper.prototype.constructor = PolarGridHelper; /** * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley */ function FaceNormalsHelper( object, size, hex, linewidth ) { // FaceNormalsHelper only supports THREE.Geometry this.object = object; this.size = ( size !== undefined ) ? size : 1; var color = ( hex !== undefined ) ? hex : 0xffff00; var width = ( linewidth !== undefined ) ? linewidth : 1; // var nNormals = 0; var objGeometry = this.object.geometry; if ( objGeometry && objGeometry.isGeometry ) { nNormals = objGeometry.faces.length; } else { console.warn( 'THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.' ); } // var geometry = new BufferGeometry(); var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); geometry.addAttribute( 'position', positions ); LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); // this.matrixAutoUpdate = false; this.update(); } FaceNormalsHelper.prototype = Object.create( LineSegments.prototype ); FaceNormalsHelper.prototype.constructor = FaceNormalsHelper; FaceNormalsHelper.prototype.update = ( function () { var v1 = new Vector3(); var v2 = new Vector3(); var normalMatrix = new Matrix3(); return function update() { this.object.updateMatrixWorld( true ); normalMatrix.getNormalMatrix( this.object.matrixWorld ); var matrixWorld = this.object.matrixWorld; var position = this.geometry.attributes.position; // var objGeometry = this.object.geometry; var vertices = objGeometry.vertices; var faces = objGeometry.faces; var idx = 0; for ( var i = 0, l = faces.length; i < l; i ++ ) { var face = faces[ i ]; var normal = face.normal; v1.copy( vertices[ face.a ] ) .add( vertices[ face.b ] ) .add( vertices[ face.c ] ) .divideScalar( 3 ) .applyMatrix4( matrixWorld ); v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); position.setXYZ( idx, v1.x, v1.y, v1.z ); idx = idx + 1; position.setXYZ( idx, v2.x, v2.y, v2.z ); idx = idx + 1; } position.needsUpdate = true; }; }() ); /** * @author alteredq / http://alteredqualia.com/ * @author mrdoob / http://mrdoob.com/ * @author WestLangley / http://github.com/WestLangley */ function DirectionalLightHelper( light, size, color ) { Object3D.call( this ); this.light = light; this.light.updateMatrixWorld(); this.matrix = light.matrixWorld; this.matrixAutoUpdate = false; this.color = color; if ( size === undefined ) size = 1; var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( [ - size, size, 0, size, size, 0, size, - size, 0, - size, - size, 0, - size, size, 0 ], 3 ) ); var material = new LineBasicMaterial( { fog: false, color: this.color } ); this.lightPlane = new Line( geometry, material ); this.add( this.lightPlane ); geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 0, 1 ], 3 ) ); this.targetLine = new Line( geometry, material ); this.add( this.targetLine ); this.update(); } DirectionalLightHelper.prototype = Object.create( Object3D.prototype ); DirectionalLightHelper.prototype.constructor = DirectionalLightHelper; DirectionalLightHelper.prototype.dispose = function () { this.lightPlane.geometry.dispose(); this.lightPlane.material.dispose(); this.targetLine.geometry.dispose(); this.targetLine.material.dispose(); }; DirectionalLightHelper.prototype.update = function () { var v1 = new Vector3(); var v2 = new Vector3(); var v3 = new Vector3(); return function update() { v1.setFromMatrixPosition( this.light.matrixWorld ); v2.setFromMatrixPosition( this.light.target.matrixWorld ); v3.subVectors( v2, v1 ); this.lightPlane.lookAt( v3 ); if ( this.color !== undefined ) { this.lightPlane.material.color.set( this.color ); this.targetLine.material.color.set( this.color ); } else { this.lightPlane.material.color.copy( this.light.color ); this.targetLine.material.color.copy( this.light.color ); } this.targetLine.lookAt( v3 ); this.targetLine.scale.z = v3.length(); }; }(); /** * @author alteredq / http://alteredqualia.com/ * @author Mugen87 / https://github.com/Mugen87 * * - shows frustum, line of sight and up of the camera * - suitable for fast updates * - based on frustum visualization in lightgl.js shadowmap example * http://evanw.github.com/lightgl.js/tests/shadowmap.html */ function CameraHelper( camera ) { var geometry = new BufferGeometry(); var material = new LineBasicMaterial( { color: 0xffffff, vertexColors: FaceColors } ); var vertices = []; var colors = []; var pointMap = {}; // colors var colorFrustum = new Color( 0xffaa00 ); var colorCone = new Color( 0xff0000 ); var colorUp = new Color( 0x00aaff ); var colorTarget = new Color( 0xffffff ); var colorCross = new Color( 0x333333 ); // near addLine( "n1", "n2", colorFrustum ); addLine( "n2", "n4", colorFrustum ); addLine( "n4", "n3", colorFrustum ); addLine( "n3", "n1", colorFrustum ); // far addLine( "f1", "f2", colorFrustum ); addLine( "f2", "f4", colorFrustum ); addLine( "f4", "f3", colorFrustum ); addLine( "f3", "f1", colorFrustum ); // sides addLine( "n1", "f1", colorFrustum ); addLine( "n2", "f2", colorFrustum ); addLine( "n3", "f3", colorFrustum ); addLine( "n4", "f4", colorFrustum ); // cone addLine( "p", "n1", colorCone ); addLine( "p", "n2", colorCone ); addLine( "p", "n3", colorCone ); addLine( "p", "n4", colorCone ); // up addLine( "u1", "u2", colorUp ); addLine( "u2", "u3", colorUp ); addLine( "u3", "u1", colorUp ); // target addLine( "c", "t", colorTarget ); addLine( "p", "c", colorCross ); // cross addLine( "cn1", "cn2", colorCross ); addLine( "cn3", "cn4", colorCross ); addLine( "cf1", "cf2", colorCross ); addLine( "cf3", "cf4", colorCross ); function addLine( a, b, color ) { addPoint( a, color ); addPoint( b, color ); } function addPoint( id, color ) { vertices.push( 0, 0, 0 ); colors.push( color.r, color.g, color.b ); if ( pointMap[ id ] === undefined ) { pointMap[ id ] = []; } pointMap[ id ].push( ( vertices.length / 3 ) - 1 ); } geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); LineSegments.call( this, geometry, material ); this.camera = camera; if ( this.camera.updateProjectionMatrix ) this.camera.updateProjectionMatrix(); this.matrix = camera.matrixWorld; this.matrixAutoUpdate = false; this.pointMap = pointMap; this.update(); } CameraHelper.prototype = Object.create( LineSegments.prototype ); CameraHelper.prototype.constructor = CameraHelper; CameraHelper.prototype.update = function () { var geometry, pointMap; var vector = new Vector3(); var camera = new Camera(); function setPoint( point, x, y, z ) { vector.set( x, y, z ).unproject( camera ); var points = pointMap[ point ]; if ( points !== undefined ) { var position = geometry.getAttribute( 'position' ); for ( var i = 0, l = points.length; i < l; i ++ ) { position.setXYZ( points[ i ], vector.x, vector.y, vector.z ); } } } return function update() { geometry = this.geometry; pointMap = this.pointMap; var w = 1, h = 1; // we need just camera projection matrix // world matrix must be identity camera.projectionMatrix.copy( this.camera.projectionMatrix ); // center / target setPoint( "c", 0, 0, - 1 ); setPoint( "t", 0, 0, 1 ); // near setPoint( "n1", - w, - h, - 1 ); setPoint( "n2", w, - h, - 1 ); setPoint( "n3", - w, h, - 1 ); setPoint( "n4", w, h, - 1 ); // far setPoint( "f1", - w, - h, 1 ); setPoint( "f2", w, - h, 1 ); setPoint( "f3", - w, h, 1 ); setPoint( "f4", w, h, 1 ); // up setPoint( "u1", w * 0.7, h * 1.1, - 1 ); setPoint( "u2", - w * 0.7, h * 1.1, - 1 ); setPoint( "u3", 0, h * 2, - 1 ); // cross setPoint( "cf1", - w, 0, 1 ); setPoint( "cf2", w, 0, 1 ); setPoint( "cf3", 0, - h, 1 ); setPoint( "cf4", 0, h, 1 ); setPoint( "cn1", - w, 0, - 1 ); setPoint( "cn2", w, 0, - 1 ); setPoint( "cn3", 0, - h, - 1 ); setPoint( "cn4", 0, h, - 1 ); geometry.getAttribute( 'position' ).needsUpdate = true; }; }(); /** * @author mrdoob / http://mrdoob.com/ * @author Mugen87 / http://github.com/Mugen87 */ function BoxHelper( object, color ) { this.object = object; if ( color === undefined ) color = 0xffff00; var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); var positions = new Float32Array( 8 * 3 ); var geometry = new BufferGeometry(); geometry.setIndex( new BufferAttribute( indices, 1 ) ); geometry.addAttribute( 'position', new BufferAttribute( positions, 3 ) ); LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) ); this.matrixAutoUpdate = false; this.update(); } BoxHelper.prototype = Object.create( LineSegments.prototype ); BoxHelper.prototype.constructor = BoxHelper; BoxHelper.prototype.update = ( function () { var box = new Box3(); return function update( object ) { if ( object !== undefined ) { console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' ); } if ( this.object !== undefined ) { box.setFromObject( this.object ); } if ( box.isEmpty() ) return; var min = box.min; var max = box.max; /* 5____4 1/___0/| | 6__|_7 2/___3/ 0: max.x, max.y, max.z 1: min.x, max.y, max.z 2: min.x, min.y, max.z 3: max.x, min.y, max.z 4: max.x, max.y, min.z 5: min.x, max.y, min.z 6: min.x, min.y, min.z 7: max.x, min.y, min.z */ var position = this.geometry.attributes.position; var array = position.array; array[ 0 ] = max.x; array[ 1 ] = max.y; array[ 2 ] = max.z; array[ 3 ] = min.x; array[ 4 ] = max.y; array[ 5 ] = max.z; array[ 6 ] = min.x; array[ 7 ] = min.y; array[ 8 ] = max.z; array[ 9 ] = max.x; array[ 10 ] = min.y; array[ 11 ] = max.z; array[ 12 ] = max.x; array[ 13 ] = max.y; array[ 14 ] = min.z; array[ 15 ] = min.x; array[ 16 ] = max.y; array[ 17 ] = min.z; array[ 18 ] = min.x; array[ 19 ] = min.y; array[ 20 ] = min.z; array[ 21 ] = max.x; array[ 22 ] = min.y; array[ 23 ] = min.z; position.needsUpdate = true; this.geometry.computeBoundingSphere(); }; } )(); BoxHelper.prototype.setFromObject = function ( object ) { this.object = object; this.update(); return this; }; /** * @author WestLangley / http://github.com/WestLangley */ function Box3Helper( box, hex ) { this.type = 'Box3Helper'; this.box = box; var color = ( hex !== undefined ) ? hex : 0xffff00; var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); var positions = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 1, - 1, 1, - 1, - 1 ]; var geometry = new BufferGeometry(); geometry.setIndex( new BufferAttribute( indices, 1 ) ); geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) ); this.geometry.computeBoundingSphere(); this.onBeforeRender(); } Box3Helper.prototype = Object.create( LineSegments.prototype ); Box3Helper.prototype.constructor = Box3Helper; Box3Helper.prototype.onBeforeRender = function () { var box = this.box; if ( box.isEmpty() ) return; box.getCenter( this.position ); box.getSize( this.scale ); this.scale.multiplyScalar( 0.5 ); }; /** * @author WestLangley / http://github.com/WestLangley */ function PlaneHelper( plane, size, hex ) { this.type = 'PlaneHelper'; this.plane = plane; this.size = ( size === undefined ) ? 1 : size; var color = ( hex !== undefined ) ? hex : 0xffff00; var positions = [ 1, - 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 ]; var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); geometry.computeBoundingSphere(); Line.call( this, geometry, new LineBasicMaterial( { color: color } ) ); // var positions2 = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, - 1, 1, 1, - 1, 1 ]; var geometry2 = new BufferGeometry(); geometry2.addAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) ); geometry2.computeBoundingSphere(); this.add( new THREE.Mesh( geometry2, new LineBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false } ) ) ); // this.onBeforeRender(); } PlaneHelper.prototype = Object.create( Line.prototype ); PlaneHelper.prototype.constructor = PlaneHelper; PlaneHelper.prototype.onBeforeRender = function () { var scale = - this.plane.constant; if ( Math.abs( scale ) < 1e-8 ) scale = 1e-8; // sign does not matter this.scale.set( 0.5 * this.size, 0.5 * this.size, scale ); this.lookAt( this.plane.normal ); }; /** * @author WestLangley / http://github.com/WestLangley * @author zz85 / http://github.com/zz85 * @author bhouston / http://clara.io * * Creates an arrow for visualizing directions * * Parameters: * dir - Vector3 * origin - Vector3 * length - Number * color - color in hex value * headLength - Number * headWidth - Number */ var lineGeometry; var coneGeometry; function ArrowHelper( dir, origin, length, color, headLength, headWidth ) { // dir is assumed to be normalized Object3D.call( this ); if ( color === undefined ) color = 0xffff00; if ( length === undefined ) length = 1; if ( headLength === undefined ) headLength = 0.2 * length; if ( headWidth === undefined ) headWidth = 0.2 * headLength; if ( lineGeometry === undefined ) { lineGeometry = new BufferGeometry(); lineGeometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 1, 0 ], 3 ) ); coneGeometry = new CylinderBufferGeometry( 0, 0.5, 1, 5, 1 ); coneGeometry.translate( 0, - 0.5, 0 ); } this.position.copy( origin ); this.line = new Line( lineGeometry, new LineBasicMaterial( { color: color } ) ); this.line.matrixAutoUpdate = false; this.add( this.line ); this.cone = new Mesh( coneGeometry, new MeshBasicMaterial( { color: color } ) ); this.cone.matrixAutoUpdate = false; this.add( this.cone ); this.setDirection( dir ); this.setLength( length, headLength, headWidth ); } ArrowHelper.prototype = Object.create( Object3D.prototype ); ArrowHelper.prototype.constructor = ArrowHelper; ArrowHelper.prototype.setDirection = ( function () { var axis = new Vector3(); var radians; return function setDirection( dir ) { // dir is assumed to be normalized if ( dir.y > 0.99999 ) { this.quaternion.set( 0, 0, 0, 1 ); } else if ( dir.y < - 0.99999 ) { this.quaternion.set( 1, 0, 0, 0 ); } else { axis.set( dir.z, 0, - dir.x ).normalize(); radians = Math.acos( dir.y ); this.quaternion.setFromAxisAngle( axis, radians ); } }; }() ); ArrowHelper.prototype.setLength = function ( length, headLength, headWidth ) { if ( headLength === undefined ) headLength = 0.2 * length; if ( headWidth === undefined ) headWidth = 0.2 * headLength; this.line.scale.set( 1, Math.max( 0, length - headLength ), 1 ); this.line.updateMatrix(); this.cone.scale.set( headWidth, headLength, headWidth ); this.cone.position.y = length; this.cone.updateMatrix(); }; ArrowHelper.prototype.setColor = function ( color ) { this.line.material.color.copy( color ); this.cone.material.color.copy( color ); }; /** * @author sroucheray / http://sroucheray.org/ * @author mrdoob / http://mrdoob.com/ */ function AxisHelper( size ) { size = size || 1; var vertices = [ 0, 0, 0, size, 0, 0, 0, 0, 0, 0, size, 0, 0, 0, 0, 0, 0, size ]; var colors = [ 1, 0, 0, 1, 0.6, 0, 0, 1, 0, 0.6, 1, 0, 0, 0, 1, 0, 0.6, 1 ]; var geometry = new BufferGeometry(); geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); var material = new LineBasicMaterial( { vertexColors: VertexColors } ); LineSegments.call( this, geometry, material ); } AxisHelper.prototype = Object.create( LineSegments.prototype ); AxisHelper.prototype.constructor = AxisHelper; /** * @author zz85 https://github.com/zz85 * * Centripetal CatmullRom Curve - which is useful for avoiding * cusps and self-intersections in non-uniform catmull rom curves. * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf * * curve.type accepts centripetal(default), chordal and catmullrom * curve.tension is used for catmullrom which defaults to 0.5 */ /* Based on an optimized c++ solution in - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/ - http://ideone.com/NoEbVM This CubicPoly class could be used for reusing some variables and calculations, but for three.js curve use, it could be possible inlined and flatten into a single function call which can be placed in CurveUtils. */ function CubicPoly() { var c0 = 0, c1 = 0, c2 = 0, c3 = 0; /* * Compute coefficients for a cubic polynomial * p(s) = c0 + c1*s + c2*s^2 + c3*s^3 * such that * p(0) = x0, p(1) = x1 * and * p'(0) = t0, p'(1) = t1. */ function init( x0, x1, t0, t1 ) { c0 = x0; c1 = t0; c2 = - 3 * x0 + 3 * x1 - 2 * t0 - t1; c3 = 2 * x0 - 2 * x1 + t0 + t1; } return { initCatmullRom: function ( x0, x1, x2, x3, tension ) { init( x1, x2, tension * ( x2 - x0 ), tension * ( x3 - x1 ) ); }, initNonuniformCatmullRom: function ( x0, x1, x2, x3, dt0, dt1, dt2 ) { // compute tangents when parameterized in [t1,t2] var t1 = ( x1 - x0 ) / dt0 - ( x2 - x0 ) / ( dt0 + dt1 ) + ( x2 - x1 ) / dt1; var t2 = ( x2 - x1 ) / dt1 - ( x3 - x1 ) / ( dt1 + dt2 ) + ( x3 - x2 ) / dt2; // rescale tangents for parametrization in [0,1] t1 *= dt1; t2 *= dt1; init( x1, x2, t1, t2 ); }, calc: function ( t ) { var t2 = t * t; var t3 = t2 * t; return c0 + c1 * t + c2 * t2 + c3 * t3; } }; } // var tmp = new Vector3(); var px = new CubicPoly(); var py = new CubicPoly(); var pz = new CubicPoly(); function CatmullRomCurve3( points ) { Curve.call( this ); if ( points.length < 2 ) console.warn( 'THREE.CatmullRomCurve3: Points array needs at least two entries.' ); this.points = points || []; this.closed = false; } CatmullRomCurve3.prototype = Object.create( Curve.prototype ); CatmullRomCurve3.prototype.constructor = CatmullRomCurve3; CatmullRomCurve3.prototype.getPoint = function ( t ) { var points = this.points; var l = points.length; var point = ( l - ( this.closed ? 0 : 1 ) ) * t; var intPoint = Math.floor( point ); var weight = point - intPoint; if ( this.closed ) { intPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / points.length ) + 1 ) * points.length; } else if ( weight === 0 && intPoint === l - 1 ) { intPoint = l - 2; weight = 1; } var p0, p1, p2, p3; // 4 points if ( this.closed || intPoint > 0 ) { p0 = points[ ( intPoint - 1 ) % l ]; } else { // extrapolate first point tmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] ); p0 = tmp; } p1 = points[ intPoint % l ]; p2 = points[ ( intPoint + 1 ) % l ]; if ( this.closed || intPoint + 2 < l ) { p3 = points[ ( intPoint + 2 ) % l ]; } else { // extrapolate last point tmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] ); p3 = tmp; } if ( this.type === undefined || this.type === 'centripetal' || this.type === 'chordal' ) { // init Centripetal / Chordal Catmull-Rom var pow = this.type === 'chordal' ? 0.5 : 0.25; var dt0 = Math.pow( p0.distanceToSquared( p1 ), pow ); var dt1 = Math.pow( p1.distanceToSquared( p2 ), pow ); var dt2 = Math.pow( p2.distanceToSquared( p3 ), pow ); // safety check for repeated points if ( dt1 < 1e-4 ) dt1 = 1.0; if ( dt0 < 1e-4 ) dt0 = dt1; if ( dt2 < 1e-4 ) dt2 = dt1; px.initNonuniformCatmullRom( p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2 ); py.initNonuniformCatmullRom( p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2 ); pz.initNonuniformCatmullRom( p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2 ); } else if ( this.type === 'catmullrom' ) { var tension = this.tension !== undefined ? this.tension : 0.5; px.initCatmullRom( p0.x, p1.x, p2.x, p3.x, tension ); py.initCatmullRom( p0.y, p1.y, p2.y, p3.y, tension ); pz.initCatmullRom( p0.z, p1.z, p2.z, p3.z, tension ); } return new Vector3( px.calc( weight ), py.calc( weight ), pz.calc( weight ) ); }; function CubicBezierCurve3( v0, v1, v2, v3 ) { Curve.call( this ); this.v0 = v0; this.v1 = v1; this.v2 = v2; this.v3 = v3; } CubicBezierCurve3.prototype = Object.create( Curve.prototype ); CubicBezierCurve3.prototype.constructor = CubicBezierCurve3; CubicBezierCurve3.prototype.getPoint = function ( t ) { var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; return new Vector3( CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), CubicBezier( t, v0.y, v1.y, v2.y, v3.y ), CubicBezier( t, v0.z, v1.z, v2.z, v3.z ) ); }; function QuadraticBezierCurve3( v0, v1, v2 ) { Curve.call( this ); this.v0 = v0; this.v1 = v1; this.v2 = v2; } QuadraticBezierCurve3.prototype = Object.create( Curve.prototype ); QuadraticBezierCurve3.prototype.constructor = QuadraticBezierCurve3; QuadraticBezierCurve3.prototype.getPoint = function ( t ) { var v0 = this.v0, v1 = this.v1, v2 = this.v2; return new Vector3( QuadraticBezier( t, v0.x, v1.x, v2.x ), QuadraticBezier( t, v0.y, v1.y, v2.y ), QuadraticBezier( t, v0.z, v1.z, v2.z ) ); }; function LineCurve3( v1, v2 ) { Curve.call( this ); this.v1 = v1; this.v2 = v2; } LineCurve3.prototype = Object.create( Curve.prototype ); LineCurve3.prototype.constructor = LineCurve3; LineCurve3.prototype.getPoint = function ( t ) { if ( t === 1 ) { return this.v2.clone(); } var vector = new Vector3(); vector.subVectors( this.v2, this.v1 ); // diff vector.multiplyScalar( t ); vector.add( this.v1 ); return vector; }; function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); } ArcCurve.prototype = Object.create( EllipseCurve.prototype ); ArcCurve.prototype.constructor = ArcCurve; /** * @author alteredq / http://alteredqualia.com/ */ var SceneUtils = { createMultiMaterialObject: function ( geometry, materials ) { var group = new Group(); for ( var i = 0, l = materials.length; i < l; i ++ ) { group.add( new Mesh( geometry, materials[ i ] ) ); } return group; }, detach: function ( child, parent, scene ) { child.applyMatrix( parent.matrixWorld ); parent.remove( child ); scene.add( child ); }, attach: function ( child, scene, parent ) { child.applyMatrix( new Matrix4().getInverse( parent.matrixWorld ) ); scene.remove( child ); parent.add( child ); } }; /** * @author mrdoob / http://mrdoob.com/ */ function Face4( a, b, c, d, normal, color, materialIndex ) { console.warn( 'THREE.Face4 has been removed. A THREE.Face3 will be created instead.' ); return new Face3( a, b, c, normal, color, materialIndex ); } var LineStrip = 0; var LinePieces = 1; function MeshFaceMaterial( materials ) { console.warn( 'THREE.MeshFaceMaterial has been removed. Use an Array instead.' ); return materials; } function MultiMaterial( materials ) { if ( materials === undefined ) materials = []; console.warn( 'THREE.MultiMaterial has been removed. Use an Array instead.' ); materials.isMultiMaterial = true; materials.materials = materials; materials.clone = function () { return materials.slice(); }; return materials; } function PointCloud( geometry, material ) { console.warn( 'THREE.PointCloud has been renamed to THREE.Points.' ); return new Points( geometry, material ); } function Particle( material ) { console.warn( 'THREE.Particle has been renamed to THREE.Sprite.' ); return new Sprite( material ); } function ParticleSystem( geometry, material ) { console.warn( 'THREE.ParticleSystem has been renamed to THREE.Points.' ); return new Points( geometry, material ); } function PointCloudMaterial( parameters ) { console.warn( 'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.' ); return new PointsMaterial( parameters ); } function ParticleBasicMaterial( parameters ) { console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.' ); return new PointsMaterial( parameters ); } function ParticleSystemMaterial( parameters ) { console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.' ); return new PointsMaterial( parameters ); } function Vertex( x, y, z ) { console.warn( 'THREE.Vertex has been removed. Use THREE.Vector3 instead.' ); return new Vector3( x, y, z ); } // function DynamicBufferAttribute( array, itemSize ) { console.warn( 'THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.' ); return new BufferAttribute( array, itemSize ).setDynamic( true ); } function Int8Attribute( array, itemSize ) { console.warn( 'THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.' ); return new Int8BufferAttribute( array, itemSize ); } function Uint8Attribute( array, itemSize ) { console.warn( 'THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.' ); return new Uint8BufferAttribute( array, itemSize ); } function Uint8ClampedAttribute( array, itemSize ) { console.warn( 'THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.' ); return new Uint8ClampedBufferAttribute( array, itemSize ); } function Int16Attribute( array, itemSize ) { console.warn( 'THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.' ); return new Int16BufferAttribute( array, itemSize ); } function Uint16Attribute( array, itemSize ) { console.warn( 'THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.' ); return new Uint16BufferAttribute( array, itemSize ); } function Int32Attribute( array, itemSize ) { console.warn( 'THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.' ); return new Int32BufferAttribute( array, itemSize ); } function Uint32Attribute( array, itemSize ) { console.warn( 'THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.' ); return new Uint32BufferAttribute( array, itemSize ); } function Float32Attribute( array, itemSize ) { console.warn( 'THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.' ); return new Float32BufferAttribute( array, itemSize ); } function Float64Attribute( array, itemSize ) { console.warn( 'THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.' ); return new Float64BufferAttribute( array, itemSize ); } // Curve.create = function ( construct, getPoint ) { console.log( 'THREE.Curve.create() has been deprecated' ); construct.prototype = Object.create( Curve.prototype ); construct.prototype.constructor = construct; construct.prototype.getPoint = getPoint; return construct; }; // function ClosedSplineCurve3( points ) { console.warn( 'THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); CatmullRomCurve3.call( this, points ); this.type = 'catmullrom'; this.closed = true; } ClosedSplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); // function SplineCurve3( points ) { console.warn( 'THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); CatmullRomCurve3.call( this, points ); this.type = 'catmullrom'; } SplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); // function Spline( points ) { console.warn( 'THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.' ); CatmullRomCurve3.call( this, points ); this.type = 'catmullrom'; } Spline.prototype = Object.create( CatmullRomCurve3.prototype ); Object.assign( Spline.prototype, { initFromArray: function ( a ) { console.error( 'THREE.Spline: .initFromArray() has been removed.' ); }, getControlPointsArray: function ( optionalTarget ) { console.error( 'THREE.Spline: .getControlPointsArray() has been removed.' ); }, reparametrizeByArcLength: function ( samplingCoef ) { console.error( 'THREE.Spline: .reparametrizeByArcLength() has been removed.' ); } } ); // function BoundingBoxHelper( object, color ) { console.warn( 'THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.' ); return new BoxHelper( object, color ); } function EdgesHelper( object, hex ) { console.warn( 'THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.' ); return new LineSegments( new EdgesGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); } GridHelper.prototype.setColors = function () { console.error( 'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.' ); }; SkeletonHelper.prototype.update = function () { console.error( 'THREE.SkeletonHelper: update() no longer needs to be called.' ); }; function WireframeHelper( object, hex ) { console.warn( 'THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.' ); return new LineSegments( new WireframeGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); } // function XHRLoader( manager ) { console.warn( 'THREE.XHRLoader has been renamed to THREE.FileLoader.' ); return new FileLoader( manager ); } function BinaryTextureLoader( manager ) { console.warn( 'THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.' ); return new DataTextureLoader( manager ); } // Object.assign( Box2.prototype, { center: function ( optionalTarget ) { console.warn( 'THREE.Box2: .center() has been renamed to .getCenter().' ); return this.getCenter( optionalTarget ); }, empty: function () { console.warn( 'THREE.Box2: .empty() has been renamed to .isEmpty().' ); return this.isEmpty(); }, isIntersectionBox: function ( box ) { console.warn( 'THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().' ); return this.intersectsBox( box ); }, size: function ( optionalTarget ) { console.warn( 'THREE.Box2: .size() has been renamed to .getSize().' ); return this.getSize( optionalTarget ); } } ); Object.assign( Box3.prototype, { center: function ( optionalTarget ) { console.warn( 'THREE.Box3: .center() has been renamed to .getCenter().' ); return this.getCenter( optionalTarget ); }, empty: function () { console.warn( 'THREE.Box3: .empty() has been renamed to .isEmpty().' ); return this.isEmpty(); }, isIntersectionBox: function ( box ) { console.warn( 'THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().' ); return this.intersectsBox( box ); }, isIntersectionSphere: function ( sphere ) { console.warn( 'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); return this.intersectsSphere( sphere ); }, size: function ( optionalTarget ) { console.warn( 'THREE.Box3: .size() has been renamed to .getSize().' ); return this.getSize( optionalTarget ); } } ); Line3.prototype.center = function ( optionalTarget ) { console.warn( 'THREE.Line3: .center() has been renamed to .getCenter().' ); return this.getCenter( optionalTarget ); }; _Math.random16 = function () { console.warn( 'THREE.Math.random16() has been deprecated. Use Math.random() instead.' ); return Math.random(); }; Object.assign( Matrix3.prototype, { flattenToArrayOffset: function ( array, offset ) { console.warn( "THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); return this.toArray( array, offset ); }, multiplyVector3: function ( vector ) { console.warn( 'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.' ); return vector.applyMatrix3( this ); }, multiplyVector3Array: function ( a ) { console.error( 'THREE.Matrix3: .multiplyVector3Array() has been removed.' ); }, applyToBuffer: function( buffer, offset, length ) { console.warn( 'THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); return this.applyToBufferAttribute( buffer ); }, applyToVector3Array: function( array, offset, length ) { console.error( 'THREE.Matrix3: .applyToVector3Array() has been removed.' ); } } ); Object.assign( Matrix4.prototype, { extractPosition: function ( m ) { console.warn( 'THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().' ); return this.copyPosition( m ); }, flattenToArrayOffset: function ( array, offset ) { console.warn( "THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); return this.toArray( array, offset ); }, getPosition: function () { var v1; return function getPosition() { if ( v1 === undefined ) v1 = new Vector3(); console.warn( 'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.' ); return v1.setFromMatrixColumn( this, 3 ); }; }(), setRotationFromQuaternion: function ( q ) { console.warn( 'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().' ); return this.makeRotationFromQuaternion( q ); }, multiplyToArray: function () { console.warn( 'THREE.Matrix4: .multiplyToArray() has been removed.' ); }, multiplyVector3: function ( vector ) { console.warn( 'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); return vector.applyMatrix4( this ); }, multiplyVector4: function ( vector ) { console.warn( 'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); return vector.applyMatrix4( this ); }, multiplyVector3Array: function ( a ) { console.error( 'THREE.Matrix4: .multiplyVector3Array() has been removed.' ); }, rotateAxis: function ( v ) { console.warn( 'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.' ); v.transformDirection( this ); }, crossVector: function ( vector ) { console.warn( 'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); return vector.applyMatrix4( this ); }, translate: function () { console.error( 'THREE.Matrix4: .translate() has been removed.' ); }, rotateX: function () { console.error( 'THREE.Matrix4: .rotateX() has been removed.' ); }, rotateY: function () { console.error( 'THREE.Matrix4: .rotateY() has been removed.' ); }, rotateZ: function () { console.error( 'THREE.Matrix4: .rotateZ() has been removed.' ); }, rotateByAxis: function () { console.error( 'THREE.Matrix4: .rotateByAxis() has been removed.' ); }, applyToBuffer: function( buffer, offset, length ) { console.warn( 'THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); return this.applyToBufferAttribute( buffer ); }, applyToVector3Array: function( array, offset, length ) { console.error( 'THREE.Matrix4: .applyToVector3Array() has been removed.' ); }, makeFrustum: function( left, right, bottom, top, near, far ) { console.warn( 'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.' ); return this.makePerspective( left, right, top, bottom, near, far ); } } ); Plane.prototype.isIntersectionLine = function ( line ) { console.warn( 'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().' ); return this.intersectsLine( line ); }; Quaternion.prototype.multiplyVector3 = function ( vector ) { console.warn( 'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.' ); return vector.applyQuaternion( this ); }; Object.assign( Ray.prototype, { isIntersectionBox: function ( box ) { console.warn( 'THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().' ); return this.intersectsBox( box ); }, isIntersectionPlane: function ( plane ) { console.warn( 'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().' ); return this.intersectsPlane( plane ); }, isIntersectionSphere: function ( sphere ) { console.warn( 'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); return this.intersectsSphere( sphere ); } } ); Object.assign( Shape.prototype, { extrude: function ( options ) { console.warn( 'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.' ); return new ExtrudeGeometry( this, options ); }, makeGeometry: function ( options ) { console.warn( 'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.' ); return new ShapeGeometry( this, options ); } } ); Object.assign( Vector2.prototype, { fromAttribute: function ( attribute, index, offset ) { console.error( 'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().' ); return this.fromBufferAttribute( attribute, index, offset ); } } ); Object.assign( Vector3.prototype, { setEulerFromRotationMatrix: function () { console.error( 'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.' ); }, setEulerFromQuaternion: function () { console.error( 'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.' ); }, getPositionFromMatrix: function ( m ) { console.warn( 'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().' ); return this.setFromMatrixPosition( m ); }, getScaleFromMatrix: function ( m ) { console.warn( 'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().' ); return this.setFromMatrixScale( m ); }, getColumnFromMatrix: function ( index, matrix ) { console.warn( 'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().' ); return this.setFromMatrixColumn( matrix, index ); }, applyProjection: function ( m ) { console.warn( 'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.' ); return this.applyMatrix4( m ); }, fromAttribute: function ( attribute, index, offset ) { console.error( 'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().' ); return this.fromBufferAttribute( attribute, index, offset ); } } ); Object.assign( Vector4.prototype, { fromAttribute: function ( attribute, index, offset ) { console.error( 'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().' ); return this.fromBufferAttribute( attribute, index, offset ); } } ); // Geometry.prototype.computeTangents = function () { console.warn( 'THREE.Geometry: .computeTangents() has been removed.' ); }; Object.assign( Object3D.prototype, { getChildByName: function ( name ) { console.warn( 'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().' ); return this.getObjectByName( name ); }, renderDepth: function () { console.warn( 'THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.' ); }, translate: function ( distance, axis ) { console.warn( 'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.' ); return this.translateOnAxis( axis, distance ); } } ); Object.defineProperties( Object3D.prototype, { eulerOrder: { get: function () { console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); return this.rotation.order; }, set: function ( value ) { console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); this.rotation.order = value; } }, useQuaternion: { get: function () { console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); }, set: function () { console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); } } } ); Object.defineProperties( LOD.prototype, { objects: { get: function () { console.warn( 'THREE.LOD: .objects has been renamed to .levels.' ); return this.levels; } } } ); Object.defineProperty( Skeleton.prototype, 'useVertexTexture', { get: function () { console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); }, set: function () { console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); } } ); Object.defineProperty( Curve.prototype, '__arcLengthDivisions', { get: function () { console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); return this.arcLengthDivisions; }, set: function ( value ) { console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); this.arcLengthDivisions = value; } } ); // PerspectiveCamera.prototype.setLens = function ( focalLength, filmGauge ) { console.warn( "THREE.PerspectiveCamera.setLens is deprecated. " + "Use .setFocalLength and .filmGauge for a photographic setup." ); if ( filmGauge !== undefined ) this.filmGauge = filmGauge; this.setFocalLength( focalLength ); }; // Object.defineProperties( Light.prototype, { onlyShadow: { set: function () { console.warn( 'THREE.Light: .onlyShadow has been removed.' ); } }, shadowCameraFov: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraFov is now .shadow.camera.fov.' ); this.shadow.camera.fov = value; } }, shadowCameraLeft: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraLeft is now .shadow.camera.left.' ); this.shadow.camera.left = value; } }, shadowCameraRight: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraRight is now .shadow.camera.right.' ); this.shadow.camera.right = value; } }, shadowCameraTop: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraTop is now .shadow.camera.top.' ); this.shadow.camera.top = value; } }, shadowCameraBottom: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.' ); this.shadow.camera.bottom = value; } }, shadowCameraNear: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraNear is now .shadow.camera.near.' ); this.shadow.camera.near = value; } }, shadowCameraFar: { set: function ( value ) { console.warn( 'THREE.Light: .shadowCameraFar is now .shadow.camera.far.' ); this.shadow.camera.far = value; } }, shadowCameraVisible: { set: function () { console.warn( 'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.' ); } }, shadowBias: { set: function ( value ) { console.warn( 'THREE.Light: .shadowBias is now .shadow.bias.' ); this.shadow.bias = value; } }, shadowDarkness: { set: function () { console.warn( 'THREE.Light: .shadowDarkness has been removed.' ); } }, shadowMapWidth: { set: function ( value ) { console.warn( 'THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.' ); this.shadow.mapSize.width = value; } }, shadowMapHeight: { set: function ( value ) { console.warn( 'THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.' ); this.shadow.mapSize.height = value; } } } ); // Object.defineProperties( BufferAttribute.prototype, { length: { get: function () { console.warn( 'THREE.BufferAttribute: .length has been deprecated. Use .count instead.' ); return this.array.length; } } } ); Object.assign( BufferGeometry.prototype, { addIndex: function ( index ) { console.warn( 'THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().' ); this.setIndex( index ); }, addDrawCall: function ( start, count, indexOffset ) { if ( indexOffset !== undefined ) { console.warn( 'THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.' ); } console.warn( 'THREE.BufferGeometry: .addDrawCall() is now .addGroup().' ); this.addGroup( start, count ); }, clearDrawCalls: function () { console.warn( 'THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().' ); this.clearGroups(); }, computeTangents: function () { console.warn( 'THREE.BufferGeometry: .computeTangents() has been removed.' ); }, computeOffsets: function () { console.warn( 'THREE.BufferGeometry: .computeOffsets() has been removed.' ); } } ); Object.defineProperties( BufferGeometry.prototype, { drawcalls: { get: function () { console.error( 'THREE.BufferGeometry: .drawcalls has been renamed to .groups.' ); return this.groups; } }, offsets: { get: function () { console.warn( 'THREE.BufferGeometry: .offsets has been renamed to .groups.' ); return this.groups; } } } ); // Object.defineProperties( Uniform.prototype, { dynamic: { set: function () { console.warn( 'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.' ); } }, onUpdate: { value: function () { console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' ); return this; } } } ); // Object.defineProperties( Material.prototype, { wrapAround: { get: function () { console.warn( 'THREE.Material: .wrapAround has been removed.' ); }, set: function () { console.warn( 'THREE.Material: .wrapAround has been removed.' ); } }, wrapRGB: { get: function () { console.warn( 'THREE.Material: .wrapRGB has been removed.' ); return new Color(); } } } ); Object.defineProperties( MeshPhongMaterial.prototype, { metal: { get: function () { console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.' ); return false; }, set: function () { console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead' ); } } } ); Object.defineProperties( ShaderMaterial.prototype, { derivatives: { get: function () { console.warn( 'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); return this.extensions.derivatives; }, set: function ( value ) { console.warn( 'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); this.extensions.derivatives = value; } } } ); // Object.assign( WebGLRenderer.prototype, { getCurrentRenderTarget: function () { console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' ); return this.getRenderTarget(); }, supportsFloatTextures: function () { console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' ); return this.extensions.get( 'OES_texture_float' ); }, supportsHalfFloatTextures: function () { console.warn( 'THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( \'OES_texture_half_float\' ).' ); return this.extensions.get( 'OES_texture_half_float' ); }, supportsStandardDerivatives: function () { console.warn( 'THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( \'OES_standard_derivatives\' ).' ); return this.extensions.get( 'OES_standard_derivatives' ); }, supportsCompressedTextureS3TC: function () { console.warn( 'THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( \'WEBGL_compressed_texture_s3tc\' ).' ); return this.extensions.get( 'WEBGL_compressed_texture_s3tc' ); }, supportsCompressedTexturePVRTC: function () { console.warn( 'THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( \'WEBGL_compressed_texture_pvrtc\' ).' ); return this.extensions.get( 'WEBGL_compressed_texture_pvrtc' ); }, supportsBlendMinMax: function () { console.warn( 'THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( \'EXT_blend_minmax\' ).' ); return this.extensions.get( 'EXT_blend_minmax' ); }, supportsVertexTextures: function () { console.warn( 'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.' ); return this.capabilities.vertexTextures; }, supportsInstancedArrays: function () { console.warn( 'THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( \'ANGLE_instanced_arrays\' ).' ); return this.extensions.get( 'ANGLE_instanced_arrays' ); }, enableScissorTest: function ( boolean ) { console.warn( 'THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().' ); this.setScissorTest( boolean ); }, initMaterial: function () { console.warn( 'THREE.WebGLRenderer: .initMaterial() has been removed.' ); }, addPrePlugin: function () { console.warn( 'THREE.WebGLRenderer: .addPrePlugin() has been removed.' ); }, addPostPlugin: function () { console.warn( 'THREE.WebGLRenderer: .addPostPlugin() has been removed.' ); }, updateShadowMap: function () { console.warn( 'THREE.WebGLRenderer: .updateShadowMap() has been removed.' ); } } ); Object.defineProperties( WebGLRenderer.prototype, { shadowMapEnabled: { get: function () { return this.shadowMap.enabled; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.' ); this.shadowMap.enabled = value; } }, shadowMapType: { get: function () { return this.shadowMap.type; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.' ); this.shadowMap.type = value; } }, shadowMapCullFace: { get: function () { return this.shadowMap.cullFace; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace.' ); this.shadowMap.cullFace = value; } } } ); Object.defineProperties( WebGLShadowMap.prototype, { cullFace: { get: function () { return this.renderReverseSided ? CullFaceFront : CullFaceBack; }, set: function ( cullFace ) { var value = ( cullFace !== CullFaceBack ); console.warn( "WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to " + value + "." ); this.renderReverseSided = value; } } } ); // Object.defineProperties( WebGLRenderTarget.prototype, { wrapS: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); return this.texture.wrapS; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); this.texture.wrapS = value; } }, wrapT: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); return this.texture.wrapT; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); this.texture.wrapT = value; } }, magFilter: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); return this.texture.magFilter; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); this.texture.magFilter = value; } }, minFilter: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); return this.texture.minFilter; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); this.texture.minFilter = value; } }, anisotropy: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); return this.texture.anisotropy; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); this.texture.anisotropy = value; } }, offset: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); return this.texture.offset; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); this.texture.offset = value; } }, repeat: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); return this.texture.repeat; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); this.texture.repeat = value; } }, format: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); return this.texture.format; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); this.texture.format = value; } }, type: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); return this.texture.type; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); this.texture.type = value; } }, generateMipmaps: { get: function () { console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); return this.texture.generateMipmaps; }, set: function ( value ) { console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); this.texture.generateMipmaps = value; } } } ); // Audio.prototype.load = function ( file ) { console.warn( 'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.' ); var scope = this; var audioLoader = new AudioLoader(); audioLoader.load( file, function ( buffer ) { scope.setBuffer( buffer ); } ); return this; }; AudioAnalyser.prototype.getData = function () { console.warn( 'THREE.AudioAnalyser: .getData() is now .getFrequencyData().' ); return this.getFrequencyData(); }; // var GeometryUtils = { merge: function ( geometry1, geometry2, materialIndexOffset ) { console.warn( 'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.' ); var matrix; if ( geometry2.isMesh ) { geometry2.matrixAutoUpdate && geometry2.updateMatrix(); matrix = geometry2.matrix; geometry2 = geometry2.geometry; } geometry1.merge( geometry2, matrix, materialIndexOffset ); }, center: function ( geometry ) { console.warn( 'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.' ); return geometry.center(); } }; var ImageUtils = { crossOrigin: undefined, loadTexture: function ( url, mapping, onLoad, onError ) { console.warn( 'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.' ); var loader = new TextureLoader(); loader.setCrossOrigin( this.crossOrigin ); var texture = loader.load( url, onLoad, undefined, onError ); if ( mapping ) texture.mapping = mapping; return texture; }, loadTextureCube: function ( urls, mapping, onLoad, onError ) { console.warn( 'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.' ); var loader = new CubeTextureLoader(); loader.setCrossOrigin( this.crossOrigin ); var texture = loader.load( urls, onLoad, undefined, onError ); if ( mapping ) texture.mapping = mapping; return texture; }, loadCompressedTexture: function () { console.error( 'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.' ); }, loadCompressedTextureCube: function () { console.error( 'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.' ); } }; // function Projector() { console.error( 'THREE.Projector has been moved to /examples/js/renderers/Projector.js.' ); this.projectVector = function ( vector, camera ) { console.warn( 'THREE.Projector: .projectVector() is now vector.project().' ); vector.project( camera ); }; this.unprojectVector = function ( vector, camera ) { console.warn( 'THREE.Projector: .unprojectVector() is now vector.unproject().' ); vector.unproject( camera ); }; this.pickingRay = function () { console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' ); }; } // function CanvasRenderer() { console.error( 'THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js' ); this.domElement = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); this.clear = function () {}; this.render = function () {}; this.setClearColor = function () {}; this.setSize = function () {}; } exports.WebGLRenderTargetCube = WebGLRenderTargetCube; exports.WebGLRenderTarget = WebGLRenderTarget; exports.WebGLRenderer = WebGLRenderer; exports.ShaderLib = ShaderLib; exports.UniformsLib = UniformsLib; exports.UniformsUtils = UniformsUtils; exports.ShaderChunk = ShaderChunk; exports.FogExp2 = FogExp2; exports.Fog = Fog; exports.Scene = Scene; exports.LensFlare = LensFlare; exports.Sprite = Sprite; exports.LOD = LOD; exports.SkinnedMesh = SkinnedMesh; exports.Skeleton = Skeleton; exports.Bone = Bone; exports.Mesh = Mesh; exports.LineSegments = LineSegments; exports.LineLoop = LineLoop; exports.Line = Line; exports.Points = Points; exports.Group = Group; exports.VideoTexture = VideoTexture; exports.DataTexture = DataTexture; exports.CompressedTexture = CompressedTexture; exports.CubeTexture = CubeTexture; exports.CanvasTexture = CanvasTexture; exports.DepthTexture = DepthTexture; exports.Texture = Texture; exports.CompressedTextureLoader = CompressedTextureLoader; exports.DataTextureLoader = DataTextureLoader; exports.CubeTextureLoader = CubeTextureLoader; exports.TextureLoader = TextureLoader; exports.ObjectLoader = ObjectLoader; exports.MaterialLoader = MaterialLoader; exports.BufferGeometryLoader = BufferGeometryLoader; exports.DefaultLoadingManager = DefaultLoadingManager; exports.LoadingManager = LoadingManager; exports.JSONLoader = JSONLoader; exports.ImageLoader = ImageLoader; exports.FontLoader = FontLoader; exports.FileLoader = FileLoader; exports.Loader = Loader; exports.Cache = Cache; exports.AudioLoader = AudioLoader; exports.SpotLightShadow = SpotLightShadow; exports.SpotLight = SpotLight; exports.PointLight = PointLight; exports.RectAreaLight = RectAreaLight; exports.HemisphereLight = HemisphereLight; exports.DirectionalLightShadow = DirectionalLightShadow; exports.DirectionalLight = DirectionalLight; exports.AmbientLight = AmbientLight; exports.LightShadow = LightShadow; exports.Light = Light; exports.StereoCamera = StereoCamera; exports.PerspectiveCamera = PerspectiveCamera; exports.OrthographicCamera = OrthographicCamera; exports.CubeCamera = CubeCamera; exports.ArrayCamera = ArrayCamera; exports.Camera = Camera; exports.AudioListener = AudioListener; exports.PositionalAudio = PositionalAudio; exports.AudioContext = AudioContext; exports.AudioAnalyser = AudioAnalyser; exports.Audio = Audio; exports.VectorKeyframeTrack = VectorKeyframeTrack; exports.StringKeyframeTrack = StringKeyframeTrack; exports.QuaternionKeyframeTrack = QuaternionKeyframeTrack; exports.NumberKeyframeTrack = NumberKeyframeTrack; exports.ColorKeyframeTrack = ColorKeyframeTrack; exports.BooleanKeyframeTrack = BooleanKeyframeTrack; exports.PropertyMixer = PropertyMixer; exports.PropertyBinding = PropertyBinding; exports.KeyframeTrack = KeyframeTrack; exports.AnimationUtils = AnimationUtils; exports.AnimationObjectGroup = AnimationObjectGroup; exports.AnimationMixer = AnimationMixer; exports.AnimationClip = AnimationClip; exports.Uniform = Uniform; exports.InstancedBufferGeometry = InstancedBufferGeometry; exports.BufferGeometry = BufferGeometry; exports.GeometryIdCount = GeometryIdCount; exports.Geometry = Geometry; exports.InterleavedBufferAttribute = InterleavedBufferAttribute; exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer; exports.InterleavedBuffer = InterleavedBuffer; exports.InstancedBufferAttribute = InstancedBufferAttribute; exports.Face3 = Face3; exports.Object3D = Object3D; exports.Raycaster = Raycaster; exports.Layers = Layers; exports.EventDispatcher = EventDispatcher; exports.Clock = Clock; exports.QuaternionLinearInterpolant = QuaternionLinearInterpolant; exports.LinearInterpolant = LinearInterpolant; exports.DiscreteInterpolant = DiscreteInterpolant; exports.CubicInterpolant = CubicInterpolant; exports.Interpolant = Interpolant; exports.Triangle = Triangle; exports.Math = _Math; exports.Spherical = Spherical; exports.Cylindrical = Cylindrical; exports.Plane = Plane; exports.Frustum = Frustum; exports.Sphere = Sphere; exports.Ray = Ray; exports.Matrix4 = Matrix4; exports.Matrix3 = Matrix3; exports.Box3 = Box3; exports.Box2 = Box2; exports.Line3 = Line3; exports.Euler = Euler; exports.Vector4 = Vector4; exports.Vector3 = Vector3; exports.Vector2 = Vector2; exports.Quaternion = Quaternion; exports.Color = Color; exports.MorphBlendMesh = MorphBlendMesh; exports.ImmediateRenderObject = ImmediateRenderObject; exports.VertexNormalsHelper = VertexNormalsHelper; exports.SpotLightHelper = SpotLightHelper; exports.SkeletonHelper = SkeletonHelper; exports.PointLightHelper = PointLightHelper; exports.RectAreaLightHelper = RectAreaLightHelper; exports.HemisphereLightHelper = HemisphereLightHelper; exports.GridHelper = GridHelper; exports.PolarGridHelper = PolarGridHelper; exports.FaceNormalsHelper = FaceNormalsHelper; exports.DirectionalLightHelper = DirectionalLightHelper; exports.CameraHelper = CameraHelper; exports.BoxHelper = BoxHelper; exports.Box3Helper = Box3Helper; exports.PlaneHelper = PlaneHelper; exports.ArrowHelper = ArrowHelper; exports.AxisHelper = AxisHelper; exports.CatmullRomCurve3 = CatmullRomCurve3; exports.CubicBezierCurve3 = CubicBezierCurve3; exports.QuadraticBezierCurve3 = QuadraticBezierCurve3; exports.LineCurve3 = LineCurve3; exports.ArcCurve = ArcCurve; exports.EllipseCurve = EllipseCurve; exports.SplineCurve = SplineCurve; exports.CubicBezierCurve = CubicBezierCurve; exports.QuadraticBezierCurve = QuadraticBezierCurve; exports.LineCurve = LineCurve; exports.Shape = Shape; exports.Path = Path; exports.ShapePath = ShapePath; exports.Font = Font; exports.CurvePath = CurvePath; exports.Curve = Curve; exports.ShapeUtils = ShapeUtils; exports.SceneUtils = SceneUtils; exports.WireframeGeometry = WireframeGeometry; exports.ParametricGeometry = ParametricGeometry; exports.ParametricBufferGeometry = ParametricBufferGeometry; exports.TetrahedronGeometry = TetrahedronGeometry; exports.TetrahedronBufferGeometry = TetrahedronBufferGeometry; exports.OctahedronGeometry = OctahedronGeometry; exports.OctahedronBufferGeometry = OctahedronBufferGeometry; exports.IcosahedronGeometry = IcosahedronGeometry; exports.IcosahedronBufferGeometry = IcosahedronBufferGeometry; exports.DodecahedronGeometry = DodecahedronGeometry; exports.DodecahedronBufferGeometry = DodecahedronBufferGeometry; exports.PolyhedronGeometry = PolyhedronGeometry; exports.PolyhedronBufferGeometry = PolyhedronBufferGeometry; exports.TubeGeometry = TubeGeometry; exports.TubeBufferGeometry = TubeBufferGeometry; exports.TorusKnotGeometry = TorusKnotGeometry; exports.TorusKnotBufferGeometry = TorusKnotBufferGeometry; exports.TorusGeometry = TorusGeometry; exports.TorusBufferGeometry = TorusBufferGeometry; exports.TextGeometry = TextGeometry; exports.TextBufferGeometry = TextBufferGeometry; exports.SphereGeometry = SphereGeometry; exports.SphereBufferGeometry = SphereBufferGeometry; exports.RingGeometry = RingGeometry; exports.RingBufferGeometry = RingBufferGeometry; exports.PlaneGeometry = PlaneGeometry; exports.PlaneBufferGeometry = PlaneBufferGeometry; exports.LatheGeometry = LatheGeometry; exports.LatheBufferGeometry = LatheBufferGeometry; exports.ShapeGeometry = ShapeGeometry; exports.ShapeBufferGeometry = ShapeBufferGeometry; exports.ExtrudeGeometry = ExtrudeGeometry; exports.ExtrudeBufferGeometry = ExtrudeBufferGeometry; exports.EdgesGeometry = EdgesGeometry; exports.ConeGeometry = ConeGeometry; exports.ConeBufferGeometry = ConeBufferGeometry; exports.CylinderGeometry = CylinderGeometry; exports.CylinderBufferGeometry = CylinderBufferGeometry; exports.CircleGeometry = CircleGeometry; exports.CircleBufferGeometry = CircleBufferGeometry; exports.BoxGeometry = BoxGeometry; exports.BoxBufferGeometry = BoxBufferGeometry; exports.ShadowMaterial = ShadowMaterial; exports.SpriteMaterial = SpriteMaterial; exports.RawShaderMaterial = RawShaderMaterial; exports.ShaderMaterial = ShaderMaterial; exports.PointsMaterial = PointsMaterial; exports.MeshPhysicalMaterial = MeshPhysicalMaterial; exports.MeshStandardMaterial = MeshStandardMaterial; exports.MeshPhongMaterial = MeshPhongMaterial; exports.MeshToonMaterial = MeshToonMaterial; exports.MeshNormalMaterial = MeshNormalMaterial; exports.MeshLambertMaterial = MeshLambertMaterial; exports.MeshDepthMaterial = MeshDepthMaterial; exports.MeshBasicMaterial = MeshBasicMaterial; exports.LineDashedMaterial = LineDashedMaterial; exports.LineBasicMaterial = LineBasicMaterial; exports.Material = Material; exports.Float64BufferAttribute = Float64BufferAttribute; exports.Float32BufferAttribute = Float32BufferAttribute; exports.Uint32BufferAttribute = Uint32BufferAttribute; exports.Int32BufferAttribute = Int32BufferAttribute; exports.Uint16BufferAttribute = Uint16BufferAttribute; exports.Int16BufferAttribute = Int16BufferAttribute; exports.Uint8ClampedBufferAttribute = Uint8ClampedBufferAttribute; exports.Uint8BufferAttribute = Uint8BufferAttribute; exports.Int8BufferAttribute = Int8BufferAttribute; exports.BufferAttribute = BufferAttribute; exports.REVISION = REVISION; exports.MOUSE = MOUSE; exports.CullFaceNone = CullFaceNone; exports.CullFaceBack = CullFaceBack; exports.CullFaceFront = CullFaceFront; exports.CullFaceFrontBack = CullFaceFrontBack; exports.FrontFaceDirectionCW = FrontFaceDirectionCW; exports.FrontFaceDirectionCCW = FrontFaceDirectionCCW; exports.BasicShadowMap = BasicShadowMap; exports.PCFShadowMap = PCFShadowMap; exports.PCFSoftShadowMap = PCFSoftShadowMap; exports.FrontSide = FrontSide; exports.BackSide = BackSide; exports.DoubleSide = DoubleSide; exports.FlatShading = FlatShading; exports.SmoothShading = SmoothShading; exports.NoColors = NoColors; exports.FaceColors = FaceColors; exports.VertexColors = VertexColors; exports.NoBlending = NoBlending; exports.NormalBlending = NormalBlending; exports.AdditiveBlending = AdditiveBlending; exports.SubtractiveBlending = SubtractiveBlending; exports.MultiplyBlending = MultiplyBlending; exports.CustomBlending = CustomBlending; exports.AddEquation = AddEquation; exports.SubtractEquation = SubtractEquation; exports.ReverseSubtractEquation = ReverseSubtractEquation; exports.MinEquation = MinEquation; exports.MaxEquation = MaxEquation; exports.ZeroFactor = ZeroFactor; exports.OneFactor = OneFactor; exports.SrcColorFactor = SrcColorFactor; exports.OneMinusSrcColorFactor = OneMinusSrcColorFactor; exports.SrcAlphaFactor = SrcAlphaFactor; exports.OneMinusSrcAlphaFactor = OneMinusSrcAlphaFactor; exports.DstAlphaFactor = DstAlphaFactor; exports.OneMinusDstAlphaFactor = OneMinusDstAlphaFactor; exports.DstColorFactor = DstColorFactor; exports.OneMinusDstColorFactor = OneMinusDstColorFactor; exports.SrcAlphaSaturateFactor = SrcAlphaSaturateFactor; exports.NeverDepth = NeverDepth; exports.AlwaysDepth = AlwaysDepth; exports.LessDepth = LessDepth; exports.LessEqualDepth = LessEqualDepth; exports.EqualDepth = EqualDepth; exports.GreaterEqualDepth = GreaterEqualDepth; exports.GreaterDepth = GreaterDepth; exports.NotEqualDepth = NotEqualDepth; exports.MultiplyOperation = MultiplyOperation; exports.MixOperation = MixOperation; exports.AddOperation = AddOperation; exports.NoToneMapping = NoToneMapping; exports.LinearToneMapping = LinearToneMapping; exports.ReinhardToneMapping = ReinhardToneMapping; exports.Uncharted2ToneMapping = Uncharted2ToneMapping; exports.CineonToneMapping = CineonToneMapping; exports.UVMapping = UVMapping; exports.CubeReflectionMapping = CubeReflectionMapping; exports.CubeRefractionMapping = CubeRefractionMapping; exports.EquirectangularReflectionMapping = EquirectangularReflectionMapping; exports.EquirectangularRefractionMapping = EquirectangularRefractionMapping; exports.SphericalReflectionMapping = SphericalReflectionMapping; exports.CubeUVReflectionMapping = CubeUVReflectionMapping; exports.CubeUVRefractionMapping = CubeUVRefractionMapping; exports.RepeatWrapping = RepeatWrapping; exports.ClampToEdgeWrapping = ClampToEdgeWrapping; exports.MirroredRepeatWrapping = MirroredRepeatWrapping; exports.NearestFilter = NearestFilter; exports.NearestMipMapNearestFilter = NearestMipMapNearestFilter; exports.NearestMipMapLinearFilter = NearestMipMapLinearFilter; exports.LinearFilter = LinearFilter; exports.LinearMipMapNearestFilter = LinearMipMapNearestFilter; exports.LinearMipMapLinearFilter = LinearMipMapLinearFilter; exports.UnsignedByteType = UnsignedByteType; exports.ByteType = ByteType; exports.ShortType = ShortType; exports.UnsignedShortType = UnsignedShortType; exports.IntType = IntType; exports.UnsignedIntType = UnsignedIntType; exports.FloatType = FloatType; exports.HalfFloatType = HalfFloatType; exports.UnsignedShort4444Type = UnsignedShort4444Type; exports.UnsignedShort5551Type = UnsignedShort5551Type; exports.UnsignedShort565Type = UnsignedShort565Type; exports.UnsignedInt248Type = UnsignedInt248Type; exports.AlphaFormat = AlphaFormat; exports.RGBFormat = RGBFormat; exports.RGBAFormat = RGBAFormat; exports.LuminanceFormat = LuminanceFormat; exports.LuminanceAlphaFormat = LuminanceAlphaFormat; exports.RGBEFormat = RGBEFormat; exports.DepthFormat = DepthFormat; exports.DepthStencilFormat = DepthStencilFormat; exports.RGB_S3TC_DXT1_Format = RGB_S3TC_DXT1_Format; exports.RGBA_S3TC_DXT1_Format = RGBA_S3TC_DXT1_Format; exports.RGBA_S3TC_DXT3_Format = RGBA_S3TC_DXT3_Format; exports.RGBA_S3TC_DXT5_Format = RGBA_S3TC_DXT5_Format; exports.RGB_PVRTC_4BPPV1_Format = RGB_PVRTC_4BPPV1_Format; exports.RGB_PVRTC_2BPPV1_Format = RGB_PVRTC_2BPPV1_Format; exports.RGBA_PVRTC_4BPPV1_Format = RGBA_PVRTC_4BPPV1_Format; exports.RGBA_PVRTC_2BPPV1_Format = RGBA_PVRTC_2BPPV1_Format; exports.RGB_ETC1_Format = RGB_ETC1_Format; exports.LoopOnce = LoopOnce; exports.LoopRepeat = LoopRepeat; exports.LoopPingPong = LoopPingPong; exports.InterpolateDiscrete = InterpolateDiscrete; exports.InterpolateLinear = InterpolateLinear; exports.InterpolateSmooth = InterpolateSmooth; exports.ZeroCurvatureEnding = ZeroCurvatureEnding; exports.ZeroSlopeEnding = ZeroSlopeEnding; exports.WrapAroundEnding = WrapAroundEnding; exports.TrianglesDrawMode = TrianglesDrawMode; exports.TriangleStripDrawMode = TriangleStripDrawMode; exports.TriangleFanDrawMode = TriangleFanDrawMode; exports.LinearEncoding = LinearEncoding; exports.sRGBEncoding = sRGBEncoding; exports.GammaEncoding = GammaEncoding; exports.RGBEEncoding = RGBEEncoding; exports.LogLuvEncoding = LogLuvEncoding; exports.RGBM7Encoding = RGBM7Encoding; exports.RGBM16Encoding = RGBM16Encoding; exports.RGBDEncoding = RGBDEncoding; exports.BasicDepthPacking = BasicDepthPacking; exports.RGBADepthPacking = RGBADepthPacking; exports.CubeGeometry = BoxGeometry; exports.Face4 = Face4; exports.LineStrip = LineStrip; exports.LinePieces = LinePieces; exports.MeshFaceMaterial = MeshFaceMaterial; exports.MultiMaterial = MultiMaterial; exports.PointCloud = PointCloud; exports.Particle = Particle; exports.ParticleSystem = ParticleSystem; exports.PointCloudMaterial = PointCloudMaterial; exports.ParticleBasicMaterial = ParticleBasicMaterial; exports.ParticleSystemMaterial = ParticleSystemMaterial; exports.Vertex = Vertex; exports.DynamicBufferAttribute = DynamicBufferAttribute; exports.Int8Attribute = Int8Attribute; exports.Uint8Attribute = Uint8Attribute; exports.Uint8ClampedAttribute = Uint8ClampedAttribute; exports.Int16Attribute = Int16Attribute; exports.Uint16Attribute = Uint16Attribute; exports.Int32Attribute = Int32Attribute; exports.Uint32Attribute = Uint32Attribute; exports.Float32Attribute = Float32Attribute; exports.Float64Attribute = Float64Attribute; exports.ClosedSplineCurve3 = ClosedSplineCurve3; exports.SplineCurve3 = SplineCurve3; exports.Spline = Spline; exports.BoundingBoxHelper = BoundingBoxHelper; exports.EdgesHelper = EdgesHelper; exports.WireframeHelper = WireframeHelper; exports.XHRLoader = XHRLoader; exports.BinaryTextureLoader = BinaryTextureLoader; exports.GeometryUtils = GeometryUtils; exports.ImageUtils = ImageUtils; exports.Projector = Projector; exports.CanvasRenderer = CanvasRenderer; Object.defineProperty(exports, '__esModule', { value: true }); }))); ================================================ FILE: examples/light/index.html ================================================ Light example

Light

(click to dismiss)

Place a reticle on surfaces with light (only works with iOS viewer).

================================================ FILE: examples/models/Axis.mtl ================================================ # Blender MTL File: 'Axis.blend' # Material Count: 4 newmtl Cube Ns 96.078431 Ka 1.000000 1.000000 1.000000 Kd 0.420028 0.420028 0.420028 Ks 0.000000 0.000000 0.000000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 1 newmtl X Ns 96.078431 Ka 1.000000 1.000000 1.000000 Kd 1.000000 0.000000 0.000000 Ks 0.000000 0.000000 0.000000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 1 newmtl Y Ns 96.078431 Ka 1.000000 1.000000 1.000000 Kd 0.000000 1.000000 0.000000 Ks 0.000000 0.000000 0.000000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 1 newmtl Z Ns 96.078431 Ka 1.000000 1.000000 1.000000 Kd 0.000000 0.000000 1.000000 Ks 0.000000 0.000000 0.000000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 1 ================================================ FILE: examples/models/Axis.obj ================================================ # Blender v2.78 (sub 0) OBJ File: 'Axis.blend' # www.blender.org mtllib Axis.mtl o Cube.091_Cube.096 v -0.891198 0.931900 -1.900000 v -1.032619 0.790479 -1.900000 v -0.891198 0.931900 -2.100000 v -1.032619 0.790479 -2.100000 v -1.032619 1.073322 -1.900000 v -1.174041 0.931900 -1.900000 v -1.032619 1.073322 -2.100000 v -1.174041 0.931900 -2.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 2//1 3//1 1//1 f 4//2 7//2 3//2 f 8//3 5//3 7//3 f 6//4 1//4 5//4 f 7//5 1//5 3//5 f 4//6 6//6 8//6 f 2//1 4//1 3//1 f 4//2 8//2 7//2 f 8//3 6//3 5//3 f 6//4 2//4 1//4 f 7//5 5//5 1//5 f 4//6 2//6 6//6 o Cube.090_Cube.095 v -1.244751 1.285454 -1.900000 v -1.386173 1.144032 -1.900000 v -1.244751 1.285454 -2.100000 v -1.386173 1.144032 -2.100000 v -1.386173 1.426875 -1.900000 v -1.527594 1.285454 -1.900000 v -1.386173 1.426875 -2.100000 v -1.527594 1.285454 -2.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 10//7 11//7 9//7 f 12//8 15//8 11//8 f 16//9 13//9 15//9 f 14//10 9//10 13//10 f 15//11 9//11 11//11 f 12//12 14//12 16//12 f 10//7 12//7 11//7 f 12//8 16//8 15//8 f 16//9 14//9 13//9 f 14//10 10//10 9//10 f 15//11 13//11 9//11 f 12//12 10//12 14//12 o Cube.089_Cube.094 v -1.598305 1.639007 -1.900000 v -1.739726 1.497586 -1.900000 v -1.598305 1.639007 -2.100000 v -1.739726 1.497586 -2.100000 v -1.739726 1.780429 -1.900000 v -1.881148 1.639007 -1.900000 v -1.739726 1.780429 -2.100000 v -1.881148 1.639007 -2.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 18//13 19//13 17//13 f 20//14 23//14 19//14 f 24//15 21//15 23//15 f 22//16 17//16 21//16 f 23//17 17//17 19//17 f 20//18 22//18 24//18 f 18//13 20//13 19//13 f 20//14 24//14 23//14 f 24//15 22//15 21//15 f 22//16 18//16 17//16 f 23//17 21//17 17//17 f 20//18 18//18 22//18 o Cube.088_Cube.093 v -1.951858 1.992561 -1.900000 v -2.093279 1.851139 -1.900000 v -1.951858 1.992561 -2.100000 v -2.093279 1.851139 -2.100000 v -2.093279 2.133982 -1.900000 v -2.234701 1.992561 -1.900000 v -2.093279 2.133982 -2.100000 v -2.234701 1.992561 -2.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 26//19 27//19 25//19 f 27//20 32//20 31//20 f 32//21 29//21 31//21 f 30//22 25//22 29//22 f 31//23 25//23 27//23 f 28//24 30//24 32//24 f 26//19 28//19 27//19 f 27//20 28//20 32//20 f 32//21 30//21 29//21 f 30//22 26//22 25//22 f 31//23 29//23 25//23 f 28//24 26//24 30//24 o Cube.087_Cube.092 v -1.951858 1.992561 -1.400000 v -2.093279 1.851139 -1.400000 v -1.951858 1.992561 -1.600000 v -2.093279 1.851139 -1.600000 v -2.093279 2.133982 -1.400000 v -2.234701 1.992561 -1.400000 v -2.093279 2.133982 -1.600000 v -2.234701 1.992561 -1.600000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 34//25 35//25 33//25 f 35//26 40//26 39//26 f 40//27 37//27 39//27 f 38//28 33//28 37//28 f 39//29 33//29 35//29 f 36//30 38//30 40//30 f 34//25 36//25 35//25 f 35//26 36//26 40//26 f 40//27 38//27 37//27 f 38//28 34//28 33//28 f 39//29 37//29 33//29 f 36//30 34//30 38//30 o Cube.086_Cube.091 v -1.951858 1.992561 -0.900000 v -2.093279 1.851139 -0.900000 v -1.951858 1.992561 -1.100000 v -2.093279 1.851139 -1.100000 v -2.093279 2.133982 -0.900000 v -2.234701 1.992561 -0.900000 v -2.093279 2.133982 -1.100000 v -2.234701 1.992561 -1.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 42//31 43//31 41//31 f 43//32 48//32 47//32 f 48//33 45//33 47//33 f 46//34 41//34 45//34 f 47//35 41//35 43//35 f 44//36 46//36 48//36 f 42//31 44//31 43//31 f 43//32 44//32 48//32 f 48//33 46//33 45//33 f 46//34 42//34 41//34 f 47//35 45//35 41//35 f 44//36 42//36 46//36 o Cube.085_Cube.090 v -1.951858 1.992561 -0.400000 v -2.093279 1.851139 -0.400000 v -1.951858 1.992561 -0.600000 v -2.093279 1.851139 -0.600000 v -2.093279 2.133982 -0.400000 v -2.234701 1.992561 -0.400000 v -2.093279 2.133982 -0.600000 v -2.234701 1.992561 -0.600000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 50//37 51//37 49//37 f 51//38 56//38 55//38 f 56//39 53//39 55//39 f 54//40 49//40 53//40 f 55//41 49//41 51//41 f 52//42 54//42 56//42 f 50//37 52//37 51//37 f 51//38 52//38 56//38 f 56//39 54//39 53//39 f 54//40 50//40 49//40 f 55//41 53//41 49//41 f 52//42 50//42 54//42 o Cube.084_Cube.089 v -1.951858 1.992561 0.100000 v -2.093279 1.851139 0.100000 v -1.951858 1.992561 -0.100000 v -2.093279 1.851139 -0.100000 v -2.093279 2.133982 0.100000 v -2.234701 1.992561 0.100000 v -2.093279 2.133982 -0.100000 v -2.234701 1.992561 -0.100000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 58//43 59//43 57//43 f 59//44 64//44 63//44 f 64//45 61//45 63//45 f 62//46 57//46 61//46 f 63//47 57//47 59//47 f 60//48 62//48 64//48 f 58//43 60//43 59//43 f 59//44 60//44 64//44 f 64//45 62//45 61//45 f 62//46 58//46 57//46 f 63//47 61//47 57//47 f 60//48 58//48 62//48 o Cube.083_Cube.088 v -1.951858 1.992561 0.600000 v -2.093279 1.851139 0.600000 v -1.951858 1.992561 0.400000 v -2.093279 1.851139 0.400000 v -2.093279 2.133982 0.600000 v -2.234701 1.992561 0.600000 v -2.093279 2.133982 0.400000 v -2.234701 1.992561 0.400000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 66//49 67//49 65//49 f 67//50 72//50 71//50 f 72//51 69//51 71//51 f 70//52 65//52 69//52 f 71//53 65//53 67//53 f 68//54 70//54 72//54 f 66//49 68//49 67//49 f 67//50 68//50 72//50 f 72//51 70//51 69//51 f 70//52 66//52 65//52 f 71//53 69//53 65//53 f 68//54 66//54 70//54 o Cube.082_Cube.087 v -1.951858 1.992561 1.100000 v -2.093279 1.851139 1.100000 v -1.951858 1.992561 0.900000 v -2.093279 1.851139 0.900000 v -2.093279 2.133982 1.100000 v -2.234701 1.992561 1.100000 v -2.093279 2.133982 0.900000 v -2.234701 1.992561 0.900000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 74//55 75//55 73//55 f 75//56 80//56 79//56 f 80//57 77//57 79//57 f 78//58 73//58 77//58 f 79//59 73//59 75//59 f 76//60 78//60 80//60 f 74//55 76//55 75//55 f 75//56 76//56 80//56 f 80//57 78//57 77//57 f 78//58 74//58 73//58 f 79//59 77//59 73//59 f 76//60 74//60 78//60 o Cube.081_Cube.086 v -1.951858 1.992561 1.600000 v -2.093279 1.851139 1.600000 v -1.951858 1.992561 1.400000 v -2.093279 1.851139 1.400000 v -2.093279 2.133982 1.600000 v -2.234701 1.992561 1.600000 v -2.093279 2.133982 1.400000 v -2.234701 1.992561 1.400000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 82//61 83//61 81//61 f 83//62 88//62 87//62 f 88//63 85//63 87//63 f 86//64 81//64 85//64 f 87//65 81//65 83//65 f 84//66 86//66 88//66 f 82//61 84//61 83//61 f 83//62 84//62 88//62 f 88//63 86//63 85//63 f 86//64 82//64 81//64 f 87//65 85//65 81//65 f 84//66 82//66 86//66 o Cube.080_Cube.085 v -1.951858 1.992561 2.100000 v -2.093279 1.851139 2.100000 v -1.951858 1.992561 1.900000 v -2.093279 1.851139 1.900000 v -2.093279 2.133982 2.100000 v -2.234701 1.992561 2.100000 v -2.093279 2.133982 1.900000 v -2.234701 1.992561 1.900000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 90//67 91//67 89//67 f 91//68 96//68 95//68 f 96//69 93//69 95//69 f 94//70 89//70 93//70 f 95//71 89//71 91//71 f 92//72 94//72 96//72 f 90//67 92//67 91//67 f 91//68 92//68 96//68 f 96//69 94//69 93//69 f 94//70 90//70 89//70 f 95//71 93//71 89//71 f 92//72 90//72 94//72 o Cube.079_Cube.084 v -1.598305 1.639007 2.100000 v -1.739726 1.497586 2.100000 v -1.598305 1.639007 1.900000 v -1.739726 1.497586 1.900000 v -1.739726 1.780429 2.100000 v -1.881148 1.639007 2.100000 v -1.739726 1.780429 1.900000 v -1.881148 1.639007 1.900000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 98//73 99//73 97//73 f 100//74 103//74 99//74 f 104//75 101//75 103//75 f 102//76 97//76 101//76 f 103//77 97//77 99//77 f 100//78 102//78 104//78 f 98//73 100//73 99//73 f 100//74 104//74 103//74 f 104//75 102//75 101//75 f 102//76 98//76 97//76 f 103//77 101//77 97//77 f 100//78 98//78 102//78 o Cube.078_Cube.083 v -1.244751 1.285454 2.100000 v -1.386173 1.144032 2.100000 v -1.244751 1.285454 1.900000 v -1.386173 1.144032 1.900000 v -1.386173 1.426875 2.100000 v -1.527594 1.285454 2.100000 v -1.386173 1.426875 1.900000 v -1.527594 1.285454 1.900000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 106//79 107//79 105//79 f 108//80 111//80 107//80 f 112//81 109//81 111//81 f 110//82 105//82 109//82 f 111//83 105//83 107//83 f 108//84 110//84 112//84 f 106//79 108//79 107//79 f 108//80 112//80 111//80 f 112//81 110//81 109//81 f 110//82 106//82 105//82 f 111//83 109//83 105//83 f 108//84 106//84 110//84 o Cube.077_Cube.082 v -0.891198 0.931900 2.100000 v -1.032619 0.790479 2.100000 v -0.891198 0.931900 1.900000 v -1.032619 0.790479 1.900000 v -1.032619 1.073322 2.100000 v -1.174041 0.931900 2.100000 v -1.032619 1.073322 1.900000 v -1.174041 0.931900 1.900000 vn 0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 0.7071 0.0000 vn -0.7071 -0.7071 0.0000 usemtl Cube s off f 114//85 115//85 113//85 f 116//86 119//86 115//86 f 120//87 117//87 119//87 f 118//88 113//88 117//88 f 119//89 113//89 115//89 f 116//90 118//90 120//90 f 114//85 116//85 115//85 f 116//86 120//86 119//86 f 120//87 118//87 117//87 f 118//88 114//88 113//88 f 119//89 117//89 113//89 f 116//90 114//90 118//90 o Cube.076_Cube.081 v 1.065017 0.808776 2.100000 v 0.923595 0.950197 2.100000 v 1.065017 0.808776 1.900000 v 0.923595 0.950197 1.900000 v 1.206438 0.950197 2.100000 v 1.065017 1.091618 2.100000 v 1.206438 0.950197 1.900000 v 1.065017 1.091618 1.900000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 122//91 123//91 121//91 f 124//92 127//92 123//92 f 128//93 125//93 127//93 f 125//94 122//94 121//94 f 127//95 121//95 123//95 f 124//96 126//96 128//96 f 122//91 124//91 123//91 f 124//92 128//92 127//92 f 128//93 126//93 125//93 f 125//94 126//94 122//94 f 127//95 125//95 121//95 f 124//96 122//96 126//96 o Cube.075_Cube.080 v 1.418570 1.162329 2.100000 v 1.277148 1.303750 2.100000 v 1.418570 1.162329 1.900000 v 1.277148 1.303750 1.900000 v 1.559991 1.303750 2.100000 v 1.418570 1.445172 2.100000 v 1.559991 1.303750 1.900000 v 1.418570 1.445172 1.900000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 130//97 131//97 129//97 f 131//98 136//98 135//98 f 136//99 133//99 135//99 f 134//100 129//100 133//100 f 135//101 129//101 131//101 f 132//102 134//102 136//102 f 130//97 132//97 131//97 f 131//98 132//98 136//98 f 136//99 134//99 133//99 f 134//100 130//100 129//100 f 135//101 133//101 129//101 f 132//102 130//102 134//102 o Cube.074_Cube.079 v 1.772123 1.515882 2.100000 v 1.630702 1.657304 2.100000 v 1.772123 1.515882 1.900000 v 1.630702 1.657304 1.900000 v 1.913545 1.657304 2.100000 v 1.772123 1.798725 2.100000 v 1.913545 1.657304 1.900000 v 1.772123 1.798725 1.900000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 138//103 139//103 137//103 f 139//104 144//104 143//104 f 144//105 141//105 143//105 f 142//106 137//106 141//106 f 143//107 137//107 139//107 f 140//108 142//108 144//108 f 138//103 140//103 139//103 f 139//104 140//104 144//104 f 144//105 142//105 141//105 f 142//106 138//106 137//106 f 143//107 141//107 137//107 f 140//108 138//108 142//108 o Cube.073_Cube.078 v 2.125677 1.869436 2.100000 v 1.984255 2.010857 2.100000 v 2.125677 1.869436 1.900000 v 1.984255 2.010857 1.900000 v 2.267098 2.010857 2.100000 v 2.125677 2.152278 2.100000 v 2.267098 2.010857 1.900000 v 2.125677 2.152278 1.900000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 146//109 147//109 145//109 f 148//110 151//110 147//110 f 152//111 149//111 151//111 f 150//112 145//112 149//112 f 151//113 145//113 147//113 f 148//114 150//114 152//114 f 146//109 148//109 147//109 f 148//110 152//110 151//110 f 152//111 150//111 149//111 f 150//112 146//112 145//112 f 151//113 149//113 145//113 f 148//114 146//114 150//114 o Cube.072_Cube.077 v 2.125677 1.869436 1.600000 v 1.984255 2.010857 1.600000 v 2.125677 1.869436 1.400000 v 1.984255 2.010857 1.400000 v 2.267098 2.010857 1.600000 v 2.125677 2.152278 1.600000 v 2.267098 2.010857 1.400000 v 2.125677 2.152278 1.400000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 154//115 155//115 153//115 f 156//116 159//116 155//116 f 160//117 157//117 159//117 f 158//118 153//118 157//118 f 159//119 153//119 155//119 f 156//120 158//120 160//120 f 154//115 156//115 155//115 f 156//116 160//116 159//116 f 160//117 158//117 157//117 f 158//118 154//118 153//118 f 159//119 157//119 153//119 f 156//120 154//120 158//120 o Cube.071_Cube.076 v 2.125677 1.869436 1.100000 v 1.984255 2.010857 1.100000 v 2.125677 1.869436 0.900000 v 1.984255 2.010857 0.900000 v 2.267098 2.010857 1.100000 v 2.125677 2.152278 1.100000 v 2.267098 2.010857 0.900000 v 2.125677 2.152278 0.900000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 162//121 163//121 161//121 f 164//122 167//122 163//122 f 168//123 165//123 167//123 f 166//124 161//124 165//124 f 167//125 161//125 163//125 f 164//126 166//126 168//126 f 162//121 164//121 163//121 f 164//122 168//122 167//122 f 168//123 166//123 165//123 f 166//124 162//124 161//124 f 167//125 165//125 161//125 f 164//126 162//126 166//126 o Cube.070_Cube.075 v 2.125677 1.869436 0.600000 v 1.984255 2.010857 0.600000 v 2.125677 1.869436 0.400000 v 1.984255 2.010857 0.400000 v 2.267098 2.010857 0.600000 v 2.125677 2.152278 0.600000 v 2.267098 2.010857 0.400000 v 2.125677 2.152278 0.400000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 170//127 171//127 169//127 f 172//128 175//128 171//128 f 176//129 173//129 175//129 f 174//130 169//130 173//130 f 175//131 169//131 171//131 f 172//132 174//132 176//132 f 170//127 172//127 171//127 f 172//128 176//128 175//128 f 176//129 174//129 173//129 f 174//130 170//130 169//130 f 175//131 173//131 169//131 f 172//132 170//132 174//132 o Cube.069_Cube.074 v 2.125677 1.869436 0.100000 v 1.984255 2.010857 0.100000 v 2.125677 1.869436 -0.100000 v 1.984255 2.010857 -0.100000 v 2.267098 2.010857 0.100000 v 2.125677 2.152278 0.100000 v 2.267098 2.010857 -0.100000 v 2.125677 2.152278 -0.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 178//133 179//133 177//133 f 180//134 183//134 179//134 f 184//135 181//135 183//135 f 182//136 177//136 181//136 f 183//137 177//137 179//137 f 180//138 182//138 184//138 f 178//133 180//133 179//133 f 180//134 184//134 183//134 f 184//135 182//135 181//135 f 182//136 178//136 177//136 f 183//137 181//137 177//137 f 180//138 178//138 182//138 o Cube.068_Cube.073 v 2.125677 1.869436 -0.400000 v 1.984255 2.010857 -0.400000 v 2.125677 1.869436 -0.600000 v 1.984255 2.010857 -0.600000 v 2.267098 2.010857 -0.400000 v 2.125677 2.152278 -0.400000 v 2.267098 2.010857 -0.600000 v 2.125677 2.152278 -0.600000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 186//139 187//139 185//139 f 188//140 191//140 187//140 f 192//141 189//141 191//141 f 190//142 185//142 189//142 f 191//143 185//143 187//143 f 188//144 190//144 192//144 f 186//139 188//139 187//139 f 188//140 192//140 191//140 f 192//141 190//141 189//141 f 190//142 186//142 185//142 f 191//143 189//143 185//143 f 188//144 186//144 190//144 o Cube.067_Cube.072 v 2.125677 1.869436 -0.900000 v 1.984255 2.010857 -0.900000 v 2.125677 1.869436 -1.100000 v 1.984255 2.010857 -1.100000 v 2.267098 2.010857 -0.900000 v 2.125677 2.152278 -0.900000 v 2.267098 2.010857 -1.100000 v 2.125677 2.152278 -1.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 194//145 195//145 193//145 f 196//146 199//146 195//146 f 200//147 197//147 199//147 f 198//148 193//148 197//148 f 199//149 193//149 195//149 f 196//150 198//150 200//150 f 194//145 196//145 195//145 f 196//146 200//146 199//146 f 200//147 198//147 197//147 f 198//148 194//148 193//148 f 199//149 197//149 193//149 f 196//150 194//150 198//150 o Cube.066_Cube.071 v 2.125677 1.869436 -1.400000 v 1.984255 2.010857 -1.400000 v 2.125677 1.869436 -1.600000 v 1.984255 2.010857 -1.600000 v 2.267098 2.010857 -1.400000 v 2.125677 2.152278 -1.400000 v 2.267098 2.010857 -1.600000 v 2.125677 2.152278 -1.600000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 202//151 203//151 201//151 f 204//152 207//152 203//152 f 208//153 205//153 207//153 f 206//154 201//154 205//154 f 207//155 201//155 203//155 f 204//156 206//156 208//156 f 202//151 204//151 203//151 f 204//152 208//152 207//152 f 208//153 206//153 205//153 f 206//154 202//154 201//154 f 207//155 205//155 201//155 f 204//156 202//156 206//156 o Cube.065_Cube.070 v 2.125677 1.869436 -1.900000 v 1.984255 2.010857 -1.900000 v 2.125677 1.869436 -2.100000 v 1.984255 2.010857 -2.100000 v 2.267098 2.010857 -1.900000 v 2.125677 2.152278 -1.900000 v 2.267098 2.010857 -2.100000 v 2.125677 2.152278 -2.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 210//157 211//157 209//157 f 212//158 215//158 211//158 f 216//159 213//159 215//159 f 214//160 209//160 213//160 f 215//161 209//161 211//161 f 212//162 214//162 216//162 f 210//157 212//157 211//157 f 212//158 216//158 215//158 f 216//159 214//159 213//159 f 214//160 210//160 209//160 f 215//161 213//161 209//161 f 212//162 210//162 214//162 o Cube.064_Cube.069 v 1.772123 1.515882 -1.900000 v 1.630702 1.657304 -1.900000 v 1.772123 1.515882 -2.100000 v 1.630702 1.657304 -2.100000 v 1.913545 1.657304 -1.900000 v 1.772123 1.798725 -1.900000 v 1.913545 1.657304 -2.100000 v 1.772123 1.798725 -2.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 218//163 219//163 217//163 f 219//164 224//164 223//164 f 224//165 221//165 223//165 f 222//166 217//166 221//166 f 223//167 217//167 219//167 f 220//168 222//168 224//168 f 218//163 220//163 219//163 f 219//164 220//164 224//164 f 224//165 222//165 221//165 f 222//166 218//166 217//166 f 223//167 221//167 217//167 f 220//168 218//168 222//168 o Cube.063_Cube.068 v 1.418570 1.162329 -1.900000 v 1.277148 1.303750 -1.900000 v 1.418570 1.162329 -2.100000 v 1.277148 1.303750 -2.100000 v 1.559991 1.303750 -1.900000 v 1.418570 1.445172 -1.900000 v 1.559991 1.303750 -2.100000 v 1.418570 1.445172 -2.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 226//169 227//169 225//169 f 227//170 232//170 231//170 f 232//171 229//171 231//171 f 230//172 225//172 229//172 f 231//173 225//173 227//173 f 228//174 230//174 232//174 f 226//169 228//169 227//169 f 227//170 228//170 232//170 f 232//171 230//171 229//171 f 230//172 226//172 225//172 f 231//173 229//173 225//173 f 228//174 226//174 230//174 o Cube.047_Cube.067 v 1.065017 0.808776 -1.900000 v 0.923595 0.950197 -1.900000 v 1.065017 0.808776 -2.100000 v 0.923595 0.950197 -2.100000 v 1.206438 0.950197 -1.900000 v 1.065017 1.091618 -1.900000 v 1.206438 0.950197 -2.100000 v 1.065017 1.091618 -2.100000 vn -0.7071 -0.7071 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.7071 0.7071 0.0000 vn 0.0000 0.0000 1.0000 vn 0.7071 -0.7071 0.0000 vn -0.7071 0.7071 0.0000 usemtl Cube s off f 234//175 235//175 233//175 f 236//176 239//176 235//176 f 240//177 237//177 239//177 f 237//178 234//178 233//178 f 239//179 233//179 235//179 f 236//180 238//180 240//180 f 234//175 236//175 235//175 f 236//176 240//176 239//176 f 240//177 238//177 237//177 f 237//178 238//178 234//178 f 239//179 237//179 233//179 f 236//180 234//180 238//180 o Cube.062_Cube.065 v 0.100063 0.399936 -1.900000 v -0.099937 0.399936 -1.900000 v 0.100063 0.399936 -2.100000 v -0.099937 0.399936 -2.100000 v 0.100064 0.599936 -1.900000 v -0.099937 0.599937 -1.900000 v 0.100064 0.599936 -2.100000 v -0.099937 0.599937 -2.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 242//181 243//181 241//181 f 244//182 247//182 243//182 f 248//183 245//183 247//183 f 245//184 242//184 241//184 f 247//185 241//185 243//185 f 244//186 246//186 248//186 f 242//181 244//181 243//181 f 244//182 248//182 247//182 f 248//183 246//183 245//183 f 245//184 246//184 242//184 f 247//185 245//185 241//185 f 244//186 242//186 246//186 o Cube.061_Cube.064 v 0.100063 0.899936 -1.900000 v -0.099937 0.899936 -1.900000 v 0.100063 0.899936 -2.100000 v -0.099937 0.899936 -2.100000 v 0.100064 1.099936 -1.900000 v -0.099937 1.099937 -1.900000 v 0.100064 1.099936 -2.100000 v -0.099937 1.099937 -2.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 250//187 251//187 249//187 f 252//188 255//188 251//188 f 256//189 253//189 255//189 f 253//190 250//190 249//190 f 255//191 249//191 251//191 f 252//192 254//192 256//192 f 250//187 252//187 251//187 f 252//188 256//188 255//188 f 256//189 254//189 253//189 f 253//190 254//190 250//190 f 255//191 253//191 249//191 f 252//192 250//192 254//192 o Cube.060_Cube.063 v 0.100063 1.399936 -1.900000 v -0.099937 1.399936 -1.900000 v 0.100063 1.399936 -2.100000 v -0.099937 1.399936 -2.100000 v 0.100063 1.599936 -1.900000 v -0.099937 1.599936 -1.900000 v 0.100063 1.599936 -2.100000 v -0.099937 1.599936 -2.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 258//193 259//193 257//193 f 260//194 263//194 259//194 f 264//195 261//195 263//195 f 262//196 257//196 261//196 f 263//197 257//197 259//197 f 260//198 262//198 264//198 f 258//193 260//193 259//193 f 260//194 264//194 263//194 f 264//195 262//195 261//195 f 262//196 258//196 257//196 f 263//197 261//197 257//197 f 260//198 258//198 262//198 o Cube.059_Cube.062 v 0.100063 1.899936 -1.900000 v -0.099937 1.899936 -1.900000 v 0.100063 1.899936 -2.100000 v -0.099937 1.899936 -2.100000 v 0.100063 2.099936 -1.900000 v -0.099937 2.099936 -1.900000 v 0.100063 2.099936 -2.100000 v -0.099937 2.099936 -2.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 266//199 267//199 265//199 f 268//200 271//200 267//200 f 272//201 269//201 271//201 f 270//202 265//202 269//202 f 271//203 265//203 267//203 f 268//204 270//204 272//204 f 266//199 268//199 267//199 f 268//200 272//200 271//200 f 272//201 270//201 269//201 f 270//202 266//202 265//202 f 271//203 269//203 265//203 f 268//204 266//204 270//204 o Cube.058_Cube.061 v 0.100063 1.899936 -1.400000 v -0.099937 1.899936 -1.400000 v 0.100063 1.899936 -1.600000 v -0.099937 1.899936 -1.600000 v 0.100063 2.099936 -1.400000 v -0.099937 2.099936 -1.400000 v 0.100063 2.099936 -1.600000 v -0.099937 2.099936 -1.600000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 274//205 275//205 273//205 f 276//206 279//206 275//206 f 280//207 277//207 279//207 f 278//208 273//208 277//208 f 279//209 273//209 275//209 f 276//210 278//210 280//210 f 274//205 276//205 275//205 f 276//206 280//206 279//206 f 280//207 278//207 277//207 f 278//208 274//208 273//208 f 279//209 277//209 273//209 f 276//210 274//210 278//210 o Cube.057_Cube.060 v 0.100063 1.899936 -0.900000 v -0.099937 1.899936 -0.900000 v 0.100063 1.899936 -1.100000 v -0.099937 1.899936 -1.100000 v 0.100063 2.099936 -0.900000 v -0.099937 2.099936 -0.900000 v 0.100063 2.099936 -1.100000 v -0.099937 2.099936 -1.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 282//211 283//211 281//211 f 284//212 287//212 283//212 f 288//213 285//213 287//213 f 286//214 281//214 285//214 f 287//215 281//215 283//215 f 284//216 286//216 288//216 f 282//211 284//211 283//211 f 284//212 288//212 287//212 f 288//213 286//213 285//213 f 286//214 282//214 281//214 f 287//215 285//215 281//215 f 284//216 282//216 286//216 o Cube.056_Cube.059 v 0.100063 1.899936 -0.400000 v -0.099937 1.899936 -0.400000 v 0.100063 1.899936 -0.600000 v -0.099937 1.899936 -0.600000 v 0.100063 2.099936 -0.400000 v -0.099937 2.099936 -0.400000 v 0.100063 2.099936 -0.600000 v -0.099937 2.099936 -0.600000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 290//217 291//217 289//217 f 292//218 295//218 291//218 f 296//219 293//219 295//219 f 294//220 289//220 293//220 f 295//221 289//221 291//221 f 292//222 294//222 296//222 f 290//217 292//217 291//217 f 292//218 296//218 295//218 f 296//219 294//219 293//219 f 294//220 290//220 289//220 f 295//221 293//221 289//221 f 292//222 290//222 294//222 o Cube.055_Cube.058 v 0.100063 1.899936 0.100000 v -0.099937 1.899936 0.100000 v 0.100063 1.899936 -0.100000 v -0.099937 1.899936 -0.100000 v 0.100063 2.099936 0.100000 v -0.099937 2.099936 0.100000 v 0.100063 2.099936 -0.100000 v -0.099937 2.099936 -0.100000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 298//223 299//223 297//223 f 300//224 303//224 299//224 f 304//225 301//225 303//225 f 302//226 297//226 301//226 f 303//227 297//227 299//227 f 300//228 302//228 304//228 f 298//223 300//223 299//223 f 300//224 304//224 303//224 f 304//225 302//225 301//225 f 302//226 298//226 297//226 f 303//227 301//227 297//227 f 300//228 298//228 302//228 o Cube.054_Cube.057 v 0.100063 1.899936 0.600000 v -0.099937 1.899936 0.600000 v 0.100063 1.899936 0.400000 v -0.099937 1.899936 0.400000 v 0.100063 2.099936 0.600000 v -0.099937 2.099936 0.600000 v 0.100063 2.099936 0.400000 v -0.099937 2.099936 0.400000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 306//229 307//229 305//229 f 308//230 311//230 307//230 f 312//231 309//231 311//231 f 310//232 305//232 309//232 f 311//233 305//233 307//233 f 308//234 310//234 312//234 f 306//229 308//229 307//229 f 308//230 312//230 311//230 f 312//231 310//231 309//231 f 310//232 306//232 305//232 f 311//233 309//233 305//233 f 308//234 306//234 310//234 o Cube.053_Cube.056 v 0.100063 1.899936 1.100000 v -0.099937 1.899936 1.100000 v 0.100063 1.899936 0.900000 v -0.099937 1.899936 0.900000 v 0.100063 2.099936 1.100000 v -0.099937 2.099936 1.100000 v 0.100063 2.099936 0.900000 v -0.099937 2.099936 0.900000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 314//235 315//235 313//235 f 316//236 319//236 315//236 f 320//237 317//237 319//237 f 318//238 313//238 317//238 f 319//239 313//239 315//239 f 316//240 318//240 320//240 f 314//235 316//235 315//235 f 316//236 320//236 319//236 f 320//237 318//237 317//237 f 318//238 314//238 313//238 f 319//239 317//239 313//239 f 316//240 314//240 318//240 o Cube.052_Cube.055 v 0.100063 1.899936 1.600000 v -0.099937 1.899936 1.600000 v 0.100063 1.899936 1.400000 v -0.099937 1.899936 1.400000 v 0.100063 2.099936 1.600000 v -0.099937 2.099936 1.600000 v 0.100063 2.099936 1.400000 v -0.099937 2.099936 1.400000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 322//241 323//241 321//241 f 324//242 327//242 323//242 f 328//243 325//243 327//243 f 326//244 321//244 325//244 f 327//245 321//245 323//245 f 324//246 326//246 328//246 f 322//241 324//241 323//241 f 324//242 328//242 327//242 f 328//243 326//243 325//243 f 326//244 322//244 321//244 f 327//245 325//245 321//245 f 324//246 322//246 326//246 o Cube.051_Cube.054 v 0.100063 1.899936 2.100000 v -0.099937 1.899936 2.100000 v 0.100063 1.899936 1.900000 v -0.099937 1.899936 1.900000 v 0.100063 2.099936 2.100000 v -0.099937 2.099936 2.100000 v 0.100063 2.099936 1.900000 v -0.099937 2.099936 1.900000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Z s off f 330//247 331//247 329//247 f 332//248 335//248 331//248 f 336//249 333//249 335//249 f 334//250 329//250 333//250 f 335//251 329//251 331//251 f 332//252 334//252 336//252 f 330//247 332//247 331//247 f 332//248 336//248 335//248 f 336//249 334//249 333//249 f 334//250 330//250 329//250 f 335//251 333//251 329//251 f 332//252 330//252 334//252 o Cube.050_Cube.053 v 0.100063 1.399936 2.100000 v -0.099937 1.399936 2.100000 v 0.100063 1.399936 1.900000 v -0.099937 1.399936 1.900000 v 0.100063 1.599936 2.100000 v -0.099937 1.599936 2.100000 v 0.100063 1.599936 1.900000 v -0.099937 1.599936 1.900000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 -0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 338//253 339//253 337//253 f 340//254 343//254 339//254 f 344//255 341//255 343//255 f 342//256 337//256 341//256 f 343//257 337//257 339//257 f 340//258 342//258 344//258 f 338//253 340//253 339//253 f 340//254 344//254 343//254 f 344//255 342//255 341//255 f 342//256 338//256 337//256 f 343//257 341//257 337//257 f 340//258 338//258 342//258 o Cube.049_Cube.052 v 0.100063 0.899936 2.100000 v -0.099937 0.899936 2.100000 v 0.100063 0.899936 1.900000 v -0.099937 0.899936 1.900000 v 0.100064 1.099936 2.100000 v -0.099937 1.099937 2.100000 v 0.100064 1.099936 1.900000 v -0.099937 1.099937 1.900000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 346//259 347//259 345//259 f 348//260 351//260 347//260 f 352//261 349//261 351//261 f 349//262 346//262 345//262 f 351//263 345//263 347//263 f 348//264 350//264 352//264 f 346//259 348//259 347//259 f 348//260 352//260 351//260 f 352//261 350//261 349//261 f 349//262 350//262 346//262 f 351//263 349//263 345//263 f 348//264 346//264 350//264 o Cube.048_Cube.051 v 0.100063 0.399936 2.100000 v -0.099937 0.399936 2.100000 v 0.100063 0.399936 1.900000 v -0.099937 0.399936 1.900000 v 0.100064 0.599936 2.100000 v -0.099937 0.599937 2.100000 v 0.100064 0.599936 1.900000 v -0.099937 0.599937 1.900000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000 usemtl Cube s off f 354//265 355//265 353//265 f 356//266 359//266 355//266 f 360//267 357//267 359//267 f 357//268 354//268 353//268 f 359//269 353//269 355//269 f 356//270 358//270 360//270 f 354//265 356//265 355//265 f 356//266 360//266 359//266 f 360//267 358//267 357//267 f 357//268 358//268 354//268 f 359//269 357//269 353//269 f 356//270 354//270 358//270 o Cube.032_Cube.033 v -0.399864 -0.100000 1.900000 v -0.399864 0.100000 1.900000 v -0.399864 -0.100000 2.100000 v -0.399864 0.100000 2.100000 v -0.599864 -0.100000 1.900000 v -0.599864 0.100000 1.900000 v -0.599864 -0.100000 2.100000 v -0.599864 0.100000 2.100000 vn 1.0000 0.0000 -0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 362//271 363//271 361//271 f 364//272 367//272 363//272 f 368//273 365//273 367//273 f 366//274 361//274 365//274 f 363//275 365//275 361//275 f 364//276 366//276 368//276 f 362//271 364//271 363//271 f 364//272 368//272 367//272 f 368//273 366//273 365//273 f 366//274 362//274 361//274 f 363//275 367//275 365//275 f 364//276 362//276 366//276 o Cube.031_Cube.032 v -0.899864 -0.100000 1.900000 v -0.899864 0.100000 1.900000 v -0.899864 -0.100000 2.100000 v -0.899864 0.100000 2.100000 v -1.099864 -0.100000 1.900000 v -1.099864 0.100000 1.900000 v -1.099864 -0.100000 2.100000 v -1.099864 0.100000 2.100000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 370//277 371//277 369//277 f 372//278 375//278 371//278 f 376//279 373//279 375//279 f 374//280 369//280 373//280 f 371//281 373//281 369//281 f 372//282 374//282 376//282 f 370//277 372//277 371//277 f 372//278 376//278 375//278 f 376//279 374//279 373//279 f 374//280 370//280 369//280 f 371//281 375//281 373//281 f 372//282 370//282 374//282 o Cube.030_Cube.031 v -1.399864 -0.100000 1.900000 v -1.399864 0.100000 1.900000 v -1.399864 -0.100000 2.100000 v -1.399864 0.100000 2.100000 v -1.599864 -0.100000 1.900000 v -1.599864 0.100000 1.900000 v -1.599864 -0.100000 2.100000 v -1.599864 0.100000 2.100000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 378//283 379//283 377//283 f 380//284 383//284 379//284 f 384//285 381//285 383//285 f 382//286 377//286 381//286 f 379//287 381//287 377//287 f 380//288 382//288 384//288 f 378//283 380//283 379//283 f 380//284 384//284 383//284 f 384//285 382//285 381//285 f 382//286 378//286 377//286 f 379//287 383//287 381//287 f 380//288 378//288 382//288 o Cube.029_Cube.030 v -1.899864 -0.100000 1.900000 v -1.899864 0.100000 1.900000 v -1.899864 -0.100000 2.100000 v -1.899864 0.100000 2.100000 v -2.099864 -0.100000 1.900000 v -2.099864 0.100000 1.900000 v -2.099864 -0.100000 2.100000 v -2.099864 0.100000 2.100000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 386//289 387//289 385//289 f 388//290 391//290 387//290 f 392//291 389//291 391//291 f 390//292 385//292 389//292 f 391//293 385//293 387//293 f 388//294 390//294 392//294 f 386//289 388//289 387//289 f 388//290 392//290 391//290 f 392//291 390//291 389//291 f 390//292 386//292 385//292 f 391//293 389//293 385//293 f 388//294 386//294 390//294 o Cube.028_Cube.029 v -1.899864 -0.100000 1.400000 v -1.899864 0.100000 1.400000 v -1.899864 -0.100000 1.600000 v -1.899864 0.100000 1.600000 v -2.099864 -0.100000 1.400000 v -2.099864 0.100000 1.400000 v -2.099864 -0.100000 1.600000 v -2.099864 0.100000 1.600000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 394//295 395//295 393//295 f 396//296 399//296 395//296 f 400//297 397//297 399//297 f 398//298 393//298 397//298 f 399//299 393//299 395//299 f 396//300 398//300 400//300 f 394//295 396//295 395//295 f 396//296 400//296 399//296 f 400//297 398//297 397//297 f 398//298 394//298 393//298 f 399//299 397//299 393//299 f 396//300 394//300 398//300 o Cube.027_Cube.028 v -1.899865 -0.100000 0.900000 v -1.899865 0.100000 0.900000 v -1.899865 -0.100000 1.100000 v -1.899865 0.100000 1.100000 v -2.099865 -0.100000 0.900000 v -2.099865 0.100000 0.900000 v -2.099864 -0.100000 1.100000 v -2.099864 0.100000 1.100000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 402//301 403//301 401//301 f 404//302 407//302 403//302 f 408//303 405//303 407//303 f 406//304 401//304 405//304 f 407//305 401//305 403//305 f 408//306 402//306 406//306 f 402//301 404//301 403//301 f 404//302 408//302 407//302 f 408//303 406//303 405//303 f 406//304 402//304 401//304 f 407//305 405//305 401//305 f 408//306 404//306 402//306 o Cube.026_Cube.027 v -1.899865 -0.100000 0.400000 v -1.899865 0.100000 0.400000 v -1.899865 -0.100000 0.600000 v -1.899865 0.100000 0.600000 v -2.099865 -0.100000 0.400000 v -2.099865 0.100000 0.400000 v -2.099864 -0.100000 0.600000 v -2.099864 0.100000 0.600000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn -0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 410//307 411//307 409//307 f 412//308 415//308 411//308 f 416//309 413//309 415//309 f 414//310 409//310 413//310 f 415//311 409//311 411//311 f 416//312 410//312 414//312 f 410//307 412//307 411//307 f 412//308 416//308 415//308 f 416//309 414//309 413//309 f 414//310 410//310 409//310 f 415//311 413//311 409//311 f 416//312 412//312 410//312 o Cube.025_Cube.026 v -1.899865 -0.100000 -0.100000 v -1.899865 0.100000 -0.100000 v -1.899865 -0.100000 0.100000 v -1.899865 0.100000 0.100000 v -2.099865 -0.100000 -0.100000 v -2.099865 0.100000 -0.100000 v -2.099864 -0.100000 0.100000 v -2.099864 0.100000 0.100000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn -0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 418//313 419//313 417//313 f 420//314 423//314 419//314 f 424//315 421//315 423//315 f 422//316 417//316 421//316 f 423//317 417//317 419//317 f 424//318 418//318 422//318 f 418//313 420//313 419//313 f 420//314 424//314 423//314 f 424//315 422//315 421//315 f 422//316 418//316 417//316 f 423//317 421//317 417//317 f 424//318 420//318 418//318 o Cube.024_Cube.025 v -1.899865 -0.100000 -0.600000 v -1.899865 0.100000 -0.600000 v -1.899865 -0.100000 -0.400000 v -1.899865 0.100000 -0.400000 v -2.099865 -0.100000 -0.600000 v -2.099865 0.100000 -0.600000 v -2.099864 -0.100000 -0.400000 v -2.099864 0.100000 -0.400000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn -0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 426//319 427//319 425//319 f 428//320 431//320 427//320 f 432//321 429//321 431//321 f 430//322 425//322 429//322 f 431//323 425//323 427//323 f 432//324 426//324 430//324 f 426//319 428//319 427//319 f 428//320 432//320 431//320 f 432//321 430//321 429//321 f 430//322 426//322 425//322 f 431//323 429//323 425//323 f 432//324 428//324 426//324 o Cube.023_Cube.024 v -1.899865 -0.100000 -1.100000 v -1.899865 0.100000 -1.100000 v -1.899865 -0.100000 -0.900000 v -1.899865 0.100000 -0.900000 v -2.099865 -0.100000 -1.100000 v -2.099865 0.100000 -1.100000 v -2.099864 -0.100000 -0.900000 v -2.099864 0.100000 -0.900000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 434//325 435//325 433//325 f 436//326 439//326 435//326 f 440//327 437//327 439//327 f 438//328 433//328 437//328 f 439//329 433//329 435//329 f 440//330 434//330 438//330 f 434//325 436//325 435//325 f 436//326 440//326 439//326 f 440//327 438//327 437//327 f 438//328 434//328 433//328 f 439//329 437//329 433//329 f 440//330 436//330 434//330 o Cube.022_Cube.023 v -1.899865 -0.100000 -1.600000 v -1.899865 0.100000 -1.600000 v -1.899865 -0.100000 -1.400000 v -1.899865 0.100000 -1.400000 v -2.099865 -0.100000 -1.600000 v -2.099865 0.100000 -1.600000 v -2.099865 -0.100000 -1.400000 v -2.099865 0.100000 -1.400000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 442//331 443//331 441//331 f 444//332 447//332 443//332 f 448//333 445//333 447//333 f 446//334 441//334 445//334 f 447//335 441//335 443//335 f 444//336 446//336 448//336 f 442//331 444//331 443//331 f 444//332 448//332 447//332 f 448//333 446//333 445//333 f 446//334 442//334 441//334 f 447//335 445//335 441//335 f 444//336 442//336 446//336 o Cube.021_Cube.022 v -1.899865 -0.100000 -2.100000 v -1.899865 0.100000 -2.100000 v -1.899865 -0.100000 -1.900000 v -1.899865 0.100000 -1.900000 v -2.099865 -0.100000 -2.100000 v -2.099865 0.100000 -2.100000 v -2.099865 -0.100000 -1.900000 v -2.099865 0.100000 -1.900000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 450//337 451//337 449//337 f 452//338 455//338 451//338 f 456//339 453//339 455//339 f 454//340 449//340 453//340 f 451//341 453//341 449//341 f 456//342 450//342 454//342 f 450//337 452//337 451//337 f 452//338 456//338 455//338 f 456//339 454//339 453//339 f 454//340 450//340 449//340 f 451//341 455//341 453//341 f 456//342 452//342 450//342 o Cube.020_Cube.021 v -1.399865 -0.100000 -2.100000 v -1.399865 0.100000 -2.100000 v -1.399865 -0.100000 -1.900000 v -1.399865 0.100000 -1.900000 v -1.599865 -0.100000 -2.100000 v -1.599865 0.100000 -2.100000 v -1.599865 -0.100000 -1.900000 v -1.599865 0.100000 -1.900000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 458//343 459//343 457//343 f 460//344 463//344 459//344 f 464//345 461//345 463//345 f 462//346 457//346 461//346 f 459//347 461//347 457//347 f 460//348 462//348 464//348 f 458//343 460//343 459//343 f 460//344 464//344 463//344 f 464//345 462//345 461//345 f 462//346 458//346 457//346 f 459//347 463//347 461//347 f 460//348 458//348 462//348 o Cube.019_Cube.020 v -0.899865 -0.100000 -2.100000 v -0.899865 0.100000 -2.100000 v -0.899865 -0.100000 -1.900000 v -0.899865 0.100000 -1.900000 v -1.099865 -0.100000 -2.100000 v -1.099865 0.100000 -2.100000 v -1.099865 -0.100000 -1.900000 v -1.099865 0.100000 -1.900000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 466//349 467//349 465//349 f 468//350 471//350 467//350 f 472//351 469//351 471//351 f 470//352 465//352 469//352 f 467//353 469//353 465//353 f 468//354 470//354 472//354 f 466//349 468//349 467//349 f 468//350 472//350 471//350 f 472//351 470//351 469//351 f 470//352 466//352 465//352 f 467//353 471//353 469//353 f 468//354 466//354 470//354 o Cube.018_Cube.019 v -0.399865 -0.100000 -2.100000 v -0.399865 0.100000 -2.100000 v -0.399865 -0.100000 -1.900000 v -0.399865 0.100000 -1.900000 v -0.599865 -0.100000 -2.100000 v -0.599865 0.100000 -2.100000 v -0.599865 -0.100000 -1.900000 v -0.599865 0.100000 -1.900000 vn 1.0000 0.0000 -0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 474//355 475//355 473//355 f 476//356 479//356 475//356 f 480//357 477//357 479//357 f 478//358 473//358 477//358 f 475//359 477//359 473//359 f 476//360 478//360 480//360 f 474//355 476//355 475//355 f 476//356 480//356 479//356 f 480//357 478//357 477//357 f 478//358 474//358 473//358 f 475//359 479//359 477//359 f 476//360 474//360 478//360 o Cube.016_Cube.017 v -0.100000 -0.100000 2.100000 v -0.100000 0.100000 2.100000 v -0.100000 -0.100000 1.900000 v -0.100000 0.100000 1.900000 v 0.100000 -0.100000 2.100000 v 0.100000 0.100000 2.100000 v 0.100000 -0.100000 1.900000 v 0.100000 0.100000 1.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 482//361 483//361 481//361 f 484//362 487//362 483//362 f 488//363 485//363 487//363 f 486//364 481//364 485//364 f 487//365 481//365 483//365 f 484//366 486//366 488//366 f 482//361 484//361 483//361 f 484//362 488//362 487//362 f 488//363 486//363 485//363 f 486//364 482//364 481//364 f 487//365 485//365 481//365 f 484//366 482//366 486//366 o Cube.015_Cube.016 v 0.400000 -0.100000 2.100000 v 0.400000 0.100000 2.100000 v 0.400000 -0.100000 1.900000 v 0.400000 0.100000 1.900000 v 0.600000 -0.100000 2.100000 v 0.600000 0.100000 2.100000 v 0.600000 -0.100000 1.900000 v 0.600000 0.100000 1.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 490//367 491//367 489//367 f 492//368 495//368 491//368 f 496//369 493//369 495//369 f 494//370 489//370 493//370 f 495//371 489//371 491//371 f 492//372 494//372 496//372 f 490//367 492//367 491//367 f 492//368 496//368 495//368 f 496//369 494//369 493//369 f 494//370 490//370 489//370 f 495//371 493//371 489//371 f 492//372 490//372 494//372 o Cube.014_Cube.015 v 0.900000 -0.100000 2.100000 v 0.900000 0.100000 2.100000 v 0.900000 -0.100000 1.900000 v 0.900000 0.100000 1.900000 v 1.100000 -0.100000 2.100000 v 1.100000 0.100000 2.100000 v 1.100000 -0.100000 1.900000 v 1.100000 0.100000 1.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 498//373 499//373 497//373 f 500//374 503//374 499//374 f 504//375 501//375 503//375 f 502//376 497//376 501//376 f 503//377 497//377 499//377 f 500//378 502//378 504//378 f 498//373 500//373 499//373 f 500//374 504//374 503//374 f 504//375 502//375 501//375 f 502//376 498//376 497//376 f 503//377 501//377 497//377 f 500//378 498//378 502//378 o Cube.013_Cube.014 v 1.400000 -0.100000 2.100000 v 1.400000 0.100000 2.100000 v 1.400000 -0.100000 1.900000 v 1.400000 0.100000 1.900000 v 1.600000 -0.100000 2.100000 v 1.600000 0.100000 2.100000 v 1.600000 -0.100000 1.900000 v 1.600000 0.100000 1.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Cube s off f 506//379 507//379 505//379 f 508//380 511//380 507//380 f 512//381 509//381 511//381 f 510//382 505//382 509//382 f 511//383 505//383 507//383 f 508//384 510//384 512//384 f 506//379 508//379 507//379 f 508//380 512//380 511//380 f 512//381 510//381 509//381 f 510//382 506//382 505//382 f 511//383 509//383 505//383 f 508//384 506//384 510//384 o Cube.012_Cube.013 v 1.900000 -0.100000 2.100000 v 1.900000 0.100000 2.100000 v 1.900000 -0.100000 1.900000 v 1.900000 0.100000 1.900000 v 2.100000 -0.100000 2.100000 v 2.100000 0.100000 2.100000 v 2.100000 -0.100000 1.900000 v 2.100000 0.100000 1.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 514//385 515//385 513//385 f 516//386 519//386 515//386 f 520//387 517//387 519//387 f 518//388 513//388 517//388 f 519//389 513//389 515//389 f 516//390 518//390 520//390 f 514//385 516//385 515//385 f 516//386 520//386 519//386 f 520//387 518//387 517//387 f 518//388 514//388 513//388 f 519//389 517//389 513//389 f 516//390 514//390 518//390 o Cube.011_Cube.012 v 1.900000 -0.100000 1.600000 v 1.900000 0.100000 1.600000 v 1.900000 -0.100000 1.400000 v 1.900000 0.100000 1.400000 v 2.100000 -0.100000 1.600000 v 2.100000 0.100000 1.600000 v 2.100000 -0.100000 1.400000 v 2.100000 0.100000 1.400000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 522//391 523//391 521//391 f 524//392 527//392 523//392 f 528//393 525//393 527//393 f 526//394 521//394 525//394 f 527//395 521//395 523//395 f 524//396 526//396 528//396 f 522//391 524//391 523//391 f 524//392 528//392 527//392 f 528//393 526//393 525//393 f 526//394 522//394 521//394 f 527//395 525//395 521//395 f 524//396 522//396 526//396 o Cube.010_Cube.011 v 1.900000 -0.100000 1.100000 v 1.900000 0.100000 1.100000 v 1.900000 -0.100000 0.900000 v 1.900000 0.100000 0.900000 v 2.100000 -0.100000 1.100000 v 2.100000 0.100000 1.100000 v 2.100000 -0.100000 0.900000 v 2.100000 0.100000 0.900000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 530//397 531//397 529//397 f 532//398 535//398 531//398 f 536//399 533//399 535//399 f 534//400 529//400 533//400 f 535//401 529//401 531//401 f 532//402 534//402 536//402 f 530//397 532//397 531//397 f 532//398 536//398 535//398 f 536//399 534//399 533//399 f 534//400 530//400 529//400 f 535//401 533//401 529//401 f 532//402 530//402 534//402 o Cube.009_Cube.010 v 1.900000 -0.100000 0.600000 v 1.900000 0.100000 0.600000 v 1.900000 -0.100000 0.400000 v 1.900000 0.100000 0.400000 v 2.100000 -0.100000 0.600000 v 2.100000 0.100000 0.600000 v 2.100000 -0.100000 0.400000 v 2.100000 0.100000 0.400000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 538//403 539//403 537//403 f 540//404 543//404 539//404 f 544//405 541//405 543//405 f 542//406 537//406 541//406 f 543//407 537//407 539//407 f 540//408 542//408 544//408 f 538//403 540//403 539//403 f 540//404 544//404 543//404 f 544//405 542//405 541//405 f 542//406 538//406 537//406 f 543//407 541//407 537//407 f 540//408 538//408 542//408 o Cube.008_Cube.009 v 1.900000 -0.100000 0.100000 v 1.900000 0.100000 0.100000 v 1.900000 -0.100000 -0.100000 v 1.900000 0.100000 -0.100000 v 2.100000 -0.100000 0.100000 v 2.100000 0.100000 0.100000 v 2.100000 -0.100000 -0.100000 v 2.100000 0.100000 -0.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 546//409 547//409 545//409 f 548//410 551//410 547//410 f 552//411 549//411 551//411 f 550//412 545//412 549//412 f 551//413 545//413 547//413 f 548//414 550//414 552//414 f 546//409 548//409 547//409 f 548//410 552//410 551//410 f 552//411 550//411 549//411 f 550//412 546//412 545//412 f 551//413 549//413 545//413 f 548//414 546//414 550//414 o Cube.007_Cube.008 v 1.900000 -0.100000 -0.400000 v 1.900000 0.100000 -0.400000 v 1.900000 -0.100000 -0.600000 v 1.900000 0.100000 -0.600000 v 2.100000 -0.100000 -0.400000 v 2.100000 0.100000 -0.400000 v 2.100000 -0.100000 -0.600000 v 2.100000 0.100000 -0.600000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 554//415 555//415 553//415 f 556//416 559//416 555//416 f 560//417 557//417 559//417 f 558//418 553//418 557//418 f 559//419 553//419 555//419 f 556//420 558//420 560//420 f 554//415 556//415 555//415 f 556//416 560//416 559//416 f 560//417 558//417 557//417 f 558//418 554//418 553//418 f 559//419 557//419 553//419 f 556//420 554//420 558//420 o Cube.006_Cube.007 v 1.900000 -0.100000 -0.900000 v 1.900000 0.100000 -0.900000 v 1.900000 -0.100000 -1.100000 v 1.900000 0.100000 -1.100000 v 2.100000 -0.100000 -0.900000 v 2.100000 0.100000 -0.900000 v 2.100000 -0.100000 -1.100000 v 2.100000 0.100000 -1.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 562//421 563//421 561//421 f 564//422 567//422 563//422 f 568//423 565//423 567//423 f 566//424 561//424 565//424 f 567//425 561//425 563//425 f 564//426 566//426 568//426 f 562//421 564//421 563//421 f 564//422 568//422 567//422 f 568//423 566//423 565//423 f 566//424 562//424 561//424 f 567//425 565//425 561//425 f 564//426 562//426 566//426 o Cube.005_Cube.006 v 1.900000 -0.100000 -1.400000 v 1.900000 0.100000 -1.400000 v 1.900000 -0.100000 -1.600000 v 1.900000 0.100000 -1.600000 v 2.100000 -0.100000 -1.400000 v 2.100000 0.100000 -1.400000 v 2.100000 -0.100000 -1.600000 v 2.100000 0.100000 -1.600000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl X s off f 570//427 571//427 569//427 f 572//428 575//428 571//428 f 576//429 573//429 575//429 f 574//430 569//430 573//430 f 575//431 569//431 571//431 f 572//432 574//432 576//432 f 570//427 572//427 571//427 f 572//428 576//428 575//428 f 576//429 574//429 573//429 f 574//430 570//430 569//430 f 575//431 573//431 569//431 f 572//432 570//432 574//432 o Cube.004_Cube.005 v 1.900000 -0.100000 -1.900000 v 1.900000 0.100000 -1.900000 v 1.900000 -0.100000 -2.100000 v 1.900000 0.100000 -2.100000 v 2.100000 -0.100000 -1.900000 v 2.100000 0.100000 -1.900000 v 2.100000 -0.100000 -2.100000 v 2.100000 0.100000 -2.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 578//433 579//433 577//433 f 580//434 583//434 579//434 f 584//435 581//435 583//435 f 582//436 577//436 581//436 f 583//437 577//437 579//437 f 580//438 582//438 584//438 f 578//433 580//433 579//433 f 580//434 584//434 583//434 f 584//435 582//435 581//435 f 582//436 578//436 577//436 f 583//437 581//437 577//437 f 580//438 578//438 582//438 o Cube.003_Cube.004 v 1.400000 -0.100000 -1.900000 v 1.400000 0.100000 -1.900000 v 1.400000 -0.100000 -2.100000 v 1.400000 0.100000 -2.100000 v 1.600000 -0.100000 -1.900000 v 1.600000 0.100000 -1.900000 v 1.600000 -0.100000 -2.100000 v 1.600000 0.100000 -2.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 586//439 587//439 585//439 f 588//440 591//440 587//440 f 592//441 589//441 591//441 f 590//442 585//442 589//442 f 591//443 585//443 587//443 f 588//444 590//444 592//444 f 586//439 588//439 587//439 f 588//440 592//440 591//440 f 592//441 590//441 589//441 f 590//442 586//442 585//442 f 591//443 589//443 585//443 f 588//444 586//444 590//444 o Cube.002_Cube.003 v 0.900000 -0.100000 -1.900000 v 0.900000 0.100000 -1.900000 v 0.900000 -0.100000 -2.100000 v 0.900000 0.100000 -2.100000 v 1.100000 -0.100000 -1.900000 v 1.100000 0.100000 -1.900000 v 1.100000 -0.100000 -2.100000 v 1.100000 0.100000 -2.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 594//445 595//445 593//445 f 596//446 599//446 595//446 f 600//447 597//447 599//447 f 598//448 593//448 597//448 f 599//449 593//449 595//449 f 596//450 598//450 600//450 f 594//445 596//445 595//445 f 596//446 600//446 599//446 f 600//447 598//447 597//447 f 598//448 594//448 593//448 f 599//449 597//449 593//449 f 596//450 594//450 598//450 o Cube.001_Cube.002 v 0.400000 -0.100000 -1.900000 v 0.400000 0.100000 -1.900000 v 0.400000 -0.100000 -2.100000 v 0.400000 0.100000 -2.100000 v 0.600000 -0.100000 -1.900000 v 0.600000 0.100000 -1.900000 v 0.600000 -0.100000 -2.100000 v 0.600000 0.100000 -2.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 602//451 603//451 601//451 f 604//452 607//452 603//452 f 608//453 605//453 607//453 f 606//454 601//454 605//454 f 607//455 601//455 603//455 f 604//456 606//456 608//456 f 602//451 604//451 603//451 f 604//452 608//452 607//452 f 608//453 606//453 605//453 f 606//454 602//454 601//454 f 607//455 605//455 601//455 f 604//456 602//456 606//456 o Cube_Cube.001 v -0.100000 -0.100000 -1.900000 v -0.100000 0.100000 -1.900000 v -0.100000 -0.100000 -2.100000 v -0.100000 0.100000 -2.100000 v 0.100000 -0.100000 -1.900000 v 0.100000 0.100000 -1.900000 v 0.100000 -0.100000 -2.100000 v 0.100000 0.100000 -2.100000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 1.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 usemtl Y s off f 610//457 611//457 609//457 f 612//458 615//458 611//458 f 616//459 613//459 615//459 f 614//460 609//460 613//460 f 615//461 609//461 611//461 f 612//462 614//462 616//462 f 610//457 612//457 611//457 f 612//458 616//458 615//458 f 616//459 614//459 613//459 f 614//460 610//460 609//460 f 615//461 613//461 609//461 f 612//462 610//462 614//462 o X_Cone.002 v 0.075599 -0.005293 -0.052574 v 0.075599 -0.015047 -0.051613 v 0.075599 -0.024427 -0.048768 v 0.075599 -0.033071 -0.044147 v 0.075599 -0.040648 -0.037929 v 0.075599 -0.046866 -0.030352 v 0.075599 -0.051487 -0.021708 v 0.075599 -0.054332 -0.012328 v 0.075599 -0.055293 -0.002574 v 0.175599 -0.005293 -0.002574 v 0.075599 -0.054332 0.007181 v 0.075599 -0.051487 0.016561 v 0.075599 -0.046866 0.025205 v 0.075599 -0.040648 0.032782 v 0.075599 -0.033071 0.039000 v 0.075599 -0.024427 0.043620 v 0.075599 -0.015047 0.046466 v 0.075599 -0.005293 0.047426 v 0.075599 0.004462 0.046466 v 0.075599 0.013841 0.043620 v 0.075599 0.022486 0.039000 v 0.075599 0.030063 0.032782 v 0.075599 0.036281 0.025205 v 0.075599 0.040901 0.016561 v 0.075599 0.043746 0.007181 v 0.075599 0.044707 -0.002574 v 0.075599 0.043746 -0.012328 v 0.075599 0.040901 -0.021708 v 0.075599 0.036281 -0.030352 v 0.075599 0.030063 -0.037929 v 0.075599 0.022486 -0.044147 v 0.075599 0.013841 -0.048768 v 0.075599 0.004462 -0.051613 vn -0.5033 0.0000 -0.8641 vn 1.0000 0.0000 0.0000 vn -0.5033 -0.1686 -0.8475 vn -0.5033 -0.3307 -0.7983 vn -0.5033 -0.4801 -0.7185 vn -0.5033 -0.6110 -0.6110 vn -0.5033 -0.7185 -0.4801 vn -0.5033 -0.7983 -0.3307 vn -0.5033 -0.8475 -0.1686 vn -0.5033 -0.8641 0.0000 vn -0.5033 -0.8475 0.1686 vn -0.5033 -0.7983 0.3307 vn -0.5033 -0.7185 0.4801 vn -0.5033 -0.6110 0.6110 vn -0.5033 -0.4801 0.7185 vn -0.5033 -0.3307 0.7983 vn -0.5033 -0.1686 0.8475 vn -0.5033 0.0000 0.8641 vn -0.5033 0.1686 0.8475 vn -0.5033 0.3307 0.7983 vn -0.5033 0.4801 0.7185 vn -0.5033 0.6110 0.6110 vn -0.5033 0.7185 0.4801 vn -0.5033 0.7983 0.3307 vn -0.5033 0.8475 0.1686 vn -0.5033 0.8641 0.0000 vn -0.5033 0.8475 -0.1686 vn -0.5033 0.7983 -0.3307 vn -0.5033 0.7185 -0.4801 vn -0.5033 0.6110 -0.6110 vn -0.5033 0.4801 -0.7185 vn -0.5033 0.3307 -0.7983 vn -0.5033 0.1686 -0.8475 usemtl X s 1 f 617//463 626//464 618//465 f 618//465 626//464 619//466 f 619//466 626//464 620//467 f 620//467 626//464 621//468 f 621//468 626//464 622//469 f 622//469 626//464 623//470 f 623//470 626//464 624//471 f 624//471 626//464 625//472 f 625//472 626//464 627//473 f 627//473 626//464 628//474 f 628//474 626//464 629//475 f 629//475 626//464 630//476 f 630//476 626//464 631//477 f 631//477 626//464 632//478 f 632//478 626//464 633//479 f 633//479 626//464 634//480 f 634//480 626//464 635//481 f 635//481 626//464 636//482 f 636//482 626//464 637//483 f 637//483 626//464 638//484 f 638//484 626//464 639//485 f 639//485 626//464 640//486 f 640//486 626//464 641//487 f 641//487 626//464 642//488 f 642//488 626//464 643//489 f 643//489 626//464 644//490 f 644//490 626//464 645//491 f 645//491 626//464 646//492 f 646//492 626//464 647//493 f 647//493 626//464 648//494 f 648//494 626//464 649//495 f 649//495 626//464 617//463 f 637//483 641//487 649//495 f 649//495 617//463 618//465 f 618//465 619//466 620//467 f 620//467 621//468 622//469 f 622//469 623//470 620//467 f 624//471 625//472 627//473 f 627//473 628//474 624//471 f 629//475 630//476 631//477 f 631//477 632//478 633//479 f 633//479 634//480 635//481 f 635//481 636//482 637//483 f 637//483 638//484 641//487 f 639//485 640//486 641//487 f 641//487 642//488 643//489 f 643//489 644//490 641//487 f 645//491 646//492 647//493 f 647//493 648//494 649//495 f 649//495 618//465 624//471 f 620//467 623//470 624//471 f 624//471 628//474 629//475 f 629//475 631//477 633//479 f 633//479 635//481 637//483 f 638//484 639//485 641//487 f 641//487 644//490 645//491 f 645//491 647//493 641//487 f 618//465 620//467 624//471 f 624//471 629//475 633//479 f 633//479 637//483 649//495 f 641//487 647//493 649//495 f 649//495 624//471 633//479 o Z_Cone.001 v 0.000599 -0.057998 -0.052574 v 0.010353 -0.057998 -0.051613 v 0.019733 -0.057998 -0.048768 v 0.028377 -0.057998 -0.044147 v 0.035954 -0.057998 -0.037929 v 0.042172 -0.057998 -0.030352 v 0.046793 -0.057998 -0.021708 v 0.049638 -0.057998 -0.012328 v 0.050599 -0.057998 -0.002574 v 0.000599 0.042002 -0.002574 v 0.049638 -0.057998 0.007181 v 0.046793 -0.057998 0.016561 v 0.042172 -0.057998 0.025205 v 0.035954 -0.057998 0.032782 v 0.028377 -0.057998 0.039000 v 0.019733 -0.057998 0.043620 v 0.010353 -0.057998 0.046466 v 0.000599 -0.057998 0.047426 v -0.009156 -0.057998 0.046466 v -0.018535 -0.057998 0.043620 v -0.027180 -0.057998 0.039000 v -0.034756 -0.057998 0.032782 v -0.040975 -0.057998 0.025205 v -0.045595 -0.057998 0.016561 v -0.048440 -0.057998 0.007181 v -0.049401 -0.057998 -0.002574 v -0.048440 -0.057998 -0.012328 v -0.045595 -0.057998 -0.021708 v -0.040975 -0.057998 -0.030352 v -0.034756 -0.057998 -0.037929 v -0.027180 -0.057998 -0.044147 v -0.018535 -0.057998 -0.048768 v -0.009156 -0.057998 -0.051613 vn 0.0000 -0.5033 -0.8641 vn 0.0000 1.0000 0.0000 vn 0.1686 -0.5033 -0.8475 vn 0.3307 -0.5033 -0.7983 vn 0.4801 -0.5033 -0.7185 vn 0.6110 -0.5033 -0.6110 vn 0.7185 -0.5033 -0.4801 vn 0.7983 -0.5033 -0.3307 vn 0.8475 -0.5033 -0.1686 vn 0.8641 -0.5033 0.0000 vn 0.8475 -0.5033 0.1686 vn 0.7983 -0.5033 0.3307 vn 0.7185 -0.5033 0.4801 vn 0.6110 -0.5033 0.6110 vn 0.4801 -0.5033 0.7185 vn 0.3307 -0.5033 0.7983 vn 0.1686 -0.5033 0.8475 vn 0.0000 -0.5033 0.8641 vn -0.1686 -0.5033 0.8475 vn -0.3307 -0.5033 0.7983 vn -0.4801 -0.5033 0.7185 vn -0.6110 -0.5033 0.6110 vn -0.7185 -0.5033 0.4801 vn -0.7983 -0.5033 0.3307 vn -0.8475 -0.5033 0.1686 vn -0.8641 -0.5033 0.0000 vn -0.8475 -0.5033 -0.1686 vn -0.7983 -0.5033 -0.3307 vn -0.7185 -0.5033 -0.4801 vn -0.6110 -0.5033 -0.6110 vn -0.4801 -0.5033 -0.7185 vn -0.3307 -0.5033 -0.7983 vn -0.1686 -0.5033 -0.8475 usemtl Z s 1 f 650//496 659//497 651//498 f 651//498 659//497 652//499 f 652//499 659//497 653//500 f 653//500 659//497 654//501 f 654//501 659//497 655//502 f 655//502 659//497 656//503 f 656//503 659//497 657//504 f 657//504 659//497 658//505 f 658//505 659//497 660//506 f 660//506 659//497 661//507 f 661//507 659//497 662//508 f 662//508 659//497 663//509 f 663//509 659//497 664//510 f 664//510 659//497 665//511 f 665//511 659//497 666//512 f 666//512 659//497 667//513 f 667//513 659//497 668//514 f 668//514 659//497 669//515 f 669//515 659//497 670//516 f 670//516 659//497 671//517 f 671//517 659//497 672//518 f 672//518 659//497 673//519 f 673//519 659//497 674//520 f 674//520 659//497 675//521 f 675//521 659//497 676//522 f 676//522 659//497 677//523 f 677//523 659//497 678//524 f 678//524 659//497 679//525 f 679//525 659//497 680//526 f 680//526 659//497 681//527 f 681//527 659//497 682//528 f 682//528 659//497 650//496 f 666//512 674//520 682//528 f 682//528 650//496 651//498 f 651//498 652//499 653//500 f 653//500 654//501 655//502 f 655//502 656//503 657//504 f 657//504 658//505 660//506 f 660//506 661//507 657//504 f 662//508 663//509 664//510 f 664//510 665//511 666//512 f 666//512 667//513 668//514 f 668//514 669//515 670//516 f 670//516 671//517 672//518 f 672//518 673//519 674//520 f 674//520 675//521 676//522 f 676//522 677//523 674//520 f 678//524 679//525 682//528 f 680//526 681//527 682//528 f 682//528 651//498 653//500 f 653//500 655//502 682//528 f 657//504 661//507 662//508 f 662//508 664//510 666//512 f 666//512 668//514 670//516 f 670//516 672//518 674//520 f 674//520 677//523 678//524 f 679//525 680//526 682//528 f 682//528 655//502 657//504 f 657//504 662//508 682//528 f 666//512 670//516 674//520 f 674//520 678//524 682//528 f 682//528 662//508 666//512 o Y_Cone v 0.000599 -0.055293 -0.077574 v 0.010353 -0.054332 -0.077574 v 0.019733 -0.051487 -0.077574 v 0.028377 -0.046866 -0.077574 v 0.035954 -0.040648 -0.077574 v 0.042172 -0.033071 -0.077574 v 0.046793 -0.024427 -0.077574 v 0.049638 -0.015047 -0.077574 v 0.050599 -0.005293 -0.077574 v 0.000599 -0.005293 -0.177574 v 0.049638 0.004462 -0.077574 v 0.046793 0.013841 -0.077574 v 0.042172 0.022486 -0.077574 v 0.035954 0.030063 -0.077574 v 0.028377 0.036281 -0.077574 v 0.019733 0.040901 -0.077574 v 0.010353 0.043746 -0.077574 v 0.000599 0.044707 -0.077574 v -0.009156 0.043746 -0.077574 v -0.018535 0.040901 -0.077574 v -0.027180 0.036281 -0.077574 v -0.034756 0.030063 -0.077574 v -0.040975 0.022486 -0.077574 v -0.045595 0.013841 -0.077574 v -0.048440 0.004462 -0.077574 v -0.049401 -0.005293 -0.077574 v -0.048440 -0.015047 -0.077574 v -0.045595 -0.024427 -0.077574 v -0.040975 -0.033071 -0.077574 v -0.034756 -0.040648 -0.077574 v -0.027180 -0.046866 -0.077574 v -0.018535 -0.051487 -0.077574 v -0.009156 -0.054332 -0.077574 vn 0.0000 -0.8641 0.5033 vn 0.0000 0.0000 -1.0000 vn 0.1686 -0.8475 0.5033 vn 0.3307 -0.7983 0.5033 vn 0.4801 -0.7185 0.5033 vn 0.6110 -0.6110 0.5033 vn 0.7185 -0.4801 0.5033 vn 0.7983 -0.3307 0.5033 vn 0.8475 -0.1686 0.5033 vn 0.8641 0.0000 0.5033 vn 0.8475 0.1686 0.5033 vn 0.7983 0.3307 0.5033 vn 0.7185 0.4801 0.5033 vn 0.6110 0.6110 0.5033 vn 0.4801 0.7185 0.5033 vn 0.3307 0.7983 0.5033 vn 0.1686 0.8475 0.5033 vn 0.0000 0.8641 0.5033 vn -0.1686 0.8475 0.5033 vn -0.3307 0.7983 0.5033 vn -0.4801 0.7185 0.5033 vn -0.6110 0.6110 0.5033 vn -0.7185 0.4801 0.5033 vn -0.7983 0.3307 0.5033 vn -0.8475 0.1686 0.5033 vn -0.8641 0.0000 0.5033 vn -0.8475 -0.1686 0.5033 vn -0.7983 -0.3307 0.5033 vn -0.7185 -0.4801 0.5033 vn -0.6110 -0.6110 0.5033 vn -0.4801 -0.7185 0.5033 vn -0.3307 -0.7983 0.5033 vn -0.1686 -0.8475 0.5033 usemtl Y s 1 f 683//529 692//530 684//531 f 684//531 692//530 685//532 f 685//532 692//530 686//533 f 686//533 692//530 687//534 f 687//534 692//530 688//535 f 688//535 692//530 689//536 f 689//536 692//530 690//537 f 690//537 692//530 691//538 f 691//538 692//530 693//539 f 693//539 692//530 694//540 f 694//540 692//530 695//541 f 695//541 692//530 696//542 f 696//542 692//530 697//543 f 697//543 692//530 698//544 f 698//544 692//530 699//545 f 699//545 692//530 700//546 f 700//546 692//530 701//547 f 701//547 692//530 702//548 f 702//548 692//530 703//549 f 703//549 692//530 704//550 f 704//550 692//530 705//551 f 705//551 692//530 706//552 f 706//552 692//530 707//553 f 707//553 692//530 708//554 f 708//554 692//530 709//555 f 709//555 692//530 710//556 f 710//556 692//530 711//557 f 711//557 692//530 712//558 f 712//558 692//530 713//559 f 713//559 692//530 714//560 f 714//560 692//530 715//561 f 715//561 692//530 683//529 f 699//545 707//553 715//561 f 715//561 683//529 684//531 f 684//531 685//532 686//533 f 686//533 687//534 688//535 f 688//535 689//536 686//533 f 690//537 691//538 693//539 f 693//539 694//540 690//537 f 695//541 696//542 697//543 f 697//543 698//544 699//545 f 699//545 700//546 701//547 f 701//547 702//548 703//549 f 703//549 704//550 705//551 f 705//551 706//552 707//553 f 707//553 708//554 709//555 f 709//555 710//556 707//553 f 711//557 712//558 715//561 f 713//559 714//560 715//561 f 715//561 684//531 690//537 f 686//533 689//536 690//537 f 690//537 694//540 695//541 f 695//541 697//543 699//545 f 699//545 701//547 703//549 f 703//549 705//551 699//545 f 707//553 710//556 711//557 f 712//558 713//559 715//561 f 684//531 686//533 690//537 f 690//537 695//541 715//561 f 699//545 705//551 707//553 f 707//553 711//557 715//561 f 715//561 695//541 699//545 ================================================ FILE: examples/models/BoomBox/README.md ================================================ # Boom Box ## Screenshot ![screenshot](screenshot/screenshot.jpg) ## License Information Donated by Microsoft for glTF testing Created by [Ryan Martin](https://www.linkedin.com/in/ryan-c-martin-techartist) ================================================ FILE: examples/models/BoomBox/glTF/BoomBox.gltf ================================================ { "accessors": [ { "bufferView": 0, "componentType": 5126, "count": 3575, "type": "VEC2", "max": [ 0.9999003, -0.0221377648 ], "min": [ 0.0006585993, -0.996773958 ] }, { "bufferView": 1, "componentType": 5126, "count": 3575, "type": "VEC3", "max": [ 1.0, 1.0, 0.9999782 ], "min": [ -1.0, -1.0, -0.9980823 ] }, { "bufferView": 2, "componentType": 5126, "count": 3575, "type": "VEC4", "max": [ 1.0, 0.9999976, 1.0, 1.0 ], "min": [ -0.9991289, -0.999907851, -1.0, 1.0 ] }, { "bufferView": 3, "componentType": 5126, "count": 3575, "type": "VEC3", "max": [ 0.009921154, 0.00977163, 0.0100762453 ], "min": [ -0.009921154, -0.00977163, -0.0100762453 ] }, { "bufferView": 4, "componentType": 5123, "count": 18108, "type": "SCALAR", "max": [ 3574 ], "min": [ 0 ] } ], "asset": { "generator": "glTF Tools for Unity", "version": "2.0" }, "bufferViews": [ { "buffer": 0, "byteLength": 28600 }, { "buffer": 0, "byteOffset": 28600, "byteLength": 42900 }, { "buffer": 0, "byteOffset": 71500, "byteLength": 57200 }, { "buffer": 0, "byteOffset": 128700, "byteLength": 42900 }, { "buffer": 0, "byteOffset": 171600, "byteLength": 36216 } ], "buffers": [ { "uri": "BoomBox.bin", "byteLength": 207816 } ], "images": [ { "uri": "BoomBox_baseColor.png" }, { "uri": "BoomBox_occlusionRoughnessMetallic.png" }, { "uri": "BoomBox_normal.png" }, { "uri": "BoomBox_emissive.png" } ], "meshes": [ { "primitives": [ { "attributes": { "TEXCOORD_0": 0, "NORMAL": 1, "TANGENT": 2, "POSITION": 3 }, "indices": 4, "material": 0 } ], "name": "BoomBox" } ], "materials": [ { "pbrMetallicRoughness": { "baseColorTexture": { "index": 0 }, "metallicRoughnessTexture": { "index": 1 } }, "normalTexture": { "index": 2 }, "occlusionTexture": { "index": 1 }, "emissiveFactor": [ 1.0, 1.0, 1.0 ], "emissiveTexture": { "index": 3 }, "name": "BoomBox_Mat" } ], "nodes": [ { "mesh": 0, "name": "BoomBox" } ], "scene": 0, "scenes": [ { "nodes": [ 0 ] } ], "textures": [ { "source": 0 }, { "source": 1 }, { "source": 2 }, { "source": 3 } ] } ================================================ FILE: examples/models/BoomBox/glTF-Binary/BoomBox.glb ================================================ [File too large to display: 10.7 MB] ================================================ FILE: examples/models/BoomBox/glTF-pbrSpecularGlossiness/BoomBox.gltf ================================================ { "accessors": [ { "bufferView": 0, "componentType": 5126, "count": 3575, "type": "VEC2", "max": [ 0.9999003, -0.0221377648 ], "min": [ 0.0006585993, -0.996773958 ] }, { "bufferView": 1, "componentType": 5126, "count": 3575, "type": "VEC3", "max": [ 1.0, 1.0, 0.9999782 ], "min": [ -1.0, -1.0, -0.9980823 ] }, { "bufferView": 2, "componentType": 5126, "count": 3575, "type": "VEC4", "max": [ 1.0, 0.9999976, 1.0, 1.0 ], "min": [ -0.9991289, -0.999907851, -1.0, 1.0 ] }, { "bufferView": 3, "componentType": 5126, "count": 3575, "type": "VEC3", "max": [ 0.009921154, 0.00977163, 0.0100762453 ], "min": [ -0.009921154, -0.00977163, -0.0100762453 ] }, { "bufferView": 4, "componentType": 5123, "count": 18108, "type": "SCALAR", "max": [ 3574 ], "min": [ 0 ] } ], "asset": { "generator": "glTF Tools for Unity", "version": "2.0" }, "bufferViews": [ { "buffer": 0, "byteLength": 28600 }, { "buffer": 0, "byteOffset": 28600, "byteLength": 42900 }, { "buffer": 0, "byteOffset": 71500, "byteLength": 57200 }, { "buffer": 0, "byteOffset": 128700, "byteLength": 42900 }, { "buffer": 0, "byteOffset": 171600, "byteLength": 36216 } ], "buffers": [ { "uri": "BoomBox.bin", "byteLength": 207816 } ], "extensionsUsed": [ "KHR_materials_pbrSpecularGlossiness" ], "images": [ { "uri": "BoomBox_baseColor.png" }, { "uri": "BoomBox_roughnessMetallic.png" }, { "uri": "BoomBox_normal.png" }, { "uri": "BoomBox_emissive.png" }, { "uri": "BoomBox_occlusion.png" }, { "uri": "BoomBox_diffuse.png" }, { "uri": "BoomBox_specularGlossiness.png" } ], "meshes": [ { "primitives": [ { "attributes": { "TEXCOORD_0": 0, "NORMAL": 1, "TANGENT": 2, "POSITION": 3 }, "indices": 4, "material": 0 } ], "name": "BoomBox" } ], "materials": [ { "pbrMetallicRoughness": { "baseColorTexture": { "index": 0 }, "metallicRoughnessTexture": { "index": 1 } }, "normalTexture": { "index": 2 }, "occlusionTexture": { "index": 4 }, "emissiveFactor": [ 1.0, 1.0, 1.0 ], "emissiveTexture": { "index": 3 }, "name": "BoomBox_Mat", "extensions": { "KHR_materials_pbrSpecularGlossiness": { "diffuseTexture": { "index": 5 }, "specularGlossinessTexture": { "index": 6 } } } } ], "nodes": [ { "mesh": 0, "name": "BoomBox" } ], "scene": 0, "scenes": [ { "nodes": [ 0 ] } ], "textures": [ { "source": 0 }, { "source": 1 }, { "source": 2 }, { "source": 3 }, { "source": 4 }, { "source": 5 }, { "source": 6 } ] } ================================================ FILE: examples/models/TeapotBufferGeometry.js ================================================ /** * @author Eric Haines / http://erichaines.com/ * * Tessellates the famous Utah teapot database by Martin Newell into triangles. * * THREE.TeapotBufferGeometry = function ( size, segments, bottom, lid, body, fitLid, blinn ) * * defaults: size = 50, segments = 10, bottom = true, lid = true, body = true, * fitLid = false, blinn = true * * size is a relative scale: I've scaled the teapot to fit vertically between -1 and 1. * Think of it as a "radius". * segments - number of line segments to subdivide each patch edge; * 1 is possible but gives degenerates, so two is the real minimum. * bottom - boolean, if true (default) then the bottom patches are added. Some consider * adding the bottom heresy, so set this to "false" to adhere to the One True Way. * lid - to remove the lid and look inside, set to true. * body - to remove the body and leave the lid, set this and "bottom" to false. * fitLid - the lid is a tad small in the original. This stretches it a bit so you can't * see the teapot's insides through the gap. * blinn - Jim Blinn scaled the original data vertically by dividing by about 1.3 to look * nicer. If you want to see the original teapot, similar to the real-world model, set * this to false. True by default. * See http://en.wikipedia.org/wiki/File:Original_Utah_Teapot.jpg for the original * real-world teapot (from http://en.wikipedia.org/wiki/Utah_teapot). * * Note that the bottom (the last four patches) is not flat - blame Frank Crow, not me. * * The teapot should normally be rendered as a double sided object, since for some * patches both sides can be seen, e.g., the gap around the lid and inside the spout. * * Segments 'n' determines the number of triangles output. * Total triangles = 32*2*n*n - 8*n [degenerates at the top and bottom cusps are deleted] * * size_factor # triangles * 1 56 * 2 240 * 3 552 * 4 992 * * 10 6320 * 20 25440 * 30 57360 * * Code converted from my ancient SPD software, http://tog.acm.org/resources/SPD/ * Created for the Udacity course "Interactive Rendering", http://bit.ly/ericity * Lesson: https://www.udacity.com/course/viewer#!/c-cs291/l-68866048/m-106482448 * YouTube video on teapot history: https://www.youtube.com/watch?v=DxMfblPzFNc * * See https://en.wikipedia.org/wiki/Utah_teapot for the history of the teapot * */ /*global THREE */ THREE.TeapotBufferGeometry = function ( size, segments, bottom, lid, body, fitLid, blinn ) { "use strict"; // 32 * 4 * 4 Bezier spline patches var teapotPatches = [ /*rim*/ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 3,16,17,18,7,19,20,21,11,22,23,24,15,25,26,27, 18,28,29,30,21,31,32,33,24,34,35,36,27,37,38,39, 30,40,41,0,33,42,43,4,36,44,45,8,39,46,47,12, /*body*/ 12,13,14,15,48,49,50,51,52,53,54,55,56,57,58,59, 15,25,26,27,51,60,61,62,55,63,64,65,59,66,67,68, 27,37,38,39,62,69,70,71,65,72,73,74,68,75,76,77, 39,46,47,12,71,78,79,48,74,80,81,52,77,82,83,56, 56,57,58,59,84,85,86,87,88,89,90,91,92,93,94,95, 59,66,67,68,87,96,97,98,91,99,100,101,95,102,103,104, 68,75,76,77,98,105,106,107,101,108,109,110,104,111,112,113, 77,82,83,56,107,114,115,84,110,116,117,88,113,118,119,92, /*handle*/ 120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135, 123,136,137,120,127,138,139,124,131,140,141,128,135,142,143,132, 132,133,134,135,144,145,146,147,148,149,150,151,68,152,153,154, 135,142,143,132,147,155,156,144,151,157,158,148,154,159,160,68, /*spout*/ 161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, 164,177,178,161,168,179,180,165,172,181,182,169,176,183,184,173, 173,174,175,176,185,186,187,188,189,190,191,192,193,194,195,196, 176,183,184,173,188,197,198,185,192,199,200,189,196,201,202,193, /*lid*/ 203,203,203,203,204,205,206,207,208,208,208,208,209,210,211,212, 203,203,203,203,207,213,214,215,208,208,208,208,212,216,217,218, 203,203,203,203,215,219,220,221,208,208,208,208,218,222,223,224, 203,203,203,203,221,225,226,204,208,208,208,208,224,227,228,209, 209,210,211,212,229,230,231,232,233,234,235,236,237,238,239,240, 212,216,217,218,232,241,242,243,236,244,245,246,240,247,248,249, 218,222,223,224,243,250,251,252,246,253,254,255,249,256,257,258, 224,227,228,209,252,259,260,229,255,261,262,233,258,263,264,237, /*bottom*/ 265,265,265,265,266,267,268,269,270,271,272,273,92,119,118,113, 265,265,265,265,269,274,275,276,273,277,278,279,113,112,111,104, 265,265,265,265,276,280,281,282,279,283,284,285,104,103,102,95, 265,265,265,265,282,286,287,266,285,288,289,270,95,94,93,92 ] ; var teapotVertices = [ 1.4,0,2.4, 1.4,-0.784,2.4, 0.784,-1.4,2.4, 0,-1.4,2.4, 1.3375,0,2.53125, 1.3375,-0.749,2.53125, 0.749,-1.3375,2.53125, 0,-1.3375,2.53125, 1.4375,0,2.53125, 1.4375,-0.805,2.53125, 0.805,-1.4375,2.53125, 0,-1.4375,2.53125, 1.5,0,2.4, 1.5,-0.84,2.4, 0.84,-1.5,2.4, 0,-1.5,2.4, -0.784,-1.4,2.4, -1.4,-0.784,2.4, -1.4,0,2.4, -0.749,-1.3375,2.53125, -1.3375,-0.749,2.53125, -1.3375,0,2.53125, -0.805,-1.4375,2.53125, -1.4375,-0.805,2.53125, -1.4375,0,2.53125, -0.84,-1.5,2.4, -1.5,-0.84,2.4, -1.5,0,2.4, -1.4,0.784,2.4, -0.784,1.4,2.4, 0,1.4,2.4, -1.3375,0.749,2.53125, -0.749,1.3375,2.53125, 0,1.3375,2.53125, -1.4375,0.805,2.53125, -0.805,1.4375,2.53125, 0,1.4375,2.53125, -1.5,0.84,2.4, -0.84,1.5,2.4, 0,1.5,2.4, 0.784,1.4,2.4, 1.4,0.784,2.4, 0.749,1.3375,2.53125, 1.3375,0.749,2.53125, 0.805,1.4375,2.53125, 1.4375,0.805,2.53125, 0.84,1.5,2.4, 1.5,0.84,2.4, 1.75,0,1.875, 1.75,-0.98,1.875, 0.98,-1.75,1.875, 0,-1.75,1.875, 2,0,1.35, 2,-1.12,1.35, 1.12,-2,1.35, 0,-2,1.35, 2,0,0.9, 2,-1.12,0.9, 1.12,-2,0.9, 0,-2,0.9, -0.98,-1.75,1.875, -1.75,-0.98,1.875, -1.75,0,1.875, -1.12,-2,1.35, -2,-1.12,1.35, -2,0,1.35, -1.12,-2,0.9, -2,-1.12,0.9, -2,0,0.9, -1.75,0.98,1.875, -0.98,1.75,1.875, 0,1.75,1.875, -2,1.12,1.35, -1.12,2,1.35, 0,2,1.35, -2,1.12,0.9, -1.12,2,0.9, 0,2,0.9, 0.98,1.75,1.875, 1.75,0.98,1.875, 1.12,2,1.35, 2,1.12,1.35, 1.12,2,0.9, 2,1.12,0.9, 2,0,0.45, 2,-1.12,0.45, 1.12,-2,0.45, 0,-2,0.45, 1.5,0,0.225, 1.5,-0.84,0.225, 0.84,-1.5,0.225, 0,-1.5,0.225, 1.5,0,0.15, 1.5,-0.84,0.15, 0.84,-1.5,0.15, 0,-1.5,0.15, -1.12,-2,0.45, -2,-1.12,0.45, -2,0,0.45, -0.84,-1.5,0.225, -1.5,-0.84,0.225, -1.5,0,0.225, -0.84,-1.5,0.15, -1.5,-0.84,0.15, -1.5,0,0.15, -2,1.12,0.45, -1.12,2,0.45, 0,2,0.45, -1.5,0.84,0.225, -0.84,1.5,0.225, 0,1.5,0.225, -1.5,0.84,0.15, -0.84,1.5,0.15, 0,1.5,0.15, 1.12,2,0.45, 2,1.12,0.45, 0.84,1.5,0.225, 1.5,0.84,0.225, 0.84,1.5,0.15, 1.5,0.84,0.15, -1.6,0,2.025, -1.6,-0.3,2.025, -1.5,-0.3,2.25, -1.5,0,2.25, -2.3,0,2.025, -2.3,-0.3,2.025, -2.5,-0.3,2.25, -2.5,0,2.25, -2.7,0,2.025, -2.7,-0.3,2.025, -3,-0.3,2.25, -3,0,2.25, -2.7,0,1.8, -2.7,-0.3,1.8, -3,-0.3,1.8, -3,0,1.8, -1.5,0.3,2.25, -1.6,0.3,2.025, -2.5,0.3,2.25, -2.3,0.3,2.025, -3,0.3,2.25, -2.7,0.3,2.025, -3,0.3,1.8, -2.7,0.3,1.8, -2.7,0,1.575, -2.7,-0.3,1.575, -3,-0.3,1.35, -3,0,1.35, -2.5,0,1.125, -2.5,-0.3,1.125, -2.65,-0.3,0.9375, -2.65,0,0.9375, -2,-0.3,0.9, -1.9,-0.3,0.6, -1.9,0,0.6, -3,0.3,1.35, -2.7,0.3,1.575, -2.65,0.3,0.9375, -2.5,0.3,1.125, -1.9,0.3,0.6, -2,0.3,0.9, 1.7,0,1.425, 1.7,-0.66,1.425, 1.7,-0.66,0.6, 1.7,0,0.6, 2.6,0,1.425, 2.6,-0.66,1.425, 3.1,-0.66,0.825, 3.1,0,0.825, 2.3,0,2.1, 2.3,-0.25,2.1, 2.4,-0.25,2.025, 2.4,0,2.025, 2.7,0,2.4, 2.7,-0.25,2.4, 3.3,-0.25,2.4, 3.3,0,2.4, 1.7,0.66,0.6, 1.7,0.66,1.425, 3.1,0.66,0.825, 2.6,0.66,1.425, 2.4,0.25,2.025, 2.3,0.25,2.1, 3.3,0.25,2.4, 2.7,0.25,2.4, 2.8,0,2.475, 2.8,-0.25,2.475, 3.525,-0.25,2.49375, 3.525,0,2.49375, 2.9,0,2.475, 2.9,-0.15,2.475, 3.45,-0.15,2.5125, 3.45,0,2.5125, 2.8,0,2.4, 2.8,-0.15,2.4, 3.2,-0.15,2.4, 3.2,0,2.4, 3.525,0.25,2.49375, 2.8,0.25,2.475, 3.45,0.15,2.5125, 2.9,0.15,2.475, 3.2,0.15,2.4, 2.8,0.15,2.4, 0,0,3.15, 0.8,0,3.15, 0.8,-0.45,3.15, 0.45,-0.8,3.15, 0,-0.8,3.15, 0,0,2.85, 0.2,0,2.7, 0.2,-0.112,2.7, 0.112,-0.2,2.7, 0,-0.2,2.7, -0.45,-0.8,3.15, -0.8,-0.45,3.15, -0.8,0,3.15, -0.112,-0.2,2.7, -0.2,-0.112,2.7, -0.2,0,2.7, -0.8,0.45,3.15, -0.45,0.8,3.15, 0,0.8,3.15, -0.2,0.112,2.7, -0.112,0.2,2.7, 0,0.2,2.7, 0.45,0.8,3.15, 0.8,0.45,3.15, 0.112,0.2,2.7, 0.2,0.112,2.7, 0.4,0,2.55, 0.4,-0.224,2.55, 0.224,-0.4,2.55, 0,-0.4,2.55, 1.3,0,2.55, 1.3,-0.728,2.55, 0.728,-1.3,2.55, 0,-1.3,2.55, 1.3,0,2.4, 1.3,-0.728,2.4, 0.728,-1.3,2.4, 0,-1.3,2.4, -0.224,-0.4,2.55, -0.4,-0.224,2.55, -0.4,0,2.55, -0.728,-1.3,2.55, -1.3,-0.728,2.55, -1.3,0,2.55, -0.728,-1.3,2.4, -1.3,-0.728,2.4, -1.3,0,2.4, -0.4,0.224,2.55, -0.224,0.4,2.55, 0,0.4,2.55, -1.3,0.728,2.55, -0.728,1.3,2.55, 0,1.3,2.55, -1.3,0.728,2.4, -0.728,1.3,2.4, 0,1.3,2.4, 0.224,0.4,2.55, 0.4,0.224,2.55, 0.728,1.3,2.55, 1.3,0.728,2.55, 0.728,1.3,2.4, 1.3,0.728,2.4, 0,0,0, 1.425,0,0, 1.425,0.798,0, 0.798,1.425,0, 0,1.425,0, 1.5,0,0.075, 1.5,0.84,0.075, 0.84,1.5,0.075, 0,1.5,0.075, -0.798,1.425,0, -1.425,0.798,0, -1.425,0,0, -0.84,1.5,0.075, -1.5,0.84,0.075, -1.5,0,0.075, -1.425,-0.798,0, -0.798,-1.425,0, 0,-1.425,0, -1.5,-0.84,0.075, -0.84,-1.5,0.075, 0,-1.5,0.075, 0.798,-1.425,0, 1.425,-0.798,0, 0.84,-1.5,0.075, 1.5,-0.84,0.075 ] ; THREE.BufferGeometry.call( this ); this.type = 'TeapotBufferGeometry'; this.parameters = { size: size, segments: segments, bottom: bottom, lid: lid, body: body, fitLid: fitLid, blinn: blinn }; size = size || 50; // number of segments per patch segments = segments !== undefined ? Math.max( 2, Math.floor( segments ) || 10 ) : 10; // which parts should be visible bottom = bottom === undefined ? true : bottom; lid = lid === undefined ? true : lid; body = body === undefined ? true : body; // Should the lid be snug? It's not traditional, but we make it snug by default fitLid = fitLid === undefined ? true : fitLid; // Jim Blinn scaled the teapot down in size by about 1.3 for // some rendering tests. He liked the new proportions that he kept // the data in this form. The model was distributed with these new // proportions and became the norm. Trivia: comparing images of the // real teapot and the computer model, the ratio for the bowl of the // real teapot is more like 1.25, but since 1.3 is the traditional // value given, we use it here. var blinnScale = 1.3; blinn = blinn === undefined ? true : blinn; // scale the size to be the real scaling factor var maxHeight = 3.15 * ( blinn ? 1 : blinnScale ); var maxHeight2 = maxHeight / 2; var trueSize = size / maxHeight2; // Number of elements depends on what is needed. Subtract degenerate // triangles at tip of bottom and lid out in advance. var numTriangles = bottom ? ( 8 * segments - 4 ) * segments : 0; numTriangles += lid ? ( 16 * segments - 4 ) * segments : 0; numTriangles += body ? 40 * segments * segments : 0; var indices = new Uint32Array( numTriangles * 3 ); var numVertices = bottom ? 4 : 0; numVertices += lid ? 8 : 0; numVertices += body ? 20 : 0; numVertices *= ( segments + 1 ) * ( segments + 1 ); var vertices = new Float32Array( numVertices * 3 ); var normals = new Float32Array( numVertices * 3 ); var uvs = new Float32Array( numVertices * 2 ); // Bezier form var ms = new THREE.Matrix4(); ms.set( -1.0, 3.0, -3.0, 1.0, 3.0, -6.0, 3.0, 0.0, -3.0, 3.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0 ) ; var g = []; var i, r, c; var sp = []; var tp = []; var dsp = []; var dtp = []; // M * G * M matrix, sort of see // http://www.cs.helsinki.fi/group/goa/mallinnus/curves/surfaces.html var mgm = []; var vert = []; var sdir = []; var tdir = []; var norm = new THREE.Vector3(); var tcoord; var sstep, tstep; var vertPerRow; var s, t, sval, tval, p; var dsval = 0; var dtval = 0; var normOut = new THREE.Vector3(); var v1, v2, v3, v4; var gmx = new THREE.Matrix4(); var tmtx = new THREE.Matrix4(); var vsp = new THREE.Vector4(); var vtp = new THREE.Vector4(); var vdsp = new THREE.Vector4(); var vdtp = new THREE.Vector4(); var vsdir = new THREE.Vector3(); var vtdir = new THREE.Vector3(); var mst = ms.clone(); mst.transpose(); // internal function: test if triangle has any matching vertices; // if so, don't save triangle, since it won't display anything. var notDegenerate = function ( vtx1, vtx2, vtx3 ) { // if any vertex matches, return false return ! ( ( ( vertices[ vtx1 * 3 ] === vertices[ vtx2 * 3 ] ) && ( vertices[ vtx1 * 3 + 1 ] === vertices[ vtx2 * 3 + 1 ] ) && ( vertices[ vtx1 * 3 + 2 ] === vertices[ vtx2 * 3 + 2 ] ) ) || ( ( vertices[ vtx1 * 3 ] === vertices[ vtx3 * 3 ] ) && ( vertices[ vtx1 * 3 + 1 ] === vertices[ vtx3 * 3 + 1 ] ) && ( vertices[ vtx1 * 3 + 2 ] === vertices[ vtx3 * 3 + 2 ] ) ) || ( ( vertices[ vtx2 * 3 ] === vertices[ vtx3 * 3 ] ) && ( vertices[ vtx2 * 3 + 1 ] === vertices[ vtx3 * 3 + 1 ] ) && ( vertices[ vtx2 * 3 + 2 ] === vertices[ vtx3 * 3 + 2 ] ) ) ); }; for ( i = 0; i < 3; i ++ ) { mgm[ i ] = new THREE.Matrix4(); } var minPatches = body ? 0 : 20; var maxPatches = bottom ? 32 : 28; vertPerRow = segments + 1; var surfCount = 0; var vertCount = 0; var normCount = 0; var uvCount = 0; var indexCount = 0; for ( var surf = minPatches ; surf < maxPatches ; surf ++ ) { // lid is in the middle of the data, patches 20-27, // so ignore it for this part of the loop if the lid is not desired if ( lid || ( surf < 20 || surf >= 28 ) ) { // get M * G * M matrix for x,y,z for ( i = 0 ; i < 3 ; i ++ ) { // get control patches for ( r = 0 ; r < 4 ; r ++ ) { for ( c = 0 ; c < 4 ; c ++ ) { // transposed g[ c * 4 + r ] = teapotVertices[ teapotPatches[ surf * 16 + r * 4 + c ] * 3 + i ] ; // is the lid to be made larger, and is this a point on the lid // that is X or Y? if ( fitLid && ( surf >= 20 && surf < 28 ) && ( i !== 2 ) ) { // increase XY size by 7.7%, found empirically. I don't // increase Z so that the teapot will continue to fit in the // space -1 to 1 for Y (Y is up for the final model). g[ c * 4 + r ] *= 1.077; } // Blinn "fixed" the teapot by dividing Z by blinnScale, and that's the // data we now use. The original teapot is taller. Fix it: if ( ! blinn && ( i === 2 ) ) { g[ c * 4 + r ] *= blinnScale; } } } gmx.set( g[ 0 ], g[ 1 ], g[ 2 ], g[ 3 ], g[ 4 ], g[ 5 ], g[ 6 ], g[ 7 ], g[ 8 ], g[ 9 ], g[ 10 ], g[ 11 ], g[ 12 ], g[ 13 ], g[ 14 ], g[ 15 ] ); tmtx.multiplyMatrices( gmx, ms ); mgm[ i ].multiplyMatrices( mst, tmtx ); } // step along, get points, and output for ( sstep = 0 ; sstep <= segments ; sstep ++ ) { s = sstep / segments; for ( tstep = 0 ; tstep <= segments ; tstep ++ ) { t = tstep / segments; // point from basis // get power vectors and their derivatives for ( p = 4, sval = tval = 1.0 ; p -- ; ) { sp[ p ] = sval ; tp[ p ] = tval ; sval *= s ; tval *= t ; if ( p === 3 ) { dsp[ p ] = dtp[ p ] = 0.0 ; dsval = dtval = 1.0 ; } else { dsp[ p ] = dsval * ( 3 - p ) ; dtp[ p ] = dtval * ( 3 - p ) ; dsval *= s ; dtval *= t ; } } vsp.fromArray( sp ); vtp.fromArray( tp ); vdsp.fromArray( dsp ); vdtp.fromArray( dtp ); // do for x,y,z for ( i = 0 ; i < 3 ; i ++ ) { // multiply power vectors times matrix to get value tcoord = vsp.clone(); tcoord.applyMatrix4( mgm[ i ] ); vert[ i ] = tcoord.dot( vtp ); // get s and t tangent vectors tcoord = vdsp.clone(); tcoord.applyMatrix4( mgm[ i ] ); sdir[ i ] = tcoord.dot( vtp ) ; tcoord = vsp.clone(); tcoord.applyMatrix4( mgm[ i ] ); tdir[ i ] = tcoord.dot( vdtp ) ; } // find normal vsdir.fromArray( sdir ); vtdir.fromArray( tdir ); norm.crossVectors( vtdir, vsdir ); norm.normalize(); // if X and Z length is 0, at the cusp, so point the normal up or down, depending on patch number if ( vert[ 0 ] === 0 && vert[ 1 ] === 0 ) { // if above the middle of the teapot, normal points up, else down normOut.set( 0, vert[ 2 ] > maxHeight2 ? 1 : - 1, 0 ); } else { // standard output: rotate on X axis normOut.set( norm.x, norm.z, - norm.y ); } // store it all vertices[ vertCount ++ ] = trueSize * vert[ 0 ]; vertices[ vertCount ++ ] = trueSize * ( vert[ 2 ] - maxHeight2 ); vertices[ vertCount ++ ] = - trueSize * vert[ 1 ]; normals[ normCount ++ ] = normOut.x; normals[ normCount ++ ] = normOut.y; normals[ normCount ++ ] = normOut.z; uvs[ uvCount ++ ] = 1 - t; uvs[ uvCount ++ ] = 1 - s; } } // save the faces for ( sstep = 0 ; sstep < segments ; sstep ++ ) { for ( tstep = 0 ; tstep < segments ; tstep ++ ) { v1 = surfCount * vertPerRow * vertPerRow + sstep * vertPerRow + tstep; v2 = v1 + 1; v3 = v2 + vertPerRow; v4 = v1 + vertPerRow; // Normals and UVs cannot be shared. Without clone(), you can see the consequences // of sharing if you call geometry.applyMatrix( matrix ). if ( notDegenerate ( v1, v2, v3 ) ) { indices[ indexCount ++ ] = v1; indices[ indexCount ++ ] = v2; indices[ indexCount ++ ] = v3; } if ( notDegenerate ( v1, v3, v4 ) ) { indices[ indexCount ++ ] = v1; indices[ indexCount ++ ] = v3; indices[ indexCount ++ ] = v4; } } } // increment only if a surface was used surfCount ++; } } this.setIndex( new THREE.BufferAttribute( indices, 1 ) ); this.addAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) ); this.addAttribute( 'normal', new THREE.BufferAttribute( normals, 3 ) ); this.addAttribute( 'uv', new THREE.BufferAttribute( uvs, 2 ) ); this.computeBoundingSphere(); }; THREE.TeapotBufferGeometry.prototype = Object.create( THREE.BufferGeometry.prototype ); THREE.TeapotBufferGeometry.prototype.constructor = THREE.TeapotBufferGeometry; THREE.TeapotBufferGeometry.prototype.clone = function () { var bufferGeometry = new THREE.TeapotBufferGeometry( this.parameters.size, this.parameters.segments, this.parameters.bottom, this.parameters.lid, this.parameters.body, this.parameters.fitLid, this.parameters.blinn ); return bufferGeometry; }; ================================================ FILE: examples/models/female02/Female02_bin.js ================================================ { "metadata" : { "formatVersion" : 3.1, "sourceFile" : "female02.obj", "generatedBy" : "OBJConverter", "vertices" : 3274, "faces" : 6233, "normals" : 3292, "uvs" : 4935, "materials" : 6 }, "materials": [ { "DbgColor" : 15658734, "DbgIndex" : 0, "DbgName" : "_03_-_Default1noCulli__03_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "03_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15597568, "DbgIndex" : 1, "DbgName" : "_02_-_Default1noCulli__02_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "02_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 60928, "DbgIndex" : 2, "DbgName" : "FrontColorNoCullingID__02_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "02_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 238, "DbgIndex" : 3, "DbgName" : "FrontColorNoCullingID__03_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "03_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15658496, "DbgIndex" : 4, "DbgName" : "_01_-_Default1noCulli__01_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 61166, "DbgIndex" : 5, "DbgName" : "FrontColorNoCullingID__01_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }], "buffers": "Female02_bin.bin" } ================================================ FILE: examples/models/female02/Female02_slim.js ================================================ { "metadata" : { "formatVersion" : 3.1, "sourceFile" : "female02.obj", "generatedBy" : "OBJConverter", "vertices" : 3274, "faces" : 6233, "normals" : 3292, "colors" : 0, "uvs" : 4935, "materials" : 6 }, "scale" : 100.000000, "materials": [ { "DbgColor" : 15658734, "DbgIndex" : 0, "DbgName" : "_03_-_Default1noCulli__03_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "03_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15597568, "DbgIndex" : 1, "DbgName" : "_02_-_Default1noCulli__02_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "02_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 60928, "DbgIndex" : 2, "DbgName" : "FrontColorNoCullingID__02_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "02_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 238, "DbgIndex" : 3, "DbgName" : "FrontColorNoCullingID__03_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "03_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15658496, "DbgIndex" : 4, "DbgName" : "_01_-_Default1noCulli__01_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 61166, "DbgIndex" : 5, "DbgName" : "FrontColorNoCullingID__01_-_Default1noCulli", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }], "vertices": [1525,10464,868,1404,10444,1171,1576,9895,1152,1356,10926,946,1475,10477,497,1314,10917,626,1180,10484,84,1050,10897,303,759,10476,-194,1316,9895,-81,1645,9910,355,1698,9907,807,1629,9259,1204,1293,9298,1544,1215,9872,1466,1085,10397,1469,602,10311,1664,518,10807,1607,100,10765,1618,457,11337,1603,89,11339,1663,-275,11334,1569,-233,11783,1619,-656,11296,1434,-576,11752,1493,-551,12086,1482,-823,12136,1120,-820,11740,1169,-895,11703,780,-892,11269,1160,-958,11280,822,-853,11666,453,-899,11265,527,-582,11636,134,-633,11266,212,-170,11613,20,-580,12098,-6,-196,12039,-86,-597,12411,-66,-211,12296,-160,-552,13008,-156,-226,12762,-274,-501,13583,-300,-211,13513,-324,-537,13976,-281,-79,13906,-289,-614,14221,-99,-125,14394,30,212,14399,20,457,13885,-231,481,14383,30,489,14536,100,744,14344,76,714,14503,146,494,14682,165,698,14655,209,646,14838,236,774,14816,373,724,15029,255,610,15006,191,466,14833,195,281,14819,198,284,14685,165,259,14550,98,86,14531,187,-200,14426,380,-643,14289,309,-859,14148,-147,-743,13966,-302,-682,13611,-277,-785,13138,-26,-934,12889,285,-878,12551,298,-888,12173,314,-916,12179,705,-903,12454,1040,-769,12354,1257,-515,12299,1484,-230,12053,1626,72,11774,1680,430,11769,1626,839,11352,1524,963,10855,1491,1240,10903,1236,1114,11376,1288,1079,11698,1275,779,11728,1541,750,12016,1545,422,12024,1657,68,12036,1703,-237,12280,1620,-248,12405,1790,84,12396,1779,107,12656,1874,-256,12673,1905,-507,12702,1859,-530,12415,1689,-730,12746,1701,-752,12492,1483,-957,12769,987,-958,12831,669,-950,12492,663,-867,13179,312,-966,13159,669,-945,13111,949,-907,13037,1365,-903,12745,1360,-702,13002,1680,-480,12964,1828,-245,12942,1875,16,12917,1836,139,12906,1815,256,12892,1862,496,12871,1943,445,12613,1954,417,12367,1815,434,12248,1646,745,12240,1552,714,12349,1757,971,12354,1614,957,12595,1852,701,12598,1956,736,12848,1944,988,12838,1848,1258,12822,1588,1194,12550,1563,1330,12536,1212,1387,12839,1162,1219,13019,1628,1363,13176,1315,1507,12980,871,1580,13219,888,1660,12966,523,1668,13299,733,1860,13571,678,1962,13178,496,1739,12806,294,1478,12943,517,1452,12881,864,1406,12552,871,1208,12266,1242,1012,12219,1391,82,12270,1697,1071,11994,1245,1211,11721,939,1258,11994,892,1342,12266,881,1478,12603,481,1477,12875,509,1445,12892,158,1270,13542,-203,1273,13106,-25,1390,13344,-274,1473,13176,-393,1373,12953,-119,1493,12740,-399,1544,12572,-127,1904,12846,-238,1801,12545,91,2081,12707,94,2026,12975,304,2215,13210,152,2104,13428,296,2085,13601,-26,1904,13943,114,1712,13868,-113,1902,13605,-259,2184,13370,-133,2302,12920,-40,2274,13101,-316,2106,13145,-544,1846,13084,-635,1631,12940,-583,1717,13309,-458,2004,13388,-379,1623,13500,-342,1520,13689,-215,1506,13948,-96,1649,14041,176,1290,13952,-115,1417,13733,-186,981,13497,-228,880,12657,-164,1209,12800,-23,1138,12248,101,1357,12306,488,1253,11977,535,1206,11690,612,1236,11379,975,1209,11370,673,1008,11655,257,1063,11961,158,706,11973,1,635,11606,89,995,11340,326,595,11304,154,635,10885,72,254,10417,-229,867,9888,-368,1387,9238,-166,1723,9258,309,1791,9277,779,1698,8697,1251,1339,8739,1619,760,8777,1823,728,9281,1749,681,9791,1708,181,9732,1693,135,10273,1649,-341,10244,1543,-311,10729,1513,-732,10703,1327,-977,10695,1075,-1029,10201,1009,-775,10217,1325,-1104,9648,1002,-826,9654,1349,-906,9126,1335,-1179,9125,979,-982,8562,1275,-1241,8561,914,-1065,7971,1209,-1311,7970,822,-1391,7220,719,-1163,7217,1177,-1252,6479,1188,-1489,6484,693,-1460,6501,166,-1386,7236,262,-1353,7986,355,-1314,8564,452,-1246,9117,558,-1169,9658,644,-1095,10207,730,-1036,10699,811,-969,10727,497,-1034,10235,365,-1094,9689,200,-1150,9140,97,-1212,8583,8,-1231,8007,-68,-1264,7259,-183,-1278,6527,-334,-834,7293,-596,-824,6563,-758,-182,6587,-895,-209,7316,-722,186,6597,-745,221,7332,-612,404,7321,-525,196,8079,-540,399,8068,-492,382,8715,-550,567,8695,-511,347,9272,-540,934,8667,-439,914,9263,-460,317,9850,-416,1416,8632,-172,1772,8656,336,1846,8683,793,1766,8102,1290,1394,8157,1656,788,8203,1882,417,8195,1887,424,8744,1808,191,9218,1723,-352,9686,1575,-399,9138,1596,-482,8575,1568,-574,7975,1572,-651,7228,1580,-713,6508,1621,-343,6551,1848,-256,7279,1746,-176,8019,1715,-61,8602,1693,188,8660,1769,145,8114,1810,68,7378,1888,-24,6654,2038,341,6729,2117,379,7456,1995,780,7463,1986,760,6737,2120,1434,7405,1734,1466,6676,1852,1806,7354,1371,1882,8056,824,1787,8024,381,1926,7307,882,1958,6572,938,1835,6622,1449,1827,7272,401,1437,7250,-111,1416,8001,-132,915,8052,-393,902,7284,-412,904,6542,-512,1458,6506,-177,1858,6531,386,610,6564,-585,543,7294,-471,554,8047,-460,421,6586,-646,-244,9802,-431,-239,9226,-564,-248,8656,-621,179,8689,-587,-225,8066,-639,-818,8040,-479,-802,8615,-412,-765,9178,-338,-723,9743,-197,-707,10290,-17,-672,10761,200,-221,11273,94,-251,10804,19,187,11277,100,194,10845,8,220,11608,42,256,11993,-45,278,12242,-111,770,12219,-63,325,12673,-241,409,13472,-296,988,13905,-176,1437,14124,190,1435,14057,518,1044,14286,105,857,14451,268,824,14627,337,812,14771,601,802,15033,497,889,15186,430,933,15342,371,761,15219,175,849,15446,92,976,15509,328,1005,15745,274,634,15701,-45,637,15415,10,612,15184,89,429,15172,50,438,14973,162,262,14970,156,134,14969,195,130,14783,307,117,14636,262,-22,14479,419,-202,14290,735,-643,14176,647,-981,14211,227,-1121,13979,-195,-898,13876,-317,-685,13609,-275,-529,13476,39,-691,13396,-260,-520,13348,44,-675,13334,345,-880,13322,647,-970,13340,700,-814,13141,578,-1173,13139,555,-1188,13399,610,-1386,13522,376,-1400,13223,322,-1184,12799,519,-1383,12873,274,-1028,12841,90,-848,12755,512,-590,13166,347,-536,13141,33,-709,13155,-235,-596,12786,-23,-624,12754,278,-714,12830,-255,-965,12874,-377,-1237,12928,-305,-1447,12926,-49,-1450,13294,-6,-1434,13615,35,-1312,13928,469,-1148,13756,697,-1017,13616,820,-971,13341,693,-883,13428,1095,-836,13227,1413,-666,13264,1535,-640,13599,1247,-451,13261,1678,-227,13252,1718,-20,13219,1683,187,13217,1641,384,13177,1726,576,13172,1801,802,13136,1809,1038,13093,1713,1136,13409,1431,1228,13657,1152,937,13723,1253,899,13469,1491,694,13483,1499,709,13692,1324,981,14164,847,696,14000,1090,661,14220,930,510,13930,1125,514,14188,965,651,14461,898,508,14449,916,504,14635,948,395,14612,965,372,14686,1102,529,14733,1077,358,14663,1267,575,14745,1232,484,14695,1330,507,14724,1357,575,14759,1282,627,14798,1233,689,14829,1127,694,14848,1168,779,14931,1043,774,14969,1104,817,14998,996,829,15087,1096,844,15057,936,878,15194,902,838,15202,1115,912,15368,914,929,15284,843,953,15375,862,988,15339,791,969,15380,806,1051,15362,746,1047,15316,734,984,15269,780,947,15229,789,923,15261,785,975,15230,737,991,15235,752,1068,15318,705,1115,15415,677,1100,15413,702,1141,15513,666,1066,15486,733,1054,15628,734,1008,15505,797,1013,15608,823,1086,15675,752,1125,15655,677,1144,15686,651,1099,15738,711,1128,15698,640,1150,15624,603,1042,15633,649,1156,15542,596,1164,15623,616,1139,15601,658,1168,15540,610,1156,15487,634,1101,15410,665,1055,15319,691,968,15288,693,881,15185,842,839,15041,881,801,14990,914,752,14904,970,644,14802,1024,626,14660,930,774,14496,818,826,14309,781,902,14383,517,1081,14291,463,1374,13872,845,1503,13493,982,1623,13758,776,1954,13823,426,1693,13960,483,847,14566,555,731,14701,851,806,14962,825,834,15009,649,880,15124,655,942,15268,664,1028,15451,644,1043,15553,604,1043,15770,586,977,16018,275,605,15974,-33,365,15937,-90,395,15664,-102,416,15388,-40,189,15369,-34,244,15146,52,77,15149,105,-36,15356,2,-151,15230,261,-89,15085,330,11,14952,416,49,14732,523,45,14566,472,61,14497,744,-19,14397,692,89,14279,870,164,14461,847,216,14219,934,135,13968,1085,-20,14074,1014,-144,13780,1234,-341,13855,1117,-631,13886,978,-936,13867,846,-1000,14114,576,-1319,14017,124,-1240,13581,-249,-1251,13279,-272,-965,13198,-355,-972,13478,-351,-406,13604,1352,-208,13577,1403,-20,13444,1508,48,13694,1304,320,13933,1111,265,13631,1335,492,13648,1351,465,13394,1560,364,14198,958,299,14449,895,290,14624,927,172,14637,884,83,14668,784,104,14747,970,217,14701,1046,140,14700,1188,218,14668,1303,350,14671,1337,429,14695,1372,510,14770,1383,425,14745,1413,400,14855,1429,323,14841,1431,316,14915,1427,247,14840,1413,258,14912,1415,310,14935,1460,374,14924,1426,361,14940,1462,435,14944,1418,434,14971,1442,388,14969,1491,433,14995,1471,472,14999,1422,467,15023,1430,492,15037,1407,461,15036,1432,451,15047,1427,479,15047,1409,499,15047,1402,509,15045,1403,512,15022,1400,530,15003,1391,485,14970,1405,542,14892,1365,476,14870,1398,573,14809,1337,623,14857,1297,676,14916,1241,738,14974,1200,781,15090,1205,786,15201,1241,855,15345,1112,764,15324,1328,783,15413,1311,795,15484,1292,881,15505,1111,798,15551,1255,877,15662,1077,793,15660,1233,865,15787,1109,927,15663,958,920,15793,987,980,15831,851,943,16055,858,1003,16041,576,1027,15663,717,985,15647,797,983,15604,860,931,15503,910,966,15504,858,1004,15631,854,1038,15674,832,1072,15724,776,1085,15748,699,1141,15484,619,880,15179,783,753,14913,898,1053,15737,771,1024,15698,820,1001,15464,823,995,15404,835,964,15447,799,894,16053,1010,855,15911,1105,757,16190,1190,807,16349,1033,626,16395,1184,454,16315,1369,391,16422,1261,408,16533,1122,692,16451,1067,176,16423,1287,180,16542,1120,-36,16487,1077,-25,16379,1218,-229,16307,1097,-281,16352,968,-364,16229,914,-315,16080,1081,-383,15922,880,-336,15788,984,-351,15663,858,-322,15665,989,-326,15534,831,-301,15541,957,-281,15386,993,-288,15378,786,-244,15250,797,-312,15373,728,-275,15249,737,-331,15328,687,-315,15270,702,-279,15252,679,-287,15319,672,-340,15367,660,-380,15337,586,-391,15260,550,-443,15351,505,-400,15260,523,-446,15323,471,-384,15258,514,-342,15174,562,-326,15177,550,-318,15313,507,-237,15165,571,-203,15151,547,-113,15022,554,-44,14919,560,-43,14875,739,3,14836,821,-8,14826,893,35,14762,1060,79,14742,1177,127,14713,1236,184,14691,1324,109,14762,1290,167,14735,1348,263,14678,1355,345,14680,1379,336,14724,1419,248,14727,1395,177,14840,1368,115,14848,1321,59,14799,1240,18,14779,1099,-54,14846,958,-69,14882,1018,7,14848,1173,68,14878,1297,147,14936,1371,100,14959,1347,57,14993,1341,-18,14955,1253,-39,15001,1263,-120,14997,1114,-55,14892,1119,-144,14987,997,-94,14904,903,-62,14902,826,-102,14945,785,-121,14958,838,-174,15087,795,-163,15079,736,-149,15074,678,-207,15145,670,-229,15166,725,-179,15098,1011,-155,15105,1146,-59,15069,1281,76,15012,1361,93,14996,1360,111,14981,1360,150,14966,1389,197,14920,1394,260,14929,1451,188,14946,1417,223,14952,1474,258,14946,1490,305,14951,1499,240,14989,1490,184,14995,1451,178,14969,1445,151,15004,1400,149,14991,1398,126,14999,1370,109,15004,1363,117,15011,1373,103,15027,1385,142,15057,1439,133,15108,1436,175,15120,1474,168,15183,1466,104,15164,1435,140,15235,1461,65,15219,1423,93,15308,1443,49,15316,1425,25,15211,1401,-53,15302,1358,0,15382,1392,-105,15373,1335,-1,15456,1375,-99,15449,1327,-78,15489,1345,-111,15497,1334,-136,15514,1309,-152,15458,1290,-160,15539,1279,-189,15479,1248,-230,15379,1188,-162,15363,1287,-208,15311,1210,-224,15234,1002,-175,15228,1233,-239,15445,1150,-219,15510,1186,-202,15554,1243,-172,15554,1275,-142,15551,1297,-125,15530,1312,-103,15513,1333,-76,15506,1347,-6,15514,1366,-2,15523,1369,-70,15519,1353,1,15537,1358,-83,15537,1332,-36,15595,1373,-99,15579,1342,-107,15582,1342,-73,15598,1365,-121,15590,1361,-80,15612,1381,-7,15607,1387,-13,15617,1402,49,15603,1397,-14,15620,1417,50,15608,1414,-17,15638,1422,-101,15636,1397,-37,15687,1449,-118,15672,1408,-146,15722,1399,-183,15656,1358,-199,15690,1344,-218,15656,1286,-196,15590,1301,-229,15610,1244,-212,15575,1243,-238,15587,1197,-251,15553,1126,-286,15688,1129,-241,15729,1225,-208,15777,1307,-135,15828,1383,-32,15738,1462,65,15707,1485,31,15685,1477,41,15661,1460,52,15628,1427,97,15636,1447,108,15662,1484,113,15684,1490,140,15635,1471,126,15611,1431,88,15609,1421,77,15585,1405,71,15579,1393,46,15597,1392,58,15586,1374,93,15561,1383,96,15568,1398,113,15595,1412,137,15563,1408,117,15542,1394,104,15543,1382,93,15529,1383,90,15538,1372,89,15544,1376,70,15534,1372,71,15541,1375,87,15557,1367,-11,15492,1372,63,15487,1388,87,15426,1433,72,15372,1431,137,15380,1479,145,15462,1454,92,15505,1392,64,15517,1380,143,15537,1418,172,15473,1477,179,15407,1526,168,15324,1508,143,15334,1478,151,15303,1478,156,15290,1504,153,15252,1497,139,15279,1464,161,15222,1497,184,15197,1478,182,15222,1515,223,15245,1511,192,15224,1555,208,15222,1586,225,15217,1601,201,15247,1613,230,15249,1644,213,15290,1643,259,15251,1652,265,15218,1625,272,15197,1573,308,15225,1610,288,15255,1650,323,15259,1625,297,15298,1652,253,15294,1661,251,15329,1648,211,15322,1636,211,15442,1552,198,15349,1600,180,15318,1553,165,15263,1551,180,15231,1552,192,15286,1607,203,15505,1499,183,15557,1459,155,15583,1430,178,15604,1460,200,15565,1475,245,15519,1518,247,15449,1563,286,15450,1560,291,15514,1508,329,15422,1541,307,15360,1611,293,15331,1644,325,15299,1621,340,15335,1570,359,15344,1528,384,15405,1504,387,15359,1503,385,15327,1502,379,15313,1527,366,15284,1572,357,15249,1570,388,15245,1520,390,15276,1521,414,15263,1489,405,15307,1491,447,15345,1479,457,15411,1470,432,15461,1468,364,15484,1477,332,15489,1493,308,15570,1472,287,15574,1484,242,15574,1488,238,15618,1482,151,15654,1490,140,15743,1510,86,15829,1498,-20,15838,1452,-47,15943,1436,-159,15912,1362,-56,16143,1379,-241,16072,1255,-85,16260,1314,-291,15955,1163,-282,15818,1154,-238,15851,1229,177,16306,1391,183,16195,1445,201,15961,1498,212,15842,1517,219,15764,1528,231,15666,1503,313,15670,1506,302,15759,1527,339,15855,1524,449,15887,1500,478,15791,1514,386,15739,1518,344,15708,1513,331,15655,1490,303,15616,1472,335,15602,1448,361,15586,1430,358,15559,1440,419,15538,1425,451,15527,1427,523,15510,1428,532,15436,1446,492,15361,1470,497,15263,1467,468,15202,1472,396,15206,1489,375,15217,1497,365,15241,1533,347,15240,1570,326,15234,1598,322,15255,1521,312,15205,1551,323,15186,1539,276,15179,1549,232,15177,1530,237,15197,1544,204,15184,1490,229,15129,1515,210,15090,1515,206,15058,1499,153,15035,1432,150,15019,1404,160,15017,1397,192,15019,1426,183,15027,1438,214,15036,1471,258,15072,1527,261,15104,1534,264,15131,1526,283,15135,1525,285,15103,1536,289,15072,1534,262,15048,1492,262,15037,1452,301,15034,1457,295,15040,1501,328,15055,1498,320,15078,1533,380,15053,1488,378,15076,1517,419,15051,1462,447,15065,1462,451,15089,1470,364,15106,1531,310,15109,1539,303,15135,1529,338,15140,1526,357,15200,1505,401,15143,1497,451,15140,1468,505,15068,1426,498,15050,1412,458,15051,1436,414,15042,1449,380,15044,1457,338,15044,1459,492,15047,1401,540,15059,1408,513,15130,1434,516,15195,1451,658,15236,1383,541,15264,1454,607,15369,1425,647,15450,1411,627,15524,1401,596,15558,1414,525,15547,1426,517,15567,1419,439,15572,1410,446,15556,1418,419,15572,1405,415,15562,1415,402,15574,1412,388,15570,1422,409,15593,1415,401,15599,1429,424,15615,1428,414,15620,1439,377,15622,1438,358,15635,1455,354,15687,1509,425,15725,1517,496,15742,1503,604,15799,1475,575,15900,1455,456,15995,1488,436,16193,1429,653,16163,1346,585,15988,1438,670,15867,1397,671,15779,1433,660,15742,1444,585,15744,1480,578,15705,1466,492,15690,1474,425,15666,1465,423,15700,1499,377,15664,1476,397,15641,1452,435,15647,1454,440,15643,1437,494,15672,1468,570,15682,1459,497,15669,1454,496,15659,1438,445,15638,1433,439,15625,1413,529,15653,1430,507,15589,1410,419,15591,1401,417,15578,1409,436,15578,1413,511,15575,1422,590,15574,1415,628,15573,1409,654,15595,1389,617,15587,1406,639,15608,1390,619,15617,1400,603,15599,1410,594,15606,1401,638,15640,1389,598,15651,1413,580,15585,1419,605,15655,1414,565,15663,1430,566,15678,1447,624,15671,1439,634,15692,1440,698,15681,1392,680,15667,1405,656,15655,1409,614,15666,1436,641,15642,1403,673,15649,1388,687,15643,1362,736,15709,1342,708,15750,1380,728,15828,1323,763,15925,1260,699,15948,1324,743,16061,1268,798,15799,1239,759,15689,1298,727,15671,1339,722,15649,1337,678,15625,1364,654,15632,1378,663,15639,1384,684,15544,1375,713,15452,1376,699,15399,1388,646,15316,1406,674,15144,1356,673,15074,1336,566,15046,1392,527,15041,1404,587,14931,1350,663,15024,1322,724,15573,1341,759,15611,1286,222,15028,1441,126,15009,1364,118,15008,1363,136,15012,1374,186,15015,1436,238,15021,1465,219,15035,1435,300,15038,1455,299,15027,1476,300,14997,1500,361,15002,1502,362,15033,1477,383,15052,1451,419,15039,1460,421,15019,1475,352,14956,1500,-179,15579,1318,-165,15564,1302,-154,15571,1326,-133,15594,1362,-146,15612,1361,-87,15615,1392,-136,15563,1324,-153,15556,1301,-130,15561,1311,-110,15542,1326,-92,15528,1339,-67,15161,1309,82,15086,1390,63,15148,1405,-76,15242,1333,-140,15313,1303,-286,15208,661,-266,15140,653,-225,15109,670,-261,15107,625,-242,15105,613,-327,15175,595,-342,15219,605,-345,15411,463,-429,15323,460,-449,15378,433,-369,15488,506,-385,15624,441,-217,15387,206,-281,15614,143,-309,15886,145,-399,15898,434,-389,15691,712,-374,15520,575,-463,15535,478,-462,15459,439,-478,15455,449,-464,15373,444,-457,15437,495,-396,15480,587,-371,15466,682,-349,15468,725,-346,15511,662,-373,15490,714,-399,15552,675,-400,15917,722,-425,15586,620,-443,15592,543,-441,15569,622,-457,15579,553,-478,15520,486,-458,15493,516,-440,15519,597,-410,15526,685,117,15924,-83,146,15651,-94,401,14439,931,-267,10359,-250,1458,12792,131,1446,10505,1238,1412,10472,1265,1435,10483,1281,1413,10489,1225,1466,10516,1176,1430,10502,1168,1429,10499,1162,1468,10518,1170,1420,10506,1155,1467,10528,1167,1419,10494,1140,1471,10529,1155,1478,10566,1106,1429,10543,1084,1456,10543,1043,1498,10561,1059,1478,10541,1005,1516,10559,1022,1535,10518,870,1462,10471,1000,1506,10444,879,1588,10480,753,1543,10404,806,1632,10465,635,1538,10302,690,1678,10455,561,1620,10310,543,1675,10175,578,1724,10229,478,1668,10119,637,1759,10099,615,1707,10099,742,1774,10070,758,1692,10116,823,1794,10046,903,1683,10182,876,1716,10176,942,1767,10094,1027,1828,10037,1032,1748,10066,1082,1807,10018,1085,1948,10100,1105,1903,10051,1217,1928,10182,1136,1958,10210,1059,1900,10273,1015,1962,10223,963,2001,10241,829,1938,10333,837,1944,10393,725,1840,10447,862,1848,10478,750,1923,10448,615,2023,10349,589,1881,10500,515,1844,10513,590,1746,10485,451,1913,10546,479,1768,10542,410,1940,10577,394,1808,10573,339,1872,10718,151,2021,10730,217,2038,11018,-129,1810,10646,67,1911,10933,-227,1864,10823,-310,1831,10556,3,1896,10458,-44,1934,10701,-375,2044,10603,-422,2008,10377,-62,2258,10574,-378,2141,10387,-7,2229,10478,97,2369,10677,-266,2493,10889,-668,2356,10857,-150,2527,11098,-522,2582,10994,-907,2634,11241,-751,2767,11400,-1099,2490,11416,-671,2677,11463,-994,2708,11545,-1081,2777,11514,-1199,2757,11695,-1262,2743,11671,-1091,2606,12156,-816,2501,12221,-1051,2321,12219,-1191,2609,11699,-1426,2444,11632,-1497,2673,11478,-1413,2679,11246,-1271,2495,11211,-1377,2420,10887,-1040,2357,10770,-799,2104,10843,-848,1991,10979,-799,1928,11140,-711,2010,11247,-604,2192,11320,-494,2098,11421,-788,2294,11488,-687,2415,11670,-927,2227,11625,-1027,2322,11699,-1130,2494,11714,-1059,2646,11574,-927,2502,11994,-657,2374,12407,-366,2448,12602,-560,2279,12669,-810,2064,12623,-954,2154,12133,-1210,2031,11975,-1084,2296,11575,-1405,2325,11443,-1404,2503,11432,-1467,2288,11284,-1353,2163,10991,-1052,2046,11134,-999,1992,11306,-907,2120,11505,-1137,2218,11349,-1273,2259,11452,-1307,2190,11589,-1250,2260,11447,-1075,2458,11483,-948,2298,11842,-626,2066,11788,-757,1872,12166,-425,2151,12248,-290,1981,12771,103,1705,12693,9,1590,12755,-139,1784,12233,-592,1991,11853,-913,2236,11520,-1204,1805,12344,-769,1579,12845,-291,1683,13016,-431,1912,12518,-924,1814,13132,-509,2054,13182,-434,2229,13116,-189,2161,12920,8,2385,11272,-460,2221,11001,-89,2163,10625,184,2096,10484,362,2068,10423,462,2024,10388,507,2059,10270,560,2012,10306,712,2050,10136,813,2034,10114,930,1980,10147,997,2029,10086,1017,2038,10008,944,2007,10046,1086,1955,9958,1223,1889,10007,1220,1811,9970,1131,1854,9970,991,1831,9912,1096,1907,9928,968,1887,9869,1094,2018,9971,1037,1976,9892,1177,2052,9930,1012,2031,9863,1069,1983,9903,1084,1911,9888,1010,1934,9873,927,1931,9844,970,1994,9840,904,1978,9804,959,2071,9872,970,2052,9816,1031,2065,9952,964,2072,9985,885,2080,10023,791,2061,10203,667,2086,10178,508,2088,10252,440,2132,10267,363,2147,10343,272,2068,10268,181,2053,10185,259,2040,10163,357,2034,10107,447,2062,9949,604,2103,10067,647,2070,9911,744,2070,9885,884,1951,9825,829,1839,9910,848,1810,9931,718,1929,9833,701,1914,9893,567,1795,9974,579,1780,10130,410,1908,10061,390,1906,10163,297,1821,10232,302,1833,10263,241,1780,10356,291,1776,10312,340,1700,10402,384,1674,10341,439,1721,10460,508,1714,10451,347,1760,10518,263,1814,10434,205,1865,10344,153,1935,10179,224,1955,10263,139,1800,10530,657,1748,10549,740,1678,10556,814,1586,10553,895,1645,10547,926,1719,10543,880,1774,10540,839,1817,10525,770,1808,10483,874,1775,10513,886,1720,10458,960,1683,10484,970,1595,10505,1068,1556,10561,1042,1541,10565,1081,1532,10570,1127,1529,10520,1181,1514,10528,1190,1507,10518,1191,1501,10520,1195,1482,10505,1251,1465,10485,1285,1433,10479,1289,1415,10470,1274,1413,10462,1280,1409,10464,1270,1410,10480,1222,1404,10463,1265,1405,10479,1223,1401,10464,1217,1407,10436,1201,1422,10430,1148,1445,10454,1061,1443,10386,1181,1484,10414,1055,1534,10412,1067,1493,10384,1193,1532,10408,1215,1573,10437,1089,1578,10488,1111,1565,10463,1082,1575,10512,1093,1572,10445,1082,1531,10419,1064,1528,10436,1059,1480,10441,1044,1486,10423,1038,1448,10479,1036,1532,10394,925,1580,10386,961,1651,10419,985,1685,10366,977,1666,10284,959,1669,10312,941,1682,10249,1043,1732,10176,1062,1721,10129,1113,1641,10019,1271,1667,9960,1240,1723,9915,1243,1802,9937,1383,1876,10120,1253,1848,10235,1140,1858,10343,1070,1866,10348,970,1788,10411,1018,1732,10420,971,1661,10327,1068,1642,10295,1131,1674,10241,1107,1745,10183,1117,1607,10147,1260,1664,10109,1264,1821,10240,1212,1721,10148,1370,1782,10308,1236,1821,10341,1146,1748,10387,1130,1811,10170,1247,1717,10043,1412,1698,10021,1460,1654,9994,1348,1678,9949,1317,1716,9907,1319,1788,9909,1430,1757,9884,1457,1753,9968,1464,1701,9918,1496,1672,9988,1485,1612,9838,1531,1543,9868,1526,1623,9971,1371,1795,10020,1391,1655,9927,1335,1698,9879,1347,1622,9771,1500,1607,9750,1513,1569,9799,1549,1522,9853,1541,1505,9834,1535,1512,9859,1428,1487,9849,1421,1542,9821,1393,1551,9834,1368,1580,9776,1405,1561,9758,1396,1582,9739,1509,1527,9769,1536,1446,9791,1510,1436,9804,1418,1464,9762,1385,1527,9812,1384,1505,9719,1394,1521,9699,1485,1498,9749,1527,1486,9738,1529,1443,9770,1521,1379,9734,1486,1374,9744,1421,1397,9706,1392,1436,9669,1401,1445,9654,1465,1503,9696,1501,1475,9733,1518,1438,9757,1510,1384,9724,1499,1338,9685,1472,1342,9679,1486,1343,9673,1484,1340,9675,1474,1348,9697,1439,1360,9667,1424,1354,9648,1474,1376,9630,1461,1390,9646,1425,1384,9628,1456,1440,9656,1481,1487,9697,1494,1439,9661,1481,1481,9695,1498,1469,9728,1517,1436,9663,1491,1416,9687,1511,1393,9716,1505,1436,9750,1514,1389,9722,1498,1351,9674,1491,1340,9663,1480,1347,9665,1488,1351,9643,1481,1347,9642,1474,1366,9630,1471,1372,9634,1479,1358,9647,1489,1383,9635,1480,1378,9631,1472,1365,9629,1464,1336,9664,1474,1384,9628,1472,1366,9652,1492,1602,9791,1379,1525,9884,1404,1719,10350,1227,1575,10206,1277,1597,10133,1300,1638,10106,1310,1708,10128,1405,1610,10063,1314,1675,10103,1411,1670,10184,1423,1616,10133,1447,1588,10197,1421,1491,10092,1487,1460,10076,1379,1530,10149,1323,1616,10228,1417,1634,10243,1382,1709,10227,1355,1575,10174,1318,1563,10102,1300,1489,10028,1358,1537,9993,1370,1569,10008,1477,1553,10070,1487,1518,10035,1516,1470,10076,1506,1444,10049,1409,1471,10009,1386,1512,9976,1401,1553,9986,1495,1482,9945,1394,1441,9982,1381,1409,10024,1404,1396,9941,1407,1437,9905,1420,1524,9967,1491,1463,9915,1501,1442,9966,1527,1478,9999,1520,1392,9992,1510,1448,10050,1501,1368,9979,1429,1326,9930,1460,1346,9891,1440,1387,9863,1452,1403,9866,1508,1450,9916,1518,1433,9957,1533,1394,9978,1526,1337,9937,1517,1310,9891,1492,1321,9862,1485,1352,9846,1487,1353,9839,1518,1400,9872,1522,1435,9914,1515,1423,9949,1528,1418,9945,1529,1390,9964,1521,1389,9959,1526,1349,9930,1528,1345,9932,1529,1307,9889,1524,1310,9882,1528,1325,9860,1533,1347,9842,1523,1338,9841,1528,1340,9844,1533,1349,9846,1532,1354,9852,1537,1345,9851,1538,1331,9864,1545,1325,9859,1541,1320,9878,1541,1313,9873,1537,1322,9886,1541,1315,9883,1536,1355,9927,1535,1314,9889,1537,1309,9873,1531,1320,9855,1536,1378,9907,1543,1338,9870,1545,1397,9881,1530,1399,9877,1522,1431,9913,1520,1355,9844,1531,1664,10322,929,1618,10329,917,1558,10350,843,1582,10245,773,1645,10189,838,1548,10462,1196,1523,10466,1245,1504,10489,1256,1492,10500,1255,1489,10499,1252,1467,10478,1291,1458,10473,1297,1457,10480,1290,1432,10472,1296,1432,10465,1299,1412,10455,1281,1409,10454,1270,1435,10466,1292,1461,10467,1299,1470,10469,1293,1480,10468,1292,1451,10426,1277,1403,10449,1263,1417,10422,1252,1490,10441,1280,1473,10480,1291,2008,9815,1122,1950,9829,1149,1884,9820,1074,1897,9776,1042,1943,9746,1029,2011,9753,1104,1991,9781,1157,1946,9819,1167,1903,9810,1098,1918,9779,1064,1910,9775,1060,1955,9747,1060,2011,9741,1119,1947,9733,1058,1864,9715,1095,1908,9683,1088,1996,9731,1126,1943,9668,1166,1962,9749,1172,1936,9803,1170,1885,9734,1207,1849,9752,1131,1888,9803,1102,1868,9703,1122,1904,9669,1119,1938,9650,1180,1887,9655,1115,1856,9693,1120,1849,9730,1157,1875,9721,1225,1829,9717,1154,1821,9661,1121,1853,9627,1116,1920,9640,1180,1868,9603,1172,1853,9635,1208,1879,9656,1212,1812,9664,1211,1845,9625,1212,1813,9648,1216,1765,9626,1197,1761,9639,1164,1799,9685,1153,1782,9617,1134,1861,9705,1222,1912,9683,1214,1937,9717,1192,1811,9586,1131,1817,9569,1161,1858,9599,1186,1837,9622,1206,1809,9639,1208,1771,9617,1204,1738,9591,1186,1740,9603,1163,1741,9584,1186,1750,9581,1146,1754,9563,1181,1771,9552,1166,1774,9567,1140,1776,9550,1161,1773,9551,1173,1778,9549,1172,1814,9573,1175,1813,9574,1183,1841,9598,1187,1833,9619,1205,1799,9589,1203,1779,9611,1206,1808,9634,1210,1775,9616,1202,1744,9586,1195,1745,9582,1193,1743,9574,1189,1739,9576,1185,1749,9559,1181,1753,9559,1186,1765,9550,1174,1770,9553,1180,1759,9561,1190,1777,9554,1179,1764,9565,1192,1751,9582,1197,1749,9575,1194,1763,9550,1169,1845,9600,1183,1815,9569,1174,1910,9811,1305,1908,9890,1315,1834,9909,1341,1748,9874,1260,1766,9815,1233,1821,9777,1224,1920,9808,1314,1891,9863,1351,1837,9912,1354,1790,9886,1261,1808,9846,1231,1849,9811,1233,1867,9818,1198,1909,9808,1307,1861,9837,1355,1831,9903,1344,1743,9813,1371,1719,9831,1262,1791,9909,1234,1825,9869,1194,1743,9788,1230,1787,9750,1229,1816,9726,1337,1810,9788,1370,1772,9748,1393,1727,9796,1391,1707,9803,1297,1734,9768,1267,1765,9728,1258,1804,9705,1355,1748,9703,1257,1714,9753,1264,1678,9789,1302,1666,9713,1264,1706,9667,1266,1780,9692,1352,1717,9641,1344,1694,9684,1390,1732,9715,1393,1643,9728,1380,1683,9674,1392,1642,9707,1390,1581,9681,1359,1576,9696,1301,1635,9751,1300,1708,9777,1387,1606,9662,1266,1643,9619,1269,1652,9598,1325,1702,9637,1361,1673,9670,1382,1637,9696,1378,1588,9670,1370,1545,9637,1344,1554,9652,1312,1548,9628,1345,1571,9622,1293,1566,9597,1342,1591,9578,1325,1601,9596,1290,1598,9576,1319,1648,9600,1341,1687,9639,1355,1646,9604,1342,1681,9636,1360,1668,9666,1381,1636,9689,1381,1592,9668,1369,1551,9631,1357,1552,9625,1355,1549,9616,1351,1546,9618,1345,1560,9592,1342,1564,9593,1349,1582,9577,1335,1587,9581,1343,1570,9595,1356,1597,9581,1343,1593,9578,1335,1581,9577,1328,1598,9575,1334,1644,9606,1352,1622,9630,1376,1597,9662,1375,1560,9625,1361,1557,9617,1358,1578,9600,1359,275,4985,1312,601,4694,1387,620,4975,1510,298,4732,1213,232,4649,857,256,4112,1101,170,4080,810,240,3487,1043,168,3486,756,288,2526,963,207,2520,752,259,1636,953,207,1628,724,145,1231,680,218,1220,974,51,1002,660,198,1008,1011,185,810,1045,38,764,611,78,548,971,114,586,517,114,401,884,559,575,431,753,386,760,79,-3,1442,974,-24,1162,1000,-24,1614,277,-7,1915,774,-18,2160,772,150,2168,994,157,1623,982,179,1169,830,530,825,701,748,482,439,756,101,733,981,567,454,989,171,197,997,206,416,1252,358,532,1247,355,446,1599,443,580,1593,477,533,2483,349,749,2477,462,624,3464,210,949,3475,370,1054,3480,778,1001,3996,353,1115,4055,841,1104,4603,890,984,4382,426,639,4375,295,650,3941,198,287,4027,368,345,4418,422,390,4759,572,641,4697,404,338,4949,629,656,4917,507,299,5142,659,673,5115,528,701,5468,513,932,5106,684,1023,5456,662,720,5740,460,1119,5716,611,824,6512,232,1282,6483,394,886,7339,76,1379,7327,253,922,8172,12,1451,8158,194,958,8955,-9,1426,8951,175,1607,8201,806,1576,8990,753,1408,8259,1365,1368,9041,1316,865,8306,1568,881,9073,1501,341,8314,1321,395,9074,1263,215,8273,748,179,7439,799,345,7380,210,328,6532,354,383,8213,149,453,8985,122,278,9034,683,277,5759,576,277,5494,631,145,5458,974,160,5190,963,194,4961,922,264,3496,375,304,2502,449,322,1607,469,299,1258,361,103,764,166,176,616,193,397,611,150,366,337,215,456,323,448,217,328,494,219,340,244,246,-9,280,361,-12,257,432,-13,448,247,-9,484,251,5199,1350,638,5187,1547,960,5160,1378,962,4947,1339,979,4665,1238,577,4096,1254,545,3464,1181,494,2521,1123,453,1633,1119,435,1218,1162,447,1027,1211,500,795,1280,184,650,1163,176,363,1491,73,200,1452,281,174,1922,562,155,2234,561,-13,2226,555,233,2198,306,240,1925,581,430,1669,535,618,1439,959,340,1214,849,590,1038,733,796,948,678,992,949,631,1200,966,707,1228,666,727,1598,740,878,2483,770,935,3450,1068,997,4088,1129,1083,4911,957,973,4684,525,945,4906,652,1076,5139,999,1148,5402,1014,1231,5758,1004,1418,6539,941,1531,7369,856,1337,7426,1402,830,7471,1611,303,7479,1358,182,6602,889,139,5814,959,236,5517,1394,245,5386,1384,653,5402,1576,661,5514,1580,679,5838,1600,247,5839,1412,292,6638,1384,773,6631,1620,1246,6588,1424,1089,5796,1447,1020,5475,1427,987,5344,1414,789,2498,977,635,1614,964,966,224,1636,764,229,2133,-2309,8016,1087,-2275,7967,1093,-2272,8014,1105,-2305,7963,1080,-2326,7969,1056,-2304,7952,1079,-2321,7960,1060,-2318,7951,1054,-2301,7943,1075,-2297,7938,1069,-2275,7950,1085,-2280,7959,1089,-2269,7960,1089,-2261,7956,1083,-2269,7947,1081,-2296,7946,1068,-2316,7948,1048,-2320,7957,1041,-2325,7961,1032,-2324,7961,1050,-2338,8015,1058,-2303,8088,1081,-2267,8080,1103,-2262,8013,1101,-2264,7962,1094,-2251,7959,1085,-2258,8010,1105,-2261,8085,1101,-2303,8096,1081,-2336,8087,1048,-2335,8081,1054,-2337,8014,1048,-2330,7964,1046,-2342,8012,1045,-2348,8093,1049,-2341,8011,1028,-2328,8021,998,-2304,7968,1007,-2318,8077,977,-2274,8036,955,-2319,8179,974,-2264,8183,946,-2211,8185,963,-2221,8037,972,-2187,8034,1015,-2178,8181,1006,-2223,8222,983,-2278,8220,975,-2328,8227,998,-2269,8239,965,-2217,8236,983,-2177,8343,934,-2183,8246,1023,-2140,8364,981,-2174,8392,879,-2086,8439,941,-2080,8508,992,-1994,8585,922,-2115,8690,949,-2165,8571,1010,-2306,8659,930,-2293,8752,846,-2357,8576,894,-2357,8673,820,-2369,8534,869,-2389,8575,819,-2410,8460,837,-2386,8585,755,-2461,8430,780,-2433,8460,687,-2488,8375,693,-2422,8395,623,-2450,8265,651,-2443,8260,559,-2454,8128,595,-2398,8114,539,-2390,7908,604,-2251,8171,590,-2258,7973,644,-2255,8195,659,-2237,8234,567,-2249,8252,648,-2153,8333,603,-2187,8244,512,-2274,8146,574,-2385,8103,541,-2376,8243,503,-2383,8076,467,-2351,7926,586,-2357,7940,510,-2297,7900,477,-2321,8073,414,-2360,8246,427,-2286,8239,379,-2249,8352,380,-2250,8241,331,-2262,8104,361,-2218,8094,317,-2251,8027,391,-2204,7997,363,-2124,8045,389,-2130,8135,351,-2129,8061,441,-2139,8158,406,-2097,8259,326,-2109,8248,393,-2017,8321,364,-2043,8317,499,-1966,8425,533,-1936,8421,386,-2072,8471,305,-2010,8601,329,-1890,8557,426,-2018,8695,328,-1883,8664,423,-1988,8835,329,-1873,8830,415,-1832,8920,352,-1804,8958,474,-1764,9094,440,-1791,9054,328,-1713,9238,259,-1677,9269,391,-1450,9713,141,-1445,9758,299,-1201,10144,19,-1203,10207,191,-1111,10376,-44,-1116,10442,134,-1043,10796,40,-1002,10748,-122,-1025,10964,18,-976,10950,-144,-922,11108,-144,-939,11106,-375,-805,11611,-18,-805,11645,-252,-935,11690,-381,-791,12218,-316,-704,12181,-155,-751,12948,-186,-1037,12289,-373,-1159,11730,-396,-1325,11195,-426,-1098,11154,-462,-1175,10955,-477,-1025,10918,-377,-1084,10704,-365,-1247,10350,-284,-1370,10126,-186,-1605,9727,-14,-1837,9258,188,-1892,9069,264,-1931,8939,279,-2110,8866,361,-2149,8745,351,-2136,8642,351,-2183,8495,350,-2212,8397,339,-2141,8344,293,-2193,8243,285,-2234,8314,330,-2257,8524,444,-2313,8418,434,-2345,8332,425,-2355,8366,495,-2428,8343,544,-2380,8428,547,-2319,8552,537,-2267,8691,527,-2308,8707,626,-2363,8576,634,-2347,8710,743,-2276,8839,746,-2106,8785,864,-2081,8871,804,-2062,8957,772,-2173,8964,682,-2124,9093,658,-2155,9049,469,-2179,8922,505,-2079,8980,302,-2027,9112,281,-1991,9313,213,-1780,9795,1,-1579,10205,-176,-1470,10424,-300,-1285,10734,-437,-1511,10857,-301,-1677,10578,-155,-1759,10327,-40,-1901,9893,149,-2050,9380,372,-2096,9177,428,-2061,9220,606,-1997,9084,744,-1935,8927,744,-1960,8830,776,-1959,8736,848,-1947,8665,765,-1952,8739,667,-1893,8888,614,-1877,9034,712,-1836,9000,584,-1825,9163,652,-1795,9132,545,-1697,9313,509,-1754,9359,598,-1480,9813,439,-1592,9871,487,-1763,9933,476,-1872,9399,623,-2014,9420,546,-1899,9951,347,-1937,9208,678,-1764,10408,177,-1635,10414,332,-1427,10353,388,-1271,10287,353,-1195,10533,297,-1141,10815,197,-1114,10955,134,-981,11131,36,-891,11615,177,-736,12146,96,-710,12924,0,-736,12883,238,-846,12891,377,-838,12158,279,-1016,12176,371,-1034,12897,439,-1296,12954,300,-1303,12259,253,-1362,12985,59,-1412,12299,-6,-1303,11698,189,-1423,11762,-27,-1461,11228,-40,-1312,11182,101,-1309,11031,141,-1470,11059,50,-1487,11065,-170,-1515,10941,147,-1561,10913,-91,-1695,10652,72,-1583,10669,249,-1375,10605,322,-1316,10897,223,-1088,11125,153,-1051,11631,267,-1423,11020,-360,-1449,11240,-243,-1388,11785,-273,-1327,12336,-275,-978,12978,-300,-1270,13022,-210,-1854,8862,518,-1865,8705,554,-1905,8555,565,-2000,8581,656,-1979,8555,736,-2031,8489,869,-2104,8411,794,-2202,8382,855,-2254,8353,897,-2323,8277,986,-2344,8241,1061,-2363,8185,1065,-2346,8104,1032,-2309,8102,1089,-2307,8115,1086,-2241,8102,1107,-2258,8091,1113,-2241,8009,1099,-2214,8018,1077,-2195,8074,1063,-2232,7966,1057,-2189,8176,1064,-2194,8222,1032,-2202,8230,1084,-2191,8287,1076,-2144,8411,1037,-2215,8451,1063,-2294,8568,990,-2335,8515,943,-2359,8448,873,-2395,8309,850,-2508,8318,804,-2514,8301,720,-2522,8195,738,-2471,8183,677,-2471,7988,731,-2359,8031,765,-2347,8208,720,-2365,8042,830,-2358,8238,797,-2313,8262,717,-2333,8292,795,-2236,8347,730,-2301,8376,825,-2174,8389,757,-2233,8375,840,-2112,8403,722,-2305,8209,712,-2456,8155,669,-2443,7942,724,-2445,7957,643,-2393,7861,611,-2287,7924,659,-2261,7995,710,-2309,8006,760,-2449,7897,737,-2440,7869,669,-2379,7826,631,-2269,7893,669,-2275,7925,724,-2297,7947,708,-2338,7949,750,-2431,7860,749,-2407,7810,698,-2341,7715,750,-2331,7723,821,-2319,7696,838,-2307,7663,778,-2265,7662,722,-2241,7651,742,-2257,7642,805,-2221,7628,825,-2218,7660,884,-2290,7681,848,-2161,7735,885,-2212,7771,857,-2241,7779,836,-2252,7819,828,-2316,7923,773,-2205,7815,782,-2205,7789,722,-2281,7692,713,-2198,7752,742,-2204,7783,791,-2179,7780,804,-2164,7741,755,-2116,7707,790,-2123,7735,841,-2065,7683,880,-2062,7658,833,-2047,7628,902,-2102,7683,918,-2140,7629,919,-2210,7638,880,-2210,7618,832,-2196,7621,838,-2193,7636,878,-2144,7614,912,-2083,7601,934,-2090,7587,930,-2144,7614,907,-2190,7629,878,-2190,7618,841,-2146,7606,902,-2085,7585,927,-2094,7582,922,-2140,7587,872,-2118,7588,843,-2073,7569,878,-2086,7569,901,-2077,7567,905,-2068,7568,887,-2067,7569,909,-2084,7578,921,-2075,7581,926,-2060,7573,911,-2070,7586,929,-2078,7593,930,-2074,7635,926,-2066,7577,907,-2051,7574,889,-2055,7579,880,-2058,7570,889,-2063,7572,880,-2111,7594,839,-2161,7611,817,-2161,7617,811,-2108,7592,836,-2063,7571,874,-2053,7582,871,-2047,7618,868,-2098,7603,829,-2172,7614,797,-2169,7630,781,-2073,8456,630,-2167,8241,444,-2223,8141,527,-2203,7969,575,-2251,7982,619,-2353,7901,596,-2341,7876,532,-2329,7887,605,-2247,7962,623,-2262,7957,604,-2212,7970,570,-2226,7958,567,-2221,7937,520,-2197,7937,517,-2295,7873,479,-2276,7860,496,-2128,7871,570,-2136,7894,621,-2174,7894,665,-2230,7796,666,-2301,7839,559,-2240,7779,601,-2197,7956,512,-2218,8120,462,-2272,8125,419,-2248,8024,453,-2233,7980,413,-2198,7977,368,-2149,8032,387,-2128,8043,382,-2181,7971,382,-2074,8007,410,-2077,8034,455,-2139,8077,422,-2154,8057,427,-2170,8072,475,-2182,8165,449,-2183,8055,464,-2241,8006,464,-2217,7997,471,-2160,8069,470,-2106,8033,498,-2139,7955,506,-2192,7958,436,-2110,7929,421,-2151,7937,457,-2119,7916,473,-2102,7913,424,-2090,7981,415,-2090,7920,428,-2090,7996,405,-2048,8004,415,-2036,7946,436,-1991,8003,434,-2002,8030,464,-2059,8032,449,-2106,8025,440,-2098,8012,452,-2115,8007,495,-2130,7943,517,-2114,7950,514,-2111,8026,486,-2068,8032,493,-2057,7975,516,-2083,7927,479,-2056,7942,480,-2043,7939,484,-2044,7964,513,-2036,7948,483,-2035,7970,507,-2031,7949,483,-2030,7967,506,-1997,7984,514,-1996,7986,518,-2000,7998,520,-2009,8028,504,-1954,8026,478,-1955,8010,454,-1940,7988,468,-1941,7992,492,-1951,8004,511,-1967,8028,502,-1956,8008,515,-1955,7996,516,-1952,7996,512,-1945,7997,508,-1955,7989,511,-1995,7977,512,-1987,7959,491,-1948,7978,495,-1942,7981,495,-1949,7990,508,-1938,7987,494,-1935,7993,493,-1944,8002,508,-1935,7990,474,-1936,7985,476,-1941,7979,478,-1946,7976,474,-1982,7959,463,-2018,7949,459,-2022,7951,455,-2028,7941,449,-1980,7963,454,-1982,7964,457,-1942,7979,467,-1941,7981,472,-1942,7988,461,-1981,7971,445,-2182,7772,564,-2201,7746,625,-2169,7753,571,-2140,7848,577,-2161,7864,620,-2186,7860,664,-2219,7777,678,-2195,7781,683,-2185,7878,672,-2165,7887,615,-2136,7866,568,-2149,7760,582,-2086,7863,592,-2108,7893,638,-2131,7883,691,-2123,7803,712,-2155,7748,645,-2109,7763,661,-2096,7762,667,-2106,7788,709,-2086,7773,669,-2068,7771,625,-2062,7783,635,-2008,7797,646,-2012,7798,649,-1963,7813,673,-1963,7816,679,-2013,7791,656,-1969,7808,680,-1958,7819,687,-1961,7826,676,-1956,7826,685,-1968,7825,709,-1987,7874,693,-1978,7858,659,-2015,7868,625,-2007,7810,635,-1962,7827,667,-2076,7782,607,-2036,7897,668,-2056,7887,718,-2051,7830,734,-2046,7814,730,-2092,7797,704,-2080,7775,671,-2086,7792,704,-2043,7804,722,-2046,7813,725,-1993,7827,739,-1995,7842,740,-2008,7872,725,-1988,7837,736,-1988,7827,735,-1992,7818,732,-2027,7785,692,-1978,7807,708,-1971,7811,711,-1964,7812,687,-1964,7818,712,-1961,7826,712,-1978,7836,734,-1978,7829,733,-1983,7820,730,-2058,7780,641,-2057,8464,700,-2328,8391,841,-2316,8396,915,-2324,8442,990,-2333,8294,1053,-2306,8248,1094,-2316,8174,1100,-2262,8186,1135,-2260,8244,1118,-2256,8298,1105,-2299,8299,1085,-2282,8453,1042,-2402,8236,854,-2526,8211,809,-2518,8011,844,-2512,8043,772,-2516,7960,787,-2477,7951,732,-2376,7985,788,-2375,7997,835,-2407,8055,881,-2526,7976,851,-2502,7948,862,-2486,7898,811,-2456,7924,750,-2463,7813,836,-2421,7785,798,-2326,7834,827,-2344,7943,795,-2327,7848,883,-2348,7962,852,-2410,8002,869,-2387,7965,899,-2367,7855,926,-2463,7806,899,-2452,7759,851,-2414,7753,802,-2329,7796,841,-2329,7813,890,-2366,7814,928,-2460,7775,910,-2433,7754,920,-2335,7792,949,-2299,7791,907,-2294,7772,855,-2391,7734,821,-2276,7713,877,-2280,7731,927,-2314,7731,966,-2387,7692,945,-2421,7719,872,-2395,7681,890,-2348,7673,854,-2391,7668,894,-2358,7658,864,-2307,7616,886,-2260,7648,901,-2260,7660,949,-2294,7664,981,-2343,7634,970,-2389,7673,937,-2380,7663,900,-2376,7666,935,-2351,7625,961,-2310,7587,977,-2321,7581,971,-2350,7626,957,-2317,7578,967,-2354,7621,950,-2376,7659,933,-2376,7658,902,-2353,7610,921,-2331,7609,895,-2307,7571,921,-2321,7571,942,-2315,7565,945,-2305,7566,928,-2307,7562,949,-2296,7564,931,-2300,7562,952,-2289,7565,931,-2303,7569,949,-2289,7571,924,-2268,7601,957,-2309,7581,971,-2289,7612,978,-2266,7600,924,-2285,7575,917,-2320,7610,889,-2298,7570,917,-2298,7569,923,-2322,7612,893,-2351,7654,876,-2353,7648,879,-2311,7571,965,-2324,7579,962,-2318,7573,960,-2305,7572,969,-2267,7953,1030,-2204,8771,452,-2205,8670,445,-2258,8790,533,-2280,8831,621,106,4686,538,81,4872,738,-229,4589,593,267,4756,210,262,5011,406,294,4739,-281,180,4980,-34,37,4754,-499,86,4401,-764,398,4407,-479,373,4257,-49,227,4167,197,-124,4100,239,-555,4638,351,-503,4158,14,-589,4692,-24,-541,4253,-281,-376,3602,-283,-24,3555,-74,-135,2770,-714,-168,2845,-924,63,2052,-1010,114,2720,-497,217,1998,-814,231,1562,-914,71,1658,-1139,33,1476,-1234,198,1347,-971,-14,1313,-1350,137,1092,-1045,-137,1107,-1429,75,860,-1037,-275,792,-1469,-11,600,-970,-373,478,-1195,-288,680,-1593,-396,433,-1249,-278,508,-1700,-395,288,-1358,539,300,-1296,208,86,-863,211,250,-782,538,463,-1173,622,976,-1506,629,1038,-1343,696,1342,-1678,740,1420,-1482,777,1692,-1838,708,1593,-1317,672,1857,-1710,465,1757,-1964,503,1608,-2005,708,1565,-1923,668,1319,-2058,532,1348,-2113,545,1043,-2290,651,1021,-2247,614,1160,-1872,284,1429,-1844,392,1207,-1962,432,936,-2159,604,900,-2090,125,1550,-1731,-67,1184,-1625,30,1100,-1745,68,1687,-1553,69,1838,-1390,32,2134,-1237,36,2964,-1161,-421,3754,-555,-301,4397,-701,-213,3916,-885,146,3961,-943,276,3008,-1199,453,3910,-689,439,3739,-339,291,3624,-108,356,2785,-580,427,2063,-912,467,1648,-1019,482,1412,-1071,495,1214,-1151,478,1015,-1156,424,587,-1073,190,312,-757,-113,233,-562,-302,283,-661,-322,199,-663,-331,49,-741,-138,-1,-640,-132,149,-564,608,1803,-1237,535,1996,-1524,536,2150,-1101,492,2241,-1362,379,2248,-1422,474,2977,-1043,489,2864,-745,242,2233,-1430,312,2002,-1592,423,1999,-1558,432,1892,-1798,-333,4718,-449,-371,4951,-236,-602,4944,166,-564,4849,563,-302,4797,816,79,5053,858,-343,4984,925,-377,5197,1008,-588,5030,678,-618,5144,302,-632,5195,753,-389,5315,1029,-671,5322,779,-706,5385,385,-400,5268,61,-390,5099,-52,-17,5001,-273,198,5127,106,-75,5159,-97,-112,5331,-2,212,5289,222,-118,5431,-16,253,5433,220,263,5419,639,286,5706,611,265,5702,202,254,6498,632,268,6498,73,270,7339,652,281,7358,38,239,8173,698,250,8192,73,-197,7345,-249,-170,6504,-186,-125,5708,-37,-469,5407,31,-783,5669,335,-753,5648,801,-413,5663,1069,-917,6441,833,-943,6455,319,-655,6465,-167,-549,5673,-11,-720,7322,-223,-1039,7292,310,-1010,7276,892,-521,6449,1160,53,5677,1014,69,5348,978,66,5222,941,269,5175,534,7,6474,1075,-8,7312,1153,-46,8146,1211,18,8927,1157,201,8948,592,89,8959,13,-225,8180,-215,-784,8156,-196,-1109,8125,346,-1081,8109,941,-585,7284,1242,-619,8118,1295,-953,8894,1096,-1096,8904,511,-882,8926,-46,-396,8946,-176,-490,8905,1337,95,16666,115,292,16444,-111,-84,16579,106,325,16462,-109,279,16756,268,59,16747,422,0,16706,337,-65,16685,331,-126,16635,383,-185,16541,151,-208,16308,-54,27,16373,-135,129,16115,-257,433,16161,-204,496,16173,-213,579,16583,65,791,16247,-37,614,16614,170,665,16671,406,967,16337,393,944,16271,780,672,16640,750,356,16768,706,336,16796,468,56,16758,544,-67,16689,520,-38,16694,450,-34,16578,451,-94,16601,521,-169,16590,489,-261,16492,231,-302,16465,415,-325,16291,83,-384,16237,285,-333,16041,-21,-418,15970,190,-407,15671,129,-289,15719,-47,-347,15291,117,-206,15330,-10,-52,15350,-115,-116,15747,-151,128,15773,-240,145,15397,-191,166,15778,-230,219,15407,-176,262,15410,-215,201,15781,-265,497,15812,-206,551,15441,-150,621,15448,-145,582,15820,-217,877,15849,-22,924,15478,-17,1002,15846,108,886,16294,94,1110,15838,298,1134,15857,387,1097,15839,620,1033,15859,644,1036,15422,601,1058,15435,558,1180,15461,376,1170,15470,334,1153,15462,266,1044,15472,107,952,15095,22,1065,15087,108,1176,15060,220,1213,15035,331,1249,15040,413,1135,15022,565,1033,15006,576,1103,14617,408,1212,14618,399,1132,14335,247,1257,14359,258,1276,14163,129,1435,14183,138,1411,14377,204,1319,14653,313,1270,14676,242,1234,14700,153,1147,14707,69,1375,14409,27,1257,14415,-64,1460,14205,-132,1333,14177,-244,1060,14406,-164,1206,14154,-310,1006,14395,-135,1118,14115,-319,967,14706,-5,1000,14707,-7,924,15094,40,653,15066,-107,704,14718,-116,981,14398,-144,748,14435,-246,1089,14139,-335,833,14059,-520,729,14049,-451,663,14413,-228,641,14700,-123,586,15062,-79,551,15057,-123,569,14698,-145,662,14411,-194,592,14413,-282,336,14686,-165,349,14390,-291,635,14024,-528,695,14060,-440,368,14059,-526,297,14393,-250,285,14680,-129,244,15027,-117,292,15030,-157,169,15017,-139,210,14677,-167,217,14391,-299,297,14066,-496,178,14093,-558,42,14342,-213,-24,14083,-465,32,14643,-105,-22,14988,-58,-1,14640,-110,-8,14373,-229,-30,14080,-406,-148,14095,-472,-131,14371,-164,-245,14110,-388,-295,14354,-99,-365,14105,-308,-340,14074,-175,-316,14352,-47,-277,14581,77,-360,14565,150,-438,14332,6,-431,14093,-212,-524,14092,-151,-306,14306,127,-401,14088,-89,-264,14071,-118,-122,14270,123,-120,14552,285,-254,14555,257,-266,14878,410,-163,14883,454,-274,15288,475,-322,15294,431,-417,15279,265,-389,14902,270,-340,15290,151,-286,14925,193,-298,14927,137,-255,14601,25,-127,14620,-47,-151,14957,36,-456,15666,252,-429,15668,467,-409,15705,532,-441,15873,514,-421,15852,558,-436,16160,606,-393,16220,331,-460,15941,265,-361,16414,606,-431,16118,854,-461,15833,661,-423,15841,644,-343,15529,703,-434,15537,705,-373,15257,727,-308,15263,709,-310,14899,738,-262,14903,712,-239,14574,734,-177,14579,715,-229,14397,748,-145,14408,732,-200,14301,964,-256,14541,914,-254,14536,966,-316,14885,883,-392,15259,864,-333,14881,934,-283,14861,1075,-204,14518,1095,-234,14288,993,-173,14233,1121,-136,14187,1186,-170,14497,1199,-66,14173,1228,-117,14497,1225,-237,14848,1180,-368,15219,1058,-409,15259,899,-442,15560,871,-431,15530,1040,-310,15198,1204,-200,14848,1208,-96,14850,1331,-20,14496,1344,-42,14151,1269,56,14146,1378,-170,15191,1333,-210,15502,1339,-359,15507,1213,-424,15768,1043,-363,15704,1220,-219,15666,1353,-207,15808,1362,-351,15895,1222,-402,16007,1052,-462,15810,853,-380,16335,867,-365,16233,1076,-294,16100,1245,-158,15972,1377,-110,16103,1397,-208,16252,1286,-251,16390,1116,-171,16410,1103,-179,16517,901,-151,16607,923,-146,16505,1138,-138,16307,1331,-165,16264,1296,25,16174,1466,30,16100,1486,259,16187,1542,20,16366,1387,25,16579,1210,30,16692,965,54,16755,661,-99,16675,610,-127,16578,603,-195,16578,596,-251,16504,897,353,16762,726,329,16706,1018,287,16568,1258,273,16390,1442,557,16283,1422,519,16103,1514,247,16068,1551,468,16007,1536,640,15884,1467,698,15930,1433,741,15726,1403,784,15746,1371,785,15553,1350,814,15568,1334,798,15349,1321,766,16071,1282,697,15951,1411,856,15770,1288,847,15760,1312,812,15747,1318,892,15595,1236,892,15586,1241,934,15395,989,917,15620,1216,1006,15800,1148,1038,15411,1165,956,15406,1271,849,15396,1283,955,15011,1267,843,14995,1277,967,14737,1275,851,14707,1289,995,14322,1267,885,14258,1323,1053,14765,1189,1114,14387,1196,996,14340,1301,992,14444,1064,974,14753,1047,1049,15023,1177,973,15015,1056,1014,14756,1014,967,14396,1033,1020,14441,1015,1008,14810,858,1025,15036,879,984,15031,844,952,14804,827,1018,14530,817,958,14527,786,1022,15400,861,1042,15403,895,985,15672,842,1034,15712,877,1042,15407,1026,1012,15793,1028,1015,15864,856,898,16231,1085,950,16253,799,627,16557,1073,669,16621,774,973,15866,814,581,16413,1304,993,15796,1071,1034,15407,1071,1014,15021,1018,344,14049,-442,1432,14169,-64,1345,14386,120,1358,14379,141,1472,14178,-9,1573,14185,82,101,16110,-229,-182,16066,-133,-386,15568,451,-428,15842,690,-418,15852,528,-342,15453,720,-436,16160,606,827,15546,14,983,15277,433,822,15218,201,988,15644,297,808,15826,-28,990,15837,266,798,16128,-26,346,16129,-171,424,15787,-161,469,15479,-104,480,15165,109,858,14905,313,1026,14983,471,1086,14695,342,851,14671,231,1135,14465,218,909,14450,126,1244,14303,91,981,14277,-37,1108,14155,-254,1362,14183,-69,948,14237,-29,1052,14130,-226,867,14432,157,527,14891,219,544,14642,177,854,14421,139,580,14432,94,907,14262,-50,644,14230,-121,971,14099,-284,738,14076,-412,662,14078,-344,599,14208,-138,562,14409,74,291,14223,-148,343,14093,-435,634,14053,-416,258,14069,-388,249,14188,-135,238,14392,42,205,14632,149,174,14873,202,106,15143,91,47,15465,-109,-38,15738,-159,-115,16035,-119,-340,15951,129,-299,15705,135,-264,15516,170,-237,15151,251,-197,14856,311,-164,14639,214,7,14620,169,211,14389,64,190,14222,-128,217,14069,-350,154,14073,-395,-68,14074,-357,-13,14276,-62,-10,14381,81,-42,14398,82,-32,14249,-53,-90,14289,-87,-248,14271,-39,-321,14133,-261,-184,14120,-349,-87,14092,-330,-140,14398,141,981,16086,263,1076,14644,342,1106,14507,263,977,14412,280,1174,14356,142,1028,14261,143,1139,14173,-13,1295,14255,13,942,14589,369,721,14385,237,1040,14245,164,773,14213,87,874,14104,-119,1121,14183,1,699,14569,338,463,14569,287,481,14363,184,750,14206,74,512,14201,23,822,14106,-139,565,14066,-219,189,14561,282,207,14353,178,233,14191,20,485,14187,20,216,14078,-214,500,14070,-229,-50,14548,284,-38,14363,180,-82,14205,32,203,14182,13,-133,14105,-173,167,14072,-217,-146,14604,219,-167,14440,129,-202,14325,-33,-123,14231,13,-305,14229,-199,-152,14140,-172,-144,14863,337,-46,14867,466,-163,15107,332,-140,15066,472,-278,15516,205,-295,15355,445,196,15012,421,154,15146,382,448,15005,422,387,15163,401,631,15075,471,618,15194,429,899,15179,546,973,15485,574,966,15218,405,1027,14918,449,900,14838,511,676,14798,477,438,14777,430,180,14776,405,994,15646,335,1048,15841,589,1000,15853,849,983,15649,858,944,16271,780,1064,15649,590], "morphTargets": [], "normals": [0.94537,0.30021,0.12693,0.79427,0.21268,0.56908,0.79205,0.18473,0.58181,0.95178,0.29109,0.096561,0.863,0.37138,-0.34242,0.83831,0.33,-0.43394,0.63842,0.43251,-0.63665,0.54057,0.35475,-0.76281,0.32682,0.45091,-0.83056,0.67739,0.26658,-0.6856,0.92788,0.24064,-0.28477,0.96753,0.19111,0.16535,0.8381,0.13251,0.52913,0.52281,0.15931,0.8374,0.46556,0.14249,0.87344,0.49715,0.12751,0.85821,0.14505,0.10483,0.98382,0.17838,0.070467,0.98141,-0.10093,0.009674,0.99484,0.16715,-0.021027,0.98569,-0.038057,-0.060884,0.99741,-0.29704,-0.083651,0.95117,-0.29649,-0.036103,0.95434,-0.57341,-0.019776,0.819,-0.64107,0.042177,0.76629,-0.58684,0.018952,0.80944,-0.90564,-0.04416,0.4217,-0.88726,0.081393,0.45399,-0.99698,0.042146,0.064852,-0.8919,0.089084,0.44334,-0.99188,0.12656,0.00998,-0.93203,-0.03119,-0.36094,-0.89718,0.07242,-0.43565,-0.61772,-0.16016,-0.76986,-0.53301,-0.018647,-0.84588,-0.10892,-0.21757,-0.96994,-0.52586,-0.19019,-0.829,-0.097476,-0.25257,-0.96264,-0.55873,-0.16639,-0.81246,-0.15455,-0.24372,-0.95743,-0.53108,-0.20063,-0.82321,-0.19782,-0.15937,-0.96716,-0.25239,-0.13059,-0.95874,-0.006287,-0.000519,-0.99997,0.001007,0.29954,-0.95407,0.051149,0.36708,-0.92877,-0.097964,0.79183,-0.6028,-0.2078,0.81756,-0.537,0.034394,0.47057,-0.88165,0.11313,0.37327,-0.92077,0.13889,0.43037,-0.89187,0.13813,0.41585,-0.89886,0.1836,0.46666,-0.86514,0.36854,0.49516,-0.78674,0.11799,0.3151,-0.94168,0.56789,0.33055,-0.75378,0.45625,0.033723,-0.88919,0.88708,0.12195,-0.44517,0.10941,-0.080966,-0.99066,-0.24241,-0.073,-0.96741,-0.36924,0.3881,-0.84439,-0.12116,0.54576,-0.8291,-0.51457,0.76412,-0.38893,-0.34376,0.93497,0.087313,-0.27824,0.9599,0.033662,-0.19477,0.81521,-0.5454,-0.13251,0.27128,-0.95331,-0.34983,-0.26627,-0.89816,-0.84677,0.058992,-0.52867,-0.9256,-0.056063,-0.37431,-0.91015,-0.10242,-0.40138,-0.91455,-0.099429,-0.39204,-0.99658,-0.077212,0.029237,-0.9606,-0.16227,0.22553,-0.78875,-0.26899,0.55272,-0.5146,-0.46705,0.71902,-0.32685,-0.007477,0.94501,-0.038759,-0.06592,0.99704,0.20808,-0.04648,0.97699,0.44682,0.038728,0.89377,0.49083,0.076449,0.86786,0.82556,0.18647,0.53258,0.80859,0.12479,0.57494,0.78485,0.091586,0.61284,0.51369,0.047334,0.85666,0.46654,-0.062532,0.88226,0.22306,-0.041932,0.97388,-0.056429,-0.009888,0.99835,-0.26875,-0.37696,0.88635,-0.1449,-0.60695,0.7814,-0.064119,-0.5837,0.80941,-0.076754,-0.046327,0.99594,-0.059145,-0.14569,0.98755,-0.38435,-0.10617,0.91705,-0.49867,-0.60201,0.62358,-0.76806,-0.15168,0.62212,-0.79492,-0.46867,0.38523,-0.98691,-0.11762,0.11029,-0.9996,-0.001099,-0.027802,-0.9946,-0.089297,-0.052736,-0.86468,0.46028,-0.20106,-0.9208,0.14606,-0.36161,-0.99042,0.078066,0.11374,-0.93649,0.1091,0.33323,-0.93353,-0.20872,0.29139,-0.62328,0.28724,0.72729,-0.33116,0.30378,0.89331,0.003113,0.30317,0.95291,0.17701,0.3347,0.92553,-0.052736,0.41392,0.90878,-0.28456,0.37925,0.88043,-0.1279,0.28718,0.94928,-0.1362,-0.21177,0.96777,-0.03769,-0.65508,0.75457,0.12503,-0.38588,0.914,0.30341,-0.53935,0.78548,0.23014,-0.72677,0.64714,0.52361,-0.66091,0.53758,0.54323,-0.37046,0.75341,0.16822,-0.24851,0.95389,0.18967,0.206,0.95999,0.49706,0.13288,0.85745,0.84848,-0.097995,0.52004,0.755,-0.44285,0.48351,0.88876,-0.32487,0.32328,0.95434,-0.14011,0.26377,0.77636,0.21244,0.59337,0.82299,0.18647,0.53651,0.83789,-0.48637,0.24763,0.88809,-0.14106,0.43745,0.5634,-0.59652,0.57158,0.77227,-0.12751,0.62233,0.66652,-0.038453,0.74447,0.63332,-0.32942,0.70025,0.11686,-0.73028,0.67302,0.65011,-0.72237,0.23551,0.96164,-0.2595,0.088778,0.96545,-0.17646,0.19157,0.80926,-0.37168,0.45485,0.54967,-0.44392,0.70763,-0.057588,-0.27155,0.96066,0.77612,-0.12684,0.61766,0.97403,-0.006745,0.2262,0.9425,-0.25864,0.21158,0.94717,-0.27274,0.16871,0.94565,-0.26148,-0.19321,0.98575,-0.060701,0.15677,0.90362,-0.14975,-0.40126,-0.051576,0.098575,-0.99377,-0.94571,-0.25584,-0.20032,-0.65349,0.034639,-0.75613,-0.72155,0.10166,-0.68483,-0.9212,-0.3346,-0.1984,-0.53239,-0.57491,-0.62126,-0.4358,-0.88015,-0.18796,0.40086,-0.75304,-0.52168,0.13419,-0.91363,0.38368,0.68801,-0.67892,0.25626,0.52223,-0.4677,0.71306,0.90939,0.029786,0.41481,0.91495,0.22422,0.33555,0.82391,0.52324,-0.21763,0.61373,0.773,-0.16059,0.26395,0.62014,-0.73873,0.37995,0.59508,-0.70812,0.84744,0.46934,-0.24799,0.93835,-0.339,-0.067263,0.8554,-0.24253,-0.45763,0.65847,0.048921,-0.751,0.13886,0.019868,-0.99011,-0.24979,-0.22575,-0.94159,-0.19034,0.47755,-0.85769,0.34449,0.61721,-0.70736,-0.21467,0.41279,-0.88513,-0.099887,0.40703,-0.90793,0.12052,0.68331,-0.72008,0.29762,0.94464,-0.13794,0.067171,0.55461,-0.82937,-0.08063,0.30232,-0.94977,0.11679,0.032289,-0.99262,0.26899,-0.20209,-0.94168,0.59346,-0.30818,-0.74346,0.64772,-0.30412,-0.69851,0.91705,-0.33521,-0.21589,0.94031,-0.25867,-0.22114,0.97241,-0.091037,-0.2147,0.97732,0.14548,0.15372,0.94449,0.087008,-0.31681,0.74606,-0.2327,-0.62386,0.65719,-0.32218,-0.68136,0.24049,-0.28306,-0.92843,0.26292,-0.24998,-0.93185,0.64141,-0.024049,-0.76681,0.31278,0.007721,-0.94977,0.20112,0.38716,-0.89978,0.010498,0.41118,-0.91147,0.2982,0.24409,-0.92276,0.68429,0.10373,-0.72176,0.91946,0.10752,-0.37818,0.98654,0.12439,0.10605,0.846,0.12766,0.51762,0.54344,0.13074,0.82916,0.15268,0.13758,0.97864,0.14945,0.13651,0.97928,0.13428,0.093234,0.98654,-0.12949,0.064638,0.98944,-0.13016,0.061617,0.98956,-0.32322,0.066744,0.94394,-0.3516,0.009919,0.93606,-0.60146,-0.018647,0.79867,-0.90494,0.062227,0.42091,-0.88998,0.07297,0.45009,-0.62227,0.077151,0.77895,-0.88675,0.10932,0.44911,-0.56716,0.077425,0.81994,-0.64477,0.046937,0.7629,-0.91589,0.084078,0.3925,-0.68249,0.028291,0.73031,-0.9267,0.061678,0.37065,-0.77633,0.036073,0.62926,-0.9555,0.055239,0.28965,-0.96597,0.090762,0.24216,-0.72152,0.087069,0.68685,-0.82089,0.10392,0.56151,-0.97296,0.12229,0.19593,-0.97989,0.11362,-0.16395,-0.98288,0.087497,-0.16199,-0.99231,0.073763,-0.099338,-0.99347,0.10727,-0.038087,-0.99176,0.12726,-0.013184,-0.98987,0.13559,0.041688,-0.99109,0.12949,0.030793,-0.99185,0.12665,-0.011383,-0.83596,0.19523,-0.51283,-0.88906,0.21253,-0.40538,-0.92337,0.18629,-0.33567,-0.88205,0.17747,-0.43641,-0.87381,0.12909,-0.46876,-0.84088,0.10428,-0.53105,-0.87558,0.12314,-0.46709,-0.78832,0.13483,-0.60027,-0.4734,0.16331,-0.86557,-0.46297,0.18534,-0.86676,-0.017884,0.22687,-0.97375,0.090701,0.17005,-0.98123,0.35701,0.17267,-0.91797,0.3169,0.12403,-0.94027,0.35011,0.094577,-0.93191,0.23289,0.008576,-0.97244,0.21,-0.031495,-0.97717,0.1988,-0.035554,-0.97937,0.19553,-0.038179,-0.97992,0.12445,0.079836,-0.98898,0.28104,-0.044008,-0.95868,0.3242,0.088565,-0.9418,0.051424,0.23963,-0.96948,0.644,-0.019776,-0.76476,0.92209,0.032716,-0.38557,0.99432,0.085177,0.063631,0.8876,0.10596,0.4482,0.6024,0.11383,0.79,0.2107,0.12064,0.97006,-0.14478,0.13126,0.98071,-0.11682,0.13123,0.98444,-0.16428,0.073794,0.98364,-0.30668,0.06061,0.94986,-0.34684,0.038453,0.9371,-0.40019,0.038392,0.91562,-0.48918,0.054323,0.87048,-0.51555,0.098209,0.85119,-0.59157,0.093051,0.80084,-0.48161,0.17035,0.85964,-0.40013,0.11203,0.90957,-0.33692,0.090365,0.93716,-0.28602,0.066836,0.95587,-0.26374,0.099033,0.95947,-0.3162,0.11765,0.94134,-0.38636,0.16712,0.90704,-0.40736,0.23478,0.88253,-0.20917,0.19111,0.95901,-0.14304,0.15836,0.97696,0.19657,0.15305,0.96844,0.18848,0.17029,0.96719,0.48479,0.13855,0.86358,0.61428,0.13886,0.77676,0.87265,0.096255,0.47871,0.99832,0.05414,0.019684,0.9006,0.01001,-0.43452,0.99817,0.050996,-0.03235,0.9986,0.049074,0.019196,0.88351,0.083926,0.4608,0.92843,0.038697,-0.36943,0.66228,0.046052,-0.74779,0.65288,-0.025849,-0.75698,0.34941,-0.025941,-0.93658,0.31623,0.091067,-0.94427,0.42406,0.11286,-0.89856,0.67953,0.082736,-0.72893,0.88293,0.0553,-0.4662,0.24558,0.15699,-0.95654,0.26408,0.091342,-0.96014,0.21891,-0.02942,-0.97528,0.36402,0.16456,-0.91671,-0.22172,0.26673,-0.9379,-0.18763,0.16706,-0.96789,-0.050111,0.040071,-0.99792,0.13095,-0.014893,-0.99127,-0.057283,0.095492,-0.99377,-0.50114,0.12915,-0.85565,-0.51494,0.10709,-0.85049,-0.58782,0.19251,-0.78573,-0.62886,0.24674,-0.7373,-0.63961,0.30812,-0.70422,-0.50609,0.26194,-0.82171,-0.18873,-0.00235,-0.98199,-0.15662,0.34718,-0.92459,0.067995,-0.00354,-0.99765,0.024415,0.35234,-0.93551,0.081149,-0.20466,-0.97543,0.077364,-0.24531,-0.96634,0.07297,-0.27686,-0.9581,0.27009,-0.29011,-0.91806,0.07947,-0.17502,-0.98132,0.088839,0.05533,-0.99448,0.14835,0.4377,-0.88678,0.2931,0.90054,-0.32105,0.43696,0.85617,0.27567,0.44664,0.78408,-0.43089,0.72811,0.62297,-0.28584,0.9194,0.28791,-0.26783,0.9996,0.015656,0.02234,-0.76461,-0.074953,-0.64009,-0.81448,0.40376,-0.41664,-0.65874,0.74496,0.10523,-0.30674,0.78121,0.54369,-0.28559,0.8302,0.47871,-0.36109,0.93234,-0.018006,-0.49849,0.56319,-0.65899,-0.063173,0.13788,-0.9884,0.16089,-0.31474,-0.93542,0.48134,0.7561,-0.44337,0.64733,-0.053133,-0.76034,0.99979,-0.003052,-0.019105,0.68935,0.55913,0.46055,-0.43324,0.90124,-0.002686,0.37593,0.11942,0.91888,0.41371,-0.11747,0.90277,-0.50105,-0.211,0.83926,-0.65951,0.001679,0.75167,-0.91018,-0.014588,0.41392,-0.87942,-0.063417,0.47179,-0.44166,-0.56316,0.69839,-0.80621,-0.56719,0.16813,-0.15766,-0.97974,-0.12351,0.33433,-0.72481,0.60234,0.85952,0.071139,0.50609,0.99249,-0.021821,-0.12018,0.65178,-0.035737,-0.75753,0.69756,-0.63378,-0.33421,0.68545,-0.70132,0.19562,0.43583,-0.5436,-0.71728,-0.11634,-0.5006,-0.85781,-0.47026,-0.62551,-0.62252,-0.7788,-0.51646,-0.35591,-0.98376,0.031495,-0.17658,-0.9512,0.21244,-0.22367,-0.84725,0.2942,0.44224,-0.69582,0.18995,0.69259,-0.74953,-0.10187,0.65404,-0.83218,0.14133,0.53615,-0.81552,0.30805,0.48988,-0.81689,0.36735,0.44462,-0.54805,0.55126,0.62908,-0.45836,0.62151,0.63527,-0.2729,0.57415,0.7719,0.054323,0.57726,0.81472,0.15824,0.54259,0.82491,-0.025788,0.57503,0.81768,-0.21198,0.57924,0.78707,-0.1099,0.58834,0.80108,0.21964,0.51561,0.82818,0.51427,0.45234,0.7286,0.48296,0.53288,0.69478,0.54311,0.52266,0.65712,0.24622,0.64138,0.72662,0.20795,0.64806,0.73263,0.005799,0.66439,0.74734,0.10904,0.63002,0.76885,0.40184,0.68581,0.60674,0.08533,0.60711,0.79,0.30119,0.40156,0.86486,-0.035005,0.57808,0.81521,0.051973,0.34986,0.93533,0.2909,0.01587,0.9566,0.11417,-0.00885,0.99341,0.2953,-0.51808,0.80273,-0.071535,-0.45763,0.88623,0.46724,-0.26246,0.84423,0.77184,0.10071,0.62774,0.66948,0.44737,0.59294,0.82897,0.51482,0.21845,0.54131,0.82574,0.15839,0.4872,0.61711,0.61785,0.74279,0.25358,0.61959,0.56447,0.38911,0.72796,0.7318,0.53389,0.42351,0.43522,0.81283,0.3871,0.966,0.18687,0.17856,0.85986,-0.13294,0.49287,-0.95526,-0.20689,-0.21131,-0.95688,0.29014,0.011719,-0.83776,0.25452,0.48305,-0.60552,0.64934,0.46004,-0.35765,0.50267,0.78701,-0.46315,0.067324,0.88369,-0.17179,0.39039,0.90445,-0.018647,0.5764,0.81692,-0.11173,0.62603,0.77172,-0.13285,0.65163,0.74679,-0.21104,0.68084,0.70135,-0.37675,0.62889,0.68007,-0.53386,0.45741,0.71111,-0.48311,0.73864,0.47005,-0.72011,0.68908,-0.081149,-0.59264,0.16599,-0.78817,-0.5219,0.060427,-0.85086,0.16263,0.043703,-0.98569,0.019349,0.02826,-0.99939,-0.20194,0.69317,0.69188,-0.02768,0.6672,0.74435,0.042787,0.6184,0.78466,0.051668,0.61135,0.78967,-0.029298,0.56325,0.82574,-0.023072,0.59825,0.80093,-0.089175,0.62596,0.77471,-0.078677,0.63094,0.77181,-0.074526,0.28175,0.95657,-0.30537,0.011475,0.95215,-0.37034,-0.60149,0.70782,-0.60143,-0.37187,0.70705,-0.90729,-0.32182,0.27055,-0.10157,-0.033082,0.99426,-0.3119,0.3878,-0.86734,-0.5508,-0.76333,0.33747,0.73818,-0.32307,-0.59215,0.31959,-0.32496,-0.89007,0.93994,-0.2674,-0.21201,0.87072,-0.44881,-0.20096,0.8872,-0.35231,-0.29777,0.62313,-0.41145,-0.66512,0.704,-0.26219,-0.66002,0.94263,-0.19785,-0.26878,0.85046,0.009705,-0.52592,0.38276,-0.027833,-0.9234,0.33656,-0.30796,-0.88986,0.40321,-0.40699,-0.81961,0.13456,-0.42692,-0.89419,0.12961,-0.34806,-0.92843,-0.065279,-0.38911,-0.91885,-0.50941,-0.49318,-0.70513,0.053774,-0.95471,0.29258,0.42531,-0.8923,0.15119,0.10819,-0.99197,-0.065157,0.56423,-0.82281,0.067782,0.35935,-0.91324,0.19193,0.59947,-0.62914,0.49474,0.7373,-0.57015,0.36238,0.74331,-0.59108,0.31315,0.70919,-0.70092,0.075594,0.81692,-0.45094,0.35948,0.8482,-0.52196,0.089785,0.85489,-0.40129,0.32875,0.8945,-0.4391,0.083895,0.92618,-0.26725,0.266,0.95709,-0.27964,0.075594,0.95373,-0.23194,0.19126,0.944,-0.13684,0.30015,0.90268,-0.16245,0.39845,0.73522,-0.43822,0.51707,0.79299,-0.17353,0.58394,0.74261,-0.10147,0.66195,0.95309,-0.10001,0.28565,0.65453,-0.093051,0.75024,0.74367,-0.27442,0.60958,0.68749,-0.33393,0.6448,-0.00235,-0.91095,0.41243,0.009919,-0.98004,-0.1984,-0.18793,-0.81811,-0.54344,0.63814,-0.75912,0.1283,0.82549,-0.56438,-0.001495,0.90115,-0.38374,0.20158,0.71798,-0.07944,0.69149,0.80471,-0.019288,0.59331,0.65999,-0.087588,0.74612,0.77014,-0.19419,0.60753,0.86596,-0.18745,0.46361,0.8102,-0.35716,0.46474,0.85696,-0.22712,0.4626,0.7908,-0.18003,0.58498,0.93203,0.35868,0.05121,0.78204,0.5848,0.2154,0.10846,0.74926,-0.65331,0.29222,0.36232,-0.88504,0.19523,0.48488,-0.8525,0.38783,-0.078372,-0.91836,0.98941,0.14426,0.014649,0.76147,0.022065,0.64779,0.98596,-0.11152,-0.12409,0.85842,-0.45421,-0.23829,0.39195,-0.52495,-0.75549,0.28544,-0.59734,-0.74944,0.72939,-0.64019,-0.24107,0.9284,-0.35701,0.10276,0.90085,-0.4329,0.032502,0.82586,-0.56166,-0.049654,0.75408,-0.65261,-0.073519,0.64803,-0.70699,0.28315,0.9371,-0.29499,0.18647,0.96921,-0.2454,-0.020081,0.92383,-0.38096,-0.036805,0.88003,-0.45711,-0.1286,0.56825,-0.41246,-0.71197,0.63497,-0.21235,-0.74276,0.9986,0.052614,0.0047,0.92807,0.11216,-0.35508,0.51186,0.081057,-0.85522,0.095523,0.053316,-0.99399,0.10874,-0.078982,-0.99091,0.12409,-0.26252,-0.95688,-0.083956,-0.35102,-0.93258,-0.14197,-0.46281,-0.875,-0.38279,-0.51442,-0.76733,-0.49132,-0.38456,-0.78146,-0.72109,-0.51698,-0.4612,-0.70519,-0.61016,-0.36109,-0.77746,-0.49336,-0.39003,-0.52211,-0.84518,0.11402,-0.24827,-0.96692,0.058321,-0.38966,-0.92047,-0.029115,-0.19971,-0.97049,0.13511,0.080996,-0.97864,0.18891,0.28245,-0.74807,0.60048,0.47609,-0.24827,0.84359,0.23035,-0.30506,0.92401,0.19428,0.008789,0.98089,-0.093387,-0.072878,0.99295,-0.067232,-0.29038,0.95453,-0.38337,-0.050325,0.92221,-0.27192,-0.53685,0.79861,0.045656,-0.89212,0.44945,0.20957,-0.48756,0.84753,0.26771,-0.84277,0.4669,0.42662,-0.39143,0.81533,0.57204,-0.61947,0.53755,0.4677,-0.42601,0.77444,0.68722,-0.13752,0.71331,0.59673,-0.21479,0.77312,0.699,0.060396,0.71255,0.42753,0.25831,0.86627,0.58654,0.39763,0.70556,0.5659,0.087039,0.81982,0.4019,0.36091,0.84152,0.37925,0.48805,0.78607,0.067507,-0.40278,0.91278,0.25376,-0.080905,0.96387,0.35346,-0.22101,0.90893,0.4095,-0.2306,0.88266,0.48308,-0.13395,0.86523,0.40382,-0.00885,0.91476,0.67827,-0.24009,0.69442,0.74737,-0.29975,0.59291,0.77868,-0.34025,0.52712,0.79983,-0.39735,0.44978,0.83254,-0.24897,0.4948,0.84728,-0.18155,0.49907,0.93133,-0.11359,0.34596,0.75454,-0.14307,0.64043,0.80184,-0.027345,0.59688,0.80068,0.10968,0.58892,0.93509,-0.005463,0.35435,0.84018,0.17823,0.51216,0.89618,0.064028,0.43898,0.8634,0.011811,0.50435,0.902,0.003754,0.43165,0.92413,0.016816,0.38163,0.91549,0.043794,0.39988,0.94592,0.046968,0.3209,0.94162,0.11881,0.31501,0.98349,0.15052,0.10028,-0.26194,0.90261,-0.3415,0.20243,0.74679,0.63347,0.76458,-0.013184,0.64437,0.89135,-0.11585,0.43818,0.79849,-0.048372,0.60002,0.006623,0.25837,0.966,0.61458,0.19361,0.7647,0.64913,0.54897,0.52651,0.011963,0.98965,-0.14283,0.29054,-0.51268,-0.80789,0.89956,-0.43529,0.035371,0.84967,-0.4799,0.21839,-0.17844,0.90127,0.39476,-0.54885,0.7134,0.43559,0.99325,-0.10807,0.041566,0.89441,-0.39903,0.20197,0.91842,-0.29328,0.26545,0.88861,0.11518,0.44389,0.8764,0.11209,0.46831,0.75268,0.33024,0.56954,0.71441,0.3878,0.58239,0.46904,0.61431,0.63448,0.29695,0.60024,0.74264,0.18403,0.75387,0.6307,0.18226,0.77844,0.60067,0.48439,0.64895,0.58666,-0.14249,0.74395,0.65285,-0.14084,0.80779,0.57237,-0.45054,0.71361,0.53636,-0.45329,0.68859,0.56597,-0.69945,0.49467,0.51576,-0.7116,0.52651,0.46516,-0.87899,0.22465,0.42052,-0.90161,0.16086,0.40144,-0.96387,-0.074465,0.25572,-0.95639,-0.075533,0.28211,-0.96658,-0.14887,0.20866,-0.95193,-0.18604,0.24329,-0.96582,-0.17664,0.18964,-0.9599,-0.12598,0.2504,-0.9664,-0.20014,0.16117,-0.919,-0.30119,0.25425,-0.9126,-0.34831,0.21403,-0.87567,-0.21976,0.42991,-0.8421,-0.34095,0.41783,-0.93936,-0.30592,-0.15476,-0.81811,-0.57436,0.028016,-0.95105,-0.29493,0.092196,-0.87497,-0.47691,0.083254,-0.88534,-0.36674,0.28568,-0.76403,-0.23337,0.60143,-0.81042,-0.23591,0.53621,-0.88614,-0.19242,0.42152,-0.82757,-0.56072,0.025941,-0.68487,-0.61223,-0.39512,-0.12027,-0.57738,-0.80752,-0.67834,-0.71835,-0.15424,-0.004791,-0.62706,-0.77892,-0.32063,-0.50346,-0.8023,-0.52324,-0.76846,-0.36836,-0.72686,-0.62163,-0.29188,-0.80242,-0.55773,-0.21216,-0.85192,-0.4778,-0.21418,-0.84896,-0.52788,-0.024171,-0.7441,-0.66726,0.032411,-0.57778,-0.789,-0.20884,-0.55473,-0.83032,-0.052797,-0.65679,-0.73443,0.1709,-0.665,-0.71371,0.21989,-0.54732,-0.74654,0.37822,-0.74072,-0.38539,0.55025,-0.57479,-0.35588,0.73684,-0.24039,-0.8016,0.54738,0.036988,-0.86236,0.50493,-0.037141,-0.49727,0.86679,-0.3437,-0.36384,0.86569,-0.56768,-0.10831,0.81607,-0.60875,-0.24574,0.75433,-0.7748,-0.45561,0.43825,-0.76473,-0.6129,0.19877,-0.72683,-0.68322,-0.070193,-0.80499,-0.57125,0.1601,-0.78359,-0.5002,0.36839,-0.63027,-0.35038,0.69277,-0.52226,-0.32597,0.78799,-0.47566,-0.30592,0.8247,-0.51555,-0.35997,0.77755,-0.71172,-0.4575,0.53301,-0.70708,-0.374,0.60008,-0.84716,-0.42094,0.32414,-0.77706,-0.55882,0.28959,-0.88775,-0.45296,0.081698,-0.78665,-0.61123,-0.086856,-0.66964,-0.71477,-0.20161,-0.78375,-0.60537,-0.13861,-0.87704,-0.46742,-0.11072,-0.9064,-0.42238,0.002289,-0.83941,-0.53801,-0.076815,-0.78262,-0.60753,-0.1355,0.22654,-0.95788,-0.1764,-0.72027,-0.58724,0.36921,-0.93783,-0.32951,0.10895,-0.8757,-0.35795,0.32401,-0.67083,-0.33338,0.6624,-0.42225,-0.40968,0.80859,-0.25825,-0.29972,0.91839,-0.41905,-0.14982,0.8955,-0.68322,-0.34587,0.64309,-0.493,-0.48555,0.72188,-0.18067,-0.8887,0.42134,-0.53148,-0.73244,0.42546,-0.51732,-0.52687,0.67434,-0.25974,-0.59157,0.76324,-0.024445,-0.57356,0.81878,-0.34001,0.21216,0.91617,-0.64205,0.3072,0.70238,-0.77358,-0.28709,0.56487,-0.78283,0.25739,0.56645,-0.82446,-0.095584,0.55776,-0.63436,0.1496,0.75838,-0.16562,-0.42665,0.8891,-0.19022,-0.83169,0.52159,-0.51283,-0.43706,0.73888,-0.65911,-0.31022,0.68505,-0.61754,-0.15354,0.77139,-0.64763,0.064119,0.75921,-0.51207,-0.080599,0.85513,-0.46986,-0.20817,0.85781,-0.64065,-0.21332,0.73757,-0.44743,-0.12979,0.88482,-0.48018,-0.081362,0.87338,-0.46394,-0.013672,0.88574,-0.5334,-0.18314,0.82577,-0.53829,-0.072237,0.83962,-0.48881,0.087588,0.86795,-0.54473,0.012085,0.8385,-0.40782,0.11374,0.90591,-0.55715,-0.074587,0.82702,-0.3581,-0.035066,0.93301,-0.50813,0.011505,0.86117,-0.66103,0.066805,0.74734,-0.71566,-0.008515,0.69839,-0.70952,-0.10138,0.69732,-0.80456,-0.036287,0.59273,-0.90729,-0.065157,0.41539,-0.72744,-0.00824,0.68612,-0.88247,-0.19981,0.42576,-0.93945,-0.30512,0.15589,-0.82256,-0.30454,0.48021,-0.94363,-0.004364,0.33094,-0.90695,-0.086428,0.41224,-0.78677,-0.26591,0.55699,-0.6245,-0.60363,0.49556,-0.57588,-0.33802,0.74435,-0.62447,0.059236,0.77877,-0.54277,0.14997,0.82635,-0.35929,-0.088351,0.92901,-0.16687,-0.08768,0.98206,-0.20408,0.17048,0.96399,-0.30812,0.34248,0.88754,-0.19373,0.18708,0.96304,-0.27775,0.24894,0.92782,-0.19898,-0.48955,0.84893,-0.21873,-0.60652,0.76437,-0.063387,-0.71935,0.69173,-0.077303,-0.71264,0.69726,-0.033448,-0.7698,0.63738,-0.012085,-0.83004,0.55751,-0.15189,-0.75396,0.63909,-0.095157,-0.94089,0.32505,-0.33094,-0.80587,0.49092,-0.17899,-0.73275,0.65651,-0.22453,-0.67699,0.70089,-0.16327,-0.43944,0.8833,-0.35069,-0.41469,0.83966,-0.33842,-0.3617,0.86868,-0.46089,-0.29255,0.83783,-0.61571,0.008057,0.7879,-0.67653,-0.27934,0.68136,-0.86718,-0.016968,0.49767,-0.91324,-0.13953,0.38273,-0.79107,-0.40046,0.46239,-0.87616,-0.27561,0.3954,-0.77267,-0.36497,0.51936,-0.88583,-0.30149,0.35264,-0.93097,-0.17185,0.32206,-0.93295,-0.13382,0.33415,-0.92499,-0.034242,0.3784,-0.84719,0.080691,0.5251,-0.60244,0.08771,0.7933,-0.40584,-0.000671,0.91394,-0.26136,-0.078066,0.96207,-0.2628,-0.29914,0.91729,-0.2541,-0.69475,0.67281,-0.17756,-0.60106,0.7792,-0.2063,-0.70968,0.67361,-0.19279,-0.59123,0.78311,-0.16501,-0.28202,0.9451,-0.31449,-0.59032,0.74334,-0.35124,-0.64034,0.68303,-0.12876,-0.62322,0.77133,-0.27183,-0.6263,0.73064,-0.51302,-0.73278,0.447,-0.3683,-0.7593,0.53645,-0.34867,-0.70986,0.61193,-0.63414,-0.64266,0.42991,-0.39021,-0.60503,0.69399,-0.2107,-0.48091,0.85104,-0.58132,-0.18851,0.7915,-0.59313,-0.048311,0.80364,-0.63607,0.007538,0.77157,-0.455,0.44444,0.77163,-0.30747,0.12644,0.94308,-0.13935,-0.099246,0.98523,-0.048463,-0.037233,0.99811,-0.054109,-0.000824,0.9985,-0.40245,0.15513,0.90219,-0.25614,0.22532,0.94,-0.29255,0.3108,0.90429,-0.48198,0.29191,0.82611,-0.4994,0.070528,0.86346,-0.66118,0.058809,0.74789,-0.63076,0.335,0.69991,-0.50371,0.37654,0.77746,-0.21583,0.4236,0.87973,-0.66826,0.24924,0.70092,-0.71841,0.301,0.62709,-0.82806,0.228,0.51213,-0.88962,0.079562,0.44969,-0.67141,-0.13321,0.729,-0.81811,-0.016877,0.57479,-0.95312,0.15958,0.25703,-0.94366,-0.05533,0.32615,-0.72979,-0.050661,0.68178,-0.70876,-0.61351,0.34815,-0.44233,-0.51399,0.73492,-0.03943,-0.95053,0.30802,-0.28086,-0.9187,0.27763,-0.25767,-0.95587,0.141,-0.32722,-0.9415,0.080325,-0.4294,-0.82839,0.3596,-0.73977,-0.46342,0.48778,-0.4467,-0.48454,0.7521,-0.57744,-0.028748,0.81588,-0.044618,-0.44945,0.89218,0.022919,-0.80813,0.58852,0.025056,-0.81686,0.57628,0.50652,-0.73257,0.4547,0.37599,-0.40028,0.83569,0.7055,-0.31547,0.6346,0.39729,0.071017,0.91491,-0.10801,0.071139,0.99158,-0.13459,0.42784,0.89377,-0.67647,0.28031,0.68102,-0.56627,0.46886,0.67782,-0.88183,0.22147,0.41624,-0.94168,0.15424,0.29902,-0.93777,-0.053499,0.34303,-0.62041,-0.71413,0.32414,-0.90213,0.052919,0.42817,-0.67141,0.33519,0.66094,-0.73629,0.081027,0.67177,-0.58751,-0.39576,0.7058,-0.46657,-0.33433,0.81884,-0.50517,0.19553,0.84054,-0.13785,0.49553,0.85757,-0.13999,0.5508,0.82278,0.31422,0.55901,0.7673,0.44523,0.44951,0.77438,0.64663,0.37898,0.66198,0.71862,0.38536,0.57885,0.45711,0.39634,0.79617,0.76949,0.22407,0.59801,0.81283,0.33387,0.47728,0.74789,0.2472,0.61605,0.47356,0.17496,0.86319,0.52565,-0.010651,0.85061,0.67376,0.13584,0.72634,0.83108,0.34226,0.43828,0.84201,0.1287,0.52385,0.67385,-0.58162,0.45561,0.73367,-0.4658,0.49467,0.8514,0.12842,0.50853,0.51051,-0.095462,0.85452,0.57448,0.082827,0.81426,0.30308,-0.00116,0.95294,0.29301,0.15165,0.94397,0.23933,0.36576,0.89938,0.39851,0.44038,0.8045,0.50389,0.42613,0.75131,0.55629,0.21338,0.8031,0.27805,0.27574,0.92013,-0.12705,0.304,0.94415,-0.081057,-0.18067,0.98019,-0.21842,-0.4434,0.86929,-0.19657,-0.12546,0.97241,-0.26731,0.087374,0.95962,-0.40645,0.13587,0.90347,-0.43757,0.12052,0.89105,-0.71249,0.084964,0.69649,-0.43242,0.27821,0.85766,-0.79507,0.16163,0.58458,-0.55306,0.5132,0.65627,-0.90823,-0.037629,0.4167,-0.90896,-0.033937,0.41545,-0.86056,0.006226,0.50929,-0.13831,0.50648,0.85104,-0.12818,0.32072,0.93844,-0.1203,0.21308,0.96957,-0.1113,0.10681,0.98801,-0.094333,-0.064364,0.99344,-0.065798,-0.30107,0.95132,0.12543,-0.40819,0.9042,0.020173,-0.10328,0.99445,0.047884,0.11963,0.99164,0.18277,0.1962,0.96335,0.2075,0.062075,0.97626,0.074892,-0.043641,0.99622,0.026734,-0.2624,0.96457,0.27213,-0.53026,0.80294,0.35163,-0.25056,0.90194,0.50249,-0.28416,0.81652,0.43791,-0.08417,0.89505,0.45149,0.36387,0.81466,0.25291,0.45399,0.85433,0.038301,0.34468,0.93793,0.18805,0.17475,0.96646,0.27854,0.16617,0.94592,0.27146,0.061586,0.96045,0.27912,-0.055422,0.95865,0.32173,-0.12711,0.93823,0.33717,0.006317,0.9414,0.38115,-0.4297,0.81857,0.16718,-0.92938,0.32902,0.41081,-0.88742,0.20893,0.4868,-0.85815,0.163,0.39845,-0.84915,0.34663,0.75564,-0.24161,0.60875,0.45595,-0.27073,0.8478,-0.028748,-0.54833,0.83575,-0.5518,-0.37391,0.74542,-0.79754,-0.40065,0.45097,-0.69872,-0.039674,0.71425,-0.55187,0.031007,0.83334,-0.52318,0.022095,0.85189,-0.40245,-0.5612,0.7232,-0.4398,-0.69954,0.56319,-0.18076,-0.90909,0.37529,-0.7235,-0.044923,0.6888,-0.09415,-0.93594,0.33931,-0.26112,-0.83953,0.47639,-0.040895,-0.90066,0.43254,-0.19199,-0.52989,0.82601,-0.23017,0.032807,0.97256,-0.23337,-0.049989,0.9711,-0.10596,0.049623,0.9931,-0.10291,0.01822,0.99451,-0.022309,-0.58577,0.81014,-0.12351,-0.9067,0.40324,0.049806,-0.95819,0.28175,0.077425,-0.97284,0.21812,0.047914,-0.89941,0.43446,0.2201,-0.87152,0.43815,0.12607,-0.49733,0.85833,0.13382,-0.88275,0.4503,0.35466,-0.48369,0.80013,0.32411,-0.77963,0.53584,0.45009,-0.60845,0.65358,0.55812,-0.18561,0.80871,0.32786,0.10923,0.93838,0.0206,0.058473,0.99805,0.04059,-0.021943,0.99893,0.35728,0.12409,0.92569,0.53603,0.086734,0.83969,0.45726,0.17725,0.87146,0.46962,-0.042238,0.88183,0.43254,-0.34025,0.83493,0.24549,-0.78707,0.56587,0.28108,-0.86178,0.42222,0.21055,-0.90472,0.37028,0.009827,-0.95813,0.28614,0.088321,-0.95422,0.28565,0.044252,-0.98343,-0.17569,0.32627,-0.33305,0.88464,0.4362,-0.19221,0.87906,0.39287,-0.19074,0.89956,0.50035,-0.18335,0.84616,0.38401,-0.089206,0.91897,0.36372,0.020081,0.93127,0.35319,0.10401,0.92975,0.38481,0.021821,0.92273,0.16483,0.018433,0.98615,0.013398,0.25291,0.96738,-0.017792,-0.07239,0.99719,-0.14472,-0.04709,0.98834,-0.053041,0.44023,0.8963,0.081851,0.16636,0.98264,0.19367,0.51091,0.83752,0.45503,0.11933,0.88241,0.41865,0.0553,0.90643,0.65163,-0.511,0.56053,0.35756,-0.52852,0.76992,0.55013,-0.62395,0.55495,0.24094,-0.57378,0.78274,0.12918,-0.44612,0.88556,0.32942,-0.57067,0.75216,0.14768,-0.55635,0.81768,0.12949,-0.25898,0.95715,0.22425,-0.30409,0.92584,0.43214,0.11536,0.89438,0.40239,0.19059,0.89538,0.21821,0.18766,0.95767,0.18824,0.34175,0.92071,0.61385,0.30586,0.72771,0.52776,0.21192,0.8225,0.69195,0.23829,0.68148,0.73617,0.14716,0.66057,0.56938,-0.15177,0.80792,0.33403,-0.21116,0.91858,0.25245,-0.35292,0.90094,0.068941,-0.41566,0.90689,0.13581,-0.56899,0.81103,0.24918,-0.64324,0.72396,0.20618,-0.66744,0.71551,0.094974,-0.60033,0.79406,0.21168,-0.63231,0.7452,0.38142,-0.73293,0.56328,0.18799,-0.69512,0.69384,0.19321,-0.70669,0.68059,0.21531,-0.90905,0.3567,0.16974,-0.72103,0.67174,0.39885,-0.68078,0.61434,0.35505,-0.63781,0.68343,0.12009,-0.45689,0.88134,-0.043367,0.20249,0.9783,0.17533,0.21433,0.96088,-0.042512,-0.089267,0.99509,-0.14667,-0.010285,0.98911,-0.030274,0.1883,0.98163,0.17744,-0.033357,0.98355,0.31367,0.095645,0.94467,0.47194,0.18281,0.86245,0.32606,0.23893,0.91464,0.43211,0.16739,0.88611,0.19178,0.3375,0.92154,0.14994,0.3346,0.93033,0.0318,0.28065,0.95926,0.24546,-0.44749,0.85989,0.17933,-0.56578,0.8048,0.050172,0.37922,0.92392,0.067415,-0.70595,0.70501,0.07831,-0.69671,0.71303,0.067141,-0.82193,0.5656,0.24375,-0.59209,0.76809,0.43278,-0.24894,0.86642,0.74712,-0.24299,0.61864,0.55998,-0.48976,0.6682,0.35273,-0.69051,0.63146,0.059603,-0.76028,0.64681,0.15128,-0.81942,0.55284,0.47563,-0.70412,0.52721,0.62151,-0.47606,0.62215,0.81704,-0.10227,0.5674,0.82781,0.038697,0.55962,0.81884,0.14426,0.55556,0.79605,0.1406,0.58867,0.72283,0.16834,0.67016,0.79583,0.13681,0.58983,0.85525,0.049226,0.51582,0.84002,-0.12479,0.528,0.71099,-0.21305,0.67009,0.69717,-0.11396,0.70776,0.56215,0.028779,0.8265,0.47206,-0.23069,0.85083,0.32347,-0.81478,0.48109,0.54918,0.12094,0.82687,0.56285,0.12384,0.81719,0.55391,-0.051973,0.83093,0.4398,-0.085849,0.89395,0.57854,-0.20548,0.78933,0.63384,-0.2367,0.73632,0.41197,-0.26499,0.87179,0.12507,-0.26048,0.95734,0.53697,-0.2309,0.81137,0.66839,-0.3162,0.67321,0.66106,0.11371,0.74163,0.80526,0.088839,0.5862,0.080305,-0.19658,-0.97719,0.1258,-0.94626,0.29789,0.18979,-0.96854,-0.16092,0.15691,-0.18873,-0.96941,-0.61815,0.38597,0.68471,-0.62542,0.25581,0.73714,-0.52605,0.6444,0.55495,-0.3115,0.70364,0.6386,-0.3527,0.79141,0.49922,-0.1377,0.86328,0.48552,-0.14274,0.71371,0.68572,-0.12705,0.30436,0.94403,0.1012,0.25733,0.961,0.030519,0.73864,0.67336,0.080172,0.83575,0.5432,0.26487,0.72539,0.6353,0.41444,0.41539,0.80972,0.21592,-0.54286,0.81155,-0.57192,-0.60564,0.55321,-0.32554,-0.75991,0.56258,-0.41994,-0.7958,0.43623,-0.26795,-0.64449,0.71609,-0.53768,-0.34831,0.76782,-0.17902,-0.7449,0.64269,-0.090793,-0.8442,0.52824,-0.24256,-0.87277,0.42354,-0.31684,-0.50511,0.80276,-0.4351,0.27332,0.85784,-0.39616,0.27866,0.87484,-0.61162,-0.29719,0.73318,-0.55483,-0.29368,0.77838,-0.51765,-0.28394,0.80706,-0.5826,-0.1905,0.79009,-0.6863,-0.17893,0.70492,-0.82376,-0.26185,0.50282,-0.72085,-0.47813,0.50172,0.10291,-0.90017,0.42314,-0.4854,-0.87414,0.014191,0.45256,-0.75256,-0.47835,-0.77966,-0.43037,0.45482,-0.75854,-0.23774,0.60668,-0.41865,-0.32023,-0.84979,-0.014985,-0.54396,-0.83895,-0.1735,-0.13584,-0.9754,-0.11484,0.45311,-0.884,-0.96939,-0.14884,-0.19523,-0.81103,-0.37739,-0.44694,-0.71306,-0.15033,-0.68477,-0.84207,-0.069063,-0.53493,-0.99356,-0.051881,-0.10056,-0.98068,-0.15024,0.12519,0.13819,0.9436,-0.30082,-0.1243,0.72542,-0.67696,-0.17682,0.31428,-0.93271,-0.98096,-0.057466,-0.18549,-0.89871,-0.30448,-0.31556,-0.8638,-0.14429,0.48268,-0.82073,-0.35707,0.44591,-0.79803,-0.5218,0.30134,-0.85903,-0.17942,0.47941,-0.47008,0.67794,0.56511,-0.25046,0.23206,0.93988,0.29667,0.79998,0.5215,-0.98975,-0.078921,0.11878,-0.088198,0.91052,0.40391,-0.18158,0.96985,-0.16248,-0.83761,0.39674,0.37544,-0.91034,0.41151,0.043458,-0.9762,0.16331,-0.14261,-0.83889,-0.34687,0.41942,-0.86856,-0.40379,0.2873,-0.78057,0.050783,0.62294,-0.33702,-0.005829,-0.94146,-0.17777,-0.085238,-0.98035,-0.32395,0.90432,0.27787,-0.70989,0.63991,0.29414,-0.34135,0.876,0.34065,-0.74792,0.65838,0.084323,-0.24317,0.96969,0.022126,-0.67302,0.71859,-0.17502,-0.40666,0.56142,0.72069,-0.63112,0.7004,0.33326,-0.37126,0.90075,0.22529,-0.28437,0.94717,0.14814,-0.88055,0.46043,-0.11222,-0.31675,0.91143,0.26255,-0.31227,0.92761,0.2049,-0.93234,0.29899,-0.20328,-0.6657,0.62954,-0.40062,-0.17469,0.97107,-0.16269,-0.59355,0.71944,-0.36064,-0.16834,0.9718,-0.16498,-0.63439,0.65456,-0.41118,-0.92883,-0.11841,-0.35099,-0.92721,-0.090365,-0.36345,-0.6812,0.57622,-0.45152,-0.97281,-0.04004,-0.22803,-0.64574,0.65285,-0.39592,-0.95901,-0.125,-0.25416,-0.58303,0.68563,-0.4358,-0.84936,-0.02121,-0.52733,-0.71395,-0.4604,-0.52751,-0.73577,-0.45576,-0.5009,-0.63472,-0.71453,-0.29411,-0.73223,-0.66268,-0.15699,-0.58431,-0.81124,0.021302,-0.75909,-0.65004,0.034455,-0.67583,-0.70293,0.22156,-0.80728,-0.5602,0.18561,-0.8464,-0.38871,0.36396,-0.8558,-0.49123,0.16205,-0.85552,-0.48262,-0.18741,-0.89233,-0.44368,-0.082888,-0.69857,-0.4499,-0.55638,0.22877,-0.90796,-0.35108,0.83178,0.22715,0.50645,0.90539,-0.34349,0.24952,0.7564,0.43638,0.48723,0.86856,0.40043,0.29191,0.74105,0.58635,0.3271,0.84225,0.49739,0.20774,0.82266,0.47471,0.31282,0.76772,0.54506,0.33689,0.73916,0.61165,0.28193,0.64849,0.66506,0.37031,0.74612,0.63411,0.20283,0.66054,0.73284,0.16309,0.78927,0.57402,0.21793,0.3918,0.80746,0.44099,0.19413,0.98068,-0.023133,-0.56249,0.79043,0.24244,0.11338,0.75674,0.64379,-0.618,0.73992,0.26557,0.021455,0.86026,0.50935,-0.66164,0.72765,0.18091,-0.53777,0.73507,0.41279,0.23994,0.66649,0.7058,-0.41838,0.76016,0.49706,-0.92279,0.38154,0.053377,-0.83642,0.50786,0.20603,-0.98505,-0.01941,-0.17112,-0.91977,-0.25712,-0.29643,-0.77316,-0.48231,-0.41176,-0.79205,-0.4572,-0.40443,-0.4207,-0.74779,-0.51357,-0.23197,-0.82937,-0.50823,0.41496,-0.85235,-0.31822,0.46971,-0.82757,-0.30732,0.90329,-0.40422,0.14365,0.90439,-0.41734,0.088595,0.87289,-0.48363,0.06415,0.84259,0.15507,0.5157,0.8984,0.02884,0.43818,0.82019,-0.56783,-0.06943,0.9147,0.03003,0.40294,0.97903,-0.004669,0.20356,0.55178,0.57134,0.6075,0.71145,0.43498,0.5519,0.84927,0.11777,0.51463,0.99918,0.031739,0.025025,0.91989,0.27598,-0.27854,0.95926,-0.079348,0.27107,0.95871,0.23115,0.16553,0.6932,0.55519,-0.45958,0.283,0.55455,-0.7825,0.50279,0.34361,-0.79315,-0.19575,0.11472,-0.97391,0.68114,-0.16752,-0.71267,0.74999,-0.50426,-0.42802,0.19651,-0.61388,-0.76452,0.23521,-0.82256,-0.51768,0.28196,-0.88571,-0.36869,-0.4492,-0.72423,-0.52309,-0.84182,-0.34016,-0.41902,-0.97473,0.20026,-0.098849,-0.76013,0.59359,0.2642,-0.21277,0.79733,0.56478,-0.66121,0.69655,0.27848,-0.14521,0.80392,0.57668,0.074068,0.84872,0.52358,-0.59005,0.78454,0.1905,0.036714,0.58589,-0.80953,0.28239,0.88778,-0.36335,0.72326,-0.63488,0.27158,-0.62431,-0.77464,-0.10089,0.67901,-0.24412,0.69231,0.77413,-0.15491,0.61373,0.91165,0.40684,-0.057863,0.53917,0.62624,-0.5631,-0.082369,0.55507,-0.82769,-0.52623,0.22697,-0.81945,-0.8193,-0.088412,-0.56649,-0.79904,-0.060183,-0.59822,-0.58956,-0.15314,-0.79305,-0.046632,-0.25993,-0.96448,-0.58223,-0.23734,-0.77758,-0.52535,-0.56685,-0.63454,-0.84371,-0.17225,-0.50835,-0.94177,0.296,-0.1594,-0.88177,0.36363,-0.30036,-0.77419,-0.081851,-0.62758,-0.7589,0.075045,-0.64684,0.47111,0.72161,-0.50725,-0.029054,-0.99646,0.078677,0.35246,-0.93268,-0.076357,0.098178,-0.61852,0.77956,-0.55452,-0.70324,0.44487,-0.5258,-0.66524,0.53002,0.29542,-0.5164,0.80373,0.13758,-0.57946,0.80328,-0.455,-0.64742,0.61138,-0.91421,-0.39967,0.066744,-0.91632,-0.39979,-0.022523,-0.88626,-0.45125,-0.10447,-0.87805,0.042238,-0.4767,-0.9031,-0.096957,-0.41832,-0.93808,-0.1088,-0.32881,-0.81045,0.17664,-0.55849,-0.67061,0.24604,-0.69979,-0.20634,0.58138,-0.78701,0.56548,0.63186,-0.53002,0.94635,0.27601,0.16791,0.72402,-0.20627,0.65819,0.40715,0.63802,0.65352,0.33946,0.63546,0.69347,0.77523,0.27198,0.57005,0.69973,0.46843,0.53938,0.72042,0.30665,0.622,0.83725,0.33457,0.43251,0.93957,0.31162,0.14164,0.86801,0.42198,0.26167,0.93896,0.26353,0.22108,0.91412,0.34352,0.21522,0.85037,0.42671,0.30784,0.85968,0.38423,0.33659,0.92938,0.25483,0.26692,0.90759,0.16263,0.38704,0.71383,0.35832,0.60164,-0.32966,0.79913,0.50267,-0.96551,0.18842,-0.17957,-0.87988,-0.47371,-0.037324,-0.75631,-0.44056,-0.48357,-0.82189,-0.56035,0.10227,-0.004364,-0.8526,-0.52248,0.89911,0.009064,0.43757,0.86868,-0.49318,0.046175,0.87289,0.25221,0.41762,0.75457,0.23881,0.61119,-0.1604,0.65294,0.7402,-0.99155,0.11976,-0.049379,-0.74416,-0.66674,0.040437,-0.75771,-0.41154,-0.50642,-0.12064,-0.95532,-0.26978,-0.00882,-0.77133,-0.63634,0.85766,-0.51058,-0.060701,0.92196,-0.38096,0.069491,0.94122,0.24522,0.23231,0.97171,0.18705,0.14408,0.96735,0.16477,0.19245,0.94409,0.27799,0.17713,0.99603,0.03415,-0.082003,0.95032,-0.29603,0.096042,0.93173,-0.29682,0.20908,0.97076,-0.12143,0.20695,0.6552,-0.66939,-0.35011,0.55205,-0.7737,-0.31077,0.52623,-0.78878,-0.31755,0.71227,-0.51973,-0.47169,0.7387,-0.54521,-0.39625,0.99972,-0.021363,0.007935,0.8692,-0.48714,-0.084506,0.92074,-0.3874,-0.046175,-0.02356,-0.99921,0.03177,-0.75329,-0.60976,0.24638,-0.8019,-0.59691,-0.024628,0.043794,-0.96884,-0.24366,-0.074892,-0.83654,-0.54271,-0.78423,-0.54726,-0.29231,-0.73724,-0.42494,-0.52522,-0.093844,-0.72249,-0.68493,-0.29429,-0.79495,-0.5305,-0.71224,-0.46931,-0.52193,-0.74584,-0.44688,-0.49394,-0.85012,-0.26652,-0.45409,-0.82461,-0.29682,-0.48149,-0.94729,0.10443,-0.3028,-0.88031,-0.027314,-0.47359,-0.73971,0.64937,-0.17627,-0.94101,0.14817,-0.30415,-0.95892,0.067568,-0.2754,-0.86761,-0.28144,-0.40986,-0.69286,-0.48579,-0.53282,-0.24546,-0.8215,-0.51463,-0.03943,-0.78329,-0.62038,0.030793,0.97949,-0.19907,-0.08005,0.98206,-0.1706,-0.18741,0.95621,-0.22477,-0.11359,0.98865,-0.098148,0.38859,0.87494,0.28886,0.2342,0.91583,0.32615,0.39637,0.90069,0.17777,0.6737,0.71825,0.17374,0.73714,0.49663,0.4582,0.56694,0.60146,0.56282,0.32499,0.57598,0.75005,0.57433,0.28477,0.76748,0.77645,0.31803,0.54396,0.2971,0.95157,0.078768,0.42183,0.90323,0.078738,0.61345,0.69863,0.36811,0.46202,0.79583,0.39134,-0.065493,0.83523,0.54595,-0.25538,0.92883,0.26835,0.27348,0.94495,0.17957,0.18592,0.88098,0.43507,0.032105,0.81713,0.57549,-0.37641,0.78356,0.49425,-0.70846,0.55721,0.43309,-0.8551,0.32044,0.40751,-0.82571,0.30668,0.4734,-0.65502,0.74499,0.12607,-0.63958,0.73504,0.22498,-0.99078,0.11148,-0.076632,-0.93414,-0.33494,-0.12308,-0.89718,-0.37605,-0.23145,-0.77639,-0.42979,-0.46092,-0.42146,-0.9039,-0.072665,-0.17667,-0.62358,-0.7615,0.37678,-0.80993,-0.44942,0.1771,-0.966,0.1883,0.70354,-0.61675,0.35295,0.84426,-0.27607,-0.45933,0.99231,0.068636,0.10272,0.68981,-0.12149,0.71371,0.83126,0.26103,0.49074,0.27052,-0.4637,0.84365,-0.32655,-0.40953,0.85183,0.36552,-0.25916,-0.89395,-0.74908,-0.66127,0.03943,-0.61785,-0.73684,0.27433,-0.9295,-0.25806,-0.26341,-0.72512,-0.68719,0.043733,-0.10813,-0.85879,0.50072,-0.00766,-0.43016,0.90271,-0.44871,0.17219,0.87689,-0.9685,-0.20005,0.14802,-0.99097,-0.13389,-0.004242,-0.90594,-0.41435,-0.086825,-0.91745,-0.38569,0.097415,-0.94427,0.30979,-0.11121,-0.96292,0.25919,-0.074557,-0.80111,-0.55724,-0.2183,-0.026429,-0.91531,-0.40184,0.88699,-0.43904,0.14301,0.6603,0.42482,0.61925,0.76986,0.29276,0.56706,0.81686,0.50478,0.27912,0.76345,0.59426,0.25291,0.24513,0.92245,0.29826,0.37596,0.62075,0.68798,-0.82098,0.5504,0.15165,-0.96445,0.063997,-0.25633,-0.77288,-0.57701,-0.26399,-0.002533,-0.98663,-0.16285,-0.67055,-0.52947,-0.51961,0.1503,-0.95541,-0.25407,0.87585,-0.35658,0.32508,0.89782,-0.076968,0.43349,0.58907,0.54955,0.5924,0.71749,0.55876,0.41581,0.02707,0.94876,0.3148,-0.26725,0.81793,0.50945,-0.13364,0.863,0.48717,-0.22474,0.78665,0.575,-0.97211,0.23194,-0.033937,-0.78668,-0.30073,-0.53911,-0.14634,-0.88464,-0.4427,0.81631,-0.53087,0.22751,0.71868,-0.53288,0.44664,0.54918,0.22785,0.80401,0.39332,0.07416,0.91638,-0.19541,0.63042,0.75121,0.38582,0.067934,0.92004,-0.35084,0.76238,0.54372,-0.72991,0.58003,-0.36155,0.69784,0.39906,0.59474,-0.39289,-0.12134,-0.91153,0.33232,-0.72683,-0.60103,0.75942,-0.62786,0.17029,0.61144,-0.7242,0.3188,0.065737,-0.21003,0.97546,-0.42949,0.60323,0.67202,-0.59218,0.49596,0.63506,-0.80825,0.51387,-0.28742,-0.35862,0.75774,-0.54512,-0.14325,0.14878,-0.97842,-0.60384,-0.29341,-0.74111,0.18052,-0.75857,-0.62606,0.45909,-0.29646,-0.83743,0.42854,-0.83041,0.35597,-0.13651,-0.25959,0.95599,-0.46593,0.489,0.73739,-0.61928,0.68053,-0.39155,-0.15,0.14615,-0.97781,0.053865,0.30402,-0.95111,0.37816,-0.5587,-0.73809,0.57735,-0.75741,0.30488,0.065554,-0.28922,0.95498,0.078402,-0.20432,0.97574,-0.36546,-0.059358,0.92889,-0.73431,0.55635,0.38887,-0.79278,0.50404,-0.34263,-0.30879,0.009705,-0.95108,0.1876,-0.70797,-0.68084,0.43629,-0.8995,-0.02234,0.094119,-0.63109,0.76995,-0.29777,-0.47008,0.83084,-0.13303,-0.13938,0.98123,-0.35078,-0.01355,0.93634,-0.95425,0.18772,0.2327,-0.51079,-0.14377,0.84756,-0.98581,-0.089084,-0.14225,-0.77554,0.067476,0.62764,-0.93701,0.1933,-0.29084,-0.6751,-0.37574,-0.63482,-0.41087,-0.086795,-0.90753,-0.35548,-0.86203,-0.36119,-0.12073,-0.81146,-0.57176,0.001953,-0.99472,-0.10257,0.14148,-0.62792,0.76528,0.12442,-0.16678,0.97809,0.33711,-0.72091,0.60549,0.49281,-0.60482,0.62554,-0.043428,-0.29685,0.95392,-0.43052,0.23575,0.87121,-0.28037,0.35636,0.89126,-0.49574,-0.00586,0.8684,-0.80575,-0.094943,0.58458,-0.58586,-0.20569,0.78384,-0.51512,-0.58998,0.62172,-0.1348,-0.76806,0.62596,-0.13575,-0.92737,0.34858,0.094455,-0.7423,0.66335,0.033998,-0.93863,0.34318,-0.042238,-0.72784,0.68444,0.22632,-0.58892,0.77584,-0.12653,-0.35655,0.92566,-0.27442,-0.45549,0.84686,0.089236,-0.41526,0.90527,0.22828,-0.70824,-0.66799,-0.7673,0.54729,-0.33415,-0.37242,0.87036,0.32209,-0.95517,0.27448,-0.11072,-0.58541,-0.45878,-0.66842,0.20441,-0.69411,-0.69021,0.75741,-0.62023,0.20399,0.35829,-0.66073,-0.65954,0.66329,-0.46181,0.58886,0.4489,0.31581,0.8359,0.28578,0.24085,0.92752,-0.40724,0.64385,0.64775,-0.10279,0.69015,0.7163,-0.85708,0.41887,-0.29984,-0.68664,0.49718,-0.53035,-0.50578,0.77755,0.37358,0.065584,0.84191,0.53557,0.59166,0.46522,0.65838,-0.74422,0.34947,-0.56917,-0.18094,-0.057405,-0.98181,-0.46678,-0.34291,-0.81515,0.29398,-0.845,-0.44664,0.78771,-0.30027,0.53786,0.4185,0.20353,0.8851,0.25071,0.12201,0.96033,-0.56676,0.71273,0.41322,-0.62862,0.49022,-0.60369,-0.41331,-0.28437,-0.86502,0.34599,-0.58855,-0.73064,0.69332,-0.67812,0.24381,0.39964,-0.65313,-0.64318,-0.083834,0.040407,-0.99564,-0.68056,0.54015,-0.49498,-0.35905,-0.21314,-0.90863,0.3072,-0.75234,-0.58272,0.52861,-0.61617,0.58382,0.73217,-0.55382,0.39643,0.29463,0.059755,0.95373,0.073183,0.079073,0.99417,-0.39119,0.67714,0.62322,-0.54469,0.52458,0.65429,-0.78494,0.451,-0.42476,-0.89337,0.31446,-0.32087,-0.46876,-0.31718,-0.8244,0.17225,-0.86221,-0.4763,0.55376,-0.81692,0.16098,0.30378,-0.34513,0.88803,0.25507,0.13102,0.95798,-0.20927,0.21509,0.95389,-0.72603,0.59832,0.33891,-0.9877,0.015625,-0.1554,-0.71731,-0.59667,-0.35975,-0.11261,-0.95285,-0.28175,0.10257,-0.97293,0.20707,0.34098,-0.34025,0.87631,-0.11136,-0.20948,0.97144,0.29002,-0.1012,0.95163,-0.19373,0.25181,0.94818,0.031343,0.17728,0.98364,-0.92309,0.15687,0.35105,-0.97079,-0.22135,0.09241,-0.53142,-0.41078,-0.74081,-0.30699,-0.95169,-0.002228,0.19587,-0.77334,0.60295,0.023011,-0.77578,0.63054,0.28279,-0.47829,0.83142,-0.35756,0.22388,0.90664,-0.66695,0.18097,0.72277,-0.6885,0.02295,0.72484,-0.3105,0.4688,0.8269,-0.34663,0.084811,0.93414,-0.16755,0.60979,0.77462,0.29606,0.1767,0.93866,0.13782,0.027619,0.99005,0.055696,-0.046663,0.99735,0.52333,-0.45012,0.7235,0.67586,-0.3101,0.66857,0.1583,-0.47441,0.86593,-0.61354,-0.47102,0.63375,-0.55513,-0.62813,0.54518,-0.87075,-0.44456,0.21009,-0.80618,-0.53731,0.2476,-0.72036,-0.5284,0.44923,0.89438,0.083926,0.43934,0.82531,0.12439,0.55074,0.65661,0.51839,0.54781,-0.005005,0.88595,0.46373,0.060976,0.91668,0.39485,0.19019,0.56551,0.80248,0.13193,0.53075,0.83715,-0.40748,0.5548,0.72533,-0.024598,0.71966,0.69387,0.29774,-0.16843,0.93963,0.050264,-0.89352,0.44615,0.36573,0.023743,0.93039,-0.087344,-0.70247,0.70629,-0.83474,-0.27161,0.47893,-0.72292,-0.40458,0.56005,-0.6798,0.58385,0.4438,-0.67003,-0.70895,0.21998,0.6003,-0.38337,0.70186,-0.058168,0.73156,0.67928,0.7578,0.24018,0.60662,-0.089846,0.69246,0.71581,-0.897,0.05298,0.43877,-0.82592,-0.50877,-0.24277,-0.083834,-0.9844,-0.15455,0.85784,-0.5136,0.016938,0.68355,0.11856,0.72018,-0.21833,0.75707,0.61574,-0.76656,0.64205,-0.01062,-0.78524,-0.61916,0.000671,-0.26713,0.33537,-0.90341,0.24366,-0.60152,-0.76077,0.8327,-0.52788,-0.16709,0.20255,-0.46596,-0.86129,-0.73428,-0.22221,-0.64144,0.082247,-0.81368,-0.57543,0.72747,-0.66421,0.172,0.89319,-0.34339,0.29023,0.56954,-0.026246,0.82153,-0.20142,0.47398,0.85717,0.14597,0.54295,0.82696,-0.90823,0.39592,0.13538,-0.73458,0.65773,-0.16657,-0.76476,-0.29707,-0.5717,0.069735,-0.49025,-0.86877,0.69234,-0.71331,-0.10868,0.30061,-0.36613,-0.88064,-0.20463,0.38383,-0.90042,-0.79632,0.55461,-0.24131,-0.40867,0.60122,0.68664,-0.65667,0.72701,-0.20042,-0.35536,0.24461,-0.90213,0.22721,-0.45497,-0.86102,0.51396,-0.80276,0.30232,0.7073,-0.69924,0.10367,0.35749,-0.31526,0.87906,0.14911,-0.34016,0.92846,-0.29435,0.37761,0.87789,0.3278,-0.27253,0.90457,-0.1868,-0.22089,0.95721,-0.67934,0.44591,0.58278,-0.79577,0.56593,-0.21543,-0.75265,0.63301,-0.181,-0.45943,0.1337,-0.87808,-0.4127,0.25568,0.87423,0.48698,-0.11454,0.86584,0.61327,0.04059,0.78878,0.14124,-0.48631,-0.86227,0.47987,-0.84713,-0.22813,0.26603,-0.72195,0.63872,-0.13392,-0.61635,0.77596,0.050478,-0.28367,0.95758,-0.17911,-0.18485,0.96628,-0.9082,0.027833,0.41755,-0.96655,0.19752,-0.16352,-0.70763,-0.2299,-0.66808,-0.97894,-0.20304,0.019959,-0.58882,-0.11209,-0.80041,-0.45824,-0.7264,-0.51213,-0.17289,-0.68236,-0.71023,0.005066,-0.974,-0.22648,0.11038,-0.97064,0.2136,0.31727,-0.28181,0.90548,0.47414,-0.75771,0.44835,0.64513,-0.61306,0.45595,0.142,-0.43358,0.88983,-0.25898,0.05649,0.9642,-0.095523,0.20734,0.97357,-0.34047,-0.32017,0.88403,-0.64711,-0.1348,0.75033,-0.32514,-0.20484,0.92319,0.051088,-0.50087,0.86398,0.22391,-0.81454,0.53511,0.3003,-0.71773,0.62819,0.10788,-0.81594,0.56792,0.2758,-0.53252,0.80019,0.9975,-0.064486,-0.028687,0.72472,0.33204,0.60372,0.21897,0.89914,0.37886,-0.66613,0.22059,0.71242,-0.81402,-0.56987,-0.11213,0.2306,-0.92755,0.29402,0.5511,0.81985,0.15525,0.54366,0.12448,0.83001,0.48305,0.073244,0.87249,0.82351,-0.40803,0.39405,0.34758,-0.078555,0.93432,0.055025,0.65841,0.75063,0.41633,-0.30928,-0.85498,0.45552,-0.79476,0.40101,0.26557,-0.05121,0.96271,-0.54759,0.32359,0.7716,-0.072848,0.5548,0.82876,-0.88064,0.46159,-0.10651,-0.52184,0.72497,-0.44954,0.78637,0.61461,0.061892,-0.56963,-0.15168,-0.80773,0.14454,-0.76632,-0.62596,0.80844,-0.48793,0.32911,0.45314,-0.089175,0.88693,0.37071,-0.06354,0.92654,-0.43742,0.69872,0.56606,-0.68728,0.57085,-0.44914,-0.6382,-0.15363,-0.75436,0.10855,-0.37715,-0.91977,0.70547,-0.7087,0.004425,0.33592,-0.43406,-0.83587,-0.20371,0.30854,-0.92911,-0.58495,0.74245,-0.32637,-0.2313,0.22629,-0.94617,0.33973,-0.50185,-0.7954,0.5255,-0.76543,0.37135,0.66594,-0.7134,0.21802,0.25733,-0.28175,0.92431,0.0936,-0.1901,0.97726,-0.35874,0.49117,0.79373,0.16135,-0.2551,0.95334,-0.3155,-0.12522,0.94061,-0.71319,0.51982,0.4702,-0.78845,0.53081,-0.31077,-0.63094,0.71239,-0.3072,-0.45637,0.42125,0.78372,-0.33219,0.10224,-0.93762,0.16413,-0.6064,-0.77801,0.45872,-0.88113,-0.11469,0.15735,-0.68978,0.70669,-0.26441,-0.55092,0.79153,-0.079409,-0.20484,0.97555,-0.30494,-0.0918,0.9479,-0.94858,0.11795,0.29374,-0.94623,0.15857,-0.2819,-0.98068,-0.15403,-0.12049,-0.68203,-0.3101,-0.66228,-0.46223,-0.031129,-0.8862,-0.41429,-0.81787,-0.39927,-0.18912,-0.73476,-0.65139,-0.017335,-0.98535,-0.16947,0.19095,-0.68633,0.70174,-0.46184,-0.22446,0.85806,-0.7405,-0.029817,0.67138,-0.77514,-0.20026,0.59917,0.11625,-0.7825,0.61165,-0.14704,-0.94732,0.28443,0.039186,-0.95871,0.28163,0.29041,-0.63082,0.7195,0.38462,-0.7438,0.54659,0.56819,-0.60152,0.56148,0.20057,-0.2212,0.95437,0.012665,-0.37074,0.92865,-0.36546,0.15479,0.91784,-0.18973,0.30409,0.93353,-0.44237,-0.11322,0.88962,-0.53957,-0.31932,0.77902,-0.49321,-0.65569,0.57161,-0.083132,-0.4384,0.89489,0.001801,-0.77834,0.6278,0.15629,-0.4857,0.86001,-0.29157,0.056734,0.95483,-0.78552,-0.60613,-0.12448,-0.40825,-0.56621,-0.71603,-0.81399,-0.072359,-0.57631,-0.12961,0.33586,0.93292,-0.44411,-0.79534,-0.41249,0.049593,-0.53612,0.84265,-0.097995,-0.17887,0.97897,-0.35206,-0.39561,0.84823,-0.44377,0.008057,0.89608,-0.87637,-0.32453,-0.35581,-0.7185,-0.66582,0.20103,0.42851,-0.2808,0.85876,-0.29765,-0.21299,0.9306,-0.42973,-0.75164,0.50035,0.27891,-0.58379,0.76247,0.3957,-0.65905,0.63955,-0.10157,-0.10669,0.98907,-0.67986,-0.28931,0.67382,-0.89978,-0.090548,-0.4268,-0.81875,-0.49019,-0.29884,-0.37959,-0.71966,0.58138,-0.062075,-0.96997,0.23508,-0.014008,-0.85372,0.52049,-0.10794,-0.60176,0.79131,-0.42543,-0.39799,0.81274,-0.37657,-0.85061,-0.36689,-0.22504,-0.013245,0.97424,-0.84857,-0.077181,-0.52336,-0.78158,-0.60518,-0.15116,-0.13053,-0.80816,0.5743,-0.23386,-0.53337,0.81289,-0.46114,-0.52821,-0.71294,-0.7897,-0.24827,0.56096,-0.13462,-0.29862,0.94482,-0.030488,-0.26029,0.96503,-0.811,-0.16852,0.5602,-0.99994,0.002441,0.009033,-0.7376,-0.053163,0.67312,-0.99731,0.044618,0.057619,-0.8207,-0.05707,0.56847,-0.99927,-0.023103,-0.029908,-0.79257,-0.031983,0.60894,-0.99753,-0.009949,0.06946,-0.86316,0.059114,0.50142,-0.9776,0.082858,-0.19337,-0.96969,0.24342,-0.020112,-0.82208,0.17444,0.54195,-0.96429,0.26276,0.032929,-0.76553,0.16211,0.62261,-0.81137,0.22135,0.54097,-0.99683,-0.064699,0.045961,-0.98444,0.10483,0.1409,-0.89273,-0.44896,-0.037965,-0.69158,-0.61772,-0.37428,0.75204,-0.58931,-0.29508,0.42427,-0.58696,-0.68951,-0.66356,-0.74059,-0.10569,0.77459,-0.52025,-0.3596,0.67391,-0.71853,0.17176,-0.022884,-0.99974,0.001915,-0.022885,-0.99974,0.001912,0.67333,0.19785,0.71233,0.42753,-0.60967,0.66741,0.97061,0.16568,0.17441,0.97088,0.085177,-0.22382,0.92907,0.077486,-0.36158,0.91421,-0.11493,-0.3885,0.46809,-0.063417,-0.88138,0.9725,0.1359,-0.189,0.4395,0.37864,-0.81451,-0.39708,0.47319,-0.78637,-0.020753,0.43269,-0.90127,0.45561,0.28394,-0.84365,0.012818,0.14856,-0.9888,0.64312,-0.001831,-0.76574,-0.045198,-0.10492,-0.99344,0.7597,-0.17121,-0.62731,0.013611,-0.085879,-0.99618,0.70449,-0.13215,-0.69726,0.98669,-0.14988,-0.062624,0.80044,0.045656,-0.59764,0.98743,-0.066591,0.14331,0.99881,0.03766,0.030183,0.6433,0.22712,-0.73113,-0.019684,0.28748,-0.95758,0.00998,0.087069,-0.99612,-0.79275,0.089297,-0.60295,-0.67235,0.23139,-0.70312,-0.61858,0.22352,-0.75323,0.016968,0.35716,-0.93387,-0.64318,0.08179,-0.76131,0.079165,0.2194,-0.97241,-0.67357,-0.028382,-0.73855,0.10459,0.022645,-0.99423,0.081149,-0.12894,-0.98831,0.73449,-0.036531,-0.6776,0.70012,-0.27531,-0.65877,0.003601,-0.24891,-0.9685,0.61989,-0.34815,-0.70321,0.035157,-0.24165,-0.96969,0.71606,-0.25883,-0.64824,0.040712,-0.13288,-0.99026,0.73415,-0.14744,-0.66274,0.039521,-0.054262,-0.99774,0.7401,-0.06122,-0.66967,0.15146,-0.022828,-0.98819,0.84957,0.013398,-0.52727,0.99863,-0.022004,0.047304,0.98816,0.052065,0.14414,0.71648,0.033418,0.69677,0.59746,0.079836,0.79788,-0.039125,0.071993,0.99661,-0.18024,0.093326,0.97916,-0.7817,0.08182,0.61821,-0.87454,0.10343,0.47377,-0.99759,0.058748,-0.036348,-0.99945,0.016205,-0.028138,-0.69851,-0.068941,-0.71224,-0.70113,-0.13956,-0.69918,-0.69326,0.004303,-0.72066,-0.54347,0.01886,-0.83917,-0.98798,0.078372,-0.13318,-0.76183,-0.11463,-0.63753,-0.67309,-0.11951,-0.72979,-0.98791,-0.045351,-0.14805,-0.99597,-0.087771,0.017243,-0.97861,-0.067598,-0.19422,-0.70336,-0.040956,-0.70965,-0.82934,-0.040681,-0.55721,-0.57811,0.078127,-0.81219,-0.60289,0.378,-0.70254,-0.75396,-0.10498,-0.64843,-0.6509,-0.32981,-0.68374,0.16547,-0.301,-0.93915,0.56063,-0.24195,-0.79192,0.86059,-0.13904,0.48991,0.18984,-0.01023,0.98176,0.19009,-0.01059,0.98171,-0.64687,-0.22651,-0.72814,-0.6216,-0.15091,0.76864,-0.66771,-0.68401,-0.29368,0.43837,-0.40736,-0.80117,0.44411,-0.85696,0.26148,0.18945,-0.012767,0.98181,0.18977,-0.012976,0.98174,-0.27186,-0.47435,0.83727,-0.022885,-0.99974,0.001919,-0.022884,-0.99974,0.001919,-0.73852,-0.155,0.65612,-0.004089,-0.1521,0.98834,0.70901,-0.15424,0.68807,0.73327,-0.17744,0.65633,0.62429,-0.17551,0.76119,0.007935,-0.1655,0.98618,-0.084689,-0.098575,0.99148,-0.072237,-0.036256,0.9967,-0.16788,0.065828,0.98358,0.17222,0.15427,0.9729,0.096438,0.27451,0.95673,0.11307,0.5771,0.80877,-0.66866,0.49654,0.55345,-0.64214,0.62011,0.45064,-0.95904,0.1699,0.22651,-0.83145,0.12565,0.54119,-0.57836,-0.70788,0.40541,-0.26618,0.10703,0.95795,-0.23301,-0.53349,0.81304,-0.022882,-0.99974,0.001906,-0.21351,0.63082,0.74593,-0.65731,0.60207,0.45323,0.11393,0.91385,0.38969,0.13291,0.74435,0.65441,0.85296,0.5045,0.13373,0.81774,0.52925,0.22605,0.92074,0.32209,0.22007,0.86081,0.20695,0.46489,0.90875,0.035096,0.41585,0.95892,0.069918,-0.27485,0.99313,-0.098605,-0.062807,0.97458,-0.17377,0.14118,0.76553,-0.1561,0.62413,0.66912,-0.10916,0.73507,0.99057,0.096072,-0.097629,0.74352,0.3075,-0.59377,0.63036,0.31742,-0.7084,0.99115,-0.13056,0.02295,0.96655,-0.25544,-0.021912,0.96597,-0.25834,-0.010437,0.98276,-0.17521,0.058992,0.9928,-0.10575,0.05591,0.72097,-0.045503,0.69143,-0.034333,0.029511,0.99896,-0.78234,0.046571,0.62108,-0.99915,0.015259,-0.038118,-0.9997,0.010437,-0.022217,-0.8121,-0.048708,0.58147,-0.70318,-0.097507,0.70428,-0.004517,-0.13083,0.99136,-0.007752,-0.082308,0.99655,0.037416,-0.056154,0.99771,-0.70608,0.028291,0.70754,-0.78317,0.051912,0.61962,-0.024873,0.003052,0.99966,0.71126,-0.08829,0.69735,0.76025,-0.16724,0.6277,0.70345,-0.1966,0.68294,0.71563,-0.2172,0.66381,0.63362,-0.13745,0.76131,0.76873,-0.061342,0.63662,0.81512,0.55358,0.17063,0.60674,0.63085,0.4836,-0.58147,-0.077731,0.80981,-0.19138,-0.27418,0.94241,-0.10163,-0.094821,0.99026,-0.57793,-0.14646,0.80279,-0.84283,-0.2718,0.46446,-0.78976,-0.42332,0.44389,-0.55696,-0.32035,0.76623,-0.80166,-0.56676,0.18992,-0.47374,-0.60494,0.63997,-0.18964,-0.42125,0.88687,0.033662,-0.56444,0.82476,0.065462,-0.51097,0.85708,0.45793,-0.83673,0.30021,-0.42872,-0.81307,-0.39378,-0.84484,-0.50926,0.16382,-0.59725,-0.73147,-0.32893,-0.91867,-0.082675,0.38621,-0.5685,0.1915,0.80007,-0.082064,0.1713,0.98178,-0.23124,-0.081149,0.96948,-0.27558,-0.16587,0.94684,-0.22819,-0.41771,0.87945,0.4543,-0.75396,0.47441,-0.85934,-0.07062,0.50645,-0.90899,0.19269,0.36952,-0.79302,-0.2656,0.54817,-0.83154,-0.16202,0.53127,-0.63686,-0.043245,0.76974,-0.96054,-0.15543,-0.2306,-0.75951,-0.22153,-0.61156,-0.32957,-0.56743,-0.75457,-0.72097,-0.11032,-0.68407,-0.078219,-0.29054,-0.95364,-0.62731,0.14188,-0.76571,-0.057527,0.33219,-0.94144,0.57134,0.11908,-0.81201,0.519,-0.39759,-0.75665,0.9183,-0.32173,-0.23063,0.93173,0.25568,-0.25782,0.53041,0.34303,-0.7752,-0.14307,0.12211,-0.98215,-0.74297,0.064791,-0.66616,-0.11435,-0.41279,-0.90359,0.52226,-0.43199,-0.73525,0.54778,-0.58797,-0.59514,0.91189,-0.39326,-0.11737,0.89502,-0.44533,0.023896,0.61428,-0.76281,-0.20182,0.78585,-0.60253,0.13907,0.67623,-0.074862,0.73284,0.83685,-0.081179,0.54134,0.15885,0.52492,0.83618,0.12461,0.38179,0.9158,-0.54512,0.46519,0.69741,-0.52846,0.61763,0.58242,-0.87072,0.24451,0.42662,-0.87909,0.36952,0.301,-0.8619,0.092959,0.4984,-0.93902,0.26548,0.21836,-0.80099,0.14683,0.58034,-0.93301,0.35432,-0.062441,-0.87182,0.39244,0.29307,-0.85394,0.43281,-0.28883,-0.85992,0.28983,-0.42012,-0.88278,0.29649,-0.36439,-0.84304,-0.035585,-0.53664,-0.9002,0.032411,-0.43425,-0.9404,-0.09067,-0.32774,-0.30366,-0.24854,-0.91977,-0.17701,-0.24094,-0.95422,0.70788,-0.27866,-0.64901,0.85656,-0.29209,-0.42537,0.93127,0.008728,0.36415,0.7615,-0.37095,0.53148,0.79202,-0.32151,0.51894,0.59465,-0.69152,0.41005,0.68493,-0.52812,0.50191,0.41063,0.1156,0.90442,-0.68389,0.14277,0.71544,-0.81643,-0.008393,-0.57735,-0.9176,-0.15543,-0.36583,-0.94543,-0.017731,0.32524,-0.88018,-0.31358,-0.35624,-0.36284,-0.288,-0.88623,-0.076876,-0.24409,-0.96667,-0.74096,0.058504,-0.66897,-0.64098,-0.043184,-0.76632,-0.68291,0.23292,-0.69234,-0.7553,0.061861,-0.65243,-0.8768,-0.17423,-0.44813,-0.23295,-0.31461,-0.92016,-0.875,-0.35432,-0.32981,-0.16276,-0.61049,-0.77508,0.65252,-0.74538,-0.1363,0.88144,-0.17191,-0.43983,0.81411,-0.27061,0.51375,0.91934,-0.041017,0.39131,0.84658,-0.38243,-0.3701,0.74407,-0.55446,0.37269,0.71075,-0.5045,-0.49016,0.55458,-0.73223,0.39525,0.742,-0.52943,0.41124,0.79263,-0.30461,-0.52812,0.040193,0.064486,-0.9971,0.23368,0.030091,-0.97183,0.90634,-0.17121,-0.38624,0.21793,0.004028,-0.97595,0.89917,-0.11701,-0.42164,0.27366,-0.3014,-0.91336,0.84674,-0.37886,-0.37342,0.76037,-0.47182,-0.4463,0.93481,-0.3246,0.14405,0.93725,-0.34541,0.046663,0.67357,-0.39717,-0.62331,0.72222,-0.51698,-0.45943,0.89581,-0.41157,0.16764,0.81912,-0.51421,-0.25419,0.88479,-0.41191,0.21775,0.83642,-0.49974,-0.22498,0.89703,-0.32698,0.29725,0.92111,-0.37104,-0.1178,0.91662,-0.15238,0.36952,0.93091,-0.10376,0.35017,0.98114,-0.19092,0.029054,0.8956,-0.13346,0.42433,0.96371,-0.26325,0.043825,0.94296,-0.28718,0.16819,0.83331,-0.21513,-0.5092,0.9584,-0.22864,0.17081,0.93194,-0.13367,-0.33705,0.32029,0.026551,-0.94693,0.63256,0.015381,-0.77435,0.97952,-0.043245,-0.19648,0.71367,0.08243,-0.69558,-0.005341,0.087924,-0.99609,-0.19095,0.097415,-0.97674,-0.4948,0.10965,-0.86203,0.17609,0.051607,-0.983,0.034455,-0.10965,-0.99335,0.82928,-0.26899,-0.48982,0.58821,-0.3647,-0.72176,0.4261,-0.46919,-0.77346,0.32301,-0.51268,-0.79546,0.19025,-0.4608,-0.86685,0.14313,-0.42155,-0.89541,0.024079,-0.25245,-0.96728,0.12857,-0.33509,-0.93335,-0.48891,-0.029145,-0.87182,-0.59972,0.098148,-0.79412,-0.472,0.099979,-0.87588,-0.64492,0.22993,-0.72881,-0.59181,0.26588,-0.76092,-0.066012,0.099216,-0.99286,0.00412,-0.046754,-0.99887,-0.66842,0.22889,-0.70766,-0.68816,0.28764,-0.66607,-0.69991,0.33824,-0.62902,-0.81384,0.21461,-0.53996,-0.80062,0.25352,-0.54283,-0.79366,0.22431,-0.56548,-0.7712,0.39412,-0.49986,-0.81289,0.32154,-0.48558,-0.82449,0.18201,-0.53578,-0.90399,0.25034,-0.34654,-0.86642,0.3509,-0.35514,-0.9353,0.34367,-0.084109,-0.63405,0.6295,0.44905,0.0665,0.61034,0.7893,0.094943,0.45579,0.88498,-0.23951,0.40144,0.884,-0.82873,0.54338,0.13376,-0.7691,0.46596,0.43742,-0.93759,0.26292,-0.22745,-0.89074,0.25117,-0.37877,-0.6057,-0.042085,-0.79455,-0.71929,0.041597,-0.69344,-0.55983,-0.15641,-0.81368,-0.51189,-0.13373,-0.84857,-0.45564,-0.20472,-0.86627,-0.32884,-0.24982,-0.91073,-0.14237,-0.21897,-0.96527,-0.76571,0.16523,-0.62157,-0.84246,0.12595,-0.52379,-0.87417,0.066622,-0.48097,-0.92648,0.15393,-0.34339,-0.96606,0.16593,-0.19788,-0.94907,0.29875,-0.099979,-0.64327,0.46703,0.60665,-0.076571,0.37303,0.92465,0.62761,-0.003632,0.7785,0.78704,0.20182,0.5829,0.76913,0.30302,0.56264,0.98965,-0.13431,0.049928,0.95554,-0.14686,0.25559,0.87652,-0.2204,0.4279,0.68587,-0.035554,0.72683,0.89596,-0.2559,0.3629,0.76174,-0.087344,0.64193,0.89666,-0.28391,0.33961,0.8468,-0.30885,0.433,0.4283,0.066805,0.90112,0.72118,-0.19315,0.66524,0.21769,0.13202,0.96704,-0.29676,0.32902,0.89645,-0.15427,0.30549,0.9396,-0.83691,0.33299,0.43437,-0.86779,0.35285,0.34983,0.075594,0.33653,0.93863,-0.88965,0.36018,0.28068,-0.49516,0.36906,0.78649,0.10663,0.18903,0.97613,0.60433,-0.041231,0.79565,0.61031,0.076662,0.78841,0.60027,0.19831,0.77477,0.54918,-0.013367,0.83557,0.82583,-0.27287,0.49345,0.69979,-0.23826,0.67339,0.94726,-0.11823,0.29774,0.99994,0.004761,0.006684,0.92258,-0.073183,0.3788,0.62819,-0.097629,0.77187,0.68068,-0.1446,0.71813,0.006806,-0.13886,0.99026,-0.093356,-0.095798,0.991,-0.66723,-0.058565,0.74252,-0.78356,-0.04004,0.61998,-0.99197,0.041932,0.11905,-0.99817,0.048891,0.035127,-0.62874,-0.094119,0.77184,-0.98172,0.039125,0.18613,-0.9198,0.14756,0.36357,-0.46715,0.043794,0.88308,-0.15494,0.38179,0.91116,-0.73791,0.47408,0.4803,-0.94458,0.27561,-0.17826,-0.62081,0.5273,0.58007,-0.91101,0.40138,-0.094485,-0.91922,0.37614,0.11618,-0.54665,0.38429,0.74395,0.016968,0.29176,0.95633,0.034913,0.4229,0.90548,0.18439,-0.15067,0.97122,0.071871,-0.20826,0.9754,-0.71157,0.13889,-0.68871,-0.94458,0.08124,-0.31803,-0.83178,0.10111,-0.54579,-0.62993,0.10846,-0.76901,-0.044374,0.10462,-0.9935,-0.80883,0.11808,-0.57604,0.96469,-0.21293,0.15482,0.94174,-0.12381,0.31266,0.86895,-0.2895,0.40132,0.84304,-0.46974,0.26182,0.90646,-0.40696,-0.11252,0.74432,-0.66146,0.091586,0.4962,-0.86547,0.068606,0.3361,-0.92041,-0.19962,-0.18943,-0.86218,-0.46983,-0.86383,-0.12024,-0.48918,-0.93027,0.22083,0.29295,-0.9989,0.035524,-0.029847,-0.99249,0.034181,0.11719,-0.58214,0.057466,0.81103,-0.58532,-0.009827,0.81072,0.17902,0.003021,0.98382,-0.30046,-0.27369,0.91366,-0.47328,-0.60122,0.64382,0.47935,-0.17881,0.85919,0.79806,-0.25523,0.54582,0.85376,-0.15821,0.49599,0.79324,-0.60353,0.080477,0.92541,0.029847,0.37776,0.98532,-0.037477,-0.16645,0.83923,-0.026612,0.54311,0.71865,-0.027863,0.69478,0.6578,-0.021271,0.75286,0.02765,0.29499,0.95508,-0.48265,0.37605,0.79095,-0.86975,0.11292,0.48033,-0.74123,-0.24277,0.62575,-0.049165,-0.061251,0.99689,-0.86911,0.25501,0.42378,-0.92813,0.13852,-0.34547,-0.95126,-0.045534,-0.30491,-0.24284,-0.22861,-0.94272,-0.49312,-0.13031,-0.8601,0.7864,-0.29548,-0.54241,0.84256,-0.31251,-0.43861,0.91696,-0.040468,0.39686,0.87481,-0.23719,0.42238,0.63418,-0.43892,0.63649,0.70141,-0.39686,0.592,0.56044,-0.6578,0.50316,0.27775,-0.86728,0.4131,0.28986,-0.94195,0.16935,0.16242,-0.9696,-0.18284,0.61684,-0.78265,0.083071,0.25932,0.11078,0.95938,-0.73757,0.06241,0.67235,-0.81796,0.15854,0.55297,-0.92111,-0.09241,-0.37816,-0.13453,-0.39299,-0.90963,0.9049,-0.15253,-0.39726,0.82098,-0.32176,0.4716,0.26328,0.048219,0.9635,-0.78182,-0.001373,0.62346,-0.86917,-0.41691,-0.26582,-0.22135,-0.55794,-0.79977,0.69353,0.090243,-0.71471,0.77273,0.62297,0.12149,0.82629,0.31196,0.46895,0.22947,0.06473,0.97113,-0.80157,-0.20029,0.56334,-0.78906,-0.58638,-0.18308,-0.7893,-0.58422,-0.18882,-0.70159,0.000793,0.71255,-0.6664,-0.19034,0.72085,-0.55156,-0.83398,-0.014374,-0.007416,-0.58895,-0.8081,0.12159,-0.72411,-0.67885,-0.41777,-0.89431,0.1601,-0.46391,-0.88498,-0.039277,-0.61947,-0.29811,0.72619,-0.50954,-0.23942,0.82644,0.053896,0.62358,0.77987,0.02591,0.82513,0.56432,0.14454,0.46135,0.87533,0.16736,0.4583,0.87286,0.089663,0.60387,0.79199,0.89007,0.34059,0.30284,0.79803,0.08121,-0.59706,-0.007019,-0.42055,-0.90722,0.79272,0.073977,-0.60503,0.57106,0.82043,0.027528,0.42091,0.90494,-0.062044,0.57152,0.4911,-0.65737,0.69863,0.24015,-0.67394,0.60854,0.79138,0.057955,0.73843,0.65569,0.15732,0.83346,0.070376,-0.54802,0.91195,0.11005,0.39518,0.19492,0.44401,0.87454,-0.33308,-0.039399,0.94205,-0.43565,-0.77871,0.45137,-0.54244,-0.83999,-0.011689,-0.13312,-0.9671,0.21671,-0.5081,-0.83493,0.21131,-0.4752,-0.75576,0.45051,0.079562,-0.19547,0.97745,-0.27668,-0.79797,0.53539,-0.56111,-0.55104,0.6176,-0.71017,-0.4644,0.5291,-0.58559,-0.8095,-0.041688,-0.38115,-0.71548,0.58547,-0.42219,-0.90439,0.0618,-0.060121,-0.85681,-0.51207,0.006897,-0.95798,-0.28666,-0.33351,-0.93594,0.11283,0.13486,-0.98709,-0.086215,-0.16172,-0.96597,0.20173,0.16392,-0.92508,0.34254,-0.02295,-0.60945,0.79247,-0.16437,-0.79681,0.58141,0.51094,-0.10584,0.85305,-0.16672,-0.53178,0.83029,0.40764,0.18332,0.89453,0.80822,0.54521,0.22245,0.42161,-0.88699,-0.18821,0.36842,-0.86032,-0.35221,-0.21833,-0.9183,-0.33018,-0.20435,-0.76745,-0.60765,0.71065,-0.57454,-0.40602,0.9324,-0.35688,-0.056581,0.94925,-0.12989,-0.28632,0.42601,-0.49275,-0.75872,-0.15516,-0.9509,-0.26768,0.032929,-0.98889,-0.14484,-0.13443,-0.96515,-0.22437,0.067202,-0.61516,-0.78548,-0.36277,-0.92459,-0.11612,0.72741,-0.59288,0.34547,0.63805,-0.51485,0.57253,0.9028,-0.078829,0.42271,0.85662,-0.2035,0.47404,0.11383,-0.19968,0.9732,-0.6801,-0.033937,0.73229,-0.79128,-0.55705,-0.25202,-0.6281,-0.32759,0.70577,-0.10614,0.77645,0.62114,-0.25507,0.77251,0.58147,-0.030824,0.96765,-0.25037,0.39497,-0.83041,0.39289,0.3766,0.45741,-0.80557,0.50581,0.46925,-0.72381,0.07947,-0.4055,-0.91061,-0.039796,-0.69042,-0.72228,0.92096,-0.22276,-0.31962,0.86694,0.3795,0.32304,0.30259,0.055757,0.95148,-0.68401,-0.3437,0.64339,-0.6718,-0.73986,-0.035524,-0.59227,-0.78454,-0.18345,0.76339,-0.52016,-0.38292,0.87701,-0.17905,-0.44578,-0.80221,0.041108,0.5956,-0.77291,-0.20969,0.5988,-0.69906,-0.70733,-0.10468,-0.16822,-0.3538,-0.92004,-0.25428,-0.009278,-0.96707,0.26383,0.45775,-0.84899,0.041078,-0.73601,-0.67568,0.95379,-0.28117,-0.10581,0.87377,0.44835,0.18833,-0.32008,0.86596,-0.38417,-0.22135,-0.95111,0.21534,0.14014,-0.36943,0.91861,0.38752,0.13962,0.91119,-0.52236,0.36854,0.76894,-0.66045,0.012513,0.75075,-0.49147,-0.32643,0.80737,-0.1511,0.76412,0.62706,0.5631,0.005921,0.82635,-0.51576,-0.48659,0.7051,-0.49791,-0.86435,0.070589,-0.28889,-0.83636,-0.46583,-0.5262,-0.8461,0.084719,-0.23905,-0.94345,0.22962,0.045808,-0.65941,-0.75036,-0.63942,-0.71252,-0.28886,0.31794,-0.84286,-0.43413,-0.52586,0.33726,-0.78082,0.25147,0.29392,-0.92212,0.21012,-0.75417,-0.62212,0.32514,0.33521,-0.88424,0.14017,0.94272,-0.30262,-0.008698,0.94015,-0.34056,-0.93652,0.15479,-0.31452,0.37751,-0.8377,0.39457,0.073977,-0.082675,0.99381,-0.34562,-0.21076,0.91436,0.17014,-0.1604,0.97226,-0.28309,0.83416,0.47325,-0.11649,0.81475,0.56795,-0.10846,-0.28263,0.95306,0.31892,-0.83932,0.44023,0.1829,-0.93982,0.28852,0.047121,-0.93603,0.34864,0.27988,-0.64507,0.71099,0.58318,-0.70403,0.40519,0.20585,-0.8106,0.54817,-0.009247,0.15519,0.98782,0.24564,-0.64727,0.72155,-0.040864,0.83657,0.54628,0.58058,0.80203,-0.14008,0.661,0.34019,-0.66881,0.85604,0.35386,-0.37675,0.4185,0.86898,-0.26392,0.69506,0.48412,0.53148,0.35807,0.7561,0.54775,0.45802,0.24641,0.85409,0.44136,-0.54503,0.71282,0.44859,-0.19794,0.87152,0.08594,-0.4969,0.86352,-0.12448,-0.54177,0.83123,0.060183,-0.93408,0.35191,0.28156,-0.87726,0.38871,0.33549,-0.53008,0.77871,0.38649,-0.83093,0.40016,0.56002,-0.82562,-0.068422,0.37577,-0.88842,-0.26359,0.16132,-0.9379,-0.30708,0.45912,-0.88821,0.015564,0.29307,-0.93445,0.20219,0.43672,-0.8995,-0.010498,0.81002,-0.21406,-0.54588,0.75292,-0.58803,-0.29545,0.44206,-0.44014,-0.78155,0.62551,-0.77966,0.029054,-0.16257,-0.59941,-0.78372,-0.35804,-0.93295,0.037446,0.44426,-0.68136,-0.58168,-0.36924,-0.5938,-0.71483,0.46065,-0.8052,0.37333,-0.89001,0.069979,0.45048,-0.76321,-0.20524,0.61266,-0.23038,-0.39314,0.89013,-0.65883,0.66991,0.34217,-0.82482,0.36201,-0.43422,-0.33982,0.51787,-0.78503,0.26606,-0.74618,-0.61022,0.36164,0.42885,-0.82781,0.010956,0.98688,-0.16105,-0.29658,0.70595,0.64312,-0.31806,-0.41557,0.85211,0.066775,-0.94437,0.322,0.10837,-0.98578,0.12827,0.044923,-0.97607,0.21268,0.15113,-0.74889,0.64519,0.51643,-0.76602,0.38273,0.45796,-0.88659,-0.064394,0.26121,-0.96149,0.08533,0.43855,-0.89392,-0.092563,0.79461,-0.54631,-0.26475,0.41572,-0.83981,-0.34907,0.34199,-0.92828,-0.14591,0.56807,-0.81576,-0.10859,0.87069,-0.48091,-0.10276,0.95425,0.2598,-0.1478,0.65917,0.73727,0.14789,0.33732,0.94067,-0.036439,0.8019,0.42637,-0.41844,0.53414,0.44746,-0.71725,0.5659,-0.31846,-0.76046,0.89099,-0.13447,-0.43361,0.61577,-0.7879,0.000183,0.30268,-0.63619,-0.70965,0.1659,0.97891,-0.11893,-0.066713,0.70727,0.70376,-0.17634,-0.006714,0.98428,0.11893,-0.75362,0.64641,0.10968,-0.89111,0.44032,-0.067751,-0.62429,0.77822,-0.27918,-0.65865,0.69869,-0.00235,-0.98126,0.19257,0.29173,0.11194,0.94989,0.31001,-0.65712,0.68706,0.3235,0.62477,0.71059,0.58992,0.40962,0.69579,0.28358,-0.3314,0.89984,0.20023,-0.65136,0.73183,0.21799,-0.93439,0.28172,0.32453,-0.88962,0.32127,0.73614,-0.52138,0.43153,0.70843,-0.70208,0.071902,0.45454,-0.30525,0.83676,0.20447,-0.87338,-0.442,0.77541,-0.62215,-0.10773,-0.27848,-0.76189,0.58476,-0.84457,-0.53017,-0.074587,-0.94437,0.053529,0.3245,-0.89639,0.21625,0.38685,-0.5587,0.20423,0.8038,-0.57286,-0.07178,0.81649,0.32386,-0.02823,0.94565,0.005097,0.20084,0.97958,-0.086245,0.24601,0.96539,-0.5522,0.2819,0.78457,-0.61776,0.27552,0.73647,0.45045,0.005219,0.89276,-0.69015,0.11734,0.71407,-0.95566,0.10477,0.27512,-0.92691,-0.083834,-0.36576,-0.90558,-0.28462,-0.31446,0.061495,-0.29524,-0.95343,0.89151,0.11402,-0.43834,0.92709,0.075137,0.3672,0.16672,0.02707,0.98563,-0.62896,0.048952,0.77587,-0.76543,-0.19337,0.61376,-0.89718,-0.38328,-0.21934,-0.28513,-0.47743,-0.83108,-0.87667,-0.31944,-0.35963,-0.38469,-0.2909,-0.87597,0.7911,-0.12601,-0.59853,0.81463,0.12925,-0.56536,0.92285,0.17447,0.3433,0.81295,0.53835,0.22196,0.37162,0.3708,0.8511,0.23597,0.41404,0.87912,0.15674,0.18415,0.97031,-0.93878,-0.086398,0.33344,-0.82556,-0.51177,-0.23771,0.085177,-0.36509,-0.92706,0.79614,0.27827,-0.53731,0.89712,0.31901,0.30555,0.25129,0.54164,0.80215,-0.60863,-0.029878,0.79287,-0.66341,-0.30671,0.68246,0.16886,0.45567,0.87396,0.68398,0.71584,0.14029,0.77468,0.17295,-0.6082,-0.14795,-0.61391,-0.77535,0.82717,0.024903,-0.56136,0.88144,0.36079,0.3047,0.20707,0.30302,0.9302,-0.78311,-0.13303,0.60747,-0.77551,-0.62459,-0.091647,-0.79122,-0.52794,-0.30848,-0.10782,-0.36781,-0.92361,-0.83959,-0.48543,-0.24369,-0.4937,-0.72268,-0.48372,0.26716,-0.4329,-0.8609,0.85507,-0.1655,-0.49135,0.91299,0.19901,0.35612,0.24274,0.11264,0.9635,-0.44243,-0.093936,0.89184,-0.77792,-0.58672,0.22489,-0.54262,-0.83853,-0.049196,-0.8356,-0.549,-0.018525,-0.80184,-0.55473,0.2219,-0.12592,-0.44362,0.88729,-0.64763,-0.70324,0.29319,-0.86502,-0.42701,-0.26338,-0.82131,-0.36979,0.43434,-0.91012,-0.19541,0.36534,-0.76907,-0.61238,-0.18296,-0.35783,-0.59398,-0.72048,-0.36143,-0.77218,-0.52254,-0.70684,-0.69363,-0.13874,0.81429,-0.3806,0.43822,0.9263,0.061739,0.37165,0.68938,-0.71465,-0.11814,0.30854,-0.52263,0.79473,0.33476,-0.21558,0.91729,0.84402,-0.45723,-0.28022,0.44813,-0.72695,-0.52025,-0.50246,-0.69506,-0.51418,-0.36351,-0.83944,-0.40391,0.012177,-0.83508,-0.54997,0.035707,-0.918,-0.39494,-0.69335,-0.6158,-0.37416,-0.44105,-0.41569,-0.79537,-0.4723,-0.59795,0.64757,-0.36808,-0.7083,0.60231,-0.71172,-0.59694,0.37022,0.26798,-0.87091,-0.41188,0.4319,-0.65017,-0.62508,-0.81371,0.17075,-0.55556,-0.7889,0.12885,-0.60085,-0.845,0.33305,-0.41838,-0.85708,0.45833,-0.23521,-0.77566,-0.42067,0.47044,-0.071078,-0.99536,0.064455,0.57509,-0.80413,-0.15033,-0.052797,-0.77764,-0.62645,-0.5349,-0.047548,0.84356,-0.55501,-0.71252,0.42924,0.76543,-0.4272,0.48122,0.72863,0.25452,0.63582,0.9939,0.091586,0.061068,0.13971,-0.67489,0.72454,0.59502,-0.18363,0.7824,0.55675,-0.72503,0.40532,0.55034,-0.46947,0.69042,0.80343,-0.46318,0.37404,0.85678,0.50694,0.094333,0.56365,0.80151,0.19953,0.91583,0.1569,-0.36961,0.84661,-0.5034,-0.17255,0.72207,-0.68981,0.052248,0.33576,-0.94119,-0.037202,0.7532,0.64171,-0.14435,0.010804,-0.77944,0.62636,0.48509,-0.79086,0.37306,0.90436,0.23481,0.35633,0.50951,0.7481,0.42509,0.43446,-0.58144,0.68783,-0.86035,-0.46837,0.20093,-0.57137,-0.81918,-0.049684,-0.27708,-0.90127,-0.33296,-0.27491,-0.95572,0.1048,0.45537,-0.80755,0.37474,0.91821,-0.38136,0.10697,-0.54582,-0.61489,-0.56914,-0.54488,-0.75674,0.36113,0.67751,-0.25169,0.69106,0.65126,-0.41713,0.63387,0.63677,-0.48268,0.60122,-0.093142,-0.66753,0.7387,0.96002,-0.042848,0.2765,0.99783,-0.01413,0.063997,0.80294,0.48973,-0.3397,0.7625,0.50581,-0.40333,0.21934,0.66741,-0.7116,0.23002,0.49587,-0.83737,0.91629,0.29646,-0.26923,0.94247,-0.031343,0.33274,0.55495,-0.3567,0.75149,-0.24457,-0.55968,0.79177,-0.77987,-0.43739,0.44771,-0.81777,-0.38588,0.42695,-0.9747,0.073305,-0.21113,-0.98248,-0.089267,-0.16352,-0.88214,-0.37712,0.28205,-0.15738,-0.50514,0.84854,-0.79019,-0.42131,0.44502,-0.96103,-0.18436,-0.20582,-0.89325,-0.26206,0.36525,-0.16471,-0.45106,0.87713,-0.048891,-0.3011,0.95233,-0.38176,-0.20722,0.90069,-0.97903,-0.043733,0.19883,-0.93826,0.047426,0.3426,-0.32606,-0.22233,0.91882,-0.95676,0.23072,0.17704,-0.31797,0.023347,0.94778,-0.87579,0.36326,0.31779,-0.31095,0.2349,0.9209,-0.88174,0.42091,0.21293,-0.20103,0.66436,0.71984,-0.83636,0.50063,0.22321,-0.89749,0.29691,-0.32603,-0.98321,0.18186,0.013123,-0.66222,-0.15393,-0.7333,-0.7018,-0.6339,-0.32493,0.69936,-0.62905,-0.33931,0.4525,-0.87371,0.17841,0.69906,-0.21604,0.6816,0.88446,-0.063387,0.46223,0.78604,-0.34434,-0.51335,0.91968,-0.097537,0.38032,0.89947,-0.42274,-0.11048,0.96237,-0.17463,0.20817,0.88421,0.22181,-0.41099,0.91171,0.12677,0.39073,0.54784,0.7803,-0.30164,-0.24738,0.50316,-0.828,0.067843,0.33537,-0.93963,0.80514,0.080447,-0.58757,0.80612,0.18964,-0.5605,-0.35285,0.33348,-0.8742,-0.22352,0.19511,-0.95495,0.75066,-0.4359,-0.49641,0.4373,-0.63887,0.63292,-0.40758,-0.57442,0.70987,-0.40737,-0.57419,0.71018,-0.94131,-0.3184,0.11191,-0.63445,-0.22059,-0.74078,-0.44804,-0.79559,-0.4077,0.072323,-0.80057,-0.59485,0.072323,-0.80057,-0.59485,0.097903,-0.90344,0.41737,-0.40716,-0.57637,0.70853,-0.40687,-0.57627,0.70878,-0.7937,0.223,-0.5659,-0.82727,0.36284,-0.42888,-0.23154,-0.03534,-0.97217,-0.90609,0.30897,-0.28892,-0.86523,0.23127,-0.44481,-0.9364,-0.010132,-0.35072,-0.55489,0.13154,-0.82144,-0.92212,-0.076235,-0.37925,-0.62206,0.33024,-0.70989,-0.48677,0.19504,-0.85144,0.2447,0.33482,-0.90994,0.30424,0.30888,-0.90109,0.86517,0.22568,-0.44777,0.96753,-0.04825,0.24805,0.65661,-0.31535,0.68511,0.60772,-0.31245,0.73009,0.7084,-0.18403,0.68139,0.65007,-0.091647,0.7543,0.56926,-0.21781,0.79275,0.64266,-0.19334,0.74133,0.49925,0.000916,0.86642,0.51347,0.22297,0.82861,0.5537,0.29878,0.77724,0.070925,0.26783,0.96084,-0.69137,0.4843,0.53612,-0.82537,-0.012421,0.56441,-0.59883,-0.75716,0.2609,0.016999,-0.8363,0.54799,0.048891,-0.3152,0.94775,0.92984,0.15363,0.33427,0.76843,0.55104,-0.32536,0.99136,0.07889,0.10462,0.76586,0.33097,-0.55126,0.24268,0.46312,-0.85241,0.94559,0.15357,-0.28678,0.94482,-0.085116,0.31623,-0.4174,0.3072,-0.85519,-0.2425,0.59334,-0.76754,0.23325,0.75573,-0.61187,-0.25437,0.77096,-0.58382,-0.46654,0.54051,-0.7001,-0.60051,0.53353,-0.59554,-0.94729,0.15406,-0.2808,-0.85903,-0.38969,0.33192,-0.21708,-0.61891,0.75484,0.54564,-0.39119,0.74108,-0.2693,-0.45915,0.84652,-0.28217,-0.36137,0.88867,-0.85458,-0.34895,0.38456,-0.962,-0.095584,-0.25572,-0.86383,-0.33937,0.37229,-0.29112,-0.22321,0.93027,-0.86511,-0.26643,0.42494,-0.90695,-0.3028,-0.29273,-0.54268,0.095614,-0.83447,-0.46736,0.5847,-0.66304,0.17103,0.70888,-0.68422,0.80456,0.37461,-0.46074,0.15339,0.60704,-0.77969,0.18082,0.19837,-0.96329,0.86108,0.090091,-0.50041,0.21369,-0.13861,-0.96698,0.85751,-0.13242,-0.49708,0.98254,-0.098758,0.15745,0.96106,-0.013459,0.27598,0.91424,-0.05118,-0.4019,0.96777,-0.002167,0.25169,0.87414,-0.066927,-0.48097,0.96521,-0.002472,0.26139,0.87435,0.004791,-0.48524,0.97302,0.031159,0.22849,0.85449,0.080782,-0.51311,0.24686,-0.007691,-0.96899,0.2479,-0.11826,-0.96152,0.27787,-0.12632,-0.95224,-0.47352,-0.29542,-0.82974,-0.91922,-0.25928,-0.29621,-0.90194,-0.22037,0.37132,-0.33082,-0.15027,0.93164,-0.88037,-0.1619,0.44572,-0.95798,-0.15668,-0.24021,-0.49315,-0.15799,-0.85546,-0.3791,-0.24311,-0.89282,-0.51106,-0.047548,-0.85821,-0.96548,-0.089938,-0.24436,-0.88821,-0.11527,0.44468,-0.26286,-0.12189,0.95709,0.47258,-0.059542,0.87924,0.61675,-0.13569,0.77535,0.48906,-0.26441,0.8312,0.95978,-0.1157,0.25568,0.57173,-0.042879,0.81927,0.57064,-0.048341,0.81976,0.59581,-0.023316,0.80276,0.77798,0.032228,0.6274,0.99243,0.11225,0.049623,0.67858,0.13166,-0.72259,0.22013,0.057466,-0.97375,-0.54238,0.021729,-0.83984,-0.97629,-0.023072,-0.21509,-0.8721,-0.0365,0.48793,-0.25398,-0.095798,0.96243,-0.21958,-0.053713,0.97409,-0.72701,0.028779,0.686,-0.99713,0.071688,-0.023133,-0.74499,0.084994,-0.66161,0.021302,0.11133,-0.99353,0.006104,-0.003388,0.99997,-0.22114,0.8175,-0.53175,-0.1099,0.49879,-0.85971,-0.40458,0.75256,-0.51955,-0.004669,0.55541,-0.83154,0.068361,0.93701,-0.34251,-0.34568,0.9245,-0.16056,-0.52385,0.84011,-0.14042,-0.39332,0.89297,0.21879,-0.39207,0.91702,0.072878,-0.62282,0.67617,-0.39348,-0.56853,0.4358,-0.69768,-0.3527,0.4004,-0.8457,-0.35276,0.11518,-0.92859,0.01352,0.16199,-0.98669,0.20005,0.21155,-0.95666,0.36393,0.68185,-0.63451,0.60576,0.39235,-0.69213,0.55476,0.73681,-0.38639,0.5378,0.8395,-0.077151,0.85666,0.4727,-0.20661,0.90765,0.38084,0.1763,0.51015,0.78878,0.34285,0.18393,0.96451,0.18934,0.062349,0.99725,-0.039521,-0.30787,0.94989,-0.053591,-0.75359,0.62053,-0.2168,-0.82455,0.4427,-0.35228,-0.56108,0.80807,0.17942,-0.51247,0.85092,-0.11521,-0.55766,0.82925,0.036103,-0.75689,0.63653,-0.14802,-0.87143,0.48027,-0.099521,-0.83203,0.36335,-0.41914,-0.93838,0.2761,-0.20777,-0.80731,0.087985,-0.58348,-0.91629,0.11438,-0.38377,-0.91784,-0.079043,-0.38896,-0.64727,-0.12412,-0.75207,-0.86145,-0.1699,-0.47853,-0.57936,-0.18955,-0.79269,-0.41618,-0.16086,-0.89489,-0.43294,-0.063417,-0.89917,-0.1012,-0.068972,-0.99246,0.060945,-0.13111,-0.98947,-0.32829,-0.13822,-0.93439,-0.25019,-0.16987,-0.95315,-0.3162,-0.17112,-0.9331,-0.18622,-0.076876,-0.97946,0.051759,-0.078372,-0.99557,0.26972,-0.11618,-0.95587,0.15348,-0.11405,-0.98154,0.23228,-0.047578,-0.97147,0.60949,0.079287,-0.78878,0.45863,-0.020875,-0.88836,0.81472,0.16318,-0.55638,0.7684,0.37782,-0.51646,0.8909,0.23069,-0.39122,0.98615,0.16547,-0.010895,0.79556,-0.076479,0.601,0.30741,-0.16861,0.93649,0.61248,-0.037385,0.78958,0.89447,0.028901,0.44615,0.94638,0.1475,0.28739,0.95636,0.10935,-0.27082,0.88723,0.10724,-0.44859,0.74606,0.046663,-0.66421,0.26423,0.043428,-0.96347,0.70098,0.14469,-0.69832,0.89135,0.1645,-0.42238,0.90832,0.18589,-0.37465,0.97742,0.099155,0.18647,0.57659,-0.060488,0.81478,0.13376,-0.2172,0.96689,0.10785,-0.40812,0.90652,0.41063,-0.31935,0.85403,0.046571,-0.50392,0.86245,0.24598,-0.40797,0.87921,0.027894,-0.54817,0.83587,0.24903,-0.36461,0.89721,0.91098,0.37184,0.17838,0.96463,0.081576,0.25059,0.8623,0.31553,-0.39601,0.85751,0.33387,-0.39137,0.56435,0.36064,-0.74258,0.88815,0.43507,-0.14786,0.43019,0.5735,-0.6971,0.7575,0.55745,-0.3397,0.34715,0.62197,-0.70186,-0.011505,0.48521,-0.87429,-0.12394,0.46895,-0.87448,-0.38121,0.3397,-0.8598,-0.14505,0.50029,-0.8536,0.10636,0.2646,-0.95846,0.10144,0.30598,-0.94659,-0.043245,0.001068,-0.99905,0.17386,-0.020051,-0.98456,0.14844,0.25233,-0.95617,0.39641,0.49599,-0.77251,0.003357,0.50743,-0.86166,0.3614,0.62554,-0.6914,-0.10736,0.56954,-0.8149,-0.4145,0.44374,-0.79452,-0.28538,0.3874,-0.87661,0.19349,0.24412,-0.95022,0.17942,-0.010529,-0.9837,0.44639,0.046236,-0.89361,0.2725,0.21,-0.93893,0.59523,0.3618,-0.71746,0.38072,0.472,-0.79513,-0.2999,0.19175,-0.93448,-0.2891,0.45216,-0.84374,0.24067,0.55251,-0.79797,0.67022,0.45726,-0.58452,-0.56432,0.4232,-0.70879,-0.16025,0.44758,-0.87973,-0.11585,0.21629,-0.96942,-0.27482,-0.097507,-0.95651,-0.12461,-0.059786,-0.99039,-0.058565,-0.021577,-0.99805,0.14124,0.28556,-0.94787,0.011902,0.51772,-0.85543,0.45857,0.53902,-0.70647,-0.1214,0.68053,-0.72256,-0.037812,0.50594,-0.86172,-0.32469,0.70098,-0.63494,-0.22675,0.21894,-0.949,-0.40162,-0.041169,-0.91485,-0.14405,0.27082,-0.95178,0.037355,0.50377,-0.863,0.48637,0.42634,-0.76263,-0.099094,0.67528,-0.73083,-0.4041,0.56368,-0.72036,-0.39344,0.67895,-0.6198,-0.77077,0.44536,-0.45555,-0.85537,0.45366,-0.24998,-0.98025,0.18094,-0.079592,-0.67424,0.46638,-0.57256,-0.79989,0.27711,-0.5323,-0.99353,0.10941,-0.02942,-0.94375,0.33058,0.005005,-0.42067,0.60485,-0.67614,-0.88763,-0.10654,0.44804,-0.31736,-0.51195,0.79821,-0.1677,-0.65896,0.73324,-0.033601,-0.72634,0.68648,-0.10117,-0.62004,0.77798,-0.15421,-0.46232,0.87316,-0.48412,-0.35377,0.80029,-0.6548,-0.22053,0.72289,-0.30949,-0.34849,0.88473,-0.66054,-0.22413,0.71654,-0.82974,-0.18219,0.52754,-0.99234,-0.1196,0.030305,-0.93411,-0.030488,-0.35563,-0.95471,-0.15244,-0.25547,-0.93509,-0.036561,-0.35249,-0.92401,-0.036897,-0.38054,-0.80187,0.23917,-0.5475,-0.49645,0.28349,-0.82046,-0.57277,-0.012207,-0.81961,-0.99332,-0.07651,-0.086337,-0.93081,-0.18998,0.31217,-0.90005,-0.20109,0.38661,-0.98065,-0.030732,0.19321,-0.92404,-0.11936,0.36311,-0.98147,0.13443,-0.13636,-0.96689,0.25123,-0.044282,-0.98743,0.10965,-0.11368,-0.85962,0.51067,-0.015412,-0.98151,0.16721,0.093142,-0.80477,-0.095035,-0.58586,-0.39018,-0.19468,-0.8999,-0.17829,-0.14103,-0.97379,-0.86294,-0.17109,-0.47539,-0.72015,-0.16849,-0.67302,-0.33628,-0.066317,-0.93939,-0.80193,-0.15479,-0.57698,-0.41243,-0.082217,-0.90725,-0.79379,-0.15595,-0.58785,-0.25214,-0.10343,-0.96213,-0.62114,-0.11499,-0.77517,-0.16916,-0.13196,-0.97668,-0.98447,-0.17551,0.000244,-0.97656,-0.20783,-0.055422,-0.97568,-0.18009,0.12491,-0.96985,-0.19687,-0.14356,-0.94955,-0.19337,-0.24686,-0.97549,-0.21613,-0.041017,-0.92642,-0.18979,0.32505,-0.92911,-0.11094,0.35276,-0.92389,-0.048647,0.37953,-0.89749,-0.058779,0.43709,-0.82412,-0.092502,0.55876,-0.75869,-0.11954,0.64037,-0.48698,-0.078188,0.86987,-0.64254,-0.098849,0.75982,-0.76782,-0.15467,0.62169,-0.93615,-0.19101,0.29508,-0.9819,-0.17097,-0.081362,-0.99542,-0.08948,-0.033143,-0.96619,-0.094699,0.23972,-0.78814,-0.16785,0.59212,-0.67861,-0.15998,0.71682,-0.75643,-0.1521,0.6361,-0.75738,-0.10883,0.64382,-0.75308,-0.092044,0.65145,-0.73562,-0.097232,0.67034,-0.70211,-0.15641,0.69463,-0.65593,-0.10843,0.74697,-0.81869,-0.074435,0.56935,-0.9667,0.017792,0.25526,-0.83804,0.016114,0.54534,-0.6686,-0.045167,0.74221,-0.67211,0.056887,0.73824,-0.80587,0.10508,0.58263,-0.95883,0.11057,0.26151,-0.99585,0.006439,0.090609,-0.89434,0.42085,0.15171,-0.86215,0.32249,0.3907,-0.71679,0.16828,0.67666,-0.64348,0.11405,0.75689,-0.58769,0.19834,0.78439,-0.51552,0.49794,0.69732,-0.4276,0.74593,0.5106,-0.71963,0.55824,0.41285,-0.67129,0.71041,0.21125,-0.77908,0.60741,0.15503,-0.69863,0.56935,0.43321,-0.73186,0.30985,0.60689,-0.64831,0.43672,0.62365,-0.42091,0.26582,0.86724,-0.37251,0.18052,0.91028,-0.082247,0.30195,0.94974,-0.33036,0.53279,0.77908,-0.26795,0.78469,0.55892,-0.32701,0.8934,0.30802,-0.23231,0.96237,0.14081,-0.76733,0.63753,-0.068545,-0.62789,0.77828,-0.003235,-0.43614,0.8923,0.11643,-0.51042,0.81863,0.26313,0.15928,0.9252,0.34437,0.14118,0.92144,0.36189,0.081576,0.74319,0.66405,0.020081,0.58739,0.80902,0.41823,0.47337,0.7752,0.39695,0.18638,0.89868,-0.011078,0.11133,0.99371,0.24748,0.083743,0.96524,0.45335,0.019013,0.89111,0.52876,0.020325,0.84851,0.58211,-0.027863,0.81262,0.58348,-0.051637,0.81045,0.55596,-0.084902,0.82684,0.51952,-0.088046,0.84988,0.51991,-0.089236,0.84951,0.69292,0.27751,0.66543,0.66796,0.18332,0.72124,0.70333,0.14283,0.69634,0.64449,-0.04413,0.76333,0.52855,-0.14093,0.83709,0.82745,-0.084841,0.55504,0.9508,0.15519,0.26808,0.93231,-0.18784,0.309,0.73775,-0.25852,0.62355,0.92602,0.18134,0.331,0.96506,0.047639,0.25758,0.53404,0.041871,0.84439,0.10288,-0.013337,0.9946,0.4171,0.01706,0.90869,0.090762,0.02121,0.99564,0.41047,0.059023,0.90994,0.21613,0.044923,0.97531,0.26951,0.043519,0.962,0.40797,0.098331,0.90765,0.99051,0.074068,0.11551,0.9183,0.14341,0.36891,0.64003,0.094333,0.7625,0.81857,0.066164,-0.57054,0.99991,-0.007721,0.00882,0.99417,0.021119,0.10565,0.96982,-0.060701,0.23603,0.85354,-0.020264,0.52062,0.48268,-0.01587,0.87564,0.92874,0.025391,0.36979,0.86975,0.026887,-0.49269,0.9342,-0.027802,-0.3556,0.5956,-0.005554,-0.80322,0.46925,0.093875,-0.87805,0.73214,0.12244,-0.67,0.44176,0.13913,-0.88626,0.79678,0.01001,-0.60418,0.9498,-0.011414,-0.31263,0.70373,-0.008789,-0.71038,0.91971,0.024903,-0.39174,0.98935,0.022309,0.14377,0.96539,0.14347,0.21778,0.96689,0.12433,-0.22279,0.87359,0.34727,0.34086,0.88089,0.44945,0.1482,0.59578,0.72143,0.35285,0.55544,0.74325,0.37284,0.68667,-0.027863,-0.7264,0.50746,0.60186,0.61663,0.98209,0.1409,0.12497,0.98935,-0.012391,0.14493,0.94613,-0.060945,0.31791,-0.96136,0.021699,-0.27439,0.92663,0.07712,0.36793,0.95654,0.25388,0.14325,0.64971,0.54653,-0.52834,0.50932,0.69643,-0.50551,0.81216,0.46333,0.35453,-0.38664,0.033113,-0.9216,-0.51332,0.1446,-0.84591,-0.98834,-0.1521,-0.000519,-0.99298,-0.11588,-0.023072,-0.9953,-0.067446,-0.069277,-0.97494,-0.21116,0.069582,-0.99673,-0.043123,-0.067904,0.6444,-0.21363,-0.73418,0.84842,-0.14304,-0.5096,0.58254,-0.30161,-0.75472,0.8695,-0.094272,-0.48482,0.62911,-0.02411,-0.77694,0.85031,-0.012238,-0.52611,0.70617,0.024628,-0.70757,0.17963,0.002503,-0.9837,0.15168,-0.051332,-0.98709,0.18006,-0.35173,-0.91861,0.17331,-0.43693,-0.88263,0.43013,0.049471,-0.90139,0.70687,0.11243,-0.69832,0.40498,0.41462,-0.81488,0.13947,0.34971,-0.92639,0.29057,0.56035,-0.7756,-0.21717,0.54015,-0.81304,0.21403,0.79873,-0.5623,-0.2649,0.68499,-0.67864,-0.23911,0.76806,-0.59404,0.24143,0.85382,-0.46116,-0.62908,0.43526,-0.644,-0.5519,0.57735,-0.60167,-0.64635,0.27946,-0.70998,0.14756,-0.067843,-0.98669,0.14939,0.30402,-0.94085,0.14679,0.51863,-0.84228,0.096957,0.64272,-0.75991,0.091525,0.78344,-0.61467,-0.080355,0.80389,-0.58928,0.099246,0.86316,-0.49501,-0.16514,0.84826,-0.50313,-0.33039,0.7658,-0.55165,-0.026673,0.80373,-0.59435,0.08536,0.58666,-0.80529,-0.28352,0.77758,-0.56117,-0.087924,0.88769,-0.45195,0.15046,0.87194,-0.46586,-0.56502,0.72713,-0.38981,-0.16791,0.75692,-0.63152,-0.25162,0.59273,-0.76507,-0.14264,0.37068,-0.91772,-0.13511,-0.082339,-0.9874,-0.215,-0.42183,-0.88079,-0.33879,-0.42445,-0.83966,-0.39067,-0.14521,-0.90899,-0.30082,-0.007935,-0.95364,-0.72805,-0.11753,-0.67534,-0.6989,-0.24085,-0.67339,-0.58058,-0.33042,-0.7441,-0.35853,-0.29893,-0.88433,-0.24238,0.11307,-0.96356,-0.24741,0.42769,-0.86938,-0.071108,0.4232,-0.90323,-0.25837,0.56517,-0.78344,0.076785,0.80319,-0.59075,0.39833,0.77715,-0.48714,0.1641,0.85177,-0.49751,-0.024079,0.8514,-0.52394,-0.020478,0.79696,-0.60366,0.08768,0.55977,-0.82397,-0.004517,0.6209,-0.78384,0.56905,0.59484,-0.56771,0.17951,0.81457,-0.55156,-0.24571,0.85391,-0.45872,-0.22831,0.85608,-0.46364,0.055483,0.83044,-0.55431,0.50884,0.67302,-0.5367,-0.41636,0.57891,-0.70104,0.8478,0.024842,-0.52971,-0.4066,0.35289,-0.84268,-0.41685,0.41307,-0.80966,-0.23383,0.48103,-0.84491,-0.36299,0.57421,-0.73382,-0.39445,0.59441,-0.70074,-0.32176,0.64754,-0.69073,-0.2212,0.65505,-0.72243,-0.067476,0.46992,-0.88009,0.11628,0.55061,-0.82659,0.034181,0.78805,-0.61464,0.079257,0.79431,-0.60228,-0.035585,0.90307,-0.42796,-0.096957,0.91275,-0.3968,0.12333,0.51994,-0.84521,0.098148,0.50645,-0.85662,0.05652,0.59578,-0.80111,0.10184,0.78011,-0.61724,0.072726,0.84408,-0.53121,0.040712,0.89602,-0.44209,0.013398,0.87585,-0.48231,-0.015625,0.47038,-0.88232,0.000427,0.58248,-0.81283,0.005371,0.77084,-0.63698,0.010041,0.84231,-0.53887,0.009186,0.90298,-0.42955,0.003113,0.9057,-0.42384,0.36216,0.44371,-0.8197,0.44761,0.5031,-0.73922,0.024384,0.76779,-0.64022,0.028565,0.841,-0.54024,0.03827,0.8967,-0.44096,0.034211,0.89978,-0.43495,0.61425,0.35801,-0.70318,0.558,0.48787,-0.67126,0.68667,0.40748,-0.60198,0.67537,0.46184,-0.57491,0.63991,0.5378,-0.54885,0.50975,0.73971,-0.43925,0.73846,0.22904,-0.63414,0.43962,0.35429,-0.82534,0.93454,0.25367,-0.24946,0.59362,0.26533,-0.75973,0.91794,0.36863,0.14652,0.22401,-0.043947,-0.97357,-0.085696,-0.12021,-0.98901,-0.068667,-0.24595,-0.96683,0.13538,-0.077029,-0.98776,0.17133,-0.14447,-0.97455,0.23887,-0.081729,-0.96759,0.30372,-0.19953,-0.93161,-0.26762,-0.016907,-0.96335,-0.74074,0.14447,-0.65603,-0.95126,0.022797,-0.3075,-0.65285,0.026368,-0.75701,-0.16782,0.23853,-0.95651,0.14383,0.26496,-0.95346,0.11701,0.28895,-0.95013,-0.051759,0.27717,-0.95941,-0.99713,0.055452,-0.050874,0.97467,0.057039,0.21619,0.98288,0.043336,0.17899,0.97137,0.005768,0.23747,0.97226,0.15857,0.17188,0.95361,0.084017,0.28904], "colors": [], "uvs": [[0.38989,0.67902,0.36125,0.67902,0.36125,0.64335,0.38989,0.71152,0.41728,0.67902,0.41728,0.71152,0.46283,0.67902,0.46283,0.71152,0.49774,0.67902,0.46283,0.64335,0.41728,0.64335,0.38989,0.64335,0.36125,0.60855,0.33212,0.60855,0.33212,0.64335,0.33212,0.67902,0.30083,0.67902,0.30083,0.71152,0.26879,0.71152,0.30083,0.74519,0.26879,0.74519,0.23675,0.74519,0.23752,0.76817,0.20546,0.74519,0.20739,0.76817,0.21193,0.78888,0.17809,0.79332,0.17634,0.76817,0.1477,0.76817,0.17634,0.74519,0.1477,0.74519,0.1203,0.76817,0.1203,0.74519,0.074757,0.76817,0.074757,0.74519,0.03985,0.76817,0.075062,0.78843,0.03985,0.78813,0.074537,0.80687,0.03985,0.80488,0.074782,0.8331,0.03985,0.83146,0.077997,0.87356,0.03985,0.8731,0.070557,0.90787,0.038695,0.90994,0.069402,0.94454,0.046275,0.9554,0.023319,0.95817,0.005547,0.91053,0.005547,0.95785,0.005547,0.97226,0.53204,0.97226,0.51427,0.95817,0.53204,0.95785,0.51762,0.97255,0.53204,0.98554,0.51873,0.98547,0.52005,0.99755,0.50673,0.99755,0.53204,0.99755,0.005547,0.99755,0.005547,0.98554,0.01754,0.99755,0.018857,0.98547,0.019966,0.97255,0.034968,0.97353,0.049659,0.97961,0.072523,0.97858,0.087388,0.94377,0.088928,0.90787,0.094496,0.87863,0.09426,0.84593,0.1203,0.82869,0.1203,0.81092,0.1203,0.79298,0.14662,0.79469,0.17296,0.8143,0.19738,0.80895,0.21805,0.80482,0.23928,0.78619,0.26879,0.76817,0.30006,0.76817,0.33212,0.74519,0.33212,0.71152,0.36125,0.71152,0.36125,0.74519,0.36125,0.76817,0.3302,0.76817,0.32565,0.78888,0.29831,0.78619,0.26879,0.78698,0.24168,0.80437,0.24359,0.81669,0.26879,0.81906,0.26879,0.83569,0.24362,0.8348,0.22285,0.83405,0.22028,0.81464,0.20634,0.83556,0.20166,0.81924,0.16727,0.83569,0.1478,0.83337,0.14809,0.81331,0.1203,0.84859,0.14627,0.85467,0.16649,0.8592,0.18644,0.856,0.18485,0.83581,0.20723,0.85277,0.22343,0.85042,0.2427,0.85205,0.26062,0.85258,0.26879,0.85287,0.27697,0.85258,0.29488,0.85205,0.29396,0.8348,0.29399,0.81669,0.2959,0.80437,0.31954,0.80482,0.31731,0.81464,0.33592,0.81924,0.33125,0.83556,0.31473,0.83405,0.31416,0.85042,0.33036,0.85277,0.35114,0.856,0.35274,0.83581,0.37032,0.83569,0.37109,0.8592,0.34388,0.86802,0.35676,0.88268,0.3834,0.86831,0.3784,0.89041,0.58176,0.83351,0.55413,0.82297,0.55413,0.80198,0.55413,0.83712,0.55413,0.85837,0.58176,0.85837,0.60462,0.83351,0.58176,0.805,0.55413,0.7917,0.39132,0.85467,0.38979,0.83337,0.36463,0.8143,0.3402,0.80895,0.26879,0.80839,0.3595,0.79332,0.38989,0.76817,0.39097,0.79469,0.3895,0.81331,0.41728,0.82869,0.41728,0.84859,0.44333,0.84593,0.43339,0.86193,0.55413,0.96507,0.58176,0.98682,0.55413,0.98682,0.58176,0.96507,0.60462,0.96507,0.60462,0.98682,0.63512,0.98682,0.63512,0.77539,0.63512,0.80381,0.60462,0.77539,0.57817,0.36562,0.58959,0.35466,0.59356,0.36492,0.57903,0.3501,0.56934,0.35526,0.60462,0.85837,0.63512,0.83351,0.63512,0.85837,0.60462,0.88174,0.58176,0.88174,0.58176,0.90689,0.55413,0.90689,0.55413,0.92607,0.58176,0.92607,0.60462,0.90689,0.63512,0.88174,0.56294,0.36461,0.56617,0.37537,0.57401,0.38113,0.58355,0.38051,0.59041,0.37476,0.63512,0.96507,0.60462,0.94577,0.63512,0.94577,0.60462,0.92607,0.63512,0.92607,0.58176,0.94577,0.55413,0.94577,0.44866,0.90787,0.43417,0.90787,0.43417,0.8801,0.43417,0.94377,0.4502,0.94377,0.46703,0.90787,0.44309,0.87863,0.45959,0.87356,0.49774,0.8731,0.49774,0.83146,0.4628,0.8331,0.46305,0.80687,0.41728,0.81092,0.41728,0.79298,0.41728,0.76817,0.38989,0.74519,0.41728,0.74519,0.46283,0.76817,0.46252,0.78843,0.49774,0.78813,0.49774,0.76817,0.46283,0.74519,0.49774,0.74519,0.49774,0.71152,0.53204,0.67902,0.49774,0.64335,0.46283,0.60855,0.41728,0.60855,0.38989,0.60855,0.36125,0.57676,0.33212,0.57676,0.30083,0.57676,0.30083,0.60855,0.30083,0.64335,0.26879,0.64335,0.26879,0.67902,0.23675,0.67902,0.23675,0.71152,0.20546,0.71152,0.17634,0.71152,0.17634,0.67902,0.20546,0.67902,0.17634,0.64335,0.20546,0.64335,0.20546,0.60855,0.17634,0.60855,0.20546,0.57676,0.17634,0.57676,0.20546,0.54377,0.17634,0.54377,0.17634,0.5016,0.20546,0.5016,0.20546,0.46019,0.17634,0.46019,0.1477,0.46019,0.1477,0.5016,0.1477,0.54377,0.1477,0.57676,0.1477,0.60855,0.1477,0.64335,0.1477,0.67902,0.1477,0.71152,0.1203,0.71152,0.1203,0.67902,0.1203,0.64335,0.1203,0.60855,0.1203,0.57676,0.1203,0.54377,0.1203,0.5016,0.1203,0.46019,0.074757,0.5016,0.074757,0.46019,0.03985,0.46019,0.03985,0.5016,0.02164,0.46019,0.021448,0.5016,0.005547,0.5016,0.021634,0.54377,0.005547,0.54377,0.005547,0.57676,0.53204,0.57676,0.51723,0.57676,0.53204,0.54377,0.53204,0.60855,0.49774,0.57676,0.49774,0.60855,0.53204,0.64335,0.46283,0.57676,0.41728,0.57676,0.38989,0.57676,0.36125,0.54377,0.33212,0.54377,0.30083,0.54377,0.28427,0.54377,0.2853,0.57676,0.26879,0.60855,0.23675,0.64335,0.23675,0.60855,0.23675,0.57676,0.23675,0.54377,0.23675,0.5016,0.23675,0.46019,0.25529,0.46019,0.25486,0.5016,0.25418,0.54377,0.25332,0.57676,0.26879,0.57676,0.26879,0.54377,0.26879,0.5016,0.26879,0.46019,0.28281,0.46019,0.28341,0.5016,0.30083,0.5016,0.30083,0.46019,0.33212,0.5016,0.33212,0.46019,0.36125,0.5016,0.38989,0.54377,0.41728,0.54377,0.38989,0.5016,0.38989,0.46019,0.36125,0.46019,0.41728,0.5016,0.46283,0.5016,0.46283,0.54377,0.49774,0.54377,0.49774,0.5016,0.49774,0.46019,0.46283,0.46019,0.41728,0.46019,0.51656,0.46019,0.51682,0.5016,0.51702,0.54377,0.53204,0.5016,0.53204,0.46019,0.005547,0.46019,0.005547,0.67902,0.005547,0.64335,0.03985,0.64335,0.03985,0.60855,0.005547,0.60855,0.03985,0.57676,0.021885,0.57676,0.03985,0.54377,0.074757,0.54377,0.074757,0.57676,0.074757,0.60855,0.074757,0.64335,0.074757,0.67902,0.074757,0.71152,0.03985,0.74519,0.03985,0.71152,0.005547,0.74519,0.005547,0.71152,0.53204,0.74519,0.53204,0.71152,0.53204,0.76817,0.53204,0.7878,0.53204,0.80462,0.49774,0.80488,0.53204,0.83166,0.53204,0.87337,0.005547,0.87337,0.005547,0.83166,0.49889,0.90994,0.53204,0.91053,0.46818,0.94454,0.46506,0.97858,0.49131,0.9554,0.50262,0.97353,0.50482,0.98748,0.49584,0.99755,0.030854,0.99755,0.032761,0.98748,0.045009,0.98337,0.22385,0.98274,0.21815,0.9794,0.21961,0.95988,0.19263,0.97704,0.19828,0.9542,0.17723,0.97704,0.087388,0.97858,0.10342,0.94377,0.10342,0.90787,0.10342,0.8801,0.1042,0.86193,0.55413,0.71548,0.55413,0.73478,0.58176,0.71548,0.58176,0.73478,0.58176,0.75653,0.55413,0.75653,0.58176,0.5451,0.55413,0.5451,0.58176,0.56537,0.55413,0.56141,0.58176,0.57471,0.60462,0.57352,0.60462,0.60322,0.58176,0.60322,0.58176,0.62808,0.60462,0.62808,0.63512,0.60322,0.63512,0.62808,0.63512,0.57352,0.60462,0.5451,0.60462,0.73478,0.60462,0.75653,0.60462,0.71548,0.63512,0.73478,0.63512,0.75653,0.63512,0.5451,0.63512,0.65145,0.60462,0.65145,0.58176,0.65145,0.55413,0.62808,0.55413,0.60683,0.55413,0.59268,0.55413,0.57169,0.15543,0.86831,0.18082,0.88268,0.1937,0.86802,0.20772,0.87017,0.20403,0.89593,0.22303,0.86919,0.23977,0.87015,0.25498,0.86984,0.26879,0.87102,0.2826,0.86984,0.29782,0.87015,0.31456,0.86919,0.32987,0.87017,0.33355,0.89593,0.33575,0.92002,0.3167,0.9185,0.31609,0.8965,0.3015,0.89597,0.30054,0.91322,0.31798,0.95988,0.29625,0.94333,0.29175,0.96515,0.28341,0.93686,0.2806,0.96165,0.28871,0.98166,0.27748,0.98027,0.27653,0.99562,0.26879,0.99562,0.28654,0.99562,0.30011,0.98422,0.30539,0.97307,0.31373,0.98274,0.31943,0.9794,0.48793,0.97961,0.49258,0.98337,0.34496,0.97704,0.33931,0.9542,0.35677,0.91648,0.3784,0.91524,0.35961,0.9529,0.3784,0.95178,0.3784,0.97704,0.36036,0.97704,0.43417,0.97858,0.4502,0.97858,0.55413,0.88174,0.49528,0.98952,0.30745,0.98924,0.30555,0.9958,0.29635,0.99562,0.04174,0.99755,0.042303,0.98952,0.23748,0.98422,0.23014,0.98924,0.2322,0.97307,0.24583,0.96515,0.24887,0.98166,0.25699,0.96165,0.25418,0.93686,0.24133,0.94333,0.23704,0.91322,0.22088,0.9185,0.20184,0.92002,0.18082,0.91648,0.17798,0.9529,0.16044,0.97704,0.10342,0.97858,0.55413,0.6766,0.55413,0.65145,0.58176,0.6766,0.60462,0.6766,0.63512,0.6766,0.63512,0.69578,0.60462,0.69578,0.58176,0.69578,0.55413,0.69578,0.63512,0.71548,0.16044,0.95178,0.16044,0.91524,0.16044,0.89041,0.2215,0.8965,0.23609,0.89597,0.25091,0.88743,0.25227,0.90907,0.26879,0.93526,0.26879,0.90785,0.28531,0.90907,0.28667,0.88743,0.26879,0.96213,0.2601,0.98027,0.26105,0.99562,0.25105,0.99562,0.24123,0.99562,0.23204,0.9958,0.26879,0.97965,0.005547,0.80462,0.005547,0.7878,0.005547,0.76817,0.03985,0.67902,0.63512,0.90689,0.60462,0.80381,0.58176,0.79566,0.58176,0.77539,0.84695,0.27226,0.83194,0.33412,0.78106,0.27983,0.86366,0.32372,0.89718,0.26366,0.7659,0.34538,0.71176,0.27276,0.79088,0.39837,0.81127,0.44913,0.85615,0.39978,0.86226,0.47701,0.8187,0.50219,0.8374,0.57031,0.92946,0.52965,0.90325,0.4549,0.87918,0.38889,0.91907,0.37373,0.90208,0.31014,0.84694,0.27226,0.51209,0.22848,0.40513,0.24889,0.40513,0.21099,0.49015,0.25605,0.40513,0.26807,0.48888,0.29492,0.44817,0.29314,0.45517,0.30358,0.48815,0.30632,0.51392,0.31174,0.55058,0.30837,0.55022,0.32122,0.60108,0.33744,0.59339,0.35498,0.63158,0.3568,0.61845,0.39982,0.66275,0.37863,0.69176,0.42413,0.62637,0.44004,0.70562,0.48546,0.72311,0.45436,0.72351,0.49086,0.88598,0.83418,0.85811,0.84447,0.86292,0.81207,0.87899,0.84726,0.91471,0.84062,0.9226,0.82592,0.88911,0.8088,0.88224,0.79399,0.89016,0.78285,0.90643,0.79231,0.90355,0.7971,0.93681,0.82612,0.95228,0.85148,0.93322,0.85624,0.94931,0.88657,0.91772,0.88469,0.91467,0.93381,0.88435,0.89535,0.87533,0.92707,0.90399,0.95618,0.93552,0.94162,0.94873,0.95764,0.92534,0.97146,0.95198,0.96178,0.97155,0.93788,0.97429,0.97794,0.97652,0.89927,0.96739,0.93453,0.94566,0.9185,0.97164,0.89818,0.96027,0.87822,0.96184,0.85424,0.94489,0.82528,0.95713,0.79941,0.74604,0.44585,0.73764,0.44521,0.70701,0.42035,0.67292,0.36849,0.64819,0.3401,0.6004,0.31364,0.55305,0.27962,0.51209,0.22848,0.57004,0.24157,0.6714,0.32382,0.61406,0.25151,0.72661,0.32916,0.73783,0.37565,0.7484,0.43148,0.75581,0.49542,0.76479,0.53271,0.77723,0.59563,0.85603,0.64266,0.94539,0.60122,0.99125,0.57495,0.97096,0.50454,0.94471,0.43472,0.24021,0.24157,0.2572,0.27962,0.19619,0.25151,0.29816,0.22848,0.24021,0.24157,0.3201,0.25605,0.32138,0.29492,0.36208,0.29314,0.40513,0.27914,0.43088,0.29436,0.45759,0.3166,0.42999,0.3122,0.42716,0.33887,0.40513,0.33946,0.40513,0.35865,0.3831,0.33887,0.38668,0.3573,0.40513,0.36322,0.42357,0.3573,0.42017,0.36245,0.4432,0.36127,0.44288,0.37142,0.42821,0.37463,0.43997,0.37913,0.455,0.3766,0.45407,0.38447,0.46496,0.38878,0.45275,0.3906,0.45107,0.39393,0.45898,0.39189,0.46455,0.39279,0.47226,0.39376,0.47161,0.38166,0.4783,0.37447,0.4597,0.36979,0.47757,0.34754,0.45313,0.34182,0.48342,0.32538,0.50773,0.33648,0.53801,0.34918,0.56586,0.36714,0.58241,0.40609,0.58349,0.44449,0.6393,0.48624,0.56498,0.48688,0.57661,0.51536,0.58608,0.53901,0.64716,0.5421,0.59761,0.56233,0.6572,0.59601,0.60536,0.59915,0.65083,0.63963,0.69144,0.59576,0.68851,0.64146,0.7281,0.64554,0.7278,0.70769,0.78818,0.67118,0.75131,0.57846,0.74091,0.5913,0.72635,0.57949,0.71041,0.54426,0.73146,0.54224,0.84903,0.92659,0.85258,0.89601,0.86162,0.94386,0.87752,0.95693,0.89603,0.9699,0.92785,0.9735,0.89334,0.99562,0.75937,0.56269,0.98733,0.90338,0.97001,0.87747,0.98545,0.8604,0.71745,0.40965,0.62843,0.2995,0.61406,0.25151,0.61406,0.25151,0.57004,0.24157,0.8962,0.97526,0.87516,0.9626,0.85711,0.97738,0.87356,0.87735,0.8686,0.8552,0.88396,0.87351,0.68159,0.71523,0.6568,0.68203,0.61502,0.76789,0.65359,0.81854,0.58501,0.83469,0.50984,0.81239,0.51396,0.85835,0.54422,0.90137,0.61963,0.85615,0.40513,0.88027,0.40513,0.93562,0.26603,0.90137,0.29629,0.85835,0.22525,0.83469,0.19062,0.85615,0.15666,0.81854,0.19523,0.76789,0.12866,0.71523,0.15346,0.68203,0.12174,0.64146,0.15942,0.63963,0.11882,0.59576,0.15305,0.59601,0.1631,0.5421,0.099845,0.54426,0.10463,0.48546,0.078793,0.54224,0.086743,0.49086,0.05444,0.49542,0.061851,0.43148,0.064216,0.44585,0.098493,0.27276,0.13886,0.32382,0.083648,0.32916,0.18182,0.2995,0.20985,0.31364,0.25967,0.30837,0.29633,0.31174,0.32211,0.30632,0.35508,0.30358,0.32683,0.32538,0.35267,0.3166,0.37938,0.29436,0.40513,0.288,0.40513,0.31483,0.38026,0.3122,0.35713,0.34182,0.33269,0.34754,0.30252,0.33648,0.26003,0.32122,0.20917,0.33744,0.21686,0.35498,0.27225,0.34918,0.3149,0.35927,0.35055,0.36979,0.33196,0.37447,0.31763,0.38631,0.28534,0.38831,0.28138,0.40534,0.22784,0.40609,0.24439,0.36714,0.19181,0.39982,0.17867,0.3568,0.16206,0.3401,0.13733,0.36849,0.1475,0.37863,0.1185,0.42413,0.10324,0.42035,0.0928,0.40965,0.072426,0.37565,0.072614,0.44521,0.087139,0.45436,0.18388,0.44004,0.22676,0.44449,0.27914,0.42876,0.32897,0.39775,0.33276,0.38673,0.33864,0.38166,0.35525,0.3766,0.36706,0.36127,0.39008,0.36245,0.36738,0.37142,0.38205,0.37463,0.39335,0.37291,0.40527,0.37504,0.39166,0.3865,0.3744,0.38782,0.37028,0.37913,0.35751,0.3906,0.35618,0.38447,0.34529,0.38878,0.33799,0.39376,0.34077,0.39739,0.33711,0.40328,0.35583,0.41471,0.35103,0.4316,0.37035,0.43275,0.36221,0.45451,0.34288,0.45342,0.35387,0.47589,0.33089,0.47376,0.34153,0.50346,0.33078,0.50803,0.31949,0.47359,0.29516,0.50661,0.31635,0.53179,0.28133,0.53243,0.3116,0.55701,0.27849,0.5586,0.28641,0.57166,0.27686,0.57408,0.26655,0.58109,0.25921,0.56321,0.25586,0.59034,0.24554,0.57235,0.22418,0.53901,0.26016,0.53141,0.23364,0.51536,0.17095,0.48624,0.24527,0.48688,0.21265,0.56233,0.22432,0.58359,0.24543,0.59508,0.25701,0.60014,0.26327,0.59478,0.27004,0.58708,0.27881,0.58059,0.28807,0.57695,0.31254,0.57681,0.31376,0.57995,0.2905,0.58172,0.31287,0.58865,0.28569,0.59137,0.30405,0.60589,0.28341,0.60363,0.28144,0.60548,0.29145,0.60948,0.27897,0.61121,0.29016,0.61239,0.31614,0.60893,0.31653,0.61108,0.33548,0.60325,0.31669,0.61386,0.33698,0.60591,0.31521,0.62219,0.29028,0.62339,0.32497,0.63828,0.29267,0.63794,0.29082,0.65301,0.27334,0.63665,0.26861,0.64663,0.24956,0.63316,0.25765,0.61275,0.24461,0.62101,0.2449,0.60361,0.22465,0.61043,0.20489,0.59915,0.20162,0.64582,0.2324,0.66189,0.26033,0.67571,0.29279,0.68574,0.32873,0.65626,0.35164,0.64697,0.34417,0.63902,0.34485,0.62831,0.34001,0.61415,0.35881,0.61508,0.36435,0.62878,0.36542,0.63553,0.3733,0.61643,0.36634,0.60489,0.35332,0.60652,0.33983,0.59934,0.33779,0.59881,0.33361,0.60167,0.3311,0.59728,0.34324,0.59036,0.34601,0.59219,0.36012,0.59933,0.36355,0.58902,0.35484,0.58345,0.3451,0.58376,0.34343,0.57951,0.33772,0.5829,0.33808,0.58434,0.33187,0.58109,0.33221,0.58313,0.33922,0.58844,0.30915,0.56913,0.33633,0.56663,0.34592,0.54424,0.3392,0.52647,0.36194,0.52662,0.36619,0.55494,0.34575,0.57264,0.33488,0.57276,0.36516,0.58132,0.37665,0.559,0.38055,0.53393,0.36905,0.50728,0.35931,0.51097,0.35852,0.50044,0.36472,0.49587,0.36273,0.48261,0.35354,0.49192,0.36392,0.47172,0.36653,0.45734,0.37031,0.47026,0.37701,0.46197,0.38232,0.47514,0.39277,0.47482,0.39731,0.46976,0.39559,0.48298,0.40049,0.48184,0.39885,0.49391,0.40513,0.48035,0.40513,0.46784,0.40513,0.45516,0.41294,0.46976,0.40976,0.48184,0.41466,0.48298,0.4114,0.49391,0.40513,0.49407,0.40513,0.50361,0.3999,0.50198,0.39433,0.54612,0.39571,0.51153,0.37985,0.50473,0.37657,0.48664,0.37963,0.47696,0.39094,0.49254,0.3908,0.56882,0.38101,0.5868,0.37245,0.59532,0.38132,0.60259,0.3868,0.58896,0.40513,0.57098,0.40513,0.55045,0.41592,0.54612,0.41945,0.56882,0.42971,0.53393,0.41455,0.51153,0.41035,0.50198,0.41931,0.49254,0.4304,0.50473,0.4412,0.50728,0.44831,0.52662,0.45094,0.51097,0.45173,0.50044,0.44553,0.49587,0.43368,0.48664,0.43062,0.47696,0.44633,0.47172,0.44753,0.48261,0.45639,0.47589,0.45671,0.49192,0.46873,0.50346,0.47105,0.52647,0.46433,0.54424,0.44407,0.55494,0.4336,0.559,0.42925,0.5868,0.42345,0.58896,0.40513,0.58895,0.40513,0.60594,0.38222,0.62345,0.3725,0.6536,0.35977,0.67917,0.33404,0.6865,0.32513,0.71692,0.28612,0.71004,0.3156,0.77915,0.24968,0.75939,0.30042,0.81239,0.21517,0.72844,0.20975,0.68719,0.23722,0.69524,0.40513,0.83585,0.40513,0.79776,0.40513,0.72375,0.40513,0.67929,0.40513,0.65589,0.40513,0.6245,0.42803,0.62345,0.43775,0.6536,0.45049,0.67917,0.47621,0.6865,0.48153,0.65626,0.45861,0.64697,0.44483,0.63553,0.43695,0.61643,0.42893,0.60259,0.43781,0.59532,0.44671,0.58902,0.44509,0.58132,0.4645,0.57264,0.47392,0.56663,0.49866,0.55701,0.4939,0.53179,0.47947,0.50803,0.47936,0.47376,0.46737,0.45342,0.44804,0.45451,0.44373,0.45734,0.43995,0.47026,0.42794,0.47514,0.41749,0.47482,0.43325,0.46197,0.41863,0.45249,0.42011,0.44569,0.40513,0.44498,0.39014,0.44569,0.39162,0.45249,0.37358,0.44939,0.3913,0.43133,0.38405,0.42311,0.38692,0.40789,0.35924,0.40557,0.35573,0.39838,0.35933,0.39493,0.36973,0.39752,0.36939,0.40092,0.38328,0.40401,0.39848,0.40821,0.39886,0.42252,0.39915,0.4313,0.40513,0.43334,0.40513,0.42399,0.40513,0.40703,0.39768,0.40283,0.39337,0.39899,0.40513,0.40017,0.40513,0.40272,0.41258,0.40283,0.41178,0.40821,0.42697,0.40401,0.42334,0.40789,0.44087,0.40092,0.45102,0.40557,0.45442,0.41471,0.4262,0.42311,0.4114,0.42252,0.4111,0.4313,0.41896,0.43133,0.43667,0.44939,0.4399,0.43275,0.45922,0.4316,0.47315,0.40328,0.46948,0.39739,0.45452,0.39838,0.44052,0.39752,0.43003,0.39879,0.41689,0.39899,0.45093,0.39493,0.46542,0.39449,0.48128,0.39775,0.47864,0.42561,0.48057,0.45021,0.52815,0.4601,0.49077,0.47359,0.51509,0.50661,0.52892,0.53243,0.53177,0.5586,0.52384,0.57166,0.50111,0.56913,0.49771,0.57681,0.47838,0.58109,0.47537,0.57276,0.47254,0.5829,0.46682,0.57951,0.46515,0.58376,0.45541,0.58345,0.46702,0.59036,0.46425,0.59219,0.47247,0.59881,0.47043,0.59934,0.45014,0.59933,0.44392,0.60489,0.4459,0.62878,0.46608,0.63902,0.48528,0.63828,0.51944,0.65301,0.51746,0.68574,0.48512,0.71692,0.49465,0.77915,0.56058,0.75939,0.52413,0.71004,0.54992,0.67571,0.54165,0.64663,0.53692,0.63665,0.51758,0.63794,0.51997,0.62339,0.49504,0.62219,0.47024,0.61415,0.46541,0.62831,0.45144,0.61508,0.45693,0.60652,0.47328,0.60591,0.47477,0.60325,0.49357,0.61386,0.52011,0.61399,0.49372,0.61108,0.49411,0.60893,0.47665,0.60167,0.47915,0.59728,0.5062,0.60589,0.49738,0.58865,0.47103,0.58844,0.47218,0.58434,0.47804,0.58313,0.49649,0.57995,0.52219,0.57695,0.53339,0.57408,0.5437,0.58109,0.53144,0.58059,0.54022,0.58708,0.53358,0.59051,0.52726,0.58508,0.52456,0.59137,0.54074,0.59736,0.52684,0.60363,0.51976,0.58172,0.52882,0.60548,0.5188,0.60948,0.52009,0.61239,0.53107,0.61227,0.53655,0.61491,0.55261,0.61275,0.55003,0.60762,0.54414,0.60695,0.53129,0.61121,0.54044,0.60215,0.55125,0.60232,0.55324,0.60014,0.56564,0.62101,0.56069,0.63316,0.57785,0.66189,0.6005,0.68719,0.57304,0.69524,0.59508,0.72844,0.60863,0.64582,0.58561,0.61043,0.56535,0.60361,0.56482,0.59508,0.55439,0.59034,0.54699,0.59478,0.54872,0.59908,0.55104,0.56321,0.5501,0.53141,0.54311,0.51379,0.52528,0.48772,0.53111,0.42876,0.52888,0.40534,0.49262,0.38631,0.4775,0.38673,0.49536,0.35927,0.52491,0.38831,0.56471,0.57235,0.58594,0.58359,0.38023,0.39879,0.34484,0.39449,0.34571,0.39279,0.35128,0.39189,0.35918,0.39393,0.37193,0.39391,0.38954,0.39446,0.38107,0.39782,0.40513,0.39846,0.40513,0.39362,0.40513,0.38862,0.4186,0.3865,0.42071,0.39446,0.42919,0.39782,0.43832,0.39391,0.43586,0.38782,0.41691,0.37291,0.26023,0.60762,0.26612,0.60695,0.25901,0.60232,0.27919,0.61227,0.2737,0.61491,0.29014,0.61399,0.26981,0.60215,0.26154,0.59908,0.26952,0.59736,0.27668,0.59051,0.28299,0.58508,0.2821,0.4601,0.33161,0.42561,0.32969,0.45021,0.28498,0.48772,0.26714,0.51379,0.033023,0.59563,0.045458,0.53271,0.050872,0.56269,0.78781,0.67118,0.77686,0.59563,0.72773,0.64554,0.058947,0.57846,0.082153,0.64554,0.083907,0.57949,0.069348,0.5913,0.082457,0.70769,0.72743,0.70769,0.40513,0.21099,0.29816,0.22848,1.944,110.73,1.5421,110.98,1.4565,110.9,2.6494,99.926,2.6772,100.19,2.3882,99.777,0.84284,0.1788,0.83744,0.18309,0.83689,0.17924,0.84276,0.18339,0.85088,0.17828,0.85017,0.18317,0.85151,0.17821,0.85154,0.18454,0.85074,0.18364,0.85264,0.17811,0.85283,0.18607,0.85394,0.17807,0.86086,0.17823,0.86097,0.18428,0.86661,0.18489,0.86732,0.17847,0.87203,0.18501,0.87221,0.17853,0.88957,0.18638,0.87248,0.19466,0.88819,0.19719,0.90509,0.18828,0.90178,0.20055,0.92187,0.18907,0.91912,0.20643,0.93586,0.18504,0.93902,0.19992,0.93954,0.21364,0.95034,0.21935,0.93072,0.22449,0.93833,0.2311,0.92005,0.23668,0.92324,0.24471,0.90913,0.24008,0.90783,0.25896,0.89959,0.23646,0.88943,0.24444,0.88766,0.26178,0.89502,0.27147,0.87973,0.26771,0.88306,0.27323,0.8885,0.28577,0.88128,0.29196,0.90132,0.087781,0.89484,0.097158,0.88865,0.082814,0.90169,0.10169,0.90075,0.11351,0.91159,0.10811,0.92655,0.11636,0.91904,0.12846,0.93424,0.13744,0.91002,0.1419,0.92446,0.14932,0.94902,0.14648,0.95591,0.13493,0.96196,0.161,0.94122,0.15938,0.95949,0.17886,0.6321,0.46256,0.62171,0.48026,0.62171,0.46256,0.6321,0.48026,0.64348,0.46256,0.64348,0.48026,0.66202,0.48026,0.66202,0.46256,0.71057,0.48026,0.66202,0.4976,0.71057,0.4976,0.71057,0.51484,0.66202,0.51484,0.66202,0.52876,0.71057,0.52876,0.71057,0.38576,0.66202,0.37071,0.71058,0.37071,0.66202,0.38576,0.71057,0.40487,0.66202,0.40487,0.66202,0.4212,0.71057,0.4212,0.75934,0.4212,0.71057,0.44214,0.75934,0.44214,0.7839,0.4212,0.7839,0.44214,0.81273,0.44214,0.7839,0.46256,0.81273,0.46256,0.82771,0.46256,0.82771,0.44214,0.84261,0.44214,0.84261,0.46256,0.88603,0.46257,0.88603,0.44214,0.88603,0.4212,0.84261,0.4212,0.84261,0.40487,0.82771,0.4212,0.81273,0.4212,0.81273,0.40487,0.7839,0.40487,0.75934,0.40487,0.75934,0.38576,0.75934,0.37071,0.75934,0.52876,0.75934,0.51484,0.75934,0.49761,0.75934,0.48026,0.7839,0.49761,0.7839,0.48026,0.81273,0.48026,0.81273,0.49761,0.82771,0.49761,0.82771,0.48026,0.84261,0.48026,0.88603,0.48026,0.93233,0.48026,0.93233,0.46257,0.93233,0.44214,0.93233,0.4212,0.88603,0.40487,0.88603,0.38576,0.84261,0.38576,0.82771,0.38576,0.82771,0.40487,0.81273,0.38576,0.7839,0.38576,0.7839,0.37071,0.7839,0.52876,0.7839,0.51484,0.81273,0.51484,0.81273,0.52876,0.81273,0.37071,0.82771,0.37071,0.82771,0.52876,0.82771,0.51484,0.84261,0.51484,0.84261,0.49761,0.88603,0.49761,0.88603,0.51484,0.93233,0.51484,0.93233,0.49761,0.99301,0.49761,0.99301,0.51484,0.99301,0.52876,0.93233,0.52876,0.88603,0.52876,0.84261,0.52876,0.84261,0.37071,0.88603,0.37072,0.93233,0.38576,0.93233,0.37072,0.99301,0.37072,0.99301,0.38576,0.99301,0.40488,0.93233,0.40487,0.99301,0.42121,0.99301,0.44214,0.99301,0.46257,0.99301,0.48026,0.75934,0.46256,0.71057,0.46256,0.66202,0.44214,0.64348,0.44214,0.6321,0.44214,0.62171,0.44214,0.97251,0.1415,0.96255,0.12573,0.9422,0.12628,0.93483,0.10418,0.92315,0.095344,0.91176,0.09716,0.91492,0.087812,0.92682,0.082493,0.90924,0.081065,0.90113,0.067913,0.89385,0.073995,0.89128,0.081386,0.88593,0.075977,0.90715,0.2757,0.8909,0.28725,0.89824,0.28797,0.91941,0.28369,0.90555,0.29459,0.91649,0.29767,0.91097,0.30371,0.9198,0.071913,0.9085,0.062014,0.92972,0.065262,0.92384,0.053461,0.91721,0.056528,0.91394,0.065376,0.91051,0.058077,0.9285,0.2871,0.91718,0.30134,0.92334,0.30302,0.93822,0.29109,0.929,0.30668,0.94576,0.30397,0.93848,0.31389,0.93844,0.062285,0.93046,0.050276,0.93163,0.073127,0.93851,0.080828,0.94407,0.091947,0.95008,0.11583,0.96982,0.11432,0.98338,0.12493,0.6321,0.4212,0.62171,0.4212,0.64348,0.4212,0.64348,0.40487,0.6321,0.40487,0.62171,0.40487,0.9937,0.11412,0.98069,0.10116,0.96929,0.091449,0.95881,0.10378,0.95513,0.081387,0.94324,0.070429,0.94161,0.28024,0.95307,0.29377,0.92762,0.2711,0.93747,0.25556,0.95021,0.26926,0.96088,0.25574,0.94966,0.24241,0.95973,0.23116,0.96984,0.24462,0.98461,0.25778,0.97471,0.26999,0.9624,0.28504,0.99485,0.24226,0.98444,0.22868,0.97842,0.21666,0.62171,0.38576,0.62171,0.37071,0.6321,0.37071,0.6321,0.52876,0.62171,0.52876,0.6321,0.51484,0.62171,0.51484,0.972,0.20564,0.96306,0.19282,0.95166,0.197,0.94922,0.18037,0.62171,0.4976,0.6321,0.4976,0.64348,0.4976,0.64348,0.51484,0.64348,0.52876,0.64348,0.37071,0.6321,0.38576,0.64348,0.38576,0.92698,0.16548,0.91505,0.16986,0.90328,0.17355,0.88944,0.17751,0.88968,0.16877,0.8994,0.16489,0.90724,0.16075,0.91746,0.15593,0.90604,0.14913,0.90289,0.15558,0.89062,0.15232,0.88714,0.15851,0.87192,0.16333,0.87197,0.17232,0.86643,0.17218,0.86064,0.17212,0.85241,0.17,0.85128,0.17177,0.85042,0.17292,0.84985,0.17351,0.84242,0.17423,0.83724,0.17541,0.83605,0.17931,0.83657,0.18235,0.83625,0.1838,0.83545,0.18265,0.84253,0.18438,0.84225,0.18481,0.84205,0.1866,0.84303,0.1903,0.84965,0.19278,0.86152,0.19417,0.84501,0.19695,0.86129,0.20053,0.85993,0.20605,0.84397,0.2017,0.84128,0.20611,0.85709,0.21122,0.85356,0.21712,0.86084,0.21348,0.85718,0.21909,0.86485,0.21402,0.86782,0.20871,0.86436,0.20744,0.86596,0.20054,0.8697,0.20262,0.8665,0.19345,0.88471,0.20647,0.88163,0.21448,0.87624,0.22347,0.86134,0.22098,0.86831,0.22712,0.87577,0.23089,0.88229,0.23508,0.88679,0.22925,0.87109,0.24059,0.87547,0.25078,0.87356,0.26416,0.85374,0.27492,0.85802,0.28166,0.86139,0.28869,0.86337,0.30165,0.88389,0.090971,0.86893,0.07149,0.88726,0.10616,0.89043,0.12001,0.90124,0.12555,0.89034,0.13345,0.89019,0.14432,0.8716,0.14067,0.88162,0.14782,0.86845,0.23025,0.86605,0.23367,0.858,0.23556,0.863,0.24371,0.86529,0.25227,0.84183,0.2504,0.84441,0.25729,0.8628,0.26405,0.8429,0.27102,0.87648,0.10668,0.8737,0.11661,0.8505,0.10276,0.88155,0.11793,0.87774,0.12956,0.86994,0.26127,0.8751,0.10491,0.87882,0.099218,0.87156,0.10365,0.85975,0.08581,0.85524,0.098653,0.85679,0.084183,0.85036,0.093684,0.84947,0.2782,0.85301,0.28449,0.85605,0.29126,0.86069,0.3037,0.8573,0.30431,0.86167,0.076748,0.86267,0.0678,0.86607,0.069389,0.85569,0.073258,0.85426,0.082135,0.84507,0.067069,0.83773,0.072047,0.84428,0.091562,0.86868,0.081232,0.84428,0.28068,0.8476,0.28704,0.85081,0.2932,0.84031,0.31359,0.84548,0.058468,0.8421,0.056281,0.8388,0.063495,0.83509,0.070116,0.83206,0.068728,0.82791,0.080558,0.82264,0.078762,0.82588,0.28977,0.82902,0.29625,0.82093,0.2918,0.83305,0.29425,0.83239,0.3032,0.82735,0.30457,0.83383,0.31638,0.83742,0.31571,0.83809,0.055043,0.83286,0.060881,0.82335,0.065548,0.81643,0.073824,0.81662,0.3018,0.81356,0.29571,0.8248,0.29795,0.82036,0.30753,0.82422,0.31748,0.82852,0.059196,0.82921,0.051164,0.82687,0.058547,0.82288,0.063067,0.81379,0.061225,0.80915,0.067054,0.80837,0.3068,0.80483,0.3021,0.81187,0.3114,0.81316,0.31852,0.82704,0.052562,0.81902,0.047608,0.82523,0.057915,0.82176,0.061672,0.81467,0.059677,0.80722,0.057183,0.80852,0.056037,0.80693,0.055441,0.80839,0.055494,0.80081,0.30845,0.7979,0.31282,0.7976,0.31176,0.80352,0.31138,0.79994,0.31605,0.80343,0.31754,0.80646,0.31411,0.80482,0.31782,0.81862,0.049488,0.811,0.047045,0.8245,0.057638,0.81859,0.051037,0.82448,0.053161,0.81748,0.05498,0.81568,0.058648,0.82145,0.060973,0.80965,0.055449,0.80802,0.054331,0.80912,0.05457,0.80929,0.052111,0.81085,0.050138,0.80986,0.049626,0.81184,0.049801,0.81094,0.049,0.80976,0.048106,0.81143,0.048672,0.81875,0.049998,0.81088,0.052666,0.8101,0.052397,0.82516,0.052857,0.80614,0.061257,0.83712,0.30052,0.83038,0.28717,0.83181,0.084481,0.86992,0.12574,0.86457,0.13627,0.8436,0.1315,0.83976,0.24303,0.83671,0.25192,0.83815,0.25855,0.83984,0.2729,0.83242,0.2588,0.83598,0.27166,0.84436,0.10864,0.84233,0.10039,0.84645,0.10131,0.83674,0.10706,0.83747,0.11562,0.82286,0.11129,0.82081,0.12405,0.83308,0.12837,0.84121,0.11651,0.84452,0.11806,0.85293,0.1117,0.83883,0.12824,0.83444,0.24502,0.83142,0.25244,0.81799,0.2545,0.81944,0.26094,0.81912,0.27347,0.82725,0.10499,0.82579,0.09767,0.82123,0.10368,0.81988,0.1103,0.81666,0.1213,0.8171,0.24782,0.81321,0.25538,0.81214,0.24899,0.81437,0.2623,0.81582,0.27457,0.80946,0.26192,0.80827,0.2559,0.80703,0.2497,0.80101,0.25711,0.80233,0.2633,0.81216,0.27346,0.80283,0.27301,0.8182,0.09634,0.81036,0.10282,0.80902,0.095848,0.81557,0.10318,0.80785,0.10926,0.81654,0.11048,0.80461,0.11848,0.79716,0.11479,0.79919,0.25137,0.7928,0.25949,0.79076,0.25461,0.81147,0.1216,0.82213,0.096691,0.79468,0.26466,0.79346,0.27104,0.80754,0.097603,0.79974,0.095316,0.80888,0.10269,0.80684,0.1073,0.79893,0.10842,0.79264,0.11063,0.78707,0.26236,0.78553,0.25923,0.78902,0.26562,0.78673,0.26842,0.79988,0.097046,0.793,0.097002,0.80735,0.1026,0.80605,0.098348,0.79924,0.10687,0.80554,0.10643,0.79248,0.10686,0.78194,0.26221,0.78193,0.2612,0.7828,0.26545,0.78558,0.2678,0.79345,0.098725,0.79271,0.099548,0.79223,0.098263,0.79439,0.099176,0.79403,0.10467,0.79299,0.10506,0.79238,0.10417,0.7998,0.10572,0.79325,0.10551,0.79175,0.10543,0.80512,0.10593,0.80667,0.10257,0.80026,0.10223,0.79427,0.10208,0.80022,0.098396,0.80557,0.098784,0.79379,0.098285,0.83007,0.24575,0.88891,0.225,0.8906,0.22026,0.89613,0.20956,0.91143,0.21636,0.90475,0.23035,0.86627,0.16398,0.86125,0.162,0.84868,0.16301,0.84202,0.16689,0.84173,0.17088,0.84203,0.17276,0.84221,0.17321,0.83613,0.17494,0.83534,0.17609,0.8352,0.17936,0.83645,0.17627,0.82785,0.19917,0.82824,0.19443,0.82803,0.20043,0.83294,0.19644,0.83205,0.18985,0.8358,0.18637,0.83492,0.18437,0.83662,0.18456,0.8361,0.19157,0.83182,0.20205,0.84182,0.21261,0.83486,0.20888,0.83569,0.17267,0.83529,0.16869,0.83657,0.17419,0.83479,0.17446,0.92069,0.045745,0.91323,0.044959,0.9054,0.049651,0.91803,0.31525,0.91234,0.3128,0.92372,0.31717,0.93131,0.32448,0.92526,0.039854,0.9186,0.040438,0.91268,0.042775,0.90418,0.046094,0.917,0.31836,0.9113,0.31679,0.91568,0.32178,0.92281,0.3209,0.93128,0.32586,0.92089,0.32433,0.91315,0.33096,0.91887,0.33203,0.93008,0.32704,0.92659,0.33659,0.92345,0.035698,0.91649,0.035547,0.91915,0.026302,0.92462,0.03781,0.91151,0.040562,0.90815,0.030725,0.90038,0.034973,0.90237,0.042596,0.90972,0.32088,0.90743,0.32917,0.91254,0.3343,0.91867,0.33572,0.92705,0.33845,0.917,0.33904,0.91178,0.33759,0.90676,0.33315,0.90026,0.031294,0.90789,0.028674,0.89769,0.027819,0.90627,0.33717,0.91082,0.34295,0.91591,0.34374,0.92571,0.34005,0.92235,0.34655,0.91729,0.021845,0.9095,0.019312,0.91381,0.015247,0.9111,0.022403,0.90359,0.020445,0.90882,0.017975,0.90452,0.018876,0.90041,0.014086,0.8967,0.015521,0.89678,0.022669,0.90563,0.34258,0.91028,0.34964,0.90542,0.35005,0.90678,0.026891,0.91314,0.026564,0.91855,0.024052,0.9148,0.031144,0.91512,0.35035,0.91838,0.35268,0.91198,0.014954,0.91041,0.008685,0.90828,0.016928,0.90459,0.01758,0.90165,0.013601,0.89889,0.00902,0.89625,0.010676,0.9103,0.35505,0.90815,0.35879,0.90723,0.35509,0.91126,0.35921,0.91401,0.35775,0.9133,0.35455,0.90643,0.004837,0.90539,0.005907,0.9052,0.004862,0.90804,0.016492,0.90841,0.010358,0.91031,0.014121,0.90566,0.012064,0.90271,0.013402,0.90478,0.017052,0.90018,0.00897,0.89961,0.007871,0.90041,0.008552,0.90112,0.00906,0.90331,0.007938,0.90546,0.006751,0.90925,0.009535,0.90588,0.00595,0.91082,0.014246,0.91483,0.35701,0.89492,0.046717,0.89159,0.055376,0.88234,0.056436,0.87369,0.064273,0.88802,0.30425,0.88265,0.29874,0.89415,0.30805,0.90094,0.31738,0.90027,0.32001,0.89357,0.044482,0.88733,0.049491,0.88119,0.05406,0.87163,0.06158,0.88054,0.30372,0.88578,0.30751,0.89129,0.31196,0.88843,0.31526,0.89782,0.32193,0.89146,0.042198,0.88333,0.044635,0.87915,0.052253,0.86918,0.039362,0.86079,0.048253,0.86801,0.058479,0.88327,0.31048,0.87697,0.30668,0.87506,0.32141,0.88047,0.32495,0.88806,0.33419,0.87742,0.03741,0.88078,0.029961,0.87355,0.032622,0.86806,0.037061,0.85934,0.043512,0.86999,0.31724,0.87228,0.32505,0.86706,0.32139,0.87734,0.3292,0.88741,0.33677,0.87455,0.33275,0.86951,0.32863,0.86349,0.32484,0.86555,0.33428,0.87151,0.33801,0.88488,0.33837,0.87809,0.34493,0.87682,0.025271,0.86628,0.024773,0.8705,0.018138,0.8698,0.028572,0.85952,0.028759,0.86525,0.023689,0.8601,0.02652,0.85296,0.02239,0.84742,0.026138,0.85199,0.034421,0.86578,0.035338,0.85576,0.040053,0.87896,0.027713,0.8596,0.33071,0.86102,0.34172,0.86623,0.34496,0.86999,0.35027,0.86809,0.018572,0.86369,0.011372,0.86411,0.022576,0.85968,0.024929,0.85434,0.021292,0.84898,0.016842,0.84639,0.020204,0.85454,0.34637,0.85366,0.35139,0.85292,0.35055,0.85868,0.34776,0.85736,0.35366,0.86168,0.35355,0.8628,0.3492,0.8631,0.35319,0.86258,0.012936,0.85724,0.008188,0.85061,0.016241,0.84946,0.015104,0.85074,0.015645,0.85087,0.014493,0.85679,0.010987,0.8552,0.010115,0.85638,0.009964,0.85572,0.008719,0.86242,0.013422,0.86183,0.014293,0.86565,0.0182,0.86363,0.022129,0.85891,0.017642,0.85564,0.020648,0.85971,0.024237,0.85187,0.015984,0.85177,0.015027,0.85318,0.012439,0.85435,0.013495,0.857,0.009836,0.86634,0.018146,0.85511,0.33961,-8.461,60.379,-8.2069,60.028,-8.178,60.098,8.8228,60.157,8.6225,59.762,8.8769,60.114,13.984,33.485,13.546,33.496,13.558,33.427,-13.843,35.611,-13.416,35.556,-13.795,35.67,13.732,41.636,13.433,41.596,13.432,41.503,10.591,70.15,10.352,69.962,10.658,70.084,10.597,96.432,10.738,96.325,10.696,96.416,12.362,50.875,12.629,50.494,12.697,50.501,13.275,38.946,13.229,38.919,13.388,38.495,12.961,33.53,13.099,32.858,13.14,32.892,10.274,91.115,10.402,90.998,10.42,91.058,15.043,95.363,14.556,94.945,15.223,95.352,13.854,96.862,13.357,96.495,13.366,96.444,-0.005246,71.137,-0.078272,71.102,-0.16508,70.541,4.3506,98.258,4.5551,97.92,4.6331,97.941,14.941,84.229,14.477,83.901,14.552,83.834,14.952,85.181,14.485,84.776,14.953,85.1,11.537,92.546,11.009,92.179,11.057,92.159,10.781,93.818,10.378,93.334,10.829,93.798,11.28,94.747,10.822,94.291,10.834,94.229,14.309,89.818,13.883,89.284,14.388,89.754,14,96.758,13.844,96.647,13.951,96.668,13.024,85.402,13.11,85.416,13.036,85.632,13.689,53.779,13.669,54.007,13.585,53.986,13.883,66.477,13.788,66.667,13.696,66.613,11.872,80.083,12.01,79.922,12.112,79.932,11.414,52.59,11.312,52.573,11.257,52.479,1.2778,34.954,1.1425,34.942,1.1897,34.884,12.365,46.585,12.305,46.809,12.294,46.562,-8.8505,94.506,-8.9867,94.305,-8.7845,94.448,-8.9043,94.421,-9.1517,94.236,-9.0402,94.219,-11.454,96.624,-11.632,96.456,-11.563,96.401,-11.519,96.763,-11.662,96.489,-11.484,96.657,12.776,94.652,12.849,94.639,12.794,94.763,11.945,85.376,11.991,85.132,12.018,85.361,8.3116,29.876,8.4673,29.886,8.4678,29.949,12.985,96.668,12.427,96.338,12.994,96.617,12.742,96.254,12.128,95.948,12.186,95.921,-1.657,58.302,-1.8128,57.71,-1.7625,57.619,13.402,96.215,13.465,95.939,13.551,95.994,14.073,91.479,14.065,91.25,14.165,91.287,11.401,85.161,11.322,85.096,11.568,84.955,10.66,86.732,10.632,86.656,10.954,86.421,13.75,97.57,14.066,97.281,14.127,97.326,10.313,89.996,10.257,89.944,10.485,89.586,14.328,90.165,14.172,90.143,13.858,89.689,7.518,100.13,7.4706,100.08,7.6798,99.77,12.33,92.019,12.624,91.82,12.67,91.866,8.4381,66.257,8.4165,66.189,8.6857,66.003,14.627,74.902,14.342,74.456,14.651,74.835,9.0951,100.29,8.6439,99.976,8.6875,99.957,-6.3092,98.51,-6.545,98.33,-6.4461,98.319,4.0285,61.068,3.9137,61.11,3.9313,61.046,8.7995,79.671,8.7107,79.652,8.6704,79.565,9.568,96.427,9.7177,96.285,9.8073,96.3,11.94,87.683,11.872,87.62,12.072,87.525,13.928,98.569,13.967,98.378,14.043,98.432,13.965,98.528,13.879,98.486,14.004,98.337,14.194,97.569,14.091,97.438,14.177,97.48,14.296,85.013,14.1,84.459,14.382,84.98,8.925,99.374,8.5567,98.96,8.5732,98.904,8.3554,99.762,8.0312,99.329,8.399,99.744,12.723,93.309,12.866,93.244,12.863,93.302,13.492,94.996,13.51,94.898,13.576,94.907,-9.7959,90.552,-9.9392,90.324,-9.7775,90.455,-9.6593,89.856,-9.8205,89.724,-9.7662,89.672,-6.3297,98.526,-6.4666,98.334,-6.2727,98.476,14.237,65.709,14.087,65.876,14.192,65.66,13.861,74.543,13.755,74.739,13.693,74.693,11.955,86.669,12.097,86.497,12.155,86.573,14.094,94.348,14.144,94.158,14.212,94.193,13.779,92.721,13.887,92.538,13.845,92.729,14.652,73.933,14.351,73.548,14.434,73.511,12.251,97.072,12.343,96.846,12.408,96.905,13.054,98.106,13.034,98.018,13.149,97.881,9.1013,98.3,9.0379,98.239,9.2789,98.116,-0.05092,78.449,-0.3656,78.028,-0.3518,77.938,1.438,80.935,1.3702,80.995,1.0348,80.506,-0.72339,89.372,-0.98112,88.974,-0.90751,88.921,1.3223,96.63,1.1079,96.939,1.2518,96.622,-0.15712,89.902,-0.22744,89.891,-0.42017,89.443,11.952,96.731,11.585,96.351,11.601,96.306,11.021,95.729,10.576,95.396,11.036,95.684,10.655,96.85,10.154,96.541,10.208,96.52,14.392,45.912,14.354,45.956,14.295,45.811,9.192,57.409,9.713,56.998,9.7599,57.023,3.3653,58.796,3.2951,58.825,2.7664,58.511,6.9381,71.071,6.599,70.794,6.5786,70.7,11.445,70.974,11.361,70.917,11.361,70.817,13.258,55.383,12.945,55.283,13.188,55.31,13.023,73.979,12.778,73.958,12.777,73.861,12.086,92.182,12.358,92.2,12.31,92.285,12.823,101.88,13.094,101.91,13.067,101.98,12.867,103.82,12.866,103.75,13.138,103.84,9.073,104.84,9.182,104.86,9.1767,104.92,-5.3913,53.312,-5.3015,53.057,-5.1997,53.014,-5.4793,53.367,-5.5565,53.344,-5.3878,53.112,-13.341,17.656,-13.141,17.451,-13.106,17.523,12.688,96.984,12.431,96.894,12.716,96.922,12.907,92.774,12.645,92.758,12.651,92.68,7.9956,86.982,8.0092,86.915,8.1183,86.93,-13.298,17.634,-13.275,17.526,-13.043,17.389,13.619,74.607,13.307,74.437,13.23,74.369,13.056,104.31,12.988,104.3,12.969,104.16,10.624,64.002,10.576,63.98,10.873,63.622,12.881,52.587,13.034,52.108,13.075,52.164,12.683,103.71,12.619,103.68,12.755,103.59,2.996,100.84,3.6253,100.63,3.0621,100.88,0.98584,86.628,1.2087,86.425,1.2154,86.5,-5.6411,62.352,-5.5676,62.367,-5.7945,62.566,3.6599,23.16,3.6774,23.207,3.5483,23.189,15.122,92.502,14.718,92.268,14.764,92.249,-0.76705,60.733,-0.84166,60.745,-0.85595,60.275,-1.6957,75.419,-1.7168,75.045,-1.6417,75.036,16.864,90.268,16.528,90.074,16.582,90.021,16.883,91.075,16.547,90.825,16.884,91.017,13.785,86.789,13.435,86.528,13.472,86.512,13.153,89.132,12.921,88.772,13.191,89.116,9.9219,82.386,10.002,82.283,10.022,82.328,12.937,95.946,12.974,95.852,13.013,95.923,14.109,96.075,14.161,96.059,14.125,96.153,12.066,74.084,12.107,74.268,12.056,74.287,13.739,73.777,13.801,73.78,13.763,73.964,14.166,37.978,14.177,38.166,14.114,38.161,16.438,50.926,16.297,51.047,16.378,50.877,16.415,52.365,16.336,52.52,16.271,52.483,14.616,71.238,14.417,71.35,14.542,71.229,13.893,77.693,13.843,77.644,14.047,77.541,15.962,91.301,16.031,91.085,16.089,91.125,16.244,89.753,16.217,89.685,16.305,89.534,15.778,92.861,15.667,92.788,15.744,92.796,15.716,93.313,15.641,93.313,15.604,93.241,15.975,93.645,15.619,93.34,15.693,93.341,16.145,94.696,15.842,94.345,16.202,94.646,13.684,90.106,13.406,89.769,13.423,89.722,-3.6783,60.682,-3.6768,60.265,-3.6227,60.215,12.968,42.026,12.873,41.933,12.952,41.954,13.47,43.023,13.398,43.006,13.37,42.934,-14.997,18.236,-14.943,18.175,-14.928,18.275,-5.6679,33.949,-5.7486,33.888,-5.696,33.873,11.027,32.728,11.026,32.919,10.972,32.722,-11.192,91.811,-11.45,91.728,-11.371,91.712,-11.232,91.855,-14.071,95.888,-14.223,95.757,-14.18,95.716,-14.084,95.967,15.896,81.43,15.819,81.421,15.889,81.246,15.968,81.566,15.963,81.381,16.034,81.404,13.107,89.97,13.095,89.915,13.341,89.758,16.111,96.036,16.349,95.828,16.389,95.86,11.833,84.767,11.801,84.727,12.013,84.495,5.98,97.253,5.7303,97.444,5.9269,97.232,-0.86745,75.271,-0.91443,75.238,-0.87379,74.853,16.091,92.954,15.786,92.669,15.799,92.631,15.376,93.466,15.015,93.216,15.39,93.428,17.125,95.899,16.816,95.592,17.254,95.889,16.28,96.354,15.872,95.964,16.448,96.337,15.324,94.708,14.914,94.355,14.929,94.305,0.13614,73.859,0.069894,73.824,0.073586,73.322,5.5073,97.593,5.1915,97.874,5.4357,97.57,11.646,86.543,11.599,86.496,11.859,86.162,15.195,97.072,15.497,96.773,15.551,96.813,11.7,87.616,11.677,87.545,11.984,87.299,15.986,87.304,15.543,86.992,15.987,87.229,13.301,89.324,12.817,89.03,12.863,89.005,12.501,91.347,12.159,90.91,12.548,91.322,9.7835,87.254,9.9008,87.126,9.9226,87.186,13.21,96.052,13.281,96.033,13.228,96.155,11.568,78.951,11.613,79.221,11.542,79.243,13.036,78.983,13.119,78.989,13.058,79.256,13.532,47.543,13.536,47.817,13.454,47.807,15.398,57.72,15.213,57.915,15.315,57.661,15.392,59.225,15.291,59.459,15.203,59.415,13.665,76.612,13.833,76.42,13.929,76.425,13.548,45.234,13.452,45.224,13.403,45.135,0.001862,31.061,-0.12695,31.028,-0.06901,30.984,11.201,42.581,11.182,42.856,11.129,42.567,-10.621,93.316,-10.807,93.097,-10.566,93.264,-10.464,93.65,-10.755,93.445,-10.651,93.431,-12.858,96.494,-13.06,96.288,-13.001,96.238,-12.783,96.609,-12.961,96.301,-12.759,96.507,6.0244,28.599,6.0362,28.663,5.8706,28.613,14.297,94.135,13.76,93.859,13.818,93.83,15.973,86.226,15.531,85.986,15.602,85.914,15.195,92.576,14.8,92.122,15.271,92.509,12.965,92.374,12.568,91.97,12.585,91.908,14.763,95.373,14.616,95.279,14.718,95.29,14.922,85.656,14.922,85.389,15.016,85.419,15.07,92.742,15.032,92.655,15.154,92.431,14.845,93.601,14.936,93.292,15.013,93.34,13.311,80.829,13.241,80.771,13.512,80.594,-1.8925,58.109,-1.9635,57.574,-1.9011,57.498,14.518,94.923,14.037,94.622,14.534,94.873,0.36142,0.28969,0.38772,0.27809,0.38819,0.29153,0.35976,0.2751,0.33,0.26771,0.36,0.23676,0.33218,0.23236,0.36024,0.19892,0.33442,0.19892,0.36434,0.14224,0.34467,0.14224,0.36935,0.087159,0.3495,0.087159,0.60213,0.18099,0.62665,0.17931,0.61306,0.19164,0.61941,0.1621,0.59335,0.17191,0.61311,0.14727,0.60467,0.12677,0.57852,0.15817,0.57905,0.11673,0.56323,0.15334,0.56705,0.11091,0.65802,0.28545,0.62304,0.24769,0.65817,0.25197,0.62284,0.29168,0.58792,0.24341,0.58767,0.2979,0.56059,0.29603,0.55058,0.24423,0.52861,0.28314,0.67904,0.026882,0.65172,0.014087,0.65399,0.005531,0.67385,0.036735,0.70463,0.065625,0.69394,0.074569,0.70903,0.10797,0.69704,0.11407,0.71679,0.14778,0.70323,0.15301,0.7242,0.18116,0.6911,0.16492,0.70901,0.19467,0.72448,0.20949,0.70019,0.21135,0.69585,0.20381,0.69107,0.21744,0.68139,0.2054,0.47818,0.14224,0.44535,0.087159,0.47081,0.087159,0.45468,0.14224,0.4909,0.19729,0.45268,0.14224,0.46798,0.19892,0.44102,0.19892,0.47167,0.22786,0.44395,0.23214,0.44672,0.26647,0.47187,0.25341,0.4909,0.25092,0.4909,0.22631,0.30483,0.22824,0.28544,0.22782,0.28544,0.19881,0.30496,0.25486,0.28544,0.25232,0.30682,0.2703,0.28544,0.27028,0.30903,0.28208,0.28544,0.28001,0.31084,0.29157,0.28544,0.28947,0.28544,0.30371,0.4909,0.30232,0.46521,0.29068,0.4909,0.28814,0.4668,0.30285,0.4909,0.31967,0.4686,0.31967,0.4909,0.34804,0.46719,0.34804,0.4909,0.37277,0.46759,0.37318,0.4909,0.39607,0.46796,0.39607,0.4909,0.43223,0.46853,0.43223,0.44093,0.39607,0.44034,0.43223,0.41209,0.39607,0.41146,0.43223,0.38947,0.39607,0.3893,0.43223,0.36631,0.39607,0.36676,0.43223,0.33768,0.39607,0.33741,0.37277,0.31094,0.37318,0.31133,0.34804,0.28544,0.34804,0.28544,0.37277,0.31058,0.39607,0.28544,0.39607,0.31002,0.43223,0.28544,0.43223,0.33809,0.43223,0.28544,0.31967,0.30877,0.31967,0.30997,0.30376,0.33364,0.3065,0.33429,0.29438,0.33188,0.28568,0.30827,0.19892,0.29847,0.14224,0.31859,0.14224,0.32363,0.087159,0.30412,0.087159,0.69583,0.23038,0.70568,0.22005,0.56963,0.19849,0.58078,0.20568,0.5489,0.18667,0.54433,0.17866,0.73991,0.19965,0.72895,0.17497,0.7484,0.19371,0.74537,0.16297,0.72873,0.14349,0.67051,0.25592,0.67039,0.2822,0.53211,0.16499,0.54914,0.14622,0.50281,0.13551,0.76008,0.1765,0.77529,0.13408,0.78621,0.14411,0.76292,0.11956,0.70471,0.25948,0.70462,0.27925,0.51569,0.12126,0.72001,0.26357,0.71995,0.27578,0.5977,0.20715,0.3621,0.29852,0.38838,0.29985,0.4148,0.29796,0.41507,0.28895,0.41763,0.2744,0.38764,0.23828,0.38756,0.19892,0.38766,0.14224,0.38646,0.087159,0.63924,0.17473,0.63895,0.15268,0.63918,0.13738,0.63772,0.10811,0.60121,0.10732,0.59776,0.08787,0.58339,0.081664,0.57132,0.068711,0.60319,0.039185,0.5935,0.029313,0.62574,0.01405,0.6215,0.005386,0.52872,0.26031,0.62799,0.02429,0.61078,0.045341,0.63688,0.07846,0.6373,0.09311,0.67609,0.086106,0.67536,0.10486,0.67267,0.12315,0.66343,0.14484,0.65978,0.15844,0.67589,0.17984,0.6657,0.19084,0.42309,0.087159,0.43005,0.14224,0.41407,0.19892,0.41597,0.23703,0.44466,0.2846,0.47024,0.26919,0.46727,0.28107,0.4909,0.26904,0.4909,0.27876,0.44233,0.29356,0.44329,0.30596,0.44303,0.31967,0.44171,0.34804,0.44131,0.37277,0.4125,0.37278,0.38957,0.37277,0.36602,0.37278,0.33713,0.34804,0.33437,0.31967,0.36309,0.30842,0.36259,0.30445,0.38852,0.30706,0.38865,0.30991,0.38894,0.31967,0.36492,0.31967,0.36572,0.34804,0.38968,0.34804,0.41293,0.34804,0.41251,0.31967,0.41406,0.30821,0.41442,0.30395,0.40804,0.14224,0.4045,0.087159,0.65229,0.17917,0.66564,0.047109,0.65039,0.022355,0.84284,0.1788,0.83744,0.18309,0.84276,0.18339,0.83689,0.17924,0.83724,0.17541,0.83645,0.17627,0.83605,0.17931,0.83534,0.17609,0.8352,0.17936,0.83657,0.18235,0.83545,0.18265,0.83625,0.1838,0.83492,0.18437,0.83479,0.17446,0.83613,0.17494,0.83569,0.17267,0.84242,0.17423,0.85088,0.17828,0.85017,0.18317,0.84253,0.18438,0.84225,0.18481,0.83662,0.18456,0.8358,0.18637,0.84221,0.17321,0.84985,0.17351,0.85128,0.17177,0.84203,0.17276,0.85042,0.17292,0.84173,0.17088,0.84202,0.16689,0.83529,0.16869,0.84182,0.21261,0.83182,0.20205,0.83486,0.20888,0.84128,0.20611,0.85356,0.21712,0.85709,0.21122,0.85993,0.20605,0.84397,0.2017,0.84501,0.19695,0.86129,0.20053,0.86436,0.20744,0.86084,0.21348,0.85718,0.21909,0.86485,0.21402,0.86782,0.20871,0.88163,0.21448,0.8697,0.20262,0.88471,0.20647,0.8906,0.22026,0.89613,0.20956,0.90178,0.20055,0.91912,0.20643,0.92187,0.18907,0.90509,0.18828,0.91505,0.16986,0.92698,0.16548,0.90724,0.16075,0.91746,0.15593,0.90289,0.15558,0.90604,0.14913,0.89019,0.14432,0.91002,0.1419,0.89034,0.13345,0.90124,0.12555,0.89043,0.12001,0.90075,0.11351,0.88726,0.10616,0.89484,0.097158,0.88389,0.090971,0.88865,0.082814,0.86893,0.07149,0.88306,0.27323,0.86337,0.30165,0.88128,0.29196,0.86139,0.28869,0.87973,0.26771,0.89502,0.27147,0.88766,0.26178,0.90783,0.25896,0.90715,0.2757,0.8909,0.28725,0.89128,0.081386,0.89385,0.073995,0.88593,0.075977,0.90132,0.087781,0.90113,0.067913,0.88234,0.056436,0.89159,0.055376,0.89492,0.046717,0.9085,0.062014,0.90924,0.081065,0.9198,0.071913,0.92682,0.082493,0.92972,0.065262,0.92384,0.053461,0.93046,0.050276,0.92069,0.045745,0.92526,0.039854,0.93848,0.31389,0.92372,0.31717,0.93131,0.32448,0.929,0.30668,0.91803,0.31525,0.92334,0.30302,0.93822,0.29109,0.9285,0.2871,0.94161,0.28024,0.92762,0.2711,0.93747,0.25556,0.95021,0.26926,0.9624,0.28504,0.97471,0.26999,0.96088,0.25574,0.98461,0.25778,0.96984,0.24462,0.99485,0.24226,0.98444,0.22868,0.6321,0.38576,0.62171,0.38576,0.62171,0.40487,0.6321,0.37071,0.64348,0.37071,0.64348,0.38576,0.66202,0.38576,0.66202,0.37071,0.71057,0.38576,0.71058,0.37071,0.75934,0.38576,0.75934,0.37071,0.7839,0.38576,0.7839,0.37071,0.81273,0.37071,0.81273,0.38576,0.82771,0.37071,0.82771,0.38576,0.84261,0.38576,0.84261,0.40487,0.88603,0.38576,0.88603,0.40487,0.88603,0.4212,0.93233,0.4212,0.93233,0.40487,0.99301,0.42121,0.93233,0.44214,0.88603,0.44214,0.84261,0.44214,0.84261,0.4212,0.82771,0.4212,0.82771,0.40487,0.81273,0.40487,0.7839,0.40487,0.75934,0.40487,0.71057,0.40487,0.66202,0.40487,0.64348,0.40487,0.6321,0.40487,0.62171,0.4212,0.98338,0.12493,0.9937,0.11412,0.98069,0.10116,0.96982,0.11432,0.96929,0.091449,0.95881,0.10378,0.95513,0.081387,0.94407,0.091947,0.93851,0.080828,0.94324,0.070429,0.95307,0.29377,0.94576,0.30397,0.93844,0.062285,0.93163,0.073127,0.93483,0.10418,0.92315,0.095344,0.91492,0.087812,0.91176,0.09716,0.90169,0.10169,0.8885,0.28577,0.91159,0.10811,0.92655,0.11636,0.9422,0.12628,0.93424,0.13744,0.91904,0.12846,0.92446,0.14932,0.94122,0.15938,0.93586,0.18504,0.94922,0.18037,0.95949,0.17886,0.96196,0.161,0.6321,0.46256,0.62171,0.46256,0.62171,0.48026,0.6321,0.44214,0.62171,0.44214,0.6321,0.4212,0.64348,0.4212,0.66202,0.4212,0.71057,0.4212,0.75934,0.4212,0.7839,0.4212,0.81273,0.4212,0.81273,0.44214,0.7839,0.44214,0.75934,0.44214,0.71057,0.44214,0.66202,0.44214,0.64348,0.44214,0.64348,0.46256,0.6321,0.48026,0.62171,0.4976,0.96306,0.19282,0.95166,0.197,0.93902,0.19992,0.93954,0.21364,0.95034,0.21935,0.972,0.20564,0.62171,0.51484,0.6321,0.4976,0.6321,0.51484,0.64348,0.4976,0.64348,0.51484,0.66202,0.51484,0.66202,0.4976,0.71057,0.51484,0.71057,0.4976,0.71057,0.48026,0.66202,0.48026,0.66202,0.46256,0.71057,0.46256,0.64348,0.48026,0.75934,0.46256,0.75934,0.48026,0.75934,0.49761,0.75934,0.51484,0.75934,0.52876,0.7839,0.52876,0.7839,0.51484,0.81273,0.51484,0.81273,0.52876,0.82771,0.52876,0.82771,0.51484,0.84261,0.52876,0.84261,0.37071,0.88603,0.37072,0.93233,0.38576,0.99301,0.40488,0.99301,0.38576,0.99301,0.37072,0.93233,0.37072,0.99301,0.52876,0.93233,0.51484,0.93233,0.52876,0.99301,0.51484,0.99301,0.49761,0.93233,0.49761,0.99301,0.48026,0.93233,0.48026,0.88603,0.49761,0.88603,0.48026,0.84261,0.48026,0.84261,0.49761,0.82771,0.49761,0.82771,0.48026,0.82771,0.46256,0.81273,0.48026,0.81273,0.46256,0.7839,0.46256,0.7839,0.48026,0.7839,0.49761,0.81273,0.49761,0.84261,0.51484,0.88603,0.51484,0.88603,0.52876,0.82771,0.44214,0.84261,0.46256,0.88603,0.46257,0.93233,0.46257,0.99301,0.44214,0.99301,0.46257,0.71057,0.52876,0.66202,0.52876,0.64348,0.52876,0.6321,0.52876,0.62171,0.52876,0.97842,0.21666,0.95973,0.23116,0.94966,0.24241,0.93833,0.2311,0.93072,0.22449,0.91143,0.21636,0.90475,0.23035,0.88891,0.225,0.87624,0.22347,0.86134,0.22098,0.87192,0.16333,0.86627,0.16398,0.86643,0.17218,0.86064,0.17212,0.86125,0.162,0.84868,0.16301,0.85241,0.17,0.85264,0.17811,0.85394,0.17807,0.85283,0.18607,0.85154,0.18454,0.85151,0.17821,0.84205,0.1866,0.84303,0.1903,0.84965,0.19278,0.8361,0.19157,0.86152,0.19417,0.86596,0.20054,0.8665,0.19345,0.87248,0.19466,0.88819,0.19719,0.88957,0.18638,0.90328,0.17355,0.8994,0.16489,0.89062,0.15232,0.8716,0.14067,0.87774,0.12956,0.88155,0.11793,0.8737,0.11661,0.87648,0.10668,0.8505,0.10276,0.8628,0.26405,0.84441,0.25729,0.8429,0.27102,0.86529,0.25227,0.84183,0.2504,0.863,0.24371,0.87547,0.25078,0.87109,0.24059,0.88943,0.24444,0.88229,0.23508,0.89959,0.23646,0.88679,0.22925,0.90913,0.24008,0.87356,0.26416,0.8751,0.10491,0.87882,0.099218,0.87156,0.10365,0.85975,0.08581,0.86868,0.081232,0.86607,0.069389,0.86069,0.3037,0.85605,0.29126,0.85802,0.28166,0.85374,0.27492,0.85524,0.098653,0.85679,0.084183,0.86167,0.076748,0.86267,0.0678,0.8573,0.30431,0.85081,0.2932,0.8476,0.28704,0.85301,0.28449,0.84947,0.2782,0.85036,0.093684,0.85426,0.082135,0.85569,0.073258,0.84507,0.067069,0.83773,0.072047,0.83509,0.070116,0.8388,0.063495,0.8421,0.056281,0.83809,0.055043,0.83286,0.060881,0.82852,0.059196,0.82335,0.065548,0.83206,0.068728,0.81643,0.073824,0.82264,0.078762,0.82791,0.080558,0.83181,0.084481,0.84428,0.091562,0.84428,0.28068,0.83038,0.28717,0.83305,0.29425,0.83712,0.30052,0.84031,0.31359,0.83742,0.31571,0.83239,0.3032,0.82902,0.29625,0.82588,0.28977,0.82093,0.2918,0.8248,0.29795,0.82735,0.30457,0.83383,0.31638,0.82036,0.30753,0.81662,0.3018,0.81356,0.29571,0.80837,0.3068,0.81187,0.3114,0.80352,0.31138,0.80483,0.3021,0.80915,0.067054,0.81379,0.061225,0.82288,0.063067,0.82687,0.058547,0.82523,0.057915,0.82176,0.061672,0.81467,0.059677,0.80722,0.057183,0.80852,0.056037,0.81568,0.058648,0.82145,0.060973,0.8245,0.057638,0.80965,0.055449,0.81748,0.05498,0.81859,0.051037,0.81184,0.049801,0.81088,0.052666,0.81085,0.050138,0.8101,0.052397,0.80929,0.052111,0.80802,0.054331,0.80912,0.05457,0.80693,0.055441,0.80839,0.055494,0.80614,0.061257,0.80081,0.30845,0.7979,0.31282,0.79994,0.31605,0.80986,0.049626,0.81094,0.049,0.81875,0.049998,0.82448,0.053161,0.811,0.047045,0.80976,0.048106,0.80646,0.31411,0.80343,0.31754,0.80482,0.31782,0.81316,0.31852,0.81862,0.049488,0.81902,0.047608,0.81143,0.048672,0.82704,0.052562,0.82921,0.051164,0.82516,0.052857,0.82422,0.31748,0.84548,0.058468,0.86994,0.26127,0.92324,0.24471,0.91941,0.28369,0.89824,0.28797,0.88802,0.30425,0.88265,0.29874,0.87369,0.064273,0.88119,0.05406,0.88733,0.049491,0.87915,0.052253,0.86801,0.058479,0.87163,0.06158,0.88327,0.31048,0.88054,0.30372,0.87697,0.30668,0.88578,0.30751,0.89129,0.31196,0.88843,0.31526,0.90027,0.32001,0.89782,0.32193,0.88047,0.32495,0.87506,0.32141,0.86999,0.31724,0.86079,0.048253,0.86918,0.039362,0.88333,0.044635,0.87742,0.03741,0.89146,0.042198,0.89357,0.044482,0.89415,0.30805,0.90094,0.31738,0.90555,0.29459,0.91649,0.29767,0.91097,0.30371,0.91394,0.065376,0.91721,0.056528,0.91323,0.044959,0.9186,0.040438,0.92462,0.03781,0.92281,0.3209,0.93128,0.32586,0.92089,0.32433,0.93008,0.32704,0.91887,0.33203,0.91315,0.33096,0.91568,0.32178,0.917,0.31836,0.91234,0.3128,0.91718,0.30134,0.91051,0.058077,0.9054,0.049651,0.90418,0.046094,0.91268,0.042775,0.91151,0.040562,0.90237,0.042596,0.9113,0.31679,0.90972,0.32088,0.90743,0.32917,0.90038,0.034973,0.90815,0.030725,0.91649,0.035547,0.92345,0.035698,0.91915,0.026302,0.9148,0.031144,0.91314,0.026564,0.91855,0.024052,0.91867,0.33572,0.92705,0.33845,0.92659,0.33659,0.92571,0.34005,0.917,0.33904,0.91591,0.34374,0.92235,0.34655,0.91512,0.35035,0.91028,0.34964,0.91082,0.34295,0.91178,0.33759,0.91254,0.3343,0.90676,0.33315,0.90026,0.031294,0.90789,0.028674,0.90678,0.026891,0.89769,0.027819,0.90627,0.33717,0.90563,0.34258,0.89678,0.022669,0.90359,0.020445,0.9111,0.022403,0.91729,0.021845,0.9095,0.019312,0.90882,0.017975,0.90452,0.018876,0.90828,0.016928,0.90459,0.01758,0.90041,0.014086,0.90165,0.013601,0.8967,0.015521,0.90542,0.35005,0.9103,0.35505,0.9133,0.35455,0.91401,0.35775,0.91126,0.35921,0.90815,0.35879,0.90723,0.35509,0.89625,0.010676,0.89889,0.00902,0.90018,0.00897,0.90041,0.008552,0.89961,0.007871,0.90271,0.013402,0.90478,0.017052,0.90804,0.016492,0.90566,0.012064,0.90112,0.00906,0.90331,0.007938,0.90546,0.006751,0.90841,0.010358,0.91031,0.014121,0.91198,0.014954,0.91082,0.014246,0.90925,0.009535,0.90643,0.004837,0.9052,0.004862,0.90539,0.005907,0.91483,0.35701,0.91838,0.35268,0.91041,0.008685,0.90588,0.00595,0.91381,0.015247,0.88078,0.029961,0.87355,0.032622,0.87896,0.027713,0.88741,0.33677,0.88806,0.33419,0.87734,0.3292,0.87228,0.32505,0.86706,0.32139,0.85934,0.043512,0.86806,0.037061,0.86578,0.035338,0.85576,0.040053,0.86951,0.32863,0.86349,0.32484,0.87455,0.33275,0.88488,0.33837,0.87151,0.33801,0.86555,0.33428,0.8596,0.33071,0.85199,0.034421,0.85952,0.028759,0.8698,0.028572,0.87682,0.025271,0.86628,0.024773,0.86525,0.023689,0.8601,0.02652,0.86411,0.022576,0.86809,0.018572,0.86634,0.018146,0.86258,0.012936,0.85638,0.009964,0.86183,0.014293,0.86242,0.013422,0.85679,0.010987,0.8552,0.010115,0.85572,0.008719,0.86168,0.35355,0.85868,0.34776,0.85736,0.35366,0.8628,0.3492,0.86623,0.34496,0.86999,0.35027,0.8631,0.35319,0.85724,0.008188,0.857,0.009836,0.86369,0.011372,0.8705,0.018138,0.87809,0.34493,0.86102,0.34172,0.85511,0.33961,0.84742,0.026138,0.85296,0.02239,0.85434,0.021292,0.85968,0.024929,0.85564,0.020648,0.85971,0.024237,0.86363,0.022129,0.84898,0.016842,0.85061,0.016241,0.84639,0.020204,0.85454,0.34637,0.85366,0.35139,0.85074,0.015645,0.84946,0.015104,0.85187,0.015984,0.85891,0.017642,0.85435,0.013495,0.85318,0.012439,0.8558,0.010956,0.85087,0.014493,0.86565,0.0182,0.92005,0.23668,0.62171,0.37071,0.87577,0.23089,0.86831,0.22712,0.88714,0.15851,0.88968,0.16877,0.87197,0.17232,0.86732,0.17847,0.86086,0.17823,0.86097,0.18428,0.86661,0.18489,0.87203,0.18501,0.87221,0.17853,0.88944,0.17751,0.86845,0.23025,0.88162,0.14782,0.86605,0.23367,0.858,0.23556,0.86992,0.12574,0.86457,0.13627,0.84452,0.11806,0.85293,0.1117,0.84436,0.10864,0.84645,0.10131,0.83984,0.2729,0.83815,0.25855,0.83671,0.25192,0.83976,0.24303,0.8436,0.1315,0.84121,0.11651,0.83747,0.11562,0.83674,0.10706,0.84233,0.10039,0.82725,0.10499,0.82579,0.09767,0.83598,0.27166,0.81944,0.26094,0.81912,0.27347,0.83242,0.2588,0.81799,0.2545,0.83142,0.25244,0.83444,0.24502,0.83883,0.12824,0.83308,0.12837,0.82081,0.12405,0.82286,0.11129,0.82123,0.10368,0.82213,0.096691,0.81582,0.27457,0.81437,0.2623,0.81321,0.25538,0.8171,0.24782,0.83007,0.24575,0.81214,0.24899,0.81988,0.1103,0.81666,0.1213,0.81654,0.11048,0.81147,0.1216,0.80827,0.2559,0.80703,0.2497,0.80946,0.26192,0.81216,0.27346,0.80233,0.2633,0.80101,0.25711,0.79919,0.25137,0.80461,0.11848,0.80785,0.10926,0.81557,0.10318,0.81036,0.10282,0.8182,0.09634,0.80902,0.095848,0.80888,0.10269,0.80754,0.097603,0.79974,0.095316,0.80283,0.27301,0.79468,0.26466,0.79346,0.27104,0.7928,0.25949,0.79076,0.25461,0.79716,0.11479,0.79893,0.10842,0.80684,0.1073,0.80735,0.1026,0.80554,0.10643,0.79924,0.10687,0.79248,0.10686,0.79325,0.10551,0.80667,0.10257,0.7998,0.10572,0.80512,0.10593,0.80026,0.10223,0.80022,0.098396,0.79439,0.099176,0.79427,0.10208,0.78707,0.26236,0.7828,0.26545,0.78558,0.2678,0.78194,0.26221,0.78553,0.25923,0.79264,0.11063,0.78902,0.26562,0.78673,0.26842,0.793,0.097002,0.79988,0.097046,0.79379,0.098285,0.79223,0.098263,0.79345,0.098725,0.79271,0.099548,0.80605,0.098348,0.80557,0.098784,0.79299,0.10506,0.79175,0.10543,0.79238,0.10417,0.79403,0.10467,0.83294,0.19644,0.83205,0.18985,0.82824,0.19443,0.83105,0.19066,0.82803,0.20043,0.97251,0.1415,0.96255,0.12573,0.95008,0.11583,0.95591,0.13493,0.94902,0.14648,0.83657,0.17419,-13.281,81.907,-12.967,81.744,-12.963,81.847,-4.9018,82.698,-4.8538,82.795,-4.9045,82.892,-6.0623,73.021,-6.0308,73.1,-6.2904,73.208,-24.108,61.043,-24.38,60.948,-24.347,60.87,-23.169,74.542,-23.427,74.468,-23.405,74.365,-22.42,79.665,-22.742,79.507,-22.483,79.575,-21.501,80.735,-21.829,80.685,-21.826,80.583,-24.539,74.775,-24.594,74.68,-24.544,74.582,-24.721,68.966,-24.854,68.903,-24.789,68.866,-24.642,54.816,-24.697,54.866,-24.923,54.677,20.527,75.709,20.827,75.618,20.822,75.706,15.07,74.378,14.78,74.366,14.78,74.277,15.148,74.347,14.783,74.242,15.073,74.254,22.319,29.725,22.638,29.93,22.714,30.008,6.0216,82.273,6.0829,82.171,6.1462,82.206,-3.3921,69.993,-3.6044,70.198,-3.6571,70.148,-24.982,80.808,-25.033,80.148,-24.929,80.137,-25.185,77.232,-25.189,76.753,-25.125,76.671,-17.347,81.583,-17.477,81.049,-17.409,81.078,-24.965,36.991,-25.107,37.056,-25.151,36.997,-13.94,81.057,-13.818,81.537,-13.87,81.561,-14.723,80.664,-14.73,79.937,-14.678,79.913,-25.048,80.854,-25.111,80.798,-25.058,80.127,-21.422,59.112,-21.001,59.011,-20.951,59.078,-20.823,81.164,-20.824,81.088,-20.352,81.059,-15.008,81.061,-14.546,81.073,-14.545,81.149,-14.615,53.961,-14.572,53.892,-14.153,53.976,3.0875,79.546,3.1509,80.217,3.0924,80.273,-18.65,81.546,-18.6,81.038,-18.532,81.008,-21.422,81.067,-21.476,81.045,-21.364,80.561,-20.86,80.797,-20.93,80.047,-20.877,80.069,-15.759,67.223,-16.313,67.292,-15.859,67.13,-2.0357,81.423,-1.9931,80.672,-1.9127,81.483,23.438,37.367,24.006,37.894,23.83,37.866,8.6168,51.366,8.5779,51.992,8.5296,52.003,9.2524,48.405,9.3003,48.393,9.1227,49.003,-18.071,77.872,-18.045,77.795,-17.504,77.643,-1.593,79.387,-1.229,79.51,-1.2326,79.59,-18.155,77.858,-17.66,77.618,-17.613,77.706,-19.676,76.489,-19.719,76.398,-19.066,76.186,-20.03,76.877,-19.473,76.632,-19.376,76.668,13.384,35.482,13.636,35.379,13.641,35.481,-6.6548,-8.3652,-6.6348,-8.4694,-6.4377,-8.4124,-22.366,45.558,-22.52,45.725,-22.467,45.525,-22.178,46.122,-22.37,46.242,-22.24,46.06,-21.651,52.232,-21.682,52.164,-21.482,52.059,-21.934,74.362,-21.906,74.229,-21.854,74.283,-21.904,64.308,-21.953,64.159,-21.895,64.136,5.2223,53.074,5.2615,53.122,5.0877,53.741,-17.566,76.029,-17.691,75.689,-17.629,75.616,3.3409,67.729,3.1535,67.966,3.1411,67.855,3.1797,67.879,3.2339,67.947,3.0336,68.072,-12.33,56.47,-12.559,56.529,-12.567,56.442,-12.277,56.19,-12.21,56.276,-12.506,56.249,15.233,41.448,15.276,41.388,15.321,41.513,-8.5339,28.092,-8.7714,28.067,-8.5536,28.02,-9.9495,17.451,-10.164,17.509,-10.169,17.423,15.664,14.832,15.759,14.778,15.853,14.812,23.269,53.401,22.737,53.099,23.255,53.323,-7.668,59.672,-7.656,59.722,-8.107,60.135,-4.9601,60.65,-5.4423,61.07,-5.4583,61.022,-3.0319,58.47,-3.5428,58.91,-3.0913,58.457,-3.3181,40.953,-3.4094,40.809,-3.3493,40.8,16.697,46.51,17.112,46.529,17.125,46.603,17.181,71.489,17.215,71.417,17.596,71.498,-10.437,66.673,-10.134,66.954,-10.497,66.718,-21.437,64.84,-21.348,64.789,-21.246,64.826,-16.611,54.278,-16.569,54.481,-16.64,54.555,-13.178,56.649,-13.16,56.927,-13.27,56.692,-21.622,49.433,-21.709,49.73,-21.668,49.411,-18.975,63.596,-19.012,63.64,-19.114,63.348,-22.103,77.318,-22.491,77.164,-22.443,77.132,-12.119,14.234,-12.264,13.823,-12.094,14.204,8.4073,16.31,8.6031,15.819,8.6378,15.94,-14.266,13.162,-14.572,12.863,-14.551,12.831,-16.001,18.072,-16.047,18.085,-16.366,17.785,-11.593,81.764,-11.643,81.885,-11.641,81.769,-18.935,80.681,-18.943,80.602,-18.863,80.611,-18.351,72.95,-18.431,72.94,-18.458,72.871,-21.478,79.118,-21.909,78.932,-21.512,79.051,-21.379,77.942,-21.829,77.827,-21.809,77.754,-22.093,77.865,-22.433,77.68,-22.076,77.79,-18.071,47.373,-18.263,47.485,-18.123,47.326,-17.224,52.292,-17.349,52.407,-17.42,52.394,-13.716,63.992,-13.892,64.025,-13.753,63.927,-13.654,64.843,-13.805,64.949,-13.831,64.876,-10.624,74.468,-10.803,74.508,-10.648,74.41,-10.045,78.49,-10.22,78.584,-10.224,78.529,21.423,40.71,21.46,40.901,21.366,40.726,21.535,40.929,-19.859,80.003,-19.786,79.933,-19.781,79.988,16.433,2.3115,16.328,2.0734,16.473,2.2677,16.32,2.1521,0.91786,72.906,0.72484,72.938,0.8907,72.859,-0.53398,67.203,-0.69829,67.286,-0.71346,67.225,-1.4812,50.68,-1.6602,50.706,-1.5087,50.608,-1.7819,49.605,-1.9326,49.704,-1.9473,49.631,-3.5816,27.338,-3.7452,27.374,-3.5503,27.272,-5.8671,20.552,-5.8838,20.485,-5.6817,20.434,7.8754,41.703,8.1553,41.712,7.8562,41.756,-1.9374,2.3088,-2.2371,2.268,-2.2387,2.2169,-19.249,37.935,-19.282,37.955,-19.633,37.73,-19.568,35.432,-19.909,35.157,-19.877,35.135,-18.838,30.929,-19.151,30.586,-18.829,30.882,17.286,48.556,17.646,48.254,17.684,48.317,18.142,53.423,18.16,53.352,18.516,53.139,7.7959,47.056,7.7347,47.109,7.7827,46.984,13.247,68.169,13.154,68.137,13.223,68.094,14.119,62.009,14.042,62.027,14.027,61.975,5.0812,77.565,4.9762,77.494,5.0181,77.47,7.1047,46.187,7.0595,46.313,7.0512,46.237,20.553,46.191,20.528,46.121,20.869,45.967,20.329,44.141,20.64,43.911,20.691,43.934,-18.17,72.144,-18.277,72.065,-18.205,72.075,-5.982,76.91,-6.06,76.661,-6.0064,76.61,-20.832,28.352,-20.878,28.374,-21.3,28.039,-20.969,25.818,-21.374,25.427,-21.33,25.401,-20.185,20.576,-20.525,20.084,-20.164,20.518,10.904,63.845,10.802,63.85,10.794,63.778,3.5508,-15.745,3.4734,-15.812,3.8151,-15.833,-0.3371,75.908,-0.45758,75.789,-0.39888,75.768,9.0407,20.383,9.487,19.865,9.4779,20.031,-22.886,42.406,-23.021,42.798,-22.945,42.376,-12.196,62.9,-11.948,63.188,-11.982,63.254,-21.308,75.46,-21.755,75.238,-21.289,75.361,-21.408,74.77,-21.915,74.59,-21.854,74.546,-10.477,5.1011,-10.523,5.1232,-10.489,4.563,-12.546,2.2431,-12.754,1.7295,-12.712,1.7025,-13.211,75.517,-13.262,75.164,-13.182,75.108,-16.872,78.879,-16.853,78.726,-16.79,78.726,-16.06,7.1602,-16.123,7.157,-16.397,6.662,-21.817,74.981,-22.4,74.836,-22.375,74.738,-21.717,76.573,-22.277,76.335,-21.762,76.485,-5.3842,15.659,-5.6879,15.724,-5.6813,15.634,-4.7545,21.753,-4.9992,21.737,-4.6937,21.681,-5.339,46.913,-5.582,47.001,-5.584,46.903,-5.4358,64.706,-5.6912,64.778,-5.6988,64.695,-4.5542,70.919,-4.8364,70.919,-4.5801,70.851,4.9075,-14.104,5.1769,-14.174,5.1897,-14.099,21.298,33.546,21.373,33.529,21.423,33.804,21.15,34.255,21.283,34.576,21.188,34.533,-21.808,77.128,-21.71,77.038,-21.705,77.112,-20.856,67.502,-20.989,67.389,-20.896,67.408,-19.61,43.009,-19.812,43.154,-19.903,43.127,-17.075,57.945,-16.853,57.833,-16.815,57.924,-17.025,59.196,-17.047,59.096,-16.787,59.076,-14.826,69.959,-14.805,70.039,-15.071,70.066,-14.576,74.771,-14.845,74.87,-14.842,74.797,-20.066,38.901,-20.354,39.031,-20.125,38.833,4.7789,47.049,4.6877,47.198,4.6977,47.096,18.227,44.045,18.586,43.923,18.226,44.118,5.1098,1.7617,4.8024,1.4915,4.8371,1.4355,19.125,50.552,19.563,50.308,19.624,50.348,23.103,65.728,23.296,66.364,23.171,66.271,13.897,74.596,13.897,74.044,13.941,74.582,12.175,75.224,12.154,74.638,12.2,74.672,-16.997,78.632,-17.071,78.582,-16.685,78.136,-15.165,78.627,-14.894,78.24,-14.819,78.289,15.88,65.857,16.127,65.772,16.128,65.859,16.959,60.826,17.159,60.807,16.915,60.903,18.541,41.365,18.715,41.242,18.738,41.331,19.145,39.477,19.357,39.432,19.187,39.562,22.916,-5.41,22.891,-5.6247,22.967,-5.6198,2.1141,-11.838,1.9344,-11.986,2.1334,-11.902,-15.307,76.268,-15.531,76.314,-15.538,76.24,-15.254,76.373,-15.54,76.344,-15.316,76.298,-21.055,58.724,-21.215,58.443,-21.167,58.37,4.6031,7.4502,4.5909,7.2951,4.6429,7.3161,23.306,45.94,23.289,45.844,23.354,45.829,25.049,42.279,25.129,42.33,25.136,42.418,25.38,61.34,25.147,60.807,25.462,61.303,6.508,77.048,6.7082,76.536,6.7634,76.526,4.7588,77.719,5.0118,77.246,4.7925,77.751,3.2955,77.411,3.4144,76.874,3.4471,76.907,18.123,72.439,18.487,72.494,18.49,72.558,19.471,77.817,19.51,77.759,19.837,77.862,25.652,69.435,25.398,68.975,25.68,69.371,25.709,69.62,25.422,69.227,25.506,69.193,-1.403,79.924,-1.3761,79.865,-1.0469,79.954,2.0282,75.878,2.3421,75.888,2.36,75.957,-14.732,78.891,-14.386,78.551,-14.717,78.96,14.366,73.156,14.435,72.635,14.478,72.621,-25.398,49.771,-25.492,49.669,-25.454,49.627,-18.219,78.374,-17.915,77.948,-17.826,77.934,-1.1323,74.645,-1.0906,74.568,-0.93954,74.754,-4.819,71.704,-4.6841,71.813,-4.687,71.903,-12.08,61.352,-12.051,61.542,-12.156,61.404,-12.636,60.993,-12.524,61.145,-12.61,61.183,-22.053,45.978,-22.097,46.165,-22.129,45.979,-24.536,43.428,-24.565,43.632,-24.622,43.599,-4.1719,79.477,-4.368,79.517,-4.1941,79.405,-4.0757,79.369,-4.2999,79.504,-4.2717,79.409,-21.101,74.57,-21.141,74.455,-21.078,74.474,-15.694,70.871,-15.816,70.984,-15.784,70.899,20.447,75.716,20.527,75.626,20.822,75.624,3.0579,60.271,3.0196,60.335,2.8816,60.273,-9.5586,81.101,-9.3301,80.914,-9.3097,81.017,0.35976,0.2751,0.36142,0.28969,0.38772,0.27809,0.33,0.26771,0.33188,0.28568,0.30496,0.25486,0.30682,0.2703,0.28544,0.25232,0.28544,0.22782,0.30483,0.22824,0.33218,0.23236,0.36,0.23676,0.38764,0.23828,0.41763,0.2744,0.41597,0.23703,0.44672,0.26647,0.44395,0.23214,0.41407,0.19892,0.38756,0.19892,0.40804,0.14224,0.43005,0.14224,0.4045,0.087159,0.38766,0.14224,0.38646,0.087159,0.65229,0.17917,0.63895,0.15268,0.63924,0.17473,0.65978,0.15844,0.66343,0.14484,0.63918,0.13738,0.67267,0.12315,0.63772,0.10811,0.67536,0.10486,0.6373,0.09311,0.67609,0.086106,0.63688,0.07846,0.66564,0.047109,0.69394,0.074569,0.67385,0.036735,0.70463,0.065625,0.67904,0.026882,0.58792,0.24341,0.56059,0.29603,0.58767,0.2979,0.55058,0.24423,0.57132,0.068711,0.60319,0.039185,0.5935,0.029313,0.58339,0.081664,0.56705,0.11091,0.57905,0.11673,0.56323,0.15334,0.57852,0.15817,0.5489,0.18667,0.59335,0.17191,0.56963,0.19849,0.73991,0.19965,0.7242,0.18116,0.72448,0.20949,0.72895,0.17497,0.7484,0.19371,0.54433,0.17866,0.53211,0.16499,0.76008,0.1765,0.74537,0.16297,0.77529,0.13408,0.78621,0.14411,0.50281,0.13551,0.54914,0.14622,0.65802,0.28545,0.67051,0.25592,0.65817,0.25197,0.67039,0.2822,0.72873,0.14349,0.71679,0.14778,0.76292,0.11956,0.72001,0.26357,0.70462,0.27925,0.71995,0.27578,0.70471,0.25948,0.51569,0.12126,0.70323,0.15301,0.69704,0.11407,0.70903,0.10797,0.62304,0.24769,0.62284,0.29168,0.6911,0.16492,0.67589,0.17984,0.6657,0.19084,0.42309,0.087159,0.45468,0.14224,0.44102,0.19892,0.47167,0.22786,0.46798,0.19892,0.45268,0.14224,0.4909,0.19729,0.47818,0.14224,0.28544,0.19881,0.30827,0.19892,0.29847,0.14224,0.33442,0.19892,0.36024,0.19892,0.36434,0.14224,0.36935,0.087159,0.62665,0.17931,0.61941,0.1621,0.61311,0.14727,0.60467,0.12677,0.60121,0.10732,0.59776,0.08787,0.61078,0.045341,0.62799,0.02429,0.65039,0.022355,0.65172,0.014087,0.65399,0.005531,0.52861,0.28314,0.52872,0.26031,0.62574,0.01405,0.6215,0.005386,0.60213,0.18099,0.58078,0.20568,0.61306,0.19164,0.5977,0.20715,0.69107,0.21744,0.69583,0.23038,0.70568,0.22005,0.32363,0.087159,0.30412,0.087159,0.31859,0.14224,0.34467,0.14224,0.3495,0.087159,0.47081,0.087159,0.44535,0.087159,0.69585,0.20381,0.68139,0.2054,0.70019,0.21135,0.70901,0.19467,0.4909,0.22631,0.4909,0.25092,0.47187,0.25341,0.47024,0.26919,0.44466,0.2846,0.41507,0.28895,0.38819,0.29153,0.3621,0.29852,0.38838,0.29985,0.38852,0.30706,0.4148,0.29796,0.44233,0.29356,0.41442,0.30395,0.38865,0.30991,0.41406,0.30821,0.44329,0.30596,0.46521,0.29068,0.46727,0.28107,0.4909,0.26904,0.28544,0.27028,0.30903,0.28208,0.28544,0.28001,0.4909,0.27876,0.4909,0.28814,0.28544,0.28947,0.31084,0.29157,0.28544,0.30371,0.30997,0.30376,0.33364,0.3065,0.33437,0.31967,0.30877,0.31967,0.33713,0.34804,0.31133,0.34804,0.33741,0.37277,0.31094,0.37318,0.33768,0.39607,0.31058,0.39607,0.28544,0.37277,0.28544,0.34804,0.28544,0.31967,0.4909,0.31967,0.4909,0.30232,0.4668,0.30285,0.44303,0.31967,0.41251,0.31967,0.38894,0.31967,0.41293,0.34804,0.44171,0.34804,0.46719,0.34804,0.4686,0.31967,0.4909,0.34804,0.4909,0.37277,0.46759,0.37318,0.44131,0.37277,0.4125,0.37278,0.38968,0.34804,0.36492,0.31967,0.36309,0.30842,0.36259,0.30445,0.33429,0.29438,0.36572,0.34804,0.36602,0.37278,0.36631,0.39607,0.36676,0.43223,0.33809,0.43223,0.31002,0.43223,0.28544,0.39607,0.4909,0.39607,0.46796,0.39607,0.44093,0.39607,0.41209,0.39607,0.38957,0.37277,0.38947,0.39607,0.41146,0.43223,0.44034,0.43223,0.46853,0.43223,0.4909,0.43223,0.28544,0.43223,0.3893,0.43223,-2.4631,0.65073,-2.4636,0.56317,-2.3734,0.65073,0.35405,1.9123,0.33377,1.8194,0.37884,1.8185,-2.5504,0.56039,-2.5647,0.69701,-2.6248,0.69705,-2.6126,0.76947,-2.5818,0.76947,-2.4631,0.69826,-2.3742,0.69826,-2.8559,1.6078,-2.7938,1.69,-2.8549,1.69,-2.7937,1.6078,-2.7937,1.5325,-2.8571,1.5325,-2.3725,0.56328,-2.3745,0.4996,-2.4636,0.49975,0.37878,1.75,0.33399,1.7505,-2.6265,0.56063,-2.5501,0.49972,-2.6264,0.49973,-2.6656,0.49973,-2.6656,0.56063,-2.7319,0.5601,-2.732,0.62783,-2.8342,0.55957,-2.8342,0.49887,-2.9778,0.49855,-2.9778,0.55955,-2.9778,0.62864,-2.8342,0.62864,-2.8342,0.62864,-2.8249,0.71872,-2.7321,0.71874,-2.8249,0.78328,-2.7322,0.78358,-2.5981,0.81158,-2.3753,0.7504,-2.4631,0.75017,-2.8195,1.8262,-1.7393,1.814,-1.7393,1.7068,-1.6685,1.8143,-1.6684,1.7059,-1.7396,1.6332,-1.669,1.6332,-1.7396,1.5665,-1.6681,1.5665,-1.7394,1.5245,-1.6682,1.5245,-1.6817,1.478,-1.7393,1.4781,-1.7022,1.4181,-1.7393,1.4181,-1.825,1.4182,-1.8251,1.4781,-2.8559,1.4362,-2.7937,1.3867,-2.7937,1.4362,-2.8557,1.3868,0.5198,1.6831,0.52795,1.5888,0.52574,1.6831,0.51982,1.589,0.49351,1.589,0.49367,1.6831,-2.4636,0.45156,-2.3753,0.39427,-2.3753,0.45152,-2.4636,0.39431,0.37868,1.6708,0.3345,1.5782,0.37869,1.5767,0.33423,1.6713,-2.6264,0.45202,-2.5493,0.39526,-2.5497,0.45186,-2.6265,0.39576,-2.6656,0.45202,-2.7319,0.4517,-2.6638,0.39576,-2.7319,0.49938,-2.8342,0.45113,0.14379,1.7355,0.12436,1.8445,0.091613,1.733,-2.8339,0.45108,-2.945,0.45107,-2.9849,0.45097,-2.9849,0.39276,-2.945,0.39277,-2.834,0.3928,0.091595,1.6429,0.067934,1.6403,0.14379,1.642,-2.8342,0.39279,-2.7317,0.39321,-2.6663,0.34673,-2.7316,0.34469,-2.8342,0.34521,0.14332,1.5216,0.087499,1.5222,0.036129,1.5222,-2.945,0.34524,-2.834,0.34535,-2.9849,0.34501,-2.9849,0.27084,-2.945,0.27106,-2.9849,0.19576,-2.9449,0.19684,-2.9849,0.13325,-2.945,0.13394,-2.834,0.19734,-2.834,0.27112,0.035388,1.4281,0.087552,1.4284,0.14334,1.4279,-2.8342,0.27112,-2.7314,0.27112,-2.8342,0.19787,-2.7312,0.19835,-2.8342,0.13599,-2.7315,0.135,-2.6663,0.19849,-2.6656,0.13447,-2.6301,0.19836,-2.6302,0.13432,-2.63,0.2713,-2.6655,0.27128,-2.63,0.34672,-2.5496,0.34671,-2.5495,0.27135,-2.63,0.19845,-2.5493,0.19956,-2.6302,0.1349,-2.5487,0.13349,0.33447,1.2564,0.33482,1.1478,0.37528,1.1485,0.37531,1.2565,0.3753,1.3745,0.33432,1.3745,0.37537,1.4986,0.33428,1.4984,-2.646,0.39576,0.41799,1.5658,0.40479,1.4877,0.42289,1.4878,0.40472,1.3636,0.4226,1.3636,0.40473,1.2456,0.42267,1.2456,-2.4634,0.27135,-2.4634,0.1996,-2.3753,0.27132,-2.3752,0.19897,-2.4634,0.13333,0.4227,1.1367,0.40474,1.1382,-2.3753,0.13412,0.51979,1.2682,0.49377,1.2678,0.49314,1.1612,0.52007,1.3868,0.49331,1.3868,0.51991,1.5102,0.49335,1.5106,-2.3753,0.34661,-2.4634,0.34686,0.52802,1.5097,0.52827,1.3867,0.52826,1.2681,0.51834,1.1617,0.52793,1.1616,-2.8556,1.2188,-2.8557,1.163,-2.7937,1.2177,-2.7937,1.1633,-2.7937,1.2809,-2.8556,1.2809,-2.8557,1.3453,-2.7937,1.3454,0.61994,1.427,0.59476,1.3087,0.61896,1.3072,0.59214,1.2301,0.61891,1.2303,0.581,1.1435,0.61627,1.1433,-1.825,1.2244,-1.825,1.1715,-1.7391,1.2249,-1.739,1.1709,-1.7016,1.2247,-1.7017,1.1711,-1.6664,1.1717,-1.6657,1.2247,-1.666,1.2721,-1.634,1.2724,-1.634,1.225,-1.6661,1.1713,-1.634,1.1712,-1.4976,1.225,-1.4976,1.1712,-1.4135,1.225,-1.4135,1.1704,-1.3754,1.1703,-1.3755,1.2246,-1.3752,1.2727,-1.4135,1.2729,-1.4976,1.2724,-1.4135,1.3455,-1.375,1.3459,-1.3749,1.4177,-1.4135,1.4177,-1.4976,1.4179,-1.4976,1.3459,-1.6661,1.4181,-1.6339,1.3459,-1.6339,1.4179,-1.666,1.3451,-1.7019,1.3447,-1.7016,1.272,-1.7392,1.2716,-1.825,1.2712,-1.7393,1.3443,-1.8251,1.3441,-1.634,1.4781,-1.4976,1.4784,-1.4135,1.4786,-1.3878,1.4787,-1.4135,1.5247,-1.3849,1.5247,-1.4171,1.5659,-1.4978,1.5656,-1.4973,1.5247,-1.6346,1.5245,-1.6341,1.5673,-1.4968,1.6341,-1.4305,1.6343,-0.62065,1.6254,-0.62063,1.5109,-0.6768,1.511,-0.62065,1.4579,-0.591,1.456,-0.59165,1.3971,-0.62056,1.3973,-0.62047,1.334,-0.59167,1.3344,-0.62047,1.2833,-0.59158,1.2833,-0.62047,1.2106,-0.5915,1.2106,-0.62047,1.1487,-0.59142,1.1486,-0.67641,1.1481,-0.67493,1.2107,0.28536,1.3295,0.27428,1.2501,0.25175,1.3355,0.28156,1.3796,-0.67493,1.2831,-0.67493,1.3337,0.28208,1.53,0.24967,1.3783,-0.67491,1.283,-0.67487,1.2107,-0.73732,1.2831,-0.73638,1.2106,-0.67849,1.148,-0.72975,1.1482,-0.78881,1.1488,-0.79077,1.2105,-0.82173,1.1485,-0.82299,1.2105,-0.79472,1.2834,-0.73762,1.3335,-0.67483,1.3335,0.24345,1.53,0.25992,1.6082,-0.67691,1.3978,-0.73532,1.3977,-0.81262,1.333,-0.82234,1.2834,-0.91107,1.2835,-0.9111,1.2105,-0.82429,1.149,-0.91117,1.1491,-0.91103,1.3335,-0.91095,1.3962,-0.81283,1.3969,-0.73666,1.4584,-0.81258,1.4572,-0.91087,1.4562,-0.91082,1.5108,-0.81262,1.5107,-0.74205,1.5109,-0.67688,1.4577,-0.67493,1.6255,-0.74574,1.6256,-0.81297,1.6256,-0.91065,1.6256,-0.91063,1.6979,-0.81278,1.6977,-0.74706,1.6983,-0.75005,1.7896,-0.67688,1.7901,-1.5107,0.81702,-1.6232,0.81789,-1.5107,0.74158,-1.6232,0.74177,-1.772,0.81779,-1.8546,0.73533,-1.7721,0.73533,-1.8545,0.81767,-0.80675,1.7903,-0.85286,1.7916,-1.9381,0.73533,-1.9389,0.68323,-0.36897,1.7452,-0.37893,1.8146,-0.39423,1.7421,-0.36885,1.6847,-1.8546,0.68326,-1.9389,0.6163,-1.7721,0.68324,-1.5107,0.69096,-1.6232,0.69096,-1.4086,0.69738,-1.4085,0.74141,-2.8541,0.71859,-2.9778,0.78324,-2.9778,0.71857,-2.8541,0.78306,-2.9778,0.8178,-2.8541,0.81707,-2.8249,0.81737,-2.7323,0.81848,-1.4931,1.804,-1.4968,1.7059,-1.4536,1.7066,-0.62066,1.6971,-0.67685,1.697,-0.62065,1.7904,-1.4085,0.81608,-1.38,0.63641,-1.4086,0.63767,-1.5107,0.63535,-1.6232,0.63535,-1.7721,0.61634,-1.8546,0.61638,-1.8546,0.51135,-1.9389,0.51321,-0.39425,1.6847,-0.36861,1.6115,-0.39432,1.6119,-0.39425,1.4579,-0.36854,1.458,-0.39432,1.3976,-0.36877,1.3982,-0.39432,1.3163,-0.36944,1.3153,-0.38444,1.2072,-1.8545,0.45037,-1.939,0.45363,-1.8575,0.35542,-1.9386,0.35499,-1.959,0.35506,-1.9386,0.27196,-1.959,0.27187,-1.9386,0.15797,-1.8575,0.27136,-1.6345,0.51501,-1.6245,0.42804,-1.5529,0.42795,-1.5535,0.36194,-1.6242,0.36201,-1.7479,0.61417,-1.7648,0.54864,-1.7309,0.54828,-1.7311,0.46315,-1.7649,0.46242,-1.731,0.39315,-1.7649,0.39281,-1.7311,0.311,-1.7648,0.31109,-1.6245,0.27688,-1.6245,0.20689,-1.5538,0.20697,-1.5543,0.12474,-1.6223,0.12484,-1.5106,0.12471,-1.5107,0.20767,-1.5534,0.27712,-1.5106,0.27823,-1.4798,0.20769,-1.5106,0.12472,-1.4798,0.1246,-1.4085,0.20853,-1.4085,0.27933,-1.3803,0.28002,-1.3803,0.20875,-1.4085,0.12448,-1.3803,0.12448,-1.3803,0.36128,-1.4085,0.36159,-1.3803,0.42798,-1.4085,0.42804,-1.4798,0.36158,-1.4798,0.42796,-1.4085,0.45308,-1.5107,0.51501,-1.4085,0.51501,-1.5107,0.57168,-1.4085,0.56499,-1.3801,0.56567,-1.3804,0.515,-1.3804,0.45327,-1.6231,0.5717,-1.7721,0.51324,-1.5107,0.42795,-1.5106,0.36162,-1.4798,0.27836,0.51964,1.1611,0.14336,1.1781,0.14339,1.2752,0.089078,1.1785,0.088637,1.2744,0.035784,1.2748,0.087642,1.2745,0.087155,1.1785,0.036548,1.1781,-2.834,0.13453,0.49864,1.7622,0.51181,1.7619,-2.8571,1.4775,-2.7937,1.4774,-1.8251,1.5245,-1.825,1.5665,-1.825,1.6332,0.50153,1.8635,-3.1548,45.448,-4.0871,44.562,-3.4072,44.563,0.11014,2.7159,0.21507,2.7856,0.11808,2.7888,0.22488,2.7116,0.17087,2.8605,1.4498,0.59484,1.611,0.51621,1.4495,0.5161,1.6136,0.59532,1.4502,0.65151,1.6222,0.65085,1.4504,0.71636,1.2947,0.71685,1.2947,0.65163,1.2947,0.59466,1.2947,0.51605,1.4493,0.44468,1.6104,0.44473,1.6129,0.38955,1.4492,0.38949,1.6135,0.33018,1.4745,0.32965,1.6138,0.28605,1.492,0.2826,1.4995,0.23553,1.6156,0.23284,1.4555,0.27132,1.4662,0.23181,1.4495,0.32532,1.296,0.44465,1.2956,0.38943,1.4322,0.32612,1.3032,0.32962,1.4289,0.2708,1.3103,0.27504,1.4143,0.21714,1.3133,0.22273,1.291,0.22411,1.2863,0.26983,1.2931,0.32407,1.1573,0.27786,1.1715,0.23214,1.2849,0.22663,1.1365,0.22832,1.1345,0.2699,1.1508,0.32396,1.1491,0.38946,1.149,0.44465,1.1489,0.5161,1.1488,0.59484,1.1487,0.65151,1.1486,0.71636,-0.39575,0.77637,-0.62351,0.89035,-0.3958,0.88841,-0.62361,0.77837,-0.39565,0.67848,-0.62372,0.68242,-0.39556,0.54243,-0.62372,0.54576,-0.39548,0.41899,-0.62392,0.42226,-0.39543,0.32365,-0.62394,0.32388,-0.50655,0.32015,-0.41115,0.24434,-0.39277,0.24435,-0.41076,0.15918,-0.39175,0.15885,-0.39136,0.070257,-0.41227,0.070621,-0.48523,0.070099,-0.499,0.15928,-0.50788,0.24485,-0.52931,0.24547,-0.5075,0.15917,-0.53604,0.15907,-0.62349,0.15923,-0.62289,0.069216,-0.53605,0.070583,-0.51003,0.070268,-0.62379,0.24641,1.6296,0.71567,0.62899,0.47181,0.62938,0.31082,0.55048,0.31081,0.63045,0.16533,0.55048,0.16502,0.55065,0.047429,0.63157,0.045246,0.55049,0.47181,0.42895,0.3108,0.55048,0.16549,0.42969,0.16543,0.43064,0.044059,0.55179,0.048565,0.42891,0.47181,0.33017,0.47181,0.33016,0.31168,0.42901,0.16538,0.33018,0.16543,0.4292,0.044625,0.33026,0.041836,0.22203,0.47181,0.22204,0.3108,0.22204,0.16548,0.33008,0.16532,0.22202,0.044682,0.33001,0.042418,0.1117,0.47181,0.11162,0.31081,0.11155,0.16562,0.22216,0.16541,0.11156,0.047376,0.22231,0.044385,0.026622,0.47181,0.02596,0.31082,0.025024,0.16533,0.11108,0.16515,0.024205,0.053528,0.11062,0.050836,0.0269,0.61482,0.11181,0.61356,0.027139,0.77755,0.11177,0.77655,0.027181,0.88697,0.11155,0.88688,0.22197,0.77458,0.22192,0.88618,0.33017,0.77393,0.33017,0.88595,0.42901,0.77455,0.42892,0.88618,0.55048,0.77501,0.55048,0.88688,0.62855,0.7775,0.6287,0.61482,0.55049,0.6136,0.42904,0.61347,0.33018,0.61326,0.22198,0.61357,0.62798,0.88697,0.36224,2.7684,0.24593,2.7725,0.25533,2.7095,0.29918,2.8241,0.34671,2.7083]], "faces": [42,0,1,2,0,0,1,2,0,1,2,42,0,3,1,0,0,3,1,0,3,1,42,3,0,4,0,3,0,4,3,0,4,42,4,5,3,0,4,5,3,4,5,3,42,6,5,4,0,6,5,4,6,5,4,42,6,7,5,0,6,7,5,6,7,5,42,7,6,8,0,7,6,8,7,6,8,42,6,9,8,0,6,9,8,6,9,8,42,9,6,4,0,9,6,4,9,6,4,42,9,4,10,0,9,4,10,9,4,10,42,4,0,10,0,4,0,10,4,0,10,42,10,0,11,0,10,0,11,10,0,11,42,11,0,2,0,11,0,2,11,0,2,42,11,2,12,0,11,2,12,11,2,12,42,2,13,12,0,2,13,12,2,13,12,42,2,14,13,0,2,14,13,2,14,13,42,15,14,2,0,15,14,2,15,14,2,42,15,16,14,0,15,16,14,15,16,14,42,17,16,15,0,17,16,15,17,16,15,42,17,18,16,0,17,18,16,17,18,16,42,19,18,17,0,19,18,17,19,18,17,42,20,18,19,0,20,18,19,20,18,19,42,20,21,18,0,20,21,18,20,21,18,42,22,21,20,0,22,21,20,22,21,20,42,22,23,21,0,22,23,21,22,23,21,42,22,24,23,0,22,24,23,22,24,23,42,25,24,22,0,25,24,22,25,24,22,42,26,24,25,0,26,24,25,26,24,25,42,26,27,24,0,26,27,24,26,27,24,42,28,27,26,0,28,27,26,28,27,26,42,28,29,27,0,28,29,27,28,29,27,42,28,30,29,0,28,30,29,28,30,29,42,31,30,28,0,31,30,28,31,30,28,42,31,32,30,0,31,32,30,31,32,30,42,33,32,31,0,33,32,31,33,32,31,42,33,34,32,0,33,34,32,33,34,32,42,33,35,34,0,33,35,34,33,35,34,42,36,35,33,0,36,35,33,36,35,33,42,36,37,35,0,36,37,35,36,37,35,42,38,37,36,0,38,37,36,38,37,36,42,38,39,37,0,38,39,37,38,39,37,42,40,39,38,0,40,39,38,40,39,38,42,40,41,39,0,40,41,39,40,41,39,42,42,41,40,0,42,41,40,42,41,40,42,42,43,41,0,42,43,41,42,43,41,42,44,43,42,0,44,43,42,44,43,42,42,44,45,43,0,44,45,43,44,45,43,42,46,45,44,0,46,45,44,46,45,44,42,47,45,46,0,47,45,46,47,45,46,42,48,45,47,0,48,45,47,48,45,47,42,48,49,45,0,48,49,45,48,49,45,42,48,50,49,0,48,50,49,48,50,49,42,51,50,48,0,51,50,48,51,50,48,42,51,52,50,0,52,53,54,51,52,50,42,51,53,52,0,52,55,53,51,53,52,42,54,53,51,0,56,55,52,54,53,51,42,54,55,53,0,56,57,55,54,55,53,42,56,55,54,0,58,57,56,56,55,54,42,55,56,57,0,57,58,59,55,56,57,42,56,54,60,0,58,56,60,56,54,58,42,60,54,61,0,61,62,63,58,54,59,42,61,54,62,0,63,62,64,59,54,60,42,62,54,63,0,64,62,65,60,54,61,42,54,51,63,0,62,51,65,54,51,61,42,63,51,48,0,65,51,48,61,51,48,42,63,48,47,0,65,48,47,61,48,47,42,63,47,64,0,65,47,66,61,47,62,42,64,47,65,0,66,47,67,62,47,63,42,47,66,65,0,47,68,67,47,64,63,42,47,46,66,0,47,46,68,47,46,64,42,46,67,66,0,46,69,68,46,65,64,42,46,44,67,0,46,44,69,46,44,65,42,67,44,68,0,69,44,70,65,44,66,42,44,69,68,0,44,71,70,44,67,66,42,44,42,69,0,44,42,71,44,42,67,42,69,42,70,0,71,42,72,67,42,68,42,42,40,70,0,42,40,72,42,40,68,42,70,40,71,0,72,40,73,68,40,69,42,40,38,71,0,40,38,73,40,38,69,42,38,72,71,0,38,74,73,38,70,69,42,38,36,72,0,38,36,74,38,36,70,42,36,73,72,0,36,75,74,36,71,70,42,36,33,73,0,36,33,75,36,33,71,42,33,31,73,0,33,31,75,33,31,71,42,73,31,28,0,75,31,28,71,31,28,42,73,28,74,0,75,28,76,71,28,72,42,74,28,26,0,76,28,26,72,28,26,42,74,26,75,0,76,26,77,72,26,73,42,75,26,76,0,77,26,78,73,26,74,42,26,25,76,0,26,25,78,26,25,74,42,76,25,77,0,78,25,79,74,25,75,42,77,25,78,0,79,25,80,75,25,76,42,25,22,78,0,25,22,80,25,22,76,42,78,22,79,0,80,22,81,76,22,77,42,22,20,79,0,22,20,81,22,20,77,42,79,20,80,0,81,20,82,77,20,78,42,80,20,19,0,82,20,19,78,20,19,42,80,19,81,0,82,19,83,78,19,79,42,81,19,82,0,83,19,84,79,19,80,42,19,17,82,0,19,17,84,19,17,80,42,82,17,15,0,84,17,15,80,17,15,42,82,15,1,0,84,15,1,80,15,1,42,1,15,2,0,1,15,2,1,15,2,42,83,82,1,0,85,84,1,81,80,1,42,84,82,83,0,86,84,85,82,80,81,42,84,81,82,0,86,83,84,82,79,80,42,85,81,84,0,87,83,86,83,79,82,42,86,81,85,0,88,83,87,84,79,83,42,80,81,86,0,82,83,88,78,79,84,42,87,80,86,0,89,82,88,85,78,84,42,88,80,87,0,90,82,89,86,78,85,42,88,79,80,0,90,81,82,86,77,78,42,89,79,88,0,91,81,90,87,77,86,42,78,79,89,0,80,81,91,76,77,87,42,90,78,89,0,92,80,91,88,76,87,42,77,78,90,0,79,80,92,75,76,88,42,90,91,77,0,92,93,79,88,89,75,42,92,91,90,0,94,93,92,90,89,88,42,93,91,92,0,95,93,94,91,89,90,42,94,91,93,0,96,93,95,92,89,91,42,95,91,94,0,97,93,96,93,89,92,42,95,96,91,0,97,98,93,93,94,89,42,97,96,95,0,99,98,97,95,94,93,42,98,96,97,0,100,98,99,96,94,95,42,77,96,98,0,79,98,100,75,94,96,42,91,96,77,0,93,98,79,89,94,75,42,77,98,76,0,79,100,78,75,96,74,42,75,76,98,0,77,78,100,73,74,96,42,99,75,98,0,101,77,100,97,73,96,42,100,75,99,0,102,77,101,98,73,97,42,101,75,100,0,103,77,102,99,73,98,42,101,74,75,0,103,76,77,99,72,73,42,72,74,101,0,74,76,103,70,72,99,42,72,73,74,0,74,75,76,70,71,72,42,71,72,101,0,73,74,103,69,70,99,42,71,101,100,0,73,103,102,69,99,98,42,71,100,102,0,73,102,104,69,98,100,42,102,100,103,0,104,102,105,100,98,101,42,103,100,104,0,105,102,106,101,98,102,42,100,99,104,0,102,101,106,98,97,102,42,104,99,105,0,106,101,107,102,97,103,42,99,106,105,0,101,108,107,97,104,103,42,99,98,106,0,101,100,108,97,96,104,42,106,98,97,0,108,100,99,104,96,95,42,106,97,105,0,108,99,107,104,95,103,42,105,97,107,0,107,99,109,103,95,105,42,107,97,95,0,109,99,97,105,95,93,42,107,95,108,0,109,97,110,105,93,106,42,108,95,109,0,110,97,111,106,93,107,42,109,95,94,0,111,97,96,107,93,92,42,109,94,93,0,111,96,95,107,92,91,42,109,93,110,0,111,95,112,107,91,108,42,110,93,111,0,112,95,113,108,91,109,42,111,93,112,0,113,95,114,109,91,110,42,112,93,113,0,114,95,115,110,91,111,42,113,93,114,0,115,95,116,111,91,112,42,93,115,114,0,95,117,116,91,113,112,42,93,92,115,0,95,94,117,91,90,113,42,116,115,92,0,118,117,94,114,113,90,42,117,115,116,0,119,117,118,115,113,114,42,117,118,115,0,119,120,117,115,116,113,42,119,118,117,0,121,120,119,117,116,115,42,120,118,119,0,122,120,121,118,116,117,42,121,118,120,0,123,120,122,119,116,118,42,121,115,118,0,123,117,120,119,113,116,42,114,115,121,0,116,117,123,112,113,119,42,113,114,121,0,115,116,123,111,112,119,42,113,121,122,0,115,123,124,111,119,120,42,122,121,123,0,124,123,125,120,119,121,42,123,121,120,0,125,123,122,121,119,118,42,123,120,124,0,125,122,126,121,118,122,42,125,124,120,0,127,126,122,123,122,118,42,126,124,125,0,128,126,127,124,122,123,42,127,124,126,0,129,126,128,125,122,124,42,127,128,124,0,129,130,126,125,126,122,42,127,129,128,0,129,131,130,125,127,126,42,130,129,127,0,132,131,129,128,127,125,42,130,131,129,0,132,133,131,128,129,127,42,132,131,130,0,134,135,136,130,129,128,42,132,133,131,0,134,137,135,130,131,129,42,132,134,133,0,134,138,137,130,132,131,42,134,132,135,0,138,134,139,132,130,133,42,135,132,136,0,139,134,140,133,130,134,42,136,132,137,0,140,134,141,134,130,135,42,132,130,137,0,134,136,141,130,128,135,42,137,130,138,0,141,136,142,135,128,136,42,138,130,127,0,143,132,129,136,128,125,42,138,127,139,0,143,129,144,136,125,137,42,139,127,126,0,144,129,128,137,125,124,42,139,126,140,0,144,128,145,137,124,138,42,126,119,140,0,128,121,145,124,117,138,42,126,125,119,0,128,127,121,124,123,117,42,125,120,119,0,127,122,121,123,118,117,42,140,119,141,0,145,121,146,138,117,139,42,141,119,117,0,146,121,119,139,117,115,42,117,87,141,0,119,89,146,115,85,139,42,117,88,87,0,119,90,89,115,86,85,42,116,88,117,0,118,90,119,114,86,115,42,116,89,88,0,118,91,90,114,87,86,42,142,89,116,0,147,91,118,140,87,114,42,90,89,142,0,92,91,147,88,87,140,42,92,90,142,0,94,92,147,90,88,140,42,92,142,116,0,94,147,118,90,140,114,42,141,87,143,0,146,89,148,139,85,141,42,87,86,143,0,89,88,148,85,84,141,42,143,86,85,0,148,88,87,141,84,83,42,144,143,85,0,149,148,87,142,141,83,42,145,143,144,0,150,148,149,143,141,142,42,145,140,143,0,150,145,148,143,138,141,42,146,140,145,0,151,145,150,144,138,143,42,139,140,146,0,144,145,151,137,138,144,42,147,139,146,0,152,144,151,145,137,144,42,147,148,139,0,152,153,144,145,146,137,42,149,148,147,0,154,153,152,147,146,145,42,150,148,149,0,155,153,154,148,146,147,42,150,151,148,0,156,157,158,148,149,146,42,152,151,150,0,159,157,156,150,149,148,42,153,151,152,0,160,157,159,151,149,150,42,153,154,151,0,160,161,157,151,152,149,42,155,154,153,0,162,161,160,153,152,151,42,155,156,154,0,163,164,165,153,154,152,42,157,156,155,0,166,167,168,155,154,153,42,157,158,156,0,166,169,167,155,156,154,42,159,158,157,0,170,169,166,157,156,155,42,160,158,159,0,171,172,173,158,156,157,42,160,136,158,0,171,140,172,158,134,156,42,135,136,160,0,139,140,171,133,134,158,42,161,135,160,0,174,139,171,159,133,158,42,161,162,135,0,174,175,139,159,160,133,42,163,162,161,0,176,175,174,161,160,159,42,163,164,162,0,176,177,175,161,162,160,42,164,163,165,0,177,176,178,162,161,163,42,163,166,165,0,176,179,178,161,164,163,42,166,163,167,0,179,176,180,164,161,165,42,167,163,161,0,180,176,174,165,161,159,42,167,161,168,0,180,174,181,165,159,166,42,161,159,168,0,174,173,181,159,157,166,42,159,161,160,0,173,174,171,157,159,158,42,168,159,157,0,182,170,166,166,157,155,42,168,157,169,0,182,166,183,166,155,167,42,169,157,170,0,183,166,184,167,155,168,42,170,157,171,0,184,166,185,168,155,169,42,157,172,171,0,166,186,185,155,170,169,42,157,155,172,0,166,168,186,155,153,170,42,172,155,153,0,187,162,160,170,153,151,42,173,172,153,0,188,187,160,171,170,151,42,173,171,172,0,188,189,187,171,169,170,42,174,171,173,0,190,189,188,172,169,171,42,174,170,171,0,190,191,189,172,168,169,42,170,174,167,0,191,190,180,168,172,165,42,174,166,167,0,190,179,180,172,164,165,42,166,174,173,0,179,190,188,164,172,171,42,166,173,175,0,179,188,192,164,171,173,42,175,173,153,0,192,188,160,173,171,151,42,175,153,152,0,192,160,159,173,151,150,42,150,175,152,0,156,192,159,148,173,150,42,176,175,150,0,193,192,156,174,173,148,42,165,175,176,0,178,192,193,163,173,174,42,165,166,175,0,178,179,192,163,164,173,42,177,165,176,0,194,195,196,175,163,174,42,164,165,177,0,197,195,194,162,163,175,42,164,177,178,0,197,194,198,162,175,176,42,178,177,179,0,198,194,199,176,175,177,42,179,177,180,0,199,194,200,177,175,178,42,177,176,180,0,194,196,200,175,174,178,42,180,176,150,0,200,196,155,178,174,148,42,179,180,150,0,199,200,201,177,178,148,42,179,150,181,0,199,201,202,177,148,179,42,150,182,181,0,201,203,202,148,180,179,42,150,183,182,0,201,204,203,148,181,180,42,150,149,183,0,201,154,204,148,147,181,42,183,149,147,0,204,154,152,181,147,145,42,183,147,184,0,204,152,205,181,145,182,42,184,147,185,0,205,152,206,182,145,183,42,147,146,185,0,152,151,206,145,144,183,42,185,146,145,0,206,151,150,183,144,143,42,185,145,186,0,206,150,207,183,143,184,42,186,145,144,0,207,150,149,184,143,142,42,186,144,187,0,207,149,208,184,142,185,42,187,144,188,0,208,149,209,185,142,186,42,144,84,188,0,149,86,209,142,82,186,42,144,85,84,0,149,87,86,142,83,82,42,188,84,83,0,209,86,85,186,82,81,42,3,188,83,0,3,209,85,3,186,81,42,189,188,3,0,210,209,3,187,186,3,42,187,188,189,0,208,209,210,185,186,187,42,190,187,189,0,211,208,210,188,185,187,42,190,186,187,0,211,207,208,188,184,185,42,191,186,190,0,212,207,211,189,184,188,42,191,185,186,0,212,206,207,189,183,184,42,184,185,191,0,205,206,212,182,183,189,42,184,191,192,0,205,212,213,182,189,190,42,192,191,193,0,213,212,214,190,189,191,42,191,190,193,0,212,211,214,189,188,191,42,190,194,193,0,211,215,214,188,192,191,42,190,189,194,0,211,210,215,188,187,192,42,194,189,5,0,215,210,5,192,187,5,42,5,189,3,0,5,210,3,5,187,3,42,7,194,5,0,7,215,5,7,192,5,42,194,7,195,0,215,7,216,192,7,193,42,195,7,196,0,216,7,217,193,7,194,42,7,8,196,0,7,8,217,7,8,194,42,196,8,197,0,217,8,218,194,8,195,42,8,198,197,0,8,219,218,8,196,195,42,8,9,198,0,8,9,219,8,9,196,42,9,199,198,0,9,220,219,9,197,196,42,199,9,200,0,220,9,221,197,9,198,42,9,10,200,0,9,10,221,9,10,198,42,200,10,201,0,221,10,222,198,10,199,42,10,11,201,0,10,11,222,10,11,199,42,201,11,12,0,222,11,12,199,11,12,42,201,12,202,0,222,12,223,199,12,200,42,12,203,202,0,12,224,223,12,201,200,42,12,13,203,0,12,13,224,12,13,201,42,13,204,203,0,13,225,224,13,202,201,42,13,205,204,0,13,226,225,13,203,202,42,14,205,13,0,14,226,13,14,203,13,42,14,206,205,0,14,227,226,14,204,203,42,16,206,14,0,16,227,14,16,204,14,42,16,207,206,0,16,228,227,16,205,204,42,16,208,207,0,16,229,228,16,206,205,42,18,208,16,0,18,229,16,18,206,16,42,18,209,208,0,18,230,229,18,207,206,42,18,210,209,0,18,231,230,18,208,207,42,21,210,18,0,21,231,18,21,208,18,42,21,211,210,0,21,232,231,21,209,208,42,21,23,211,0,21,23,232,21,23,209,42,29,211,23,0,29,232,23,29,209,23,42,212,211,29,0,233,232,29,210,209,29,42,213,211,212,0,234,232,233,211,209,210,42,213,214,211,0,234,235,232,211,212,209,42,215,214,213,0,236,235,234,213,212,211,42,215,216,214,0,236,237,235,213,214,212,42,215,217,216,0,236,238,237,213,215,214,42,218,217,215,0,239,238,236,216,215,213,42,218,219,217,0,239,240,238,216,217,215,42,220,219,218,0,241,240,239,218,217,216,42,220,221,219,0,241,242,240,218,219,217,42,222,221,220,0,243,242,241,220,219,218,42,223,221,222,0,244,242,243,221,219,220,42,223,224,221,0,244,245,242,221,222,219,42,223,225,224,0,244,246,245,221,223,222,42,226,225,223,0,247,246,244,224,223,221,42,227,226,223,0,248,247,244,225,224,221,42,227,223,228,0,248,244,249,225,221,226,42,228,223,229,0,249,244,250,226,221,227,42,229,223,222,0,250,244,243,227,221,220,42,229,222,230,0,250,243,251,227,220,228,42,230,222,220,0,251,243,241,228,220,218,42,230,220,231,0,251,241,252,228,218,229,42,231,220,218,0,252,241,239,229,218,216,42,231,218,232,0,252,239,253,229,216,230,42,232,218,215,0,253,239,236,230,216,213,42,232,215,233,0,253,236,254,230,213,231,42,233,215,213,0,254,236,234,231,213,211,42,233,213,234,0,254,234,255,231,211,232,42,234,213,212,0,255,234,233,232,211,210,42,234,212,30,0,255,233,30,232,210,30,42,30,212,29,0,30,233,29,30,210,29,42,32,234,30,0,32,255,30,32,232,30,42,235,234,32,0,256,255,32,233,232,32,42,236,234,235,0,257,255,256,234,232,233,42,236,233,234,0,257,254,255,234,231,232,42,237,233,236,0,258,254,257,235,231,234,42,237,232,233,0,258,253,254,235,230,231,42,237,231,232,0,258,252,253,235,229,230,42,238,231,237,0,259,252,258,236,229,235,42,238,230,231,0,259,251,252,236,228,229,42,239,230,238,0,260,251,259,237,228,236,42,239,229,230,0,260,250,251,237,227,228,42,240,229,239,0,261,250,260,238,227,237,42,240,228,229,0,261,249,250,238,226,227,42,241,228,240,0,262,249,261,239,226,238,42,241,227,228,0,262,248,249,239,225,226,42,242,227,241,0,263,248,262,240,225,239,42,243,242,241,0,264,263,262,241,240,239,42,243,244,242,0,264,265,263,241,242,240,42,243,245,244,0,264,266,265,241,243,242,42,246,245,243,0,267,266,264,244,243,241,42,246,247,245,0,267,268,266,244,245,243,42,248,247,246,0,269,268,267,246,245,244,42,248,249,247,0,269,270,268,246,247,245,42,250,249,248,0,271,270,269,248,247,246,42,250,251,249,0,271,272,270,248,249,247,42,252,251,250,0,273,272,271,250,249,248,42,252,253,251,0,274,275,276,250,251,249,42,254,253,252,0,277,275,274,252,251,250,42,254,255,253,0,277,278,275,252,253,251,42,254,256,255,0,277,279,278,252,254,253,42,257,256,254,0,280,279,277,255,254,252,42,198,256,257,0,219,279,280,196,254,255,42,198,199,256,0,219,220,279,196,197,254,42,256,199,258,0,279,220,281,254,197,256,42,258,199,259,0,281,220,282,256,197,257,42,199,200,259,0,220,221,282,197,198,257,42,200,260,259,0,221,283,282,198,258,257,42,200,201,260,0,221,222,283,198,199,258,42,201,202,260,0,222,223,283,199,200,258,42,260,202,261,0,283,223,284,258,200,259,42,202,262,261,0,223,285,284,200,260,259,42,202,203,262,0,223,224,285,200,201,260,42,203,263,262,0,224,286,285,201,261,260,42,204,263,203,0,225,286,224,202,261,201,42,204,264,263,0,225,287,286,202,262,261,42,204,265,264,0,225,288,287,202,263,262,42,205,265,204,0,226,288,225,203,263,202,42,205,266,265,0,226,289,288,203,264,263,42,206,266,205,0,227,289,226,204,264,203,42,206,207,266,0,227,228,289,204,205,264,42,207,267,266,0,228,290,289,205,265,264,42,209,267,207,0,230,290,228,207,265,205,42,209,216,267,0,230,237,290,207,214,265,42,209,214,216,0,230,235,237,207,212,214,42,210,214,209,0,231,235,230,208,212,207,42,210,211,214,0,231,232,235,208,209,212,42,267,216,268,0,290,237,291,265,214,266,42,216,217,268,0,237,238,291,214,215,266,42,268,217,269,0,291,238,292,266,215,267,42,217,219,269,0,238,240,292,215,217,267,42,269,219,270,0,292,240,293,267,217,268,42,219,221,270,0,240,242,293,217,219,268,42,270,221,224,0,293,242,245,268,219,222,42,270,224,271,0,293,245,294,268,222,269,42,271,224,272,0,294,245,295,269,222,270,42,224,225,272,0,245,246,295,222,223,270,42,271,272,273,0,294,295,296,269,270,271,42,274,271,273,0,297,294,296,272,269,271,42,270,271,274,0,293,294,297,268,269,272,42,275,270,274,0,298,293,297,273,268,272,42,269,270,275,0,292,293,298,267,268,273,42,276,269,275,0,299,292,298,274,267,273,42,268,269,276,0,291,292,299,266,267,274,42,266,268,276,0,289,291,299,264,266,274,42,267,268,266,0,290,291,289,265,266,264,42,266,276,277,0,289,299,300,264,274,275,42,277,276,278,0,300,299,301,275,274,276,42,276,275,278,0,299,298,301,274,273,276,42,278,275,279,0,301,298,302,276,273,277,42,275,274,279,0,298,297,302,273,272,277,42,279,274,273,0,302,297,296,277,272,271,42,279,273,280,0,302,296,303,277,271,278,42,279,280,281,0,302,303,304,277,278,279,42,282,279,281,0,305,302,304,280,277,279,42,278,279,282,0,301,302,305,276,277,280,42,264,278,282,0,287,301,305,262,276,280,42,277,278,264,0,300,301,287,275,276,262,42,265,277,264,0,288,300,287,263,275,262,42,266,277,265,0,289,300,288,264,275,263,42,263,264,282,0,286,287,305,261,262,280,42,263,282,283,0,286,305,306,261,280,281,42,283,282,284,0,306,305,307,281,280,282,42,282,281,284,0,305,304,307,280,279,282,42,283,284,285,0,306,307,308,281,282,283,42,285,284,286,0,308,307,309,283,282,284,42,287,285,286,0,310,308,309,285,283,284,42,262,285,287,0,285,308,310,260,283,285,42,263,285,262,0,286,308,285,261,283,260,42,263,283,285,0,286,306,308,261,281,283,42,261,262,287,0,284,285,310,259,260,285,42,288,261,287,0,311,284,310,286,259,285,42,260,261,288,0,283,284,311,258,259,286,42,259,260,288,0,282,283,311,257,258,286,42,259,288,289,0,282,311,312,257,286,287,42,289,288,290,0,312,311,313,287,286,288,42,288,287,290,0,311,310,313,286,285,288,42,290,287,291,0,313,310,314,288,285,289,42,291,287,292,0,314,310,315,289,285,290,42,287,286,292,0,310,309,315,285,284,290,42,293,290,291,0,316,313,314,291,288,289,42,289,290,293,0,312,313,316,287,288,291,42,294,289,293,0,317,312,316,292,287,291,42,295,289,294,0,318,312,317,293,287,292,42,258,289,295,0,281,312,318,256,287,293,42,258,259,289,0,281,282,312,256,257,287,42,258,295,296,0,281,318,319,256,293,294,42,296,295,294,0,319,318,317,294,293,292,42,296,294,297,0,319,317,320,294,292,295,42,297,294,298,0,320,317,321,295,292,296,42,294,299,298,0,317,322,321,292,297,296,42,299,294,300,0,322,317,323,297,292,298,42,294,293,300,0,317,316,323,292,291,298,42,300,293,291,0,323,316,314,298,291,289,42,297,298,301,0,320,321,324,295,296,299,42,302,297,301,0,325,320,324,300,295,299,42,296,297,302,0,319,320,325,294,295,300,42,296,302,303,0,319,325,326,294,300,301,42,303,302,249,0,326,325,327,301,300,247,42,249,302,304,0,327,325,328,247,300,302,42,302,301,304,0,325,324,328,300,299,302,42,249,304,247,0,270,329,268,247,302,245,42,251,303,249,0,276,326,327,249,301,247,42,253,303,251,0,275,326,276,251,301,249,42,253,255,303,0,275,278,326,251,253,301,42,255,296,303,0,278,319,326,253,294,301,42,255,258,296,0,278,281,319,253,256,294,42,256,258,255,0,279,281,278,254,256,253,42,208,209,207,0,229,230,228,206,207,205,42,197,198,257,0,218,219,280,195,196,255,42,197,257,305,0,330,331,332,195,255,303,42,257,306,305,0,331,333,332,255,304,303,42,257,254,306,0,331,334,333,255,252,304,42,254,307,306,0,334,335,333,252,305,304,42,254,308,307,0,334,336,335,252,306,305,42,254,252,308,0,334,273,336,252,250,306,42,252,250,308,0,273,271,336,250,248,306,42,308,250,307,0,336,271,335,306,248,305,42,307,250,309,0,335,271,337,305,248,307,42,250,248,309,0,271,269,337,248,246,307,42,309,248,246,0,337,269,267,307,246,244,42,309,246,243,0,337,267,264,307,244,241,42,309,243,310,0,337,264,338,307,241,308,42,243,240,310,0,264,261,338,241,238,308,42,240,243,241,0,261,264,262,238,241,239,42,310,240,311,0,338,261,339,308,238,309,42,311,240,239,0,339,261,260,309,238,237,42,311,239,312,0,339,260,340,309,237,310,42,312,239,238,0,340,260,259,310,237,236,42,312,238,313,0,340,259,341,310,236,311,42,313,238,237,0,341,259,258,311,236,235,42,313,237,236,0,341,258,257,311,235,234,42,313,236,314,0,341,257,342,311,234,312,42,314,236,235,0,342,257,256,312,234,233,42,314,235,315,0,342,256,343,312,233,313,42,315,235,34,0,343,256,34,313,233,34,42,34,235,32,0,34,256,32,34,233,32,42,316,315,34,0,344,343,34,314,313,34,42,316,317,315,0,344,345,343,314,315,313,42,318,317,316,0,346,345,344,316,315,314,42,318,319,317,0,346,347,345,316,317,315,42,318,196,319,0,348,217,349,316,194,317,42,195,196,318,0,216,217,348,193,194,316,42,193,195,318,0,214,216,348,191,193,316,42,193,194,195,0,214,215,216,191,192,193,42,320,193,318,0,350,214,348,318,191,316,42,321,193,320,0,351,214,350,319,191,318,42,321,192,193,0,351,213,214,319,190,191,42,322,192,321,0,352,213,351,320,190,319,42,322,323,192,0,352,353,213,320,321,190,42,324,323,322,0,354,353,352,322,321,320,42,324,182,323,0,354,203,353,322,180,321,42,181,182,324,0,202,203,354,179,180,322,42,181,324,325,0,202,354,355,179,322,323,42,43,325,324,0,43,356,357,43,323,322,42,45,325,43,0,45,356,43,45,323,43,42,45,49,325,0,45,49,356,45,49,323,42,326,325,49,0,358,355,359,324,323,49,42,326,181,325,0,358,202,355,324,179,323,42,179,181,326,0,199,202,358,177,179,324,42,327,179,326,0,360,199,358,325,177,324,42,178,179,327,0,198,199,360,176,177,325,42,178,327,328,0,198,360,361,176,325,326,42,327,329,328,0,360,362,361,325,327,326,42,329,327,326,0,362,360,358,327,325,324,42,52,329,326,0,53,362,358,52,327,324,42,53,329,52,0,55,362,53,53,327,52,42,329,53,330,0,362,55,363,327,53,328,42,53,55,330,0,55,57,363,53,55,328,42,55,331,330,0,57,364,363,55,329,328,42,55,57,331,0,57,59,364,55,57,329,42,331,57,332,0,364,59,365,329,57,330,42,61,62,347,0,63,64,366,59,60,331,42,347,62,348,0,366,64,367,331,60,332,42,62,64,348,0,64,66,367,60,62,332,42,62,63,64,0,64,65,66,60,61,62,42,64,349,348,0,66,368,367,62,333,332,42,64,65,349,0,66,67,368,62,63,333,42,349,65,350,0,369,370,371,333,63,334,42,65,66,350,0,370,372,371,63,64,334,42,350,66,351,0,371,372,373,334,64,335,42,351,66,352,0,373,372,374,335,64,336,42,66,67,352,0,68,69,375,64,65,336,42,67,353,352,0,69,376,375,65,337,336,42,67,68,353,0,69,70,376,65,66,337,42,353,68,354,0,376,70,377,337,66,338,42,68,355,354,0,70,378,377,66,339,338,42,68,69,355,0,70,71,378,66,67,339,42,356,355,69,0,379,378,71,340,339,67,42,355,356,357,0,380,381,382,339,340,341,42,357,356,358,0,382,381,383,341,340,342,42,356,359,358,0,381,384,383,340,343,342,42,356,102,359,0,381,385,384,340,100,343,42,70,102,356,0,72,104,379,68,100,340,42,70,71,102,0,72,73,104,68,69,100,42,69,70,356,0,71,72,379,67,68,340,42,359,102,360,0,386,387,388,343,100,344,42,102,103,360,0,387,389,388,100,101,344,42,361,360,103,0,390,388,389,345,344,101,42,361,362,360,0,390,391,388,345,346,344,42,361,363,362,0,390,392,391,345,347,346,42,364,363,361,0,393,392,390,348,347,345,42,365,363,364,0,394,392,393,349,347,348,42,366,363,365,0,395,392,394,350,347,349,42,366,367,363,0,395,396,392,350,351,347,42,368,367,366,0,397,396,395,352,351,350,42,369,367,368,0,166,169,170,353,351,352,42,370,367,369,0,167,169,166,354,351,353,42,362,367,370,0,391,396,398,346,351,354,42,362,363,367,0,391,392,396,346,347,351,42,371,362,370,0,399,391,398,355,346,354,42,359,362,371,0,386,391,399,343,346,355,42,359,360,362,0,386,388,391,343,344,346,42,372,359,371,0,400,384,401,356,343,355,42,372,358,359,0,400,383,384,356,342,343,42,357,358,372,0,382,383,400,341,342,356,42,357,372,373,0,382,400,402,341,356,357,42,373,372,374,0,402,400,403,357,356,358,42,374,372,375,0,403,400,404,358,356,359,42,372,371,375,0,400,401,404,356,355,359,42,375,371,370,0,405,399,398,359,355,354,42,375,370,369,0,168,167,166,359,354,353,42,374,375,369,0,186,168,166,358,359,353,42,374,369,376,0,186,166,185,358,353,360,42,376,369,377,0,185,166,184,360,353,361,42,377,369,378,0,184,166,183,361,353,362,42,369,379,378,0,166,182,183,353,363,362,42,369,368,379,0,166,170,182,353,352,363,42,379,368,380,0,406,397,407,363,352,364,42,380,368,366,0,407,397,395,364,352,350,42,380,366,365,0,407,395,394,364,350,349,42,380,365,381,0,407,394,408,364,349,365,42,381,365,382,0,408,394,409,365,349,366,42,365,364,382,0,394,393,409,349,348,366,42,382,364,383,0,409,393,410,366,348,367,42,364,384,383,0,393,411,410,348,368,367,42,384,364,385,0,411,393,412,368,348,369,42,361,385,364,0,390,412,393,345,369,348,42,103,385,361,0,389,412,390,101,369,345,42,103,104,385,0,105,106,413,101,102,369,42,385,104,386,0,413,106,414,369,102,370,42,104,387,386,0,106,415,414,102,371,370,42,104,105,387,0,106,107,415,102,103,371,42,105,107,387,0,107,109,415,103,105,371,42,388,387,107,0,416,415,109,372,371,105,42,388,386,387,0,416,414,415,372,370,371,42,386,388,389,0,414,416,417,370,372,373,42,389,388,390,0,417,416,418,373,372,374,42,388,107,390,0,416,109,418,372,105,374,42,390,107,108,0,418,109,110,374,105,106,42,390,108,109,0,418,110,111,374,106,107,42,390,109,391,0,418,111,419,374,107,375,42,391,109,392,0,419,111,420,375,107,376,42,392,109,110,0,420,111,112,376,107,108,42,392,110,111,0,420,112,113,376,108,109,42,392,111,393,0,420,113,421,376,109,377,42,393,111,394,0,421,113,422,377,109,378,42,394,111,112,0,422,113,114,378,109,110,42,394,112,113,0,422,114,115,378,110,111,42,394,113,395,0,422,115,423,378,111,379,42,395,113,396,0,423,115,424,379,111,380,42,396,113,122,0,424,115,124,380,111,120,42,396,122,123,0,424,124,125,380,120,121,42,396,123,397,0,424,125,425,380,121,381,42,397,123,128,0,425,125,130,381,121,126,42,128,123,124,0,130,125,126,126,121,122,42,129,397,128,0,131,425,130,127,381,126,42,129,398,397,0,131,426,425,127,382,381,42,399,398,129,0,427,426,131,383,382,127,42,400,398,399,0,428,426,427,384,382,383,42,400,401,398,0,428,429,426,384,385,382,42,400,402,401,0,428,430,429,384,386,385,42,400,403,402,0,428,431,430,384,387,386,42,404,403,400,0,432,431,428,388,387,384,42,404,405,403,0,432,433,431,388,389,387,42,406,405,404,0,434,433,432,390,389,388,42,406,407,405,0,434,435,433,390,391,389,42,406,408,407,0,434,436,435,390,392,391,42,409,408,406,0,437,436,434,393,392,390,42,409,410,408,0,437,438,436,393,394,392,42,411,410,409,0,439,438,437,395,394,393,42,411,412,410,0,439,440,438,395,396,394,42,470,411,409,0,441,439,437,397,395,393,42,470,409,471,0,441,437,442,397,393,398,42,471,409,406,0,442,437,434,398,393,390,42,471,406,472,0,442,434,443,398,390,399,42,472,406,404,0,443,434,432,399,390,388,42,404,473,472,0,432,444,443,388,400,399,42,474,473,404,0,445,444,432,401,400,388,42,474,330,473,0,446,363,447,401,328,400,42,474,329,330,0,446,362,363,401,327,328,42,328,329,474,0,361,362,446,326,327,401,42,328,474,404,0,448,445,432,326,401,388,42,328,404,475,0,448,432,449,326,388,402,42,404,399,475,0,432,427,449,388,383,402,42,404,400,399,0,432,428,427,388,384,383,42,475,399,476,0,449,427,450,402,383,403,42,399,129,476,0,427,131,450,383,127,403,42,131,476,129,0,133,450,131,129,403,127,42,133,476,131,0,451,450,133,131,403,129,42,133,477,476,0,451,452,450,131,404,403,42,477,133,134,0,452,451,453,404,131,132,42,478,477,134,0,454,452,453,405,404,132,42,478,479,477,0,454,455,452,405,406,404,42,478,164,479,0,456,197,457,405,162,406,42,164,478,162,0,177,458,175,162,405,160,42,162,478,134,0,175,458,138,160,405,132,42,162,134,135,0,175,138,139,160,132,133,42,164,178,479,0,197,198,457,162,176,406,42,479,178,328,0,457,198,361,406,176,326,42,479,328,475,0,455,448,449,406,326,402,42,479,475,477,0,455,449,452,406,402,404,42,475,476,477,0,449,450,452,402,403,404,42,330,331,473,0,363,364,447,328,329,400,42,331,480,473,0,364,459,447,329,407,400,42,331,332,480,0,364,365,459,329,330,407,42,480,332,481,0,460,461,462,407,330,408,42,348,501,347,0,367,463,366,332,409,331,42,348,502,501,0,367,464,463,332,410,409,42,348,349,502,0,367,368,464,332,333,410,42,349,503,502,0,369,465,466,333,411,410,42,349,504,503,0,369,467,465,333,412,411,42,504,349,350,0,467,369,371,412,333,334,42,505,504,350,0,468,467,371,413,412,334,42,504,505,503,0,467,468,465,412,413,411,42,503,505,506,0,465,468,469,411,413,414,42,506,505,507,0,469,468,470,414,413,415,42,505,508,507,0,468,471,470,413,416,415,42,505,509,508,0,468,472,471,413,417,416,42,350,509,505,0,371,472,468,334,417,413,42,350,510,509,0,371,473,472,334,418,417,42,350,511,510,0,371,474,473,334,419,418,42,350,512,511,0,371,475,474,334,420,419,42,350,351,512,0,371,373,475,334,335,420,42,512,351,513,0,475,373,476,420,335,421,42,351,514,513,0,373,477,476,335,422,421,42,351,352,514,0,373,374,477,335,336,422,42,352,515,514,0,374,478,477,336,423,422,42,352,353,515,0,375,376,479,336,337,423,42,353,381,515,0,480,408,481,337,365,423,42,516,381,353,0,482,408,480,424,365,337,42,516,380,381,0,482,407,408,424,364,365,42,517,380,516,0,483,407,482,425,364,424,42,517,379,380,0,483,406,407,425,363,364,42,378,379,517,0,484,406,483,362,363,425,42,517,377,378,0,483,485,484,425,361,362,42,517,518,377,0,483,486,485,425,426,361,42,519,518,517,0,487,486,483,427,426,425,42,519,373,518,0,487,402,486,427,357,426,42,519,357,373,0,487,382,402,427,341,357,42,354,357,519,0,488,382,487,338,341,427,42,354,355,357,0,488,380,382,338,339,341,42,354,519,516,0,488,487,482,338,427,424,42,516,519,517,0,482,487,483,424,427,425,42,353,354,516,0,480,488,482,337,338,424,42,518,373,376,0,486,402,489,426,357,360,42,376,373,374,0,489,402,403,360,357,358,42,518,376,377,0,486,489,485,426,360,361,42,381,382,515,0,408,409,481,365,366,423,42,514,515,382,0,477,478,490,422,423,366,42,514,382,383,0,477,490,491,422,366,367,42,514,383,513,0,477,491,476,422,367,421,42,513,383,384,0,476,491,492,421,367,368,42,384,386,513,0,492,414,476,368,370,421,42,385,386,384,0,413,414,492,369,370,368,42,512,513,386,0,475,476,414,420,421,370,42,512,386,389,0,475,414,417,420,370,373,42,512,389,511,0,475,417,474,420,373,419,42,511,389,520,0,474,417,493,419,373,428,42,520,389,390,0,493,417,418,428,373,374,42,520,390,521,0,493,418,494,428,374,429,42,521,390,391,0,494,418,419,429,374,375,42,521,391,392,0,494,419,420,429,375,376,42,521,392,522,0,494,420,495,429,376,430,42,523,522,392,0,496,495,420,431,430,376,42,523,521,522,0,496,494,495,431,429,430,42,510,521,523,0,473,494,496,418,429,431,42,511,521,510,0,474,494,473,419,429,418,42,511,520,521,0,474,493,494,419,428,429,42,509,510,523,0,472,473,496,417,418,431,42,509,523,508,0,472,496,471,417,431,416,42,508,523,524,0,471,496,497,416,431,432,42,524,523,525,0,497,496,498,432,431,433,42,523,393,525,0,496,421,498,431,377,433,42,523,392,393,0,496,420,421,431,376,377,42,526,525,393,0,499,498,421,434,433,377,42,524,525,526,0,497,498,499,432,433,434,42,524,526,407,0,497,499,435,432,434,391,42,405,407,526,0,433,435,499,389,391,434,42,405,526,403,0,433,499,431,389,434,387,42,403,526,402,0,431,499,430,387,434,386,42,526,527,402,0,499,500,430,434,435,386,42,526,394,527,0,499,422,500,434,378,435,42,526,393,394,0,499,421,422,434,377,378,42,402,527,394,0,430,500,422,386,435,378,42,402,394,395,0,430,422,423,386,378,379,42,402,395,396,0,430,423,424,386,379,380,42,402,396,401,0,430,424,429,386,380,385,42,401,396,398,0,429,424,426,385,380,382,42,398,396,397,0,426,424,425,382,380,381,42,408,524,407,0,436,497,435,392,432,391,42,528,524,408,0,501,497,436,436,432,392,42,507,524,528,0,470,497,501,415,432,436,42,507,508,524,0,470,471,497,415,416,432,42,529,507,528,0,502,470,501,437,415,436,42,506,507,529,0,469,470,502,414,415,437,42,530,506,529,0,503,469,502,438,414,437,42,531,506,530,0,504,469,503,439,414,438,42,503,506,531,0,465,469,504,411,414,439,42,503,531,532,0,465,504,505,411,439,440,42,481,470,471,0,462,441,442,408,397,398,42,480,481,471,0,460,462,442,407,408,398,42,473,480,471,0,444,460,442,400,407,398,42,473,471,472,0,444,442,443,400,398,399,42,502,532,501,0,466,505,506,410,440,409,42,502,503,532,0,466,465,505,410,411,440,42,530,529,412,0,503,502,440,438,437,396,42,412,529,1145,0,440,502,507,396,437,441,42,529,528,1145,0,502,501,507,437,436,441,42,410,1145,528,0,438,507,501,394,441,436,42,412,1145,410,0,440,507,438,396,441,394,42,410,528,408,0,438,501,436,394,436,392,42,52,326,49,0,53,358,359,52,324,49,42,50,52,49,0,54,53,359,50,52,49,42,43,324,41,0,43,357,41,43,322,41,42,41,324,39,0,41,357,39,41,322,39,42,324,322,39,0,357,508,39,322,320,39,42,39,322,37,0,39,508,37,39,320,37,42,322,321,37,0,508,509,37,320,319,37,42,37,321,35,0,37,509,35,37,319,35,42,321,320,35,0,509,510,35,319,318,35,42,35,320,318,0,35,510,346,35,318,316,42,35,318,316,0,35,346,344,35,316,314,42,35,316,34,0,35,344,34,35,314,34,42,183,323,182,0,204,353,203,181,321,180,42,183,184,323,0,204,205,353,181,182,321,42,184,192,323,0,205,213,353,182,190,321,42,196,197,319,0,217,218,349,194,195,317,42,319,197,317,0,347,330,345,317,195,315,42,317,197,1146,0,345,330,511,315,195,442,42,197,305,1146,0,330,332,511,195,303,442,42,1146,305,313,0,511,332,341,442,303,311,42,305,312,313,0,332,340,341,303,310,311,42,305,306,312,0,332,333,340,303,304,310,42,306,311,312,0,333,339,340,304,309,310,42,306,307,311,0,333,335,339,304,305,309,42,307,309,311,0,335,337,339,305,307,309,42,311,309,310,0,339,337,338,309,307,308,42,1146,313,314,0,511,341,342,442,311,312,42,315,1146,314,0,343,511,342,313,442,312,42,317,1146,315,0,345,511,343,315,442,313,42,29,23,27,0,29,23,27,29,23,27,42,27,23,24,0,27,23,24,27,23,24,42,3,83,1,0,3,85,1,3,81,1,42,170,167,169,0,191,180,512,168,165,167,42,169,167,168,0,512,180,181,167,165,166,42,136,1147,158,0,140,513,172,134,443,156,42,136,137,1147,0,140,141,513,134,135,443,42,1147,137,148,0,513,141,514,443,135,146,42,148,137,138,0,514,141,142,146,135,136,42,148,138,139,0,153,143,144,146,136,137,42,151,1147,148,0,515,513,514,149,443,146,42,154,1147,151,0,165,513,515,152,443,149,42,156,1147,154,0,164,513,165,154,443,152,42,158,1147,156,0,172,513,164,156,443,154,42,140,141,143,0,145,146,148,138,139,141,42,56,58,57,1,516,517,518,56,444,57,42,58,56,59,1,517,516,519,444,56,445,42,59,56,60,1,519,516,520,445,56,58,42,57,333,332,1,518,521,522,57,446,330,42,58,333,57,1,517,521,518,444,446,57,42,58,334,333,1,517,523,521,444,447,446,42,58,335,334,1,517,524,523,444,448,447,42,336,335,58,1,525,524,517,449,448,444,42,337,335,336,1,526,524,525,450,448,449,42,337,338,335,1,526,527,524,450,451,448,42,337,339,338,1,526,528,527,450,452,451,42,339,337,340,1,528,526,529,452,450,453,42,340,337,341,1,529,526,530,453,450,454,42,337,336,341,1,526,525,530,450,449,454,42,341,336,342,1,530,525,531,454,449,455,42,336,58,342,1,525,517,531,449,444,455,42,342,58,59,1,531,517,519,455,444,445,42,342,59,343,1,531,519,532,455,445,456,42,343,59,344,1,532,519,533,456,445,457,42,59,60,344,1,519,520,533,445,58,457,42,344,60,345,1,533,520,519,457,58,458,42,345,60,61,1,519,520,534,458,58,59,42,345,61,346,1,519,534,517,458,59,459,42,346,61,347,1,517,534,518,459,59,331,42,411,413,412,1,535,536,537,395,460,396,42,414,413,411,1,538,536,535,461,460,395,42,414,415,413,1,538,539,536,461,462,460,42,416,415,414,1,540,539,538,463,462,461,42,416,417,415,1,540,541,539,463,464,462,42,416,418,417,1,540,542,541,463,465,464,42,416,419,418,1,540,543,542,463,466,465,42,416,420,419,1,540,544,543,463,467,466,42,421,420,416,1,545,544,540,468,467,463,42,421,422,420,1,545,546,544,468,469,467,42,423,422,421,1,547,546,545,470,469,468,42,423,424,422,1,547,548,546,470,471,469,42,425,424,423,1,549,548,547,472,471,470,42,425,426,424,1,549,550,548,472,473,471,42,427,426,425,1,551,550,549,474,473,472,42,428,426,427,1,552,550,551,475,473,474,42,428,429,426,1,552,553,550,475,476,473,42,428,430,429,1,552,554,553,475,477,476,42,431,430,428,1,555,554,552,478,477,475,42,431,432,430,1,555,556,554,478,479,477,42,433,432,431,1,557,558,559,480,479,478,42,433,434,432,1,557,560,558,480,481,479,42,434,433,435,1,560,557,561,481,480,482,42,435,433,436,1,561,557,562,482,480,483,42,433,437,436,1,557,563,562,480,484,483,42,437,433,431,1,563,557,559,484,480,478,42,431,438,437,1,559,564,563,478,485,484,42,439,438,431,1,565,564,559,486,485,478,42,440,438,439,1,566,564,565,487,485,486,42,441,438,440,1,567,564,566,488,485,487,42,437,438,441,1,563,564,567,484,485,488,42,442,437,441,1,568,563,567,489,484,488,42,442,436,437,1,568,562,563,489,483,484,42,443,436,442,1,569,562,568,490,483,489,42,443,444,436,1,569,570,562,490,491,483,42,445,444,443,1,571,570,569,492,491,490,42,445,446,444,1,571,572,570,492,493,491,42,447,446,445,1,573,572,571,494,493,492,42,446,447,448,1,572,573,574,493,494,495,42,447,449,448,1,573,575,574,494,496,495,42,447,450,449,1,573,576,575,494,497,496,42,451,450,447,1,577,576,573,498,497,494,42,452,450,451,1,578,576,577,499,497,498,42,452,453,450,1,578,579,576,499,500,497,42,452,454,453,1,578,580,579,499,501,500,42,455,454,452,1,581,580,578,502,501,499,42,454,455,456,1,580,581,582,501,502,503,42,456,455,457,1,582,581,583,503,502,504,42,455,458,457,1,581,584,583,502,505,504,42,452,458,455,1,578,584,581,499,505,502,42,458,452,451,1,584,578,577,505,499,498,42,458,451,459,1,584,577,585,505,498,506,42,451,447,459,1,577,573,585,498,494,506,42,447,445,459,1,573,571,585,494,492,506,42,458,459,445,1,584,585,571,505,506,492,42,460,458,445,1,586,584,571,507,505,492,42,457,458,460,1,583,584,586,504,505,507,42,457,460,461,1,583,586,587,504,507,508,42,460,445,461,1,586,571,587,507,492,508,42,461,445,443,1,587,571,569,508,492,490,42,461,443,462,1,587,569,588,508,490,509,42,462,443,442,1,588,569,568,509,490,489,42,462,442,463,1,588,568,589,509,489,510,42,442,441,463,1,568,567,589,489,488,510,42,463,441,440,1,589,567,566,510,488,487,42,463,440,439,1,589,566,565,510,487,486,42,463,439,464,1,589,565,590,510,486,511,42,464,439,465,1,591,592,593,511,486,512,42,439,431,465,1,592,555,593,486,478,512,42,465,431,428,1,593,555,552,512,478,475,42,465,428,427,1,593,552,551,512,475,474,42,465,427,466,1,593,551,594,512,474,513,42,466,427,425,1,594,551,549,513,474,472,42,466,425,467,1,594,549,595,513,472,514,42,467,425,423,1,595,549,547,514,472,470,42,467,423,468,1,595,547,596,514,470,515,42,468,423,421,1,596,547,545,515,470,468,42,468,421,469,1,596,545,597,515,468,516,42,421,416,469,1,545,540,597,468,463,516,42,469,416,414,1,597,540,538,516,463,461,42,469,414,411,1,597,538,598,516,461,395,42,469,411,470,1,597,535,599,516,395,397,42,332,482,481,1,522,600,601,330,517,408,42,332,483,482,1,522,602,600,330,518,517,42,333,483,332,1,521,602,522,446,518,330,42,333,484,483,1,521,603,602,446,519,518,42,333,485,484,1,521,604,603,446,520,519,42,334,485,333,1,523,604,521,447,520,446,42,335,485,334,1,524,604,523,448,520,447,42,335,486,485,1,524,605,604,448,521,520,42,335,487,486,1,524,606,605,448,522,521,42,338,487,335,1,527,606,524,451,522,448,42,338,488,487,1,527,607,606,451,523,522,42,339,488,338,1,528,607,527,452,523,451,42,339,489,488,1,528,608,607,452,524,523,42,489,339,490,1,608,528,609,524,452,525,42,490,339,340,1,609,528,529,525,452,453,42,490,340,491,1,609,529,610,525,453,526,42,491,340,492,1,610,529,611,526,453,527,42,340,493,492,1,529,612,611,453,528,527,42,340,341,493,1,529,530,612,453,454,528,42,341,343,493,1,530,532,612,454,456,528,42,341,342,343,1,530,531,532,454,455,456,42,493,343,494,1,612,532,530,528,456,529,42,494,343,495,1,530,532,531,529,456,530,42,343,345,495,1,532,519,531,456,458,530,42,343,344,345,1,532,533,519,456,457,458,42,495,345,346,1,531,519,517,530,458,459,42,496,495,346,1,525,531,517,531,530,459,42,494,495,496,1,530,531,525,529,530,531,42,494,496,497,1,530,525,526,529,531,532,42,496,498,497,1,525,524,526,531,533,532,42,498,496,346,1,524,525,517,533,531,459,42,346,499,498,1,517,523,524,459,534,533,42,346,500,499,1,517,521,523,459,535,534,42,346,347,500,1,517,518,521,459,331,535,42,347,501,500,1,518,522,521,331,409,535,42,531,533,532,1,613,614,615,439,536,440,42,530,533,531,1,616,614,617,438,536,439,42,530,534,533,1,616,618,614,438,537,536,42,413,534,530,1,536,618,616,460,537,438,42,413,415,534,1,536,539,618,460,462,537,42,415,535,534,1,539,619,618,462,538,537,42,415,536,535,1,539,620,619,462,539,538,42,415,537,536,1,539,621,620,462,540,539,42,417,537,415,1,541,621,539,464,540,462,42,417,538,537,1,541,622,621,464,541,540,42,418,538,417,1,542,622,541,465,541,464,42,539,538,418,1,623,622,542,542,541,465,42,539,540,538,1,623,624,622,542,543,541,42,541,540,539,1,625,624,623,544,543,542,42,541,542,540,1,625,626,624,544,545,543,42,543,542,541,1,627,626,625,546,545,544,42,543,544,542,1,627,628,626,546,547,545,42,543,545,544,1,627,629,628,546,548,547,42,543,546,545,1,627,630,629,546,549,548,42,547,546,543,1,631,630,627,550,549,546,42,547,548,546,1,631,632,630,550,551,549,42,549,548,547,1,633,632,631,552,551,550,42,550,548,549,1,634,632,633,553,551,552,42,550,551,548,1,634,635,632,553,554,551,42,550,552,551,1,634,636,635,553,555,554,42,553,552,550,1,637,636,634,556,555,553,42,553,554,552,1,637,638,636,556,557,555,42,555,554,553,1,639,638,637,558,557,556,42,555,556,554,1,639,640,638,558,559,557,42,555,557,556,1,639,641,640,558,560,559,42,558,557,555,1,642,641,639,561,560,558,42,559,558,555,1,643,642,639,562,561,558,42,559,555,560,1,643,639,644,562,558,563,42,560,555,561,1,644,639,645,563,558,564,42,555,553,561,1,639,637,645,558,556,564,42,561,553,562,1,645,637,646,564,556,565,42,562,553,563,1,646,637,647,565,556,566,42,553,549,563,1,637,633,647,556,552,566,42,549,553,550,1,633,637,634,552,556,553,42,563,549,564,1,647,633,648,566,552,567,42,549,565,564,1,633,649,648,552,568,567,42,549,547,565,1,633,631,649,552,550,568,42,547,541,565,1,631,625,649,550,544,568,42,547,543,541,1,631,627,625,550,546,544,42,565,541,539,1,649,625,623,568,544,542,42,565,539,566,1,649,623,650,568,542,569,42,566,539,418,1,650,623,542,569,542,465,42,419,566,418,1,543,650,542,466,569,465,42,419,567,566,1,543,651,650,466,570,569,42,420,567,419,1,544,651,543,467,570,466,42,422,567,420,1,546,651,544,469,570,467,42,422,568,567,1,546,652,651,469,571,570,42,424,568,422,1,548,652,546,471,571,469,42,424,569,568,1,548,653,652,471,572,571,42,426,569,424,1,550,653,548,473,572,471,42,426,570,569,1,550,654,653,473,573,572,42,426,429,570,1,550,553,654,473,476,573,42,429,571,570,1,553,655,654,476,574,573,42,572,571,429,1,656,655,553,575,574,476,42,572,573,571,1,656,657,655,575,576,574,42,572,574,573,1,656,658,657,575,577,576,42,572,575,574,1,656,659,658,575,578,577,42,576,575,572,1,660,659,656,579,578,575,42,576,577,575,1,660,661,659,579,580,578,42,578,577,576,1,662,661,660,581,580,579,42,578,579,577,1,662,663,661,581,582,580,42,578,580,579,1,662,664,663,581,583,582,42,581,580,578,1,665,664,662,584,583,581,42,581,582,580,1,665,666,664,584,585,583,42,583,582,581,1,667,666,665,586,585,584,42,583,584,582,1,667,668,666,586,587,585,42,585,584,583,1,669,668,667,588,587,586,42,585,583,488,1,669,667,607,588,586,523,42,488,583,586,1,607,667,670,523,586,589,42,586,583,587,1,670,667,671,589,586,590,42,587,583,581,1,671,667,665,590,586,584,42,587,581,588,1,671,665,672,590,584,591,42,588,581,589,1,672,665,673,591,584,592,42,589,581,576,1,673,665,660,592,584,579,42,581,578,576,1,665,662,660,584,581,579,42,589,576,430,1,673,660,554,592,579,477,42,430,576,572,1,554,660,656,477,579,575,42,430,572,429,1,554,656,553,477,575,476,42,590,589,430,1,674,673,554,593,592,477,42,590,588,589,1,674,672,673,593,591,592,42,448,588,590,1,574,675,676,495,591,593,42,448,449,588,1,574,575,675,495,496,591,42,449,591,588,1,575,677,675,496,594,591,42,449,592,591,1,575,678,677,496,595,594,42,450,592,449,1,576,678,575,497,595,496,42,450,593,592,1,576,679,678,497,596,595,42,453,593,450,1,579,679,576,500,596,497,42,453,594,593,1,579,680,679,500,597,596,42,454,594,453,1,580,680,579,501,597,500,42,594,454,586,1,680,580,681,597,501,589,42,454,456,586,1,580,582,681,501,503,589,42,488,586,456,1,607,670,682,523,589,503,42,488,456,487,1,607,682,606,523,503,522,42,456,457,487,1,582,583,683,503,504,522,42,487,457,595,1,683,583,684,522,504,598,42,457,461,595,1,583,587,684,504,508,598,42,461,462,595,1,587,588,684,508,509,598,42,487,595,462,1,683,684,588,522,598,509,42,487,462,486,1,683,588,685,522,509,521,42,486,462,463,1,685,588,589,521,509,510,42,486,463,464,1,685,589,590,521,510,511,42,486,464,485,1,605,591,604,521,511,520,42,485,464,596,1,604,591,686,520,511,599,42,464,465,596,1,591,593,686,511,512,599,42,596,465,466,1,686,593,594,599,512,513,42,596,466,482,1,686,594,600,599,513,517,42,482,466,597,1,600,594,687,517,513,600,42,466,467,597,1,594,595,687,513,514,600,42,597,467,468,1,687,595,596,600,514,515,42,597,468,469,1,687,596,597,600,515,516,42,481,597,469,1,688,687,597,408,600,516,42,482,597,481,1,600,687,689,517,600,408,42,481,469,470,1,688,597,690,408,516,397,42,483,596,482,1,602,686,600,518,599,517,42,483,484,596,1,602,603,686,518,519,599,42,484,485,596,1,603,604,686,519,520,599,42,594,586,598,1,680,681,691,597,589,601,42,586,599,598,1,681,692,691,589,602,601,42,586,587,599,1,681,693,692,589,590,602,42,587,591,599,1,693,677,692,590,594,602,42,587,588,591,1,693,675,677,590,591,594,42,599,591,592,1,692,677,678,602,594,595,42,598,599,592,1,691,692,678,601,602,595,42,598,592,593,1,691,678,679,601,595,596,42,594,598,593,1,680,691,679,597,601,596,42,448,590,600,1,574,676,694,495,593,603,42,590,432,600,1,676,558,694,593,479,603,42,590,430,432,1,674,554,556,593,477,479,42,600,432,601,1,694,558,695,603,479,604,42,601,432,434,1,695,558,560,604,479,481,42,434,600,601,1,560,694,695,481,603,604,42,600,434,602,1,694,560,696,603,481,605,42,602,434,444,1,696,560,570,605,481,491,42,444,434,435,1,570,560,561,491,481,482,42,444,435,436,1,570,561,562,491,482,483,42,446,602,444,1,572,696,570,493,605,491,42,448,602,446,1,574,696,572,495,605,493,42,448,600,602,1,574,694,696,495,603,605,42,489,585,488,1,608,669,607,524,588,523,42,584,603,582,1,668,697,666,587,606,585,42,582,603,604,1,666,697,698,585,606,607,42,603,605,604,1,697,699,698,606,608,607,42,603,606,605,1,697,700,699,606,609,608,42,607,605,606,1,701,699,700,610,608,609,42,607,608,605,1,701,702,699,610,611,608,42,607,609,608,1,701,703,702,610,612,611,42,607,610,609,1,701,704,703,610,613,612,42,611,610,607,1,705,704,701,614,613,610,42,606,611,607,1,700,705,701,609,614,610,42,610,612,609,1,704,706,703,613,615,612,42,610,613,612,1,704,707,706,613,616,615,42,613,614,612,1,707,708,706,616,617,615,42,612,614,615,1,706,708,709,615,617,618,42,615,614,616,1,709,708,710,618,617,619,42,614,617,616,1,708,711,710,617,620,619,42,618,616,617,1,712,710,711,621,619,620,42,618,619,616,1,712,713,710,621,622,619,42,620,619,618,1,714,713,712,623,622,621,42,620,621,619,1,714,715,713,623,624,622,42,622,621,620,1,716,715,714,625,624,623,42,622,623,621,1,716,717,715,625,626,624,42,624,623,622,1,718,717,716,627,626,625,42,624,625,623,1,718,719,717,627,628,626,42,624,626,625,1,718,720,719,627,629,628,42,627,626,624,1,721,720,718,630,629,627,42,627,628,626,1,721,722,720,630,631,629,42,629,628,627,1,723,722,721,632,631,630,42,629,630,628,1,723,724,722,632,633,631,42,631,630,629,1,694,558,676,634,633,632,42,631,632,630,1,694,695,558,634,635,633,42,631,633,632,1,694,560,695,634,636,635,42,631,634,633,1,694,696,560,634,637,636,42,635,634,631,1,574,696,694,638,637,634,42,636,634,635,1,572,696,574,639,637,638,42,636,637,634,1,572,570,696,639,640,637,42,638,637,636,1,571,570,572,641,640,639,42,638,639,637,1,571,569,570,641,642,640,42,640,639,638,1,587,569,571,643,642,641,42,641,639,640,1,588,569,587,644,642,643,42,639,641,642,1,569,588,568,642,644,645,42,641,643,642,1,588,589,568,644,646,645,42,644,643,641,1,685,589,588,647,646,644,42,644,645,643,1,685,590,589,647,648,646,42,644,646,645,1,725,726,727,647,649,648,42,498,646,644,1,524,604,605,533,649,647,42,498,499,646,1,524,523,604,533,534,649,42,499,500,646,1,523,521,604,534,535,649,42,500,647,646,1,521,603,604,535,650,649,42,500,648,647,1,521,602,603,535,651,650,42,500,501,648,1,521,522,602,535,409,651,42,501,649,648,1,728,729,730,409,652,651,42,501,532,649,1,728,615,729,409,440,652,42,649,532,650,1,729,615,731,652,440,653,42,532,533,650,1,615,614,731,440,536,653,42,533,651,650,1,614,732,731,536,654,653,42,533,652,651,1,614,733,732,536,655,654,42,535,652,533,1,619,733,614,538,655,536,42,535,653,652,1,619,734,733,538,656,655,42,535,654,653,1,619,735,734,538,657,656,42,655,654,535,1,736,735,619,658,657,538,42,654,655,656,1,735,736,737,657,658,659,42,656,655,657,1,737,736,738,659,658,660,42,657,655,658,1,738,736,739,660,658,661,42,658,655,536,1,739,736,620,661,658,539,42,536,655,535,1,620,736,619,539,658,538,42,537,658,536,1,621,739,620,540,661,539,42,537,659,658,1,621,740,739,540,662,661,42,538,659,537,1,622,740,621,541,662,540,42,660,659,538,1,741,740,622,663,662,541,42,660,658,659,1,741,739,740,663,661,662,42,661,658,660,1,742,739,741,664,661,663,42,658,661,657,1,739,742,738,661,664,660,42,544,657,661,1,628,738,742,547,660,664,42,662,657,544,1,743,738,628,665,660,547,42,656,657,662,1,737,738,743,659,660,665,42,663,656,662,1,744,737,743,666,659,665,42,664,656,663,1,745,737,744,667,659,666,42,654,656,664,1,735,737,745,657,659,667,42,653,654,664,1,734,735,745,656,657,667,42,665,653,664,1,746,734,745,668,656,667,42,653,665,652,1,734,746,733,656,668,655,42,652,665,666,1,733,746,747,655,668,669,42,666,665,667,1,747,746,748,669,668,670,42,667,665,668,1,748,746,749,670,668,671,42,665,664,668,1,746,745,749,668,667,671,42,668,664,669,1,749,745,750,671,667,672,42,669,664,663,1,750,745,744,672,667,666,42,670,669,663,1,751,750,744,673,672,666,42,671,669,670,1,752,750,751,674,672,673,42,672,669,671,1,753,750,752,675,672,674,42,672,673,669,1,753,754,750,675,676,672,42,674,673,672,1,755,754,753,677,676,675,42,675,673,674,1,756,754,755,678,676,677,42,675,676,673,1,756,757,754,678,679,676,42,677,676,675,1,758,757,756,680,679,678,42,677,667,676,1,758,748,757,680,670,679,42,678,667,677,1,759,748,758,681,670,680,42,678,666,667,1,759,747,748,681,669,670,42,666,678,679,1,747,759,760,669,681,682,42,679,678,680,1,760,759,761,682,681,683,42,680,678,681,1,761,759,762,683,681,684,42,681,678,677,1,762,759,758,684,681,680,42,682,681,677,1,763,762,758,685,684,680,42,683,681,682,1,764,762,763,686,684,685,42,683,680,681,1,764,761,762,686,683,684,42,684,680,683,1,765,761,764,687,683,686,42,684,649,680,1,765,729,761,687,652,683,42,648,649,684,1,730,729,765,651,652,687,42,647,648,684,1,766,730,765,650,651,687,42,646,647,684,1,726,766,765,649,650,687,42,684,645,646,1,765,727,726,687,648,649,42,684,683,645,1,765,764,727,687,686,648,42,645,683,685,1,727,764,767,648,686,688,42,685,683,686,1,767,764,768,688,686,689,42,686,683,682,1,768,764,763,689,686,685,42,686,682,628,1,768,763,722,689,685,631,42,682,687,628,1,763,769,722,685,690,631,42,682,677,687,1,763,758,769,685,680,690,42,677,675,687,1,758,756,769,680,678,690,42,687,675,688,1,769,756,770,690,678,691,42,675,674,688,1,756,755,770,678,677,691,42,688,674,689,1,770,755,771,691,677,692,42,689,674,690,1,771,755,772,692,677,693,42,690,674,672,1,772,755,753,693,677,675,42,690,672,691,1,772,753,773,693,675,694,42,691,672,671,1,773,753,752,694,675,674,42,691,671,692,1,773,752,774,694,674,695,42,692,671,693,1,774,752,775,695,674,696,42,693,671,670,1,775,752,751,696,674,673,42,693,670,694,1,775,751,776,696,673,697,42,670,663,694,1,751,744,776,673,666,697,42,694,663,662,1,776,744,743,697,666,665,42,694,662,545,1,776,743,629,697,665,548,42,545,662,544,1,629,743,628,548,665,547,42,695,694,545,1,777,776,629,698,697,548,42,695,696,694,1,777,778,776,698,699,697,42,695,697,696,1,777,779,778,698,700,699,42,695,698,697,1,777,780,779,698,701,700,42,699,698,695,1,781,780,777,702,701,698,42,700,698,699,1,782,780,781,703,701,702,42,700,697,698,1,782,779,780,703,700,701,42,701,697,700,1,783,779,782,704,700,703,42,701,702,697,1,783,784,779,704,705,700,42,703,702,701,1,785,784,783,706,705,704,42,704,702,703,1,786,784,785,707,705,706,42,693,702,704,1,775,784,786,696,705,707,42,696,702,693,1,778,784,775,699,705,696,42,697,702,696,1,779,784,778,700,705,699,42,693,694,696,1,775,776,778,696,697,699,42,705,693,704,1,787,775,786,708,696,707,42,705,692,693,1,787,774,775,708,695,696,42,706,692,705,1,788,774,787,709,695,708,42,706,691,692,1,788,773,774,709,694,695,42,690,691,706,1,772,773,788,693,694,709,42,707,690,706,1,789,772,788,710,693,709,42,707,708,690,1,789,790,772,710,711,693,42,709,708,707,1,791,790,789,712,711,710,42,708,709,710,1,790,791,792,711,712,713,42,711,710,709,1,793,792,791,714,713,712,42,712,710,711,1,794,792,793,715,713,714,42,712,713,710,1,794,795,792,715,716,713,42,714,713,712,1,796,795,794,717,716,715,42,714,715,713,1,796,797,795,717,718,716,42,716,715,714,1,798,797,796,719,718,717,42,717,715,716,1,799,797,798,720,718,719,42,717,718,715,1,799,800,797,720,721,718,42,717,719,718,1,799,801,800,720,722,721,42,720,719,717,1,802,801,799,723,722,720,42,720,721,719,1,802,803,801,723,724,722,42,722,721,720,1,804,803,802,725,724,723,42,722,723,721,1,804,805,803,725,726,724,42,724,723,722,1,806,805,804,727,726,725,42,725,723,724,1,807,805,806,728,726,727,42,726,723,725,1,808,805,807,729,726,728,42,726,727,723,1,808,809,805,729,730,726,42,728,727,726,1,810,809,808,731,730,729,42,729,727,728,1,811,809,810,732,730,731,42,730,727,729,1,812,809,811,733,730,732,42,730,731,727,1,812,813,809,733,734,730,42,730,732,731,1,812,814,813,733,735,734,42,733,732,730,1,815,814,812,736,735,733,42,733,734,732,1,815,816,814,736,737,735,42,733,688,734,1,815,770,816,736,691,737,42,733,687,688,1,815,769,770,736,690,691,42,628,687,733,1,722,769,815,631,690,736,42,628,733,626,1,722,815,720,631,736,629,42,626,733,730,1,720,815,812,629,736,733,42,626,730,735,1,720,812,817,629,733,738,42,735,730,736,1,817,812,818,738,733,739,42,736,730,729,1,818,812,811,739,733,732,42,736,729,737,1,818,811,819,739,732,740,42,737,729,728,1,819,811,810,740,732,731,42,737,728,738,1,819,810,820,740,731,741,42,738,728,739,1,820,810,821,741,731,742,42,728,726,739,1,810,808,821,731,729,742,42,739,726,740,1,821,808,822,742,729,743,42,740,726,741,1,822,808,823,743,729,744,42,726,725,741,1,808,807,823,729,728,744,42,741,725,742,1,823,807,824,744,728,745,42,742,725,724,1,824,807,806,745,728,727,42,743,742,724,1,825,824,806,746,745,727,42,744,742,743,1,826,824,825,747,745,746,42,744,745,742,1,826,827,824,747,748,745,42,746,745,744,1,828,827,826,749,748,747,42,746,747,745,1,828,829,827,749,750,748,42,748,747,746,1,830,829,828,751,750,749,42,748,749,747,1,830,831,829,751,752,750,42,748,750,749,1,830,832,831,751,753,752,42,751,750,748,1,833,832,830,754,753,751,42,751,752,750,1,833,834,832,754,755,753,42,751,753,752,1,833,835,834,754,756,755,42,754,753,751,1,836,835,833,757,756,754,42,754,755,753,1,836,837,835,757,758,756,42,756,755,754,1,838,837,836,759,758,757,42,756,757,755,1,838,839,837,759,760,758,42,758,757,756,1,840,839,838,761,760,759,42,759,757,758,1,841,839,840,762,760,761,42,759,760,757,1,841,842,839,762,763,760,42,761,760,759,1,843,842,841,764,763,762,42,761,762,760,1,843,844,842,764,765,763,42,763,762,761,1,845,844,843,766,765,764,42,763,764,762,1,845,846,844,766,767,765,42,765,764,763,1,847,846,845,768,767,766,42,766,764,765,1,848,846,847,769,767,768,42,766,767,764,1,848,849,846,769,770,767,42,768,767,766,1,850,849,848,771,770,769,42,768,738,767,1,850,820,849,771,741,770,42,769,738,768,1,851,820,850,772,741,771,42,737,738,769,1,819,820,851,740,741,772,42,770,737,769,1,852,819,851,773,740,772,42,736,737,770,1,818,819,852,739,740,773,42,771,736,770,1,853,818,852,774,739,773,42,771,735,736,1,853,817,818,774,738,739,42,625,735,771,1,719,817,853,628,738,774,42,625,626,735,1,719,720,817,628,629,738,42,625,771,623,1,719,853,717,628,774,626,42,623,771,772,1,717,853,854,626,774,775,42,771,770,772,1,853,852,854,774,773,775,42,772,770,768,1,854,852,850,775,773,771,42,770,769,768,1,852,851,850,773,772,771,42,772,768,773,1,854,850,855,775,771,776,42,773,768,766,1,855,850,848,776,771,769,42,773,766,765,1,855,848,847,776,769,768,42,773,765,774,1,855,847,856,776,768,777,42,774,765,763,1,856,847,845,777,768,766,42,774,763,775,1,856,845,857,777,766,778,42,775,763,776,1,857,845,858,778,766,779,42,776,763,761,1,858,845,843,779,766,764,42,776,761,777,1,858,843,859,779,764,780,42,777,761,778,1,859,843,860,780,764,781,42,761,779,778,1,843,861,860,764,782,781,42,780,779,761,1,862,861,843,783,782,764,42,781,779,780,1,863,861,862,784,782,783,42,782,779,781,1,864,861,863,785,782,784,42,778,779,782,1,860,861,864,781,782,785,42,778,782,783,1,860,864,865,781,785,786,42,783,782,784,1,865,864,866,786,785,787,42,784,782,785,1,866,864,867,787,785,788,42,785,782,781,1,867,864,863,788,785,784,42,781,786,785,1,863,868,867,784,789,788,42,781,780,786,1,863,862,868,784,783,789,42,780,787,786,1,862,869,868,783,790,789,42,780,758,787,1,862,840,869,783,761,790,42,759,758,780,1,841,840,862,762,761,783,42,761,759,780,1,843,841,862,764,762,783,42,787,758,756,1,869,840,838,790,761,759,42,787,756,788,1,869,838,870,790,759,791,42,756,789,788,1,838,871,870,759,792,791,42,754,789,756,1,836,871,838,757,792,759,42,790,789,754,1,872,871,836,793,792,757,42,788,789,790,1,870,871,872,791,792,793,42,791,788,790,1,873,870,872,794,791,793,42,792,788,791,1,874,870,873,795,791,794,42,792,787,788,1,874,869,870,795,790,791,42,793,787,792,1,875,869,874,796,790,795,42,786,787,793,1,868,869,875,789,790,796,42,785,786,793,1,867,868,875,788,789,796,42,785,793,794,1,867,875,876,788,796,797,42,793,795,794,1,875,877,876,796,798,797,42,793,792,795,1,875,874,877,796,795,798,42,791,795,792,1,873,877,874,794,798,795,42,796,795,791,1,878,877,873,799,798,794,42,796,797,795,1,878,879,877,799,800,798,42,796,798,797,1,878,880,879,799,801,800,42,799,798,796,1,881,880,878,802,801,799,42,799,800,798,1,881,882,880,802,803,801,42,799,801,800,1,881,883,882,802,804,803,42,802,801,799,1,884,883,881,805,804,802,42,802,744,801,1,884,826,883,805,747,804,42,802,746,744,1,884,828,826,805,749,747,42,790,746,802,1,872,828,884,793,749,805,42,748,746,790,1,830,828,872,751,749,793,42,754,748,790,1,836,830,872,757,751,793,42,754,751,748,1,836,833,830,757,754,751,42,791,790,802,1,873,872,884,794,793,805,42,802,796,791,1,884,878,873,805,799,794,42,802,799,796,1,884,881,878,805,802,799,42,801,744,743,1,883,826,825,804,747,746,42,801,743,800,1,883,825,882,804,746,803,42,800,743,803,1,882,825,885,803,746,806,42,743,724,803,1,825,806,885,746,727,806,42,803,724,722,1,885,806,804,806,727,725,42,803,722,804,1,885,804,886,806,725,807,42,804,722,805,1,886,804,887,807,725,808,42,722,720,805,1,804,802,887,725,723,808,42,805,720,806,1,887,802,888,808,723,809,42,720,717,806,1,802,799,888,723,720,809,42,806,717,716,1,888,799,798,809,720,719,42,807,806,716,1,889,888,798,810,809,719,42,805,806,807,1,887,888,889,808,809,810,42,808,805,807,1,890,887,889,811,808,810,42,809,805,808,1,891,887,890,812,808,811,42,809,804,805,1,891,886,887,812,807,808,42,797,804,809,1,879,886,891,800,807,812,42,797,810,804,1,879,892,886,800,813,807,42,798,810,797,1,880,892,879,801,813,800,42,798,800,810,1,880,882,892,801,803,813,42,800,803,810,1,882,885,892,803,806,813,42,810,803,804,1,892,885,886,813,806,807,42,795,797,809,1,877,879,891,798,800,812,42,795,809,811,1,877,891,893,798,812,814,42,811,809,808,1,893,891,890,814,812,811,42,811,808,812,1,893,890,894,814,811,815,42,808,813,812,1,890,895,894,811,816,815,42,808,807,813,1,890,889,895,811,810,816,42,807,814,813,1,889,896,895,810,817,816,42,815,814,807,1,897,896,889,818,817,810,42,816,814,815,1,898,896,897,819,817,818,42,816,817,814,1,898,899,896,819,820,817,42,816,818,817,1,898,900,899,819,821,820,42,819,818,816,1,901,900,898,822,821,819,42,714,818,819,1,796,900,901,717,821,822,42,714,820,818,1,796,902,900,717,823,821,42,821,820,714,1,903,902,796,824,823,717,42,821,822,820,1,903,904,902,824,825,823,42,823,822,821,1,905,904,903,826,825,824,42,823,824,822,1,905,906,904,826,827,825,42,823,825,824,1,905,907,906,826,828,827,42,826,825,823,1,908,907,905,829,828,826,42,826,827,825,1,908,909,907,829,830,828,42,828,827,826,1,910,909,908,831,830,829,42,827,828,829,1,909,910,911,830,831,832,42,829,828,830,1,911,910,912,832,831,833,42,830,828,826,1,912,910,908,833,831,829,42,830,826,831,1,912,908,913,833,829,834,42,832,831,826,1,914,913,908,835,834,829,42,833,831,832,1,915,913,914,836,834,835,42,830,831,833,1,912,913,915,833,834,836,42,833,834,830,1,915,916,912,836,837,833,42,835,834,833,1,917,916,915,838,837,836,42,836,834,835,1,918,916,917,839,837,838,42,836,830,834,1,918,912,916,839,833,837,42,836,837,830,1,918,919,912,839,840,833,42,838,837,836,1,920,919,918,841,840,839,42,838,829,837,1,920,911,919,841,832,840,42,838,839,829,1,920,921,911,841,842,832,42,840,839,838,1,922,921,920,843,842,841,42,840,841,839,1,922,923,921,843,844,842,42,813,841,840,1,895,923,922,816,844,843,42,813,842,841,1,895,924,923,816,845,844,42,814,842,813,1,896,924,895,817,845,816,42,814,843,842,1,896,925,924,817,846,845,42,817,843,814,1,899,925,896,820,846,817,42,818,843,817,1,900,925,899,821,846,820,42,818,820,843,1,900,902,925,821,823,846,42,820,844,843,1,902,926,925,823,847,846,42,822,844,820,1,904,926,902,825,847,823,42,824,844,822,1,906,926,904,827,847,825,42,827,844,824,1,909,926,906,830,847,827,42,843,844,827,1,925,926,909,846,847,830,42,843,827,845,1,925,909,927,846,830,848,42,845,827,829,1,927,909,911,848,830,832,42,845,829,839,1,927,911,921,848,832,842,42,841,845,839,1,923,927,921,844,848,842,42,842,845,841,1,924,927,923,845,848,844,42,843,845,842,1,925,927,924,846,848,845,42,824,825,827,1,906,907,909,827,828,830,42,846,813,840,1,928,895,922,849,816,843,42,812,813,846,1,894,895,928,815,816,849,42,847,812,846,1,929,894,928,850,815,849,42,811,812,847,1,893,894,929,814,815,850,42,794,811,847,1,876,893,929,797,814,850,42,794,795,811,1,876,877,893,797,798,814,42,794,847,848,1,876,929,930,797,850,851,42,848,847,849,1,930,929,931,851,850,852,42,849,847,850,1,931,929,932,852,850,853,42,847,846,850,1,929,928,932,850,849,853,42,850,846,851,1,932,928,933,853,849,854,42,851,846,840,1,933,928,922,854,849,843,42,851,840,852,1,933,922,934,854,843,855,42,852,840,838,1,934,922,920,855,843,841,42,853,852,838,1,935,934,920,856,855,841,42,851,852,853,1,933,934,935,854,855,856,42,851,853,854,1,933,935,936,854,856,857,42,854,853,855,1,936,935,937,857,856,858,42,853,856,855,1,935,938,937,856,859,858,42,853,857,856,1,935,939,938,856,860,859,42,853,838,857,1,935,920,939,856,841,860,42,857,838,836,1,939,920,918,860,841,839,42,858,857,836,1,940,939,918,861,860,839,42,856,857,858,1,938,939,940,859,860,861,42,859,856,858,1,941,938,940,862,859,861,42,855,856,859,1,937,938,941,858,859,862,42,860,855,859,1,942,937,941,863,858,862,42,855,860,861,1,937,942,943,858,863,864,42,861,860,862,1,943,942,944,864,863,865,42,862,860,863,1,944,942,945,865,863,866,42,863,860,864,1,945,942,946,866,863,867,42,864,860,865,1,946,942,947,867,863,868,42,860,859,865,1,942,941,947,863,862,868,42,859,858,865,1,941,940,947,862,861,868,42,865,858,835,1,947,940,917,868,861,838,42,858,836,835,1,940,918,917,861,839,838,42,866,865,835,1,948,947,917,869,868,838,42,867,865,866,1,949,947,948,870,868,869,42,867,868,865,1,949,950,947,870,871,868,42,869,868,867,1,951,950,949,872,871,870,42,869,870,868,1,951,952,950,872,873,871,42,871,870,869,1,953,952,951,874,873,872,42,871,863,870,1,953,945,952,874,866,873,42,862,863,871,1,944,945,953,865,866,874,42,861,862,871,1,943,944,953,864,865,874,42,872,861,871,1,954,943,953,875,864,874,42,873,861,872,1,955,943,954,876,864,875,42,874,861,873,1,956,943,955,877,864,876,42,874,855,861,1,956,937,943,877,858,864,42,875,855,874,1,957,937,956,878,858,877,42,854,855,875,1,936,937,957,857,858,878,42,876,854,875,1,958,936,957,879,857,878,42,877,854,876,1,959,936,958,880,857,879,42,877,851,854,1,959,933,936,880,854,857,42,878,851,877,1,960,933,959,881,854,880,42,878,850,851,1,960,932,933,881,853,854,42,879,850,878,1,961,932,960,882,853,881,42,879,849,850,1,961,931,932,882,852,853,42,880,849,879,1,962,931,961,883,852,882,42,880,784,849,1,962,866,931,883,787,852,42,783,784,880,1,865,866,962,786,787,883,42,881,783,880,1,963,865,962,884,786,883,42,881,777,783,1,963,859,865,884,780,786,42,882,777,881,1,964,859,963,885,780,884,42,882,776,777,1,964,858,859,885,779,780,42,883,776,882,1,965,858,964,886,779,885,42,883,775,776,1,965,857,858,886,778,779,42,884,775,883,1,966,857,965,887,778,886,42,884,885,775,1,966,967,857,887,888,778,42,886,885,884,1,968,967,966,889,888,887,42,886,887,885,1,968,969,967,889,890,888,42,888,887,886,1,970,969,968,891,890,889,42,619,887,888,1,713,969,970,622,890,891,42,619,889,887,1,713,971,969,622,892,890,42,621,889,619,1,715,971,713,624,892,622,42,621,890,889,1,715,972,971,624,893,892,42,621,772,890,1,715,854,972,624,775,893,42,621,623,772,1,715,717,854,624,626,775,42,772,773,890,1,854,855,972,775,776,893,42,890,773,774,1,972,855,856,893,776,777,42,890,774,891,1,972,856,973,893,777,894,42,891,774,885,1,973,856,967,894,777,888,42,774,775,885,1,856,857,967,777,778,888,42,891,885,887,1,973,967,969,894,888,890,42,889,891,887,1,971,973,969,892,894,890,42,890,891,889,1,972,973,971,893,894,892,42,619,888,616,1,713,970,710,622,891,619,42,615,616,888,1,709,710,970,618,619,891,42,612,615,888,1,706,709,970,615,618,891,42,612,888,892,1,706,970,974,615,891,895,42,892,888,886,1,974,970,968,895,891,889,42,892,886,893,1,974,968,975,895,889,896,42,893,886,894,1,975,968,976,896,889,897,42,886,884,894,1,968,966,976,889,887,897,42,894,884,883,1,976,966,965,897,887,886,42,894,883,882,1,976,965,964,897,886,885,42,894,882,895,1,976,964,977,897,885,898,42,895,882,881,1,977,964,963,898,885,884,42,895,881,896,1,977,963,978,898,884,899,42,896,881,897,1,978,963,979,899,884,900,42,881,880,897,1,963,962,979,884,883,900,42,897,880,879,1,979,962,961,900,883,882,42,898,897,879,1,980,979,961,901,900,882,42,899,897,898,1,981,979,980,902,900,901,42,896,897,899,1,978,979,981,899,900,902,42,895,896,899,1,977,978,981,898,899,902,42,900,895,899,1,982,977,981,903,898,902,42,894,895,900,1,976,977,982,897,898,903,42,894,900,901,1,976,982,983,897,903,904,42,901,900,902,1,983,982,984,904,903,905,42,900,903,902,1,982,985,984,903,906,905,42,900,899,903,1,982,981,985,903,902,906,42,899,904,903,1,981,986,985,902,907,906,42,899,898,904,1,981,980,986,902,901,907,42,904,898,905,1,986,980,987,907,901,908,42,898,906,905,1,980,988,987,901,909,908,42,898,879,906,1,980,961,988,901,882,909,42,879,877,906,1,961,959,988,882,880,909,42,879,878,877,1,961,960,959,882,881,880,42,906,877,876,1,988,959,958,909,880,879,42,906,876,907,1,988,958,989,909,879,910,42,907,876,908,1,989,958,990,910,879,911,42,908,876,909,1,990,958,991,911,879,912,42,876,875,909,1,958,957,991,879,878,912,42,909,875,874,1,991,957,956,912,878,877,42,909,874,910,1,991,956,992,912,877,913,42,910,874,873,1,992,956,955,913,877,876,42,910,873,911,1,992,955,993,913,876,914,42,911,873,912,1,993,955,994,914,876,915,42,912,873,913,1,994,955,995,915,876,916,42,873,872,913,1,955,954,995,876,875,916,42,913,872,914,1,995,954,996,916,875,917,42,872,871,914,1,954,953,996,875,874,917,42,914,871,915,1,996,953,997,917,874,918,42,871,869,915,1,953,951,997,874,872,918,42,869,916,915,1,951,998,997,872,919,918,42,869,917,916,1,951,999,998,872,920,919,42,869,918,917,1,951,1000,999,872,921,920,42,869,867,918,1,951,949,1000,872,870,921,42,867,919,918,1,949,1001,1000,870,922,921,42,867,866,919,1,949,948,1001,870,869,922,42,919,866,920,1,1001,948,1002,922,869,923,42,866,835,920,1,948,917,1002,869,838,923,42,920,835,921,1,1002,917,1003,923,838,924,42,921,835,833,1,1003,917,915,924,838,836,42,921,833,922,1,1003,915,1004,924,836,925,42,922,833,923,1,1004,915,1005,925,836,926,42,923,833,832,1,1005,915,914,926,836,835,42,923,832,924,1,1005,914,1006,926,835,927,42,924,832,925,1,1006,914,1007,927,835,928,42,925,832,926,1,1007,914,1008,928,835,929,42,927,926,832,1,1009,1008,914,930,929,835,42,928,926,927,1,1010,1008,1009,931,929,930,42,928,929,926,1,1010,1011,1008,931,932,929,42,928,711,929,1,1010,793,1011,931,714,932,42,928,712,711,1,1010,794,793,931,715,714,42,821,712,928,1,903,794,1010,824,715,931,42,714,712,821,1,796,794,903,717,715,824,42,823,821,928,1,905,903,1010,826,824,931,42,928,927,823,1,1010,1009,905,931,930,826,42,823,927,826,1,905,1009,908,826,930,829,42,832,826,927,1,914,908,1009,835,829,930,42,929,711,930,1,1011,793,1012,932,714,933,42,709,930,711,1,791,1012,793,712,933,714,42,930,709,931,1,1012,791,1013,933,712,934,42,931,709,932,1,1013,791,1014,934,712,935,42,707,932,709,1,789,1014,791,710,935,712,42,932,707,933,1,1014,789,1015,935,710,936,42,934,933,707,1,1016,1015,789,937,936,710,42,935,933,934,1,1017,1015,1016,938,936,937,42,935,936,933,1,1017,1018,1015,938,939,936,42,937,936,935,1,1019,1018,1017,940,939,938,42,937,931,936,1,1019,1013,1018,940,934,939,42,938,931,937,1,1020,1013,1019,941,934,940,42,939,931,938,1,1021,1013,1020,942,934,941,42,939,930,931,1,1021,1012,1013,942,933,934,42,940,930,939,1,1022,1012,1021,943,933,942,42,940,929,930,1,1022,1011,1012,943,932,933,42,926,929,940,1,1008,1011,1022,929,932,943,42,925,926,940,1,1007,1008,1022,928,929,943,42,925,940,941,1,1007,1022,1023,928,943,944,42,941,940,939,1,1023,1022,1021,944,943,942,42,941,939,942,1,1023,1021,1024,944,942,945,42,939,938,942,1,1021,1020,1024,942,941,945,42,942,938,943,1,1024,1020,1025,945,941,946,42,943,938,944,1,1025,1020,1026,946,941,947,42,944,938,937,1,1026,1020,1019,947,941,940,42,945,944,937,1,1027,1026,1019,948,947,940,42,946,944,945,1,1028,1026,1027,949,947,948,42,946,947,944,1,1028,1029,1026,949,950,947,42,948,947,946,1,1030,1029,1028,951,950,949,42,943,947,948,1,1025,1029,1030,946,950,951,42,947,943,944,1,1029,1025,1026,950,946,947,42,948,949,943,1,1030,1031,1025,951,952,946,42,950,949,948,1,1032,1031,1030,953,952,951,42,950,951,949,1,1032,1033,1031,953,954,952,42,952,951,950,1,1034,1033,1032,955,954,953,42,953,951,952,1,1035,1033,1034,956,954,955,42,954,951,953,1,1036,1033,1035,957,954,956,42,955,951,954,1,1037,1033,1036,958,954,957,42,956,951,955,1,1038,1033,1037,959,954,958,42,956,949,951,1,1038,1031,1033,959,952,954,42,956,942,949,1,1038,1024,1031,959,945,952,42,941,942,956,1,1023,1024,1038,944,945,959,42,941,956,957,1,1023,1038,1039,944,959,960,42,957,956,955,1,1039,1038,1037,960,959,958,42,958,957,955,1,1040,1039,1037,961,960,958,42,924,957,958,1,1006,1039,1040,927,960,961,42,924,925,957,1,1006,1007,1039,927,928,960,42,925,941,957,1,1007,1023,1039,928,944,960,42,959,924,958,1,1041,1006,1040,962,927,961,42,959,923,924,1,1041,1005,1006,962,926,927,42,959,922,923,1,1041,1004,1005,962,925,926,42,922,959,918,1,1004,1041,1000,925,962,921,42,918,959,917,1,1000,1041,999,921,962,920,42,917,959,960,1,999,1041,1042,920,962,963,42,959,958,960,1,1041,1040,1042,962,961,963,42,960,958,955,1,1042,1040,1037,963,961,958,42,960,955,954,1,1042,1037,1036,963,958,957,42,960,954,961,1,1042,1036,1043,963,957,964,42,961,954,962,1,1043,1036,1044,964,957,965,42,954,963,962,1,1036,1045,1044,957,966,965,42,954,953,963,1,1036,1035,1045,957,956,966,42,963,953,964,1,1045,1035,1046,966,956,967,42,964,953,952,1,1046,1035,1034,967,956,955,42,964,952,965,1,1046,1034,1047,967,955,968,42,952,950,965,1,1034,1032,1047,955,953,968,42,965,950,966,1,1047,1032,1048,968,953,969,42,950,967,966,1,1032,1049,1048,953,970,969,42,950,948,967,1,1032,1030,1049,953,951,970,42,967,948,946,1,1049,1030,1028,970,951,949,42,964,965,557,1,1046,1047,1050,967,968,560,42,963,964,557,1,1045,1046,1050,966,967,560,42,963,557,968,1,1045,1050,1051,966,560,971,42,560,963,968,1,644,1045,1051,563,966,971,42,969,963,560,1,1052,1045,644,972,966,563,42,962,963,969,1,1044,1045,1052,965,966,972,42,970,962,969,1,1053,1044,1052,973,965,972,42,961,962,970,1,1043,1044,1053,964,965,973,42,916,961,970,1,998,1043,1053,919,964,973,42,917,961,916,1,999,1043,998,920,964,919,42,917,960,961,1,999,1042,1043,920,963,964,42,916,970,971,1,998,1053,1054,919,973,974,42,972,971,970,1,1055,1054,1053,975,974,973,42,973,971,972,1,1056,1054,1055,976,974,975,42,973,915,971,1,1056,997,1054,976,918,974,42,914,915,973,1,996,997,1056,917,918,976,42,974,914,973,1,1057,996,1056,977,917,976,42,913,914,974,1,995,996,1057,916,917,977,42,975,913,974,1,1058,995,1057,978,916,977,42,912,913,975,1,994,995,1058,915,916,978,42,976,912,975,1,1059,994,1058,979,915,978,42,977,912,976,1,1060,994,1059,980,915,979,42,977,978,912,1,1060,1061,994,980,981,915,42,979,978,977,1,1062,1061,1060,982,981,980,42,980,978,979,1,1063,1061,1062,983,981,982,42,980,981,978,1,1063,1064,1061,983,984,981,42,982,981,980,1,1065,1064,1063,985,984,983,42,982,983,981,1,1065,1066,1064,985,986,984,42,984,983,982,1,1067,1066,1065,987,986,985,42,984,985,983,1,1067,1068,1066,987,988,986,42,986,985,984,1,1069,1068,1067,989,988,987,42,986,987,985,1,1069,1070,1068,989,990,988,42,988,987,986,1,1071,1070,1069,991,990,989,42,989,987,988,1,1072,1070,1071,992,990,991,42,990,987,989,1,1073,1070,1072,993,990,992,42,990,985,987,1,1073,1068,1070,993,988,990,42,990,908,985,1,1073,990,1068,993,911,988,42,991,908,990,1,1074,990,1073,994,911,993,42,991,907,908,1,1074,989,990,994,910,911,42,905,907,991,1,987,989,1074,908,910,994,42,905,906,907,1,987,988,989,908,909,910,42,992,905,991,1,1075,987,1074,995,908,994,42,904,905,992,1,986,987,1075,907,908,995,42,993,904,992,1,1076,986,1075,996,907,995,42,903,904,993,1,985,986,1076,906,907,996,42,994,903,993,1,1077,985,1076,997,906,996,42,902,903,994,1,984,985,1077,905,906,997,42,995,902,994,1,1078,984,1077,998,905,997,42,996,902,995,1,1079,984,1078,999,905,998,42,996,901,902,1,1079,983,984,999,904,905,42,997,901,996,1,1080,983,1079,1000,904,999,42,997,894,901,1,1080,976,983,1000,897,904,42,998,894,997,1,1081,976,1080,1001,897,1000,42,893,894,998,1,975,976,1081,896,897,1001,42,892,893,998,1,974,975,1081,895,896,1001,42,608,892,998,1,702,974,1081,611,895,1001,42,612,892,608,1,706,974,702,615,895,611,42,608,609,612,1,702,703,706,611,612,615,42,608,998,999,1,702,1081,1082,611,1001,1002,42,998,1000,999,1,1081,1083,1082,1001,1003,1002,42,998,997,1000,1,1081,1080,1083,1001,1000,1003,42,997,996,1000,1,1080,1079,1083,1000,999,1003,42,1000,996,1001,1,1083,1079,1084,1003,999,1004,42,996,995,1001,1,1079,1078,1084,999,998,1004,42,1001,995,1002,1,1084,1078,1085,1004,998,1005,42,995,1003,1002,1,1078,1086,1085,998,1006,1005,42,995,1004,1003,1,1078,1087,1086,998,1007,1006,42,995,994,1004,1,1078,1077,1087,998,997,1007,42,1004,994,1005,1,1087,1077,1088,1007,997,1008,42,994,1006,1005,1,1077,1089,1088,997,1009,1008,42,994,1007,1006,1,1077,1090,1089,997,1010,1009,42,994,1008,1007,1,1077,1091,1090,997,1011,1010,42,994,993,1008,1,1077,1076,1091,997,996,1011,42,993,992,1008,1,1076,1075,1091,996,995,1011,42,1008,992,1009,1,1091,1075,1092,1011,995,1012,42,1009,992,991,1,1092,1075,1074,1012,995,994,42,1009,991,1010,1,1092,1074,1093,1012,994,1013,42,1010,991,990,1,1093,1074,1073,1013,994,993,42,1010,990,989,1,1093,1073,1072,1013,993,992,42,1007,1010,989,1,1090,1093,1072,1010,1013,992,42,1007,1009,1010,1,1090,1092,1093,1010,1012,1013,42,1008,1009,1007,1,1091,1092,1090,1011,1012,1010,42,1007,989,1011,1,1090,1072,1094,1010,992,1014,42,1012,1011,989,1,1095,1094,1072,1015,1014,992,42,1013,1011,1012,1,1096,1094,1095,1016,1014,1015,42,1006,1011,1013,1,1089,1094,1096,1009,1014,1016,42,1006,1007,1011,1,1089,1090,1094,1009,1010,1014,42,1005,1006,1013,1,1088,1089,1096,1008,1009,1016,42,1005,1013,1014,1,1088,1096,1097,1008,1016,1017,42,1014,1013,1015,1,1097,1096,1098,1017,1016,1018,42,1015,1013,1012,1,1098,1096,1095,1018,1016,1015,42,1015,1012,1016,1,1098,1095,1099,1018,1015,1019,42,1016,1012,1017,1,1099,1095,1100,1019,1015,1020,42,1012,988,1017,1,1095,1071,1100,1015,991,1020,42,1012,989,988,1,1095,1072,1071,1015,992,991,42,1018,1017,988,1,1101,1100,1071,1021,1020,991,42,1016,1017,1018,1,1099,1100,1101,1019,1020,1021,42,1016,1018,1019,1,1099,1101,1102,1019,1021,1022,42,1019,1018,1020,1,1102,1101,1103,1022,1021,1023,42,1018,1021,1020,1,1101,1104,1103,1021,1024,1023,42,1021,1018,986,1,1104,1101,1069,1024,1021,989,42,1018,988,986,1,1101,1071,1069,1021,991,989,42,1021,986,984,1,1104,1069,1067,1024,989,987,42,1021,984,1022,1,1104,1067,1105,1024,987,1025,42,1022,984,982,1,1105,1067,1065,1025,987,985,42,1022,982,980,1,1105,1065,1063,1025,985,983,42,1023,1022,980,1,1106,1105,1063,1026,1025,983,42,1021,1022,1023,1,1104,1105,1106,1024,1025,1026,42,1021,1023,1024,1,1104,1106,1107,1024,1026,1027,42,1023,979,1024,1,1106,1062,1107,1026,982,1027,42,1023,980,979,1,1106,1063,1062,1026,983,982,42,1024,979,1025,1,1107,1062,1108,1027,982,1028,42,1025,979,977,1,1108,1062,1060,1028,982,980,42,1025,977,1026,1,1108,1060,1109,1028,980,1029,42,1026,977,976,1,1109,1060,1059,1029,980,979,42,1027,1026,976,1,1110,1109,1059,1030,1029,979,42,1027,1028,1026,1,1110,1111,1109,1030,1031,1029,42,1029,1028,1027,1,1112,1111,1110,1032,1031,1030,42,1030,1028,1029,1,1113,1111,1112,1033,1031,1032,42,1030,1031,1028,1,1113,1114,1111,1033,1034,1031,42,1030,1032,1031,1,1113,1115,1114,1033,1035,1034,42,1033,1032,1030,1,1116,1115,1113,1036,1035,1033,42,1034,1032,1033,1,1117,1115,1116,1037,1035,1036,42,1019,1032,1034,1,1102,1115,1117,1022,1035,1037,42,1019,1020,1032,1,1102,1103,1115,1022,1023,1035,42,1032,1020,1035,1,1115,1103,1118,1035,1023,1038,42,1020,1024,1035,1,1103,1107,1118,1023,1027,1038,42,1021,1024,1020,1,1104,1107,1103,1024,1027,1023,42,1035,1024,1025,1,1118,1107,1108,1038,1027,1028,42,1031,1035,1025,1,1114,1118,1108,1034,1038,1028,42,1031,1032,1035,1,1114,1115,1118,1034,1035,1038,42,1031,1025,1028,1,1114,1108,1111,1034,1028,1031,42,1028,1025,1026,1,1111,1108,1109,1031,1028,1029,42,1036,1019,1034,1,1119,1102,1117,1039,1022,1037,42,1037,1019,1036,1,1120,1102,1119,1040,1022,1039,42,1037,1016,1019,1,1120,1099,1102,1040,1019,1022,42,1038,1016,1037,1,1121,1099,1120,1041,1019,1040,42,1038,1015,1016,1,1121,1098,1099,1041,1018,1019,42,1014,1015,1038,1,1097,1098,1121,1017,1018,1041,42,1039,1014,1038,1,1122,1097,1121,1042,1017,1041,42,1040,1014,1039,1,1123,1097,1122,1043,1017,1042,42,1005,1014,1040,1,1088,1097,1123,1008,1017,1043,42,1003,1005,1040,1,1086,1088,1123,1006,1008,1043,42,1004,1005,1003,1,1087,1088,1086,1007,1008,1006,42,1003,1040,1041,1,1086,1123,1124,1006,1043,1044,42,1040,1042,1041,1,1123,1125,1124,1043,1045,1044,42,1040,1039,1042,1,1123,1122,1125,1043,1042,1045,42,1039,1043,1042,1,1122,1126,1125,1042,1046,1045,42,1038,1044,1039,1,1121,1127,1122,1041,1047,1042,42,1044,1038,1037,1,1127,1121,1120,1047,1041,1040,42,1044,1037,1036,1,1127,1120,1119,1047,1040,1039,42,1045,1044,1036,1,1128,1127,1119,1048,1047,1039,42,1044,1045,1043,1,1127,1128,1126,1047,1048,1046,42,1046,1043,1045,1,1129,1126,1128,1049,1046,1048,42,1042,1043,1046,1,1125,1126,1129,1045,1046,1049,42,1047,1042,1046,1,1130,1125,1129,1050,1045,1049,42,1047,1041,1042,1,1130,1124,1125,1050,1044,1045,42,1048,1041,1047,1,1131,1124,1130,1051,1044,1050,42,1048,1049,1041,1,1131,1132,1124,1051,1052,1044,42,1050,1049,1048,1,1133,1132,1131,1053,1052,1051,42,1050,1002,1049,1,1133,1085,1132,1053,1005,1052,42,1050,1001,1002,1,1133,1084,1085,1053,1004,1005,42,1051,1001,1050,1,1134,1084,1133,1054,1004,1053,42,1051,1052,1001,1,1134,1135,1084,1054,1055,1004,42,1051,1053,1052,1,1134,1136,1135,1054,1056,1055,42,604,1053,1051,1,698,1136,1134,607,1056,1054,42,604,605,1053,1,698,699,1136,607,608,1056,42,605,999,1053,1,699,1082,1136,608,1002,1056,42,605,608,999,1,699,702,1082,608,611,1002,42,999,1052,1053,1,1082,1135,1136,1002,1055,1056,42,1052,999,1000,1,1135,1082,1083,1055,1002,1003,42,1052,1000,1001,1,1135,1083,1084,1055,1003,1004,42,604,1051,1054,1,698,1134,1137,607,1054,1057,42,1054,1051,1050,1,1137,1134,1133,1057,1054,1053,42,1054,1050,1048,1,1137,1133,1131,1057,1053,1051,42,1054,1048,1055,1,1137,1131,1138,1057,1051,1058,42,1055,1048,1056,1,1138,1131,1139,1058,1051,1059,42,1048,1047,1056,1,1131,1130,1139,1051,1050,1059,42,1056,1047,1057,1,1139,1130,1140,1059,1050,1060,42,1057,1047,1058,1,1140,1130,1141,1060,1050,1061,42,1047,1059,1058,1,1130,1142,1141,1050,1062,1061,42,1047,1060,1059,1,1130,1143,1142,1050,1063,1062,42,1047,1046,1060,1,1130,1129,1143,1050,1049,1063,42,1046,1045,1060,1,1129,1128,1143,1049,1048,1063,42,1060,1045,1033,1,1143,1128,1116,1063,1048,1036,42,1045,1034,1033,1,1128,1117,1116,1048,1037,1036,42,1036,1034,1045,1,1119,1117,1128,1039,1037,1048,42,1060,1033,1059,1,1143,1116,1142,1063,1036,1062,42,1033,1029,1059,1,1116,1112,1142,1036,1032,1062,42,1033,1030,1029,1,1116,1113,1112,1036,1033,1032,42,1059,1029,1027,1,1142,1112,1110,1062,1032,1030,42,1059,1027,1058,1,1142,1110,1141,1062,1030,1061,42,1058,1027,1061,1,1141,1110,1144,1061,1030,1064,42,1027,976,1061,1,1110,1059,1144,1030,979,1064,42,1061,976,1062,1,1144,1059,1145,1064,979,1065,42,976,975,1062,1,1059,1058,1145,979,978,1065,42,1062,975,1063,1,1145,1058,1146,1065,978,1066,42,975,1064,1063,1,1058,1147,1146,978,1067,1066,42,975,974,1064,1,1058,1057,1147,978,977,1067,42,974,973,1064,1,1057,1056,1147,977,976,1067,42,1064,973,972,1,1147,1056,1055,1067,976,975,42,1063,1064,972,1,1146,1147,1055,1066,1067,975,42,1063,972,573,1,1146,1055,657,1066,975,576,42,573,972,1065,1,657,1055,1148,576,975,1068,42,972,970,1065,1,1055,1053,1148,975,973,1068,42,1065,970,969,1,1148,1053,1052,1068,973,972,42,1065,969,1066,1,1148,1052,1149,1068,972,1069,42,1066,969,1067,1,1149,1052,1150,1069,972,1070,42,969,1068,1067,1,1052,1151,1150,972,1071,1070,42,969,560,1068,1,1052,644,1151,972,563,1071,42,560,561,1068,1,644,645,1151,563,564,1071,42,1068,561,562,1,1151,645,646,1071,564,565,42,1067,1068,562,1,1150,1151,646,1070,1071,565,42,1067,562,1069,1,1150,646,1152,1070,565,1072,42,562,563,1069,1,646,647,1152,565,566,1072,42,563,564,1069,1,647,648,1152,566,567,1072,42,1069,564,567,1,1152,648,651,1072,567,570,42,564,566,567,1,648,650,651,567,569,570,42,564,565,566,1,648,649,650,567,568,569,42,568,1069,567,1,652,1152,651,571,1072,570,42,568,1070,1069,1,652,1153,1152,571,1073,1072,42,569,1070,568,1,653,1153,652,572,1073,571,42,569,570,1070,1,653,654,1153,572,573,1073,42,570,1066,1070,1,654,1149,1153,573,1069,1073,42,570,571,1066,1,654,655,1149,573,574,1069,42,571,1065,1066,1,655,1148,1149,574,1068,1069,42,571,573,1065,1,655,657,1148,574,576,1068,42,1066,1067,1070,1,1149,1150,1153,1069,1070,1073,42,1067,1069,1070,1,1150,1152,1153,1070,1072,1073,42,574,1063,573,1,658,1146,657,577,1066,576,42,1062,1063,574,1,1145,1146,658,1065,1066,577,42,575,1062,574,1,659,1145,658,578,1065,577,42,1061,1062,575,1,1144,1145,659,1064,1065,578,42,1071,1061,575,1,1154,1144,659,1074,1064,578,42,1058,1061,1071,1,1141,1144,1154,1061,1064,1074,42,1057,1058,1071,1,1140,1141,1154,1060,1061,1074,42,1072,1057,1071,1,1155,1140,1154,1075,1060,1074,42,1072,1055,1057,1,1155,1138,1140,1075,1058,1060,42,579,1055,1072,1,663,1138,1155,582,1058,1075,42,579,1054,1055,1,663,1137,1138,582,1057,1058,42,580,1054,579,1,664,1137,663,583,1057,582,42,604,1054,580,1,698,1137,664,607,1057,583,42,582,604,580,1,666,698,664,585,607,583,42,579,1072,577,1,663,1155,661,582,1075,580,42,577,1072,575,1,661,1155,659,580,1075,578,42,1072,1071,575,1,1155,1154,659,1075,1074,578,42,1055,1056,1057,1,1138,1139,1140,1058,1059,1060,42,1049,1002,1003,1,1132,1085,1086,1052,1005,1006,42,1049,1003,1041,1,1132,1086,1124,1052,1006,1044,42,908,909,985,1,990,991,1068,911,912,988,42,985,909,910,1,1068,991,992,988,912,913,42,985,910,983,1,1068,992,1066,988,913,986,42,983,910,911,1,1066,992,993,986,913,914,42,983,911,981,1,1066,993,1064,986,914,984,42,981,911,978,1,1064,993,1061,984,914,981,42,978,911,912,1,1061,993,994,981,914,915,42,915,916,971,1,997,998,1054,918,919,974,42,559,560,968,1,643,644,1051,1076,1076,1076,42,918,919,922,1,1000,1001,1004,921,922,925,42,919,920,922,1,1001,1002,1004,922,923,925,42,920,921,922,1,1002,1003,1004,923,924,925,42,942,943,949,1,1024,1025,1031,945,946,952,42,945,937,1073,1,1027,1019,1156,948,940,1077,42,1073,937,935,1,1156,1019,1017,1077,940,938,42,931,932,936,1,1013,1014,1018,934,935,939,42,936,932,933,1,1018,1014,1015,939,935,936,42,934,707,1074,1,1016,789,1157,937,710,1078,42,1074,707,706,1,1157,789,788,1078,710,709,42,1074,706,1075,1,1157,788,1158,1079,1079,1079,42,1075,706,705,1,1158,788,787,1080,709,708,42,1076,1075,705,1,1159,1158,787,1081,1080,708,42,705,934,1076,1,787,1160,1159,708,937,1081,42,705,703,934,1,787,785,1160,708,706,937,42,705,704,703,1,787,786,785,708,707,706,42,934,703,701,1,1160,785,783,937,706,704,42,934,701,1077,1,1160,783,1161,937,704,1082,42,1078,1077,701,1,1162,1161,783,1083,1082,704,42,1078,1079,1077,1,1162,1163,1161,1083,1084,1082,42,1080,1079,1078,1,1164,1163,1162,1085,1084,1083,42,1080,1078,1081,1,1164,1162,1165,1085,1083,1086,42,1081,1078,700,1,1165,1162,782,1086,1083,703,42,1078,701,700,1,1162,783,782,1083,704,703,42,1081,700,1082,1,1165,782,1166,1086,703,1087,42,1082,700,699,1,1166,782,781,1087,703,702,42,1083,1082,699,1,1167,1166,781,1088,1087,702,42,1081,1082,1083,1,1165,1166,1167,1086,1087,1088,42,1084,1081,1083,1,1168,1165,1167,1089,1086,1088,42,1084,1080,1081,1,1168,1164,1165,1089,1085,1086,42,1085,1080,1084,1,1169,1164,1168,1090,1085,1089,42,1086,1085,1084,1,1170,1169,1168,1091,1090,1089,42,557,1085,1086,1,641,1169,1170,560,1090,1091,42,557,1086,1087,1,641,1170,1171,560,1091,1092,42,1086,1084,1087,1,1170,1168,1171,1091,1089,1092,42,1084,1083,1087,1,1168,1167,1171,1089,1088,1092,42,1087,1083,551,1,1171,1167,635,1092,1088,554,42,1083,1088,551,1,1167,1172,635,1088,1093,554,42,1083,699,1088,1,1167,781,1172,1088,702,1093,42,548,1088,699,1,632,1172,781,551,1093,702,42,551,1088,548,1,635,1172,632,554,1093,551,42,548,699,546,1,632,781,630,551,702,549,42,546,699,695,1,630,781,777,549,702,698,42,546,695,545,1,630,777,629,549,698,548,42,1087,551,552,1,1171,635,636,1092,554,555,42,556,1087,552,1,640,1171,636,559,1092,555,42,556,557,1087,1,640,641,1171,559,560,1092,42,556,552,554,1,640,636,638,559,555,557,42,1079,934,1077,1,1163,1160,1161,1084,937,1082,42,777,778,783,1,859,860,865,780,781,786,42,784,848,849,1,866,930,931,787,851,852,42,848,784,785,1,930,866,867,851,787,788,42,785,794,848,1,867,876,930,788,797,851,42,870,863,868,1,952,945,950,873,866,871,42,863,864,868,1,945,946,950,866,867,871,42,868,864,865,1,950,946,947,871,867,868,42,837,829,830,1,919,911,912,840,832,833,42,716,714,819,1,798,796,901,719,717,822,42,716,819,816,1,798,901,898,719,822,819,42,815,716,816,1,897,798,898,818,719,819,42,807,716,815,1,889,798,897,810,719,818,42,738,1089,767,1,820,1173,849,741,1094,770,42,1091,1089,1090,1,1174,1173,1175,1095,1094,1096,42,1092,1089,1091,1,1176,1173,1174,1097,1094,1095,42,1093,1089,1092,1,1177,1173,1176,1098,1094,1097,42,767,1089,1093,1,849,1173,1177,770,1094,1098,42,764,767,1093,1,846,849,1177,767,770,1098,42,764,1093,760,1,846,1177,842,767,1098,763,42,760,1093,1094,1,842,1177,1178,763,1098,1099,42,1094,1093,1092,1,1178,1177,1176,1099,1098,1097,42,753,1094,1092,1,835,1178,1176,756,1099,1097,42,755,1094,753,1,837,1178,835,758,1099,756,42,755,757,1094,1,837,839,1178,758,760,1099,42,760,1094,757,1,842,1178,839,763,1099,760,42,753,1092,752,1,835,1176,834,756,1097,755,42,752,1092,1091,1,834,1176,1174,755,1097,1095,42,752,1091,1095,1,834,1174,1179,755,1095,1100,42,1095,1091,1090,1,1179,1174,1175,1100,1095,1096,42,1095,1090,1096,1,1179,1175,1180,1100,1096,1101,42,1096,1090,738,1,1180,1175,820,1101,1096,741,42,739,1096,738,1,821,1180,820,742,1101,741,42,1097,1096,739,1,1181,1180,821,1102,1101,742,42,1097,1095,1096,1,1181,1179,1180,1102,1100,1101,42,749,1095,1097,1,831,1179,1181,752,1100,1102,42,750,1095,749,1,832,1179,831,753,1100,752,42,750,752,1095,1,832,834,1179,753,755,1100,42,749,1097,747,1,831,1181,829,752,1102,750,42,1097,1098,747,1,1181,1182,829,1102,1103,750,42,1097,740,1098,1,1181,822,1182,1102,743,1103,42,739,740,1097,1,821,822,1181,742,743,1102,42,1098,740,741,1,1182,822,823,1103,743,744,42,1098,741,1099,1,1182,823,1183,1103,744,1104,42,1099,741,742,1,1183,823,824,1104,744,745,42,1099,742,745,1,1183,824,827,1104,745,748,42,745,747,1099,1,827,829,1183,748,750,1104,42,1098,1099,747,1,1182,1183,829,1103,1104,750,42,762,764,760,1,844,846,842,765,767,763,42,688,689,734,1,770,771,816,691,692,737,42,734,689,1100,1,816,771,1184,737,692,1105,42,1100,689,1101,1,1184,771,1185,1105,692,1106,42,1101,689,690,1,1185,771,772,1106,692,693,42,1101,690,708,1,1185,772,790,1106,693,711,42,710,1101,708,1,792,1185,790,713,1106,711,42,713,1101,710,1,795,1185,792,716,1106,713,42,713,1102,1101,1,795,1186,1185,716,1107,1106,42,715,1102,713,1,797,1186,795,718,1107,716,42,715,718,1102,1,797,800,1186,718,721,1107,42,718,1100,1102,1,800,1184,1186,721,1105,1107,42,1103,1100,718,1,1187,1184,800,1108,1105,721,42,1104,1100,1103,1,1188,1184,1187,1109,1105,1108,42,1104,734,1100,1,1188,816,1184,1109,737,1105,42,732,734,1104,1,814,816,1188,735,737,1109,42,732,1104,731,1,814,1188,813,735,1109,734,42,721,731,1104,1,803,813,1188,724,734,1109,42,723,731,721,1,805,813,803,726,734,724,42,727,731,723,1,809,813,805,730,734,726,42,721,1104,1103,1,803,1188,1187,724,1109,1108,42,721,1103,719,1,803,1187,801,724,1108,722,42,719,1103,718,1,801,1187,800,722,1108,721,42,1100,1101,1102,1,1184,1185,1186,1105,1106,1107,42,686,628,630,1,768,722,724,689,631,633,42,1105,686,630,1,557,559,558,1110,689,633,42,1106,686,1105,1,563,559,557,1111,689,1110,42,1106,1107,686,1,563,564,559,1111,1112,689,42,1108,1107,1106,1,567,564,563,1113,1112,1111,42,1107,1108,1109,1,564,567,566,1112,1113,1114,42,1109,1108,643,1,566,567,589,1114,1113,646,42,1108,642,643,1,567,568,589,1113,645,646,42,642,1108,1106,1,568,567,563,645,1113,1111,42,642,1106,1110,1,568,563,562,645,1111,1115,42,1110,1106,1105,1,562,563,557,1115,1111,1110,42,1110,1105,1111,1,562,557,561,1115,1110,1116,42,1111,1105,633,1,561,557,560,1116,1110,636,42,1105,630,633,1,557,558,560,1110,633,636,42,630,632,633,1,558,695,560,633,635,636,42,637,1111,633,1,570,561,560,640,1116,636,42,637,1110,1111,1,570,562,561,640,1115,1116,42,639,1110,637,1,569,562,570,642,1115,640,42,639,642,1110,1,569,568,562,642,645,1115,42,637,633,634,1,570,560,696,640,636,637,42,643,685,1109,1,589,565,566,646,688,1114,42,685,643,645,1,565,589,590,688,646,648,42,1109,685,1107,1,566,565,564,1114,688,1112,42,685,686,1107,1,565,559,564,688,689,1112,42,649,650,680,1,729,731,761,652,653,683,42,680,650,679,1,761,731,760,683,653,682,42,650,651,679,1,731,732,760,653,654,682,42,651,666,679,1,732,747,760,654,669,682,42,652,666,651,1,733,747,732,655,669,654,42,668,676,667,1,749,757,748,671,679,670,42,676,668,673,1,757,749,754,679,671,676,42,668,669,673,1,749,750,754,671,672,676,42,542,544,661,1,626,628,742,545,547,664,42,542,661,660,1,626,742,741,545,664,663,42,542,660,540,1,626,741,624,545,663,543,42,540,660,538,1,624,741,622,543,663,541,42,534,535,533,1,618,619,614,537,538,536,42,498,644,1112,1,524,605,606,533,647,1117,42,1112,644,641,1,683,685,588,1117,647,644,42,1112,641,1113,1,683,588,684,1117,644,1118,42,641,640,1113,1,588,587,684,644,643,1118,42,1114,1113,640,1,583,684,587,1119,1118,643,42,1112,1113,1114,1,683,684,583,1117,1118,1119,42,1115,1112,1114,1,582,683,583,1120,1117,1119,42,1116,1112,1115,1,1189,1190,1191,1121,1117,1120,42,1117,1112,1116,1,527,606,607,1122,1117,1121,42,1117,498,1112,1,527,524,606,1122,533,1117,42,497,498,1117,1,526,524,527,532,533,1122,42,497,1117,1118,1,526,527,528,532,1122,1123,42,1118,1117,1116,1,528,527,607,1123,1122,1121,42,1118,1116,1119,1,528,607,608,1123,1121,1124,42,1119,1116,1120,1,608,607,669,1124,1121,1125,42,1120,1116,1121,1,1192,1193,1194,1125,1121,1126,42,1116,1122,1121,1,1189,1195,1196,1121,1127,1126,42,1116,1115,1122,1,1189,1191,1195,1121,1120,1127,42,1115,1123,1122,1,582,580,681,1120,1128,1127,42,1123,1115,1124,1,580,582,581,1128,1120,1129,42,1115,1114,1124,1,582,583,581,1120,1119,1129,42,1124,1114,1125,1,581,583,584,1129,1119,1130,42,1125,1114,1126,1,584,583,586,1130,1119,1131,42,1114,640,1126,1,583,587,586,1119,643,1131,42,1126,640,638,1,586,587,571,1131,643,641,42,1126,638,1125,1,586,571,584,1131,641,1130,42,1125,638,1127,1,584,571,585,1130,641,1132,42,1127,638,1128,1,585,571,573,1132,641,1133,42,638,636,1128,1,571,572,573,641,639,1133,42,636,635,1128,1,572,574,573,639,638,1133,42,1128,635,1129,1,573,574,575,1133,638,1134,42,635,1130,1129,1,574,675,575,638,1135,1134,42,635,629,1130,1,574,676,675,638,632,1135,42,635,631,629,1,574,694,676,638,634,632,42,1130,629,627,1,1197,723,721,1135,632,630,42,1130,627,624,1,1197,721,718,1135,630,627,42,1131,1130,624,1,1198,1197,718,1136,1135,627,42,1131,1132,1130,1,693,677,675,1136,1137,1135,42,1131,1133,1132,1,693,692,677,1136,1138,1137,42,1131,1122,1133,1,693,681,692,1136,1127,1138,42,1122,1131,1121,1,1195,1198,1196,1127,1136,1126,42,1131,624,1121,1,1198,718,1196,1136,627,1126,42,1121,624,622,1,1196,718,716,1126,627,625,42,1121,622,1134,1,1196,716,1199,1126,625,1139,42,1134,622,620,1,1199,716,714,1139,625,623,42,1120,1121,1134,1,1192,1194,1200,1125,1126,1139,42,1122,1135,1133,1,681,691,692,1127,1140,1138,42,1136,1135,1122,1,680,691,681,1141,1140,1127,42,1135,1136,1137,1,691,680,679,1140,1141,1142,42,1137,1136,1138,1,679,680,579,1142,1141,1143,42,1123,1138,1136,1,580,579,680,1128,1143,1141,42,1123,1139,1138,1,580,578,579,1128,1144,1143,42,1124,1139,1123,1,581,578,580,1129,1144,1128,42,1139,1124,1125,1,578,581,584,1144,1129,1130,42,1125,1140,1139,1,584,577,578,1130,1145,1144,42,1125,1127,1140,1,584,585,577,1130,1132,1145,42,1127,1128,1140,1,585,573,577,1132,1133,1145,42,1128,1141,1140,1,573,576,577,1133,1146,1145,42,1129,1141,1128,1,575,576,573,1134,1146,1133,42,1141,1129,1142,1,576,575,678,1146,1134,1147,42,1129,1132,1142,1,575,677,678,1134,1137,1147,42,1129,1130,1132,1,575,675,677,1134,1135,1137,42,1133,1142,1132,1,692,678,677,1138,1147,1137,42,1135,1142,1133,1,691,678,692,1140,1147,1138,42,1135,1137,1142,1,691,679,678,1140,1142,1147,42,1141,1142,1137,1,576,678,679,1146,1147,1142,42,1138,1141,1137,1,579,576,679,1143,1146,1142,42,1139,1141,1138,1,578,576,579,1144,1146,1143,42,1139,1140,1141,1,578,577,576,1144,1145,1146,42,1123,1136,1122,1,580,680,681,1128,1141,1127,42,1143,1118,1119,1,609,528,608,1148,1123,1124,42,1143,1144,1118,1,609,529,528,1148,1149,1123,42,491,1144,1143,1,610,529,609,526,1149,1148,42,491,492,1144,1,610,611,529,526,527,1149,42,492,493,1144,1,611,612,529,527,528,1149,42,1144,493,494,1,529,612,530,1149,528,529,42,1144,494,497,1,529,530,526,1149,529,532,42,1144,497,1118,1,529,526,528,1149,532,1123,42,412,413,530,1,1201,536,1202,396,460,438,42,1043,1039,1044,2,1203,1204,1205,1046,1042,1047,42,1090,1089,738,2,1206,1207,1208,1096,1094,741,42,1148,1149,1150,0,1209,1210,1211,1150,1151,1152,42,1148,1151,1149,0,1209,1212,1210,1150,1153,1151,42,1151,1148,1152,0,1212,1209,1213,1153,1150,1154,42,1152,1153,1151,0,1213,1214,1212,1154,1155,1153,42,1155,1156,1154,0,1215,1216,1217,1156,1157,1158,42,1157,1156,1155,0,1218,1216,1215,1159,1157,1156,42,1157,1158,1156,0,1218,1219,1216,1159,1160,1157,42,1159,1158,1157,0,1220,1219,1218,1161,1160,1159,42,1160,1158,1159,0,1221,1219,1220,1162,1160,1161,42,1160,1161,1158,0,1221,1222,1219,1162,1163,1160,42,1160,1162,1161,0,1221,1223,1222,1162,1164,1163,42,1163,1162,1160,0,1224,1223,1221,1165,1164,1162,42,1163,1164,1162,0,1224,1225,1223,1165,1166,1164,42,1165,1164,1163,0,1226,1225,1224,1167,1166,1165,42,1166,1164,1165,0,1227,1225,1226,1168,1166,1167,42,1166,1167,1164,0,1227,1228,1225,1168,1169,1166,42,1166,1168,1167,0,1227,1229,1228,1168,1170,1169,42,1169,1168,1166,0,1230,1229,1227,1171,1170,1168,42,1169,1170,1168,0,1230,1231,1229,1171,1172,1170,42,1171,1170,1169,0,1232,1231,1230,1173,1172,1171,42,1171,1172,1170,0,1232,1233,1231,1173,1174,1172,42,1173,1172,1171,0,1234,1233,1232,1175,1174,1173,42,1174,1172,1173,0,1235,1233,1234,1176,1174,1175,42,1174,1175,1172,0,1235,1236,1233,1176,1177,1174,42,1176,1175,1174,0,1237,1236,1235,1178,1177,1176,42,1176,1177,1175,0,1237,1238,1236,1178,1179,1177,42,1178,1177,1176,0,1239,1238,1237,1180,1179,1178,42,1178,1179,1177,0,1239,1240,1238,1180,1181,1179,42,1180,1179,1178,0,1241,1240,1239,1182,1181,1180,42,1180,1181,1179,0,1241,1242,1240,1182,1183,1181,42,1182,1181,1180,0,1243,1242,1241,1184,1183,1182,42,1181,1182,1183,0,1242,1243,1244,1183,1184,1185,42,1183,1182,1184,0,1244,1243,1245,1185,1184,1186,42,1182,1185,1184,0,1243,1246,1245,1184,1187,1186,42,1186,1185,1182,0,1247,1246,1243,1188,1187,1184,42,1186,1187,1185,0,1247,1248,1246,1188,1189,1187,42,1186,1188,1187,0,1247,1249,1248,1188,1190,1189,42,1189,1188,1186,0,1250,1249,1247,1191,1190,1188,42,1189,1190,1188,0,1250,1251,1249,1191,1192,1190,42,1189,1191,1190,0,1252,1253,1254,1191,1193,1192,42,1192,1191,1189,0,1255,1253,1252,1194,1193,1191,42,1192,1193,1191,0,1255,1256,1253,1194,1195,1193,42,1194,1193,1192,0,1257,1256,1255,1196,1195,1194,42,1195,1193,1194,0,1258,1256,1257,1197,1195,1196,42,1195,1196,1193,0,1258,1259,1256,1197,1198,1195,42,1197,1196,1195,0,1260,1259,1258,1199,1198,1197,42,1197,1198,1196,0,1260,1261,1259,1199,1200,1198,42,1197,1199,1198,0,1260,1262,1261,1199,1201,1200,42,1197,1200,1199,0,1260,1263,1262,1199,1202,1201,42,1201,1200,1197,0,1264,1263,1260,1203,1202,1199,42,1202,1200,1201,0,1265,1263,1264,1204,1202,1203,42,1200,1202,1203,0,1263,1265,1266,1202,1204,1205,42,1202,1204,1203,0,1265,1267,1266,1204,1206,1205,42,1205,1204,1202,0,1268,1269,1270,1207,1206,1204,42,1205,1206,1204,0,1268,1271,1269,1207,1208,1206,42,1207,1206,1205,0,1272,1271,1268,1209,1208,1207,42,1207,1208,1206,0,1272,1273,1271,1209,1210,1208,42,1207,1209,1208,0,1272,1274,1273,1209,1211,1210,42,1210,1209,1207,0,1275,1274,1272,1212,1211,1209,42,1211,1209,1210,0,1276,1274,1275,1213,1211,1212,42,1211,1212,1209,0,1276,1277,1274,1213,1214,1211,42,1213,1212,1211,0,1278,1277,1276,1215,1214,1213,42,1214,1212,1213,0,1279,1277,1278,1216,1214,1215,42,1214,1215,1212,0,1279,1280,1277,1216,1217,1214,42,1214,1216,1215,0,1279,1281,1280,1216,1218,1217,42,1217,1216,1214,0,1282,1281,1279,1219,1218,1216,42,1218,1216,1217,0,1283,1284,1285,1220,1218,1219,42,1218,1219,1216,0,1283,1286,1284,1220,1221,1218,42,1220,1219,1218,0,1287,1286,1283,1222,1221,1220,42,1220,1221,1219,0,1287,1288,1286,1222,1223,1221,42,1220,1222,1221,0,1287,1289,1288,1222,1224,1223,42,1220,1223,1222,0,1287,1290,1289,1222,1225,1224,42,1224,1223,1220,0,1291,1290,1287,1226,1225,1222,42,1224,1225,1223,0,1291,1292,1290,1226,1227,1225,42,1224,1226,1225,0,1291,1293,1292,1226,1228,1227,42,1227,1226,1224,0,1294,1293,1291,1229,1228,1226,42,1227,1228,1226,0,1294,1295,1293,1229,1230,1228,42,1229,1228,1227,0,1296,1295,1294,1231,1230,1229,42,1229,1230,1228,0,1296,1297,1295,1231,1232,1230,42,1229,1231,1230,0,1296,1298,1297,1231,1233,1232,42,1229,1232,1231,0,1296,1299,1298,1231,1234,1233,42,1233,1232,1229,0,1300,1299,1296,1235,1234,1231,42,1234,1232,1233,0,1301,1299,1300,1236,1234,1235,42,1234,1235,1232,0,1301,1302,1299,1236,1237,1234,42,1234,1236,1235,0,1301,1303,1302,1236,1238,1237,42,1234,1237,1236,0,1301,1304,1303,1236,1239,1238,42,1237,1234,1238,0,1304,1301,1305,1239,1236,1240,42,1239,1238,1234,0,1306,1305,1301,1241,1240,1236,42,1238,1239,1240,0,1305,1306,1307,1240,1241,1242,42,1239,1241,1240,0,1306,1308,1307,1241,1243,1242,42,1239,1234,1241,0,1306,1301,1308,1241,1236,1243,42,1241,1234,1233,0,1308,1301,1300,1243,1236,1235,42,1241,1233,1229,0,1308,1300,1296,1243,1235,1231,42,1241,1229,1242,0,1308,1296,1309,1243,1231,1244,42,1242,1229,1227,0,1309,1296,1294,1244,1231,1229,42,1242,1227,1243,0,1309,1294,1310,1244,1229,1245,42,1243,1227,1244,0,1310,1294,1311,1245,1229,1246,42,1227,1245,1244,0,1294,1312,1311,1229,1247,1246,42,1227,1224,1245,0,1294,1291,1312,1229,1226,1247,42,1245,1224,1220,0,1312,1291,1287,1247,1226,1222,42,1245,1220,1246,0,1312,1287,1313,1247,1222,1248,42,1220,1218,1246,0,1287,1283,1313,1222,1220,1248,42,1246,1218,1217,0,1313,1283,1285,1248,1220,1219,42,1246,1217,1247,0,1313,1285,1314,1248,1219,1249,42,1247,1217,1214,0,1315,1282,1279,1249,1219,1216,42,1247,1214,1248,0,1315,1279,1316,1249,1216,1250,42,1248,1214,1249,0,1316,1279,1317,1250,1216,1251,42,1249,1214,1213,0,1317,1279,1278,1251,1216,1215,42,1249,1213,1211,0,1317,1278,1276,1251,1215,1213,42,1250,1249,1211,0,1318,1317,1276,1252,1251,1213,42,1250,1251,1249,0,1318,1319,1317,1252,1253,1251,42,1252,1251,1250,0,1320,1319,1318,1254,1253,1252,42,1253,1251,1252,0,1321,1319,1320,1255,1253,1254,42,1253,1254,1251,0,1321,1322,1319,1255,1256,1253,42,1253,1255,1254,0,1321,1323,1322,1255,1257,1256,42,1256,1255,1253,0,1324,1323,1321,1258,1257,1255,42,1256,1257,1255,0,1324,1325,1323,1258,1259,1257,42,1232,1257,1256,0,1299,1325,1324,1260,1260,1260,42,1235,1257,1232,0,1302,1325,1299,1237,1259,1234,42,1235,1236,1257,0,1302,1303,1325,1237,1238,1259,42,1257,1236,1258,0,1325,1303,1326,1259,1238,1261,42,1236,1259,1258,0,1303,1327,1326,1238,1262,1261,42,1236,1260,1259,0,1303,1328,1327,1238,1263,1262,42,1236,1261,1260,0,1303,1329,1328,1238,1264,1263,42,1237,1261,1236,0,1304,1329,1303,1239,1264,1238,42,1261,1237,1238,0,1329,1304,1305,1264,1239,1240,42,1261,1238,1262,0,1329,1305,1330,1264,1240,1265,42,1262,1238,1263,0,1330,1305,1331,1265,1240,1266,42,1238,1240,1263,0,1305,1307,1331,1240,1242,1266,42,1240,1264,1263,0,1307,1332,1331,1242,1267,1266,42,1264,1240,1265,0,1332,1307,1333,1267,1242,1268,42,1240,1266,1265,0,1307,1334,1333,1242,1269,1268,42,1240,1267,1266,0,1307,1335,1334,1242,1270,1269,42,1240,1241,1267,0,1307,1308,1335,1242,1243,1270,42,1241,1243,1267,0,1308,1310,1335,1243,1245,1270,42,1241,1242,1243,0,1308,1309,1310,1243,1244,1245,42,1267,1243,1268,0,1335,1310,1336,1270,1245,1271,42,1268,1243,1269,0,1336,1310,1337,1271,1245,1272,42,1243,1244,1269,0,1310,1311,1337,1245,1246,1272,42,1244,1245,1269,0,1311,1312,1337,1246,1247,1272,42,1245,1246,1269,0,1312,1313,1337,1247,1248,1272,42,1269,1246,1247,0,1337,1313,1314,1272,1248,1249,42,1269,1247,1270,0,1337,1314,1338,1272,1249,1273,42,1270,1247,1248,0,1339,1315,1316,1273,1249,1250,42,1270,1248,1271,0,1339,1316,1340,1273,1250,1274,42,1271,1248,1251,0,1340,1316,1319,1274,1250,1253,42,1251,1248,1249,0,1319,1316,1317,1253,1250,1251,42,1272,1271,1251,0,1341,1340,1319,1275,1274,1253,42,1272,1270,1271,0,1341,1339,1340,1275,1273,1274,42,1273,1270,1272,0,1342,1339,1341,1276,1273,1275,42,1273,1269,1270,0,1343,1337,1338,1276,1272,1273,42,1268,1269,1273,0,1336,1337,1343,1271,1272,1276,42,1268,1273,1274,0,1336,1343,1344,1271,1276,1277,42,1274,1273,1272,0,1345,1342,1341,1277,1276,1275,42,1274,1272,1275,0,1345,1341,1346,1277,1275,1278,42,1255,1275,1272,0,1323,1346,1341,1257,1278,1275,42,1275,1255,1276,0,1346,1323,1347,1278,1257,1279,42,1255,1277,1276,0,1323,1348,1347,1257,1280,1279,42,1255,1257,1277,0,1323,1325,1348,1257,1259,1280,42,1278,1277,1257,0,1349,1348,1325,1281,1280,1259,42,1277,1278,1276,0,1348,1349,1347,1280,1281,1279,42,1278,1279,1276,0,1349,1350,1347,1281,1282,1279,42,1278,1280,1279,0,1349,1351,1350,1281,1283,1282,42,1281,1280,1278,0,1352,1351,1349,1284,1283,1281,42,1282,1280,1281,0,1353,1351,1352,1285,1283,1284,42,1282,1283,1280,0,1353,1354,1351,1285,1286,1283,42,1280,1283,1284,0,1351,1354,1355,1283,1286,1287,42,1285,1280,1284,0,1356,1351,1355,1288,1283,1287,42,1286,1280,1285,0,1357,1351,1356,1289,1283,1288,42,1286,1279,1280,0,1357,1350,1351,1289,1282,1283,42,1276,1279,1286,0,1347,1350,1357,1279,1282,1289,42,1287,1276,1286,0,1358,1347,1357,1290,1279,1289,42,1275,1276,1287,0,1346,1347,1358,1278,1279,1290,42,1274,1275,1287,0,1345,1346,1358,1277,1278,1290,42,1265,1274,1287,0,1333,1344,1359,1268,1277,1290,42,1265,1266,1274,0,1333,1334,1344,1268,1269,1277,42,1266,1268,1274,0,1334,1336,1344,1269,1271,1277,42,1266,1267,1268,0,1334,1335,1336,1269,1270,1271,42,1265,1287,1264,0,1333,1359,1332,1268,1290,1267,42,1287,1286,1264,0,1359,1360,1332,1290,1289,1267,42,1264,1286,1288,0,1332,1360,1361,1267,1289,1291,42,1286,1285,1288,0,1360,1362,1361,1289,1288,1291,42,1288,1285,1284,0,1361,1362,1363,1291,1288,1287,42,1288,1284,1289,0,1361,1363,1364,1291,1287,1292,42,1288,1289,1290,0,1361,1364,1365,1291,1292,1293,42,1291,1288,1290,0,1366,1361,1365,1294,1291,1293,42,1263,1288,1291,0,1331,1361,1366,1266,1291,1294,42,1263,1264,1288,0,1331,1332,1361,1266,1267,1291,42,1262,1263,1291,0,1330,1331,1366,1265,1266,1294,42,1292,1262,1291,0,1367,1330,1366,1295,1265,1294,42,1261,1262,1292,0,1329,1330,1367,1264,1265,1295,42,1293,1261,1292,0,1368,1329,1367,1296,1264,1295,42,1261,1293,1260,0,1329,1368,1328,1264,1296,1263,42,1260,1293,1294,0,1328,1368,1369,1263,1296,1297,42,1260,1294,1259,0,1328,1369,1327,1263,1297,1262,42,1259,1294,1295,0,1327,1369,1370,1262,1297,1298,42,1295,1281,1259,0,1370,1352,1327,1298,1284,1262,42,1295,1282,1281,0,1370,1353,1352,1298,1285,1284,42,1259,1281,1278,0,1327,1352,1349,1262,1284,1281,42,1259,1278,1258,0,1327,1349,1326,1262,1281,1261,42,1258,1278,1257,0,1326,1349,1325,1261,1281,1259,42,1291,1290,1292,0,1366,1365,1367,1294,1293,1295,42,1255,1272,1254,0,1323,1341,1322,1257,1275,1256,42,1272,1251,1254,0,1341,1319,1322,1275,1253,1256,42,1232,1256,1253,0,1299,1324,1321,1234,1258,1255,42,1253,1231,1232,0,1321,1298,1299,1255,1233,1234,42,1231,1253,1230,0,1298,1321,1297,1233,1255,1232,42,1230,1253,1252,0,1297,1321,1320,1232,1255,1254,42,1252,1250,1230,0,1320,1318,1297,1254,1252,1232,42,1230,1250,1296,0,1297,1318,1371,1232,1252,1299,42,1296,1250,1211,0,1371,1318,1276,1299,1252,1213,42,1296,1211,1297,0,1371,1276,1372,1299,1213,1300,42,1297,1211,1210,0,1372,1276,1275,1300,1213,1212,42,1297,1210,1225,0,1372,1275,1292,1300,1212,1227,42,1225,1210,1298,0,1292,1275,1373,1227,1212,1301,42,1210,1299,1298,0,1275,1374,1373,1212,1302,1301,42,1210,1207,1299,0,1275,1272,1374,1212,1209,1302,42,1299,1207,1205,0,1374,1272,1268,1302,1209,1207,42,1299,1205,1300,0,1374,1268,1375,1302,1207,1303,42,1205,1202,1300,0,1268,1270,1375,1207,1204,1303,42,1202,1301,1300,0,1270,1376,1375,1204,1304,1303,42,1301,1202,1201,0,1377,1265,1264,1304,1204,1203,42,1301,1201,1302,0,1377,1264,1378,1304,1203,1305,42,1302,1201,1303,0,1378,1264,1379,1305,1203,1306,42,1201,1197,1303,0,1264,1260,1379,1203,1199,1306,42,1303,1197,1195,0,1379,1260,1258,1306,1199,1197,42,1303,1195,1304,0,1379,1258,1380,1306,1197,1307,42,1304,1195,1305,0,1380,1258,1381,1307,1197,1308,42,1195,1306,1305,0,1258,1382,1381,1197,1309,1308,42,1195,1194,1306,0,1258,1257,1382,1197,1196,1309,42,1194,1192,1306,0,1257,1255,1382,1196,1194,1309,42,1306,1192,1189,0,1382,1255,1252,1309,1194,1191,42,1307,1306,1189,0,1383,1382,1252,1310,1309,1191,42,1305,1306,1307,0,1381,1382,1383,1308,1309,1310,42,1305,1307,1308,0,1381,1383,1384,1308,1310,1311,42,1308,1307,1309,0,1384,1383,1385,1311,1310,1312,42,1307,1189,1309,0,1383,1252,1385,1310,1191,1312,42,1309,1189,1310,0,1385,1252,1386,1312,1191,1313,42,1189,1311,1310,0,1252,1387,1386,1191,1314,1313,42,1189,1186,1311,0,1252,1388,1387,1191,1188,1314,42,1186,1312,1311,0,1388,1389,1387,1188,1315,1314,42,1313,1312,1186,0,1390,1391,1247,1316,1315,1188,42,1313,1314,1312,0,1390,1392,1391,1316,1317,1315,42,1315,1314,1313,0,1393,1392,1390,1318,1317,1316,42,1315,1316,1314,0,1393,1394,1392,1318,1319,1317,42,1317,1316,1315,0,1395,1394,1393,1320,1319,1318,42,1317,1318,1316,0,1395,1396,1394,1320,1321,1319,42,1317,1309,1318,0,1397,1385,1398,1320,1312,1321,42,1308,1309,1317,0,1384,1385,1397,1311,1312,1320,42,1308,1317,1319,0,1384,1397,1399,1311,1320,1322,42,1319,1317,1320,0,1399,1397,1400,1322,1320,1323,42,1317,1321,1320,0,1397,1401,1400,1320,1324,1323,42,1317,1315,1321,0,1397,1402,1401,1320,1318,1324,42,1315,1322,1321,0,1402,1403,1401,1318,1325,1324,42,1323,1322,1315,0,1404,1405,1393,1326,1325,1318,42,1323,1324,1322,0,1404,1406,1405,1326,1327,1325,42,1325,1324,1323,0,1407,1406,1404,1328,1327,1326,42,1325,1326,1324,0,1407,1408,1406,1328,1329,1327,42,1327,1326,1325,0,1409,1408,1407,1330,1329,1328,42,1327,1328,1326,0,1409,1410,1408,1330,1331,1329,42,1327,1319,1328,0,1411,1399,1412,1330,1322,1331,42,1329,1319,1327,0,1413,1399,1411,1332,1322,1330,42,1308,1319,1329,0,1384,1399,1413,1311,1322,1332,42,1330,1308,1329,0,1414,1384,1413,1333,1311,1332,42,1331,1308,1330,0,1415,1384,1414,1334,1311,1333,42,1331,1304,1308,0,1415,1380,1384,1334,1307,1311,42,1332,1304,1331,0,1416,1380,1415,1335,1307,1334,42,1332,1303,1304,0,1416,1379,1380,1335,1306,1307,42,1302,1303,1332,0,1378,1379,1416,1305,1306,1335,42,1333,1302,1332,0,1417,1378,1416,1336,1305,1335,42,1301,1302,1333,0,1377,1378,1417,1304,1305,1336,42,1334,1301,1333,0,1418,1377,1417,1337,1304,1336,42,1335,1301,1334,0,1419,1376,1420,1338,1304,1337,42,1335,1300,1301,0,1419,1375,1376,1338,1303,1304,42,1336,1300,1335,0,1421,1375,1419,1339,1303,1338,42,1336,1299,1300,0,1421,1374,1375,1339,1302,1303,42,1298,1299,1336,0,1373,1374,1421,1301,1302,1339,42,1222,1298,1336,0,1289,1373,1421,1224,1301,1339,42,1225,1298,1222,0,1292,1373,1289,1227,1301,1224,42,1223,1225,1222,0,1290,1292,1289,1225,1227,1224,42,1222,1336,1337,0,1289,1421,1422,1224,1339,1340,42,1337,1336,1335,0,1422,1421,1419,1340,1339,1338,42,1337,1335,1338,0,1422,1419,1423,1340,1338,1341,42,1335,1334,1338,0,1419,1420,1423,1338,1337,1341,42,1338,1334,1339,0,1423,1420,1424,1341,1337,1342,42,1339,1334,1340,0,1425,1418,1426,1342,1337,1343,42,1334,1333,1340,0,1418,1417,1426,1337,1336,1343,42,1340,1333,1341,0,1426,1417,1427,1343,1336,1344,42,1333,1342,1341,0,1417,1428,1427,1336,1345,1344,42,1333,1332,1342,0,1417,1416,1428,1336,1335,1345,42,1342,1332,1331,0,1428,1416,1415,1345,1335,1334,42,1342,1331,1343,0,1428,1415,1429,1345,1334,1346,42,1343,1331,1330,0,1429,1415,1414,1346,1334,1333,42,1343,1330,1344,0,1429,1414,1430,1346,1333,1347,42,1344,1330,1329,0,1430,1414,1413,1347,1333,1332,42,1344,1329,1327,0,1430,1413,1411,1347,1332,1330,42,1327,1345,1344,0,1409,1431,1432,1330,1348,1347,42,1327,1325,1345,0,1409,1407,1431,1330,1328,1348,42,1325,1323,1345,0,1407,1404,1431,1328,1326,1348,42,1345,1323,1346,0,1431,1404,1433,1348,1326,1349,42,1323,1315,1346,0,1404,1393,1433,1326,1318,1349,42,1315,1313,1346,0,1393,1390,1433,1318,1316,1349,42,1346,1313,1182,0,1433,1390,1243,1349,1316,1184,42,1182,1313,1186,0,1243,1390,1247,1184,1316,1188,42,1180,1346,1182,0,1241,1433,1243,1182,1349,1184,42,1347,1346,1180,0,1434,1433,1241,1350,1349,1182,42,1345,1346,1347,0,1431,1433,1434,1348,1349,1350,42,1345,1347,1348,0,1431,1434,1435,1348,1350,1351,42,1348,1347,1349,0,1435,1434,1436,1351,1350,1352,42,1349,1347,1350,0,1436,1434,1437,1352,1350,1353,42,1350,1347,1178,0,1437,1434,1239,1353,1350,1180,42,1178,1347,1180,0,1239,1434,1241,1180,1350,1182,42,1176,1350,1178,0,1237,1437,1239,1178,1353,1180,42,1351,1350,1176,0,1438,1437,1237,1354,1353,1178,42,1352,1350,1351,0,1439,1437,1438,1355,1353,1354,42,1349,1350,1352,0,1436,1437,1439,1352,1353,1355,42,1340,1349,1352,0,1440,1436,1439,1343,1352,1355,42,1340,1341,1349,0,1440,1441,1436,1343,1344,1352,42,1341,1348,1349,0,1441,1435,1436,1344,1351,1352,42,1343,1348,1341,0,1442,1435,1441,1346,1351,1344,42,1343,1345,1348,0,1442,1431,1435,1346,1348,1351,42,1344,1345,1343,0,1432,1431,1442,1347,1348,1346,42,1341,1342,1343,0,1427,1428,1429,1344,1345,1346,42,1339,1340,1352,0,1443,1440,1439,1342,1343,1355,42,1339,1352,1353,0,1443,1439,1444,1342,1355,1356,42,1354,1353,1352,0,1445,1444,1439,1357,1356,1355,42,1353,1354,1355,0,1446,1447,1448,1356,1357,1358,42,1355,1354,1356,0,1449,1450,1451,1358,1357,1359,42,1356,1354,1357,0,1451,1450,1452,1359,1357,1360,42,1354,1351,1357,0,1445,1438,1453,1357,1354,1360,42,1354,1352,1351,0,1445,1439,1438,1357,1355,1354,42,1357,1351,1176,0,1453,1438,1237,1360,1354,1178,42,1357,1176,1358,0,1453,1237,1454,1360,1178,1361,42,1358,1176,1359,0,1454,1237,1455,1361,1178,1362,42,1359,1176,1174,0,1455,1237,1235,1362,1178,1176,42,1359,1174,1360,0,1455,1235,1456,1362,1176,1363,42,1360,1174,1173,0,1456,1235,1234,1363,1176,1175,42,1203,1360,1173,0,1266,1456,1234,1205,1363,1175,42,1203,1204,1360,0,1266,1267,1456,1205,1206,1363,42,1358,1360,1204,0,1454,1456,1267,1361,1363,1206,42,1358,1359,1360,0,1454,1455,1456,1361,1362,1363,42,1358,1204,1206,0,1457,1269,1271,1361,1206,1208,42,1361,1358,1206,0,1458,1457,1271,1364,1361,1208,42,1357,1358,1361,0,1452,1457,1458,1360,1361,1364,42,1356,1357,1361,0,1451,1452,1458,1359,1360,1364,42,1362,1356,1361,0,1459,1451,1458,1365,1359,1364,42,1363,1356,1362,0,1460,1451,1459,1366,1359,1365,42,1363,1355,1356,0,1460,1449,1451,1366,1358,1359,42,1364,1355,1363,0,1461,1449,1460,1367,1358,1366,42,1364,1365,1355,0,1462,1463,1448,1367,1368,1358,42,1364,1366,1365,0,1462,1464,1463,1367,1369,1368,42,1219,1366,1364,0,1286,1464,1462,1221,1369,1367,42,1221,1366,1219,0,1288,1464,1286,1223,1369,1221,42,1221,1337,1366,0,1288,1422,1464,1223,1340,1369,42,1221,1222,1337,0,1288,1289,1422,1223,1224,1340,42,1337,1338,1366,0,1422,1423,1464,1340,1341,1369,42,1338,1365,1366,0,1423,1463,1464,1341,1368,1369,42,1338,1339,1365,0,1423,1424,1463,1341,1342,1368,42,1339,1353,1365,0,1424,1446,1463,1342,1356,1368,42,1365,1353,1355,0,1463,1446,1448,1368,1356,1358,42,1219,1364,1216,0,1286,1462,1284,1221,1367,1218,42,1216,1364,1363,0,1281,1461,1460,1218,1367,1366,42,1216,1363,1215,0,1281,1460,1280,1218,1366,1217,42,1215,1363,1362,0,1280,1460,1459,1217,1366,1365,42,1215,1362,1212,0,1280,1459,1277,1217,1365,1214,42,1212,1362,1208,0,1277,1459,1273,1214,1365,1210,42,1362,1361,1208,0,1459,1458,1273,1365,1364,1210,42,1208,1361,1206,0,1273,1458,1271,1210,1364,1208,42,1212,1208,1209,0,1277,1273,1274,1214,1210,1211,42,1203,1173,1367,0,1266,1234,1465,1205,1175,1370,42,1367,1173,1171,0,1465,1234,1232,1370,1175,1173,42,1367,1171,1368,0,1465,1232,1466,1370,1173,1371,42,1368,1171,1169,0,1466,1232,1230,1371,1173,1171,42,1368,1169,1369,0,1466,1230,1467,1371,1171,1372,42,1369,1169,1166,0,1467,1230,1227,1372,1171,1168,42,1369,1166,1370,0,1467,1227,1468,1372,1168,1373,42,1370,1166,1165,0,1468,1227,1226,1373,1168,1167,42,1371,1370,1165,0,1469,1468,1226,1374,1373,1167,42,1372,1370,1371,0,1470,1468,1469,1375,1373,1374,42,1372,1369,1370,0,1470,1467,1468,1375,1372,1373,42,1368,1369,1372,0,1466,1467,1470,1371,1372,1375,42,1373,1368,1372,0,1471,1466,1470,1376,1371,1375,42,1367,1368,1373,0,1465,1466,1471,1370,1371,1376,42,1374,1367,1373,0,1472,1465,1471,1377,1370,1376,42,1203,1367,1374,0,1266,1465,1472,1205,1370,1377,42,1203,1374,1199,0,1266,1472,1262,1205,1377,1201,42,1199,1374,1375,0,1262,1472,1473,1201,1377,1378,42,1374,1376,1375,0,1472,1474,1473,1377,1379,1378,42,1374,1373,1376,0,1472,1471,1474,1377,1376,1379,42,1376,1373,1372,0,1474,1471,1470,1379,1376,1375,42,1372,1377,1376,0,1470,1475,1474,1375,1380,1379,42,1371,1377,1372,0,1469,1475,1470,1374,1380,1375,42,1377,1371,1378,0,1475,1469,1476,1380,1374,1381,42,1378,1371,1379,0,1476,1469,1477,1381,1374,1382,42,1371,1380,1379,0,1469,1478,1477,1374,1383,1382,42,1371,1165,1380,0,1469,1226,1478,1374,1167,1383,42,1380,1165,1163,0,1478,1226,1224,1383,1167,1165,42,1380,1163,1381,0,1478,1224,1479,1383,1165,1384,42,1381,1163,1160,0,1479,1224,1221,1384,1165,1162,42,1381,1160,1382,0,1479,1221,1480,1384,1162,1385,42,1382,1160,1383,0,1480,1221,1481,1385,1162,1386,42,1383,1160,1159,0,1481,1221,1220,1386,1162,1161,42,1383,1159,1157,0,1481,1220,1218,1386,1161,1159,42,1383,1157,1384,0,1481,1218,1482,1386,1159,1387,42,1384,1157,1155,0,1482,1218,1215,1387,1159,1156,42,1384,1155,1385,0,1482,1215,1483,1387,1156,1388,42,1386,1152,1387,0,1484,1213,1485,1389,1154,1390,42,1152,1148,1387,0,1213,1209,1485,1154,1150,1390,42,1387,1148,1388,0,1485,1209,1486,1390,1150,1391,42,1388,1148,1150,0,1486,1209,1211,1391,1150,1152,42,1389,1149,1390,0,1487,1210,1488,1392,1151,1393,42,1149,1392,1391,0,1210,1489,1490,1151,1394,1395,42,1151,1392,1149,0,1212,1489,1210,1153,1394,1151,42,1393,1392,1151,0,1491,1489,1212,1396,1394,1153,42,1154,1156,1395,0,1217,1216,1492,1158,1157,1397,42,1156,1396,1395,0,1216,1493,1492,1157,1398,1397,42,1158,1396,1156,0,1219,1493,1216,1160,1398,1157,42,1158,1397,1396,0,1219,1494,1493,1160,1399,1398,42,1158,1398,1397,0,1219,1495,1494,1160,1400,1399,42,1161,1398,1158,0,1222,1495,1219,1163,1400,1160,42,1399,1398,1161,0,1496,1495,1222,1401,1400,1163,42,1399,1400,1398,0,1496,1497,1495,1401,1402,1400,42,1401,1400,1399,0,1498,1497,1496,1403,1402,1401,42,1402,1400,1401,0,1499,1497,1498,1404,1402,1403,42,1402,1403,1400,0,1499,1500,1497,1404,1405,1402,42,1402,1404,1403,0,1499,1501,1500,1404,1406,1405,42,1405,1404,1402,0,1502,1501,1499,1407,1406,1404,42,1405,1406,1404,0,1502,1503,1501,1407,1408,1406,42,1407,1406,1405,0,1504,1503,1502,1409,1408,1407,42,1407,1408,1406,0,1504,1505,1503,1409,1410,1408,42,1408,1407,1409,0,1505,1504,1506,1410,1409,1411,42,1407,1410,1409,0,1504,1507,1506,1409,1412,1411,42,1407,1411,1410,0,1504,1508,1507,1409,1413,1412,42,1407,1405,1411,0,1504,1502,1508,1409,1407,1413,42,1405,1402,1411,0,1502,1499,1508,1407,1404,1413,42,1411,1402,1401,0,1508,1499,1498,1413,1404,1403,42,1412,1411,1401,0,1509,1508,1498,1414,1413,1403,42,1412,1410,1411,0,1509,1507,1508,1414,1412,1413,42,1412,1413,1410,0,1509,1510,1507,1414,1415,1412,42,1414,1413,1412,0,1511,1510,1509,1416,1415,1414,42,1167,1413,1414,0,1228,1510,1511,1169,1415,1416,42,1415,1413,1167,0,1512,1510,1228,1417,1415,1169,42,1416,1413,1415,0,1513,1510,1512,1418,1415,1417,42,1416,1410,1413,0,1513,1507,1510,1418,1412,1415,42,1416,1409,1410,0,1513,1506,1507,1418,1411,1412,42,1417,1409,1416,0,1514,1506,1513,1419,1411,1418,42,1417,1379,1409,0,1514,1515,1506,1419,1382,1411,42,1378,1379,1417,0,1516,1515,1514,1381,1382,1419,42,1378,1417,1418,0,1516,1514,1517,1381,1419,1420,42,1417,1419,1418,0,1514,1518,1517,1419,1421,1420,42,1420,1419,1417,0,1519,1518,1514,1422,1421,1419,42,1183,1419,1420,0,1244,1518,1519,1185,1421,1422,42,1183,1184,1419,0,1244,1245,1518,1185,1186,1421,42,1184,1421,1419,0,1245,1520,1518,1186,1423,1421,42,1184,1422,1421,0,1245,1521,1520,1186,1424,1423,42,1184,1185,1422,0,1245,1246,1521,1186,1187,1424,42,1185,1423,1422,0,1246,1522,1521,1187,1425,1424,42,1185,1187,1423,0,1246,1248,1522,1187,1189,1425,42,1187,1424,1423,0,1248,1523,1522,1189,1426,1425,42,1187,1425,1424,0,1248,1524,1523,1189,1427,1426,42,1187,1426,1425,0,1248,1525,1524,1189,1428,1427,42,1187,1188,1426,0,1248,1249,1525,1189,1190,1428,42,1188,1427,1426,0,1249,1526,1525,1190,1429,1428,42,1190,1427,1188,0,1251,1526,1249,1192,1429,1190,42,1190,1428,1427,0,1254,1527,1528,1192,1430,1429,42,1191,1428,1190,0,1253,1527,1254,1193,1430,1192,42,1191,1429,1428,0,1253,1529,1527,1193,1431,1430,42,1191,1193,1429,0,1253,1256,1529,1193,1195,1431,42,1193,1430,1429,0,1256,1530,1529,1195,1432,1431,42,1431,1430,1193,0,1531,1530,1256,1433,1432,1195,42,1431,1432,1430,0,1531,1532,1530,1433,1434,1432,42,1198,1432,1431,0,1261,1532,1531,1200,1434,1433,42,1198,1433,1432,0,1261,1533,1532,1200,1435,1434,42,1375,1433,1198,0,1473,1533,1261,1378,1435,1200,42,1376,1433,1375,0,1474,1533,1473,1379,1435,1378,42,1376,1377,1433,0,1474,1475,1533,1379,1380,1435,42,1377,1434,1433,0,1475,1534,1533,1380,1436,1435,42,1377,1418,1434,0,1475,1535,1534,1380,1420,1436,42,1378,1418,1377,0,1516,1517,1536,1381,1420,1380,42,1419,1434,1418,0,1518,1537,1517,1421,1436,1420,42,1419,1421,1434,0,1518,1520,1537,1421,1423,1436,42,1421,1435,1434,0,1520,1538,1537,1423,1437,1436,42,1421,1436,1435,0,1520,1539,1538,1423,1438,1437,42,1421,1422,1436,0,1520,1521,1539,1423,1424,1438,42,1437,1436,1422,0,1540,1539,1521,1439,1438,1424,42,1437,1438,1436,0,1540,1541,1539,1439,1440,1438,42,1437,1439,1438,0,1540,1542,1541,1439,1441,1440,42,1440,1439,1437,0,1543,1542,1540,1442,1441,1439,42,1440,1441,1439,0,1543,1544,1542,1442,1443,1441,42,1440,1442,1441,0,1545,1546,1547,1442,1444,1443,42,1443,1442,1440,0,1548,1546,1545,1445,1444,1442,42,1443,1444,1442,0,1548,1549,1546,1445,1446,1444,42,1443,1432,1444,0,1548,1532,1549,1445,1434,1446,42,1430,1432,1443,0,1530,1532,1548,1432,1434,1445,42,1430,1443,1429,0,1530,1548,1529,1432,1445,1431,42,1429,1443,1440,0,1529,1548,1545,1431,1445,1442,42,1429,1440,1437,0,1550,1543,1540,1431,1442,1439,42,1429,1437,1422,0,1550,1540,1521,1431,1439,1424,42,1429,1422,1445,0,1529,1551,1552,1431,1424,1447,42,1422,1423,1445,0,1551,1553,1552,1424,1425,1447,42,1445,1423,1446,0,1552,1553,1554,1447,1425,1448,42,1423,1424,1446,0,1553,1555,1554,1425,1426,1448,42,1446,1424,1447,0,1554,1555,1556,1448,1426,1449,42,1424,1448,1447,0,1555,1557,1556,1426,1450,1449,42,1425,1448,1424,0,1524,1558,1523,1427,1450,1426,42,1425,1449,1448,0,1524,1559,1558,1427,1451,1450,42,1425,1450,1449,0,1524,1560,1559,1427,1452,1451,42,1426,1450,1425,0,1525,1560,1524,1428,1452,1427,42,1451,1450,1426,0,1561,1560,1525,1453,1452,1428,42,1451,1452,1450,0,1561,1562,1560,1453,1454,1452,42,1453,1452,1451,0,1563,1564,1565,1455,1454,1453,42,1453,1454,1452,0,1563,1566,1564,1455,1456,1454,42,1455,1454,1453,0,1567,1566,1563,1457,1456,1455,42,1455,1456,1454,0,1567,1568,1566,1457,1458,1456,42,1455,1457,1456,0,1567,1569,1568,1457,1459,1458,42,1455,1458,1457,0,1567,1570,1569,1457,1460,1459,42,1455,1448,1458,0,1567,1557,1570,1457,1450,1460,42,1448,1455,1447,0,1557,1567,1556,1450,1457,1449,42,1447,1455,1453,0,1556,1567,1563,1449,1457,1455,42,1447,1453,1459,0,1556,1563,1571,1449,1455,1461,42,1459,1453,1451,0,1571,1563,1565,1461,1455,1453,42,1427,1459,1451,0,1528,1571,1565,1429,1461,1453,42,1428,1459,1427,0,1527,1571,1528,1430,1461,1429,42,1428,1446,1459,0,1527,1554,1571,1430,1448,1461,42,1445,1446,1428,0,1552,1554,1527,1447,1448,1430,42,1428,1429,1445,0,1527,1529,1552,1430,1431,1447,42,1459,1446,1447,0,1571,1554,1556,1461,1448,1449,42,1427,1451,1426,0,1526,1561,1525,1429,1453,1428,42,1448,1449,1458,0,1558,1559,1572,1450,1451,1460,42,1458,1449,1460,0,1572,1559,1573,1460,1451,1462,42,1449,1450,1460,0,1559,1560,1573,1451,1452,1462,42,1460,1450,1461,0,1573,1560,1574,1462,1452,1463,42,1452,1461,1450,0,1562,1574,1560,1454,1463,1452,42,1452,1462,1461,0,1562,1575,1574,1454,1464,1463,42,1452,1456,1462,0,1564,1568,1576,1454,1458,1464,42,1454,1456,1452,0,1566,1568,1564,1456,1458,1454,42,1462,1456,1463,0,1576,1568,1577,1464,1458,1465,42,1456,1464,1463,0,1568,1578,1577,1458,1466,1465,42,1465,1464,1456,0,1579,1578,1568,1467,1466,1458,42,1465,1466,1464,0,1579,1580,1578,1467,1468,1466,42,1467,1466,1465,0,1581,1580,1579,1469,1468,1467,42,1467,1468,1466,0,1581,1582,1580,1469,1470,1468,42,1467,1469,1468,0,1583,1584,1585,1469,1471,1470,42,1470,1469,1467,0,1586,1584,1583,1472,1471,1469,42,1471,1469,1470,0,1587,1584,1586,1473,1471,1472,42,1469,1471,1472,0,1584,1587,1588,1471,1473,1474,42,1472,1471,1473,0,1588,1587,1589,1474,1473,1475,42,1463,1473,1471,0,1590,1589,1587,1465,1475,1473,42,1464,1473,1463,0,1578,1591,1577,1466,1475,1465,42,1464,1474,1473,0,1578,1592,1591,1466,1476,1475,42,1466,1474,1464,0,1580,1592,1578,1468,1476,1466,42,1466,1475,1474,0,1580,1593,1592,1468,1477,1476,42,1466,1476,1475,0,1580,1594,1593,1468,1478,1477,42,1466,1468,1476,0,1580,1582,1594,1468,1470,1478,42,1468,1477,1476,0,1585,1595,1596,1470,1479,1478,42,1468,1478,1477,0,1585,1597,1595,1470,1480,1479,42,1468,1469,1478,0,1585,1584,1597,1470,1471,1480,42,1469,1472,1478,0,1584,1588,1597,1471,1474,1480,42,1478,1472,1477,0,1597,1588,1595,1480,1474,1479,42,1477,1472,1479,0,1595,1588,1598,1479,1474,1481,42,1473,1479,1472,0,1589,1598,1588,1475,1481,1474,42,1473,1480,1479,0,1589,1599,1598,1475,1482,1481,42,1481,1480,1473,0,1600,1601,1591,1483,1482,1475,42,1481,1482,1480,0,1600,1602,1601,1483,1484,1482,42,1475,1482,1481,0,1593,1602,1600,1477,1484,1483,42,1475,1483,1482,0,1593,1603,1602,1477,1485,1484,42,1475,1484,1483,0,1593,1604,1603,1477,1486,1485,42,1475,1485,1484,0,1593,1605,1604,1477,1487,1486,42,1475,1476,1485,0,1593,1594,1605,1477,1478,1487,42,1476,1486,1485,0,1596,1606,1607,1478,1488,1487,42,1476,1477,1486,0,1596,1595,1606,1478,1479,1488,42,1477,1479,1486,0,1595,1598,1606,1479,1481,1488,42,1479,1487,1486,0,1598,1608,1606,1481,1489,1488,42,1480,1487,1479,0,1599,1608,1598,1482,1489,1481,42,1480,1488,1487,0,1599,1609,1608,1482,1490,1489,42,1480,1489,1488,0,1601,1610,1611,1482,1491,1490,42,1482,1489,1480,0,1602,1610,1601,1484,1491,1482,42,1482,1490,1489,0,1602,1612,1610,1484,1492,1491,42,1483,1490,1482,0,1603,1612,1602,1485,1492,1484,42,1483,1491,1490,0,1603,1613,1612,1485,1493,1492,42,1483,1492,1491,0,1603,1614,1613,1485,1494,1493,42,1483,1484,1492,0,1603,1604,1614,1485,1486,1494,42,1493,1492,1484,0,1615,1614,1604,1495,1494,1486,42,1493,1494,1492,0,1615,1616,1614,1495,1496,1494,42,1493,1496,1495,0,1615,1617,1618,1495,1497,1498,42,1497,1496,1493,0,1619,1620,1621,1499,1497,1495,42,1498,1496,1497,0,1622,1620,1619,1500,1497,1499,42,1498,1499,1496,0,1622,1623,1620,1500,1501,1497,42,1498,1500,1499,0,1622,1624,1623,1500,1502,1501,42,1501,1500,1498,0,1625,1624,1622,1503,1502,1500,42,1501,1502,1500,0,1625,1626,1624,1503,1504,1502,42,1488,1502,1501,0,1609,1626,1625,1490,1504,1503,42,1488,1503,1502,0,1611,1627,1628,1490,1505,1504,42,1489,1503,1488,0,1610,1627,1611,1491,1505,1490,42,1507,1508,1506,0,1629,1630,1631,1506,1507,1508,42,1507,1509,1508,0,1629,1632,1630,1506,1509,1507,42,1507,1510,1509,0,1629,1633,1632,1506,1510,1509,42,1511,1510,1507,0,1634,1633,1629,1511,1510,1506,42,1495,1513,1510,0,1618,1635,1633,1498,1512,1510,42,1514,1513,1495,0,1636,1635,1618,1513,1512,1498,42,1515,1514,1516,0,1637,1636,1638,1514,1513,1515,42,1519,1516,1518,0,1639,1638,1640,1516,1515,1517,42,1521,1518,1522,0,1641,1640,1642,1518,1517,1519,42,1522,1518,1500,0,1642,1640,1643,1519,1517,1502,42,1496,1514,1495,0,1617,1636,1618,1497,1513,1498,42,1502,1522,1500,0,1628,1642,1643,1504,1519,1502,42,1503,1525,1502,0,1627,1644,1628,1505,1520,1504,42,1505,1508,1522,0,1645,1630,1642,1521,1507,1519,42,1506,1508,1505,0,1631,1630,1645,1508,1507,1521,42,1509,1521,1508,0,1632,1641,1630,1509,1518,1507,42,1509,1526,1521,0,1632,1646,1641,1509,1522,1518,42,1509,1513,1526,0,1632,1635,1646,1509,1512,1522,42,1510,1513,1509,0,1633,1635,1632,1510,1512,1509,42,1513,1515,1520,0,1635,1637,1647,1512,1514,1523,42,1490,1504,1489,0,1612,1648,1610,1492,1524,1491,42,1488,1501,1487,0,1609,1625,1608,1490,1503,1489,42,1487,1501,1498,0,1608,1625,1622,1489,1503,1500,42,1486,1487,1498,0,1606,1608,1622,1488,1489,1500,42,1486,1498,1485,0,1606,1622,1607,1488,1500,1487,42,1485,1498,1497,0,1607,1622,1619,1487,1500,1499,42,1485,1497,1484,0,1605,1649,1604,1487,1499,1486,42,1497,1493,1484,0,1649,1615,1604,1499,1495,1486,42,1475,1481,1474,0,1593,1600,1592,1477,1483,1476,42,1474,1481,1473,0,1592,1600,1591,1476,1483,1475,42,1463,1471,1527,0,1590,1587,1650,1465,1473,1525,42,1470,1527,1471,0,1586,1650,1587,1472,1525,1473,42,1460,1527,1470,0,1573,1650,1586,1462,1525,1472,42,1460,1461,1527,0,1573,1574,1650,1462,1463,1525,42,1461,1462,1527,0,1574,1575,1650,1463,1464,1525,42,1527,1462,1463,0,1650,1575,1590,1525,1464,1465,42,1460,1470,1528,0,1573,1586,1651,1462,1472,1526,42,1470,1467,1528,0,1586,1583,1651,1472,1469,1526,42,1528,1467,1465,0,1652,1581,1579,1526,1469,1467,42,1457,1528,1465,0,1569,1652,1579,1459,1526,1467,42,1458,1528,1457,0,1570,1652,1569,1460,1526,1459,42,1458,1460,1528,0,1572,1573,1651,1460,1462,1526,42,1457,1465,1456,0,1569,1579,1568,1459,1467,1458,42,1432,1434,1444,0,1532,1534,1549,1434,1436,1446,42,1432,1433,1434,0,1532,1533,1534,1434,1435,1436,42,1444,1434,1529,0,1549,1534,1653,1446,1436,1527,42,1529,1434,1435,0,1653,1534,1654,1527,1436,1437,42,1529,1435,1530,0,1653,1654,1655,1527,1437,1528,42,1435,1438,1530,0,1538,1541,1656,1437,1440,1528,42,1436,1438,1435,0,1539,1541,1538,1438,1440,1437,42,1438,1531,1530,0,1541,1657,1656,1440,1529,1528,42,1439,1531,1438,0,1542,1657,1541,1441,1529,1440,42,1439,1532,1531,0,1542,1658,1657,1441,1530,1529,42,1533,1532,1439,0,1659,1658,1542,1531,1530,1441,42,1532,1533,1534,0,1658,1659,1660,1530,1531,1532,42,1533,1535,1534,0,1659,1661,1660,1531,1533,1532,42,1536,1535,1533,0,1662,1663,1664,1534,1533,1531,42,1536,1537,1535,0,1662,1665,1663,1534,1535,1533,42,1538,1537,1536,0,1666,1665,1662,1536,1535,1534,42,1538,1539,1537,0,1666,1667,1665,1536,1537,1535,42,1538,1540,1539,0,1666,1668,1667,1536,1538,1537,42,1538,1541,1540,0,1666,1669,1668,1536,1539,1538,42,1541,1538,1542,0,1669,1666,1670,1539,1536,1540,42,1542,1538,1536,0,1670,1666,1662,1540,1536,1534,42,1536,1543,1542,0,1662,1671,1670,1534,1541,1540,42,1544,1543,1536,0,1672,1671,1662,1542,1541,1534,42,1442,1543,1544,0,1546,1671,1672,1444,1541,1542,42,1442,1529,1543,0,1546,1653,1671,1444,1527,1541,42,1442,1444,1529,0,1546,1549,1653,1444,1446,1527,42,1529,1530,1543,0,1653,1655,1671,1527,1528,1541,42,1543,1530,1542,0,1671,1655,1670,1541,1528,1540,42,1530,1545,1542,0,1655,1673,1670,1528,1543,1540,42,1530,1531,1545,0,1656,1657,1674,1528,1529,1543,42,1545,1531,1546,0,1674,1657,1675,1543,1529,1544,42,1531,1532,1546,0,1657,1658,1675,1529,1530,1544,42,1532,1534,1546,0,1658,1660,1675,1530,1532,1544,42,1546,1534,1547,0,1675,1660,1676,1544,1532,1545,42,1534,1548,1547,0,1660,1677,1676,1532,1546,1545,42,1535,1548,1534,0,1661,1677,1660,1533,1546,1532,42,1535,1549,1548,0,1661,1678,1677,1533,1547,1546,42,1535,1550,1549,0,1663,1679,1680,1533,1548,1547,42,1537,1550,1535,0,1665,1679,1663,1535,1548,1533,42,1537,1539,1550,0,1665,1667,1679,1535,1537,1548,42,1539,1551,1550,0,1667,1681,1679,1537,1549,1548,42,1539,1552,1551,0,1667,1682,1681,1537,1550,1549,42,1539,1540,1552,0,1667,1668,1682,1537,1538,1550,42,1540,1553,1552,0,1668,1683,1682,1538,1551,1550,42,1540,1554,1553,0,1684,1685,1686,1538,1552,1551,42,1547,1554,1540,0,1676,1685,1684,1545,1552,1538,42,1548,1554,1547,0,1677,1685,1676,1546,1552,1545,42,1548,1555,1554,0,1677,1687,1685,1546,1553,1552,42,1556,1555,1548,0,1688,1687,1677,1554,1553,1546,42,1557,1555,1556,0,1689,1687,1688,1555,1553,1554,42,1558,1555,1557,0,1690,1687,1689,1556,1553,1555,42,1554,1555,1558,0,1685,1687,1690,1552,1553,1556,42,1553,1554,1558,0,1686,1685,1690,1551,1552,1556,42,1553,1558,1559,0,1686,1690,1691,1551,1556,1557,42,1559,1558,1560,0,1691,1690,1692,1557,1556,1558,42,1558,1557,1560,0,1690,1689,1692,1556,1555,1558,42,1557,1561,1560,0,1689,1693,1692,1555,1559,1558,42,1562,1561,1557,0,1694,1693,1689,1560,1559,1555,42,1562,1563,1561,0,1694,1695,1693,1560,1561,1559,42,1562,1564,1563,0,1696,1697,1698,1560,1562,1561,42,1565,1564,1562,0,1699,1697,1696,1563,1562,1560,42,1565,1566,1564,0,1699,1700,1697,1563,1564,1562,42,1567,1566,1565,0,1701,1700,1699,1565,1564,1563,42,1568,1566,1567,0,1702,1700,1701,1566,1564,1565,42,1568,1569,1566,0,1702,1703,1700,1566,1567,1564,42,1568,1570,1569,0,1704,1705,1706,1566,1568,1567,42,1568,1560,1570,0,1704,1692,1705,1566,1558,1568,42,1559,1560,1568,0,1691,1692,1704,1557,1558,1566,42,1559,1568,1567,0,1707,1702,1701,1557,1566,1565,42,1559,1567,1552,0,1707,1701,1682,1557,1565,1550,42,1552,1567,1551,0,1682,1701,1681,1550,1565,1549,42,1567,1565,1551,0,1701,1699,1681,1565,1563,1549,42,1551,1565,1562,0,1681,1699,1696,1549,1563,1560,42,1551,1562,1556,0,1681,1696,1708,1549,1560,1554,42,1556,1562,1557,0,1688,1694,1689,1554,1560,1555,42,1551,1556,1549,0,1681,1708,1680,1549,1554,1547,42,1548,1549,1556,0,1677,1678,1688,1546,1547,1554,42,1550,1551,1549,0,1679,1681,1680,1548,1549,1547,42,1552,1553,1559,0,1682,1683,1707,1550,1551,1557,42,1560,1561,1570,0,1692,1693,1705,1558,1559,1568,42,1561,1571,1570,0,1693,1709,1705,1559,1569,1568,42,1563,1571,1561,0,1695,1709,1693,1561,1569,1559,42,1563,1572,1571,0,1695,1710,1709,1561,1570,1569,42,1563,1573,1572,0,1698,1711,1712,1561,1571,1570,42,1563,1574,1573,0,1698,1713,1711,1561,1572,1571,42,1564,1574,1563,0,1697,1713,1698,1562,1572,1561,42,1566,1574,1564,0,1700,1713,1697,1564,1572,1562,42,1574,1566,1575,0,1713,1700,1714,1572,1564,1573,42,1566,1576,1575,0,1700,1715,1714,1564,1574,1573,42,1569,1576,1566,0,1703,1715,1700,1567,1574,1564,42,1569,1577,1576,0,1703,1716,1715,1567,1575,1574,42,1569,1578,1577,0,1706,1717,1718,1567,1576,1575,42,1570,1578,1569,0,1705,1717,1706,1568,1576,1567,42,1571,1578,1570,0,1709,1717,1705,1569,1576,1568,42,1571,1579,1578,0,1709,1719,1717,1569,1577,1576,42,1572,1579,1571,0,1710,1719,1709,1570,1577,1569,42,1572,1580,1579,0,1710,1720,1719,1570,1578,1577,42,1572,1581,1580,0,1712,1721,1722,1570,1579,1578,42,1573,1581,1572,0,1711,1721,1712,1571,1579,1570,42,1583,1582,1573,0,1723,1724,1711,1580,1581,1571,42,1575,1588,1585,0,1714,1725,1726,1573,1582,1583,42,1575,1576,1588,0,1714,1715,1725,1573,1574,1582,42,1576,1589,1588,0,1715,1727,1725,1574,1584,1582,42,1577,1589,1576,0,1716,1727,1715,1575,1584,1574,42,1577,1590,1589,0,1718,1728,1729,1575,1585,1584,42,1578,1590,1577,0,1717,1728,1718,1576,1585,1575,42,1578,1591,1590,0,1717,1730,1728,1576,1586,1585,42,1592,1591,1578,0,1731,1730,1717,1587,1586,1576,42,1595,1594,1592,0,1732,1733,1734,1588,1589,1587,42,1596,1594,1595,0,1735,1733,1732,1590,1589,1588,42,1602,1603,1601,0,1736,1737,1738,1591,1592,1593,42,1604,1603,1602,0,1739,1737,1736,1594,1592,1591,42,1589,1605,1588,0,1727,1740,1725,1584,1595,1582,42,1589,1590,1603,0,1727,1741,1737,1584,1585,1592,42,1590,1601,1603,0,1741,1738,1737,1585,1593,1592,42,1586,1604,1584,0,1742,1739,1743,1596,1594,1597,42,1584,1604,1608,0,1743,1739,1744,1597,1594,1598,42,1604,1602,1608,0,1739,1736,1744,1594,1591,1598,42,1608,1602,1609,0,1744,1736,1745,1598,1591,1599,42,1608,1609,1596,0,1744,1745,1735,1598,1599,1590,42,1608,1596,1610,0,1744,1735,1746,1598,1590,1600,42,1584,1610,1612,0,1743,1746,1747,1597,1600,1601,42,1584,1608,1610,0,1743,1744,1746,1597,1598,1600,42,1580,1595,1592,0,1722,1732,1734,1578,1588,1587,42,1580,1592,1579,0,1720,1731,1719,1578,1587,1577,42,1579,1592,1578,0,1719,1731,1717,1577,1587,1576,42,1581,1613,1580,0,1721,1748,1722,1579,1602,1578,42,1575,1585,1583,0,1714,1726,1723,1573,1583,1580,42,1575,1583,1574,0,1714,1723,1713,1573,1580,1572,42,1574,1583,1573,0,1713,1723,1711,1572,1580,1571,42,1541,1547,1540,0,1749,1676,1684,1539,1545,1538,42,1541,1546,1547,0,1749,1675,1676,1539,1544,1545,42,1545,1546,1541,0,1674,1675,1749,1543,1544,1539,42,1542,1545,1541,0,1670,1673,1669,1540,1543,1539,42,1442,1544,1441,0,1546,1672,1547,1444,1542,1443,42,1544,1536,1441,0,1672,1662,1547,1542,1534,1443,42,1441,1536,1533,0,1547,1662,1664,1443,1534,1531,42,1439,1441,1533,0,1542,1544,1659,1441,1443,1531,42,1199,1375,1198,0,1262,1473,1261,1201,1378,1200,42,1196,1198,1431,0,1259,1261,1531,1198,1200,1433,42,1196,1431,1193,0,1259,1531,1256,1198,1433,1195,42,1183,1420,1614,0,1244,1519,1750,1185,1422,1603,42,1614,1420,1417,0,1750,1519,1514,1603,1422,1419,42,1417,1416,1614,0,1514,1513,1750,1419,1418,1603,42,1614,1416,1615,0,1750,1513,1751,1603,1418,1604,42,1615,1416,1415,0,1751,1513,1512,1604,1418,1417,42,1615,1415,1616,0,1751,1512,1752,1604,1417,1605,42,1170,1616,1415,0,1231,1752,1512,1172,1605,1417,42,1172,1616,1170,0,1233,1752,1231,1174,1605,1172,42,1172,1617,1616,0,1233,1753,1752,1174,1606,1605,42,1177,1617,1172,0,1238,1753,1233,1179,1606,1174,42,1177,1179,1617,0,1238,1240,1753,1179,1181,1606,42,1179,1618,1617,0,1240,1754,1753,1181,1607,1606,42,1179,1181,1618,0,1240,1242,1754,1181,1183,1607,42,1181,1183,1618,0,1242,1244,1754,1183,1185,1607,42,1618,1183,1614,0,1754,1244,1750,1607,1185,1603,42,1615,1618,1614,0,1751,1754,1750,1604,1607,1603,42,1617,1618,1615,0,1753,1754,1751,1606,1607,1604,42,1617,1615,1616,0,1753,1751,1752,1606,1604,1605,42,1175,1177,1172,0,1236,1238,1233,1177,1179,1174,42,1170,1415,1168,0,1231,1512,1229,1172,1417,1170,42,1168,1415,1167,0,1229,1512,1228,1170,1417,1169,42,1379,1408,1409,0,1515,1505,1506,1382,1410,1411,42,1379,1381,1408,0,1477,1479,1755,1382,1384,1410,42,1380,1381,1379,0,1478,1479,1477,1383,1384,1382,42,1381,1382,1408,0,1479,1480,1755,1384,1385,1410,42,1408,1382,1406,0,1755,1480,1756,1410,1385,1408,42,1406,1382,1619,0,1756,1480,1757,1408,1385,1608,42,1382,1383,1619,0,1480,1481,1757,1385,1386,1608,42,1383,1620,1619,0,1481,1758,1757,1386,1609,1608,42,1383,1621,1620,0,1481,1759,1758,1386,1610,1609,42,1383,1384,1621,0,1481,1482,1759,1386,1387,1610,42,1384,1622,1621,0,1482,1760,1759,1387,1611,1610,42,1384,1385,1622,0,1482,1483,1760,1387,1388,1611,42,1386,1387,1623,0,1484,1485,1761,1389,1390,1612,42,1623,1387,1624,0,1761,1485,1762,1612,1390,1613,42,1388,1625,1624,0,1486,1763,1762,1391,1614,1613,42,1390,1391,1627,0,1488,1490,1764,1393,1395,1615,42,1626,1627,1625,0,1765,1764,1763,1616,1615,1614,42,1633,1631,1634,0,1766,1767,1768,1617,1618,1619,42,1634,1631,1635,0,1768,1767,1769,1619,1618,1620,42,1631,1636,1635,0,1767,1770,1769,1618,1621,1620,42,1636,1630,1392,0,1771,1772,1489,1621,1622,1394,42,1392,1630,1391,0,1489,1772,1490,1394,1622,1395,42,1395,1636,1394,0,1492,1771,1773,1397,1621,1623,42,1396,1636,1395,0,1493,1771,1492,1398,1621,1397,42,1397,1636,1396,0,1494,1771,1493,1399,1621,1398,42,1397,1637,1636,0,1494,1774,1771,1399,1624,1621,42,1398,1637,1397,0,1495,1774,1494,1400,1624,1399,42,1398,1400,1637,0,1495,1497,1774,1400,1402,1624,42,1635,1637,1400,0,1769,1774,1497,1620,1624,1402,42,1636,1637,1635,0,1770,1774,1769,1621,1624,1620,42,1403,1635,1400,0,1500,1769,1497,1405,1620,1402,42,1404,1635,1403,0,1501,1769,1500,1406,1620,1405,42,1404,1638,1635,0,1501,1775,1769,1406,1625,1620,42,1619,1638,1404,0,1776,1775,1501,1608,1625,1406,42,1619,1620,1638,0,1776,1777,1775,1608,1609,1625,42,1620,1634,1638,0,1758,1778,1779,1609,1619,1625,42,1620,1621,1634,0,1758,1759,1778,1609,1610,1619,42,1622,1634,1621,0,1760,1778,1759,1611,1619,1610,42,1622,1639,1634,0,1760,1780,1778,1611,1626,1619,42,1624,1633,1634,0,1762,1781,1778,1613,1617,1619,42,1624,1625,1633,0,1762,1763,1781,1613,1614,1617,42,1634,1635,1638,0,1768,1769,1775,1619,1620,1625,42,1406,1619,1404,0,1503,1776,1501,1408,1608,1406,42,1167,1414,1162,0,1228,1511,1223,1169,1416,1164,42,1414,1161,1162,0,1511,1222,1223,1416,1163,1164,42,1414,1399,1161,0,1511,1496,1222,1416,1401,1163,42,1414,1412,1399,0,1511,1509,1496,1416,1414,1401,42,1399,1412,1401,0,1496,1509,1498,1401,1414,1403,42,1167,1162,1164,0,1228,1223,1225,1169,1164,1166,42,1153,1393,1151,0,1214,1491,1212,1155,1396,1153,42,1200,1203,1199,0,1263,1266,1262,1202,1205,1201,42,1304,1305,1308,0,1380,1381,1384,1307,1308,1311,42,1319,1320,1328,0,1399,1400,1412,1322,1323,1331,42,1328,1320,1640,0,1412,1400,1782,1331,1323,1627,42,1321,1640,1320,0,1401,1782,1400,1324,1627,1323,42,1321,1641,1640,0,1401,1783,1782,1324,1628,1627,42,1321,1642,1641,0,1401,1784,1783,1324,1629,1628,42,1321,1322,1642,0,1401,1403,1784,1324,1325,1629,42,1322,1643,1642,0,1405,1785,1786,1325,1630,1629,42,1324,1643,1322,0,1406,1785,1405,1327,1630,1325,42,1324,1326,1643,0,1406,1408,1785,1327,1329,1630,42,1326,1644,1643,0,1408,1787,1785,1329,1631,1630,42,1328,1644,1326,0,1410,1787,1408,1331,1631,1329,42,1328,1645,1644,0,1410,1788,1787,1331,1632,1631,42,1328,1640,1645,0,1412,1782,1789,1331,1627,1632,42,1645,1640,1646,0,1789,1782,1790,1632,1627,1633,42,1641,1646,1640,0,1783,1790,1782,1628,1633,1627,42,1646,1641,1647,0,1790,1783,1791,1633,1628,1634,42,1641,1648,1647,0,1783,1792,1791,1628,1635,1634,42,1642,1648,1641,0,1784,1792,1783,1629,1635,1628,42,1649,1648,1642,0,1793,1794,1786,1636,1635,1629,42,1649,1650,1648,0,1793,1795,1794,1636,1637,1635,42,1649,1651,1650,0,1793,1796,1795,1636,1638,1637,42,1651,1649,1644,0,1796,1793,1787,1638,1636,1631,42,1644,1649,1643,0,1787,1793,1785,1631,1636,1630,42,1642,1643,1649,0,1786,1785,1793,1629,1630,1636,42,1645,1651,1644,0,1788,1796,1787,1632,1638,1631,42,1652,1651,1645,0,1797,1796,1788,1639,1638,1632,42,1653,1651,1652,0,1798,1796,1797,1640,1638,1639,42,1650,1651,1653,0,1795,1796,1798,1637,1638,1640,42,1650,1653,1654,0,1795,1798,1799,1637,1640,1641,42,1653,1655,1654,0,1798,1800,1799,1640,1642,1641,42,1656,1655,1653,0,1801,1800,1798,1643,1642,1640,42,1656,1657,1655,0,1801,1802,1800,1643,1644,1642,42,1656,1658,1657,0,1803,1804,1805,1643,1645,1644,42,1656,1646,1658,0,1803,1790,1804,1643,1633,1645,42,1646,1656,1652,0,1790,1803,1806,1633,1643,1639,42,1652,1656,1653,0,1797,1801,1798,1639,1643,1640,42,1645,1646,1652,0,1789,1790,1806,1632,1633,1639,42,1659,1658,1646,0,1807,1804,1790,1646,1645,1633,42,1659,1660,1658,0,1807,1808,1804,1646,1647,1645,42,1659,1661,1660,0,1807,1809,1808,1646,1648,1647,42,1659,1662,1661,0,1807,1810,1809,1646,1649,1648,42,1662,1659,1647,0,1810,1807,1791,1649,1646,1634,42,1647,1659,1646,0,1791,1807,1790,1634,1646,1633,42,1647,1648,1662,0,1791,1792,1810,1634,1635,1649,42,1648,1650,1662,0,1794,1795,1811,1635,1637,1649,42,1650,1654,1662,0,1795,1799,1811,1637,1641,1649,42,1654,1661,1662,0,1799,1812,1811,1641,1648,1649,42,1654,1663,1661,0,1799,1813,1812,1641,1650,1648,42,1655,1663,1654,0,1800,1813,1799,1642,1650,1641,42,1655,1664,1663,0,1800,1814,1813,1642,1651,1650,42,1665,1664,1655,0,1815,1814,1800,1652,1651,1642,42,1666,1664,1665,0,1816,1814,1815,1653,1651,1652,42,1667,1664,1666,0,1817,1814,1816,1654,1651,1653,42,1663,1664,1667,0,1813,1814,1817,1650,1651,1654,42,1668,1663,1667,0,1818,1813,1817,1655,1650,1654,42,1663,1668,1661,0,1813,1818,1812,1650,1655,1648,42,1661,1668,1669,0,1809,1819,1820,1648,1655,1656,42,1669,1668,1670,0,1820,1819,1821,1656,1655,1657,42,1668,1667,1670,0,1818,1817,1822,1655,1654,1657,42,1670,1667,1671,0,1822,1817,1823,1657,1654,1658,42,1667,1666,1671,0,1817,1816,1823,1654,1653,1658,42,1671,1666,1672,0,1823,1816,1824,1658,1653,1659,42,1673,1672,1666,0,1825,1824,1816,1660,1659,1653,42,1673,1674,1672,0,1825,1826,1824,1660,1661,1659,42,1673,1675,1674,0,1827,1828,1829,1660,1662,1661,42,1676,1675,1673,0,1830,1828,1827,1663,1662,1660,42,1677,1675,1676,0,1831,1828,1830,1664,1662,1663,42,1677,1678,1675,0,1831,1832,1828,1664,1665,1662,42,1677,1679,1678,0,1831,1833,1832,1664,1666,1665,42,1677,1680,1679,0,1831,1834,1833,1664,1667,1666,42,1677,1681,1680,0,1831,1835,1834,1664,1668,1667,42,1682,1681,1677,0,1836,1835,1831,1669,1668,1664,42,1682,1683,1681,0,1837,1838,1839,1669,1670,1668,42,1682,1671,1683,0,1837,1823,1838,1669,1658,1670,42,1670,1671,1682,0,1822,1823,1837,1657,1658,1669,42,1682,1684,1670,0,1836,1840,1821,1669,1671,1657,42,1684,1682,1677,0,1840,1836,1831,1671,1669,1664,42,1684,1677,1676,0,1840,1831,1830,1671,1664,1663,42,1684,1676,1685,0,1840,1830,1841,1671,1663,1672,42,1685,1676,1673,0,1841,1830,1827,1672,1663,1660,42,1685,1673,1665,0,1841,1827,1842,1672,1660,1652,42,1665,1673,1666,0,1815,1825,1816,1652,1660,1653,42,1657,1685,1665,0,1805,1841,1842,1644,1672,1652,42,1657,1686,1685,0,1805,1843,1841,1644,1673,1672,42,1657,1658,1686,0,1805,1804,1843,1644,1645,1673,42,1658,1660,1686,0,1804,1808,1843,1645,1647,1673,42,1660,1685,1686,0,1808,1841,1843,1647,1672,1673,42,1660,1669,1685,0,1808,1820,1841,1647,1656,1672,42,1660,1661,1669,0,1808,1809,1820,1647,1648,1656,42,1669,1684,1685,0,1820,1840,1841,1656,1671,1672,42,1670,1684,1669,0,1821,1840,1820,1657,1671,1656,42,1655,1657,1665,0,1800,1802,1815,1642,1644,1652,42,1671,1672,1683,0,1823,1824,1838,1658,1659,1670,42,1672,1687,1683,0,1824,1844,1838,1659,1674,1670,42,1674,1687,1672,0,1826,1844,1824,1661,1674,1659,42,1674,1688,1687,0,1826,1845,1844,1661,1675,1674,42,1674,1689,1688,0,1829,1846,1847,1661,1676,1675,42,1674,1678,1689,0,1829,1832,1846,1661,1665,1676,42,1674,1675,1678,0,1829,1828,1832,1661,1662,1665,42,1689,1678,1690,0,1846,1832,1848,1676,1665,1677,42,1679,1690,1678,0,1833,1848,1832,1666,1677,1665,42,1679,1691,1690,0,1833,1849,1848,1666,1678,1677,42,1679,1692,1691,0,1833,1850,1849,1666,1679,1678,42,1679,1680,1692,0,1833,1834,1850,1666,1667,1679,42,1680,1693,1692,0,1834,1851,1850,1667,1680,1679,42,1694,1693,1680,0,1852,1851,1834,1681,1680,1667,42,1696,1695,1694,0,1853,1854,1855,1682,1683,1681,42,1696,1697,1695,0,1853,1856,1854,1682,1684,1683,42,1696,1698,1697,0,1853,1857,1856,1682,1685,1684,42,1699,1698,1696,0,1858,1857,1853,1686,1685,1682,42,1700,1701,1698,0,1859,1860,1861,1687,1688,1685,42,1706,1704,1705,0,1862,1863,1864,1689,1690,1691,42,1706,1707,1704,0,1862,1865,1863,1689,1692,1690,42,1706,1708,1707,0,1862,1866,1865,1689,1693,1692,42,1709,1708,1706,0,1867,1866,1862,1694,1693,1689,42,1693,1711,1692,0,1851,1868,1850,1680,1695,1679,42,1695,1712,1693,0,1869,1870,1851,1683,1696,1680,42,1708,1722,1707,0,1866,1871,1865,1693,1697,1692,42,1707,1722,1721,0,1865,1871,1872,1692,1697,1698,42,1707,1721,1720,0,1865,1872,1873,1692,1698,1699,42,1707,1720,1704,0,1865,1873,1863,1692,1699,1690,42,1726,1702,1700,0,1874,1875,1859,1700,1701,1687,42,1688,1726,1700,0,1847,1874,1859,1675,1700,1687,42,1689,1726,1688,0,1846,1874,1847,1676,1700,1675,42,1689,1690,1725,0,1846,1848,1876,1676,1677,1702,42,1688,1700,1699,0,1845,1877,1858,1675,1687,1686,42,1688,1699,1687,0,1845,1858,1844,1675,1686,1674,42,1687,1699,1696,0,1844,1858,1853,1674,1686,1682,42,1683,1687,1696,0,1838,1844,1853,1670,1674,1682,42,1681,1683,1696,0,1839,1838,1853,1668,1670,1682,42,1681,1696,1694,0,1839,1853,1855,1668,1682,1681,42,1694,1680,1681,0,1852,1834,1835,1681,1667,1668,42,1309,1310,1318,0,1385,1386,1398,1312,1313,1321,42,1318,1310,1727,0,1398,1386,1878,1321,1313,1703,42,1310,1728,1727,0,1386,1879,1878,1313,1704,1703,42,1310,1729,1728,0,1386,1880,1879,1313,1705,1704,42,1311,1729,1310,0,1387,1880,1386,1314,1705,1313,42,1311,1730,1729,0,1387,1881,1880,1314,1706,1705,42,1311,1312,1730,0,1387,1389,1881,1314,1315,1706,42,1312,1731,1730,0,1391,1882,1883,1315,1707,1706,42,1314,1731,1312,0,1392,1882,1391,1317,1707,1315,42,1314,1316,1731,0,1392,1394,1882,1317,1319,1707,42,1316,1732,1731,0,1394,1884,1882,1319,1708,1707,42,1318,1732,1316,0,1396,1884,1394,1321,1708,1319,42,1318,1727,1732,0,1396,1885,1884,1321,1703,1708,42,1727,1733,1732,0,1885,1886,1884,1703,1709,1708,42,1733,1727,1734,0,1887,1878,1888,1709,1703,1710,42,1727,1728,1734,0,1878,1879,1888,1703,1704,1710,42,1729,1734,1728,0,1880,1888,1879,1705,1710,1704,42,1734,1729,1735,0,1888,1880,1889,1710,1705,1711,42,1735,1729,1730,0,1889,1880,1881,1711,1705,1706,42,1735,1730,1736,0,1889,1881,1890,1711,1706,1712,42,1736,1730,1737,0,1891,1883,1892,1712,1706,1713,42,1730,1731,1737,0,1883,1882,1892,1706,1707,1713,42,1737,1731,1732,0,1892,1882,1884,1713,1707,1708,42,1737,1732,1738,0,1892,1884,1893,1713,1708,1714,42,1732,1733,1738,0,1884,1886,1893,1708,1709,1714,42,1733,1739,1738,0,1886,1894,1893,1709,1715,1714,42,1733,1740,1739,0,1886,1895,1894,1709,1716,1715,42,1734,1740,1733,0,1888,1896,1887,1710,1716,1709,42,1734,1741,1740,0,1888,1897,1896,1710,1717,1716,42,1742,1741,1734,0,1898,1897,1888,1718,1717,1710,42,1742,1743,1741,0,1898,1899,1897,1718,1719,1717,42,1742,1744,1743,0,1898,1900,1899,1718,1720,1719,42,1742,1745,1744,0,1898,1901,1900,1718,1721,1720,42,1745,1742,1735,0,1901,1898,1889,1721,1718,1711,42,1735,1742,1734,0,1889,1898,1888,1711,1718,1710,42,1745,1735,1736,0,1901,1889,1890,1721,1711,1712,42,1746,1745,1736,0,1902,1903,1891,1722,1721,1712,42,1745,1746,1747,0,1903,1902,1904,1721,1722,1723,42,1746,1739,1747,0,1902,1894,1904,1722,1715,1723,42,1746,1738,1739,0,1902,1893,1894,1722,1714,1715,42,1738,1746,1737,0,1893,1902,1892,1714,1722,1713,42,1746,1736,1737,0,1902,1891,1892,1722,1712,1713,42,1739,1748,1747,0,1894,1905,1904,1715,1724,1723,42,1740,1748,1739,0,1895,1905,1894,1716,1724,1715,42,1740,1749,1748,0,1895,1906,1905,1716,1725,1724,42,1740,1750,1749,0,1896,1907,1908,1716,1726,1725,42,1741,1750,1740,0,1897,1907,1896,1717,1726,1716,42,1741,1743,1750,0,1897,1899,1907,1717,1719,1726,42,1743,1751,1750,0,1899,1909,1907,1719,1727,1726,42,1743,1752,1751,0,1899,1910,1909,1719,1728,1727,42,1743,1744,1752,0,1899,1900,1910,1719,1720,1728,42,1744,1753,1752,0,1900,1911,1910,1720,1729,1728,42,1744,1754,1753,0,1912,1913,1914,1720,1730,1729,42,1747,1754,1744,0,1904,1913,1912,1723,1730,1720,42,1748,1754,1747,0,1905,1913,1904,1724,1730,1723,42,1754,1748,1755,0,1913,1905,1915,1730,1724,1731,42,1756,1755,1748,0,1916,1915,1905,1732,1731,1724,42,1757,1755,1756,0,1917,1915,1916,1733,1731,1732,42,1758,1755,1757,0,1918,1915,1917,1734,1731,1733,42,1754,1755,1758,0,1913,1915,1918,1730,1731,1734,42,1753,1754,1758,0,1914,1913,1918,1729,1730,1734,42,1753,1758,1759,0,1914,1918,1919,1729,1734,1735,42,1759,1758,1760,0,1919,1918,1920,1735,1734,1736,42,1758,1757,1760,0,1918,1917,1920,1734,1733,1736,42,1760,1757,1761,0,1920,1917,1921,1736,1733,1737,42,1762,1761,1757,0,1922,1921,1917,1738,1737,1733,42,1762,1763,1761,0,1922,1923,1921,1738,1739,1737,42,1762,1764,1763,0,1924,1925,1926,1738,1740,1739,42,1765,1764,1762,0,1927,1925,1924,1741,1740,1738,42,1766,1764,1765,0,1928,1925,1927,1742,1740,1741,42,1766,1767,1764,0,1928,1929,1925,1742,1743,1740,42,1766,1768,1767,0,1928,1930,1929,1742,1744,1743,42,1766,1769,1768,0,1928,1931,1930,1742,1745,1744,42,1766,1770,1769,0,1928,1932,1931,1742,1746,1745,42,1766,1771,1770,0,1928,1933,1932,1742,1747,1746,42,1772,1771,1766,0,1934,1933,1928,1748,1747,1742,42,1772,1759,1771,0,1934,1935,1933,1748,1735,1747,42,1759,1772,1752,0,1935,1934,1910,1735,1748,1728,42,1752,1772,1751,0,1910,1934,1909,1728,1748,1727,42,1772,1765,1751,0,1934,1927,1909,1748,1741,1727,42,1772,1766,1765,0,1934,1928,1927,1748,1742,1741,42,1751,1765,1762,0,1909,1927,1924,1727,1741,1738,42,1751,1762,1756,0,1909,1924,1936,1727,1738,1732,42,1756,1762,1757,0,1916,1922,1917,1732,1738,1733,42,1749,1751,1756,0,1908,1909,1936,1725,1727,1732,42,1749,1750,1751,0,1908,1907,1909,1725,1726,1727,42,1748,1749,1756,0,1905,1906,1916,1724,1725,1732,42,1752,1753,1759,0,1910,1911,1935,1728,1729,1735,42,1759,1760,1771,0,1919,1920,1937,1735,1736,1747,42,1771,1760,1773,0,1937,1920,1938,1747,1736,1749,42,1760,1761,1773,0,1920,1921,1938,1736,1737,1749,42,1761,1774,1773,0,1921,1939,1938,1737,1750,1749,42,1763,1774,1761,0,1923,1939,1921,1739,1750,1737,42,1763,1775,1774,0,1923,1940,1939,1739,1751,1750,42,1763,1776,1775,0,1926,1941,1942,1739,1752,1751,42,1763,1767,1776,0,1926,1929,1941,1739,1743,1752,42,1764,1767,1763,0,1925,1929,1926,1740,1743,1739,42,1776,1767,1777,0,1941,1929,1943,1752,1743,1753,42,1768,1777,1767,0,1930,1943,1929,1744,1753,1743,42,1768,1778,1777,0,1930,1944,1943,1744,1754,1753,42,1768,1779,1778,0,1930,1945,1944,1744,1755,1754,42,1768,1769,1779,0,1930,1931,1945,1744,1745,1755,42,1769,1780,1779,0,1931,1946,1945,1745,1756,1755,42,1781,1780,1769,0,1947,1946,1931,1757,1756,1745,42,1781,1782,1780,0,1948,1949,1950,1757,1758,1756,42,1783,1782,1781,0,1951,1949,1948,1759,1758,1757,42,1783,1784,1782,0,1951,1952,1949,1759,1760,1758,42,1783,1785,1784,0,1951,1953,1952,1759,1761,1760,42,1786,1785,1783,0,1954,1953,1951,1762,1761,1759,42,1786,1787,1785,0,1954,1955,1953,1762,1763,1761,42,1775,1787,1786,0,1940,1955,1954,1751,1763,1762,42,1775,1788,1787,0,1942,1956,1957,1751,1764,1763,42,1776,1788,1775,0,1941,1956,1942,1752,1764,1751,42,1780,1795,1779,0,1946,1958,1945,1756,1765,1755,42,1780,1782,1796,0,1946,1959,1960,1756,1758,1766,42,1782,1797,1796,0,1959,1961,1960,1758,1767,1766,42,1804,1801,1805,0,1962,1963,1964,1768,1769,1770,42,1805,1801,1785,0,1964,1963,1965,1770,1769,1761,42,1787,1805,1785,0,1957,1964,1965,1763,1770,1761,42,1790,1808,1805,0,1966,1967,1964,1771,1772,1770,42,1791,1808,1790,0,1968,1967,1966,1773,1772,1771,42,1792,1808,1791,0,1969,1967,1968,1774,1772,1773,42,1792,1809,1808,0,1969,1970,1967,1774,1775,1772,42,1792,1810,1809,0,1969,1971,1970,1774,1776,1775,42,1793,1810,1792,0,1972,1971,1969,1777,1776,1774,42,1810,1796,1811,0,1971,1960,1973,1776,1766,1778,42,1811,1796,1797,0,1973,1960,1961,1778,1766,1767,42,1812,1797,1800,0,1974,1961,1975,1779,1767,1780,42,1809,1813,1804,0,1970,1976,1962,1775,1781,1768,42,1809,1811,1813,0,1970,1973,1976,1775,1778,1781,42,1810,1811,1809,0,1971,1973,1970,1776,1778,1775,42,1809,1804,1808,0,1970,1962,1967,1775,1768,1772,42,1788,1807,1787,0,1956,1977,1957,1764,1782,1763,42,1776,1777,1789,0,1941,1943,1978,1752,1753,1783,42,1775,1786,1774,0,1940,1954,1939,1751,1762,1750,42,1783,1774,1786,0,1951,1939,1954,1759,1750,1762,42,1773,1774,1783,0,1938,1939,1951,1749,1750,1759,42,1770,1773,1783,0,1979,1938,1951,1746,1749,1759,42,1771,1773,1770,0,1937,1938,1979,1747,1749,1746,42,1770,1783,1781,0,1979,1951,1948,1746,1759,1757,42,1770,1781,1769,0,1932,1947,1931,1746,1757,1745,42,1745,1747,1744,0,1903,1904,1912,1721,1723,1720,42,1296,1297,1225,0,1371,1372,1292,1299,1300,1227,42,1226,1296,1225,0,1293,1371,1292,1228,1299,1227,42,1230,1296,1226,0,1297,1371,1293,1232,1299,1228,42,1228,1230,1226,0,1295,1297,1293,1230,1232,1228,42,1152,1154,1153,3,1980,1981,1982,1154,1158,1155,42,1155,1154,1152,3,1983,1984,1985,1156,1158,1154,42,1385,1155,1152,3,1986,1987,1988,1388,1156,1154,42,1385,1152,1386,3,1989,1990,1991,1388,1154,1389,42,1388,1150,1389,3,1992,1993,1994,1391,1152,1392,42,1150,1149,1389,3,1995,1996,1997,1152,1151,1392,42,1149,1391,1390,3,1998,1999,2000,1151,1395,1393,42,1393,1394,1392,3,2001,2002,2003,1396,1623,1394,42,1393,1395,1394,3,2004,2005,2006,1396,1397,1623,42,1154,1395,1393,3,2007,2008,2009,1158,1397,1396,42,1493,1495,1494,3,2010,2011,2012,1495,1498,1496,42,1504,1503,1489,3,2013,2014,2015,1524,1505,1491,42,1504,1505,1503,3,2016,2017,2018,1524,1521,1505,42,1504,1506,1505,3,2019,2020,2021,1524,1508,1521,42,1507,1506,1504,3,2022,2023,2024,1506,1508,1524,42,1511,1512,1510,3,2025,2026,2027,1511,1784,1510,42,1491,1512,1511,3,2028,2029,2030,1493,1784,1511,42,1491,1492,1512,3,2031,2032,2033,1493,1494,1784,42,1492,1494,1512,3,2034,2035,2036,1494,1496,1784,42,1512,1494,1495,3,2037,2038,2039,1784,1496,1498,42,1512,1495,1510,3,2040,2041,2042,1784,1498,1510,42,1513,1514,1515,3,2043,2044,2045,1512,1513,1514,42,1517,1516,1514,3,2046,2047,2048,1785,1515,1513,42,1518,1516,1517,3,2049,2050,2051,1517,1515,1785,42,1519,1520,1516,3,2052,2053,2054,1516,1523,1515,42,1520,1519,1521,3,2055,2056,2057,1523,1516,1518,42,1521,1519,1518,3,2058,2059,2060,1518,1516,1517,42,1500,1518,1523,3,2061,2062,2063,1502,1517,1786,42,1518,1517,1523,3,2064,2065,2066,1517,1785,1786,42,1499,1523,1517,3,2067,2068,2069,1501,1786,1785,42,1499,1500,1523,3,2070,2071,2072,1501,1502,1786,42,1524,1499,1517,3,2073,2074,2075,1787,1501,1785,42,1496,1499,1524,3,2076,2077,2078,1497,1501,1787,42,1524,1514,1496,3,2079,2080,2081,1787,1513,1497,42,1524,1517,1514,3,2082,2083,2084,1787,1785,1513,42,1502,1525,1522,3,2085,2086,2087,1504,1520,1519,42,1505,1525,1503,3,2088,2089,2090,1521,1520,1505,42,1505,1522,1525,3,2091,2092,2093,1521,1519,1520,42,1508,1521,1522,3,2094,2095,2096,1507,1518,1519,42,1513,1520,1526,3,2097,2098,2099,1512,1523,1522,42,1515,1516,1520,3,2100,2101,2102,1514,1515,1523,42,1526,1520,1521,3,2103,2104,2105,1522,1523,1518,42,1491,1511,1507,3,2106,2107,2108,1493,1511,1506,42,1491,1507,1490,3,2109,2110,2111,1493,1506,1492,42,1490,1507,1504,3,2112,2113,2114,1492,1506,1524,42,1573,1582,1581,3,2115,2116,2117,1571,1581,1579,42,1583,1584,1582,3,2118,2119,2120,1580,1597,1581,42,1585,1584,1583,3,2121,2122,2123,1583,1597,1580,42,1585,1586,1584,3,2124,2125,2126,1583,1596,1597,42,1585,1587,1586,3,2127,2128,2129,1583,1788,1596,42,1585,1588,1587,3,2130,2131,2132,1583,1582,1788,42,1591,1592,1593,3,2133,2134,2135,1586,1587,1789,42,1592,1594,1593,3,2136,2137,2138,1587,1589,1789,42,1596,1597,1594,3,2139,2140,2141,1590,1790,1589,42,1598,1597,1596,3,2142,2143,2144,1791,1790,1590,42,1598,1599,1597,3,2145,2146,2147,1791,1792,1790,42,1600,1599,1598,3,2148,2149,2150,1793,1792,1791,42,1600,1601,1599,3,2151,2152,2153,1793,1593,1792,42,1602,1601,1600,3,2154,2155,2156,1591,1593,1793,42,1587,1603,1604,3,2157,2158,2159,1788,1592,1594,42,1587,1605,1603,3,2160,2161,2162,1788,1595,1592,42,1588,1605,1587,3,2163,2164,2165,1582,1595,1788,42,1589,1603,1605,3,2166,2167,2168,1584,1592,1595,42,1590,1606,1601,3,2169,2170,2171,1585,1794,1593,42,1590,1591,1606,3,2172,2173,2174,1585,1586,1794,42,1606,1591,1607,3,2175,2176,2177,1794,1586,1795,42,1591,1593,1607,3,2178,2179,2180,1586,1789,1795,42,1594,1607,1593,3,2181,2182,2183,1589,1795,1789,42,1594,1599,1607,3,2184,2185,2186,1589,1792,1795,42,1599,1594,1597,3,2187,2188,2189,1792,1589,1790,42,1601,1607,1599,3,2190,2191,2192,1593,1795,1792,42,1606,1607,1601,3,2193,2194,2195,1794,1795,1593,42,1586,1587,1604,3,2196,2197,2198,1596,1788,1594,42,1602,1598,1609,3,2199,2200,2201,1591,1791,1599,42,1602,1600,1598,3,2202,2203,2204,1591,1793,1791,42,1609,1598,1596,3,2205,2206,2207,1599,1791,1590,42,1610,1596,1595,3,2208,2209,2210,1600,1590,1588,42,1611,1610,1595,3,2211,2212,2213,1796,1600,1588,42,1612,1610,1611,3,2214,2215,2216,1601,1600,1796,42,1582,1584,1612,3,2217,2218,2219,1581,1597,1601,42,1582,1612,1611,3,2220,2221,2222,1581,1601,1796,42,1582,1611,1581,3,2223,2224,2225,1581,1796,1579,42,1611,1613,1581,3,2226,2227,2228,1796,1602,1579,42,1611,1595,1613,3,2229,2230,2231,1796,1588,1602,42,1613,1595,1580,3,2232,2233,2234,1602,1588,1578,42,1385,1623,1622,3,2235,2236,2237,1388,1612,1611,42,1385,1386,1623,3,2238,2239,2240,1388,1389,1612,42,1387,1388,1624,3,2241,2242,2243,1390,1391,1613,42,1388,1626,1625,3,2244,2245,2246,1391,1616,1614,42,1388,1389,1626,3,2247,2248,2249,1391,1392,1616,42,1626,1389,1627,3,2250,2251,2252,1616,1392,1615,42,1390,1627,1389,3,2253,2254,2255,1393,1615,1392,42,1391,1628,1627,3,2256,2257,2258,1395,1797,1615,42,1391,1629,1628,3,2259,2260,2261,1395,1798,1797,42,1630,1629,1391,3,2262,2263,2264,1622,1798,1395,42,1631,1629,1630,3,2265,2266,2267,1618,1798,1622,42,1631,1628,1629,3,2268,2269,2270,1618,1797,1798,42,1632,1628,1631,3,2271,2272,2273,1799,1797,1618,42,1625,1628,1632,3,2274,2275,2276,1614,1797,1799,42,1625,1627,1628,3,2277,2278,2279,1614,1615,1797,42,1625,1632,1633,3,2280,2281,2282,1614,1799,1617,42,1633,1632,1631,3,2283,2284,2285,1617,1799,1618,42,1631,1630,1636,3,2286,2287,2288,1618,1622,1621,42,1392,1394,1636,3,2289,2290,2291,1394,1623,1621,42,1622,1623,1639,3,2292,2293,2294,1611,1612,1626,42,1623,1624,1639,3,2295,2296,2297,1612,1613,1626,42,1639,1624,1634,3,2298,2299,2300,1626,1613,1619,42,1154,1393,1153,3,2301,2302,2303,1158,1396,1155,42,1694,1695,1693,3,2304,2305,2306,1681,1683,1680,42,1700,1698,1699,3,2307,2308,2309,1687,1685,1686,42,1702,1701,1700,3,2310,2311,2312,1701,1688,1687,42,1703,1701,1702,3,2313,2314,2315,1800,1688,1701,42,1703,1704,1701,3,2316,2317,2318,1800,1690,1688,42,1705,1704,1703,3,2319,2320,2321,1691,1690,1800,42,1709,1710,1708,3,2322,2323,2324,1694,1801,1693,42,1691,1710,1709,3,2325,2326,2327,1678,1801,1694,42,1691,1692,1710,3,2328,2329,2330,1678,1679,1801,42,1692,1711,1710,3,2331,2332,2333,1679,1695,1801,42,1693,1712,1711,3,2334,2335,2336,1680,1696,1695,42,1695,1713,1712,3,2337,2338,2339,1683,1802,1696,42,1714,1713,1695,3,2340,2341,2342,1803,1802,1683,42,1715,1713,1714,3,2343,2344,2345,1804,1802,1803,42,1715,1716,1713,3,2346,2347,2348,1804,1805,1802,42,1717,1716,1715,3,2349,2350,2351,1806,1805,1804,42,1718,1716,1717,3,2352,2353,2354,1807,1805,1806,42,1718,1719,1716,3,2355,2356,2357,1807,1808,1805,42,1720,1719,1718,3,2358,2359,2360,1699,1808,1807,42,1721,1719,1720,3,2361,2362,2363,1698,1808,1699,42,1722,1719,1721,3,2364,2365,2366,1697,1808,1698,42,1722,1723,1719,3,2367,2368,2369,1697,1809,1808,42,1722,1713,1723,3,2370,2371,2372,1697,1802,1809,42,1722,1712,1713,3,2373,2374,2375,1697,1696,1802,42,1708,1712,1722,3,2376,2377,2378,1693,1696,1697,42,1710,1712,1708,3,2379,2380,2381,1801,1696,1693,42,1710,1711,1712,3,2382,2383,2384,1801,1695,1696,42,1704,1720,1701,3,2385,2386,2387,1690,1699,1688,42,1720,1717,1701,3,2388,2389,2390,1699,1806,1688,42,1720,1718,1717,3,2391,2392,2393,1699,1807,1806,42,1701,1717,1698,3,2394,2395,2396,1688,1806,1685,42,1698,1717,1724,3,2397,2398,2399,1685,1806,1810,42,1717,1715,1724,3,2400,2401,2402,1806,1804,1810,42,1715,1698,1724,3,2403,2404,2405,1804,1685,1810,42,1698,1715,1697,3,2404,2403,2406,1685,1804,1684,42,1714,1697,1715,3,2407,2408,2409,1803,1684,1804,42,1697,1714,1695,3,2408,2407,2410,1684,1803,1683,42,1723,1713,1716,3,2411,2412,2413,1809,1802,1805,42,1723,1716,1719,3,2414,2415,2416,1809,1805,1808,42,1691,1709,1706,3,2417,2418,2419,1678,1694,1689,42,1691,1706,1690,3,2420,2421,2422,1678,1689,1677,42,1690,1706,1725,3,2423,2424,2425,1677,1689,1702,42,1725,1706,1705,3,2426,2427,2428,1702,1689,1691,42,1725,1705,1703,3,2429,2430,2431,1702,1691,1800,42,1725,1703,1726,3,2432,2433,2434,1702,1800,1700,42,1703,1702,1726,3,2435,2436,2437,1800,1701,1700,42,1725,1726,1689,3,2438,2439,2440,1702,1700,1676,42,1789,1788,1776,3,2441,2442,2443,1783,1764,1752,42,1789,1790,1788,3,2444,2445,2446,1783,1771,1764,42,1789,1791,1790,3,2447,2448,2449,1783,1773,1771,42,1789,1792,1791,3,2450,2451,2452,1783,1774,1773,42,1777,1792,1789,3,2453,2454,2455,1753,1774,1783,42,1778,1792,1777,3,2456,2457,2458,1754,1774,1753,42,1778,1793,1792,3,2459,2460,2461,1754,1777,1774,42,1778,1794,1793,3,2462,2463,2464,1754,1811,1777,42,1778,1779,1794,3,2465,2466,2467,1754,1755,1811,42,1779,1795,1794,3,2468,2469,2470,1755,1765,1811,42,1780,1796,1795,3,2471,2472,2473,1756,1766,1765,42,1798,1797,1782,3,2474,2475,2476,1812,1767,1758,42,1799,1797,1798,3,2477,2478,2479,1813,1767,1812,42,1799,1800,1797,3,2480,2481,2482,1813,1780,1767,42,1801,1800,1799,3,2483,2484,2485,1769,1780,1813,42,1802,1800,1801,3,2486,2487,2488,1814,1780,1769,42,1802,1803,1800,3,2489,2490,2491,1814,1815,1780,42,1803,1802,1804,3,2492,2493,2494,1815,1814,1768,42,1804,1802,1801,3,2495,2496,2497,1768,1814,1769,42,1785,1801,1806,3,2498,2499,2500,1761,1769,1816,42,1801,1799,1806,3,2501,2502,2503,1769,1813,1816,42,1784,1806,1799,3,2504,2505,2506,1760,1816,1813,42,1784,1785,1806,3,2507,2508,2509,1760,1761,1816,42,1798,1784,1799,3,2510,2511,2512,1812,1760,1813,42,1782,1784,1798,3,2513,2514,2515,1758,1760,1812,42,1807,1805,1787,3,2516,2517,2518,1782,1770,1763,42,1790,1805,1807,3,2519,2520,2521,1771,1770,1782,42,1793,1794,1810,3,2522,2523,2524,1777,1811,1776,42,1794,1796,1810,3,2525,2526,2527,1811,1766,1776,42,1794,1795,1796,3,2528,2529,2530,1811,1765,1766,42,1811,1797,1812,3,2531,2532,2533,1778,1767,1779,42,1812,1800,1803,3,2534,2535,2536,1779,1780,1815,42,1811,1812,1803,3,2537,2538,2539,1778,1779,1815,42,1811,1803,1813,3,2540,2541,2542,1778,1815,1781,42,1813,1803,1804,3,2543,2544,2545,1781,1815,1768,42,1808,1804,1805,3,2546,2547,2548,1772,1768,1770,42,1790,1807,1788,3,2549,2550,2551,1771,1782,1764,42,1814,1815,1816,0,2552,2553,2554,1817,1818,1819,42,1814,1817,1815,0,2552,2555,2553,1817,1820,1818,42,1817,1814,1818,0,2555,2552,2556,1820,1817,1821,42,1818,1819,1817,0,2556,2557,2555,1821,1822,1820,42,1820,1819,1818,0,2558,2557,2556,1823,1822,1821,42,1820,1821,1819,0,2558,2559,2557,1823,1824,1822,42,1822,1821,1820,0,2560,2559,2558,1825,1824,1823,42,1822,1823,1821,0,2560,2561,2559,1825,1826,1824,42,1824,1823,1822,0,2562,2561,2560,1827,1826,1825,42,1824,1825,1823,0,2562,2563,2561,1827,1828,1826,42,1826,1825,1824,0,2564,2563,2562,1829,1828,1827,42,1827,1825,1826,0,2565,2566,2567,1830,1828,1829,42,1827,1828,1825,0,2565,2568,2566,1830,1831,1828,42,1829,1828,1827,0,2569,2568,2565,1832,1831,1830,42,1829,1830,1828,0,2569,2570,2568,1832,1833,1831,42,1829,1831,1830,0,2569,2571,2570,1832,1834,1833,42,1832,1831,1829,0,2572,2571,2569,1835,1834,1832,42,1832,1833,1831,0,2572,2573,2571,1835,1836,1834,42,1834,1833,1832,0,2574,2573,2572,1837,1836,1835,42,1834,1835,1833,0,2574,2575,2573,1837,1838,1836,42,1836,1835,1834,0,2576,2577,2578,1839,1838,1837,42,1837,1835,1836,0,2579,2577,2576,1840,1838,1839,42,1837,1838,1835,0,2579,2580,2577,1840,1841,1838,42,1839,1838,1837,0,2581,2580,2579,1842,1841,1840,42,1840,1838,1839,0,2582,2580,2581,1843,1841,1842,42,1840,1841,1838,0,2582,2583,2580,1844,1844,1844,42,1840,1842,1841,0,2582,2584,2583,1845,1845,1845,42,1840,1843,1842,0,2585,2586,2587,1843,1846,1847,42,1840,1844,1843,0,2585,2588,2586,1843,1848,1846,42,1839,1844,1840,0,2589,2588,2585,1842,1848,1843,42,1839,1845,1844,0,2589,2590,2588,1842,1849,1848,42,1837,1845,1839,0,2591,2590,2589,1840,1849,1842,42,1837,1846,1845,0,2591,2592,2590,1840,1850,1849,42,1836,1846,1837,0,2593,2592,2591,1839,1850,1840,42,1836,1847,1846,0,2593,2594,2592,1839,1851,1850,42,1848,1847,1836,0,2595,2594,2593,1852,1851,1839,42,1848,1849,1847,0,2595,2596,2594,1852,1853,1851,42,1848,1850,1849,0,2595,2597,2596,1852,1854,1853,42,1851,1850,1848,0,2598,2597,2595,1855,1854,1852,42,1852,1850,1851,0,2599,2597,2598,1856,1854,1855,42,1852,1853,1850,0,2599,2600,2597,1856,1857,1854,42,1854,1853,1852,0,2601,2600,2599,1858,1857,1856,42,1854,1855,1853,0,2601,2602,2600,1858,1859,1857,42,1856,1855,1854,0,2603,2604,2605,1860,1859,1858,42,1856,1857,1855,0,2603,2606,2604,1860,1861,1859,42,1858,1857,1856,0,2607,2608,2603,1862,1861,1860,42,1859,1857,1858,0,2609,2608,2607,1863,1861,1862,42,1859,1860,1857,0,2609,2610,2608,1863,1864,1861,42,1861,1860,1859,0,2611,2610,2609,1865,1864,1863,42,1861,1862,1860,0,2611,2612,2610,1865,1866,1864,42,1861,1863,1862,0,2611,2613,2612,1865,1867,1866,42,1861,1864,1863,0,2611,2614,2613,1865,1868,1867,42,1864,1861,1865,0,2614,2611,2615,1868,1865,1869,42,1865,1861,1866,0,2615,2611,2616,1869,1865,1870,42,1861,1859,1866,0,2611,2609,2616,1865,1863,1870,42,1866,1859,1858,0,2616,2609,2607,1870,1863,1862,42,1867,1866,1858,0,2617,2618,2619,1871,1870,1862,42,1868,1866,1867,0,2620,2618,2617,1872,1870,1871,42,1868,1865,1866,0,2620,2621,2618,1872,1869,1870,42,1869,1865,1868,0,2622,2621,2620,1873,1869,1872,42,1869,1870,1865,0,2622,2623,2621,1873,1874,1869,42,1871,1870,1869,0,2624,2623,2622,1875,1874,1873,42,1871,1872,1870,0,2624,2625,2623,1875,1876,1874,42,1873,1872,1871,0,2626,2625,2624,1877,1876,1875,42,1873,1874,1872,0,2626,2627,2625,1877,1878,1876,42,1875,1874,1873,0,2628,2627,2626,1879,1878,1877,42,1875,1876,1874,0,2629,2630,2631,1879,1880,1878,42,1875,1877,1876,0,2629,2632,2630,1879,1881,1880,42,1878,1877,1875,0,2633,2632,2629,1882,1881,1879,42,1878,1879,1877,0,2633,2634,2632,1882,1883,1881,42,1880,1879,1878,0,2635,2634,2633,1884,1883,1882,42,1880,1881,1879,0,2635,2636,2634,1884,1885,1883,42,1882,1881,1880,0,2637,2636,2635,1886,1885,1884,42,1882,1883,1881,0,2637,2638,2636,1886,1887,1885,42,1884,1883,1882,0,2639,2638,2637,1888,1887,1886,42,1884,1885,1883,0,2639,2640,2638,1888,1889,1887,42,1886,1885,1884,0,2641,2640,2639,1890,1889,1888,42,1886,1887,1885,0,2641,2642,2640,1890,1891,1889,42,1887,1888,1885,0,2642,2643,2640,1891,1892,1889,42,1887,1889,1888,0,2642,2644,2643,1891,1893,1892,42,1889,1890,1888,0,2644,2645,2643,1893,1894,1892,42,1889,1891,1890,0,2644,2646,2645,1893,1895,1894,42,1891,1892,1890,0,2646,2647,2645,1895,1896,1894,42,1893,1892,1891,0,2648,2647,2646,1897,1896,1895,42,1893,1894,1892,0,2648,2649,2647,1897,1898,1896,42,1895,1894,1893,0,2650,2649,2648,1899,1898,1897,42,1896,1894,1895,0,2651,2649,2650,1900,1898,1899,42,1896,1897,1894,0,2651,2652,2649,1900,1901,1898,42,1898,1897,1896,0,2653,2652,2651,1902,1901,1900,42,1898,1899,1897,0,2653,2654,2652,1902,1903,1901,42,1898,1880,1899,0,2653,2655,2654,1902,1884,1903,42,1898,1882,1880,0,2653,2656,2655,1902,1886,1884,42,1900,1882,1898,0,2657,2656,2653,1904,1886,1902,42,1900,1884,1882,0,2657,2658,2656,1904,1888,1886,42,1901,1884,1900,0,2659,2658,2657,1905,1888,1904,42,1901,1886,1884,0,2659,2660,2658,1905,1890,1888,42,1901,1900,1902,0,2659,2657,2661,1905,1904,1906,42,1900,1896,1902,0,2657,2651,2661,1904,1900,1906,42,1900,1898,1896,0,2657,2653,2651,1904,1902,1900,42,1902,1896,1895,0,2661,2651,2650,1906,1900,1899,42,1899,1880,1878,0,2654,2655,2662,1903,1884,1882,42,1899,1878,1903,0,2654,2662,2663,1903,1882,1907,42,1903,1878,1904,0,2663,2662,2664,1907,1882,1908,42,1878,1875,1904,0,2662,2628,2664,1882,1879,1908,42,1904,1875,1873,0,2664,2628,2626,1908,1879,1877,42,1904,1873,1905,0,2664,2626,2665,1908,1877,1909,42,1873,1906,1905,0,2626,2666,2665,1877,1910,1909,42,1873,1907,1906,0,2626,2667,2666,1877,1911,1910,42,1871,1907,1873,0,2624,2667,2626,1875,1911,1877,42,1869,1907,1871,0,2622,2667,2624,1873,1911,1875,42,1868,1907,1869,0,2620,2667,2622,1872,1911,1873,42,1868,1818,1907,0,2620,2556,2667,1872,1821,1911,42,1867,1818,1868,0,2617,2556,2620,1871,1821,1872,42,1867,1820,1818,0,2617,2558,2556,1871,1823,1821,42,1867,1822,1820,0,2617,2560,2558,1871,1825,1823,42,1867,1908,1822,0,2617,2668,2560,1871,1912,1825,42,1867,1858,1908,0,2617,2619,2668,1871,1862,1912,42,1908,1858,1856,0,2668,2619,2669,1912,1862,1860,42,1908,1856,1909,0,2668,2669,2670,1912,1860,1913,42,1909,1856,1910,0,2670,2669,2671,1913,1860,1914,42,1856,1854,1910,0,2669,2672,2671,1860,1858,1914,42,1910,1854,1911,0,2673,2601,2674,1914,1858,1915,42,1854,1852,1911,0,2601,2599,2674,1858,1856,1915,42,1911,1852,1851,0,2674,2599,2598,1915,1856,1855,42,1851,1829,1911,0,2675,2569,2676,1855,1832,1915,42,1912,1829,1851,0,2677,2569,2675,1916,1832,1855,42,1912,1832,1829,0,2677,2572,2569,1916,1835,1832,42,1912,1834,1832,0,2677,2574,2572,1916,1837,1835,42,1912,1913,1834,0,2677,2678,2574,1916,1917,1837,42,1912,1914,1913,0,2679,2680,2681,1916,1918,1917,42,1912,1848,1914,0,2679,2595,2680,1916,1852,1918,42,1851,1848,1912,0,2598,2595,2679,1855,1852,1916,42,1848,1836,1914,0,2595,2593,2680,1852,1839,1918,42,1914,1836,1915,0,2680,2593,2682,1918,1839,1919,42,1915,1836,1916,0,2682,2593,2683,1919,1839,1920,42,1836,1917,1916,0,2576,2684,2685,1921,1921,1921,42,1834,1917,1836,0,2578,2684,2576,1922,1922,1922,42,1918,1917,1834,0,2686,2687,2574,1923,1924,1837,42,1918,1919,1917,0,2686,2688,2687,1923,1925,1924,42,1918,1920,1919,0,2689,2690,2691,1923,1926,1925,42,1918,1915,1920,0,2689,2682,2690,1923,1919,1926,42,1914,1915,1918,0,2680,2682,2689,1918,1919,1923,42,1913,1914,1918,0,2681,2680,2689,1917,1918,1923,42,1913,1918,1834,0,2678,2686,2574,1917,1923,1837,42,1915,1916,1920,0,2682,2683,2690,1919,1920,1926,42,1920,1916,1921,0,2690,2683,2692,1926,1920,1927,42,1916,1922,1921,0,2685,2693,2694,1928,1928,1928,42,1917,1922,1916,0,2684,2693,2685,1929,1929,1929,42,1919,1922,1917,0,2688,2695,2687,1925,1930,1924,42,1921,1922,1919,0,2694,2693,2696,1931,1931,1931,42,1921,1919,1920,0,2694,2696,2697,1932,1932,1932,42,1911,1829,1827,0,2676,2569,2565,1915,1832,1830,42,1911,1827,1826,0,2676,2565,2567,1915,1830,1829,42,1911,1826,1910,0,2676,2567,2698,1915,1829,1914,42,1909,1910,1826,0,2670,2671,2564,1913,1914,1829,42,1909,1826,1824,0,2670,2564,2562,1913,1829,1827,42,1909,1824,1822,0,2670,2562,2560,1913,1827,1825,42,1908,1909,1822,0,2668,2670,2560,1912,1913,1825,42,1818,1814,1907,0,2556,2552,2667,1821,1817,1911,42,1907,1814,1923,0,2667,2552,2699,1911,1817,1933,42,1923,1814,1816,0,2699,2552,2554,1933,1817,1819,42,1923,1816,1924,0,2699,2554,2700,1933,1819,1934,42,1924,1816,1925,0,2700,2554,2701,1934,1819,1935,42,1925,1816,1926,0,2701,2554,2702,1935,1819,1936,42,1816,1815,1926,0,2554,2553,2702,1819,1818,1936,42,1926,1815,1927,0,2702,2553,2703,1936,1818,1937,42,1815,1928,1927,0,2553,2704,2703,1818,1938,1937,42,1815,1819,1928,0,2553,2557,2704,1818,1822,1938,42,1817,1819,1815,0,2555,2557,2553,1820,1822,1818,42,1819,1929,1928,0,2557,2705,2704,1822,1939,1938,42,1819,1821,1929,0,2557,2559,2705,1822,1824,1939,42,1821,1823,1929,0,2559,2561,2705,1824,1826,1939,42,1929,1823,1930,0,2705,2561,2706,1939,1826,1940,42,1823,1825,1930,0,2561,2563,2706,1826,1828,1940,42,1930,1825,1931,0,2706,2563,2707,1940,1828,1941,42,1825,1828,1931,0,2566,2568,2708,1828,1831,1941,42,1931,1828,1932,0,2708,2568,2709,1941,1831,1942,42,1828,1830,1932,0,2568,2570,2709,1831,1833,1942,42,1932,1830,1933,0,2709,2570,2710,1942,1833,1943,42,1933,1830,1831,0,2710,2570,2571,1943,1833,1834,42,1933,1831,1934,0,2710,2571,2711,1943,1834,1944,42,1831,1935,1934,0,2571,2712,2711,1834,1945,1944,42,1833,1935,1831,0,2573,2712,2571,1836,1945,1834,42,1833,1936,1935,0,2573,2713,2712,1836,1946,1945,42,1833,1937,1936,0,2573,2714,2713,1836,1947,1946,42,1835,1937,1833,0,2575,2714,2573,1838,1947,1836,42,1835,1838,1937,0,2575,2715,2714,1838,1841,1947,42,1838,1938,1937,0,2715,2716,2714,1841,1948,1947,42,1838,1841,1938,0,2715,2717,2716,1841,1949,1948,42,1841,1939,1938,0,2717,2718,2716,1949,1950,1948,42,1841,1940,1939,0,2717,2719,2718,1949,1951,1950,42,1842,1940,1841,0,2584,2720,2583,1952,1952,1952,42,1939,1940,1842,0,2718,2719,2587,1950,1951,1847,42,1939,1842,1843,0,2718,2587,2586,1950,1847,1846,42,1941,1939,1843,0,2721,2718,2586,1953,1950,1846,42,1938,1939,1941,0,2716,2718,2721,1948,1950,1953,42,1938,1941,1942,0,2716,2721,2722,1948,1953,1954,42,1943,1942,1941,0,2723,2722,2721,1955,1954,1953,42,1943,1936,1942,0,2723,2713,2722,1955,1946,1954,42,1943,1944,1936,0,2723,2724,2713,1955,1956,1946,42,1945,1944,1943,0,2725,2724,2723,1957,1956,1955,42,1946,1944,1945,0,2726,2724,2725,1958,1956,1957,42,1946,1934,1944,0,2726,2711,2724,1958,1944,1956,42,1947,1934,1946,0,2727,2711,2726,1959,1944,1958,42,1947,1933,1934,0,2727,2710,2711,1959,1943,1944,42,1947,1948,1933,0,2727,2728,2710,1959,1960,1943,42,1849,1948,1947,0,2596,2728,2727,1853,1960,1959,42,1849,1949,1948,0,2596,2729,2728,1853,1961,1960,42,1849,1950,1949,0,2596,2730,2729,1853,1962,1961,42,1850,1950,1849,0,2597,2730,2596,1854,1962,1853,42,1850,1853,1950,0,2597,2600,2730,1854,1857,1962,42,1853,1855,1950,0,2600,2602,2730,1857,1859,1962,42,1855,1951,1950,0,2602,2731,2730,1859,1963,1962,42,1857,1951,1855,0,2606,2732,2604,1861,1963,1859,42,1857,1952,1951,0,2606,2733,2732,1861,1964,1963,42,1857,1860,1952,0,2606,2610,2733,1861,1864,1964,42,1952,1860,1953,0,2733,2610,2734,1964,1864,1965,42,1860,1862,1953,0,2610,2612,2734,1864,1866,1965,42,1862,1954,1953,0,2612,2735,2734,1866,1966,1965,42,1862,1863,1954,0,2612,2613,2735,1866,1867,1966,42,1863,1927,1954,0,2613,2703,2735,1867,1937,1966,42,1863,1926,1927,0,2613,2702,2703,1867,1936,1937,42,1863,1955,1926,0,2613,2736,2702,1867,1967,1936,42,1956,1955,1863,0,2737,2736,2613,1968,1967,1867,42,1956,1957,1955,0,2737,2738,2736,1968,1969,1967,42,1957,1956,1870,0,2738,2737,2739,1969,1968,1874,42,1870,1956,1864,0,2739,2737,2614,1874,1968,1868,42,1864,1956,1863,0,2614,2737,2613,1868,1968,1867,42,1870,1864,1865,0,2739,2614,2615,1874,1868,1869,42,1872,1957,1870,0,2740,2738,2739,1876,1969,1874,42,1876,1957,1872,0,2630,2738,2740,1880,1969,1876,42,1957,1876,1955,0,2738,2630,2736,1969,1880,1967,42,1876,1958,1955,0,2630,2741,2736,1880,1970,1967,42,1876,1959,1958,0,2630,2742,2741,1880,1971,1970,42,1877,1959,1876,0,2632,2742,2630,1881,1971,1880,42,1877,1960,1959,0,2632,2743,2742,1881,1972,1971,42,1879,1960,1877,0,2634,2743,2632,1883,1972,1881,42,1881,1960,1879,0,2636,2743,2634,1885,1972,1883,42,1881,1961,1960,0,2636,2744,2743,1885,1973,1972,42,1883,1961,1881,0,2638,2744,2636,1887,1973,1885,42,1883,1962,1961,0,2638,2745,2744,1887,1974,1973,42,1885,1962,1883,0,2640,2745,2638,1889,1974,1887,42,1885,1888,1962,0,2640,2643,2745,1889,1892,1974,42,1888,1963,1962,0,2643,2746,2745,1892,1975,1974,42,1888,1890,1963,0,2643,2645,2746,1892,1894,1975,42,1890,1964,1963,0,2645,2747,2746,1894,1976,1975,42,1892,1964,1890,0,2647,2747,2645,1896,1976,1894,42,1892,1965,1964,0,2647,2748,2747,1896,1977,1976,42,1894,1965,1892,0,2649,2748,2647,1898,1977,1896,42,1897,1965,1894,0,2652,2748,2649,1901,1977,1898,42,1897,1966,1965,0,2652,2749,2748,1901,1978,1977,42,1899,1966,1897,0,2654,2749,2652,1903,1978,1901,42,1899,1903,1966,0,2654,2663,2749,1903,1907,1978,42,1903,1967,1966,0,2663,2750,2749,1907,1979,1978,42,1903,1904,1967,0,2663,2664,2750,1907,1908,1979,42,1904,1905,1967,0,2664,2665,2750,1908,1909,1979,42,1967,1905,1968,0,2750,2665,2751,1979,1909,1980,42,1906,1968,1905,0,2666,2751,2665,1910,1980,1909,42,1906,1969,1968,0,2666,2752,2751,1910,1981,1980,42,1906,1923,1969,0,2666,2699,2752,1910,1933,1981,42,1907,1923,1906,0,2667,2699,2666,1911,1933,1910,42,1970,1969,1923,0,2753,2752,2699,1982,1981,1933,42,1971,1969,1970,0,2754,2752,2753,1983,1981,1982,42,1968,1969,1971,0,2751,2752,2754,1980,1981,1983,42,1972,1968,1971,0,2755,2751,2754,1984,1980,1983,42,1973,1968,1972,0,2756,2751,2755,1985,1980,1984,42,1967,1968,1973,0,2750,2751,2756,1979,1980,1985,42,1967,1973,1974,0,2750,2756,2757,1979,1985,1986,42,1974,1973,1975,0,2757,2756,2758,1986,1985,1987,42,1975,1973,1972,0,2758,2756,2755,1987,1985,1984,42,1975,1972,1976,0,2758,2755,2759,1987,1984,1988,42,1976,1972,1977,0,2759,2755,2760,1988,1984,1989,42,1972,1978,1977,0,2755,2761,2760,1984,1990,1989,42,1972,1971,1978,0,2755,2754,2761,1984,1983,1990,42,1971,1979,1978,0,2754,2762,2761,1983,1991,1990,42,1971,1970,1979,0,2754,2753,2762,1983,1982,1991,42,1970,1925,1979,0,2753,2701,2762,1982,1935,1991,42,1970,1924,1925,0,2753,2700,2701,1982,1934,1935,42,1970,1923,1924,0,2753,2699,2700,1982,1933,1934,42,1958,1979,1925,0,2741,2762,2701,1970,1991,1935,42,1958,1959,1979,0,2741,2742,2762,1970,1971,1991,42,1959,1978,1979,0,2742,2761,2762,1971,1990,1991,42,1960,1978,1959,0,2743,2761,2742,1972,1990,1971,42,1960,1977,1978,0,2743,2760,2761,1972,1989,1990,42,1961,1977,1960,0,2744,2760,2743,1973,1989,1972,42,1961,1976,1977,0,2744,2759,2760,1973,1988,1989,42,1962,1976,1961,0,2745,2759,2744,1974,1988,1973,42,1962,1963,1976,0,2745,2746,2759,1974,1975,1988,42,1963,1975,1976,0,2746,2758,2759,1975,1987,1988,42,1964,1975,1963,0,2747,2758,2746,1976,1987,1975,42,1964,1974,1975,0,2747,2757,2758,1976,1986,1987,42,1965,1974,1964,0,2748,2757,2747,1977,1986,1976,42,1966,1974,1965,0,2749,2757,2748,1978,1986,1977,42,1966,1967,1974,0,2749,2750,2757,1978,1979,1986,42,1955,1958,1925,0,2736,2741,2701,1967,1970,1935,42,1955,1925,1926,0,2736,2701,2702,1967,1935,1936,42,1874,1876,1872,0,2631,2630,2740,1878,1880,1876,42,1927,1928,1954,0,2703,2704,2735,1937,1938,1966,42,1928,1929,1954,0,2704,2705,2735,1938,1939,1966,42,1954,1929,1953,0,2735,2705,2734,1966,1939,1965,42,1929,1980,1953,0,2705,2763,2734,1939,1992,1965,42,1929,1930,1980,0,2705,2706,2763,1939,1940,1992,42,1930,1981,1980,0,2706,2764,2763,1940,1993,1992,42,1930,1931,1981,0,2706,2707,2764,1940,1941,1993,42,1931,1932,1981,0,2708,2709,2765,1941,1942,1993,42,1981,1932,1949,0,2765,2709,2729,1993,1942,1961,42,1948,1949,1932,0,2728,2729,2709,1960,1961,1942,42,1948,1932,1933,0,2728,2709,2710,1960,1942,1943,42,1951,1981,1949,0,2731,2765,2729,1963,1993,1961,42,1951,1952,1981,0,2732,2733,2764,1963,1964,1993,42,1952,1980,1981,0,2733,2763,2764,1964,1992,1993,42,1952,1953,1980,0,2733,2734,2763,1964,1965,1992,42,1950,1951,1949,0,2730,2731,2729,1962,1963,1961,42,1847,1849,1947,0,2594,2596,2727,1851,1853,1959,42,1847,1947,1846,0,2594,2727,2592,1851,1959,1850,42,1846,1947,1946,0,2592,2727,2726,1850,1959,1958,42,1846,1946,1945,0,2592,2726,2725,1850,1958,1957,42,1846,1945,1845,0,2592,2725,2590,1850,1957,1849,42,1845,1945,1982,0,2590,2725,2766,1849,1957,1994,42,1982,1945,1943,0,2766,2725,2723,1994,1957,1955,42,1982,1943,1983,0,2766,2723,2767,1994,1955,1995,42,1983,1943,1941,0,2767,2723,2721,1995,1955,1953,42,1941,1843,1983,0,2721,2586,2767,1953,1846,1995,42,1844,1983,1843,0,2588,2767,2586,1848,1995,1846,42,1844,1982,1983,0,2588,2766,2767,1848,1994,1995,42,1845,1982,1844,0,2590,2766,2588,1849,1994,1848,42,1934,1935,1944,0,2711,2712,2724,1944,1945,1956,42,1944,1935,1936,0,2724,2712,2713,1956,1945,1946,42,1937,1942,1936,0,2714,2722,2713,1947,1954,1946,42,1937,1938,1942,0,2714,2716,2722,1947,1948,1954,42,1984,1985,1986,0,2768,2769,2770,1996,1997,1998,42,1984,1987,1985,0,2768,2771,2769,1996,1999,1997,42,1987,1984,1988,0,2771,2768,2772,1999,1996,2000,42,1988,1990,1989,0,2772,2773,2774,2000,2001,2002,42,1991,1992,1990,0,2775,2776,2773,2003,2004,2001,42,1995,1992,1994,0,2777,2776,2778,2005,2004,2006,42,1985,1994,1996,0,2769,2778,2779,1997,2006,2007,42,1996,1994,1997,0,2779,2778,2780,2007,2006,2008,42,2001,2003,2002,0,2781,2782,2783,2009,2010,2011,42,2001,1991,2003,0,2781,2775,2782,2009,2003,2010,42,2003,1991,1988,0,2782,2775,2772,2010,2003,2000,42,2003,1988,2004,0,2782,2772,2784,2010,2000,2012,42,1988,1984,2004,0,2772,2768,2784,2000,1996,2012,42,2004,1984,2005,0,2784,2768,2785,2012,1996,2013,42,2005,1984,1986,0,2785,2768,2770,2013,1996,1998,42,2005,1986,2006,0,2785,2770,2786,2013,1998,2014,42,1986,1996,2007,0,2770,2779,2787,1998,2007,2015,42,2010,2008,2009,0,2788,2789,2790,2016,2017,2018,42,2015,2004,2014,0,2791,2784,2792,2019,2012,2020,42,2015,2003,2004,0,2791,2782,2784,2019,2010,2012,42,2018,2017,2013,0,2793,2794,2795,2021,2022,2023,42,2019,2017,2018,0,2796,2794,2793,2024,2022,2021,42,2019,2002,2017,0,2796,2783,2794,2024,2011,2022,42,2020,2002,2019,0,2797,2783,2796,2025,2011,2024,42,2020,2021,2002,0,2797,2798,2783,2025,2026,2011,42,2022,2021,2020,0,2799,2800,2801,2027,2026,2025,42,2022,2023,2021,0,2799,2802,2800,2027,2028,2026,42,2024,2023,2022,0,2803,2802,2799,2029,2028,2027,42,2025,2023,2024,0,2804,2802,2803,2030,2028,2029,42,2026,2023,2025,0,2805,2802,2804,2031,2028,2030,42,2026,2027,2023,0,2805,2806,2802,2031,2032,2028,42,2026,2028,2027,0,2805,2807,2806,2031,2033,2032,42,2026,2029,2028,0,2805,2808,2807,2031,2034,2033,42,2026,2030,2029,0,2805,2809,2808,2031,2035,2034,42,2030,2026,2025,0,2809,2805,2804,2035,2031,2030,42,2030,2025,2031,0,2809,2804,2810,2035,2030,2036,42,2031,2025,2024,0,2810,2804,2803,2036,2030,2029,42,2032,2031,2024,0,2811,2810,2803,2037,2036,2029,42,2033,2031,2032,0,2812,2810,2811,2038,2036,2037,42,2033,2034,2031,0,2812,2813,2810,2038,2039,2036,42,2035,2034,2033,0,2814,2813,2812,2040,2039,2038,42,2035,2036,2034,0,2814,2815,2813,2040,2041,2039,42,2035,2037,2036,0,2814,2816,2815,2040,2042,2041,42,2038,2037,2035,0,2817,2816,2814,2043,2042,2040,42,2039,2037,2038,0,2818,2816,2817,2044,2042,2043,42,2039,2040,2037,0,2818,2819,2816,2044,2045,2042,42,2041,2040,2039,0,2820,2819,2818,2046,2045,2044,42,2042,2040,2041,0,2821,2819,2820,2047,2045,2046,42,2042,2043,2040,0,2821,2822,2819,2047,2048,2045,42,2042,2044,2043,0,2821,2823,2822,2047,2049,2048,42,2045,2044,2042,0,2824,2823,2821,2050,2049,2047,42,2045,2046,2044,0,2824,2825,2823,2050,2051,2049,42,2047,2046,2045,0,2826,2825,2824,2052,2051,2050,42,2047,2048,2046,0,2826,2827,2825,2052,2053,2051,42,2049,2048,2047,0,2828,2827,2826,2054,2053,2052,42,2049,2050,2048,0,2828,2829,2827,2054,2055,2053,42,2051,2050,2049,0,2830,2829,2828,2056,2055,2054,42,2051,2052,2050,0,2830,2831,2829,2056,2057,2055,42,2053,2052,2051,0,2832,2831,2830,2058,2057,2056,42,2053,2054,2052,0,2832,2833,2831,2058,2059,2057,42,2055,2054,2053,0,2834,2833,2832,2060,2059,2058,42,2055,2056,2054,0,2834,2835,2833,2060,2061,2059,42,2057,2056,2055,0,2836,2835,2834,2062,2061,2060,42,2057,2058,2056,0,2836,2837,2835,2062,2063,2061,42,2059,2058,2057,0,2838,2837,2836,2064,2063,2062,42,2059,2060,2058,0,2838,2839,2837,2064,2065,2063,42,2061,2060,2059,0,2840,2841,2842,2066,2065,2064,42,2061,2062,2060,0,2840,2843,2841,2066,2067,2065,42,2061,2063,2062,0,2840,2844,2843,2066,2068,2067,42,2064,2063,2061,0,2845,2844,2840,2069,2068,2066,42,2064,2065,2063,0,2845,2846,2844,2069,2070,2068,42,2064,2066,2065,0,2845,2847,2846,2069,2071,2070,42,2066,2064,2067,0,2847,2845,2848,2071,2069,2072,42,2067,2064,2068,0,2848,2845,2849,2072,2069,2073,42,2064,2069,2068,0,2850,2851,2852,2069,2074,2073,42,2070,2069,2064,0,2853,2851,2850,2075,2074,2069,42,2071,2069,2070,0,2854,2851,2853,2076,2074,2075,42,2071,2072,2069,0,2854,2855,2851,2076,2077,2074,42,2071,2073,2072,0,2854,2856,2855,2076,2078,2077,42,2071,2074,2073,0,2854,2857,2856,2076,2079,2078,42,2071,2075,2074,0,2854,2858,2857,2076,2080,2079,42,2076,2075,2071,0,2859,2858,2854,2081,2080,2076,42,2076,2077,2075,0,2859,2860,2858,2081,2082,2080,42,2078,2077,2076,0,2861,2860,2859,2083,2082,2081,42,2079,2077,2078,0,2862,2860,2861,2084,2082,2083,42,2079,2080,2077,0,2862,2863,2860,2084,2085,2082,42,2081,2080,2079,0,2864,2863,2862,2086,2085,2084,42,2081,2082,2080,0,2864,2865,2863,2086,2087,2085,42,2081,2083,2082,0,2864,2866,2865,2086,2088,2087,42,2081,2084,2083,0,2867,2868,2869,2086,2089,2088,42,2085,2084,2081,0,2870,2868,2867,2090,2089,2086,42,2085,2086,2084,0,2870,2871,2868,2090,2091,2089,42,2085,2087,2086,0,2870,2872,2871,2090,2092,2091,42,2088,2087,2085,0,2873,2872,2870,2093,2092,2090,42,2088,2089,2087,0,2873,2874,2872,2093,2094,2092,42,2090,2089,2088,0,2875,2874,2873,2095,2094,2093,42,2090,2091,2089,0,2875,2876,2874,2095,2096,2094,42,2090,2092,2091,0,2875,2877,2876,2095,2097,2096,42,2090,2093,2092,0,2875,2878,2877,2095,2098,2097,42,2094,2093,2090,0,2879,2878,2875,2099,2098,2095,42,2095,2093,2094,0,2880,2878,2879,2100,2098,2099,42,2095,2096,2093,0,2880,2881,2878,2100,2101,2098,42,2097,2096,2095,0,2882,2881,2880,2102,2101,2100,42,2097,2098,2096,0,2882,2883,2881,2102,2103,2101,42,2099,2098,2097,0,2884,2883,2882,2104,2103,2102,42,2099,2100,2098,0,2884,2885,2883,2104,2105,2103,42,2101,2100,2099,0,2886,2887,2888,2106,2105,2104,42,2101,2102,2100,0,2886,2889,2887,2106,2107,2105,42,2101,2103,2102,0,2886,2890,2889,2106,2108,2107,42,2104,2103,2101,0,2891,2890,2886,2109,2108,2106,42,2105,2103,2104,0,2892,2890,2891,2110,2108,2109,42,2105,2106,2103,0,2892,2893,2890,2110,2111,2108,42,2107,2106,2105,0,2894,2893,2892,2112,2111,2110,42,2107,2108,2106,0,2894,2895,2893,2112,2113,2111,42,2109,2108,2107,0,2896,2895,2894,2114,2113,2112,42,2109,2110,2108,0,2896,2897,2895,2114,2115,2113,42,2111,2110,2109,0,2898,2897,2896,2116,2115,2114,42,2111,2112,2110,0,2898,2899,2897,2116,2117,2115,42,2111,2113,2112,0,2898,2900,2899,2116,2118,2117,42,2114,2113,2111,0,2901,2900,2898,2119,2118,2116,42,2114,2115,2113,0,2901,2902,2900,2119,2120,2118,42,2116,2115,2114,0,2903,2902,2901,2121,2120,2119,42,2116,2117,2115,0,2903,2904,2902,2121,2122,2120,42,2118,2117,2116,0,2905,2904,2903,2123,2122,2121,42,2118,2119,2117,0,2905,2906,2904,2123,2124,2122,42,2118,2120,2119,0,2905,2907,2906,2123,2125,2124,42,2121,2120,2118,0,2908,2907,2905,2126,2125,2123,42,2122,2120,2121,0,2909,2907,2908,2127,2125,2126,42,2122,2123,2120,0,2909,2910,2907,2127,2128,2125,42,2122,2124,2123,0,2909,2911,2910,2127,2129,2128,42,2124,2122,2125,0,2911,2909,2912,2129,2127,2130,42,2125,2122,2121,0,2912,2909,2908,2130,2127,2126,42,2125,2121,2126,0,2912,2908,2913,2130,2126,2131,42,2126,2121,2127,0,2913,2908,2914,2131,2126,2132,42,2121,2128,2127,0,2908,2915,2914,2126,2133,2132,42,2121,2118,2128,0,2908,2905,2915,2126,2123,2133,42,2128,2118,2129,0,2915,2905,2916,2133,2123,2134,42,2118,2130,2129,0,2905,2917,2916,2123,2135,2134,42,2130,2118,2116,0,2917,2905,2903,2135,2123,2121,42,2130,2116,2114,0,2917,2903,2901,2135,2121,2119,42,2130,2114,2131,0,2917,2901,2918,2135,2119,2136,42,2131,2114,2111,0,2918,2901,2898,2136,2119,2116,42,2131,2111,2132,0,2918,2898,2919,2136,2116,2137,42,2132,2111,2133,0,2919,2898,2920,2137,2116,2138,42,2133,2111,2109,0,2920,2898,2896,2138,2116,2114,42,2133,2109,2134,0,2920,2896,2921,2138,2114,2139,42,2109,2107,2134,0,2896,2894,2921,2114,2112,2139,42,2134,2107,2105,0,2921,2894,2892,2139,2112,2110,42,2134,2105,2135,0,2921,2892,2922,2139,2110,2140,42,2135,2105,2104,0,2922,2892,2891,2140,2110,2109,42,2135,2104,2136,0,2922,2891,2923,2140,2109,2141,42,2136,2104,2137,0,2923,2891,2924,2141,2109,2142,42,2104,2101,2137,0,2891,2886,2924,2109,2106,2142,42,2137,2101,2099,0,2924,2886,2888,2142,2106,2104,42,2137,2099,2138,0,2924,2888,2925,2142,2104,2143,42,2138,2099,2097,0,2926,2927,2928,2143,2104,2102,42,2138,2097,2139,0,2926,2928,2929,2143,2102,2144,42,2139,2097,2095,0,2929,2928,2930,2144,2102,2100,42,2139,2095,2140,0,2929,2930,2931,2144,2100,2145,42,2140,2095,2094,0,2931,2930,2932,2145,2100,2099,42,2140,2094,2141,0,2931,2932,2933,2145,2099,2146,42,2141,2094,2142,0,2933,2932,2934,2146,2099,2147,42,2094,2143,2142,0,2932,2935,2934,2099,2148,2147,42,2094,2090,2143,0,2879,2875,2936,2099,2095,2148,42,2143,2090,2144,0,2936,2875,2937,2148,2095,2149,42,2090,2088,2144,0,2875,2873,2937,2095,2093,2149,42,2088,2085,2144,0,2873,2870,2937,2093,2090,2149,42,2144,2085,2081,0,2937,2870,2867,2149,2090,2086,42,2144,2081,2079,0,2938,2864,2862,2149,2086,2084,42,2145,2144,2079,0,2939,2938,2862,2150,2149,2084,42,2143,2144,2145,0,2935,2938,2939,2148,2149,2150,42,2142,2143,2145,0,2934,2935,2939,2147,2148,2150,42,2145,2078,2142,0,2939,2861,2934,2150,2083,2147,42,2145,2079,2078,0,2939,2862,2861,2150,2084,2083,42,2142,2078,2141,0,2934,2861,2933,2147,2083,2146,42,2141,2078,2146,0,2933,2861,2940,2146,2083,2151,42,2146,2078,2147,0,2940,2861,2941,2151,2083,2152,42,2147,2078,2148,0,2941,2861,2942,2152,2083,2153,42,2078,2076,2148,0,2861,2859,2942,2083,2081,2153,42,2148,2076,2070,0,2942,2859,2853,2153,2081,2075,42,2076,2071,2070,0,2859,2854,2853,2081,2076,2075,42,2148,2070,2149,0,2942,2853,2943,2153,2075,2154,42,2149,2070,2150,0,2943,2853,2944,2154,2075,2155,42,2150,2070,2057,0,2944,2853,2836,2155,2075,2062,42,2057,2070,2059,0,2836,2853,2838,2062,2075,2064,42,2070,2061,2059,0,2945,2840,2842,2075,2066,2064,42,2070,2064,2061,0,2945,2845,2840,2075,2069,2066,42,2150,2057,2055,0,2944,2836,2834,2155,2062,2060,42,2150,2055,2151,0,2944,2834,2946,2155,2060,2156,42,2152,2151,2055,0,2947,2946,2834,2157,2156,2060,42,2149,2151,2152,0,2943,2946,2947,2154,2156,2157,42,2151,2149,2150,0,2946,2943,2944,2156,2154,2155,42,2147,2149,2152,0,2941,2943,2947,2152,2154,2157,42,2148,2149,2147,0,2942,2943,2941,2153,2154,2152,42,2147,2152,2146,0,2941,2947,2940,2152,2157,2151,42,2146,2152,2153,0,2940,2947,2948,2151,2157,2158,42,2153,2152,2154,0,2948,2947,2949,2158,2157,2159,42,2152,2155,2154,0,2947,2950,2949,2157,2160,2159,42,2152,2055,2155,0,2947,2834,2950,2157,2060,2160,42,2055,2053,2155,0,2834,2832,2950,2060,2058,2160,42,2155,2053,2051,0,2950,2832,2830,2160,2058,2056,42,2154,2155,2051,0,2949,2950,2830,2159,2160,2056,42,2154,2051,2156,0,2949,2830,2951,2159,2056,2161,42,2156,2051,2049,0,2951,2830,2828,2161,2056,2054,42,2156,2049,2047,0,2951,2828,2826,2161,2054,2052,42,2156,2047,2157,0,2951,2826,2952,2161,2052,2162,42,2157,2047,2045,0,2952,2826,2824,2162,2052,2050,42,2158,2157,2045,0,2953,2952,2824,2163,2162,2050,42,2159,2157,2158,0,2954,2952,2953,2164,2162,2163,42,2160,2157,2159,0,2955,2952,2954,2165,2162,2164,42,2160,2161,2157,0,2955,2956,2952,2165,2166,2162,42,2162,2161,2160,0,2957,2958,2959,2167,2166,2165,42,2163,2161,2162,0,2960,2958,2957,2168,2166,2167,42,2163,2164,2161,0,2960,2961,2958,2168,2169,2166,42,2165,2164,2163,0,2962,2961,2960,2170,2169,2168,42,2165,2138,2164,0,2962,2925,2961,2170,2143,2169,42,2165,2137,2138,0,2962,2924,2925,2170,2142,2143,42,2136,2137,2165,0,2923,2924,2962,2141,2142,2170,42,2166,2136,2165,0,2963,2923,2962,2171,2141,2170,42,2167,2136,2166,0,2964,2923,2963,2172,2141,2171,42,2167,2135,2136,0,2964,2922,2923,2172,2140,2141,42,2134,2135,2167,0,2921,2922,2964,2139,2140,2172,42,2168,2134,2167,0,2965,2921,2964,2173,2139,2172,42,2169,2134,2168,0,2966,2921,2965,2174,2139,2173,42,2169,2133,2134,0,2966,2920,2921,2174,2138,2139,42,2170,2133,2169,0,2967,2920,2966,2175,2138,2174,42,2170,2132,2133,0,2967,2919,2920,2175,2137,2138,42,2131,2132,2170,0,2918,2919,2967,2136,2137,2175,42,2171,2131,2170,0,2968,2918,2967,2176,2136,2175,42,2129,2131,2171,0,2916,2918,2968,2134,2136,2176,42,2129,2130,2131,0,2916,2917,2918,2134,2135,2136,42,2129,2171,2172,0,2916,2968,2969,2134,2176,2177,42,2172,2171,2170,0,2969,2968,2967,2177,2176,2175,42,2172,2170,2173,0,2969,2967,2970,2177,2175,2178,42,2173,2170,2174,0,2970,2967,2971,2178,2175,2179,42,2170,2169,2174,0,2967,2966,2971,2175,2174,2179,42,2174,2169,2175,0,2971,2966,2972,2179,2174,2180,42,2169,2168,2175,0,2966,2965,2972,2174,2173,2180,42,2168,2167,2175,0,2965,2964,2972,2173,2172,2180,42,2175,2167,2176,0,2972,2964,2973,2180,2172,2181,42,2167,2166,2176,0,2964,2963,2973,2172,2171,2181,42,2166,2177,2176,0,2963,2974,2973,2171,2182,2181,42,2166,2163,2177,0,2963,2960,2974,2171,2168,2182,42,2166,2165,2163,0,2963,2962,2960,2171,2170,2168,42,2177,2163,2162,0,2974,2960,2957,2182,2168,2167,42,2177,2162,2178,0,2974,2957,2975,2182,2167,2183,42,2178,2162,2179,0,2975,2957,2976,2183,2167,2184,42,2162,2160,2179,0,2957,2959,2976,2167,2165,2184,42,2179,2160,2180,0,2976,2959,2977,2184,2165,2185,42,2160,2159,2180,0,2955,2954,2978,2165,2164,2185,42,2180,2159,2181,0,2978,2954,2979,2185,2164,2186,42,2159,2182,2181,0,2954,2980,2979,2164,2187,2186,42,2159,2158,2182,0,2954,2953,2980,2164,2163,2187,42,2158,2041,2182,0,2953,2820,2980,2163,2046,2187,42,2158,2042,2041,0,2953,2821,2820,2163,2047,2046,42,2158,2045,2042,0,2953,2824,2821,2163,2050,2047,42,2183,2182,2041,0,2981,2980,2820,2188,2187,2046,42,2184,2182,2183,0,2982,2980,2981,2189,2187,2188,42,2184,2181,2182,0,2982,2979,2980,2189,2186,2187,42,2184,2180,2181,0,2982,2978,2979,2189,2185,2186,42,2185,2180,2184,0,2983,2978,2982,2190,2185,2189,42,2185,2186,2180,0,2984,2985,2977,2190,2191,2185,42,2187,2186,2185,0,2986,2985,2984,2192,2191,2190,42,2187,2188,2186,0,2986,2987,2985,2192,2193,2191,42,2189,2188,2187,0,2988,2987,2986,2194,2193,2192,42,2190,2188,2189,0,2989,2987,2988,2195,2193,2194,42,2190,2191,2188,0,2989,2990,2987,2195,2196,2193,42,2192,2191,2190,0,2991,2990,2989,2197,2196,2195,42,2193,2191,2192,0,2992,2990,2991,2198,2196,2197,42,2194,2191,2193,0,2993,2990,2992,2199,2196,2198,42,2194,2195,2191,0,2993,2994,2990,2199,2200,2196,42,2194,2196,2195,0,2993,2995,2994,2199,2201,2200,42,2197,2196,2194,0,2996,2995,2993,2202,2201,2199,42,2175,2196,2197,0,2972,2995,2996,2180,2201,2202,42,2175,2176,2196,0,2972,2973,2995,2180,2181,2201,42,2176,2177,2196,0,2973,2974,2995,2181,2182,2201,42,2177,2178,2196,0,2974,2975,2995,2182,2183,2201,42,2196,2178,2195,0,2995,2975,2994,2201,2183,2200,42,2195,2178,2198,0,2994,2975,2997,2200,2183,2203,42,2178,2179,2198,0,2975,2976,2997,2183,2184,2203,42,2198,2179,2186,0,2997,2976,2985,2203,2184,2191,42,2179,2180,2186,0,2976,2977,2985,2184,2185,2191,42,2198,2186,2188,0,2997,2985,2987,2203,2191,2193,42,2191,2198,2188,0,2990,2997,2987,2196,2203,2193,42,2195,2198,2191,0,2994,2997,2990,2200,2203,2196,42,2175,2197,2199,0,2972,2996,2998,2180,2202,2204,42,2199,2197,2194,0,2998,2996,2993,2204,2202,2199,42,2199,2194,2200,0,2998,2993,2999,2204,2199,2205,42,2200,2194,2201,0,2999,2993,3000,2205,2199,2206,42,2201,2194,2193,0,3000,2993,2992,2206,2199,2198,42,2201,2193,2192,0,3000,2992,2991,2206,2198,2197,42,2201,2192,2202,0,3000,2991,3001,2206,2197,2207,42,2110,2202,2192,0,3002,3001,2991,2115,2207,2197,42,2112,2202,2110,0,3003,3001,3002,2117,2207,2115,42,2112,2203,2202,0,3003,3004,3001,2117,2208,2207,42,2112,2204,2203,0,3003,3005,3004,2117,2209,2208,42,2113,2204,2112,0,3006,3005,3003,2118,2209,2117,42,2115,2204,2113,0,3007,3005,3006,2120,2209,2118,42,2115,2205,2204,0,3007,3008,3005,2120,2210,2209,42,2115,2206,2205,0,3007,3009,3008,2120,2211,2210,42,2117,2206,2115,0,2904,3010,2902,2122,2211,2120,42,2117,2119,2206,0,2904,2906,3010,2122,2124,2211,42,2119,2207,2206,0,2906,3011,3010,2124,2212,2211,42,2119,2208,2207,0,2906,3012,3011,2124,2213,2212,42,2120,2208,2119,0,2907,3012,2906,2125,2213,2124,42,2120,2123,2208,0,2907,2910,3012,2125,2128,2213,42,2123,2209,2208,0,2910,3013,3012,2128,2214,2213,42,2124,2209,2123,0,2911,3013,2910,2129,2214,2128,42,2209,2210,2208,0,3013,3014,3012,2214,2215,2213,42,2208,2210,2211,0,3012,3014,3015,2213,2215,2216,42,2208,2211,2212,0,3012,3015,3016,2213,2216,2217,42,2211,2213,2212,0,3017,3018,3019,2216,2218,2217,42,2214,2213,2211,0,3020,3018,3017,2219,2218,2216,42,2215,2213,2214,0,3021,3018,3020,2220,2218,2219,42,2215,2216,2213,0,3021,3022,3018,2220,2221,2218,42,2217,2216,2215,0,3023,3022,3021,2222,2221,2220,42,2218,2216,2217,0,3024,3022,3023,2223,2221,2222,42,2218,2219,2216,0,3024,3025,3022,2223,2224,2221,42,2220,2219,2218,0,3026,3025,3024,2225,2224,2223,42,2221,2219,2220,0,3027,3025,3026,2226,2224,2225,42,2221,2222,2219,0,3027,3028,3025,2226,2227,2224,42,2221,2223,2222,0,3027,3029,3028,2226,2228,2227,42,2221,2224,2223,0,3027,3030,3029,2226,2229,2228,42,2225,2224,2221,0,3031,3030,3027,2230,2229,2226,42,2225,2226,2224,0,3031,3032,3030,2230,2231,2229,42,2225,2227,2226,0,3031,3033,3032,2230,2232,2231,42,2172,2227,2225,0,2969,3033,3031,2177,2232,2230,42,2172,2228,2227,0,2969,3034,3033,2177,2233,2232,42,2172,2173,2228,0,2969,2970,3034,2177,2178,2233,42,2173,2174,2228,0,2970,2971,3034,2178,2179,2233,42,2174,2199,2228,0,2971,2998,3034,2179,2204,2233,42,2174,2175,2199,0,2971,2972,2998,2179,2180,2204,42,2228,2199,2200,0,3034,2998,2999,2233,2204,2205,42,2228,2200,2229,0,3034,2999,3035,2233,2205,2234,42,2229,2200,2230,0,3035,2999,3036,2234,2205,2235,42,2230,2200,2201,0,3036,2999,3000,2235,2205,2206,42,2230,2201,2202,0,3036,3000,3001,2235,2206,2207,42,2230,2202,2203,0,3036,3001,3004,2235,2207,2208,42,2204,2230,2203,0,3005,3036,3004,2209,2235,2208,42,2231,2230,2204,0,3037,3036,3005,2236,2235,2209,42,2226,2230,2231,0,3032,3036,3037,2231,2235,2236,42,2226,2229,2230,0,3032,3035,3036,2231,2234,2235,42,2228,2229,2226,0,3034,3035,3032,2233,2234,2231,42,2227,2228,2226,0,3033,3034,3032,2232,2233,2231,42,2223,2226,2231,0,3029,3032,3037,2228,2231,2236,42,2224,2226,2223,0,3030,3032,3029,2229,2231,2228,42,2223,2231,2204,0,3029,3037,3005,2228,2236,2209,42,2223,2204,2205,0,3029,3005,3008,2228,2209,2210,42,2232,2223,2205,0,3038,3029,3008,2237,2228,2210,42,2222,2223,2232,0,3028,3029,3038,2227,2228,2237,42,2219,2222,2232,0,3025,3028,3038,2224,2227,2237,42,2219,2232,2233,0,3025,3038,3039,2224,2237,2238,42,2233,2232,2207,0,3039,3038,3040,2238,2237,2212,42,2206,2207,2232,0,3009,3040,3038,2211,2212,2237,42,2206,2232,2205,0,3009,3038,3008,2211,2237,2210,42,2213,2233,2207,0,3018,3039,3040,2218,2238,2212,42,2213,2219,2233,0,3018,3025,3039,2218,2224,2238,42,2216,2219,2213,0,3022,3025,3018,2221,2224,2218,42,2213,2207,2212,0,3018,3040,3019,2218,2212,2217,42,2208,2212,2207,0,3012,3016,3011,2213,2217,2212,42,2234,2172,2225,0,3041,2969,3031,2239,2177,2230,42,2234,2129,2172,0,3041,2916,2969,2239,2134,2177,42,2127,2129,2234,0,2914,2916,3041,2132,2134,2239,42,2127,2128,2129,0,2914,2915,2916,2132,2133,2134,42,2127,2234,2225,0,2914,3041,3031,2132,2239,2230,42,2127,2225,2235,0,2914,3031,3042,2132,2230,2240,42,2235,2225,2221,0,3042,3031,3027,2240,2230,2226,42,2236,2235,2221,0,3043,3042,3027,2241,2240,2226,42,2127,2235,2236,0,2914,3042,3043,2132,2240,2241,42,2236,2126,2127,0,3043,2913,2914,2241,2131,2132,42,2125,2126,2236,0,2912,2913,3043,2130,2131,2241,42,2237,2125,2236,0,3044,2912,3043,2242,2130,2241,42,2238,2125,2237,0,3045,2912,3044,2243,2130,2242,42,2238,2124,2125,0,3045,2911,2912,2243,2129,2130,42,2239,2238,2237,0,3046,3045,3044,2244,2243,2242,42,2237,2218,2239,0,3044,3024,3046,2242,2223,2244,42,2237,2236,2218,0,3044,3043,3024,2242,2241,2223,42,2236,2220,2218,0,3043,3026,3024,2241,2225,2223,42,2236,2221,2220,0,3043,3027,3026,2241,2226,2225,42,2239,2218,2217,0,3046,3024,3023,2244,2223,2222,42,2110,2192,2108,0,3002,2991,3047,2115,2197,2113,42,2108,2192,2106,0,3047,2991,3048,2113,2197,2111,42,2106,2192,2190,0,3048,2991,2989,2111,2197,2195,42,2106,2190,2189,0,3048,2989,2988,2111,2195,2194,42,2106,2189,2103,0,3048,2988,3049,2111,2194,2108,42,2103,2189,2102,0,3049,2988,3050,2108,2194,2107,42,2102,2189,2187,0,3050,2988,2986,2107,2194,2192,42,2102,2187,2240,0,3050,2986,3051,2107,2192,2245,42,2240,2187,2185,0,3051,2986,2984,2245,2192,2190,42,2240,2185,2241,0,3052,2983,3053,2245,2190,2246,42,2241,2185,2184,0,3053,2983,2982,2246,2190,2189,42,2241,2184,2242,0,3053,2982,3054,2246,2189,2247,42,2184,2243,2242,0,2982,3055,3054,2189,2248,2247,42,2243,2184,2244,0,3055,2982,3056,2248,2189,2249,42,2184,2183,2244,0,2982,2981,3056,2189,2188,2249,42,2244,2183,2041,0,3056,2981,2820,2249,2188,2046,42,2244,2041,2245,0,3056,2820,3057,2249,2046,2250,42,2245,2041,2039,0,3057,2820,2818,2250,2046,2044,42,2245,2039,2038,0,3057,2818,2817,2250,2044,2043,42,2245,2038,2246,0,3057,2817,3058,2250,2043,2251,42,2246,2038,2247,0,3058,2817,3059,2251,2043,2252,42,2247,2038,2035,0,3059,2817,2814,2252,2043,2040,42,2035,2248,2247,0,2814,3060,3059,2040,2253,2252,42,2248,2035,2033,0,3060,2814,2812,2253,2040,2038,42,2248,2033,2249,0,3060,2812,3061,2253,2038,2254,42,2249,2033,2032,0,3061,2812,2811,2254,2038,2037,42,2249,2032,2250,0,3062,3063,3064,2254,2037,2255,42,2032,2251,2250,0,3063,3065,3064,2037,2256,2255,42,2024,2251,2032,0,3066,3065,3063,2029,2256,2037,42,2024,2022,2251,0,3066,3067,3065,2029,2027,2256,42,2022,2252,2251,0,3067,3068,3065,2027,2257,2256,42,2022,2020,2252,0,3067,2797,3068,2027,2025,2257,42,2020,2019,2252,0,2797,2796,3068,2025,2024,2257,42,2019,2018,2252,0,2796,2793,3068,2024,2021,2257,42,2253,2252,2018,0,3069,3068,2793,2258,2257,2021,42,2252,2253,2254,0,3068,3069,3070,2257,2258,2259,42,2254,2253,2255,0,3070,3069,3071,2259,2258,2260,42,2255,2253,2256,0,3071,3069,3072,2260,2258,2261,42,2256,2253,2012,0,3072,3069,3073,2261,2258,2262,42,2012,2253,2018,0,3073,3069,2793,2262,2258,2021,42,2012,2018,2013,0,3073,2793,2795,2262,2021,2023,42,2256,2010,2257,0,3072,2788,3074,2261,2016,2263,42,2010,2009,2257,0,2788,2790,3074,2016,2018,2263,42,2258,2257,2009,0,3075,3074,2790,2264,2263,2018,42,2255,2257,2258,0,3071,3074,3075,2260,2263,2264,42,2255,2256,2257,0,3071,3072,3074,2260,2261,2263,42,2255,2258,2259,0,3071,3075,3076,2260,2264,2265,42,2260,2259,2258,0,3077,3076,3075,2266,2265,2264,42,2028,2259,2260,0,2807,3076,3077,2033,2265,2266,42,2028,2261,2259,0,2807,3078,3076,2033,2267,2265,42,2029,2261,2028,0,2808,3078,2807,2034,2267,2033,42,2029,2262,2261,0,2808,3079,3078,2034,2268,2267,42,2030,2262,2029,0,2809,3079,2808,2035,2268,2034,42,2034,2262,2030,0,2813,3079,2809,2039,2268,2035,42,2034,2036,2262,0,2813,2815,3079,2039,2041,2268,42,2036,2263,2262,0,2815,3080,3079,2041,2269,2268,42,2036,2264,2263,0,2815,3081,3080,2041,2270,2269,42,2037,2264,2036,0,2816,3081,2815,2042,2270,2041,42,2037,2265,2264,0,2816,3082,3081,2042,2271,2270,42,2037,2040,2265,0,2816,2819,3082,2042,2045,2271,42,2043,2265,2040,0,2822,3082,2819,2048,2271,2045,42,2043,2266,2265,0,2822,3083,3082,2048,2272,2271,42,2043,2267,2266,0,2822,3084,3083,2048,2273,2272,42,2044,2267,2043,0,2823,3084,2822,2049,2273,2048,42,2044,2268,2267,0,2823,3085,3084,2049,2274,2273,42,2046,2268,2044,0,2825,3085,2823,2051,2274,2049,42,2048,2268,2046,0,2827,3085,2825,2053,2274,2051,42,2048,2269,2268,0,2827,3086,3085,2053,2275,2274,42,2048,2050,2269,0,2827,2829,3086,2053,2055,2275,42,2050,2270,2269,0,2829,3087,3086,2055,2276,2275,42,2052,2270,2050,0,2831,3087,2829,2057,2276,2055,42,2052,2271,2270,0,2831,3088,3087,2057,2277,2276,42,2272,2271,2052,0,3089,3088,2831,2278,2277,2057,42,2272,2273,2271,0,3089,3090,3088,2278,2279,2277,42,2274,2273,2272,0,3091,3090,3089,2280,2279,2278,42,2274,2275,2273,0,3091,3092,3090,2280,2281,2279,42,2274,2276,2275,0,3093,3094,3095,2280,2282,2281,42,2277,2276,2274,0,3096,3094,3093,2283,2282,2280,42,2277,2278,2276,0,3096,3097,3094,2283,2284,2282,42,2277,2279,2278,0,3096,3098,3097,2283,2285,2284,42,2280,2279,2277,0,3099,3098,3096,2286,2285,2283,42,2280,2281,2279,0,3099,3100,3098,2286,2287,2285,42,2282,2281,2280,0,3101,3100,3099,2288,2287,2286,42,2282,2283,2281,0,3101,3102,3100,2288,2289,2287,42,2284,2283,2282,0,3103,3102,3101,2290,2289,2288,42,2284,2285,2283,0,3103,3104,3102,2290,2291,2289,42,2284,2247,2285,0,3103,3059,3104,2290,2252,2291,42,2246,2247,2284,0,3058,3059,3103,2251,2252,2290,42,2246,2284,2286,0,3058,3103,3105,2251,2290,2292,42,2286,2284,2066,0,3105,3103,2847,2292,2290,2071,42,2066,2284,2282,0,2847,3103,3101,2071,2290,2288,42,2066,2282,2065,0,2847,3101,2846,2071,2288,2070,42,2282,2280,2065,0,3101,3099,2846,2288,2286,2070,42,2065,2280,2287,0,2846,3099,3106,2070,2286,2293,42,2280,2288,2287,0,3107,3108,3109,2286,2294,2293,42,2056,2288,2280,0,2835,3108,3107,2061,2294,2286,42,2058,2288,2056,0,2837,3108,2835,2063,2294,2061,42,2058,2289,2288,0,2837,3110,3108,2063,2295,2294,42,2058,2290,2289,0,2837,3111,3110,2063,2296,2295,42,2058,2060,2290,0,2837,2839,3111,2063,2065,2296,42,2290,2060,2291,0,3111,2839,3112,2296,2065,2297,42,2062,2291,2060,0,2843,3113,2841,2067,2297,2065,42,2062,2292,2291,0,2843,3114,3113,2067,2298,2297,42,2062,2293,2292,0,2843,3115,3114,2067,2299,2298,42,2062,2063,2293,0,2843,2844,3115,2067,2068,2299,42,2063,2294,2293,0,2844,3116,3115,2068,2300,2299,42,2063,2287,2294,0,2844,3106,3116,2068,2293,2300,42,2065,2287,2063,0,2846,3106,2844,2070,2293,2068,42,2287,2289,2294,0,3109,3110,3117,2293,2295,2300,42,2287,2288,2289,0,3109,3108,3110,2293,2294,2295,42,2294,2289,2295,0,3117,3110,3118,2300,2295,2301,42,2290,2295,2289,0,3111,3118,3110,2296,2301,2295,42,2290,2296,2295,0,3111,3119,3118,2296,2302,2301,42,2291,2296,2290,0,3112,3119,3111,2297,2302,2296,42,2291,2297,2296,0,3112,3120,3119,2297,2303,2302,42,2292,2297,2291,0,3114,3121,3113,2298,2303,2297,42,2292,2298,2297,0,3114,3122,3121,2298,2304,2303,42,2292,2299,2298,0,3114,3123,3122,2298,2305,2304,42,2292,2300,2299,0,3114,3124,3123,2298,2306,2305,42,2292,2293,2300,0,3114,3115,3124,2298,2299,2306,42,2293,2301,2300,0,3115,3125,3124,2299,2307,2306,42,2294,2301,2293,0,3116,3125,3115,2300,2307,2299,42,2294,2295,2301,0,3117,3118,3126,2300,2301,2307,42,2301,2295,2302,0,3126,3118,3127,2307,2301,2308,42,2296,2302,2295,0,3119,3127,3118,2302,2308,2301,42,2296,2303,2302,0,3119,3128,3127,2302,2309,2308,42,2297,2303,2296,0,3120,3128,3119,2303,2309,2302,42,2304,2303,2297,0,3129,3128,3120,2310,2309,2303,42,2303,2304,2302,0,3128,3129,3127,2309,2310,2308,42,2302,2304,2305,0,3127,3129,3130,2308,2310,2311,42,2304,2306,2305,0,3129,3131,3130,2310,2312,2311,42,2304,2307,2306,0,3129,3132,3131,2310,2313,2312,42,2308,2307,2304,0,3133,3132,3129,2314,2313,2310,42,2309,2307,2308,0,3134,3132,3133,2315,2313,2314,42,2309,2310,2307,0,3134,3135,3132,2315,2316,2313,42,2311,2310,2309,0,3136,3135,3134,2317,2316,2315,42,2312,2310,2311,0,3137,3135,3136,2318,2316,2317,42,2312,2313,2310,0,3137,3138,3135,2318,2319,2316,42,2314,2313,2312,0,3139,3138,3137,2320,2319,2318,42,2315,2313,2314,0,3140,3138,3139,2321,2319,2320,42,2316,2313,2315,0,3141,3138,3140,2322,2319,2321,42,2316,2306,2313,0,3141,3131,3138,2322,2312,2319,42,2317,2306,2316,0,3142,3131,3141,2323,2312,2322,42,2317,2305,2306,0,3142,3130,3131,2323,2311,2312,42,2318,2305,2317,0,3143,3130,3142,2324,2311,2323,42,2318,2302,2305,0,3143,3127,3130,2324,2308,2311,42,2301,2302,2318,0,3126,3127,3143,2307,2308,2324,42,2300,2301,2318,0,3124,3125,3144,2306,2307,2324,42,2299,2300,2318,0,3123,3124,3144,2305,2306,2324,42,2317,2299,2318,0,3145,3123,3144,2323,2305,2324,42,2319,2299,2317,0,3146,3123,3145,2325,2305,2323,42,2320,2299,2319,0,3147,3123,3146,2326,2305,2325,42,2298,2299,2320,0,3122,3123,3147,2304,2305,2326,42,2298,2320,2321,0,3122,3147,3148,2304,2326,2327,42,2320,2308,2321,0,3147,3149,3148,2326,2314,2327,42,2320,2322,2308,0,3147,3150,3149,2326,2328,2314,42,2320,2319,2322,0,3147,3146,3150,2326,2325,2328,42,2322,2319,2323,0,3150,3146,3151,2328,2325,2329,42,2319,2316,2323,0,3146,3152,3151,2325,2322,2329,42,2319,2317,2316,0,3146,3145,3152,2325,2323,2322,42,2323,2316,2315,0,3151,3152,3153,2329,2322,2321,42,2324,2323,2315,0,3154,3151,3153,2330,2329,2321,42,2325,2323,2324,0,3155,3151,3154,2331,2329,2330,42,2325,2322,2323,0,3155,3150,3151,2331,2328,2329,42,2322,2325,2309,0,3150,3155,3156,2328,2331,2315,42,2325,2326,2309,0,3155,3157,3156,2331,2332,2315,42,2325,2327,2326,0,3155,3158,3157,2331,2333,2332,42,2325,2324,2327,0,3155,3154,3158,2331,2330,2333,42,2327,2324,2315,0,3158,3154,3153,2333,2330,2321,42,2327,2315,2314,0,3158,3153,3159,2333,2321,2320,42,2328,2327,2314,0,3160,3158,3159,2334,2333,2320,42,2326,2327,2328,0,3157,3158,3160,2332,2333,2334,42,2326,2328,2329,0,3157,3160,3161,2332,2334,2335,42,2329,2328,2330,0,3161,3160,3162,2335,2334,2336,42,2328,2331,2330,0,3160,3163,3162,2334,2337,2336,42,2328,2314,2331,0,3160,3159,3163,2334,2320,2337,42,2314,2312,2331,0,3139,3137,3164,2320,2318,2337,42,2331,2312,2332,0,3164,3137,3165,2337,2318,2338,42,2312,2333,2332,0,3137,3166,3165,2318,2339,2338,42,2334,2333,2312,0,3167,3166,3137,2340,2339,2318,42,2335,2333,2334,0,3168,3166,3167,2341,2339,2340,42,2336,2333,2335,0,3169,3166,3168,2342,2339,2341,42,2333,2337,2332,0,3166,3170,3165,2339,2343,2338,42,2332,2337,2338,0,3165,3170,3171,2338,2343,2344,42,2337,2339,2338,0,3170,3172,3171,2343,2345,2344,42,2343,2341,2342,0,3173,3174,3175,2346,2347,2348,42,2345,2343,2346,0,3176,3173,3177,2349,2346,2350,42,2346,2343,2342,0,3177,3173,3175,2350,2346,2348,42,2347,2346,2342,0,3178,3177,3175,2351,2350,2348,42,2348,2346,2347,0,3179,3177,3178,2352,2350,2351,42,2348,2349,2346,0,3179,3180,3177,2352,2353,2350,42,2351,2350,2348,0,3181,3182,3179,2354,2355,2352,42,2352,2354,2353,0,3183,3184,3185,2356,2357,2358,42,2357,2344,2354,0,3186,3187,3184,2359,2360,2357,42,2338,2344,2357,0,3171,3187,3186,2344,2360,2359,42,2358,2332,2338,0,3188,3165,3171,2361,2338,2344,42,2331,2332,2358,0,3164,3165,3188,2337,2338,2361,42,2330,2331,2358,0,3162,3163,3189,2336,2337,2361,42,2358,2357,2330,0,3189,3190,3162,2361,2359,2336,42,2330,2357,2359,0,3162,3190,3191,2336,2359,2362,42,2362,2352,2351,0,3192,3183,3181,2363,2356,2354,42,2362,2348,2363,0,3192,3179,3193,2363,2352,2364,42,2347,2363,2348,0,3178,3193,3179,2351,2364,2352,42,2363,2347,2364,0,3193,3178,3194,2364,2351,2365,42,2365,2364,2347,0,3195,3194,3178,2366,2365,2351,42,2369,2361,2363,0,3196,3197,3193,2367,2368,2364,42,2370,2361,2369,0,3198,3199,3200,2369,2368,2367,42,2370,2330,2361,0,3198,3162,3199,2369,2336,2368,42,2329,2330,2370,0,3161,3162,3198,2335,2336,2369,42,2329,2370,2371,0,3161,3198,3201,2335,2369,2370,42,2370,2369,2371,0,3198,3200,3201,2369,2367,2370,42,2369,2367,2371,0,3196,3202,3203,2367,2371,2370,42,2367,2369,2368,0,3202,3196,3204,2371,2367,2372,42,2372,2371,2367,0,3205,3203,3202,2373,2370,2371,42,2371,2372,2373,0,3203,3205,3206,2370,2373,2374,42,2373,2372,2334,0,3206,3205,3167,2374,2373,2340,42,2372,2335,2334,0,3205,3168,3167,2373,2341,2340,42,2366,2335,2372,0,3207,3168,3205,2375,2341,2373,42,2347,2342,2365,0,3178,3175,3195,2351,2348,2366,42,2367,2366,2372,0,3202,3207,3205,2371,2375,2373,42,2373,2334,2311,0,3206,3167,3136,2374,2340,2317,42,2311,2334,2312,0,3136,3167,3137,2317,2340,2318,42,2373,2311,2309,0,3206,3136,3134,2374,2317,2315,42,2326,2373,2309,0,3157,3208,3156,2332,2374,2315,42,2326,2329,2373,0,3157,3161,3208,2332,2335,2374,42,2329,2371,2373,0,3161,3201,3208,2335,2370,2374,42,2361,2330,2359,0,3199,3162,3191,2368,2336,2362,42,2361,2362,2363,0,3197,3192,3193,2368,2363,2364,42,2344,2345,2354,0,3187,3176,3184,2360,2349,2357,42,2349,2345,2346,0,3180,3176,3177,2353,2349,2350,42,2322,2309,2308,0,3150,3156,3149,2328,2315,2314,42,2304,2321,2308,0,3129,3209,3133,2310,2327,2314,42,2321,2304,2297,0,3209,3129,3120,2327,2310,2303,42,2298,2321,2297,0,3122,3148,3121,2304,2327,2303,42,2313,2306,2307,0,3138,3131,3132,2319,2312,2313,42,2310,2313,2307,0,3135,3138,3132,2316,2319,2313,42,2056,2280,2277,0,3210,3099,3096,2061,2286,2283,42,2056,2277,2274,0,3210,3096,3093,2061,2283,2280,42,2056,2274,2272,0,2835,3091,3089,2061,2280,2278,42,2056,2272,2054,0,2835,3089,2833,2061,2278,2059,42,2054,2272,2052,0,2833,3089,2831,2059,2278,2057,42,2066,2374,2286,0,2847,3211,3105,2071,2376,2292,42,2374,2066,2091,0,3211,2847,2876,2376,2071,2096,42,2091,2066,2067,0,2876,2847,2848,2096,2071,2072,42,2091,2067,2375,0,2876,2848,3212,2096,2072,2377,42,2375,2067,2376,0,3212,2848,3213,2377,2072,2378,42,2067,2068,2376,0,2848,2849,3213,2072,2073,2378,42,2068,2377,2376,0,2849,3214,3213,2073,2379,2378,42,2068,2378,2377,0,2849,3215,3214,2073,2380,2379,42,2068,2069,2378,0,2852,2851,3216,2073,2074,2380,42,2069,2072,2378,0,2851,2855,3216,2074,2077,2380,42,2378,2072,2379,0,3216,2855,3217,2380,2077,2381,42,2380,2379,2072,0,3218,3217,2855,2382,2381,2077,42,2381,2379,2380,0,3219,3217,3218,2383,2381,2382,42,2382,2379,2381,0,3220,3217,3219,2384,2381,2383,42,2382,2383,2379,0,3220,3221,3217,2384,2385,2381,42,2384,2383,2382,0,3222,3223,3224,2386,2385,2384,42,2384,2385,2383,0,3222,3225,3223,2386,2387,2385,42,2384,2386,2385,0,3222,3226,3225,2386,2388,2387,42,2387,2386,2384,0,3227,3226,3222,2389,2388,2386,42,2386,2387,2388,0,3226,3227,3228,2388,2389,2390,42,2387,2389,2388,0,3227,3229,3228,2389,2391,2390,42,2387,2390,2389,0,3227,3230,3229,2389,2392,2391,42,2387,2391,2390,0,3227,3231,3230,2389,2393,2392,42,2387,2384,2391,0,3227,3222,3231,2389,2386,2393,42,2391,2384,2382,0,3231,3222,3224,2393,2386,2384,42,2391,2382,2392,0,3231,3224,3232,2393,2384,2394,42,2382,2381,2392,0,3220,3219,3233,2384,2383,2394,42,2392,2381,2393,0,3233,3219,3234,2394,2383,2395,42,2394,2393,2381,0,3235,3234,3219,2396,2395,2383,42,2394,2395,2393,0,3235,3236,3234,2396,2397,2395,42,2395,2394,2389,0,3236,3235,3237,2397,2396,2391,42,2389,2394,2380,0,3237,3235,3218,2391,2396,2382,42,2380,2394,2381,0,3218,3235,3219,2382,2396,2383,42,2389,2380,2388,0,3237,3218,3238,2391,2382,2390,42,2074,2388,2380,0,2857,3238,3218,2079,2390,2382,42,2396,2388,2074,0,3239,3228,3240,2398,2390,2079,42,2396,2386,2388,0,3239,3226,3228,2398,2388,2390,42,2396,2385,2386,0,3239,3225,3226,2398,2387,2388,42,2396,2377,2385,0,3239,3214,3225,2398,2379,2387,42,2397,2377,2396,0,3241,3214,3239,2399,2379,2398,42,2397,2376,2377,0,3241,3213,3214,2399,2378,2379,42,2375,2376,2397,0,3212,3213,3241,2377,2378,2399,42,2375,2397,2077,0,3212,3241,3242,2377,2399,2082,42,2077,2397,2075,0,3242,3241,3243,2082,2399,2080,42,2397,2396,2075,0,3241,3239,3243,2399,2398,2080,42,2075,2396,2074,0,3243,3239,3240,2080,2398,2079,42,2375,2077,2398,0,3244,2860,3245,2377,2082,2400,42,2080,2398,2077,0,2863,3245,2860,2085,2400,2082,42,2080,2082,2398,0,2863,2865,3245,2085,2087,2400,42,2082,2399,2398,0,2865,3246,3245,2087,2401,2400,42,2082,2400,2399,0,2865,3247,3246,2087,2402,2401,42,2083,2400,2082,0,2866,3247,2865,2088,2402,2087,42,2083,2401,2400,0,2866,3248,3247,2088,2403,2402,42,2402,2401,2083,0,3249,3250,2869,2404,2403,2088,42,2403,2401,2402,0,3251,3250,3249,2405,2403,2404,42,2403,2404,2401,0,3251,3252,3250,2405,2406,2403,42,2403,2405,2404,0,3251,3253,3252,2405,2407,2406,42,2405,2403,2406,0,3253,3251,3254,2407,2405,2408,42,2406,2403,2407,0,3254,3251,3255,2408,2405,2409,42,2407,2403,2402,0,3255,3251,3249,2409,2405,2404,42,2402,2408,2407,0,3249,3256,3255,2404,2410,2409,42,2084,2408,2402,0,2868,3256,3249,2089,2410,2404,42,2084,2086,2408,0,2868,2871,3256,2089,2091,2410,42,2086,2409,2408,0,2871,3257,3256,2091,2411,2410,42,2410,2409,2086,0,3258,3257,2871,2412,2411,2091,42,2410,2398,2409,0,3259,3245,3260,2412,2400,2411,42,2375,2398,2410,0,3244,3245,3259,2377,2400,2412,42,2089,2375,2410,0,2874,3212,3258,2094,2377,2412,42,2091,2375,2089,0,2876,3212,2874,2096,2377,2094,42,2089,2410,2087,0,2874,3258,2872,2094,2412,2092,42,2087,2410,2086,0,2872,3258,2871,2092,2412,2091,42,2398,2399,2409,0,3245,3246,3260,2400,2401,2411,42,2409,2399,2411,0,3260,3246,3261,2411,2401,2413,42,2411,2399,2412,0,3261,3246,3262,2413,2401,2414,42,2400,2412,2399,0,3247,3262,3246,2402,2414,2401,42,2413,2412,2400,0,3263,3262,3247,2415,2414,2402,42,2414,2412,2413,0,3264,3262,3263,2416,2414,2415,42,2414,2411,2412,0,3264,3261,3262,2416,2413,2414,42,2407,2411,2414,0,3255,3265,3266,2409,2413,2416,42,2407,2408,2411,0,3255,3256,3265,2409,2410,2413,42,2408,2409,2411,0,3256,3257,3265,2410,2411,2413,42,2406,2407,2414,0,3254,3255,3266,2408,2409,2416,42,2406,2414,2415,0,3254,3266,3267,2408,2416,2417,42,2414,2413,2415,0,3264,3263,3268,2416,2415,2417,42,2415,2413,2416,0,3268,3263,3269,2417,2415,2418,42,2416,2413,2417,0,3269,3263,3270,2418,2415,2419,42,2417,2413,2400,0,3270,3263,3247,2419,2415,2402,42,2404,2417,2400,0,3271,3270,3247,2406,2419,2402,42,2418,2417,2404,0,3272,3270,3271,2420,2419,2406,42,2418,2419,2417,0,3272,3273,3270,2420,2421,2419,42,2418,2420,2419,0,3272,3274,3273,2420,2422,2421,42,2418,2421,2420,0,3272,3275,3274,2420,2423,2422,42,2422,2421,2418,0,3276,3277,3278,2424,2423,2420,42,2422,2423,2421,0,3276,3279,3277,2424,2425,2423,42,2424,2423,2422,0,3280,3279,3276,2426,2425,2424,42,2425,2423,2424,0,3281,3279,3280,2427,2425,2426,42,2425,2426,2423,0,3281,3282,3279,2427,2428,2425,42,2425,2427,2426,0,3281,3283,3282,2427,2429,2428,42,2427,2425,2428,0,3283,3281,3284,2429,2427,2430,42,2428,2425,2429,0,3284,3281,3285,2430,2427,2431,42,2425,2424,2429,0,3281,3280,3285,2427,2426,2431,42,2429,2424,2430,0,3285,3280,3286,2431,2426,2432,42,2424,2422,2430,0,3280,3276,3286,2426,2424,2432,42,2422,2431,2430,0,3276,3287,3286,2424,2433,2432,42,2405,2431,2422,0,3253,3287,3276,2407,2433,2424,42,2405,2406,2431,0,3253,3254,3287,2407,2408,2433,42,2406,2415,2431,0,3254,3267,3287,2408,2417,2433,42,2431,2415,2432,0,3287,3267,3288,2433,2417,2434,42,2432,2415,2416,0,3289,3268,3269,2434,2417,2418,42,2432,2416,2433,0,3289,3269,3290,2434,2418,2435,42,2420,2433,2416,0,3274,3290,3269,2422,2435,2418,42,2434,2433,2420,0,3291,3290,3274,2436,2435,2422,42,2432,2433,2434,0,3289,3290,3291,2434,2435,2436,42,2435,2432,2434,0,3292,3289,3291,2437,2434,2436,42,2430,2432,2435,0,3286,3288,3293,2432,2434,2437,42,2431,2432,2430,0,3287,3288,3286,2433,2434,2432,42,2429,2430,2435,0,3285,3286,3293,2431,2432,2437,42,2429,2435,2436,0,3285,3293,3294,2431,2437,2438,42,2436,2435,2434,0,3295,3292,3291,2438,2437,2436,42,2436,2434,2437,0,3295,3291,3296,2438,2436,2439,42,2437,2434,2438,0,3296,3291,3297,2439,2436,2440,42,2438,2434,2420,0,3297,3291,3274,2440,2436,2422,42,2438,2420,2423,0,3297,3274,3298,2440,2422,2425,42,2423,2420,2421,0,3298,3274,3275,2425,2422,2423,42,2439,2438,2423,0,3299,3297,3298,2441,2440,2425,42,2439,2437,2438,0,3299,3296,3297,2441,2439,2440,42,2440,2437,2439,0,3300,3296,3299,2442,2439,2441,42,2440,2441,2437,0,3300,3301,3296,2442,2443,2439,42,2442,2441,2440,0,3302,3301,3300,2444,2443,2442,42,2442,2443,2441,0,3302,3303,3301,2444,2445,2443,42,2448,2441,2447,0,3304,3301,3305,2446,2443,2447,42,2448,2437,2441,0,3304,3296,3301,2446,2439,2443,42,2449,2437,2448,0,3306,3296,3304,2448,2439,2446,42,2436,2437,2449,0,3295,3296,3306,2438,2439,2448,42,2428,2436,2449,0,3284,3294,3307,2430,2438,2448,42,2428,2429,2436,0,3284,3285,3294,2430,2431,2438,42,2450,2428,2449,0,3308,3284,3307,2449,2430,2448,42,2450,2427,2428,0,3308,3283,3284,2449,2429,2430,42,2450,2451,2427,0,3308,3309,3283,2449,2450,2429,42,2451,2450,2452,0,3309,3308,3310,2450,2449,2451,42,2452,2450,2453,0,3310,3308,3311,2451,2449,2452,42,2450,2454,2453,0,3308,3312,3311,2449,2453,2452,42,2450,2455,2454,0,3308,3313,3312,2449,2454,2453,42,2450,2449,2455,0,3308,3307,3313,2449,2448,2454,42,2449,2448,2455,0,3306,3304,3314,2448,2446,2454,42,2455,2448,2456,0,3314,3304,3315,2454,2446,2455,42,2456,2448,2447,0,3315,3304,3305,2455,2446,2447,42,2456,2447,2457,0,3315,3305,3316,2455,2447,2456,42,2456,2458,2454,0,3315,3317,3318,2455,2457,2453,42,2461,2445,2444,0,3319,3320,3321,2458,2459,2460,42,2462,2461,2444,0,3322,3319,3321,2461,2458,2460,42,2460,2461,2462,0,3323,3319,3322,2462,2458,2461,42,2463,2460,2462,0,3324,3323,3322,2463,2462,2461,42,2472,2463,2462,0,3325,3324,3322,2464,2463,2461,42,2472,2462,2473,0,3325,3322,3326,2464,2461,2465,42,2473,2462,2444,0,3326,3322,3321,2465,2461,2460,42,2473,2444,2474,0,3326,3321,3327,2465,2460,2466,42,2476,2475,2442,0,3328,3329,3302,2467,2468,2444,42,2477,2475,2476,0,3330,3329,3328,2469,2468,2467,42,2481,2452,2480,0,3331,3332,3333,2470,2451,2471,42,2451,2452,2481,0,3309,3310,3334,2450,2451,2470,42,2451,2481,2482,0,3309,3334,3335,2450,2470,2472,42,2481,2477,2482,0,3331,3330,3336,2470,2469,2472,42,2481,2479,2477,0,3331,3337,3330,2470,2473,2469,42,2477,2476,2482,0,3330,3328,3336,2469,2467,2472,42,2482,2476,2426,0,3336,3328,3338,2472,2467,2428,42,2476,2440,2426,0,3328,3300,3338,2467,2442,2428,42,2476,2442,2440,0,3328,3302,3300,2467,2444,2442,42,2426,2440,2439,0,3338,3300,3299,2428,2442,2441,42,2426,2439,2423,0,3338,3299,3298,2428,2441,2425,42,2427,2482,2426,0,3283,3335,3282,2429,2472,2428,42,2451,2482,2427,0,3309,3335,3283,2450,2472,2429,42,2420,2416,2419,0,3274,3269,3273,2422,2418,2421,42,2416,2417,2419,0,3269,3270,3273,2418,2419,2421,42,2405,2422,2418,0,3253,3276,3278,2407,2424,2420,42,2405,2418,2404,0,3253,3278,3252,2407,2420,2406,42,2404,2400,2401,0,3271,3247,3248,2406,2402,2403,42,2084,2402,2083,0,2868,3249,2869,2089,2404,2088,42,2377,2378,2385,0,3214,3215,3225,2379,2380,2387,42,2385,2378,2383,0,3225,3215,3223,2387,2380,2385,42,2378,2379,2383,0,3216,3217,3221,2380,2381,2385,42,2073,2074,2380,0,2856,2857,3218,2078,2079,2382,42,2073,2380,2072,0,2856,3218,2855,2078,2382,2077,42,2483,2395,2389,0,3339,3236,3237,2474,2397,2391,42,2483,2484,2395,0,3339,3340,3236,2474,2475,2397,42,2483,2485,2484,0,3339,3341,3340,2474,2476,2475,42,2390,2485,2483,0,3230,3342,3343,2392,2476,2474,42,2390,2486,2485,0,3230,3344,3342,2392,2477,2476,42,2390,2487,2486,0,3230,3345,3344,2392,2478,2477,42,2390,2391,2487,0,3230,3231,3345,2392,2393,2478,42,2487,2391,2392,0,3345,3231,3232,2478,2393,2394,42,2487,2392,2488,0,3345,3232,3346,2478,2394,2479,42,2392,2393,2488,0,3233,3234,3347,2394,2395,2479,42,2488,2393,2489,0,3347,3234,3348,2479,2395,2480,42,2484,2489,2393,0,3340,3348,3234,2475,2480,2395,42,2490,2489,2484,0,3349,3348,3340,2481,2480,2475,42,2491,2489,2490,0,3350,3348,3349,2482,2480,2481,42,2488,2489,2491,0,3347,3348,3350,2479,2480,2482,42,2492,2488,2491,0,3351,3346,3352,2483,2479,2482,42,2492,2487,2488,0,3351,3345,3346,2483,2478,2479,42,2486,2487,2492,0,3344,3345,3351,2477,2478,2483,42,2493,2486,2492,0,3353,3344,3351,2484,2477,2483,42,2493,2494,2486,0,3353,3354,3344,2484,2485,2477,42,2493,2495,2494,0,3353,3355,3354,2484,2486,2485,42,2495,2493,2496,0,3355,3353,3356,2486,2484,2487,42,2496,2493,2492,0,3356,3353,3351,2487,2484,2483,42,2496,2492,2491,0,3356,3351,3352,2487,2483,2482,42,2496,2491,2497,0,3356,3352,3357,2487,2482,2488,42,2497,2491,2490,0,3358,3350,3349,2488,2482,2481,42,2497,2490,2498,0,3358,3349,3359,2488,2481,2489,42,2498,2490,2499,0,3359,3349,3360,2489,2481,2490,42,2499,2490,2484,0,3360,3349,3340,2490,2481,2475,42,2494,2499,2484,0,3361,3360,3340,2485,2490,2475,42,2500,2499,2494,0,3362,3360,3361,2491,2490,2485,42,2500,2498,2499,0,3362,3359,3360,2491,2489,2490,42,2501,2498,2500,0,3363,3359,3362,2492,2489,2491,42,2501,2502,2498,0,3363,3364,3359,2492,2493,2489,42,2501,2503,2502,0,3363,3365,3364,2492,2494,2493,42,2504,2503,2501,0,3366,3365,3363,2495,2494,2492,42,2504,2505,2503,0,3366,3367,3365,2495,2496,2494,42,2506,2505,2504,0,3368,3367,3366,2497,2496,2495,42,2509,2510,2507,0,3369,3370,3371,2498,2499,2500,42,2509,2511,2510,0,3369,3372,3370,2498,2501,2499,42,2509,2512,2511,0,3369,3373,3372,2498,2502,2501,42,2513,2512,2509,0,3374,3373,3369,2503,2502,2498,42,2513,2516,2515,0,3375,3376,3377,2503,2504,2505,42,2517,2516,2513,0,3378,3376,3375,2506,2504,2503,42,2517,2518,2516,0,3378,3379,3376,2506,2507,2504,42,2518,2517,2519,0,3379,3378,3380,2507,2506,2508,42,2517,2520,2519,0,3378,3381,3380,2506,2509,2508,42,2517,2513,2520,0,3378,3375,3381,2506,2503,2509,42,2520,2513,2509,0,3382,3374,3369,2509,2503,2498,42,2520,2508,2506,0,3382,3383,3368,2509,2510,2497,42,2519,2520,2506,0,3384,3382,3368,2508,2509,2497,42,2519,2506,2504,0,3384,3368,3366,2508,2497,2495,42,2519,2504,2521,0,3384,3366,3385,2508,2495,2511,42,2504,2501,2521,0,3366,3363,3385,2495,2492,2511,42,2521,2501,2500,0,3385,3363,3362,2511,2492,2491,42,2521,2500,2494,0,3385,3362,3361,2511,2491,2485,42,2495,2521,2494,0,3355,3386,3354,2486,2511,2485,42,2518,2521,2495,0,3379,3386,3355,2507,2511,2486,42,2518,2519,2521,0,3379,3380,3386,2507,2508,2511,42,2518,2495,2522,0,3379,3355,3387,2507,2486,2512,42,2522,2495,2496,0,3387,3355,3356,2512,2486,2487,42,2522,2496,2497,0,3387,3356,3357,2512,2487,2488,42,2522,2497,2523,0,3387,3357,3388,2512,2488,2513,42,2523,2497,2498,0,3389,3358,3359,2513,2488,2489,42,2523,2498,2524,0,3389,3359,3390,2513,2489,2514,42,2524,2498,2502,0,3390,3359,3364,2514,2489,2493,42,2524,2502,2525,0,3390,3364,3391,2514,2493,2515,42,2503,2526,2502,0,3365,3392,3364,2494,2516,2493,42,2529,2528,2527,0,3393,3394,3395,2517,2518,2519,42,2532,2525,2531,0,3396,3391,3397,2520,2515,2521,42,2532,2524,2525,0,3396,3390,3391,2520,2514,2515,42,2533,2524,2532,0,3398,3390,3396,2522,2514,2520,42,2523,2524,2533,0,3389,3390,3398,2513,2514,2522,42,2516,2523,2533,0,3376,3388,3399,2504,2513,2522,42,2516,2522,2523,0,3376,3387,3388,2504,2512,2513,42,2516,2518,2522,0,3376,3379,3387,2504,2507,2512,42,2516,2533,2534,0,3376,3399,3400,2504,2522,2523,42,2532,2535,2534,0,3396,3401,3402,2520,2524,2523,42,2536,2529,2537,0,3403,3393,3404,2525,2517,2526,42,2537,2529,2527,0,3404,3393,3395,2526,2517,2519,42,2510,2537,2527,0,3370,3404,3395,2499,2526,2519,42,2511,2537,2510,0,3372,3404,3370,2501,2526,2499,42,2511,2538,2537,0,3372,3405,3404,2501,2527,2526,42,2512,2541,2540,0,3373,3406,3407,2502,2528,2529,42,2516,2534,2515,0,3376,3400,3377,2504,2523,2505,42,2534,2535,2544,0,3402,3401,3408,2523,2524,2530,42,2544,2535,2536,0,3408,3401,3403,2530,2524,2525,42,2538,2536,2537,0,3405,3403,3404,2527,2525,2526,42,2510,2527,2546,0,3370,3395,3409,2499,2519,2531,42,2507,2510,2546,0,3371,3370,3409,2500,2499,2531,42,2494,2484,2485,0,3361,3340,3341,2485,2475,2476,42,2486,2494,2485,0,3344,3354,3342,2477,2485,2476,42,2395,2484,2393,0,3236,3340,3234,2397,2475,2395,42,2390,2483,2389,0,3230,3343,3229,2392,2474,2391,42,2374,2091,2092,0,3211,2876,2877,2376,2096,2097,42,2243,2374,2092,0,3055,3211,2877,2248,2376,2097,42,2374,2243,2547,0,3211,3055,3410,2376,2248,2532,42,2243,2244,2547,0,3055,3056,3410,2248,2249,2532,42,2547,2244,2245,0,3410,3056,3057,2532,2249,2250,42,2547,2245,2246,0,3410,3057,3058,2532,2250,2251,42,2547,2246,2286,0,3410,3058,3105,2532,2251,2292,42,2374,2547,2286,0,3211,3410,3105,2376,2532,2292,42,2243,2092,2242,0,3055,2877,3054,2248,2097,2247,42,2096,2242,2092,0,2881,3054,2877,2101,2247,2097,42,2098,2242,2096,0,2883,3054,2881,2103,2247,2101,42,2098,2241,2242,0,2883,3053,3054,2103,2246,2247,42,2098,2240,2241,0,2883,3052,3053,2103,2245,2246,42,2100,2240,2098,0,2885,3052,2883,2105,2245,2103,42,2100,2102,2240,0,2887,2889,3411,2105,2107,2245,42,2093,2096,2092,0,2878,2881,2877,2098,2101,2097,42,2247,2248,2285,0,3059,3060,3104,2252,2253,2291,42,2285,2248,2283,0,3104,3060,3102,2291,2253,2289,42,2248,2548,2283,0,3060,3412,3102,2253,2533,2289,42,2248,2549,2548,0,3060,3413,3412,2253,2534,2533,42,2549,2248,2249,0,3413,3060,3061,2534,2253,2254,42,2549,2249,2550,0,3414,3062,3415,2534,2254,2535,42,2249,2551,2550,0,3062,3416,3415,2254,2536,2535,42,2249,2250,2551,0,3062,3064,3416,2254,2255,2536,42,2551,2250,2552,0,3416,3064,3417,2536,2255,2537,42,2552,2250,2553,0,3417,3064,3418,2537,2255,2538,42,2250,2251,2553,0,3064,3065,3418,2255,2256,2538,42,2251,2252,2553,0,3065,3068,3418,2256,2257,2538,42,2252,2254,2553,0,3068,3070,3418,2257,2259,2538,42,2553,2254,2255,0,3418,3070,3071,2538,2259,2260,42,2554,2553,2255,0,3419,3418,3071,2539,2538,2260,42,2555,2553,2554,0,3420,3418,3419,2540,2538,2539,42,2552,2553,2555,0,3417,3418,3420,2537,2538,2540,42,2556,2552,2555,0,3421,3417,3420,2541,2537,2540,42,2557,2552,2556,0,3422,3417,3421,2542,2537,2541,42,2557,2551,2552,0,3422,3416,3417,2542,2536,2537,42,2550,2551,2557,0,3415,3416,3422,2535,2536,2542,42,2550,2557,2558,0,3415,3422,3423,2535,2542,2543,42,2558,2557,2266,0,3423,3422,3083,2543,2542,2272,42,2266,2557,2556,0,3083,3422,3421,2272,2542,2541,42,2266,2556,2264,0,3083,3421,3081,2272,2541,2270,42,2556,2555,2264,0,3421,3420,3081,2541,2540,2270,42,2264,2555,2263,0,3081,3420,3080,2270,2540,2269,42,2555,2554,2263,0,3420,3419,3080,2540,2539,2269,42,2263,2554,2261,0,3080,3419,3078,2269,2539,2267,42,2554,2259,2261,0,3419,3076,3078,2539,2265,2267,42,2554,2255,2259,0,3419,3071,3076,2539,2260,2265,42,2262,2263,2261,0,3079,3080,3078,2268,2269,2267,42,2266,2264,2265,0,3083,3081,3082,2272,2270,2271,42,2267,2558,2266,0,3084,3423,3083,2273,2543,2272,42,2268,2558,2267,0,3085,3423,3084,2274,2543,2273,42,2268,2550,2558,0,3085,3415,3423,2274,2535,2543,42,2269,2550,2268,0,3086,3415,3085,2275,2535,2274,42,2269,2549,2550,0,3086,3414,3415,2275,2534,2535,42,2548,2549,2269,0,3412,3413,3424,2533,2534,2275,42,2269,2270,2548,0,3086,3087,3425,2275,2276,2533,42,2548,2270,2283,0,3412,3426,3102,2533,2276,2289,42,2283,2270,2281,0,3102,3426,3100,2289,2276,2287,42,2270,2559,2281,0,3426,3427,3100,2276,2544,2287,42,2270,2560,2559,0,3087,3428,3429,2276,2545,2544,42,2271,2560,2270,0,3088,3428,3087,2277,2545,2276,42,2273,2560,2271,0,3090,3428,3088,2279,2545,2277,42,2273,2561,2560,0,3090,3430,3428,2279,2546,2545,42,2273,2562,2561,0,3090,3431,3430,2279,2547,2546,42,2275,2562,2273,0,3092,3431,3090,2281,2547,2279,42,2275,2563,2562,0,3092,3432,3431,2281,2548,2547,42,2275,2564,2563,0,3092,3433,3432,2281,2549,2548,42,2276,2564,2275,0,3094,3434,3095,2282,2549,2281,42,2276,2565,2564,0,3094,3435,3434,2282,2550,2549,42,2276,2566,2565,0,3094,3436,3435,2282,2551,2550,42,2276,2278,2566,0,3094,3097,3436,2282,2284,2551,42,2278,2567,2566,0,3097,3437,3436,2284,2552,2551,42,2278,2559,2567,0,3097,3427,3437,2284,2544,2552,42,2279,2559,2278,0,3098,3427,3097,2285,2544,2284,42,2281,2559,2279,0,3100,3427,3098,2287,2544,2285,42,2559,2560,2567,0,3429,3428,3438,2544,2545,2552,42,2560,2561,2567,0,3428,3430,3438,2545,2546,2552,42,2567,2561,2568,0,3438,3430,3439,2552,2546,2553,42,2563,2568,2561,0,3432,3439,3430,2548,2553,2546,42,2563,2569,2568,0,3432,3440,3439,2548,2554,2553,42,2563,2570,2569,0,3432,3441,3440,2548,2555,2554,42,2571,2570,2563,0,3442,3441,3432,2556,2555,2548,42,2571,2572,2570,0,3442,3443,3441,2556,2557,2555,42,2571,2573,2572,0,3442,3444,3443,2556,2558,2557,42,2571,2574,2573,0,3445,3446,3447,2556,2559,2558,42,2575,2574,2571,0,3448,3446,3445,2560,2559,2556,42,2575,2576,2574,0,3448,3449,3446,2560,2561,2559,42,2575,2577,2576,0,3448,3450,3449,2560,2562,2561,42,2565,2577,2575,0,3435,3450,3448,2550,2562,2560,42,2565,2566,2577,0,3435,3436,3450,2550,2551,2562,42,2577,2566,2578,0,3450,3436,3451,2562,2551,2563,42,2567,2578,2566,0,3437,3451,3436,2552,2563,2551,42,2567,2568,2578,0,3438,3439,3452,2552,2553,2563,42,2578,2568,2579,0,3452,3439,3453,2563,2553,2564,42,2568,2569,2579,0,3439,3440,3453,2553,2554,2564,42,2579,2569,2580,0,3453,3440,3454,2564,2554,2565,42,2569,2581,2580,0,3440,3455,3454,2554,2566,2565,42,2570,2581,2569,0,3441,3455,3440,2555,2566,2554,42,2570,2572,2581,0,3441,3443,3455,2555,2557,2566,42,2572,2582,2581,0,3443,3456,3455,2557,2567,2566,42,2573,2582,2572,0,3444,3456,3443,2558,2567,2557,42,2573,2583,2582,0,3444,3457,3456,2558,2568,2567,42,2574,2583,2573,0,3446,3458,3447,2559,2568,2558,42,2574,2584,2583,0,3446,3459,3458,2559,2569,2568,42,2574,2585,2584,0,3446,3460,3459,2559,2570,2569,42,2574,2576,2585,0,3446,3449,3460,2559,2561,2570,42,2576,2580,2585,0,3449,3461,3460,2561,2565,2570,42,2576,2579,2580,0,3449,3462,3461,2561,2564,2565,42,2577,2579,2576,0,3450,3462,3449,2562,2564,2561,42,2577,2578,2579,0,3450,3451,3462,2562,2563,2564,42,2585,2580,2586,0,3460,3461,3463,2570,2565,2571,42,2580,2587,2586,0,3454,3464,3465,2565,2572,2571,42,2580,2581,2587,0,3454,3455,3464,2565,2566,2572,42,2582,2587,2581,0,3456,3464,3455,2567,2572,2566,42,2588,2587,2582,0,3466,3464,3456,2573,2572,2567,42,2589,2587,2588,0,3467,3464,3466,2574,2572,2573,42,2586,2587,2589,0,3465,3464,3467,2571,2572,2574,42,2590,2586,2589,0,3468,3463,3469,2575,2571,2574,42,2590,2585,2586,0,3468,3460,3463,2575,2570,2571,42,2590,2584,2585,0,3468,3459,3460,2575,2569,2570,42,2591,2584,2590,0,3470,3459,3468,2576,2569,2575,42,2584,2591,2583,0,3459,3470,3458,2569,2576,2568,42,2591,2592,2583,0,3470,3471,3458,2576,2577,2568,42,2591,2593,2592,0,3470,3472,3471,2576,2578,2577,42,2591,2594,2593,0,3470,3473,3472,2576,2579,2578,42,2591,2590,2594,0,3470,3468,3473,2576,2575,2579,42,2590,2589,2594,0,3468,3469,3473,2575,2574,2579,42,2594,2589,2595,0,3473,3469,3474,2579,2574,2580,42,2589,2588,2595,0,3467,3466,3475,2574,2573,2580,42,2588,2596,2595,0,3466,3476,3475,2573,2581,2580,42,2597,2596,2588,0,3477,3476,3466,2582,2581,2573,42,2597,2598,2596,0,3477,3478,3476,2582,2583,2581,42,2592,2598,2597,0,3479,3478,3477,2577,2583,2582,42,2599,2598,2592,0,3480,3478,3479,2584,2583,2577,42,2598,2599,2600,0,3478,3480,3481,2583,2584,2585,42,2599,2601,2600,0,3480,3482,3481,2584,2586,2585,42,2599,2602,2601,0,3480,3483,3482,2584,2587,2586,42,2599,2603,2602,0,3484,3485,3486,2584,2588,2587,42,2593,2603,2599,0,3472,3485,3484,2578,2588,2584,42,2593,2604,2603,0,3472,3487,3485,2578,2589,2588,42,2593,2594,2604,0,3472,3473,3487,2578,2579,2589,42,2594,2595,2604,0,3473,3474,3487,2579,2580,2589,42,2595,2605,2604,0,3474,3488,3487,2580,2590,2589,42,2595,2596,2605,0,3475,3476,3489,2580,2581,2590,42,2596,2606,2605,0,3476,3490,3489,2581,2591,2590,42,2596,2607,2606,0,3476,3491,3490,2581,2592,2591,42,2600,2607,2596,0,3481,3491,3476,2585,2592,2581,42,2608,2607,2600,0,3492,3491,3481,2593,2592,2585,42,2609,2607,2608,0,3493,3491,3492,2594,2592,2593,42,2607,2610,2606,0,3491,3494,3490,2592,2595,2591,42,2606,2610,2611,0,3490,3494,3495,2591,2595,2596,42,2610,2612,2611,0,3494,3496,3495,2595,2597,2596,42,2617,2615,2616,0,3497,3498,3499,2598,2599,2600,42,2617,2618,2615,0,3497,3500,3498,2598,2601,2599,42,2619,2618,2617,0,3501,3500,3497,2602,2601,2598,42,2620,2618,2619,0,3502,3500,3501,2603,2601,2602,42,2620,2621,2618,0,3502,3503,3500,2603,2604,2601,42,2630,2628,2629,0,3504,3505,3506,2605,2606,2607,42,2630,2631,2628,0,3504,3507,3505,2605,2608,2606,42,2632,2631,2630,0,3508,3507,3504,2609,2608,2605,42,2606,2611,2632,0,3490,3495,3509,2591,2596,2609,42,2605,2606,2632,0,3489,3490,3509,2590,2591,2609,42,2605,2632,2630,0,3488,3508,3504,2590,2609,2605,42,2605,2630,2604,0,3488,3504,3487,2590,2605,2589,42,2603,2604,2630,0,3485,3487,3504,2588,2589,2605,42,2603,2630,2633,0,3485,3504,3510,2588,2605,2610,42,2633,2630,2629,0,3510,3504,3506,2610,2605,2607,42,2634,2633,2629,0,3511,3510,3506,2611,2610,2607,42,2602,2633,2634,0,3486,3510,3511,2587,2610,2611,42,2603,2633,2602,0,3485,3510,3486,2588,2610,2587,42,2602,2634,2635,0,3483,3512,3513,2587,2611,2612,42,2635,2634,2636,0,3513,3512,3514,2612,2611,2613,42,2634,2629,2637,0,3512,3515,3516,2611,2607,2614,42,2629,2625,2637,0,3515,3517,3516,2607,2615,2614,42,2625,2620,2637,0,3517,3502,3516,2615,2603,2614,42,2619,2637,2620,0,3501,3516,3502,2602,2614,2603,42,2601,2635,2639,0,3482,3513,3518,2586,2612,2616,42,2601,2602,2635,0,3482,3483,3513,2586,2587,2612,42,2639,2608,2601,0,3518,3492,3482,2616,2593,2586,42,2640,2619,2617,0,3519,3501,3497,2617,2602,2598,42,2601,2608,2600,0,3482,3492,3481,2586,2593,2585,42,2611,2614,2631,0,3495,3520,3521,2596,2618,2608,42,2631,2614,2641,0,3521,3520,3522,2608,2618,2619,42,2641,2614,2642,0,3522,3520,3523,2619,2618,2620,42,2618,2642,2615,0,3500,3523,3498,2601,2620,2599,42,2618,2621,2642,0,3500,3503,3523,2601,2604,2620,42,2598,2600,2596,0,3478,3481,3476,2583,2585,2581,42,2592,2593,2599,0,3471,3472,3484,2577,2578,2584,42,2592,2597,2582,0,3479,3477,3456,2577,2582,2567,42,2582,2597,2588,0,3456,3477,3466,2567,2582,2573,42,2592,2582,2583,0,3479,3456,3457,2577,2567,2568,42,2565,2575,2564,0,3435,3448,3434,2550,2560,2549,42,2564,2575,2571,0,3434,3448,3445,2549,2560,2556,42,2571,2563,2564,0,3442,3432,3433,2556,2548,2549,42,2562,2563,2561,0,3431,3432,3430,2547,2548,2546,42,2034,2030,2031,0,2813,2809,2810,2039,2035,2036,42,2028,2260,2645,0,2807,3077,3524,2033,2266,2621,42,2260,2009,2645,0,3077,3525,3524,2266,2018,2621,42,2260,2258,2009,0,3077,3075,2790,2266,2264,2018,42,2009,1999,2645,0,3525,3526,3524,2018,2622,2621,42,2009,1997,1999,0,3525,3527,3526,2018,2008,2622,42,2009,1996,1997,0,2790,2779,2780,2018,2007,2008,42,2645,1999,2002,0,3524,3526,3528,2621,2622,2011,42,2645,2002,2021,0,3524,3528,2800,2621,2011,2026,42,2023,2645,2021,0,2802,3524,2800,2028,2621,2026,42,2027,2645,2023,0,2806,3524,2802,2032,2621,2028,42,2028,2645,2027,0,2807,3524,2806,2033,2621,2032,42,2139,2164,2138,0,2929,3529,2926,2144,2169,2143,42,2139,2646,2164,0,2929,3530,3529,2144,2623,2169,42,2139,2647,2646,0,2929,3531,3530,2144,2624,2623,42,2140,2647,2139,0,2931,3531,2929,2145,2624,2144,42,2141,2647,2140,0,2933,3531,2931,2146,2624,2145,42,2141,2146,2647,0,2933,2940,3531,2146,2151,2624,42,2146,2153,2647,0,2940,2948,3531,2151,2158,2624,42,2647,2153,2646,0,3531,2948,3530,2624,2158,2623,42,2646,2153,2648,0,3530,2948,3532,2623,2158,2625,42,2153,2154,2648,0,2948,2949,3532,2158,2159,2625,42,2648,2154,2649,0,3532,2949,3533,2625,2159,2626,42,2649,2154,2156,0,3533,2949,2951,2626,2159,2161,42,2649,2156,2157,0,3533,2951,2952,2626,2161,2162,42,2649,2157,2161,0,3533,2952,2956,2626,2162,2166,42,2161,2648,2649,0,2956,3532,3533,2166,2625,2626,42,2164,2648,2161,0,3529,3532,2956,2169,2625,2166,42,2646,2648,2164,0,3530,3532,3529,2623,2625,2169,42,2002,2016,2017,0,2783,3534,2794,2011,2627,2022,42,2005,2014,2004,0,2785,2792,2784,2013,2020,2012,42,1988,1989,1987,3,3535,3536,3537,2000,2002,1999,42,1991,1990,1988,3,3538,3539,3540,2003,2001,2000,42,1993,1992,1991,3,3541,3542,3543,2628,2004,2003,42,1994,1992,1993,3,3544,3545,3546,2006,2004,2628,42,1995,1989,1992,3,3547,3548,3549,2005,2002,2004,42,1985,1989,1995,3,3550,3551,3552,1997,2002,2005,42,1985,1987,1989,3,3553,3554,3555,1997,1999,2002,42,1985,1995,1994,3,3556,3557,3558,1997,2005,2006,42,1997,1994,1998,3,3559,3560,3561,2008,2006,2629,42,1998,1994,1993,3,3562,3563,3564,2629,2006,2628,42,1998,1993,1999,3,3565,3566,3567,2629,2628,2622,42,2000,1999,1993,3,3568,3569,3570,2630,2622,2628,42,2001,1999,2000,3,3571,3572,3573,2009,2622,2630,42,1999,2001,2002,3,3574,3575,3576,2622,2009,2011,42,2001,2000,1991,3,3577,3578,3579,2009,2630,2003,42,1993,1991,2000,3,3580,3581,3582,2628,2003,2630,42,2006,1986,2007,3,3583,3584,3585,2014,1998,2015,42,1986,1985,1996,3,3586,3587,3588,1998,1997,2007,42,2007,1996,2008,3,3589,3590,3591,2015,2007,2017,42,2009,2008,1996,3,3592,3593,3594,2018,2017,2007,42,2008,2010,2007,3,3595,3596,3597,2017,2016,2015,42,2011,2007,2010,3,3598,3599,3600,2631,2015,2016,42,2011,2006,2007,3,3601,3602,3603,2631,2014,2015,42,2005,2006,2011,3,3604,3605,3606,2013,2014,2631,42,2012,2005,2011,3,3607,3608,3609,2262,2013,2631,42,2013,2005,2012,3,3610,3611,3612,2023,2013,2262,42,2013,2014,2005,3,3613,3614,3615,2023,2020,2013,42,2015,2014,2013,3,3616,3617,3618,2019,2020,2023,42,2015,2016,2003,3,3619,3620,3621,2019,2627,2010,42,2015,2017,2016,3,3622,3623,3624,2019,2022,2627,42,2013,2017,2015,3,3625,3626,3627,2023,2022,2019,42,2256,2012,2011,3,3628,3629,3630,2261,2262,2631,42,2011,2010,2256,3,3631,3632,3633,2631,2016,2261,42,2337,2333,2336,3,3634,3635,3636,2343,2339,2342,42,2339,2337,2340,3,3637,3638,3639,2345,2343,2632,42,2340,2337,2336,3,3640,3641,3642,2632,2343,2342,42,2336,2341,2340,3,3643,3644,3645,2342,2347,2632,42,2342,2341,2336,3,3646,3647,3648,2348,2347,2342,42,2341,2343,2340,3,3649,3650,3651,2347,2346,2632,42,2340,2343,2344,3,3652,3653,3654,2632,2346,2360,42,2343,2345,2344,3,3655,3656,3657,2346,2349,2360,42,2348,2350,2349,3,3658,3659,3660,2352,2355,2353,42,2352,2350,2351,3,3661,3662,3663,2356,2355,2354,42,2352,2353,2350,3,3664,3665,3666,2356,2358,2355,42,2355,2354,2352,3,3667,3668,3669,2633,2357,2356,42,2356,2354,2355,3,3670,3671,3672,2634,2357,2633,42,2357,2354,2356,3,3673,3674,3675,2359,2357,2634,42,2338,2339,2344,3,3676,3677,3678,2344,2345,2360,42,2344,2339,2340,3,3679,3680,3681,2360,2345,2632,42,2358,2338,2357,3,3682,3683,3684,2361,2344,2359,42,2359,2357,2356,3,3685,3686,3687,2362,2359,2634,42,2355,2359,2356,3,3688,3689,3690,2633,2362,2634,42,2360,2359,2355,3,3691,3692,3693,2635,2362,2633,42,2360,2361,2359,3,3694,3695,3696,2635,2368,2362,42,2360,2362,2361,3,3697,3698,3699,2635,2363,2368,42,2360,2355,2362,3,3700,3701,3702,2635,2633,2363,42,2362,2355,2352,3,3703,3704,3705,2363,2633,2356,42,2362,2351,2348,3,3706,3707,3708,2363,2354,2352,42,2366,2364,2365,3,3709,3710,3711,2375,2365,2366,42,2367,2364,2366,3,3712,3713,3714,2371,2365,2375,42,2368,2364,2367,3,3715,3716,3717,2372,2365,2371,42,2363,2364,2368,3,3718,3719,3720,2364,2365,2372,42,2369,2363,2368,3,3721,3722,3723,2367,2364,2372,42,2366,2342,2335,3,3724,3725,3726,2375,2348,2341,42,2366,2365,2342,3,3727,3728,3729,2375,2366,2348,42,2342,2336,2335,3,3730,3731,3732,2348,2342,2341,42,2345,2353,2354,3,3733,3734,3735,2349,2358,2357,42,2350,2353,2345,3,3736,3737,3738,2355,2358,2349,42,2350,2345,2349,3,3739,3740,3741,2355,2349,2353,42,2444,2443,2442,3,3742,3743,3744,2460,2445,2444,42,2445,2443,2444,3,3745,3746,3747,2459,2445,2460,42,2446,2443,2445,3,3748,3749,3750,2636,2445,2459,42,2447,2443,2446,3,3751,3752,3753,2447,2445,2636,42,2447,2441,2443,3,3754,3755,3756,2447,2443,2445,42,2457,2447,2446,3,3757,3758,3759,2456,2447,2636,42,2458,2457,2446,3,3760,3761,3762,2457,2456,2636,42,2458,2456,2457,3,3763,3764,3765,2457,2455,2456,42,2454,2458,2459,3,3766,3767,3768,2453,2457,2637,42,2459,2458,2460,3,3769,3770,3771,2637,2457,2462,42,2458,2461,2460,3,3772,3773,3774,2457,2458,2462,42,2458,2446,2461,3,3775,3776,3777,2457,2636,2458,42,2446,2445,2461,3,3778,3779,3780,2636,2459,2458,42,2464,2460,2463,3,3781,3782,3783,2638,2462,2463,42,2464,2465,2460,3,3784,3785,3786,2638,2639,2462,42,2466,2465,2464,3,3787,3788,3789,2640,2639,2638,42,2466,2459,2465,3,3790,3791,3792,2640,2637,2639,42,2467,2459,2466,3,3793,3794,3795,2641,2637,2640,42,2467,2468,2459,3,3796,3797,3798,2641,2642,2637,42,2453,2468,2467,3,3799,3800,3801,2452,2642,2641,42,2468,2453,2454,3,3800,3799,3802,2642,2452,2453,42,2454,2459,2468,3,3803,3804,3805,2453,2637,2642,42,2467,2452,2453,3,3806,3807,3808,2641,2451,2452,42,2452,2467,2469,3,3807,3806,3809,2451,2641,2643,42,2469,2467,2470,3,3810,3811,3812,2643,2641,2644,42,2470,2467,2466,3,3813,3814,3815,2644,2641,2640,42,2470,2466,2471,3,3816,3817,3818,2644,2640,2645,42,2471,2466,2464,3,3819,3820,3821,2645,2640,2638,42,2471,2464,2472,3,3822,3823,3824,2645,2638,2464,42,2464,2463,2472,3,3825,3826,3827,2638,2463,2464,42,2474,2444,2475,3,3828,3829,3830,2466,2460,2468,42,2475,2444,2442,3,3831,3832,3833,2468,2460,2444,42,2477,2478,2475,3,3834,3835,3836,2469,2646,2468,42,2479,2478,2477,3,3837,3838,3839,2473,2646,2469,42,2480,2478,2479,3,3840,3841,3842,2471,2646,2473,42,2480,2473,2478,3,3843,3844,3845,2471,2465,2646,42,2480,2472,2473,3,3846,3847,3848,2471,2464,2465,42,2480,2470,2472,3,3849,3850,3851,2471,2644,2464,42,2452,2470,2480,3,3852,3853,3854,2451,2644,2471,42,2452,2469,2470,3,3855,3856,3857,2451,2643,2644,42,2481,2480,2479,3,3858,3859,3860,2470,2471,2473,42,2472,2470,2471,3,3861,3862,3863,2464,2644,2645,42,2478,2473,2474,3,3864,3865,3866,2646,2465,2466,42,2478,2474,2475,3,3867,3868,3869,2646,2466,2468,42,2459,2460,2465,3,3870,3871,3872,2637,2462,2639,42,2455,2456,2454,3,3873,3874,3875,2454,2455,2453,42,2506,2507,2505,3,3876,3877,3878,2497,2500,2496,42,2508,2507,2506,3,3879,3880,3881,2510,2500,2497,42,2509,2507,2508,3,3882,3883,3884,2498,2500,2510,42,2513,2514,2512,3,3885,3886,3887,2503,2647,2502,42,2514,2513,2515,3,3888,3889,3890,2647,2503,2505,42,2520,2509,2508,3,3891,3892,3893,2509,2498,2510,42,2525,2502,2526,3,3894,3895,3896,2515,2493,2516,42,2527,2526,2503,3,3897,3898,3899,2519,2516,2494,42,2527,2528,2526,3,3900,3901,3902,2519,2518,2516,42,2530,2528,2529,3,3903,3904,3905,2648,2518,2517,42,2530,2526,2528,3,3906,3907,3908,2648,2516,2518,42,2530,2525,2526,3,3909,3910,3911,2648,2515,2516,42,2531,2525,2530,3,3912,3913,3914,2521,2515,2648,42,2533,2532,2534,3,3915,3916,3917,2522,2520,2523,42,2532,2531,2535,3,3918,3919,3920,2520,2521,2524,42,2535,2531,2530,3,3921,3922,3923,2524,2521,2648,42,2535,2530,2529,3,3924,3925,3926,2524,2648,2517,42,2535,2529,2536,3,3927,3928,3929,2524,2517,2525,42,2511,2539,2538,3,3930,3931,3932,2501,2649,2527,42,2540,2539,2511,3,3933,3934,3935,2529,2649,2501,42,2540,2541,2539,3,3936,3937,3938,2529,2528,2649,42,2512,2542,2541,3,3939,3940,3941,2502,2650,2528,42,2514,2542,2512,3,3942,3943,3944,2647,2650,2502,42,2514,2515,2542,3,3945,3946,3947,2647,2505,2650,42,2542,2515,2543,3,3948,3949,3950,2650,2505,2651,42,2515,2534,2543,3,3951,3952,3953,2505,2523,2651,42,2534,2544,2543,3,3954,3955,3956,2523,2530,2651,42,2544,2536,2545,3,3957,3958,3959,2530,2525,2652,42,2539,2545,2536,3,3960,3961,3962,2649,2652,2525,42,2545,2539,2541,3,3963,3964,3965,2652,2649,2528,42,2544,2545,2541,3,3966,3967,3968,2530,2652,2528,42,2541,2542,2544,3,3969,3970,3971,2528,2650,2530,42,2542,2543,2544,3,3972,3973,3974,2650,2651,2530,42,2539,2536,2538,3,3975,3976,3977,2649,2525,2527,42,2511,2512,2540,3,3978,3979,3980,2501,2502,2529,42,2546,2527,2505,3,3981,3982,3983,2531,2519,2496,42,2505,2527,2503,3,3984,3985,3986,2496,2519,2494,42,2507,2546,2505,3,3987,3988,3989,2500,2531,2496,42,2610,2607,2609,3,3990,3991,3992,2595,2592,2594,42,2613,2612,2610,3,3993,3994,3995,2653,2597,2595,42,2613,2614,2612,3,3996,3997,3998,2653,2618,2597,42,2613,2615,2614,3,3999,4000,4001,2653,2599,2618,42,2616,2615,2613,3,4002,4003,4004,2600,2599,2653,42,2620,2622,2621,3,4005,4006,4007,2603,2654,2604,42,2623,2622,2620,3,4008,4009,4010,2655,2654,2603,42,2623,2624,2622,3,4011,4012,4013,2655,2656,2654,42,2625,2624,2623,3,4014,4015,4016,2615,2656,2655,42,2625,2626,2624,3,4017,4018,4019,2615,2657,2656,42,2627,2626,2625,3,4020,4021,4022,2658,2657,2615,42,2627,2628,2626,3,4023,4024,4025,2658,2606,2657,42,2629,2628,2627,3,4026,4027,4028,2607,2606,2658,42,2632,2611,2631,3,4029,4030,4031,2609,2596,2608,42,2634,2637,2636,3,4032,4033,4034,2611,2614,2613,42,2629,2627,2625,3,4035,4036,4037,2607,2658,2615,42,2625,2623,2620,3,4038,4039,4040,2615,2655,2603,42,2638,2637,2619,3,4041,4042,4043,2659,2614,2602,42,2638,2636,2637,3,4044,4045,4046,2659,2613,2614,42,2635,2636,2638,3,4047,4048,4049,2612,2613,2659,42,2639,2635,2638,3,4050,4051,4052,2616,2612,2659,42,2639,2617,2608,3,4053,4054,4055,2616,2598,2593,42,2639,2640,2617,3,4056,4057,4058,2616,2617,2598,42,2639,2638,2640,3,4059,4060,4061,2616,2659,2617,42,2640,2638,2619,3,4062,4063,4064,2617,2659,2602,42,2608,2617,2609,3,4065,4066,4067,2593,2598,2594,42,2617,2616,2609,3,4068,4069,4070,2598,2600,2594,42,2616,2613,2609,3,4071,4072,4073,2600,2653,2594,42,2609,2613,2610,3,4074,4075,4076,2594,2653,2595,42,2611,2612,2614,3,4077,4078,4079,2596,2597,2618,42,2615,2642,2614,3,4080,4081,4082,2599,2620,2618,42,2621,2622,2642,3,4083,4084,4085,2604,2654,2620,42,2622,2643,2642,3,4086,4087,4088,2654,2660,2620,42,2624,2643,2622,3,4089,4090,4091,2656,2660,2654,42,2624,2641,2643,3,4092,4093,4094,2656,2619,2660,42,2626,2641,2624,3,4095,4096,4097,2657,2619,2656,42,2626,2644,2641,3,4098,4099,4100,2657,2661,2619,42,2628,2644,2626,3,4101,4102,4103,2606,2661,2657,42,2628,2631,2644,3,4104,4105,4106,2606,2608,2661,42,2631,2641,2644,3,4107,4108,4109,2608,2619,2661,42,2641,2642,2643,3,4110,4111,4112,2619,2620,2660,42,1997,1998,1999,3,4113,4114,4115,2008,2629,2622,42,2003,2016,2002,3,4116,4117,4118,2010,2627,2011,42,1990,1992,1989,3,4119,4120,4121,2001,2004,2002,42,2650,2651,2652,0,4122,4123,4124,2662,2663,2664,42,2651,2650,2653,0,4123,4122,4125,2663,2662,2665,42,2653,2654,2651,0,4125,4126,4123,2665,2666,2663,42,2655,2654,2653,0,4127,4126,4125,2667,2666,2665,42,2655,2656,2654,0,4127,4128,4126,2667,2668,2666,42,2655,2657,2656,0,4127,4129,4128,2667,2669,2668,42,2657,2655,2658,0,4129,4127,4130,2669,2667,2670,42,2655,2659,2658,0,4127,4131,4130,2667,2671,2670,42,2659,2655,2653,0,4131,4127,4125,2671,2667,2665,42,2659,2653,2660,0,4131,4125,4132,2671,2665,2672,42,2660,2653,2661,0,4132,4125,4133,2672,2665,2673,42,2653,2650,2661,0,4125,4122,4133,2665,2662,2673,42,2650,2652,2661,0,4122,4124,4133,2662,2664,2673,42,2652,2662,2661,0,4124,4134,4133,2664,2674,2673,42,2663,2662,2652,0,4135,4134,4124,2675,2674,2664,42,2663,2664,2662,0,4135,4136,4134,2675,2676,2674,42,2665,2664,2663,0,4137,4136,4135,2677,2676,2675,42,2666,2664,2665,0,4138,4136,4137,2678,2676,2677,42,2667,2664,2666,0,4139,4136,4138,2679,2676,2678,42,2664,2667,2668,0,4136,4139,4140,2676,2679,2680,42,2667,2669,2668,0,4139,4141,4140,2679,2681,2680,42,2670,2669,2667,0,4142,4141,4139,2682,2681,2679,42,2671,2669,2670,0,4143,4141,4142,2683,2681,2682,42,2671,2672,2669,0,4143,4144,4141,2683,2684,2681,42,2671,2673,2672,0,4143,4145,4144,2683,2685,2684,42,2671,2674,2673,0,4146,4147,4148,2683,2686,2685,42,2675,2674,2671,0,4149,4147,4146,2687,2686,2683,42,2676,2674,2675,0,4150,4147,4149,2688,2686,2687,42,2676,2677,2674,0,4150,4151,4147,2688,2689,2686,42,2678,2677,2676,0,4152,4151,4150,2690,2689,2688,42,2678,2679,2677,0,4152,4153,4151,2690,2691,2689,42,2680,2679,2678,0,4154,4153,4152,2692,2691,2690,42,2680,2681,2679,0,4154,4155,4153,2692,2693,2691,42,2682,2681,2680,0,4156,4155,4154,2694,2693,2692,42,2682,2683,2681,0,4156,4157,4155,2694,2695,2693,42,2683,2682,2684,0,4157,4156,4158,2695,2694,2696,42,2685,2684,2682,0,4159,4158,4156,2697,2696,2694,42,2685,2686,2684,0,4159,4160,4158,2697,2698,2696,42,2687,2686,2685,0,4161,4160,4159,2699,2698,2697,42,2687,2688,2686,0,4161,4162,4160,2699,2700,2698,42,2689,2688,2687,0,4163,4164,4165,2701,2700,2699,42,2689,2690,2688,0,4163,4166,4164,2701,2702,2700,42,2689,2691,2690,0,4167,4168,4169,2701,2703,2702,42,2689,2692,2691,0,4167,4170,4168,2701,2704,2703,42,2693,2692,2689,0,4171,4170,4167,2705,2704,2701,42,2693,2694,2692,0,4171,4172,4170,2705,2706,2704,42,2695,2694,2693,0,4173,4172,4171,2707,2706,2705,42,2695,2696,2694,0,4173,4174,4172,2707,2708,2706,42,2697,2696,2695,0,4175,4174,4173,2709,2708,2707,42,2697,2698,2696,0,4175,4176,4174,2709,2710,2708,42,2697,2699,2698,0,4175,4177,4176,2709,2711,2710,42,2697,2700,2699,0,4178,4179,4180,2709,2712,2711,42,2700,2697,2701,0,4179,4178,4181,2712,2709,2713,42,2697,2702,2701,0,4178,4182,4181,2709,2714,2713,42,2702,2697,2695,0,4183,4175,4173,2714,2709,2707,42,2703,2702,2695,0,4184,4183,4173,2715,2714,2707,42,2701,2702,2703,0,4181,4182,4185,2713,2714,2715,42,2701,2703,2704,0,4181,4185,4186,2713,2715,2716,42,2704,2703,2705,0,4186,4185,4187,2716,2715,2717,42,2703,2706,2705,0,4185,4188,4187,2715,2718,2717,42,2706,2703,2707,0,4189,4184,4190,2718,2715,2719,42,2703,2695,2707,0,4184,4173,4190,2715,2707,2719,42,2708,2707,2695,0,4191,4192,4193,2720,2720,2720,42,2708,2709,2707,0,4191,4194,4192,2721,2721,2721,42,2704,2709,2708,0,4186,4195,4196,2716,2722,2723,42,2705,2709,2704,0,4187,4195,4186,2717,2722,2716,42,2705,2710,2709,0,4187,4197,4195,2717,2724,2722,42,2706,2710,2705,0,4198,4199,4200,2725,2725,2725,42,2706,2711,2710,0,4198,4201,4199,2726,2726,2726,42,2706,2707,2711,0,4189,4190,4202,2718,2719,2727,42,2709,2711,2707,0,4194,4201,4192,2728,2728,2728,42,2709,2710,2711,0,4194,4199,4201,2729,2729,2729,42,2701,2704,2708,0,4181,4186,4196,2713,2716,2723,42,2700,2701,2708,0,4179,4181,4196,2712,2713,2723,42,2700,2708,2712,0,4179,4196,4203,2712,2723,2730,42,2712,2708,2713,0,4203,4196,4204,2730,2723,2731,42,2708,2714,2713,0,4196,4205,4204,2723,2732,2731,42,2708,2693,2714,0,4191,4206,4207,2723,2705,2732,42,2708,2695,2693,0,4191,4193,4206,2723,2707,2705,42,2714,2693,2689,0,4207,4206,4163,2732,2705,2701,42,2714,2689,2687,0,4207,4163,4165,2732,2701,2699,42,2714,2687,2685,0,4205,4161,4159,2732,2699,2697,42,2713,2714,2685,0,4204,4205,4159,2731,2732,2697,42,2713,2685,2682,0,4204,4159,4156,2731,2697,2694,42,2713,2682,2680,0,4204,4156,4154,2731,2694,2692,42,2713,2680,2678,0,4204,4154,4152,2731,2692,2690,42,2712,2713,2678,0,4203,4204,4152,2730,2731,2690,42,2712,2678,2715,0,4203,4152,4208,2730,2690,2733,42,2715,2678,2676,0,4208,4152,4150,2733,2690,2688,42,2715,2676,2675,0,4208,4150,4149,2733,2688,2687,42,2715,2675,2716,0,4208,4149,4209,2733,2687,2734,42,2716,2675,2717,0,4209,4149,4210,2734,2687,2735,42,2717,2675,2671,0,4210,4149,4146,2735,2687,2683,42,2717,2671,2670,0,4211,4143,4142,2735,2683,2682,42,2717,2670,2718,0,4211,4142,4212,2735,2682,2736,42,2718,2670,2719,0,4212,4142,4213,2736,2682,2737,42,2670,2667,2719,0,4142,4139,4213,2682,2679,2737,42,2719,2667,2666,0,4213,4139,4138,2737,2679,2678,42,2720,2719,2666,0,4214,4213,4138,2738,2737,2678,42,2721,2719,2720,0,4215,4213,4214,2739,2737,2738,42,2718,2719,2721,0,4216,4213,4215,2736,2737,2739,42,2722,2718,2721,0,4217,4216,4215,2740,2736,2739,42,2722,2723,2718,0,4217,4218,4216,2740,2741,2736,42,2722,2724,2723,0,4219,4220,4221,2740,2742,2741,42,2659,2724,2722,0,4131,4220,4219,2671,2742,2740,42,2724,2659,2725,0,4220,4131,4222,2742,2671,2743,42,2659,2660,2725,0,4131,4132,4222,2671,2672,2743,42,2725,2660,2726,0,4222,4132,4223,2743,2672,2744,42,2726,2660,2661,0,4223,4132,4133,2744,2672,2673,42,2661,2668,2726,0,4133,4140,4223,2673,2680,2744,42,2661,2662,2668,0,4133,4134,4140,2673,2674,2680,42,2664,2668,2662,0,4136,4140,4134,2676,2680,2674,42,2726,2668,2727,0,4223,4140,4224,2744,2680,2745,42,2668,2672,2727,0,4140,4144,4224,2680,2684,2745,42,2669,2672,2668,0,4141,4144,4140,2681,2684,2680,42,2727,2672,2728,0,4224,4144,4225,2745,2684,2746,42,2672,2673,2728,0,4144,4145,4225,2684,2685,2746,42,2728,2673,2729,0,4226,4148,4227,2746,2685,2747,42,2673,2674,2729,0,4148,4147,4227,2685,2686,2747,42,2729,2674,2730,0,4227,4147,4228,2747,2686,2748,42,2674,2677,2730,0,4147,4151,4228,2686,2689,2748,42,2730,2677,2731,0,4228,4151,4229,2748,2689,2749,42,2677,2679,2731,0,4151,4153,4229,2689,2691,2749,42,2731,2679,2732,0,4229,4153,4230,2749,2691,2750,42,2679,2681,2732,0,4153,4155,4230,2691,2693,2750,42,2732,2681,2733,0,4230,4155,4231,2750,2693,2751,42,2681,2683,2733,0,4155,4157,4231,2693,2695,2751,42,2683,2734,2733,0,4157,4232,4231,2695,2752,2751,42,2734,2683,2735,0,4232,4157,4233,2752,2695,2753,42,2683,2736,2735,0,4157,4234,4233,2695,2754,2753,42,2683,2684,2736,0,4157,4158,4234,2695,2696,2754,42,2686,2736,2684,0,4160,4234,4158,2698,2754,2696,42,2686,2737,2736,0,4160,4235,4234,2698,2755,2754,42,2688,2737,2686,0,4162,4235,4160,2700,2755,2698,42,2688,2738,2737,0,4162,4236,4235,2700,2756,2755,42,2690,2738,2688,0,4166,4237,4164,2702,2756,2700,42,2690,2739,2738,0,4166,4238,4237,2702,2757,2756,42,2740,2739,2690,0,4239,4240,4169,2758,2757,2702,42,2740,2738,2739,0,4239,4236,4240,2758,2756,2757,42,2737,2738,2740,0,4235,4236,4239,2755,2756,2758,42,2735,2737,2740,0,4233,4235,4239,2753,2755,2758,42,2736,2737,2735,0,4234,4235,4233,2754,2755,2753,42,2691,2735,2740,0,4168,4233,4239,2703,2753,2758,42,2734,2735,2691,0,4232,4233,4168,2752,2753,2703,42,2692,2734,2691,0,4170,4232,4168,2704,2752,2703,42,2692,2733,2734,0,4170,4231,4232,2704,2751,2752,42,2694,2733,2692,0,4172,4231,4170,2706,2751,2704,42,2694,2732,2733,0,4172,4230,4231,2706,2750,2751,42,2694,2731,2732,0,4172,4229,4230,2706,2749,2750,42,2696,2731,2694,0,4174,4229,4172,2708,2749,2706,42,2696,2698,2731,0,4174,4176,4229,2708,2710,2749,42,2698,2730,2731,0,4176,4228,4229,2710,2748,2749,42,2698,2729,2730,0,4176,4227,4228,2710,2747,2748,42,2698,2741,2729,0,4176,4241,4227,2710,2759,2747,42,2742,2741,2698,0,4242,4241,4176,2760,2759,2710,42,2742,2743,2741,0,4242,4243,4241,2760,2761,2759,42,2742,2744,2743,0,4242,4244,4243,2760,2762,2761,42,2745,2744,2742,0,4245,4246,4247,2763,2762,2760,42,2723,2744,2745,0,4221,4248,4249,2741,2762,2763,42,2723,2746,2744,0,4221,4250,4248,2741,2764,2762,42,2724,2746,2723,0,4220,4250,4221,2742,2764,2741,42,2746,2724,2725,0,4250,4220,4222,2764,2742,2743,42,2746,2725,2747,0,4250,4222,4251,2764,2743,2765,42,2747,2725,2727,0,4251,4222,4224,2765,2743,2745,42,2727,2725,2726,0,4224,4222,4223,2745,2743,2744,42,2728,2747,2727,0,4225,4251,4224,2746,2765,2745,42,2743,2747,2728,0,4252,4251,4225,2761,2765,2746,42,2743,2746,2747,0,4252,4250,4251,2761,2764,2765,42,2744,2746,2743,0,4248,4250,4252,2762,2764,2761,42,2741,2743,2728,0,4241,4243,4226,2759,2761,2746,42,2741,2728,2729,0,4241,4226,4227,2759,2746,2747,42,2723,2745,2748,0,4218,4253,4254,2741,2763,2766,42,2745,2749,2748,0,4245,4255,4256,2763,2767,2766,42,2745,2750,2749,0,4245,4257,4255,2763,2768,2767,42,2745,2742,2750,0,4245,4247,4257,2763,2760,2768,42,2699,2750,2742,0,4180,4257,4247,2711,2768,2760,42,2699,2751,2750,0,4180,4258,4257,2711,2769,2768,42,2699,2700,2751,0,4180,4179,4258,2711,2712,2769,42,2700,2715,2751,0,4179,4208,4258,2712,2733,2769,42,2700,2712,2715,0,4179,4203,4208,2712,2730,2733,42,2751,2715,2716,0,4258,4208,4209,2769,2733,2734,42,2751,2716,2749,0,4258,4209,4255,2769,2734,2767,42,2749,2716,2748,0,4255,4209,4256,2767,2734,2766,42,2748,2716,2717,0,4256,4209,4210,2766,2734,2735,42,2718,2748,2717,0,4212,4254,4211,2736,2766,2735,42,2723,2748,2718,0,4218,4254,4212,2741,2766,2736,42,2751,2749,2750,0,4258,4255,4257,2769,2767,2768,42,2699,2742,2698,0,4177,4242,4176,2711,2760,2710,42,2691,2740,2690,0,4168,4239,4169,2703,2758,2702,42,2659,2722,2658,0,4131,4219,4130,2671,2740,2670,42,2658,2722,2721,0,4259,4217,4215,2670,2740,2739,42,2658,2721,2720,0,4259,4215,4214,2670,2739,2738,42,2657,2658,2720,0,4260,4259,4214,2669,2670,2738,42,2657,2720,2752,0,4260,4214,4261,2669,2738,2770,42,2720,2665,2752,0,4214,4137,4261,2738,2677,2770,42,2720,2666,2665,0,4214,4138,4137,2738,2678,2677,42,2752,2665,2753,0,4261,4137,4262,2770,2677,2771,42,2753,2665,2754,0,4262,4137,4263,2771,2677,2772,42,2665,2755,2754,0,4137,4264,4263,2677,2773,2772,42,2665,2663,2755,0,4137,4135,4264,2677,2675,2773,42,2652,2755,2663,0,4124,4264,4135,2664,2773,2675,42,2652,2756,2755,0,4124,4265,4264,2664,2774,2773,42,2651,2756,2652,0,4123,4265,4124,2663,2774,2664,42,2757,2756,2651,0,4266,4265,4123,2775,2774,2663,42,2757,2758,2756,0,4266,4267,4265,2775,2776,2774,42,2759,2758,2757,0,4268,4267,4266,2777,2776,2775,42,2760,2758,2759,0,4269,4267,4268,2778,2776,2777,42,2760,2756,2758,0,4269,4265,4267,2778,2774,2776,42,2755,2756,2760,0,4264,4265,4269,2773,2774,2778,42,2754,2755,2760,0,4263,4264,4269,2772,2773,2778,42,2754,2760,2761,0,4263,4269,4270,2772,2778,2779,42,2761,2760,2762,0,4270,4269,4271,2779,2778,2780,42,2759,2762,2760,0,4268,4271,4269,2777,2780,2778,42,2763,2762,2759,0,4272,4271,4268,2781,2780,2777,42,2764,2762,2763,0,4273,4271,4272,2782,2780,2781,42,2765,2762,2764,0,4274,4271,4273,2783,2780,2782,42,2761,2762,2765,0,4270,4271,4274,2779,2780,2783,42,2766,2761,2765,0,4275,4270,4274,2784,2779,2783,42,2766,2754,2761,0,4275,4263,4270,2784,2772,2779,42,2767,2754,2766,0,4276,4263,4275,2785,2772,2784,42,2753,2754,2767,0,4262,4263,4276,2771,2772,2785,42,2768,2753,2767,0,4277,4262,4276,2786,2771,2785,42,2768,2752,2753,0,4277,4261,4262,2786,2770,2771,42,2768,2657,2752,0,4277,4260,4261,2786,2669,2770,42,2657,2768,2656,0,4129,4278,4128,2669,2786,2668,42,2768,2769,2656,0,4278,4279,4128,2786,2787,2668,42,2769,2768,2770,0,4279,4278,4280,2787,2786,2788,42,2770,2768,2767,0,4281,4277,4276,2788,2786,2785,42,2766,2770,2767,0,4275,4281,4276,2784,2788,2785,42,2771,2770,2766,0,4282,4281,4275,2789,2788,2784,42,2771,2772,2770,0,4283,4284,4280,2789,2790,2788,42,2773,2772,2771,0,4285,4284,4283,2791,2790,2789,42,2774,2772,2773,0,4286,4284,4285,2792,2790,2791,42,2774,2775,2772,0,4286,4287,4284,2792,2793,2790,42,2774,2776,2775,0,4286,4288,4287,2792,2794,2793,42,2777,2776,2774,0,4289,4288,4286,2795,2794,2792,42,2777,2778,2776,0,4289,4290,4288,2795,2796,2794,42,2779,2778,2777,0,4291,4290,4289,2797,2796,2795,42,2779,2780,2778,0,4291,4292,4290,2797,2798,2796,42,2781,2780,2779,0,4293,4292,4291,2799,2798,2797,42,2781,2782,2780,0,4293,4294,4292,2799,2800,2798,42,2781,2783,2782,0,4293,4295,4294,2799,2801,2800,42,2783,2781,2784,0,4295,4293,4296,2801,2799,2802,42,2781,2785,2784,0,4293,4297,4296,2799,2803,2802,42,2781,2779,2785,0,4293,4291,4297,2799,2797,2803,42,2785,2779,2786,0,4297,4291,4298,2803,2797,2804,42,2779,2777,2786,0,4291,4289,4298,2797,2795,2804,42,2786,2777,2774,0,4298,4289,4286,2804,2795,2792,42,2786,2774,2773,0,4298,4286,4285,2804,2792,2791,42,2786,2773,2787,0,4299,4300,4301,2804,2791,2805,42,2773,2766,2787,0,4300,4275,4301,2791,2784,2805,42,2773,2771,2766,0,4300,4282,4275,2791,2789,2784,42,2787,2766,2765,0,4301,4275,4274,2805,2784,2783,42,2787,2765,2788,0,4301,4274,4302,2805,2783,2806,42,2788,2765,2764,0,4302,4274,4273,2806,2783,2782,42,2788,2764,2789,0,4302,4273,4303,2806,2782,2807,42,2790,2789,2764,0,4304,4303,4273,2808,2807,2782,42,2791,2789,2790,0,4305,4303,4304,2809,2807,2808,42,2792,2789,2791,0,4306,4303,4305,2810,2807,2809,42,2792,2788,2789,0,4306,4302,4303,2810,2806,2807,42,2793,2788,2792,0,4307,4302,4306,2811,2806,2810,42,2793,2794,2788,0,4307,4308,4302,2811,2812,2806,42,2785,2794,2793,0,4309,4308,4307,2803,2812,2811,42,2785,2786,2794,0,4309,4299,4308,2803,2804,2812,42,2786,2787,2794,0,4299,4301,4308,2804,2805,2812,42,2794,2787,2788,0,4308,4301,4302,2812,2805,2806,42,2784,2785,2793,0,4310,4309,4307,2802,2803,2811,42,2784,2793,2795,0,4310,4307,4311,2802,2811,2813,42,2795,2793,2792,0,4311,4307,4306,2813,2811,2810,42,2795,2792,2796,0,4311,4306,4312,2813,2810,2814,42,2796,2792,2791,0,4312,4306,4305,2814,2810,2809,42,2796,2791,2797,0,4312,4305,4313,2814,2809,2815,42,2797,2791,2798,0,4313,4305,4314,2815,2809,2816,42,2798,2791,2790,0,4314,4305,4304,2816,2809,2808,42,2798,2790,2799,0,4314,4304,4315,2816,2808,2817,42,2799,2790,2800,0,4315,4304,4316,2817,2808,2818,42,2790,2763,2800,0,4304,4272,4316,2808,2781,2818,42,2790,2764,2763,0,4304,4273,4272,2808,2782,2781,42,2800,2763,2801,0,4316,4272,4317,2818,2781,2819,42,2763,2759,2801,0,4272,4268,4317,2781,2777,2819,42,2801,2759,2757,0,4317,4268,4266,2819,2777,2775,42,2802,2801,2757,0,4318,4317,4266,2820,2819,2775,42,2802,2800,2801,0,4318,4316,4317,2820,2818,2819,42,2802,2775,2800,0,4318,4287,4316,2820,2793,2818,42,2772,2775,2802,0,4284,4287,4318,2790,2793,2820,42,2772,2802,2654,0,4284,4318,4126,2790,2820,2666,42,2654,2802,2757,0,4126,4318,4266,2666,2820,2775,42,2654,2757,2651,0,4126,4266,4123,2666,2775,2663,42,2769,2772,2654,0,4279,4284,4126,2787,2790,2666,42,2772,2769,2770,0,4284,4279,4280,2790,2787,2788,42,2656,2769,2654,0,4128,4279,4126,2668,2787,2666,42,2776,2800,2775,0,4288,4316,4287,2794,2818,2793,42,2776,2799,2800,0,4288,4315,4316,2794,2817,2818,42,2776,2803,2799,0,4288,4319,4315,2794,2821,2817,42,2776,2778,2803,0,4288,4290,4319,2794,2796,2821,42,2778,2804,2803,0,4290,4320,4319,2796,2822,2821,42,2778,2780,2804,0,4290,4292,4320,2796,2798,2822,42,2780,2805,2804,0,4292,4321,4320,2798,2823,2822,42,2780,2782,2805,0,4292,4294,4321,2798,2800,2823,42,2782,2806,2805,0,4294,4322,4321,2800,2824,2823,42,2807,2806,2782,0,4323,4322,4294,2825,2824,2800,42,2783,2807,2782,0,4295,4323,4294,2801,2825,2800,42,2808,2807,2783,0,4324,4323,4295,2826,2825,2801,42,2808,2783,2809,0,4324,4295,4325,2826,2801,2827,42,2783,2784,2809,0,4295,4296,4325,2801,2802,2827,42,2809,2784,2795,0,4326,4310,4311,2827,2802,2813,42,2809,2795,2810,0,4326,4311,4327,2827,2813,2828,42,2795,2796,2810,0,4311,4312,4327,2813,2814,2828,42,2810,2796,2811,0,4327,4312,4328,2828,2814,2829,42,2796,2797,2811,0,4312,4313,4328,2814,2815,2829,42,2811,2797,2812,0,4328,4313,4329,2829,2815,2830,42,2812,2797,2813,0,4329,4313,4330,2830,2815,2831,42,2813,2797,2798,0,4330,4313,4314,2831,2815,2816,42,2813,2798,2803,0,4330,4314,4319,2831,2816,2821,42,2803,2798,2799,0,4319,4314,4315,2821,2816,2817,42,2804,2813,2803,0,4320,4330,4319,2822,2831,2821,42,2814,2813,2804,0,4331,4330,4320,2832,2831,2822,42,2814,2812,2813,0,4331,4329,4330,2832,2830,2831,42,2815,2812,2814,0,4332,4329,4331,2833,2830,2832,42,2816,2812,2815,0,4333,4329,4332,2834,2830,2833,42,2811,2812,2816,0,4328,4329,4333,2829,2830,2834,42,2817,2811,2816,0,4334,4328,4333,2835,2829,2834,42,2810,2811,2817,0,4327,4328,4334,2828,2829,2835,42,2818,2810,2817,0,4335,4327,4334,2836,2828,2835,42,2818,2809,2810,0,4335,4326,4327,2836,2827,2828,42,2808,2809,2818,0,4324,4325,4336,2826,2827,2836,42,2819,2815,2814,0,4337,4332,4331,2837,2833,2832,42,2819,2814,2805,0,4337,4331,4321,2837,2832,2823,42,2805,2814,2804,0,4321,4331,4320,2823,2832,2822,42,2806,2819,2805,0,4322,4337,4321,2824,2837,2823,42,2820,2821,2822,4,4338,4339,4340,2838,2839,2840,42,2820,2823,2821,4,4341,4342,4343,2838,2841,2839,42,2823,2820,2824,4,4344,4345,4346,2841,2838,2842,42,2824,2820,2825,4,4346,4345,4347,2842,2838,2843,42,2820,2826,2825,4,4345,4348,4347,2838,2844,2843,42,2820,2822,2826,4,4338,4340,4349,2838,2840,2844,42,2826,2822,2827,4,4349,4340,4350,2844,2840,2845,42,2822,2828,2827,4,4351,4352,4353,2840,2846,2845,42,2822,2829,2828,4,4351,4354,4352,2840,2847,2846,42,2822,2830,2829,4,4351,4355,4354,2840,2848,2847,42,2822,2831,2830,4,4351,4356,4355,2840,2849,2848,42,2821,2831,2822,4,4339,4357,4340,2839,2849,2840,42,2821,2832,2831,4,4339,4358,4357,2839,2850,2849,42,2821,2833,2832,4,4339,4359,4358,2839,2851,2850,42,2823,2833,2821,4,4342,4360,4343,2841,2851,2839,42,2823,2834,2833,4,4342,4361,4360,2841,2852,2851,42,2835,2834,2823,4,4362,4363,4344,2853,2852,2841,42,2835,2836,2834,4,4362,4364,4363,2853,2854,2852,42,2836,2835,2837,4,4365,4366,4367,2854,2853,2855,42,2837,2835,2824,4,4367,4366,4368,2855,2853,2842,42,2835,2823,2824,4,4362,4344,4346,2853,2841,2842,42,2838,2837,2824,4,4369,4367,4368,2856,2855,2842,42,2837,2838,2839,4,4367,4369,4370,2855,2856,2857,42,2839,2838,2840,4,4370,4369,4371,2857,2856,2858,42,2838,2841,2840,4,4369,4372,4371,2856,2859,2858,42,2841,2838,2842,4,4372,4369,4373,2859,2856,2860,42,2838,2843,2842,4,4369,4374,4373,2856,2861,2860,42,2838,2824,2843,4,4369,4368,4375,2856,2842,2861,42,2843,2824,2844,4,4375,4368,4376,2861,2842,2862,42,2824,2825,2844,4,4368,4377,4376,2842,2843,2862,42,2825,2845,2844,4,4377,4378,4376,2843,2863,2862,42,2825,2846,2845,4,4377,4379,4378,2843,2864,2863,42,2825,2826,2846,4,4347,4348,4380,2843,2844,2864,42,2826,2847,2846,4,4349,4381,4382,2844,2865,2864,42,2826,2827,2847,4,4349,4350,4381,2844,2845,2865,42,2847,2827,2828,4,4383,4353,4352,2865,2845,2846,42,2847,2828,2848,4,4384,4385,4386,2865,2846,2866,42,2848,2828,2849,4,4386,4385,4387,2866,2846,2867,42,2850,2849,2828,4,4388,4387,4385,2868,2867,2846,42,2849,2850,2851,4,4387,4388,4389,2867,2868,2869,42,2852,2851,2850,4,4390,4389,4388,2870,2869,2868,42,2852,2853,2851,4,4390,4391,4389,2870,2871,2869,42,2854,2853,2852,4,4392,4391,4390,2872,2871,2870,42,2854,2855,2853,4,4392,4393,4391,2872,2873,2871,42,2854,2856,2855,4,4392,4394,4393,2872,2874,2873,42,2857,2856,2854,4,4395,4394,4392,2875,2874,2872,42,2857,2858,2856,4,4395,4396,4394,2875,2876,2874,42,2857,2859,2858,4,4395,4397,4396,2875,2877,2876,42,2857,2860,2859,4,4395,4398,4397,2875,2878,2877,42,2861,2860,2857,4,4399,4398,4395,2879,2878,2875,42,2862,2860,2861,4,4400,4401,4402,2880,2878,2879,42,2862,2863,2860,4,4400,4403,4401,2880,2881,2878,42,2864,2863,2862,4,4404,4405,4406,2882,2881,2880,42,2864,2865,2863,4,4404,4407,4405,2882,2883,2881,42,2864,2866,2865,4,4404,4408,4407,2882,2884,2883,42,2867,2866,2864,4,4409,4408,4404,2885,2884,2882,42,2868,2866,2867,4,4410,4411,4412,2886,2884,2885,42,2868,2869,2866,4,4410,4413,4411,2886,2887,2884,42,2868,2870,2869,4,4414,4415,4416,2886,2888,2887,42,2871,2870,2868,4,4417,4415,4414,2889,2888,2886,42,2872,2870,2871,4,4418,4419,4420,2890,2888,2889,42,2872,2873,2870,4,4418,4421,4419,2890,2891,2888,42,2872,2874,2873,4,4422,4423,4424,2890,2892,2891,42,2872,2875,2874,4,4422,4425,4423,2890,2893,2892,42,2836,2875,2872,4,4365,4425,4422,2854,2893,2890,42,2837,2875,2836,4,4367,4425,4365,2855,2893,2854,42,2875,2837,2839,4,4425,4367,4370,2893,2855,2857,42,2875,2839,2874,4,4425,4370,4423,2893,2857,2892,42,2874,2839,2876,4,4423,4370,4426,2892,2857,2894,42,2876,2839,2877,4,4427,4428,4429,2894,2857,2895,42,2877,2839,2840,4,4430,4370,4371,2895,2857,2858,42,2877,2840,2878,4,4430,4371,4431,2895,2858,2896,42,2840,2879,2878,4,4371,4432,4431,2858,2897,2896,42,2879,2880,2878,4,4432,4433,4431,2897,2898,2896,42,2881,2878,2880,4,4434,4431,4433,2899,2896,2898,42,2877,2878,2881,4,4430,4431,4434,2895,2896,2899,42,2882,2877,2881,4,4435,4430,4434,2900,2895,2899,42,2883,2877,2882,4,4436,4429,4437,2901,2895,2900,42,2884,2877,2883,4,4438,4429,4436,2902,2895,2901,42,2884,2876,2877,4,4438,4427,4429,2902,2894,2895,42,2874,2876,2884,4,4423,4426,4439,2892,2894,2902,42,2885,2874,2884,4,4440,4423,4439,2903,2892,2902,42,2873,2874,2885,4,4424,4423,4440,2891,2892,2903,42,2873,2885,2886,4,4424,4440,4441,2891,2903,2904,42,2885,2887,2886,4,4440,4442,4441,2903,2905,2904,42,2885,2884,2887,4,4440,4439,4442,2903,2902,2905,42,2887,2884,2888,4,4442,4439,4443,2905,2902,2906,42,2888,2884,2883,4,4444,4438,4436,2906,2902,2901,42,2888,2883,2889,4,4444,4436,4445,2906,2901,2907,42,2889,2883,2890,4,4445,4436,4446,2907,2901,2908,42,2883,2882,2890,4,4436,4437,4446,2901,2900,2908,42,2882,2891,2890,4,4435,4447,4448,2900,2909,2908,42,2882,2881,2891,4,4435,4434,4447,2900,2899,2909,42,2881,2880,2891,4,4434,4433,4447,2899,2898,2909,42,2880,2892,2891,4,4433,4449,4447,2898,2910,2909,42,2891,2892,2893,4,4447,4449,4450,2909,2910,2911,42,2891,2893,2894,4,4447,4450,4451,2909,2911,2912,42,2894,2893,2895,4,4451,4450,4452,2912,2911,2913,42,2894,2895,2896,4,4451,4452,4453,2912,2913,2914,42,2896,2895,2897,4,4453,4452,4454,2914,2913,2915,42,2896,2897,2898,4,4453,4454,4455,2914,2915,2916,42,2899,2896,2898,4,4456,4453,4455,2917,2914,2916,42,2900,2896,2899,4,4457,4453,4456,2918,2914,2917,42,2900,2894,2896,4,4457,4451,4453,2918,2912,2914,42,2890,2894,2900,4,4448,4451,4457,2908,2912,2918,42,2894,2890,2891,4,4451,4448,4447,2912,2908,2909,42,2900,2889,2890,4,4458,4445,4446,2918,2907,2908,42,2901,2889,2900,4,4459,4445,4458,2919,2907,2918,42,2888,2889,2901,4,4444,4445,4459,2906,2907,2919,42,2902,2888,2901,4,4460,4444,4459,2920,2906,2919,42,2887,2888,2902,4,4442,4443,4461,2905,2906,2920,42,2887,2902,2903,4,4442,4461,4462,2905,2920,2921,42,2904,2903,2902,4,4463,4462,4461,2922,2921,2920,42,2903,2904,2905,4,4462,4463,4464,2921,2922,2923,42,2906,2905,2904,4,4465,4464,4463,2924,2923,2922,42,2905,2906,2907,4,4464,4465,4466,2923,2924,2925,42,2905,2907,2908,4,4464,4466,4467,2923,2925,2926,42,2908,2907,2909,4,4467,4466,4468,2926,2925,2927,42,2908,2909,2910,4,4467,4468,4469,2926,2927,2928,42,2910,2909,2911,4,4469,4468,4470,2928,2927,2929,42,2912,2908,2910,4,4471,4467,4469,2930,2926,2928,42,2913,2908,2912,4,4472,4467,4471,2931,2926,2930,42,2913,2905,2908,4,4472,4464,4467,2931,2923,2926,42,2903,2905,2913,4,4462,4464,4472,2921,2923,2931,42,2886,2903,2913,4,4441,4462,4472,2904,2921,2931,42,2886,2887,2903,4,4441,4442,4462,2904,2905,2921,42,2886,2913,2914,4,4441,4472,4473,2904,2931,2932,42,2914,2913,2912,4,4473,4472,4471,2932,2931,2930,42,2914,2912,2915,4,4473,4471,4474,2932,2930,2933,42,2915,2912,2916,4,4474,4471,4475,2933,2930,2934,42,2916,2912,2917,4,4475,4471,4476,2934,2930,2935,42,2916,2917,2918,4,4475,4476,4477,2934,2935,2936,42,2918,2917,2919,4,4477,4476,4478,2936,2935,2937,42,2918,2919,2920,4,4477,4478,4479,2936,2937,2938,42,2918,2920,2921,4,4480,4481,4482,2936,2938,2939,42,2918,2921,2922,4,4480,4482,4483,2936,2939,2940,42,2923,2918,2922,4,4484,4480,4483,2941,2936,2940,42,2916,2918,2923,4,4485,4480,4484,2934,2936,2941,42,2924,2916,2923,4,4486,4485,4484,2942,2934,2941,42,2915,2916,2924,4,4487,4485,4486,2933,2934,2942,42,2870,2915,2924,4,4415,4487,4486,2888,2933,2942,42,2873,2915,2870,4,4421,4474,4419,2891,2933,2888,42,2873,2914,2915,4,4421,4473,4474,2891,2932,2933,42,2873,2886,2914,4,4488,4441,4473,2891,2904,2932,42,2870,2924,2869,4,4415,4486,4416,2888,2942,2887,42,2869,2924,2925,4,4489,4490,4491,2887,2942,2943,42,2923,2925,2924,4,4492,4491,4490,2941,2943,2942,42,2925,2923,2926,4,4491,4492,4493,2943,2941,2944,42,2923,2927,2926,4,4492,4494,4493,2941,2945,2944,42,2928,2926,2927,4,4495,4493,4494,2946,2944,2945,42,2926,2928,2929,4,4496,4497,4498,2944,2946,2947,42,2929,2928,2930,4,4498,4497,4499,2947,2946,2948,42,2928,2931,2930,4,4497,4500,4499,2946,2949,2948,42,2931,2928,2932,4,4501,4495,4502,2949,2946,2950,42,2932,2928,2927,4,4502,4495,4494,2950,2946,2945,42,2930,2931,2933,4,4499,4500,4503,2948,2949,2951,42,2934,2930,2933,4,4504,4505,4506,2952,2948,2951,42,2935,2930,2934,4,4507,4505,4504,2953,2948,2952,42,2929,2930,2935,4,4508,4505,4507,2947,2948,2953,42,2936,2929,2935,4,4509,4508,4507,2954,2947,2953,42,2937,2929,2936,4,4510,4508,4509,2955,2947,2954,42,2937,2926,2929,4,4511,4496,4498,2955,2944,2947,42,2925,2926,2937,4,4512,4496,4511,2943,2944,2955,42,2869,2925,2937,4,4413,4512,4511,2887,2943,2955,42,2869,2937,2866,4,4413,4511,4411,2887,2955,2884,42,2866,2937,2936,4,4408,4510,4509,2884,2955,2954,42,2866,2936,2865,4,4408,4509,4407,2884,2954,2883,42,2865,2936,2863,4,4407,4509,4405,2883,2954,2881,42,2863,2936,2938,4,4405,4509,4513,2881,2954,2956,42,2936,2935,2938,4,4509,4507,4513,2954,2953,2956,42,2938,2935,2939,4,4513,4507,4514,2956,2953,2957,42,2935,2934,2939,4,4507,4504,4514,2953,2952,2957,42,2939,2934,2940,4,4514,4504,4515,2957,2952,2958,42,2934,2941,2940,4,4504,4516,4515,2952,2959,2958,42,2940,2941,2942,4,4515,4516,4517,2958,2959,2960,42,2940,2942,2943,4,4518,4519,4520,2958,2960,2961,42,2942,2944,2943,4,4519,4521,4520,2960,2962,2961,42,2945,2940,2943,4,4522,4518,4520,2963,2958,2961,42,2939,2940,2945,4,4523,4518,4522,2957,2958,2963,42,2938,2939,2945,4,4524,4523,4522,2956,2957,2963,42,2938,2945,2946,4,4524,4522,4525,2956,2963,2964,42,2946,2945,2947,4,4526,4527,4528,2964,2963,2965,42,2945,2943,2947,4,4527,4529,4528,2963,2961,2965,42,2947,2943,2948,4,4528,4529,4530,2965,2961,2966,42,2948,2943,2949,4,4530,4529,4531,2966,2961,2967,42,2948,2949,2950,4,4530,4531,4532,2966,2967,2968,42,2948,2950,2951,4,4533,4534,4535,2966,2968,2969,42,2951,2950,2952,4,4535,4534,4536,2969,2968,2970,42,2951,2952,2953,4,4535,4536,4537,2969,2970,2971,42,2952,2954,2953,4,4536,4538,4537,2970,2972,2971,42,2954,2955,2953,4,4538,4539,4537,2972,2973,2971,42,2955,2956,2953,4,4539,4540,4537,2973,2974,2971,42,2953,2956,2957,4,4537,4540,4541,2971,2974,2975,42,2956,2958,2957,4,4540,4542,4541,2974,2976,2975,42,2958,2956,2959,4,4542,4540,4543,2976,2974,2977,42,2956,2960,2959,4,4540,4544,4543,2974,2978,2977,42,2959,2960,2961,4,4543,4544,4545,2977,2978,2979,42,2959,2961,2962,4,4546,4547,4548,2977,2979,2980,42,2962,2961,2963,4,4548,4547,4549,2980,2979,2981,42,2964,2962,2963,4,4550,4548,4549,2982,2980,2981,42,2965,2962,2964,4,4551,4548,4550,2983,2980,2982,42,2966,2962,2965,4,4552,4548,4551,2984,2980,2983,42,2967,2962,2966,4,4553,4548,4552,2985,2980,2984,42,2967,2959,2962,4,4553,4546,4548,2985,2977,2980,42,2959,2967,2958,4,4546,4553,4554,2977,2985,2976,42,2958,2967,2968,4,4554,4553,4555,2976,2985,2986,42,2969,2968,2967,4,4556,4555,4553,2987,2986,2985,42,2970,2968,2969,4,4557,4555,4556,2988,2986,2987,42,2971,2968,2970,4,4558,4555,4557,2989,2986,2988,42,2972,2968,2971,4,4559,4555,4558,2990,2986,2989,42,2972,2973,2968,4,4559,4560,4555,2990,2991,2986,42,2974,2973,2972,4,4561,4562,4563,2992,2991,2990,42,2974,2975,2973,4,4561,4564,4562,2992,2993,2991,42,2976,2975,2974,4,4565,4564,4561,2994,2993,2992,42,2977,2975,2976,4,4566,4564,4565,2995,2993,2994,42,2977,2957,2975,4,4566,4541,4564,2995,2975,2993,42,2953,2957,2977,4,4537,4541,4566,2971,2975,2995,42,2977,2951,2953,4,4566,4535,4537,2995,2969,2971,42,2978,2951,2977,4,4567,4535,4566,2996,2969,2995,42,2978,2948,2951,4,4567,4533,4535,2996,2966,2969,42,2947,2948,2978,4,4568,4533,4567,2965,2966,2996,42,2979,2947,2978,4,4569,4568,4567,2997,2965,2996,42,2946,2947,2979,4,4570,4568,4569,2964,2965,2997,42,2859,2946,2979,4,4397,4570,4569,2877,2964,2997,42,2860,2946,2859,4,4398,4570,4397,2878,2964,2877,42,2860,2938,2946,4,4401,4524,4525,2878,2956,2964,42,2863,2938,2860,4,4403,4524,4401,2881,2956,2878,42,2859,2979,2858,4,4397,4569,4396,2877,2997,2876,42,2858,2979,2976,4,4396,4569,4565,2876,2997,2994,42,2979,2978,2976,4,4569,4567,4565,2997,2996,2994,42,2976,2978,2977,4,4565,4567,4566,2994,2996,2995,42,2858,2976,2974,4,4396,4565,4561,2876,2994,2992,42,2858,2974,2856,4,4396,4561,4394,2876,2992,2874,42,2856,2974,2972,4,4394,4561,4563,2874,2992,2990,42,2856,2972,2980,4,4394,4563,4571,2874,2990,2998,42,2980,2972,2971,4,4572,4559,4558,2998,2990,2989,42,2980,2971,2981,4,4572,4558,4573,2998,2989,2999,42,2981,2971,2970,4,4573,4558,4557,2999,2989,2988,42,2981,2970,2982,4,4573,4557,4574,2999,2988,3000,42,2981,2982,2983,4,4573,4574,4575,2999,3000,3001,42,2983,2982,2984,4,4575,4574,4576,3001,3000,3002,42,2983,2984,2985,4,4575,4576,4577,3001,3002,3003,42,2986,2983,2985,4,4578,4575,4577,3004,3001,3003,42,2987,2983,2986,4,4579,4575,4578,3005,3001,3004,42,2987,2981,2983,4,4579,4573,4575,3005,2999,3001,42,2980,2981,2987,4,4572,4573,4579,2998,2999,3005,42,2855,2980,2987,4,4393,4571,4580,2873,2998,3005,42,2856,2980,2855,4,4394,4571,4393,2874,2998,2873,42,2855,2987,2853,4,4393,4580,4391,2873,3005,2871,42,2987,2986,2853,4,4580,4581,4391,3005,3004,2871,42,2853,2986,2851,4,4391,4581,4389,2871,3004,2869,42,2986,2985,2851,4,4578,4577,4582,3004,3003,2869,42,2851,2985,2988,4,4582,4577,4583,2869,3003,3006,42,2988,2985,2989,4,4584,4585,4586,3006,3003,3007,42,2985,2990,2989,4,4585,4587,4586,3003,3008,3007,42,2985,2991,2990,4,4585,4588,4587,3003,3009,3008,42,2991,2992,2990,4,4588,4589,4587,3009,3010,3008,42,2990,2992,2993,4,4587,4589,4590,3008,3010,3011,42,2993,2992,2994,4,4590,4589,4591,3011,3010,3012,42,2992,2995,2994,4,4589,4592,4591,3010,3013,3012,42,2995,2996,2994,4,4592,4593,4591,3013,3014,3012,42,2995,2997,2996,4,4592,4594,4593,3013,3015,3014,42,2997,2998,2996,4,4594,4595,4593,3015,3016,3014,42,2997,2999,2998,4,4594,4596,4595,3015,3017,3016,42,2999,3000,2998,4,4596,4597,4595,3017,3018,3016,42,2999,3001,3000,4,4596,4598,4597,3017,3019,3018,42,2998,3000,3002,4,4595,4597,4599,3016,3018,3020,42,2998,3002,3003,4,4595,4599,4600,3016,3020,3021,42,3003,3002,3004,4,4601,4602,4603,3021,3020,3022,42,3005,3003,3004,4,4604,4601,4603,3023,3021,3022,42,2996,3003,3005,4,4593,4600,4605,3014,3021,3023,42,2998,3003,2996,4,4595,4600,4593,3016,3021,3014,42,2994,2996,3005,4,4591,4593,4605,3012,3014,3023,42,2994,3005,3006,4,4591,4605,4606,3012,3023,3024,42,3006,3005,3007,4,4607,4604,4608,3024,3023,3025,42,3005,3004,3007,4,4604,4603,4608,3023,3022,3025,42,3007,3004,3008,4,4609,4610,4611,3025,3022,3026,42,3004,3009,3008,4,4610,4612,4611,3022,3027,3026,42,3004,3010,3009,4,4610,4613,4612,3022,3028,3027,42,3010,3011,3009,4,4613,4614,4612,3028,3029,3027,42,3009,3011,3012,4,4612,4614,4615,3027,3029,3030,42,3009,3012,3013,4,4612,4615,4616,3027,3030,3031,42,3013,3012,3014,4,4616,4615,4617,3031,3030,3032,42,3015,3013,3014,4,4618,4616,4617,3033,3031,3032,42,3016,3013,3015,4,4619,4616,4618,3034,3031,3033,42,3008,3013,3016,4,4611,4616,4619,3026,3031,3034,42,3008,3009,3013,4,4611,4612,4616,3026,3027,3031,42,3017,3008,3016,4,4620,4611,4619,3035,3026,3034,42,3007,3008,3017,4,4609,4611,4620,3025,3026,3035,42,3018,3007,3017,4,4621,4609,4620,3036,3025,3035,42,3006,3007,3018,4,4607,4608,4622,3024,3025,3036,42,3006,3018,3019,4,4607,4622,4623,3024,3036,3037,42,3019,3018,3020,4,4624,4621,4625,3037,3036,3038,42,3018,3017,3020,4,4621,4620,4625,3036,3035,3038,42,3020,3017,3021,4,4625,4620,4626,3038,3035,3039,42,3017,3016,3021,4,4620,4619,4626,3035,3034,3039,42,3021,3016,3022,4,4626,4619,4627,3039,3034,3040,42,3016,3015,3022,4,4619,4618,4627,3034,3033,3040,42,3022,3015,3023,4,4627,4618,4628,3040,3033,3041,42,3015,3024,3023,4,4618,4629,4628,3033,3042,3041,42,3015,3025,3024,4,4618,4630,4629,3033,3043,3042,42,3025,3026,3024,4,4630,4631,4629,3043,3044,3042,42,3022,3023,3027,4,4627,4628,4632,3040,3041,3045,42,3021,3022,3027,4,4626,4627,4632,3039,3040,3045,42,3028,3021,3027,4,4633,4626,4632,3046,3039,3045,42,3029,3021,3028,4,4634,4626,4633,3047,3039,3046,42,3020,3021,3029,4,4625,4626,4634,3038,3039,3047,42,3020,3029,3030,4,4625,4634,4635,3038,3047,3048,42,3030,3029,3031,4,4635,4634,4636,3048,3047,3049,42,3031,3029,3032,4,4636,4634,4637,3049,3047,3050,42,3032,3029,3028,4,4637,4634,4633,3050,3047,3046,42,3033,3031,3032,4,4638,4636,4637,3051,3049,3050,42,3034,3031,3033,4,4639,4636,4638,3052,3049,3051,42,3035,3031,3034,4,4640,4636,4639,3053,3049,3052,42,3030,3031,3035,4,4635,4636,4640,3048,3049,3053,42,3036,3030,3035,4,4641,4635,4640,3054,3048,3053,42,3036,3019,3030,4,4641,4624,4635,3054,3037,3048,42,2993,3019,3036,4,4590,4624,4641,3011,3037,3054,42,2993,3006,3019,4,4590,4606,4624,3011,3024,3037,42,2993,2994,3006,4,4590,4591,4606,3011,3012,3024,42,2990,2993,3036,4,4587,4590,4641,3008,3011,3054,42,2990,3036,2989,4,4587,4641,4586,3008,3054,3007,42,3036,3035,2989,4,4641,4640,4586,3054,3053,3007,42,2989,3035,3037,4,4586,4640,4642,3007,3053,3055,42,3037,3035,3038,4,4642,4640,4643,3055,3053,3056,42,3035,3034,3038,4,4640,4639,4643,3053,3052,3056,42,3038,3034,3039,4,4643,4639,4644,3056,3052,3057,42,3039,3034,3040,4,4644,4639,4645,3057,3052,3058,42,3040,3034,3033,4,4645,4639,4638,3058,3052,3051,42,3041,3039,3040,4,4646,4644,4645,3059,3057,3058,42,3042,3039,3041,4,4647,4644,4646,3060,3057,3059,42,3038,3039,3042,4,4643,4644,4647,3056,3057,3060,42,3038,3042,3043,4,4643,4647,4648,3056,3060,3061,42,3044,3043,3042,4,4649,4648,4647,3062,3061,3060,42,3044,3045,3043,4,4649,4650,4648,3062,3063,3061,42,3045,3044,3046,4,4651,4652,4653,3063,3062,3064,42,3046,3044,3047,4,4653,4652,4654,3064,3062,3065,42,3044,3048,3047,4,4655,4656,4657,3062,3066,3065,42,3044,3049,3048,4,4655,4658,4656,3062,3067,3066,42,3049,3044,3042,4,4659,4649,4647,3067,3062,3060,42,3049,3042,3041,4,4660,4647,4646,3067,3060,3059,42,3049,3041,3048,4,4658,4661,4656,3067,3059,3066,42,3048,3041,3050,4,4656,4661,4662,3066,3059,3068,42,3050,3041,3051,4,4663,4664,4665,3068,3059,3069,42,3052,3050,3051,4,4666,4663,4665,3070,3068,3069,42,3053,3050,3052,4,4667,4662,4668,3071,3068,3070,42,3053,3048,3050,4,4667,4656,4662,3071,3066,3068,42,3047,3048,3053,4,4657,4656,4667,3065,3066,3071,42,3054,3047,3053,4,4669,4657,4667,3072,3065,3071,42,3055,3047,3054,4,4670,4654,4671,3073,3065,3072,42,3055,3046,3047,4,4670,4653,4654,3073,3064,3065,42,3056,3046,3055,4,4672,4653,4670,3074,3064,3073,42,3056,3057,3046,4,4672,4673,4653,3074,3075,3064,42,2844,3057,3056,4,4674,4675,4676,2862,3075,3074,42,2844,2845,3057,4,4674,4677,4675,2862,2863,3075,42,2845,3058,3057,4,4677,4678,4675,2863,3076,3075,42,2845,2848,3058,4,4677,4679,4678,2863,2866,3076,42,2846,2848,2845,4,4379,4680,4378,2864,2866,2863,42,2846,2847,2848,4,4379,4681,4680,2864,2865,2866,42,2848,2849,3059,4,4682,4683,4684,2866,2867,3077,42,2849,2988,3059,4,4683,4583,4684,2867,3006,3077,42,2849,2851,2988,4,4683,4582,4583,2867,2869,3006,42,3059,2988,3037,4,4685,4584,4642,3077,3006,3055,42,2988,2989,3037,4,4584,4586,4642,3006,3007,3055,42,3059,3037,3060,4,4685,4642,4686,3077,3055,3078,42,3037,3038,3060,4,4642,4643,4686,3055,3056,3078,42,3060,3038,3043,4,4686,4643,4648,3078,3056,3061,42,3045,3060,3043,4,4650,4686,4648,3063,3078,3061,42,3058,3060,3045,4,4687,4686,4650,3076,3078,3063,42,3058,3059,3060,4,4687,4685,4686,3076,3077,3078,42,3058,3045,3057,4,4688,4651,4673,3076,3063,3075,42,3057,3045,3046,4,4673,4651,4653,3075,3063,3064,42,2843,2844,3056,4,4374,4674,4676,2861,2862,3074,42,2842,2843,3056,4,4373,4374,4676,2860,2861,3074,42,2842,3056,3061,4,4689,4672,4690,2860,3074,3079,42,3061,3056,3062,4,4690,4672,4691,3079,3074,3080,42,3062,3056,3055,4,4691,4672,4670,3080,3074,3073,42,3062,3055,3054,4,4691,4670,4671,3080,3073,3072,42,3062,3054,3063,4,4691,4671,4692,3080,3072,3081,42,3054,3053,3063,4,4669,4667,4693,3072,3071,3081,42,3063,3053,3064,4,4693,4667,4694,3081,3071,3082,42,3064,3053,3052,4,4694,4667,4668,3082,3071,3070,42,3064,3052,3065,4,4694,4668,4695,3082,3070,3083,42,3065,3052,3066,4,4695,4668,4696,3083,3070,3084,42,3052,3067,3066,4,4666,4697,4698,3070,3085,3084,42,3052,3051,3067,4,4666,4665,4697,3070,3069,3085,42,3066,3067,3068,4,4698,4697,4699,3084,3085,3086,42,3066,3068,3069,4,4698,4699,4700,3084,3086,3087,42,3066,3069,3070,4,4698,4700,4701,3084,3087,3088,42,3070,3069,3071,4,4701,4700,4702,3088,3087,3089,42,3070,3071,3072,4,4701,4702,4703,3088,3089,3090,42,3072,3071,3073,4,4703,4702,4704,3090,3089,3091,42,3072,3073,3074,4,4703,4704,4705,3090,3091,3092,42,3074,3073,3075,4,4705,4704,4706,3092,3091,3093,42,3065,3066,3076,4,4695,4696,4707,3083,3084,3094,42,3076,3066,3077,4,4707,4696,4708,3094,3084,3095,42,3076,3077,3078,4,4707,4708,4709,3094,3095,3096,42,3078,3077,3079,4,4709,4708,4710,3096,3095,3097,42,3077,3080,3079,4,4708,4711,4710,3095,3098,3097,42,3079,3080,3081,4,4710,4711,4712,3097,3098,3099,42,3081,3080,3082,4,4712,4711,4713,3099,3098,3100,42,3083,3081,3082,4,4714,4712,4713,3101,3099,3100,42,3083,3084,3081,4,4714,4715,4712,3101,3102,3099,42,3078,3081,3084,4,4709,4712,4715,3096,3099,3102,42,3081,3078,3079,4,4712,4709,4710,3099,3096,3097,42,3076,3078,3085,4,4716,4717,4718,3094,3096,3103,42,3085,3078,3086,4,4718,4717,4719,3103,3096,3104,42,3086,3078,3087,4,4719,4717,4720,3104,3096,3105,42,3078,3088,3087,4,4721,4722,4723,3096,3106,3105,42,3087,3088,3089,4,4723,4722,4724,3105,3106,3107,42,3088,3090,3089,4,4722,4725,4724,3106,3108,3107,42,3089,3090,3091,4,4724,4725,4726,3107,3108,3109,42,3090,3092,3091,4,4725,4727,4726,3108,3110,3109,42,3091,3092,3093,4,4726,4727,4728,3109,3110,3111,42,3092,3094,3093,4,4727,4729,4728,3110,3112,3111,42,3089,3091,3095,4,4730,4731,4732,3107,3109,3113,42,3095,3091,3096,4,4732,4731,4733,3113,3109,3114,42,3091,3097,3096,4,4731,4734,4733,3109,3115,3114,42,3098,3095,3096,4,4735,4732,4733,3116,3113,3114,42,3099,3095,3098,4,4736,4732,4735,3117,3113,3116,42,3099,3100,3095,4,4736,4737,4732,3117,3118,3113,42,3099,3101,3100,4,4736,4738,4737,3117,3119,3118,42,3101,3099,3102,4,4738,4736,4739,3119,3117,3120,42,3102,3099,3103,4,4739,4736,4740,3120,3117,3121,42,3102,3103,3104,4,4739,4740,4741,3120,3121,3122,42,3105,3102,3104,4,4742,4739,4741,3123,3120,3122,42,3105,3106,3102,4,4742,4743,4739,3123,3124,3120,42,3106,3105,3107,4,4743,4742,4744,3124,3123,3125,42,3107,3105,3108,4,4744,4742,4745,3125,3123,3126,42,3105,3109,3108,4,4742,4746,4745,3123,3127,3126,42,3109,3105,3104,4,4746,4742,4741,3127,3123,3122,42,3108,3109,3110,4,4745,4746,4747,3126,3127,3128,42,3111,3106,3107,4,4748,4743,4744,3129,3124,3125,42,3111,3112,3106,4,4748,4749,4743,3129,3130,3124,42,3113,3112,3111,4,4750,4749,4748,3131,3130,3129,42,3114,3112,3113,4,4751,4749,4750,3132,3130,3131,42,3114,3115,3112,4,4751,4752,4749,3132,3133,3130,42,3114,3116,3115,4,4751,4753,4752,3132,3134,3133,42,3117,3116,3114,4,4754,4753,4751,3135,3134,3132,42,3117,3118,3116,4,4754,4755,4753,3135,3136,3134,42,3119,3118,3117,4,4756,4755,4754,3137,3136,3135,42,3119,3120,3118,4,4756,4757,4755,3137,3138,3136,42,3121,3120,3119,4,4758,4757,4756,3139,3138,3137,42,3121,3062,3120,4,4758,4691,4757,3139,3080,3138,42,3121,3061,3062,4,4758,4690,4691,3139,3079,3080,42,2841,3061,3121,4,4759,4690,4758,2859,3079,3139,42,2841,2842,3061,4,4759,4689,4690,2859,2860,3079,42,2841,3121,2840,4,4759,4758,4760,2859,3139,2858,42,3121,3119,2840,4,4758,4756,4760,3139,3137,2858,42,2840,3119,3117,4,4760,4756,4754,2858,3137,3135,42,2840,3117,3122,4,4760,4754,4761,2858,3135,3140,42,3122,3117,3114,4,4761,4754,4751,3140,3135,3132,42,3122,3114,3113,4,4761,4751,4750,3140,3132,3131,42,3120,3062,3123,4,4757,4691,4762,3138,3080,3141,42,3123,3062,3063,4,4762,4691,4692,3141,3080,3081,42,3063,3065,3123,4,4693,4695,4763,3081,3083,3141,42,3063,3064,3065,4,4693,4694,4695,3081,3082,3083,42,3076,3123,3065,4,4707,4763,4695,3094,3141,3083,42,3123,3076,3118,4,4762,4716,4755,3141,3094,3136,42,3118,3076,3085,4,4755,4716,4718,3136,3094,3103,42,3124,3118,3085,4,4764,4755,4718,3142,3136,3103,42,3116,3118,3124,4,4753,4755,4764,3134,3136,3142,42,3115,3116,3124,4,4752,4753,4764,3133,3134,3142,42,3115,3124,3125,4,4752,4764,4765,3133,3142,3143,42,3125,3124,3085,4,4765,4764,4718,3143,3142,3103,42,3125,3085,3086,4,4765,4718,4719,3143,3103,3104,42,3101,3125,3086,4,4738,4765,4719,3119,3143,3104,42,3125,3101,3126,4,4765,4738,4766,3143,3119,3144,42,3126,3101,3102,4,4766,4738,4739,3144,3119,3120,42,3106,3126,3102,4,4743,4766,4739,3124,3144,3120,42,3106,3112,3126,4,4743,4749,4766,3124,3130,3144,42,3112,3115,3126,4,4749,4752,4766,3130,3133,3144,42,3126,3115,3125,4,4766,4752,4765,3144,3133,3143,42,3101,3086,3100,4,4738,4719,4737,3119,3104,3118,42,3086,3087,3100,4,4719,4720,4737,3104,3105,3118,42,3087,3089,3100,4,4720,4730,4737,3105,3107,3118,42,3100,3089,3095,4,4737,4730,4732,3118,3107,3113,42,3120,3123,3118,4,4757,4762,4755,3138,3141,3136,42,3019,3020,3030,4,4624,4625,4635,3037,3038,3048,42,2975,2957,2973,4,4564,4541,4562,2993,2975,2991,42,2973,2957,2958,4,4562,4541,4542,2991,2975,2976,42,2958,2968,2973,4,4554,4555,4560,2976,2986,2991,42,2969,2967,2966,4,4556,4553,4552,2987,2985,2984,42,2933,3127,2934,4,4506,4767,4504,2951,3145,2952,42,2906,2904,3128,4,4768,4769,4770,2924,2922,3146,42,3128,2904,3129,4,4770,4769,4771,3146,2922,3147,42,2904,2902,3129,4,4769,4460,4771,2922,2920,3147,42,3129,2902,2901,4,4771,4460,4459,3147,2920,2919,42,2899,2901,2900,4,4772,4459,4458,2917,2919,2918,42,3130,2901,2899,4,4773,4459,4772,3148,2919,2917,42,3131,3130,2899,4,4774,4773,4772,3149,3148,2917,42,3132,3131,2899,4,4775,4774,4772,3150,3149,2917,42,2899,2898,3132,4,4456,4455,4776,2917,2916,3150,42,2836,2872,2834,4,4364,4418,4363,2854,2890,2852,42,2834,2872,2871,4,4363,4418,4420,2852,2890,2889,42,2834,2871,2868,4,4361,4417,4414,2852,2889,2886,42,2834,2868,2833,4,4361,4414,4360,2852,2886,2851,42,2833,2868,2867,4,4359,4410,4412,2851,2886,2885,42,2833,2867,2832,4,4359,4412,4358,2851,2885,2850,42,2832,2867,2864,4,4777,4409,4404,2850,2885,2882,42,2832,2864,3133,4,4777,4404,4778,2850,2882,3151,42,3133,2864,2862,4,4778,4404,4406,3151,2882,2880,42,3133,2862,2861,4,4779,4400,4402,3151,2880,2879,42,3133,2861,3134,4,4779,4402,4780,3151,2879,3152,42,3134,2861,2854,4,4781,4399,4392,3152,2879,2872,42,2854,2861,2857,4,4392,4399,4395,2872,2879,2875,42,2852,3134,2854,4,4390,4781,4392,2870,3152,2872,42,3134,2852,2830,4,4781,4390,4782,3152,2870,2848,42,2830,2852,2829,4,4782,4390,4783,2848,2870,2847,42,2852,2850,2829,4,4390,4388,4783,2870,2868,2847,42,2828,2829,2850,4,4385,4783,4388,2846,2847,2868,42,2831,3134,2830,4,4356,4780,4355,2849,3152,2848,42,2831,3133,3134,4,4356,4779,4780,2849,3151,3152,42,2832,3133,2831,4,4777,4778,4784,2850,3151,2849,42,2848,3059,3058,5,4785,4786,4787,2866,3077,3076,42,3135,3136,3137,4,4788,4789,4790,3153,3154,3155,42,3135,3138,3136,4,4788,4791,4789,3153,3156,3154,42,3137,3136,3139,4,4790,4789,4792,3155,3154,3157,42,3140,3141,3142,4,4793,4794,4795,3158,3159,3160,42,3140,3143,3141,4,4793,4796,4794,3158,3161,3159,42,3143,3140,3144,4,4796,4793,4797,3161,3158,3162,42,3144,3145,3143,4,4797,4798,4796,3162,3163,3161,42,3144,3146,3145,4,4797,4799,4798,3162,3164,3163,42,3147,3146,3144,4,4800,4799,4797,3165,3164,3162,42,3147,3144,3148,4,4800,4797,4801,3165,3162,3166,42,3144,3140,3148,4,4797,4793,4801,3162,3158,3166,42,3148,3140,3149,4,4801,4793,4802,3166,3158,3167,42,3140,3142,3149,4,4793,4795,4802,3158,3160,3167,42,3149,3142,3150,4,4802,4795,4803,3167,3160,3168,42,3142,3151,3150,4,4795,4804,4803,3160,3169,3168,42,3142,3152,3151,4,4795,4805,4804,3160,3170,3169,42,3142,3141,3152,4,4795,4794,4805,3160,3159,3170,42,3152,3153,3151,4,4805,4806,4804,3170,3171,3169,42,3151,3153,3154,4,4804,4806,4807,3169,3171,3172,42,3153,3155,3154,4,4806,4808,4807,3171,3173,3172,42,3154,3155,3156,4,4807,4808,4809,3172,3173,3174,42,3157,3156,3155,4,4810,4809,4808,3175,3174,3173,42,3157,3158,3156,4,4810,4811,4809,3175,3176,3174,42,3157,3159,3158,4,4810,4812,4811,3175,3177,3176,42,3160,3159,3157,4,4813,4812,4810,3178,3177,3175,42,3159,3161,3158,4,4812,4814,4811,3177,3179,3176,42,3161,3159,3162,4,4814,4812,4815,3179,3177,3180,42,3156,3158,3161,4,4809,4811,4814,3174,3176,3179,42,3156,3161,3163,4,4809,4814,4816,3174,3179,3181,42,3154,3156,3163,4,4807,4809,4816,3172,3174,3181,42,3151,3154,3164,4,4804,4807,4817,3169,3172,3182,42,3164,3154,3165,4,4817,4807,4818,3182,3172,3183,42,3154,3166,3165,4,4807,4819,4818,3172,3184,3183,42,3165,3166,3167,4,4818,4819,4820,3183,3184,3185,42,3168,3167,3166,4,4821,4820,4819,3186,3185,3184,42,3168,3169,3167,4,4821,4822,4820,3186,3187,3185,42,3170,3169,3168,4,4823,4822,4821,3188,3187,3186,42,3170,3171,3169,4,4823,4824,4822,3188,3189,3187,42,3171,3172,3169,4,4824,4825,4822,3189,3190,3187,42,3172,3173,3169,4,4825,4826,4822,3190,3191,3187,42,3169,3173,3167,4,4822,4826,4820,3187,3191,3185,42,3173,3174,3167,4,4826,4827,4820,3191,3192,3185,42,3173,3175,3174,4,4826,4828,4827,3191,3193,3192,42,3173,3176,3175,4,4826,4829,4828,3191,3194,3193,42,3177,3176,3173,4,4830,4829,4826,3195,3194,3191,42,3176,3178,3175,4,4829,4831,4828,3194,3196,3193,42,3175,3178,3179,4,4828,4831,4832,3193,3196,3197,42,3180,3175,3179,4,4833,4828,4832,3198,3193,3197,42,3174,3175,3180,4,4827,4828,4833,3192,3193,3198,42,3181,3174,3180,4,4834,4827,4833,3199,3192,3198,42,3165,3174,3181,4,4818,4827,4834,3183,3192,3199,42,3165,3167,3174,4,4818,4820,4827,3183,3185,3192,42,3182,3165,3181,4,4835,4818,4834,3200,3183,3199,42,3164,3165,3182,4,4817,4818,4835,3182,3183,3200,42,3183,3164,3182,4,4836,4817,4835,3201,3182,3200,42,3150,3164,3183,4,4803,4817,4836,3168,3182,3201,42,3150,3151,3164,4,4803,4804,4817,3168,3169,3182,42,3184,3150,3183,4,4837,4803,4836,3202,3168,3201,42,3149,3150,3184,4,4802,4803,4837,3167,3168,3202,42,3185,3149,3184,4,4838,4802,4837,3203,3167,3202,42,3148,3149,3185,4,4801,4802,4838,3166,3167,3203,42,3186,3148,3185,4,4839,4801,4838,3204,3166,3203,42,3147,3148,3186,4,4800,4801,4839,3165,3166,3204,42,3185,3187,3186,4,4840,4841,4842,3203,3205,3204,42,3185,3188,3187,4,4840,4843,4841,3203,3206,3205,42,3185,3184,3188,4,4840,4844,4843,3203,3202,3206,42,3188,3184,3189,4,4843,4844,4845,3206,3202,3207,42,3184,3183,3189,4,4844,4846,4845,3202,3201,3207,42,3189,3183,3190,4,4845,4846,4847,3207,3201,3208,42,3190,3183,3182,4,4847,4846,4848,3208,3201,3200,42,3190,3182,3191,4,4847,4848,4849,3208,3200,3209,42,3182,3181,3191,4,4848,4850,4849,3200,3199,3209,42,3191,3181,3192,4,4849,4850,4851,3209,3199,3210,42,3192,3181,3193,4,4851,4850,4852,3210,3199,3211,42,3181,3194,3193,4,4850,4853,4852,3199,3212,3211,42,3181,3180,3194,4,4850,4854,4853,3199,3198,3212,42,3180,3195,3194,4,4854,4855,4853,3198,3213,3212,42,3180,3179,3195,4,4854,4856,4855,3198,3197,3213,42,3179,3196,3195,4,4856,4857,4855,3197,3214,3213,42,3196,3197,3195,4,4857,4858,4855,3214,3215,3213,42,3195,3197,3198,4,4855,4858,4859,3213,3215,3216,42,3195,3198,3199,4,4855,4859,4860,3213,3216,3217,42,3194,3195,3199,4,4853,4855,4860,3212,3213,3217,42,3194,3199,3200,4,4853,4860,4861,3212,3217,3218,42,3193,3194,3200,4,4852,4853,4861,3211,3212,3218,42,3193,3200,3201,4,4852,4861,4862,3211,3218,3219,42,3201,3200,3202,4,4862,4861,4863,3219,3218,3220,42,3203,3201,3202,4,4864,4862,4863,3221,3219,3220,42,3201,3203,3204,4,4862,4864,4865,3219,3221,3222,42,3203,3205,3204,4,4864,4866,4865,3221,3223,3222,42,3203,3206,3205,4,4864,4867,4866,3221,3224,3223,42,3207,3206,3203,4,4868,4867,4864,3225,3224,3221,42,3207,3203,3202,4,4868,4864,4863,3225,3221,3220,42,3201,3204,3208,4,4862,4865,4869,3219,3222,3226,42,3192,3201,3208,4,4851,4862,4869,3210,3219,3226,42,3192,3193,3201,4,4851,4852,4862,3210,3211,3219,42,3146,3209,3145,4,4799,4870,4798,3164,3227,3163,42,3210,3211,3212,4,4871,4872,4873,3228,3229,3230,42,3211,3213,3212,4,4872,4874,4873,3229,3231,3230,42,3212,3213,3214,4,4873,4874,4875,3230,3231,3232,42,3213,3215,3214,4,4874,4876,4875,3231,3233,3232,42,3213,3216,3215,4,4874,4877,4876,3231,3234,3233,42,3210,3212,3217,4,4871,4873,4878,3228,3230,3235,42,3217,3212,3218,4,4878,4873,4879,3235,3230,3236,42,3212,3219,3218,4,4873,4880,4879,3230,3237,3236,42,3218,3219,3220,4,4879,4880,4881,3236,3237,3238,42,3219,3221,3220,4,4880,4882,4881,3237,3239,3238,42,3222,3221,3219,4,4883,4882,4880,3240,3239,3237,42,3217,3218,3223,4,4878,4879,4884,3235,3236,3241,42,3223,3218,3224,4,4884,4879,4885,3241,3236,3242,42,3224,3218,3225,4,4885,4879,4886,3242,3236,3243,42,3218,3226,3225,4,4879,4887,4886,3236,3244,3243,42,3226,3227,3225,4,4887,4888,4886,3244,3245,3243,42,3228,3227,3226,4,4889,4888,4887,3246,3245,3244,42,3228,3229,3227,4,4889,4890,4888,3246,3247,3245,42,3224,3225,3230,4,4885,4886,4891,3242,3243,3248,42,3230,3225,3231,4,4891,4886,4892,3248,3243,3249,42,3225,3232,3231,4,4886,4893,4892,3243,3250,3249,42,3225,3233,3232,4,4886,4894,4893,3243,3251,3250,42,3233,3234,3232,4,4894,4895,4893,3251,3252,3250,42,3235,3234,3233,4,4896,4895,4894,3253,3252,3251,42,3230,3231,3236,4,4891,4892,4897,3248,3249,3254,42,3236,3231,3237,4,4897,4892,4898,3254,3249,3255,42,3237,3231,3238,4,4898,4892,4899,3255,3249,3256,42,3231,3239,3238,4,4892,4900,4899,3249,3257,3256,42,3239,3240,3238,4,4900,4901,4899,3257,3258,3256,42,3239,3241,3240,4,4900,4902,4901,3257,3259,3258,42,3237,3242,3236,4,4898,4903,4897,3255,3260,3254,42,3242,3237,3243,4,4903,4898,4904,3260,3255,3261,42,3237,3244,3243,4,4898,4905,4904,3255,3262,3261,42,3244,3237,3245,4,4905,4898,4906,3262,3255,3263,42,3246,3244,3245,4,4907,4905,4906,3264,3262,3263,42,3245,3247,3246,4,4906,4908,4907,3263,3265,3264,42,3248,3236,3242,4,4909,4897,4903,3266,3254,3260,42,3236,3248,3249,4,4897,4909,4910,3254,3266,3267,42,3250,3249,3248,4,4911,4910,4909,3268,3267,3266,42,3250,3251,3249,4,4911,4912,4910,3268,3269,3267,42,3252,3251,3250,4,4913,4912,4911,3270,3269,3268,42,3252,3253,3251,4,4913,4914,4912,3270,3271,3269,42,3253,3254,3251,4,4914,4915,4912,3271,3272,3269,42,3253,3255,3254,4,4914,4916,4915,3271,3273,3272,42,3255,3256,3254,4,4916,4917,4915,3273,3274,3272,42,3257,3256,3255,4,4918,4917,4916,3275,3274,3273,42,3257,3258,3256,4,4918,4919,4917,3275,3276,3274,42,3259,3258,3257,4,4920,4919,4918,3277,3276,3275,42,3259,3260,3258,4,4920,4921,4919,3277,3278,3276,42,3261,3260,3259,4,4922,4921,4920,3279,3278,3277,42,3262,3260,3261,4,4923,4921,4922,3280,3278,3279,42,3262,3263,3260,4,4923,4924,4921,3280,3281,3278,42,3260,3263,3264,4,4921,4924,4925,3278,3281,3282,42,3263,3210,3264,4,4924,4871,4925,3281,3228,3282,42,3264,3210,3217,4,4925,4871,4878,3282,3228,3235,42,3264,3217,3265,4,4925,4878,4926,3282,3235,3283,42,3265,3217,3223,4,4926,4878,4884,3283,3235,3241,42,3265,3223,3266,4,4926,4884,4927,3283,3241,3284,42,3266,3223,3224,4,4927,4884,4885,3284,3241,3242,42,3266,3224,3267,4,4927,4885,4928,3284,3242,3285,42,3267,3224,3230,4,4928,4885,4891,3285,3242,3248,42,3249,3267,3230,4,4910,4928,4891,3267,3285,3248,42,3251,3267,3249,4,4912,4928,4910,3269,3285,3267,42,3251,3254,3267,4,4912,4915,4928,3269,3272,3285,42,3254,3266,3267,4,4915,4927,4928,3272,3284,3285,42,3254,3256,3266,4,4915,4917,4927,3272,3274,3284,42,3256,3265,3266,4,4917,4926,4927,3274,3283,3284,42,3258,3265,3256,4,4919,4926,4917,3276,3283,3274,42,3258,3264,3265,4,4919,4925,4926,3276,3282,3283,42,3260,3264,3258,4,4921,4925,4919,3278,3282,3276,42,3249,3230,3236,4,4910,4891,4897,3267,3248,3254,42,3268,3262,3261,4,4929,4923,4922,3286,3280,3279,42,3269,3270,3271,4,4930,4931,4932,3287,3288,3289,42,3269,3272,3270,4,4930,4933,4931,3287,3290,3288,42,3269,3271,3273,4,4930,4932,4934,3287,3289,3291] } ================================================ FILE: examples/models/female02/female02.mtl ================================================ # Material Count: 6 newmtl FrontColorNoCullingID__01_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.800000 0.800000 0.800000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 01_-_Default1noCulling.JPG newmtl _02_-_Default1noCulli__02_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 02_-_Default1noCulling.JPG newmtl _01_-_Default1noCulli__01_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 01_-_Default1noCulling.JPG newmtl FrontColorNoCullingID__03_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.800000 0.800000 0.800000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 03_-_Default1noCulling.JPG newmtl _03_-_Default1noCulli__03_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 03_-_Default1noCulling.JPG newmtl FrontColorNoCullingID__02_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.800000 0.800000 0.800000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 02_-_Default1noCulling.JPG ================================================ FILE: examples/models/female02/female02.obj ================================================ # Blender v2.54 (sub 0) OBJ File: '' # www.blender.org mtllib female02.mtl o mesh1.002_mesh1-geometry v 15.257854 104.640892 8.680023 v 14.044281 104.444138 11.718708 v 15.763498 98.955704 11.529579 v 13.569746 109.269287 9.462707 v 14.757845 104.775192 4.971417 v 13.142721 109.172058 6.268135 v 11.807373 104.843132 0.849572 v 10.506094 108.970917 3.033252 v 7.593388 104.766266 -1.942774 v 13.169130 98.956718 -0.815624 v 16.459829 99.100952 3.554761 v 16.986284 99.074776 8.074696 v 16.292191 92.596588 12.043097 v 12.936630 92.984993 15.447964 v 12.155630 98.725319 14.668951 v 10.850975 103.979431 14.698450 v 6.023970 103.116035 16.648632 v 5.181572 108.072670 16.075081 v 1.004087 107.656731 16.184366 v 4.572311 113.371391 16.038912 v 0.896918 113.390305 16.633600 v -2.759317 113.344933 15.698933 v -2.339039 117.834694 16.190298 v -6.563547 112.961159 14.348729 v -5.760449 117.526817 14.933550 v -5.519526 120.864822 14.823684 v -8.238861 121.361290 11.204505 v -8.201044 117.402969 11.693075 v -8.958361 117.036407 7.802324 v -8.927507 112.696747 11.601196 v -9.589485 112.800865 8.227003 v -8.530052 116.664978 4.531123 v -8.993671 112.653061 5.276041 v -5.822862 116.368874 1.348426 v -6.339392 112.660645 2.123057 v -1.702780 116.139168 0.200030 v -5.808820 120.986809 -0.067874 v -1.966336 120.398438 -0.867285 v -5.976162 124.118515 -0.662507 v -2.116596 122.962830 -1.600700 v -5.521203 130.084656 -1.564034 v -2.263046 127.628281 -2.742522 v -5.012523 135.835724 -3.003631 v -2.111149 135.131348 -3.247862 v -5.371818 139.766556 -2.818895 v -0.798830 139.060715 -2.894871 v -6.140585 142.219238 -0.990886 v -1.256657 143.945007 0.302066 v 2.123688 143.993774 0.203624 v 4.578859 138.859299 -2.312485 v 4.814582 143.832108 0.309396 v 4.899103 145.366821 1.007436 v 7.444840 143.444366 0.767250 v 7.140624 145.037689 1.468624 v 4.944429 146.823639 1.659728 v 6.984528 146.554031 2.091060 v 6.465117 148.383759 2.361522 v 7.741009 148.162811 3.738755 v 7.249308 150.299500 2.554684 v 6.102142 150.066147 1.919027 v 4.661311 148.335938 1.957730 v 2.815995 148.197647 1.986842 v 2.840966 146.854004 1.654857 v 2.591450 145.507385 0.986767 v 0.865065 145.314529 1.871189 v -2.008381 144.262939 3.806267 v -6.432969 142.891678 3.093233 v -8.592241 141.481171 -1.470636 v -7.430822 139.661819 -3.021901 v -6.824625 136.113113 -2.779307 v -7.851790 131.386444 -0.263758 v -9.344049 128.897690 2.850615 v -8.784912 125.515945 2.980577 v -8.889849 121.734673 3.146753 v -9.168697 121.797211 7.052613 v -9.034607 124.540642 10.404552 v -7.697692 123.543411 12.575319 v -5.151237 122.993889 14.849089 v -2.304177 120.534714 16.266979 v 0.720808 117.744400 16.803429 v 4.306844 117.695595 16.268337 v 8.393042 113.521927 15.247016 v 9.632933 108.557266 14.914340 v 12.402884 109.039261 12.367670 v 11.144743 113.766785 12.886069 v 10.799906 116.989632 12.753507 v 7.791673 117.285263 15.410421 v 7.505010 120.164337 15.455770 v 4.225027 120.246017 16.572189 v 0.683850 120.364166 17.032619 v -2.378849 122.808197 16.202868 v -2.488681 124.059319 17.903734 v 0.845051 123.960747 17.790226 v 1.078839 126.564957 18.746563 v -2.562774 126.734512 19.054131 v -5.076929 127.023781 18.594307 v -5.304347 124.156059 16.893770 v -7.303342 127.466972 17.018900 v -7.526822 124.924362 14.839005 v -9.579182 127.699867 9.877795 v -9.587976 128.310547 6.698901 v -9.507895 124.928047 6.633179 v -8.672806 131.796738 3.127684 v -9.669853 131.598038 6.691789 v -9.457756 131.113419 9.492600 v -9.075939 130.374649 13.654957 v -9.036234 127.456581 13.609797 v -7.023031 130.025726 16.806595 v -4.804986 129.649216 18.280996 v -2.451254 129.421494 18.750168 v 0.161343 129.171860 18.366440 v 1.399633 129.065811 18.155729 v 2.562644 128.923935 18.620789 v 4.965795 128.717819 19.430416 v 4.454268 126.139549 19.548819 v 4.179170 123.677025 18.153822 v 4.346234 122.485069 16.463732 v 7.455125 122.400360 15.525774 v 7.146682 123.493713 17.577509 v 9.716841 123.546791 16.145174 v 9.571938 125.953415 18.525366 v 7.019894 125.985443 19.567709 v 7.365571 128.489914 19.441542 v 9.883034 128.384186 18.489630 v 12.589560 128.221283 15.889303 v 11.949629 125.503792 15.630123 v 13.302879 125.364677 12.121984 v 13.877384 128.398834 11.623900 v 12.197374 130.195969 16.283487 v 13.636587 131.766449 13.159306 v 15.076771 129.808594 8.714169 v 15.808640 132.190048 8.884383 v 16.606277 129.669098 5.230776 v 16.686869 132.993591 7.332879 v 18.608105 135.711487 6.782923 v 19.629473 131.783615 4.968683 v 17.396856 128.066101 2.940822 v 14.789427 129.439377 5.177344 v 14.529860 128.812546 8.640189 v 14.064905 125.527832 8.717837 v 12.087156 122.662857 12.424332 v 10.121506 122.192787 13.912159 v 0.820999 122.709267 16.974115 v 10.716888 119.949455 12.450660 v 12.117998 117.213303 9.398716 v 12.583788 119.949387 8.920332 v 13.423439 122.661903 8.817785 v 14.786779 126.031479 4.812602 v 14.772257 128.750229 5.099123 v 14.454624 128.924652 1.585409 v 12.704168 135.421570 -2.039784 v 12.735502 131.069931 -0.253911 v 13.908258 133.446945 -2.746296 v 14.739635 131.764389 -3.934664 v 13.730759 129.539825 -1.199649 v 14.936941 127.407906 -3.997814 v 15.442606 125.720795 -1.273048 v 19.048721 128.465240 -2.382073 v 18.016111 125.458473 0.919583 v 20.819742 127.078728 0.940981 v 20.264738 129.751083 3.042332 v 22.159887 132.102295 1.522548 v 21.047403 134.289536 2.966325 v 20.858221 136.016235 -0.266787 v 19.046593 139.433731 1.149142 v 17.120358 138.683502 -1.130824 v 19.020466 136.058121 -2.599424 v 21.846994 133.704514 -1.336323 v 23.022522 129.200470 -0.403539 v 22.748058 131.012848 -3.164179 v 21.068506 131.455154 -5.445457 v 18.468355 130.847443 -6.353982 v 16.318249 129.402374 -5.838568 v 17.175697 133.096390 -4.580065 v 20.044525 133.881470 -3.799545 v 16.239779 135.007294 -3.421530 v 15.202147 136.896225 -2.150012 v 15.067904 139.482681 -0.966252 v 16.497074 140.419434 1.763396 v 12.905005 139.526535 -1.159311 v 14.176407 137.338409 -1.868070 v 9.816385 134.971985 -2.289405 v 8.802313 126.579117 -1.640443 v 12.090342 128.006531 -0.232787 v 11.383951 122.484367 1.014178 v 13.579321 123.069427 4.883085 v 12.533098 119.770493 5.351305 v 12.067905 116.909058 6.123657 v 12.364876 113.798454 9.752976 v 12.098284 113.706558 6.730651 v 10.087294 116.559059 2.573340 v 10.633617 119.615692 1.583975 v 7.067396 119.735527 0.016351 v 6.352275 116.061165 0.893890 v 9.957821 113.404274 3.261717 v 5.950680 113.047874 1.545629 v 6.350613 108.854103 0.724019 v 2.546105 104.179482 -2.297141 v 8.672219 98.883179 -3.681098 v 13.879513 92.387054 -1.669693 v 17.239635 92.585518 3.095561 v 17.917158 92.777885 7.797945 v 16.980242 86.977798 12.513994 v 13.397591 87.395859 16.193586 v 7.605553 87.773949 18.236450 v 7.280198 92.810295 17.497877 v 6.817319 97.914505 17.084080 v 1.813271 97.321938 16.938837 v 1.356570 102.738937 16.495104 v -3.410332 102.441368 15.430528 v -3.113336 107.291580 15.138844 v -7.329031 107.039642 13.275847 v -9.777727 106.952477 10.759624 v -10.294901 102.010590 10.099216 v -7.757557 102.174301 13.254334 v -11.049877 96.480576 10.020199 v -8.266039 96.549950 13.494250 v -9.062391 91.262093 13.354946 v -11.795845 91.252716 9.793103 v -9.826134 85.628273 12.756970 v -12.419189 85.619553 9.148090 v -10.651087 79.715683 12.095773 v -13.114794 79.707291 8.227346 v -13.919775 72.201546 7.192227 v -11.634295 72.173851 11.771679 v -12.521637 64.798325 11.886897 v -14.895935 64.843155 6.937648 v -14.600801 65.012924 1.665304 v -13.863844 72.363075 2.621070 v -13.533400 79.860519 3.558516 v -13.142664 85.646599 4.528917 v -12.464712 91.178162 5.581960 v -11.695574 96.586174 6.444231 v -10.954247 102.078697 7.308482 v -10.364002 106.992798 8.112869 v -9.693062 107.272934 4.977647 v -10.340078 102.356026 3.653606 v -10.943748 96.899696 2.004165 v -11.509676 91.408981 0.976740 v -12.127312 85.832809 0.081215 v -12.316023 80.073250 -0.688235 v -12.649494 72.592674 -1.831982 v -12.788748 65.272179 -3.342833 v -8.346310 72.930252 -5.964629 v -8.241735 65.633858 -7.580861 v -1.826071 65.877983 -8.956450 v -2.099915 73.163399 -7.227776 v 1.860028 65.976036 -7.454656 v 2.218313 73.320457 -6.128158 v 4.046483 73.210579 -5.250822 v 1.963209 80.792931 -5.400642 v 3.997890 80.683434 -4.921223 v 3.826737 87.155350 -5.504614 v 5.675625 86.951515 -5.117649 v 3.472819 92.720291 -5.409058 v 9.342234 86.672829 -4.392676 v 9.149899 92.636940 -4.603949 v 3.176975 98.503464 -4.168003 v 14.169586 86.327263 -1.729705 v 17.728350 86.563171 3.362996 v 18.466911 86.830360 7.936831 v 17.662632 81.021233 12.900255 v 13.940117 81.572845 16.569244 v 7.887457 82.034569 18.829964 v 4.171228 81.951607 18.876085 v 4.241510 87.448845 18.083324 v 1.917306 92.187813 17.231218 v -3.526403 96.866409 15.759851 v -3.999529 91.385872 15.964060 v -4.829578 85.756653 15.680479 v -5.740756 79.758713 15.724154 v -6.513971 72.283623 15.802740 v -7.130099 65.082016 16.216536 v -3.431118 65.516029 18.486610 v -2.569480 72.798531 17.465494 v -1.768168 80.195908 17.156097 v -0.619481 86.020370 16.933239 v 1.884088 86.604576 17.697168 v 1.455364 81.143814 18.102392 v 0.683291 73.787674 18.880880 v -0.240172 66.546326 20.381157 v 3.414923 67.299271 21.179583 v 3.799806 74.560844 19.958059 v 7.804257 74.630890 19.866087 v 7.607816 67.378014 21.201050 v 14.344858 74.058128 17.343164 v 14.660454 66.764015 18.523550 v 18.066589 73.547539 13.711157 v 18.825592 80.565514 8.242759 v 17.873400 80.245789 3.815846 v 19.269049 73.070023 8.820268 v 19.582771 65.724136 9.383492 v 18.352503 66.221939 14.497454 v 18.277100 72.720673 4.014549 v 14.379778 72.504456 -1.113012 v 14.161156 80.018242 -1.325082 v 9.156961 80.523117 -3.933111 v 9.022959 72.844894 -4.129212 v 9.047392 65.426094 -5.122706 v 14.581129 65.062149 -1.770263 v 18.580973 65.315254 3.863278 v 6.108944 65.644028 -5.850900 v 5.437512 72.940018 -4.717335 v 5.545263 80.472931 -4.603354 v 4.218413 65.860435 -6.468035 v -2.447486 98.026512 -4.317525 v -2.399303 92.265549 -5.647412 v -2.483852 86.561806 -6.212173 v 1.795105 86.898018 -5.876506 v -2.258145 80.662987 -6.396772 v -8.186127 80.405327 -4.792830 v -8.028173 86.150810 -4.122926 v -7.657579 91.783005 -3.383853 v -7.233931 97.432251 -1.977256 v -7.078729 102.905106 -0.178910 v -6.727541 107.612236 2.005714 v -2.211268 112.735870 0.943106 v -2.510503 108.048790 0.190173 v 1.875957 112.779144 1.005958 v 1.946039 108.451569 0.080465 v 2.207657 116.082527 0.423677 v 2.569174 119.937737 -0.453256 v 2.789333 122.425804 -1.119974 v 7.707129 122.190544 -0.631373 v 3.254843 126.734566 -2.413222 v 4.090608 134.722198 -2.967828 v 9.887690 139.058197 -1.762936 v 14.370291 141.240051 1.905294 v 14.359255 140.573532 5.185577 v 10.449837 142.860992 1.058952 v 8.570757 144.518921 2.687391 v 8.249189 146.274658 3.377480 v 8.128790 147.710373 6.019622 v 8.022212 150.338959 4.972027 v 8.898446 151.862518 4.304016 v 9.338477 153.420715 3.719854 v 7.613653 152.193390 1.753088 v 8.496759 154.468857 0.926173 v 9.764818 155.096603 3.282316 v 10.052132 157.458420 2.743583 v 6.342646 157.012711 -0.454772 v 6.377395 154.154938 0.105479 v 6.121506 151.842743 0.895117 v 4.298821 151.726715 0.504180 v 4.389169 149.732788 1.624210 v 2.620468 149.709671 1.565303 v 1.346732 149.695145 1.955009 v 1.306886 147.834656 3.078120 v 1.174105 146.369614 2.621312 v -0.224236 144.792786 4.195079 v -2.024309 142.909744 7.353361 v -6.430249 141.768005 6.471836 v -9.818974 142.110321 2.275871 v -11.210686 139.798004 -1.955649 v -8.989851 138.765884 -3.170697 v -6.857518 136.097931 -2.753657 v -5.294811 134.760193 0.398530 v -6.916807 133.961319 -2.600538 v -5.208048 133.484909 0.446704 v -6.753419 133.349197 3.455821 v -8.806538 133.226273 6.471984 v -9.706589 133.405930 7.004020 v -8.140234 131.413605 5.781672 v -11.730089 131.397812 5.554085 v -11.884157 133.991470 6.102343 v -13.863079 135.228836 3.762410 v -14.000721 132.231659 3.228710 v -11.849022 127.996849 5.192813 v -13.835352 128.738190 2.744757 v -10.282988 128.419830 0.905926 v -8.487638 127.554298 5.124269 v -5.901543 131.666473 3.471780 v -5.363155 131.416702 0.339112 v -7.097659 131.552231 -2.357350 v -5.960978 127.864555 -0.231511 v -6.240778 127.542175 2.783775 v -7.147687 128.303055 -2.550178 v -9.650576 128.743591 -3.773765 v -12.373186 129.284256 -3.052825 v -14.476076 129.263367 -0.491847 v -14.501728 132.948410 -0.066007 v -14.347755 136.154510 0.355293 v -13.126081 139.281357 4.696262 v -11.489195 137.562073 6.972610 v -10.172237 136.160095 8.208508 v -9.713011 133.417068 6.936504 v -8.837267 134.281570 10.955907 v -8.360777 132.270279 14.131523 v -6.662032 132.642014 15.353775 v -6.402479 135.992661 12.472770 v -4.515754 132.619904 16.789009 v -2.273108 132.523834 17.180225 v -0.206154 132.193130 16.834978 v 1.879722 132.175171 16.417776 v 3.842423 131.775131 17.263809 v 5.767670 131.720917 18.013401 v 8.022045 131.363541 18.095037 v 10.387123 130.931671 17.133934 v 11.365736 134.093430 14.316565 v 12.283543 136.573486 11.525120 v 9.374900 137.231323 12.530020 v 8.996675 134.692352 14.912527 v 6.947242 134.838104 14.994511 v 7.094123 136.924301 13.246141 v 9.818199 141.646393 8.471698 v 6.960004 140.002411 10.905684 v 6.616132 142.206955 9.308010 v 5.102753 139.300537 11.252726 v 5.144214 141.888306 9.655640 v 6.513854 144.612946 8.980037 v 5.087379 144.495483 9.168318 v 5.041288 146.350113 9.489564 v 3.954561 146.122742 9.651439 v 3.727140 146.869781 11.025806 v 5.296008 147.338791 10.777734 v 3.583777 146.632797 12.675781 v 5.759565 147.454178 12.326790 v 4.847037 146.958817 13.303137 v 5.079758 147.245956 13.573747 v 5.758237 147.597412 12.823420 v 6.278842 147.984680 12.334276 v 6.895922 148.298141 11.270764 v 6.941097 148.489777 11.684134 v 7.796350 149.317673 10.435565 v 7.745125 149.692612 11.041512 v 8.171843 149.981308 9.961390 v 8.296317 150.872772 10.969782 v 8.444351 150.571091 9.367763 v 8.784019 151.948044 9.027329 v 8.382526 152.023483 11.151978 v 9.129082 153.686737 9.147717 v 9.294369 152.849274 8.431334 v 9.539135 153.752792 8.626255 v 9.881232 153.392349 7.914378 v 9.695459 153.804535 8.060193 v 10.512217 153.622208 7.469660 v 10.478170 153.166931 7.348444 v 9.843296 152.690033 7.804724 v 9.475433 152.294434 7.898696 v 9.231834 152.614166 7.852116 v 9.759800 152.305740 7.375434 v 9.915430 152.359177 7.529983 v 10.687469 153.188538 7.056537 v 11.150179 154.154724 6.771240 v 11.001356 154.135742 7.020633 v 11.415499 155.137741 6.660828 v 10.669458 154.860794 7.333808 v 10.543968 156.288177 7.347369 v 10.084773 155.057632 7.971427 v 10.137724 156.081497 8.236526 v 10.866392 156.756088 7.522421 v 11.250523 156.553040 6.774745 v 11.444708 156.869110 6.516470 v 10.995266 157.384476 7.119755 v 11.287357 156.981171 6.406383 v 11.507057 156.242645 6.034409 v 10.424120 156.333557 6.494887 v 11.563269 155.429657 5.965491 v 11.649296 156.235474 6.160888 v 11.392607 156.011139 6.580776 v 11.687971 155.407654 6.107539 v 11.562342 154.874313 6.344196 v 11.016251 154.106491 6.653987 v 10.550625 153.191559 6.910847 v 9.681536 152.887100 6.935606 v 8.812962 151.859818 8.428438 v 8.397788 150.419373 8.810468 v 8.015890 149.905746 9.142819 v 7.520844 149.045593 9.707886 v 6.440165 148.022339 10.249200 v 6.265305 146.606247 9.307238 v 7.742883 144.968491 8.183681 v 8.268766 143.098648 7.819999 v 9.026215 143.837677 5.174903 v 10.817478 142.919846 4.637635 v 13.740007 138.723175 8.457336 v 15.039667 134.930328 9.823647 v 16.234734 137.585693 7.769183 v 19.546881 138.236694 4.266761 v 16.930155 139.606781 4.837146 v 8.479393 145.660553 5.553710 v 7.313033 147.011673 8.511659 v 8.060357 149.623764 8.257128 v 8.346891 150.093887 6.498753 v 8.809249 151.247879 6.553654 v 9.425862 152.686737 6.643646 v 10.280691 154.510040 6.447402 v 10.432026 155.534683 6.045114 v 10.435053 157.706146 5.865543 v 9.771341 160.185104 2.759675 v 6.051246 159.741455 -0.336377 v 3.658885 159.378418 -0.907775 v 3.950281 156.649658 -1.026170 v 4.169809 153.884415 -0.400346 v 1.897257 153.696243 -0.349684 v 2.449338 151.466751 0.522041 v 0.776901 151.493378 1.058505 v -0.362048 153.561829 0.026157 v -1.515281 152.309418 2.617159 v -0.896911 150.859589 3.308849 v 0.116249 149.529495 4.168816 v 0.495463 147.321091 5.235857 v 0.459676 145.663788 4.721600 v 0.612479 144.971390 7.443844 v -0.196919 143.972748 6.923298 v 0.896273 142.797531 8.702151 v 1.642177 144.614914 8.474560 v 2.168701 142.195541 9.340467 v 1.354362 139.687546 10.855690 v -0.209577 140.742676 10.146270 v -1.445168 137.805984 12.341644 v -3.417773 138.552185 11.174998 v -6.312349 138.867157 9.784752 v -9.365707 138.676483 8.463645 v -10.005589 141.147018 5.769389 v -13.195608 140.175491 1.241919 v -12.402353 135.819443 -2.497501 v -12.516306 132.791199 -2.721414 v -9.659695 131.986710 -3.559096 v -9.726267 134.783188 -3.512294 v -4.062732 136.040741 13.529252 v -2.088603 135.771072 14.037418 v -0.200927 134.445038 15.089520 v 0.482573 136.943619 13.043364 v 3.205756 139.331619 11.111145 v 2.656527 136.311783 13.352706 v 4.929195 136.484512 13.514358 v 4.654330 133.943741 15.603797 v 3.640576 141.981552 9.589131 v 2.996102 144.496338 8.951331 v 2.907980 146.241318 9.270523 v 1.729177 146.374878 8.841483 v 0.835844 146.681351 7.846601 v 1.048096 147.470245 9.701388 v 2.177521 147.019501 10.460909 v 1.401383 147.007950 11.884017 v 2.181740 146.685913 13.032353 v 3.503940 146.715057 13.378726 v 4.293000 146.951736 13.721733 v 5.105624 147.708572 13.835489 v 4.256954 147.454025 14.135978 v 4.003638 148.559097 14.292689 v 3.234575 148.417236 14.314760 v 3.163275 149.150085 14.278059 v 2.472800 148.402328 14.137162 v 2.583235 149.129852 14.151359 v 3.109100 149.359421 14.600364 v 3.748949 149.249207 14.269791 v 3.619509 149.403427 14.621687 v 4.355929 149.446121 14.184580 v 4.349327 149.718521 14.425107 v 3.889142 149.694321 14.912654 v 4.336380 149.955978 14.715614 v 4.724505 149.993652 14.221566 v 4.671075 150.237839 14.305099 v 4.928261 150.373993 14.077385 v 4.614386 150.365234 14.322310 v 4.517030 150.471832 14.273934 v 4.797198 150.477890 14.095419 v 4.995949 150.478745 14.024275 v 5.095420 150.455338 14.037158 v 5.124341 150.227890 14.007022 v 5.308630 150.034943 13.915654 v 4.856768 149.709381 14.055425 v 5.428621 148.927063 13.652597 v 4.765740 148.709122 13.985748 v 5.730555 148.095047 13.378257 v 6.235433 148.574753 12.977262 v 6.769676 149.166565 12.412906 v 7.388683 149.740982 12.003572 v 7.811039 150.900055 12.058069 v 7.869975 152.015594 12.417848 v 8.552912 153.452057 11.122100 v 7.640672 153.245773 13.289405 v 7.838391 154.130753 13.113438 v 7.953648 154.843170 12.925562 v 8.813835 155.059769 11.115496 v 7.983199 155.519135 12.557741 v 8.772903 156.624008 10.775608 v 7.933658 156.600601 12.331746 v 8.654480 157.875519 11.097836 v 9.274202 156.632843 9.587517 v 9.200389 157.934616 9.875691 v 9.804265 158.314148 8.514800 v 9.433027 160.554321 8.589125 v 10.032907 160.417374 5.769369 v 10.273607 156.639374 7.174646 v 9.850275 156.477386 7.979978 v 9.839775 156.048584 8.608411 v 9.314524 155.039093 9.103470 v 9.665389 155.046204 8.588475 v 10.044910 156.318939 8.542511 v 10.386938 156.744171 8.327851 v 10.724787 157.247467 7.761410 v 10.856304 157.489334 6.992579 v 11.419462 154.845947 6.196509 v 8.804470 151.798676 7.833138 v 7.531495 149.136047 8.981418 v 10.538597 157.375778 7.710215 v 10.248547 156.980713 8.205149 v 10.017373 154.647507 8.232676 v 9.952796 154.045807 8.358667 v 9.643745 154.479248 7.991828 v 8.942277 160.535690 10.103671 v 8.558918 159.110565 11.053725 v 7.576405 161.908020 11.906775 v 8.079243 163.495529 10.339317 v 6.265240 163.954727 11.841693 v 4.545484 163.154877 13.697745 v 3.917130 164.226532 12.613548 v 4.087659 165.330521 11.228203 v 6.928020 164.518417 10.670895 v 1.761593 164.236862 12.871435 v 1.809271 165.428848 11.200905 v -0.361958 164.874924 10.776140 v -0.252682 163.799591 12.189915 v -2.296922 163.078049 10.971814 v -2.812718 163.521072 9.681278 v -3.645844 162.295029 9.148099 v -3.157063 160.809052 10.816300 v -3.833085 159.227646 8.805750 v -3.368596 157.889328 9.841941 v -3.513560 156.632874 8.584008 v -3.221305 156.659561 9.891308 v -3.265880 155.348892 8.313499 v -3.019729 155.416595 9.577528 v -2.812882 153.869354 9.934272 v -2.888524 153.789658 7.863693 v -2.448183 152.501373 7.971518 v -3.124006 153.736725 7.289128 v -2.750976 152.494446 7.377634 v -3.310847 153.282837 6.878585 v -3.153290 152.703903 7.027145 v -2.798633 152.525269 6.790847 v -2.870763 153.197922 6.720408 v -3.405766 153.676346 6.600846 v -3.800219 153.379257 5.863751 v -3.910818 152.608917 5.505620 v -4.437452 153.514603 5.050237 v -4.007742 152.602722 5.231261 v -4.462441 153.233551 4.716148 v -3.846260 152.584763 5.144021 v -3.426876 151.743393 5.622581 v -3.267212 151.776749 5.507014 v -3.180514 153.131790 5.079803 v -2.377408 151.652405 5.710470 v -2.033852 151.513397 5.479389 v -1.135843 150.229614 5.543276 v -0.449924 149.193176 5.605034 v -0.430767 148.754364 7.394465 v 0.030198 148.368011 8.219317 v -0.086038 148.266739 8.935060 v 0.352252 147.628143 10.605955 v 0.795361 147.423264 11.777179 v 1.275074 147.138397 12.367949 v 1.847044 146.914963 13.245317 v 1.091371 147.620026 12.906936 v 1.677336 147.357559 13.487190 v 2.631296 146.781586 13.552912 v 3.452098 146.805695 13.797674 v 3.367014 147.245865 14.191589 v 2.482662 147.272369 13.955717 v 1.772763 148.402664 13.681676 v 1.159498 148.489944 13.218874 v 0.590663 147.996796 12.403777 v 0.188196 147.798370 10.998069 v -0.549737 148.463135 9.587640 v -0.696418 148.828308 10.183887 v 0.071816 148.480789 11.732431 v 0.682589 148.782043 12.972686 v 1.470939 149.362717 13.711438 v 1.000008 149.593796 13.477917 v 0.574652 149.939453 13.412155 v -0.180235 149.550110 12.530409 v -0.399724 150.011734 12.638602 v -1.204189 149.977005 11.142161 v -0.555700 148.927567 11.196457 v -1.447592 149.875122 9.979842 v -0.948656 149.047470 9.034786 v -0.620966 149.021423 8.265352 v -1.024178 149.454681 7.853237 v -1.210202 149.582596 8.386902 v -1.744461 150.870041 7.957681 v -1.635323 150.790039 7.366938 v -1.496417 150.743988 6.786613 v -2.073718 151.456604 6.703520 v -2.296153 151.662537 7.253788 v -1.797370 150.981186 10.117744 v -1.556092 151.050476 11.460199 v -0.591101 150.694244 12.817057 v 0.760342 150.122971 13.610381 v 0.935208 149.968170 13.602834 v 1.119896 149.817886 13.600186 v 1.507716 149.664291 13.894754 v 1.978458 149.202698 13.943040 v 2.606422 149.299698 14.518762 v 1.882275 149.465942 14.174464 v 2.231514 149.524597 14.744246 v 2.584492 149.468018 14.904665 v 3.053060 149.516876 14.993277 v 2.405339 149.896332 14.902751 v 1.844119 149.955856 14.515761 v 1.789239 149.695175 14.456837 v 1.518757 150.048279 14.007808 v 1.493363 149.912476 13.982259 v 1.264671 149.998901 13.705179 v 1.096015 150.045853 13.630836 v 1.174702 150.117325 13.736454 v 1.039143 150.278427 13.857971 v 1.429332 150.577927 14.391774 v 1.335084 151.080322 14.364363 v 1.753224 151.201706 14.741705 v 1.688326 151.834518 14.668944 v 1.042507 151.648636 14.351147 v 1.403468 152.354233 14.615776 v 0.652935 152.191956 14.232329 v 0.934716 153.088013 14.437985 v 0.496101 153.163971 14.258865 v 0.250749 152.118484 14.017305 v -0.534712 153.021927 13.586692 v 0.009140 153.825409 13.925439 v -1.056690 153.733200 13.354623 v -0.015905 154.563431 13.755002 v -0.992427 154.497009 13.273204 v -0.789275 154.890671 13.457764 v -1.112806 154.979004 13.345119 v -1.369228 155.144836 13.091125 v -1.526105 154.586227 12.904296 v -1.606587 155.396942 12.790739 v -1.899790 154.795990 12.485145 v -2.304592 153.792847 11.883369 v -1.625108 153.632126 12.877574 v -2.088530 153.114365 12.104905 v -2.241420 152.346863 10.025442 v -1.756379 152.283630 12.334705 v -2.395316 154.456497 11.503328 v -2.199713 155.108154 11.869597 v -2.027621 155.548691 12.438967 v -1.728128 155.549561 12.752311 v -1.427444 155.512527 12.975179 v -1.254240 155.301895 13.128307 v -1.036049 155.139114 13.331233 v -0.761025 155.064148 13.473712 v -0.060106 155.143082 13.666834 v -0.023888 155.230682 13.699842 v -0.704266 155.191513 13.535237 v 0.011624 155.376694 13.589499 v -0.837252 155.372604 13.325267 v -0.365843 155.951614 13.733047 v -0.991034 155.796783 13.425234 v -1.073060 155.821121 13.422398 v -0.732897 155.984283 13.658520 v -1.217252 155.909805 13.613155 v -0.803400 156.123260 13.816335 v -0.075907 156.079926 13.870938 v -0.138072 156.171692 14.026251 v 0.494231 156.030655 13.979089 v -0.144820 156.202515 14.170728 v 0.500277 156.080139 14.149224 v -0.178745 156.385666 14.223525 v -1.010618 156.363953 13.970960 v -0.370350 156.875763 14.493535 v -1.189000 156.723145 14.084520 v -1.466184 157.227844 13.993677 v -1.831513 156.562622 13.589570 v -1.992074 156.900787 13.447562 v -2.183055 156.560532 12.861111 v -1.968961 155.900024 13.016446 v -2.290292 156.108582 12.441634 v -2.122665 155.751266 12.439928 v -2.387659 155.876190 11.971896 v -2.519736 155.530289 11.269726 v -2.867375 156.887421 11.295458 v -2.415716 157.291443 12.253642 v -2.087381 157.776733 13.077803 v -1.357289 158.280075 13.837132 v -0.325676 157.389328 14.627505 v 0.653235 157.070251 14.856904 v 0.314033 156.855164 14.775720 v 0.416357 156.617081 14.605042 v 0.528339 156.282578 14.279499 v 0.975684 156.361465 14.478686 v 1.088048 156.625000 14.841596 v 1.130298 156.846588 14.900851 v 1.404557 156.359680 14.710372 v 1.260136 156.118759 14.317598 v 0.882635 156.097656 14.212924 v 0.778460 155.858292 14.055278 v 0.714501 155.795105 13.930390 v 0.460463 155.979568 13.926208 v 0.588718 155.864914 13.748165 v 0.937720 155.613800 13.832044 v 0.965770 155.686157 13.980703 v 1.132269 155.952850 14.120735 v 1.375195 155.634689 14.080135 v 1.171116 155.427521 13.946497 v 1.045895 155.437607 13.824521 v 0.938112 155.296219 13.830993 v 0.902429 155.386017 13.725567 v 0.898823 155.445847 13.764304 v 0.702386 155.342499 13.728385 v 0.711451 155.414261 13.759908 v 0.872655 155.570770 13.678149 v -0.110605 154.925110 13.720475 v 0.636320 154.876572 13.885270 v 0.870104 154.264450 14.333396 v 0.722320 153.724945 14.316037 v 1.376139 153.804474 14.790826 v 1.456300 154.622711 14.548432 v 0.924094 155.054443 13.926652 v 0.646422 155.177597 13.800315 v 1.436922 155.373291 14.188046 v 1.727619 154.736252 14.772478 v 1.792628 154.072693 15.263270 v 1.683979 153.245316 15.088547 v 1.438899 153.347000 14.789991 v 1.518580 153.037460 14.789632 v 1.561825 152.909714 15.049391 v 1.538036 152.522507 14.975725 v 1.397422 152.799118 14.649185 v 1.619118 152.222122 14.979177 v 1.847740 151.978928 14.783316 v 1.826542 152.227463 15.152652 v 2.235560 152.452911 15.114339 v 1.926149 152.249100 15.552598 v 2.083432 152.222290 15.866559 v 2.253468 152.172333 16.018158 v 2.011538 152.473633 16.133165 v 2.300004 152.498047 16.441332 v 2.131266 152.901138 16.434822 v 2.590628 152.510620 16.528151 v 2.650960 152.189209 16.258186 v 2.726466 151.972305 15.733544 v 3.083412 152.257294 16.102478 v 2.889206 152.558395 16.501192 v 3.232154 152.598602 16.257177 v 2.971508 152.987167 16.520187 v 2.537872 152.940857 16.613848 v 2.514991 153.295914 16.481276 v 2.112998 153.225754 16.364788 v 2.111205 154.425430 15.525887 v 1.986439 153.490601 16.001545 v 1.801786 153.186157 15.537330 v 1.652666 152.635727 15.519216 v 1.809961 152.318848 15.525005 v 1.922826 152.862427 16.078375 v 2.037251 155.057922 14.997817 v 1.838762 155.576553 14.594151 v 1.556329 155.838013 14.300320 v 1.787434 156.042023 14.601714 v 2.003217 155.651459 14.751554 v 2.452436 155.192139 15.186114 v 2.477746 154.499908 15.634562 v 2.865919 154.502701 15.602563 v 2.915099 155.147812 15.087003 v 3.294535 154.226471 15.415858 v 3.078435 153.602417 16.112486 v 2.937860 153.310211 16.448591 v 3.250169 152.998337 16.213226 v 3.409032 153.350708 15.700620 v 3.599497 153.441452 15.283154 v 3.841889 154.056931 15.041335 v 3.873617 153.596298 15.037348 v 3.859346 153.277130 15.027444 v 3.791788 153.138031 15.275946 v 3.666086 152.841888 15.723769 v 3.577614 152.499832 15.704591 v 3.888725 152.454498 15.209760 v 3.906934 152.765060 15.216393 v 4.141414 152.634583 14.893940 v 4.051329 153.070847 14.918811 v 4.479269 153.450928 14.798096 v 4.579514 154.119873 14.707911 v 4.326086 154.618286 14.684507 v 3.649119 154.847229 14.771213 v 3.321483 154.899445 14.934408 v 3.081814 155.703827 14.720440 v 2.877704 155.740997 14.840398 v 2.425611 155.748764 14.889223 v 2.387337 156.188522 14.822803 v 1.514987 156.542480 14.903688 v 1.407936 157.433380 15.107445 v 0.861017 158.292450 14.983541 v -0.209632 158.389374 14.526533 v -0.470102 159.434799 14.368731 v -1.595202 159.123566 13.626081 v -0.561939 161.431473 13.795490 v -2.410100 160.723007 12.553198 v -0.856272 162.601791 13.148950 v -2.911297 159.551849 11.632846 v -2.822672 158.181549 11.542717 v -2.382269 158.519547 12.290197 v 1.775506 163.062744 13.917668 v 1.834368 161.955750 14.453851 v 2.019500 159.619553 14.985856 v 2.122421 158.427597 15.173994 v 2.191971 157.640701 15.282378 v 2.316944 156.662979 15.037529 v 3.137026 156.708557 15.068481 v 3.020457 157.598465 15.271270 v 3.397423 158.552155 15.241230 v 4.495960 158.871170 15.004601 v 4.787770 157.912903 15.147010 v 3.867105 157.399307 15.183419 v 3.445601 157.083649 15.136076 v 3.318102 156.555603 14.904780 v 3.036179 156.169876 14.728581 v 3.358776 156.022552 14.483441 v 3.617135 155.864258 14.307907 v 3.588879 155.593643 14.406674 v 4.196792 155.389542 14.259143 v 4.516752 155.273880 14.279505 v 5.231139 155.100647 14.288079 v 5.321225 154.369308 14.465123 v 4.920419 153.616959 14.708357 v 4.970233 152.633987 14.670948 v 4.681875 152.021240 14.720891 v 3.961840 152.067291 14.899923 v 3.757187 152.174438 14.977307 v 3.654156 152.414566 15.338329 v 3.474658 152.407654 15.709920 v 3.266671 152.343445 15.986771 v 3.224213 152.554138 15.214782 v 3.122532 152.054260 15.519697 v 3.236512 151.866104 15.392733 v 2.768822 151.793701 15.496633 v 2.326352 151.772919 15.300264 v 2.372673 151.977478 15.443515 v 2.043604 151.847351 14.903751 v 2.299855 151.297775 15.151693 v 2.106927 150.906418 15.158047 v 2.061869 150.588135 14.994737 v 1.532058 150.350372 14.327758 v 1.506216 150.196472 14.049555 v 1.600391 150.173203 13.977616 v 1.923153 150.198212 14.265920 v 1.832597 150.275009 14.382935 v 2.149120 150.368713 14.712524 v 2.581459 150.720718 15.275969 v 2.611556 151.045044 15.342430 v 2.643876 151.310547 15.260104 v 2.838417 151.350479 15.258254 v 2.859911 151.030548 15.369068 v 2.893479 150.723663 15.347919 v 2.623538 150.485107 14.920294 v 2.624830 150.371765 14.520747 v 3.010840 150.348450 14.570865 v 2.959938 150.406677 15.013202 v 3.285389 150.552856 14.987535 v 3.207700 150.784836 15.339592 v 3.805174 150.538269 14.880773 v 3.788682 150.764954 15.170174 v 4.193195 150.516693 14.622761 v 4.477347 150.651947 14.626987 v 4.517504 150.894104 14.705520 v 3.649109 151.064316 15.314726 v 3.100544 151.095108 15.392110 v 3.032671 151.350357 15.299604 v 3.386807 151.409073 15.262122 v 3.571730 152.003815 15.059003 v 4.012033 151.432999 14.971190 v 4.512586 151.405670 14.687183 v 5.058111 150.689926 14.266281 v 4.984583 150.507401 14.123521 v 4.588381 150.512070 14.362689 v 4.145026 150.425705 14.491652 v 3.803849 150.447403 14.576573 v 3.386413 150.449738 14.598121 v 4.920114 150.473251 14.019148 v 5.406016 150.598633 14.082361 v 5.137905 151.306580 14.340719 v 5.168473 151.950455 14.511060 v 6.589090 152.363098 13.835776 v 5.413566 152.647095 14.541824 v 6.071504 153.698334 14.257855 v 6.475724 154.504440 14.119884 v 6.277076 155.241333 14.011755 v 5.966505 155.582397 14.144122 v 5.256298 155.474625 14.265730 v 5.174813 155.679077 14.198680 v 4.391151 155.720184 14.103148 v 4.463591 155.568420 14.188123 v 4.191092 155.722733 14.059680 v 4.153892 155.625473 14.157703 v 4.023431 155.742447 14.127026 v 3.881056 155.704971 14.221815 v 4.090349 155.936615 14.152337 v 4.019340 155.998810 14.290933 v 4.248532 156.156937 14.289433 v 4.149648 156.203445 14.397776 v 3.778260 156.223785 14.389557 v 3.583149 156.356598 14.553606 v 3.542369 156.876297 15.090942 v 4.251780 157.258347 15.175777 v 4.960308 157.421555 15.035107 v 6.040345 157.996414 14.756308 v 5.755983 159.008377 14.559810 v 4.567521 159.950592 14.880532 v 4.369209 161.936371 14.296474 v 6.531423 161.638489 13.461618 v 5.857015 159.886566 14.383193 v 6.708423 158.677322 13.971419 v 6.719105 157.792694 14.332580 v 6.604654 157.426407 14.446648 v 5.857612 157.444641 14.800425 v 5.781155 157.059357 14.660975 v 4.928563 156.908585 14.742405 v 4.259834 156.664642 14.658603 v 4.235356 157.008102 14.993034 v 3.775252 156.648117 14.763110 v 3.970324 156.413788 14.526620 v 4.353290 156.474640 14.540674 v 4.402881 156.430847 14.376191 v 4.943268 156.723480 14.687655 v 5.703329 156.828674 14.594179 v 4.971738 156.694855 14.545386 v 4.961422 156.595673 14.382710 v 4.456047 156.388672 14.332141 v 4.391457 156.254272 14.134507 v 5.292729 156.530975 14.307933 v 5.074541 155.895065 14.103870 v 4.192031 155.910629 14.015384 v 4.174837 155.781281 14.097133 v 4.361786 155.788010 14.130767 v 5.115927 155.756943 14.222025 v 5.901436 155.746292 14.150589 v 6.281554 155.736099 14.096354 v 6.544817 155.955139 13.895157 v 6.178575 155.877792 14.064208 v 6.395612 156.085144 13.905499 v 6.196184 156.175827 14.001778 v 6.030312 155.998108 14.102693 v 5.942231 156.066742 14.014033 v 6.382401 156.401337 13.896639 v 5.984761 156.511032 14.133945 v 5.809195 155.858429 14.196977 v 6.059125 156.551376 14.146997 v 5.653100 156.638138 14.307310 v 5.661443 156.785172 14.473135 v 6.241748 156.717300 14.391874 v 6.340902 156.920578 14.408827 v 6.983486 156.816650 13.925976 v 6.808066 156.679474 14.056618 v 6.566604 156.550262 14.090427 v 6.141683 156.663269 14.360791 v 6.414930 156.428741 14.035322 v 6.732446 156.498932 13.882141 v 6.875341 156.430466 13.626386 v 7.364304 157.097092 13.422500 v 7.087284 157.509705 13.802938 v 7.284768 158.284653 13.239169 v 7.638096 159.252594 12.605486 v 6.999064 159.480057 13.243300 v 7.430304 160.610703 12.683509 v 7.989778 157.999054 12.398499 v 7.597815 156.898575 12.986377 v 7.275516 156.713547 13.394743 v 7.225174 156.496063 13.379011 v 6.781721 156.255814 13.642954 v 6.549984 156.329315 13.785652 v 6.631147 156.398041 13.846372 v 6.844536 155.443298 13.754717 v 7.136202 154.529175 13.767685 v 6.996586 153.991302 13.886387 v 6.460251 153.167999 14.068649 v 6.745692 151.445450 13.562443 v 6.734541 150.742203 13.363414 v 5.660406 150.460175 13.928846 v 5.270828 150.412094 14.043315 v 5.876501 149.313843 13.500364 v 6.638131 150.248215 13.223125 v 7.244344 155.732239 13.414149 v 7.591950 156.110718 12.864388 v 2.229165 150.286194 14.416593 v 1.264169 150.098938 13.647719 v 1.189304 150.089005 13.637535 v 1.365966 150.126556 13.746820 v 1.860616 150.153137 14.363997 v 2.386027 150.211792 14.652159 v 2.192879 150.357620 14.352300 v 3.008631 150.387619 14.553140 v 2.998318 150.273621 14.769510 v 3.005049 149.972977 15.006220 v 3.616289 150.020309 15.025779 v 3.621413 150.338287 14.777668 v 3.837124 150.525970 14.519347 v 4.194534 150.392105 14.601112 v 4.219720 150.199097 14.757112 v 3.529971 149.564835 15.000722 v -1.799178 155.798187 13.182159 v -1.655693 155.640076 13.029943 v -1.548371 155.719391 13.265981 v -1.330265 155.942032 13.622591 v -1.469523 156.120865 13.615322 v -0.876396 156.154968 13.925707 v -1.367533 155.631897 13.244658 v -1.531170 155.562317 13.017117 v -1.303230 155.614410 13.115813 v -1.100294 155.428757 13.260488 v -0.925624 155.285889 13.396000 v -0.679360 151.618896 13.097333 v 0.824092 150.864899 13.902454 v 0.631715 151.485947 14.050144 v -0.763576 152.428345 13.334741 v -1.406914 153.130890 13.032628 v -2.865135 152.087265 6.619402 v -2.666043 151.409225 6.533830 v -2.252527 151.093643 6.707186 v -2.614182 151.076294 6.257028 v -2.423411 151.058319 6.137672 v -3.279877 151.758286 5.950686 v -3.427987 152.194916 6.053395 v -3.451130 154.113205 4.634646 v -4.290304 153.237473 4.600465 v -4.499349 153.785034 4.333598 v -3.693315 154.888092 5.060616 v -3.853859 156.243134 4.413851 v -2.173316 153.874283 2.069453 v -2.815440 156.140930 1.436294 v -3.096234 158.867615 1.452385 v -3.992803 158.981308 4.344418 v -3.898070 156.911194 7.122702 v -3.745588 155.203995 5.750357 v -4.633658 155.351059 4.788877 v -4.622220 154.591187 4.395744 v -4.782397 154.553055 4.491499 v -4.642829 153.735580 4.448400 v -4.574755 154.376282 4.958560 v -3.968862 154.802246 5.872928 v -3.714702 154.663177 6.829178 v -3.496322 154.683151 7.253521 v -3.467314 155.113831 6.626969 v -3.734207 154.908127 7.142612 v -3.995131 155.522324 6.758053 v -4.006106 159.178314 7.223768 v -4.254093 155.861191 6.207341 v -4.438786 155.923309 5.438664 v -4.417146 155.697113 6.223055 v -4.576363 155.790131 5.537744 v -4.784029 155.207474 4.867700 v -4.585762 154.931595 5.165847 v -4.406848 155.192307 5.970726 v -4.104859 155.260391 6.855547 v 1.177476 159.242432 -0.831531 v 1.468874 156.513687 -0.949927 v 4.014209 144.393509 9.312157 v -2.679938 103.591248 -2.500797 v 14.586084 127.920197 1.318483 vt 0.389887 0.679023 vt 0.361250 0.679023 vt 0.361250 0.643346 vt 0.389887 0.711520 vt 0.417280 0.679023 vt 0.417280 0.711520 vt 0.462829 0.679023 vt 0.462829 0.711520 vt 0.497736 0.679023 vt 0.462829 0.643346 vt 0.417280 0.643346 vt 0.389887 0.643346 vt 0.361250 0.608552 vt 0.332124 0.608552 vt 0.332124 0.643346 vt 0.332124 0.679023 vt 0.300832 0.679023 vt 0.300832 0.711520 vt 0.268793 0.711520 vt 0.300832 0.745193 vt 0.268793 0.745193 vt 0.236754 0.745193 vt 0.237523 0.768171 vt 0.205461 0.745193 vt 0.207386 0.768171 vt 0.211930 0.788878 vt 0.178089 0.793325 vt 0.176336 0.768171 vt 0.147699 0.768171 vt 0.176336 0.745193 vt 0.147699 0.745193 vt 0.120305 0.768171 vt 0.120305 0.745193 vt 0.074757 0.768171 vt 0.074757 0.745193 vt 0.039850 0.768171 vt 0.075062 0.788432 vt 0.039850 0.788130 vt 0.074537 0.806870 vt 0.039850 0.804880 vt 0.074782 0.833103 vt 0.039850 0.831457 vt 0.077997 0.873556 vt 0.039850 0.873100 vt 0.070557 0.907868 vt 0.038695 0.909941 vt 0.069402 0.944536 vt 0.046275 0.955402 vt 0.023319 0.958165 vt 0.005547 0.910533 vt 0.005547 0.957849 vt 0.005547 0.972259 vt 0.532039 0.972259 vt 0.514266 0.958165 vt 0.532039 0.957849 vt 0.517620 0.972552 vt 0.532039 0.985538 vt 0.518729 0.985475 vt 0.520046 0.997553 vt 0.506732 0.997553 vt 0.532039 0.997553 vt 0.005547 0.997553 vt 0.005547 0.985538 vt 0.017540 0.997553 vt 0.018857 0.985475 vt 0.019966 0.972552 vt 0.034968 0.973533 vt 0.049659 0.979613 vt 0.072523 0.978576 vt 0.087388 0.943766 vt 0.088928 0.907868 vt 0.094496 0.878628 vt 0.094260 0.845934 vt 0.120305 0.828687 vt 0.120305 0.810919 vt 0.120305 0.792983 vt 0.146621 0.794691 vt 0.172959 0.814302 vt 0.197380 0.808954 vt 0.218050 0.804820 vt 0.239277 0.786193 vt 0.268793 0.768171 vt 0.300062 0.768171 vt 0.332124 0.745193 vt 0.332124 0.711520 vt 0.361250 0.711520 vt 0.361250 0.745193 vt 0.361250 0.768171 vt 0.330200 0.768171 vt 0.325655 0.788878 vt 0.298309 0.786193 vt 0.268793 0.786980 vt 0.241681 0.804366 vt 0.243592 0.816689 vt 0.268793 0.819064 vt 0.268793 0.835685 vt 0.243621 0.834804 vt 0.222851 0.834053 vt 0.220277 0.814643 vt 0.206338 0.835559 vt 0.201664 0.819235 vt 0.167269 0.835695 vt 0.147796 0.833374 vt 0.148087 0.813310 vt 0.120305 0.848588 vt 0.146268 0.854668 vt 0.166494 0.859202 vt 0.186440 0.856002 vt 0.184846 0.835810 vt 0.207231 0.852775 vt 0.223426 0.850418 vt 0.242702 0.852053 vt 0.260621 0.852580 vt 0.268793 0.852871 vt 0.276965 0.852580 vt 0.294883 0.852053 vt 0.293965 0.834804 vt 0.293994 0.816689 vt 0.295904 0.804366 vt 0.319535 0.804820 vt 0.317309 0.814643 vt 0.335922 0.819235 vt 0.331248 0.835559 vt 0.314734 0.834053 vt 0.314159 0.850418 vt 0.330355 0.852775 vt 0.351145 0.856002 vt 0.352740 0.835810 vt 0.370317 0.835695 vt 0.371092 0.859202 vt 0.343882 0.868023 vt 0.356764 0.882681 vt 0.383405 0.868307 vt 0.378401 0.890406 vt 0.581760 0.833506 vt 0.554134 0.822966 vt 0.554134 0.801978 vt 0.554134 0.837116 vt 0.554134 0.858370 vt 0.581760 0.858370 vt 0.604617 0.833506 vt 0.581760 0.804996 vt 0.554134 0.791702 vt 0.391318 0.854668 vt 0.389790 0.833374 vt 0.364627 0.814302 vt 0.340205 0.808954 vt 0.268793 0.808392 vt 0.359497 0.793325 vt 0.389887 0.768171 vt 0.390965 0.794691 vt 0.389498 0.813310 vt 0.417280 0.828687 vt 0.417280 0.848588 vt 0.443326 0.845934 vt 0.433387 0.861927 vt 0.554134 0.965072 vt 0.581760 0.986821 vt 0.554134 0.986821 vt 0.581760 0.965072 vt 0.604617 0.965072 vt 0.604617 0.986821 vt 0.635116 0.986821 vt 0.635116 0.775388 vt 0.635116 0.803807 vt 0.604617 0.775388 vt 0.578168 0.365622 vt 0.589587 0.354664 vt 0.593562 0.364923 vt 0.579033 0.350098 vt 0.569340 0.355262 vt 0.604617 0.858370 vt 0.635116 0.833506 vt 0.635116 0.858370 vt 0.604617 0.881741 vt 0.581760 0.881741 vt 0.581760 0.906893 vt 0.554134 0.906893 vt 0.554134 0.926071 vt 0.581760 0.926071 vt 0.604617 0.906893 vt 0.635116 0.881741 vt 0.562939 0.364610 vt 0.566165 0.375374 vt 0.574006 0.381129 vt 0.583550 0.380512 vt 0.590412 0.374757 vt 0.635116 0.965072 vt 0.604617 0.945774 vt 0.635116 0.945774 vt 0.604617 0.926071 vt 0.635116 0.926071 vt 0.581760 0.945774 vt 0.554134 0.945774 vt 0.448658 0.907868 vt 0.434166 0.907868 vt 0.434166 0.880098 vt 0.434166 0.943766 vt 0.450198 0.943766 vt 0.467028 0.907868 vt 0.443090 0.878628 vt 0.459588 0.873556 vt 0.497736 0.873100 vt 0.497736 0.831457 vt 0.462804 0.833103 vt 0.463049 0.806870 vt 0.417280 0.810919 vt 0.417280 0.792983 vt 0.417280 0.768171 vt 0.389887 0.745193 vt 0.417280 0.745193 vt 0.462829 0.768171 vt 0.462524 0.788432 vt 0.497736 0.788130 vt 0.497736 0.768171 vt 0.462829 0.745193 vt 0.497736 0.745193 vt 0.497736 0.711520 vt 0.532039 0.679023 vt 0.497736 0.643346 vt 0.462829 0.608552 vt 0.417280 0.608552 vt 0.389887 0.608552 vt 0.361250 0.576762 vt 0.332124 0.576762 vt 0.300832 0.576762 vt 0.300832 0.608552 vt 0.300832 0.643346 vt 0.268793 0.643346 vt 0.268793 0.679023 vt 0.236754 0.679023 vt 0.236754 0.711520 vt 0.205461 0.711520 vt 0.176336 0.711520 vt 0.176336 0.679023 vt 0.205461 0.679023 vt 0.176336 0.643346 vt 0.205461 0.643346 vt 0.205461 0.608552 vt 0.176336 0.608552 vt 0.205461 0.576762 vt 0.176336 0.576762 vt 0.205461 0.543774 vt 0.176336 0.543774 vt 0.176336 0.501605 vt 0.205461 0.501605 vt 0.205461 0.460186 vt 0.176336 0.460186 vt 0.147699 0.460186 vt 0.147699 0.501605 vt 0.147699 0.543774 vt 0.147699 0.576762 vt 0.147699 0.608552 vt 0.147699 0.643346 vt 0.147699 0.679023 vt 0.147699 0.711520 vt 0.120305 0.711520 vt 0.120305 0.679023 vt 0.120305 0.643346 vt 0.120305 0.608552 vt 0.120305 0.576762 vt 0.120305 0.543774 vt 0.120305 0.501605 vt 0.120305 0.460186 vt 0.074757 0.501605 vt 0.074757 0.460186 vt 0.039850 0.460186 vt 0.039850 0.501605 vt 0.021640 0.460186 vt 0.021448 0.501605 vt 0.005547 0.501605 vt 0.021634 0.543774 vt 0.005547 0.543774 vt 0.005547 0.576762 vt 0.532039 0.576762 vt 0.517229 0.576762 vt 0.532039 0.543774 vt 0.532039 0.608552 vt 0.497736 0.576762 vt 0.497736 0.608552 vt 0.532039 0.643346 vt 0.462829 0.576762 vt 0.417280 0.576762 vt 0.389887 0.576762 vt 0.361250 0.543774 vt 0.332124 0.543774 vt 0.300832 0.543774 vt 0.284270 0.543774 vt 0.285300 0.576762 vt 0.268793 0.608552 vt 0.236754 0.643346 vt 0.236754 0.608552 vt 0.236754 0.576762 vt 0.236754 0.543774 vt 0.236754 0.501605 vt 0.236754 0.460186 vt 0.255294 0.460186 vt 0.254859 0.501605 vt 0.254176 0.543774 vt 0.253321 0.576762 vt 0.268793 0.576762 vt 0.268793 0.543774 vt 0.268793 0.501605 vt 0.268793 0.460186 vt 0.282813 0.460186 vt 0.283405 0.501605 vt 0.300832 0.501605 vt 0.300832 0.460186 vt 0.332124 0.501605 vt 0.332124 0.460186 vt 0.361250 0.501605 vt 0.389887 0.543774 vt 0.417280 0.543774 vt 0.389887 0.501605 vt 0.389887 0.460186 vt 0.361250 0.460186 vt 0.417280 0.501605 vt 0.462829 0.501605 vt 0.462829 0.543774 vt 0.497736 0.543774 vt 0.497736 0.501605 vt 0.497736 0.460186 vt 0.462829 0.460186 vt 0.417280 0.460186 vt 0.516564 0.460186 vt 0.516824 0.501605 vt 0.517022 0.543774 vt 0.532039 0.501605 vt 0.532039 0.460186 vt 0.005547 0.460186 vt 0.005547 0.679023 vt 0.005547 0.643346 vt 0.039850 0.643346 vt 0.039850 0.608552 vt 0.005547 0.608552 vt 0.039850 0.576762 vt 0.021885 0.576762 vt 0.039850 0.543774 vt 0.074757 0.543774 vt 0.074757 0.576762 vt 0.074757 0.608552 vt 0.074757 0.643346 vt 0.074757 0.679023 vt 0.074757 0.711520 vt 0.039850 0.745193 vt 0.039850 0.711520 vt 0.005547 0.745193 vt 0.005547 0.711520 vt 0.532039 0.745193 vt 0.532039 0.711520 vt 0.532039 0.768171 vt 0.532039 0.787798 vt 0.532039 0.804619 vt 0.497736 0.804880 vt 0.532039 0.831663 vt 0.532039 0.873373 vt 0.005547 0.873373 vt 0.005547 0.831663 vt 0.498891 0.909941 vt 0.532039 0.910533 vt 0.468183 0.944536 vt 0.465063 0.978576 vt 0.491311 0.955402 vt 0.502618 0.973533 vt 0.504825 0.987482 vt 0.495845 0.997553 vt 0.030854 0.997553 vt 0.032761 0.987482 vt 0.045009 0.983366 vt 0.223853 0.982744 vt 0.218153 0.979405 vt 0.219609 0.959883 vt 0.192626 0.977036 vt 0.198278 0.954202 vt 0.177226 0.977036 vt 0.087388 0.978576 vt 0.103420 0.943766 vt 0.103420 0.907868 vt 0.103420 0.880098 vt 0.104199 0.861927 vt 0.554134 0.715484 vt 0.554134 0.734782 vt 0.581760 0.715484 vt 0.581760 0.734782 vt 0.581760 0.756531 vt 0.554134 0.756531 vt 0.581760 0.545098 vt 0.554134 0.545098 vt 0.581760 0.565371 vt 0.554134 0.561412 vt 0.581760 0.574706 vt 0.604617 0.573517 vt 0.604617 0.603216 vt 0.581760 0.603216 vt 0.581760 0.628080 vt 0.604617 0.628080 vt 0.635116 0.603216 vt 0.635116 0.628080 vt 0.635116 0.573517 vt 0.604617 0.545098 vt 0.604617 0.734782 vt 0.604617 0.756531 vt 0.604617 0.715484 vt 0.635116 0.734782 vt 0.635116 0.756531 vt 0.635116 0.545098 vt 0.635116 0.651451 vt 0.604617 0.651451 vt 0.581760 0.651451 vt 0.554134 0.628080 vt 0.554134 0.606826 vt 0.554134 0.592676 vt 0.554134 0.571688 vt 0.155432 0.868307 vt 0.180822 0.882681 vt 0.193704 0.868023 vt 0.207717 0.870168 vt 0.204035 0.895929 vt 0.223025 0.869189 vt 0.239769 0.870149 vt 0.254982 0.869843 vt 0.268793 0.871022 vt 0.282604 0.869843 vt 0.297817 0.870149 vt 0.314561 0.869189 vt 0.329869 0.870168 vt 0.333551 0.895929 vt 0.335748 0.920017 vt 0.316703 0.918501 vt 0.316088 0.896503 vt 0.301497 0.895972 vt 0.300543 0.913217 vt 0.317977 0.959883 vt 0.296255 0.943328 vt 0.291751 0.965154 vt 0.283410 0.936859 vt 0.280601 0.961651 vt 0.288711 0.981660 vt 0.277481 0.980274 vt 0.276532 0.995624 vt 0.268793 0.995624 vt 0.286537 0.995624 vt 0.300109 0.984218 vt 0.305390 0.973067 vt 0.313732 0.982744 vt 0.319433 0.979405 vt 0.487926 0.979613 vt 0.492577 0.983366 vt 0.344960 0.977036 vt 0.339308 0.954202 vt 0.356766 0.916475 vt 0.378401 0.915238 vt 0.359606 0.952898 vt 0.378401 0.951775 vt 0.378401 0.977036 vt 0.360360 0.977036 vt 0.434166 0.978576 vt 0.450198 0.978576 vt 0.554134 0.881741 vt 0.495283 0.989523 vt 0.307450 0.989236 vt 0.305549 0.995800 vt 0.296353 0.995624 vt 0.041740 0.997553 vt 0.042303 0.989523 vt 0.237477 0.984218 vt 0.230136 0.989236 vt 0.232196 0.973067 vt 0.245834 0.965154 vt 0.248874 0.981660 vt 0.256985 0.961651 vt 0.254176 0.936859 vt 0.241331 0.943328 vt 0.237043 0.913217 vt 0.220883 0.918501 vt 0.201838 0.920017 vt 0.180820 0.916475 vt 0.177980 0.952898 vt 0.160436 0.977036 vt 0.103420 0.978576 vt 0.554134 0.676602 vt 0.554134 0.651451 vt 0.581760 0.676602 vt 0.604617 0.676602 vt 0.635116 0.676602 vt 0.635116 0.695781 vt 0.604617 0.695781 vt 0.581760 0.695781 vt 0.554134 0.695781 vt 0.635116 0.715484 vt 0.160436 0.951775 vt 0.160436 0.915238 vt 0.160436 0.890406 vt 0.221497 0.896503 vt 0.236089 0.895972 vt 0.250914 0.887429 vt 0.252272 0.909065 vt 0.268793 0.935260 vt 0.268793 0.907854 vt 0.285313 0.909065 vt 0.286671 0.887429 vt 0.268793 0.962130 vt 0.260105 0.980274 vt 0.261054 0.995624 vt 0.251048 0.995624 vt 0.241233 0.995624 vt 0.232037 0.995800 vt 0.268793 0.979651 vt 0.005547 0.804619 vt 0.005547 0.787798 vt 0.005547 0.768171 vt 0.039850 0.679023 vt 0.635116 0.906893 vt 0.604617 0.803807 vt 0.581760 0.795661 vt 0.581760 0.775388 vt 0.846946 0.272261 vt 0.831937 0.334118 vt 0.781062 0.279834 vt 0.863661 0.323721 vt 0.897177 0.263662 vt 0.765896 0.345383 vt 0.711761 0.272756 vt 0.790884 0.398370 vt 0.811270 0.449134 vt 0.856148 0.399777 vt 0.862262 0.477005 vt 0.818700 0.502190 vt 0.837398 0.570308 vt 0.929456 0.529646 vt 0.903249 0.454898 vt 0.879175 0.388893 vt 0.919067 0.373733 vt 0.902081 0.310139 vt 0.846945 0.272261 vt 0.512091 0.228479 vt 0.405127 0.248892 vt 0.405125 0.210990 vt 0.490154 0.256046 vt 0.405127 0.268069 vt 0.488877 0.294924 vt 0.448173 0.293139 vt 0.455169 0.303581 vt 0.488148 0.306317 vt 0.513922 0.311739 vt 0.550580 0.308374 vt 0.550220 0.321216 vt 0.601085 0.337441 vt 0.593391 0.354979 vt 0.631581 0.356803 vt 0.618446 0.399820 vt 0.662755 0.378634 vt 0.691755 0.424135 vt 0.626372 0.440035 vt 0.705620 0.485462 vt 0.723115 0.454363 vt 0.723511 0.490857 vt 0.885979 0.834181 vt 0.858113 0.844474 vt 0.862920 0.812065 vt 0.878985 0.847260 vt 0.914710 0.840618 vt 0.922602 0.825917 vt 0.889115 0.808801 vt 0.882238 0.793990 vt 0.890163 0.782854 vt 0.906427 0.792305 vt 0.903545 0.797105 vt 0.936813 0.826124 vt 0.952282 0.851479 vt 0.933216 0.856243 vt 0.949307 0.886566 vt 0.917720 0.884693 vt 0.914666 0.933808 vt 0.884352 0.895350 vt 0.875328 0.927073 vt 0.903992 0.956178 vt 0.935523 0.941620 vt 0.948732 0.957635 vt 0.925338 0.971457 vt 0.951982 0.961783 vt 0.971548 0.937875 vt 0.974294 0.977937 vt 0.976518 0.899273 vt 0.967388 0.934526 vt 0.945662 0.918501 vt 0.971637 0.898183 vt 0.960274 0.878222 vt 0.961837 0.854237 vt 0.944890 0.825281 vt 0.957134 0.799406 vt 0.746038 0.445850 vt 0.737640 0.445205 vt 0.707015 0.420355 vt 0.672924 0.368486 vt 0.648189 0.340104 vt 0.600401 0.313639 vt 0.553055 0.279624 vt 0.512092 0.228479 vt 0.570039 0.241567 vt 0.671399 0.323821 vt 0.614062 0.251509 vt 0.726606 0.329159 vt 0.737828 0.375650 vt 0.748403 0.431477 vt 0.755814 0.495416 vt 0.764790 0.532708 vt 0.777225 0.595633 vt 0.856028 0.642658 vt 0.945389 0.601224 vt 0.991255 0.574945 vt 0.970960 0.504542 vt 0.944711 0.434715 vt 0.240214 0.241567 vt 0.257199 0.279624 vt 0.196192 0.251510 vt 0.298161 0.228479 vt 0.240213 0.241567 vt 0.320100 0.256046 vt 0.321377 0.294924 vt 0.362081 0.293139 vt 0.405127 0.279136 vt 0.430878 0.294365 vt 0.457586 0.316595 vt 0.429990 0.312199 vt 0.427156 0.338874 vt 0.405127 0.339459 vt 0.405127 0.358652 vt 0.383098 0.338874 vt 0.386684 0.357298 vt 0.405127 0.363217 vt 0.423570 0.357298 vt 0.420172 0.362449 vt 0.443196 0.361266 vt 0.442876 0.371419 vt 0.428208 0.374629 vt 0.439969 0.379131 vt 0.455005 0.376599 vt 0.454070 0.384474 vt 0.464963 0.388780 vt 0.452749 0.390602 vt 0.451070 0.393931 vt 0.458977 0.391891 vt 0.464547 0.392787 vt 0.472264 0.393755 vt 0.471613 0.381659 vt 0.478295 0.374470 vt 0.459701 0.369790 vt 0.477567 0.347536 vt 0.453128 0.341824 vt 0.483420 0.325380 vt 0.507729 0.336478 vt 0.538006 0.349178 vt 0.565863 0.367144 vt 0.582414 0.406086 vt 0.583489 0.444487 vt 0.639301 0.486237 vt 0.564979 0.486875 vt 0.576609 0.515365 vt 0.586076 0.539006 vt 0.647157 0.542099 vt 0.597607 0.562334 vt 0.657203 0.596013 vt 0.605360 0.599148 vt 0.650834 0.639626 vt 0.691436 0.595762 vt 0.688510 0.641456 vt 0.728101 0.645539 vt 0.727797 0.707687 vt 0.788180 0.671177 vt 0.751307 0.578461 vt 0.740906 0.591295 vt 0.726347 0.579485 vt 0.710409 0.544256 vt 0.731461 0.542237 vt 0.849034 0.926594 vt 0.852579 0.896011 vt 0.861616 0.943863 vt 0.877516 0.956925 vt 0.896028 0.969896 vt 0.927854 0.973502 vt 0.893336 0.995616 vt 0.759373 0.562686 vt 0.987335 0.903384 vt 0.970015 0.877468 vt 0.985446 0.860398 vt 0.717454 0.409647 vt 0.628432 0.299499 vt 0.614062 0.251510 vt 0.614061 0.251509 vt 0.570040 0.241567 vt 0.896197 0.975261 vt 0.875164 0.962603 vt 0.857107 0.977385 vt 0.873563 0.877352 vt 0.868605 0.855197 vt 0.883964 0.873509 vt 0.681590 0.715235 vt 0.656799 0.682029 vt 0.615023 0.767891 vt 0.653594 0.818545 vt 0.585007 0.834695 vt 0.509837 0.812390 vt 0.513964 0.858353 vt 0.544221 0.901373 vt 0.619630 0.856149 vt 0.405127 0.880271 vt 0.405127 0.935621 vt 0.266033 0.901373 vt 0.296290 0.858353 vt 0.225247 0.834695 vt 0.190624 0.856149 vt 0.156660 0.818545 vt 0.195231 0.767891 vt 0.128664 0.715235 vt 0.153455 0.682029 vt 0.121744 0.641456 vt 0.159420 0.639626 vt 0.118818 0.595762 vt 0.153051 0.596013 vt 0.163097 0.542099 vt 0.099845 0.544256 vt 0.104634 0.485462 vt 0.078793 0.542237 vt 0.086743 0.490857 vt 0.054440 0.495416 vt 0.061851 0.431477 vt 0.064216 0.445850 vt 0.098493 0.272756 vt 0.138855 0.323821 vt 0.083648 0.329159 vt 0.181822 0.299499 vt 0.209853 0.313639 vt 0.259674 0.308374 vt 0.296332 0.311739 vt 0.322106 0.306317 vt 0.355085 0.303581 vt 0.326834 0.325380 vt 0.352668 0.316595 vt 0.379376 0.294365 vt 0.405127 0.288004 vt 0.405127 0.314830 vt 0.380264 0.312199 vt 0.357126 0.341824 vt 0.332687 0.347536 vt 0.302525 0.336478 vt 0.260034 0.321216 vt 0.209169 0.337441 vt 0.216863 0.354979 vt 0.272248 0.349178 vt 0.314897 0.359273 vt 0.350553 0.369790 vt 0.331959 0.374470 vt 0.317630 0.386312 vt 0.285344 0.388313 vt 0.281376 0.405341 vt 0.227840 0.406086 vt 0.244391 0.367144 vt 0.191808 0.399820 vt 0.178673 0.356803 vt 0.162065 0.340104 vt 0.137330 0.368486 vt 0.147499 0.378634 vt 0.118499 0.424135 vt 0.103239 0.420355 vt 0.092800 0.409647 vt 0.072426 0.375650 vt 0.072614 0.445205 vt 0.087139 0.454363 vt 0.183882 0.440035 vt 0.226765 0.444487 vt 0.279145 0.428760 vt 0.328971 0.397752 vt 0.332757 0.386732 vt 0.338641 0.381659 vt 0.355249 0.376599 vt 0.367058 0.361266 vt 0.390082 0.362449 vt 0.367378 0.371419 vt 0.382046 0.374629 vt 0.393347 0.372913 vt 0.405272 0.375035 vt 0.391657 0.386501 vt 0.374398 0.387817 vt 0.370285 0.379131 vt 0.357505 0.390602 vt 0.356184 0.384474 vt 0.345291 0.388780 vt 0.337990 0.393755 vt 0.340775 0.397395 vt 0.337108 0.403279 vt 0.355831 0.414709 vt 0.351031 0.431595 vt 0.370353 0.432746 vt 0.362213 0.454506 vt 0.342884 0.453415 vt 0.353866 0.475888 vt 0.330891 0.473759 vt 0.341529 0.503458 vt 0.330783 0.508030 vt 0.319486 0.473594 vt 0.295163 0.506614 vt 0.316350 0.531790 vt 0.281333 0.532432 vt 0.311598 0.557014 vt 0.278488 0.558604 vt 0.286411 0.571665 vt 0.276863 0.574078 vt 0.266550 0.581086 vt 0.259215 0.563214 vt 0.255861 0.590335 vt 0.245543 0.572348 vt 0.224178 0.539006 vt 0.260159 0.531411 vt 0.233645 0.515365 vt 0.170953 0.486237 vt 0.245275 0.486875 vt 0.212647 0.562334 vt 0.224316 0.583590 vt 0.245435 0.595082 vt 0.257013 0.600137 vt 0.263268 0.594784 vt 0.270037 0.587083 vt 0.278810 0.580586 vt 0.288068 0.576955 vt 0.312544 0.576813 vt 0.313763 0.579948 vt 0.290498 0.581717 vt 0.312871 0.588654 vt 0.285693 0.591373 vt 0.304052 0.605893 vt 0.283414 0.603627 vt 0.281439 0.605477 vt 0.291454 0.609479 vt 0.278969 0.611207 vt 0.290161 0.612387 vt 0.316140 0.608927 vt 0.316533 0.611082 vt 0.335482 0.603252 vt 0.316688 0.613863 vt 0.336978 0.605909 vt 0.315210 0.622191 vt 0.290279 0.623391 vt 0.324971 0.638284 vt 0.292673 0.637940 vt 0.290817 0.653012 vt 0.273336 0.636653 vt 0.268608 0.646629 vt 0.249564 0.633157 vt 0.257647 0.612751 vt 0.244614 0.621006 vt 0.244904 0.603608 vt 0.224647 0.610433 vt 0.204894 0.599148 vt 0.201625 0.645823 vt 0.232402 0.661889 vt 0.260333 0.675708 vt 0.292794 0.685736 vt 0.328727 0.656256 vt 0.351643 0.646972 vt 0.344172 0.639021 vt 0.344845 0.628314 vt 0.340014 0.614149 vt 0.358810 0.615083 vt 0.364349 0.628777 vt 0.365421 0.635526 vt 0.373304 0.616429 vt 0.366336 0.604890 vt 0.353319 0.606522 vt 0.339826 0.599338 vt 0.337786 0.598813 vt 0.333607 0.601669 vt 0.331099 0.597283 vt 0.343237 0.590361 vt 0.346008 0.592191 vt 0.360119 0.599332 vt 0.363546 0.589018 vt 0.354843 0.583449 vt 0.345105 0.583763 vt 0.343432 0.579509 vt 0.337717 0.582903 vt 0.338079 0.584338 vt 0.331873 0.581089 vt 0.332215 0.583129 vt 0.339222 0.588442 vt 0.309148 0.569129 vt 0.336334 0.566629 vt 0.345924 0.544236 vt 0.339203 0.526466 vt 0.361943 0.526619 vt 0.366188 0.554941 vt 0.345754 0.572640 vt 0.334882 0.572758 vt 0.365161 0.581317 vt 0.376651 0.559002 vt 0.380546 0.533934 vt 0.369054 0.507280 vt 0.359311 0.510965 vt 0.358519 0.500441 vt 0.364722 0.495873 vt 0.362729 0.482609 vt 0.353543 0.491923 vt 0.363925 0.471717 vt 0.366527 0.457339 vt 0.370307 0.470264 vt 0.377007 0.461974 vt 0.382315 0.475142 vt 0.392766 0.474822 vt 0.397313 0.469761 vt 0.395594 0.482984 vt 0.400492 0.481837 vt 0.398850 0.493907 vt 0.405127 0.480351 vt 0.405127 0.467842 vt 0.405127 0.455158 vt 0.412941 0.469761 vt 0.409762 0.481837 vt 0.414660 0.482984 vt 0.411404 0.493907 vt 0.405127 0.494066 vt 0.405127 0.503610 vt 0.399904 0.501983 vt 0.394334 0.546122 vt 0.395706 0.511525 vt 0.379852 0.504732 vt 0.376570 0.486644 vt 0.379631 0.476955 vt 0.390945 0.492543 vt 0.390802 0.568817 vt 0.381008 0.586797 vt 0.372447 0.595324 vt 0.381323 0.602592 vt 0.386804 0.588956 vt 0.405127 0.570977 vt 0.405127 0.550451 vt 0.415920 0.546122 vt 0.419452 0.568817 vt 0.429708 0.533934 vt 0.414548 0.511525 vt 0.410350 0.501983 vt 0.419309 0.492543 vt 0.430402 0.504732 vt 0.441200 0.507280 vt 0.448311 0.526619 vt 0.450943 0.510965 vt 0.451735 0.500441 vt 0.445532 0.495873 vt 0.433684 0.486644 vt 0.430623 0.476955 vt 0.446329 0.471717 vt 0.447525 0.482609 vt 0.456388 0.475888 vt 0.456711 0.491923 vt 0.468725 0.503458 vt 0.471051 0.526466 vt 0.464330 0.544236 vt 0.444066 0.554941 vt 0.433603 0.559002 vt 0.429246 0.586797 vt 0.423450 0.588956 vt 0.405127 0.588951 vt 0.405127 0.605945 vt 0.382224 0.623455 vt 0.372504 0.653600 vt 0.359769 0.679174 vt 0.334039 0.686500 vt 0.325129 0.716920 vt 0.286122 0.710039 vt 0.315602 0.779154 vt 0.249677 0.759389 vt 0.300417 0.812390 vt 0.215171 0.728435 vt 0.209753 0.687187 vt 0.237218 0.695243 vt 0.405127 0.835847 vt 0.405127 0.797760 vt 0.405127 0.723751 vt 0.405127 0.679288 vt 0.405127 0.655886 vt 0.405127 0.624503 vt 0.428030 0.623455 vt 0.437750 0.653600 vt 0.450485 0.679174 vt 0.476215 0.686500 vt 0.481527 0.656256 vt 0.458611 0.646972 vt 0.444833 0.635526 vt 0.436950 0.616429 vt 0.428931 0.602592 vt 0.437807 0.595324 vt 0.446708 0.589018 vt 0.445093 0.581317 vt 0.464500 0.572640 vt 0.473920 0.566629 vt 0.498656 0.557014 vt 0.493904 0.531790 vt 0.479471 0.508030 vt 0.479363 0.473759 vt 0.467370 0.453415 vt 0.448040 0.454506 vt 0.443727 0.457339 vt 0.439947 0.470264 vt 0.427939 0.475142 vt 0.417488 0.474822 vt 0.433247 0.461974 vt 0.418633 0.452490 vt 0.420111 0.445686 vt 0.405127 0.444980 vt 0.390143 0.445686 vt 0.391621 0.452490 vt 0.373580 0.449392 vt 0.391298 0.431325 vt 0.384050 0.423114 vt 0.386915 0.407892 vt 0.359235 0.405571 vt 0.355734 0.398380 vt 0.359326 0.394928 vt 0.369733 0.397524 vt 0.369387 0.400921 vt 0.383279 0.404006 vt 0.398478 0.408213 vt 0.398857 0.422523 vt 0.399155 0.431304 vt 0.405127 0.433345 vt 0.405127 0.423985 vt 0.405127 0.407034 vt 0.397676 0.402831 vt 0.393368 0.398991 vt 0.405127 0.400167 vt 0.405127 0.402720 vt 0.412578 0.402831 vt 0.411776 0.408213 vt 0.426975 0.404006 vt 0.423339 0.407892 vt 0.440867 0.400921 vt 0.451019 0.405571 vt 0.454423 0.414709 vt 0.426203 0.423114 vt 0.411397 0.422523 vt 0.411099 0.431304 vt 0.418956 0.431325 vt 0.436674 0.449392 vt 0.439901 0.432746 vt 0.459223 0.431595 vt 0.473146 0.403279 vt 0.469479 0.397395 vt 0.454520 0.398380 vt 0.440521 0.397524 vt 0.430028 0.398789 vt 0.416886 0.398991 vt 0.450928 0.394928 vt 0.465416 0.394495 vt 0.481283 0.397752 vt 0.478639 0.425606 vt 0.480569 0.450215 vt 0.528152 0.460096 vt 0.490768 0.473594 vt 0.515091 0.506614 vt 0.528921 0.532432 vt 0.531766 0.558604 vt 0.523843 0.571665 vt 0.501106 0.569129 vt 0.497710 0.576813 vt 0.478381 0.581089 vt 0.475372 0.572758 vt 0.472537 0.582903 vt 0.466822 0.579509 vt 0.465149 0.583763 vt 0.455411 0.583449 vt 0.467017 0.590361 vt 0.464246 0.592191 vt 0.472468 0.598813 vt 0.470428 0.599338 vt 0.450135 0.599332 vt 0.443918 0.604890 vt 0.445905 0.628777 vt 0.466082 0.639021 vt 0.485283 0.638284 vt 0.519437 0.653012 vt 0.517460 0.685736 vt 0.485125 0.716920 vt 0.494652 0.779154 vt 0.560577 0.759389 vt 0.524132 0.710039 vt 0.549921 0.675708 vt 0.541646 0.646629 vt 0.536918 0.636653 vt 0.517581 0.637940 vt 0.519975 0.623391 vt 0.495044 0.622191 vt 0.470240 0.614149 vt 0.465409 0.628314 vt 0.451444 0.615083 vt 0.456935 0.606522 vt 0.473276 0.605909 vt 0.474772 0.603252 vt 0.493566 0.613863 vt 0.520115 0.613995 vt 0.493721 0.611082 vt 0.494114 0.608927 vt 0.476647 0.601669 vt 0.479155 0.597283 vt 0.506202 0.605893 vt 0.497383 0.588654 vt 0.471032 0.588442 vt 0.472175 0.584338 vt 0.478039 0.583129 vt 0.496491 0.579948 vt 0.522186 0.576955 vt 0.533391 0.574078 vt 0.543704 0.581086 vt 0.531444 0.580586 vt 0.540217 0.587083 vt 0.533577 0.590512 vt 0.527259 0.585083 vt 0.524561 0.591373 vt 0.540739 0.597364 vt 0.526840 0.603627 vt 0.519756 0.581717 vt 0.528815 0.605477 vt 0.518800 0.609479 vt 0.520093 0.612387 vt 0.531066 0.612270 vt 0.536550 0.614914 vt 0.552607 0.612751 vt 0.550027 0.607622 vt 0.544135 0.606951 vt 0.531285 0.611207 vt 0.540445 0.602154 vt 0.551247 0.602325 vt 0.553240 0.600137 vt 0.565640 0.621006 vt 0.560690 0.633157 vt 0.577852 0.661889 vt 0.600501 0.687187 vt 0.573036 0.695243 vt 0.595083 0.728435 vt 0.608629 0.645823 vt 0.585607 0.610433 vt 0.565350 0.603608 vt 0.564819 0.595082 vt 0.554393 0.590335 vt 0.546986 0.594784 vt 0.548717 0.599084 vt 0.551039 0.563214 vt 0.550095 0.531411 vt 0.543114 0.513788 vt 0.525278 0.487724 vt 0.531109 0.428760 vt 0.528878 0.405341 vt 0.492624 0.386312 vt 0.477497 0.386732 vt 0.495357 0.359273 vt 0.524910 0.388313 vt 0.564711 0.572348 vt 0.585938 0.583590 vt 0.380226 0.398789 vt 0.344838 0.394495 vt 0.345707 0.392787 vt 0.351277 0.391891 vt 0.359184 0.393931 vt 0.371932 0.393909 vt 0.389543 0.394456 vt 0.381068 0.397824 vt 0.405127 0.398458 vt 0.405127 0.393618 vt 0.405127 0.388623 vt 0.418597 0.386501 vt 0.420711 0.394456 vt 0.429186 0.397824 vt 0.438322 0.393909 vt 0.435856 0.387817 vt 0.416907 0.372913 vt 0.260227 0.607622 vt 0.266119 0.606951 vt 0.259007 0.602325 vt 0.279188 0.612270 vt 0.273704 0.614914 vt 0.290139 0.613995 vt 0.269809 0.602154 vt 0.261537 0.599084 vt 0.269515 0.597364 vt 0.276677 0.590512 vt 0.282995 0.585083 vt 0.282102 0.460096 vt 0.331615 0.425606 vt 0.329685 0.450215 vt 0.284976 0.487724 vt 0.267140 0.513788 vt 0.033023 0.595633 vt 0.045458 0.532708 vt 0.050872 0.562686 vt 0.787811 0.671177 vt 0.776862 0.595633 vt 0.727732 0.645539 vt 0.058947 0.578461 vt 0.082153 0.645539 vt 0.083907 0.579485 vt 0.069348 0.591295 vt 0.082457 0.707687 vt 0.727428 0.707687 vt 0.405126 0.210991 vt 0.298160 0.228479 vt 1.943993 110.732338 vt 1.542073 110.982864 vt 1.456450 110.901825 vt 2.649404 99.925919 vt 2.677207 100.186661 vt 2.388169 99.776688 vn 0.945372 0.300211 0.126926 vn 0.794275 0.212683 0.569079 vn 0.792047 0.184729 0.581805 vn 0.951781 0.291086 0.096561 vn 0.863002 0.371380 -0.342418 vn 0.838313 0.329997 -0.433943 vn 0.638417 0.432508 -0.636647 vn 0.540574 0.354747 -0.762810 vn 0.326823 0.450911 -0.830561 vn 0.677389 0.266579 -0.685598 vn 0.927885 0.240638 -0.284768 vn 0.967528 0.191107 0.165349 vn 0.838099 0.132511 0.529130 vn 0.522813 0.159307 0.837397 vn 0.465560 0.142491 0.873440 vn 0.497147 0.127506 0.858211 vn 0.145054 0.104831 0.983825 vn 0.178381 0.070467 0.981414 vn -0.100925 0.009674 0.994842 vn 0.167150 -0.021027 0.985687 vn -0.038057 -0.060884 0.997406 vn -0.297037 -0.083651 0.951170 vn -0.296487 -0.036103 0.954344 vn -0.573412 -0.019776 0.818995 vn -0.641072 0.042177 0.766289 vn -0.586840 0.018952 0.809442 vn -0.905637 -0.044160 0.421705 vn -0.887265 0.081393 0.453993 vn -0.996979 0.042146 0.064852 vn -0.891903 0.089084 0.443342 vn -0.991882 0.126560 0.009980 vn -0.932035 -0.031190 -0.360942 vn -0.897183 0.072420 -0.435652 vn -0.617725 -0.160161 -0.769860 vn -0.533006 -0.018647 -0.845882 vn -0.108921 -0.217566 -0.969939 vn -0.525864 -0.190191 -0.829005 vn -0.097476 -0.252571 -0.962645 vn -0.558733 -0.166387 -0.812464 vn -0.154546 -0.243721 -0.957427 vn -0.531083 -0.200629 -0.823206 vn -0.197821 -0.159368 -0.967162 vn -0.252388 -0.130589 -0.958739 vn -0.006287 -0.000519 -0.999969 vn 0.001007 0.299539 -0.954070 vn 0.051149 0.367077 -0.928770 vn -0.097964 0.791833 -0.602802 vn -0.207801 0.817560 -0.537004 vn 0.034394 0.470565 -0.881649 vn 0.113132 0.373272 -0.920774 vn 0.138890 0.430372 -0.891873 vn 0.138127 0.415845 -0.898862 vn 0.183599 0.466659 -0.865139 vn 0.368542 0.495163 -0.786737 vn 0.117985 0.315104 -0.941679 vn 0.567888 0.330546 -0.753777 vn 0.456252 0.033723 -0.889187 vn 0.887082 0.121952 -0.445174 vn 0.109409 -0.080966 -0.990661 vn -0.242409 -0.073000 -0.967406 vn -0.369243 0.388104 -0.844386 vn -0.121158 0.545762 -0.829096 vn -0.514573 0.764122 -0.388928 vn -0.343760 0.934965 0.087313 vn -0.278237 0.959899 0.033662 vn -0.194769 0.815210 -0.545396 vn -0.132511 0.271279 -0.953307 vn -0.349834 -0.266274 -0.898160 vn -0.846767 0.058992 -0.528672 vn -0.925596 -0.056063 -0.374310 vn -0.910154 -0.102420 -0.401379 vn -0.914548 -0.099429 -0.392041 vn -0.996582 -0.077212 0.029237 vn -0.960601 -0.162267 0.225532 vn -0.788751 -0.268990 0.552721 vn -0.514603 -0.467055 0.719016 vn -0.326853 -0.007477 0.945006 vn -0.038759 -0.065920 0.997040 vn 0.208075 -0.046480 0.976989 vn 0.446822 0.038728 0.893765 vn 0.490829 0.076449 0.867855 vn 0.825556 0.186468 0.532579 vn 0.808588 0.124790 0.574938 vn 0.784845 0.091586 0.612842 vn 0.513688 0.047334 0.856655 vn 0.466536 -0.062532 0.882260 vn 0.223060 -0.041932 0.973876 vn -0.056429 -0.009888 0.998352 vn -0.268746 -0.376965 0.886349 vn -0.144902 -0.606952 0.781396 vn -0.064119 -0.583697 0.809412 vn -0.076754 -0.046327 0.995941 vn -0.059145 -0.145695 0.987548 vn -0.384350 -0.106174 0.917051 vn -0.498672 -0.602008 0.623585 vn -0.768059 -0.151677 0.622120 vn -0.794916 -0.468673 0.385235 vn -0.986908 -0.117618 0.110294 vn -0.999603 -0.001099 -0.027802 vn -0.994598 -0.089297 -0.052736 vn -0.864681 0.460280 -0.201056 vn -0.920804 0.146062 -0.361614 vn -0.990417 0.078066 0.113742 vn -0.936491 0.109104 0.333232 vn -0.933531 -0.208716 0.291391 vn -0.623280 0.287240 0.727287 vn -0.331156 0.303781 0.893307 vn 0.003113 0.303171 0.952910 vn 0.177007 0.334697 0.925535 vn -0.052736 0.413923 0.908780 vn -0.284555 0.379254 0.880428 vn -0.127903 0.287179 0.949278 vn -0.136204 -0.211768 0.967772 vn -0.037690 -0.655080 0.754570 vn 0.125034 -0.385876 0.913999 vn 0.303415 -0.539354 0.785485 vn 0.230140 -0.726768 0.647145 vn 0.523606 -0.660909 0.537584 vn 0.543229 -0.370464 0.753410 vn 0.168218 -0.248512 0.953887 vn 0.189673 0.206000 0.959990 vn 0.497055 0.132878 0.857448 vn 0.848476 -0.097995 0.520035 vn 0.754997 -0.442854 0.483505 vn 0.888760 -0.324870 0.323283 vn 0.954344 -0.140110 0.263771 vn 0.776360 0.212439 0.593371 vn 0.822993 0.186468 0.536515 vn 0.837886 -0.486373 0.247627 vn 0.888089 -0.141057 0.437452 vn 0.563402 -0.596515 0.571581 vn 0.772271 -0.127506 0.622333 vn 0.666524 -0.038453 0.744469 vn 0.633320 -0.329417 0.700247 vn 0.116855 -0.730277 0.673025 vn 0.650105 -0.722373 0.235511 vn 0.961638 -0.259499 0.088778 vn 0.965453 -0.176458 0.191565 vn 0.809259 -0.371685 0.454848 vn 0.549669 -0.443922 0.707633 vn -0.057588 -0.271554 0.960662 vn 0.776116 -0.126835 0.617664 vn 0.974029 -0.006745 0.226203 vn 0.942503 -0.258644 0.211585 vn 0.947172 -0.272744 0.168706 vn 0.945647 -0.261483 -0.193213 vn 0.985748 -0.060701 0.156774 vn 0.903623 -0.149754 -0.401257 vn -0.051576 0.098575 -0.993774 vn -0.945708 -0.255837 -0.200323 vn -0.653493 0.034639 -0.756127 vn -0.721549 0.101657 -0.684835 vn -0.921201 -0.334605 -0.198401 vn -0.532395 -0.574908 -0.621265 vn -0.435804 -0.880154 -0.187964 vn 0.400861 -0.753044 -0.521683 vn 0.134190 -0.913633 0.383679 vn 0.688009 -0.678915 0.256264 vn 0.522233 -0.467696 0.713065 vn 0.909391 0.029786 0.414808 vn 0.914945 0.224219 0.335551 vn 0.823908 0.523240 -0.217627 vn 0.613727 0.773003 -0.160588 vn 0.263955 0.620136 -0.738731 vn 0.379955 0.595080 -0.708121 vn 0.847438 0.469344 -0.247993 vn 0.938353 -0.339000 -0.067263 vn 0.855403 -0.242531 -0.457625 vn 0.658467 0.048921 -0.750999 vn 0.138859 0.019868 -0.990112 vn -0.249794 -0.225745 -0.941588 vn -0.190344 0.477554 -0.857692 vn 0.344493 0.617206 -0.707358 vn -0.214667 0.412793 -0.885128 vn -0.099887 0.407025 -0.907926 vn 0.120518 0.683309 -0.720084 vn 0.297617 0.944639 -0.137944 vn 0.067171 0.554613 -0.829371 vn -0.080630 0.302316 -0.949767 vn 0.116794 0.032289 -0.992615 vn 0.268990 -0.202094 -0.941679 vn 0.593463 -0.308176 -0.743461 vn 0.647725 -0.304117 -0.698508 vn 0.917051 -0.335215 -0.215888 vn 0.940306 -0.258675 -0.221137 vn 0.972411 -0.091037 -0.214698 vn 0.977325 0.145482 0.153722 vn 0.944487 0.087008 -0.316813 vn 0.746055 -0.232704 -0.623859 vn 0.657186 -0.322184 -0.681356 vn 0.240486 -0.283059 -0.928434 vn 0.262917 -0.249977 -0.931852 vn 0.641407 -0.024049 -0.766808 vn 0.312784 0.007721 -0.949767 vn 0.201117 0.387158 -0.899777 vn 0.010498 0.411176 -0.911466 vn 0.298196 0.244087 -0.922758 vn 0.684286 0.103732 -0.721763 vn 0.919462 0.107517 -0.378185 vn 0.986541 0.124393 0.106052 vn 0.846004 0.127659 0.517624 vn 0.543443 0.130741 0.829157 vn 0.152684 0.137577 0.978637 vn 0.149449 0.136509 0.979278 vn 0.134281 0.093234 0.986541 vn -0.129490 0.064638 0.989441 vn -0.130161 0.061617 0.989563 vn -0.323222 0.066744 0.943937 vn -0.351604 0.009919 0.936064 vn -0.601459 -0.018647 0.798669 vn -0.904935 0.062227 0.420911 vn -0.889981 0.072970 0.450087 vn -0.622272 0.077151 0.778954 vn -0.886746 0.109317 0.449110 vn -0.567156 0.077425 0.819941 vn -0.644765 0.046937 0.762902 vn -0.915891 0.084078 0.392499 vn -0.682485 0.028291 0.730308 vn -0.926695 0.061678 0.370647 vn -0.776330 0.036073 0.629261 vn -0.955504 0.055239 0.289651 vn -0.965972 0.090762 0.242164 vn -0.721519 0.087069 0.686850 vn -0.820887 0.103916 0.561510 vn -0.972961 0.122288 0.195929 vn -0.979888 0.113620 -0.163945 vn -0.982879 0.087497 -0.161992 vn -0.992309 0.073763 -0.099338 vn -0.993469 0.107273 -0.038087 vn -0.991760 0.127262 -0.013184 vn -0.989868 0.135594 0.041688 vn -0.991089 0.129490 0.030793 vn -0.991852 0.126652 -0.011383 vn -0.835963 0.195227 -0.512833 vn -0.889065 0.212531 -0.405377 vn -0.923368 0.186285 -0.335673 vn -0.882046 0.177465 -0.436415 vn -0.873806 0.129093 -0.468764 vn -0.840877 0.104282 -0.531053 vn -0.875576 0.123142 -0.467086 vn -0.788324 0.134831 -0.600269 vn -0.473403 0.163305 -0.865566 vn -0.462966 0.185339 -0.866756 vn -0.017884 0.226875 -0.973754 vn 0.090701 0.170049 -0.981231 vn 0.357006 0.172674 -0.917966 vn 0.316904 0.124027 -0.940275 vn 0.350108 0.094577 -0.931913 vn 0.232887 0.008576 -0.972442 vn 0.209998 -0.031495 -0.977172 vn 0.198798 -0.035554 -0.979369 vn 0.195532 -0.038179 -0.979919 vn 0.124454 0.079836 -0.988983 vn 0.281045 -0.044008 -0.958678 vn 0.324198 0.088565 -0.941801 vn 0.051424 0.239631 -0.969481 vn 0.644002 -0.019776 -0.764763 vn 0.922086 0.032716 -0.385571 vn 0.994324 0.085177 0.063631 vn 0.887600 0.105960 0.448195 vn 0.602405 0.113834 0.790002 vn 0.210700 0.120640 0.970061 vn -0.144780 0.131260 0.980712 vn -0.116825 0.131230 0.984436 vn -0.164281 0.073794 0.983642 vn -0.306681 0.060610 0.949858 vn -0.346843 0.038453 0.937101 vn -0.400189 0.038392 0.915616 vn -0.489181 0.054323 0.870479 vn -0.515549 0.098209 0.851192 vn -0.591571 0.093051 0.800836 vn -0.481613 0.170354 0.859645 vn -0.400128 0.112033 0.909574 vn -0.336924 0.090365 0.937162 vn -0.286019 0.066836 0.955870 vn -0.263741 0.099033 0.959471 vn -0.316202 0.117649 0.941343 vn -0.386364 0.167119 0.907041 vn -0.407361 0.234779 0.882534 vn -0.209174 0.191107 0.959014 vn -0.143040 0.158361 0.976959 vn 0.196570 0.153050 0.968444 vn 0.188482 0.170293 0.967193 vn 0.484787 0.138554 0.863582 vn 0.614277 0.138859 0.776757 vn 0.872646 0.096255 0.478713 vn 0.998321 0.054140 0.019684 vn 0.900601 0.010010 -0.434523 vn 0.998169 0.050996 -0.032350 vn 0.998596 0.049074 0.019196 vn 0.883511 0.083926 0.460799 vn 0.928434 0.038697 -0.369427 vn 0.662282 0.046052 -0.747795 vn 0.652882 -0.025849 -0.756981 vn 0.349406 -0.025941 -0.936583 vn 0.316233 0.091067 -0.944273 vn 0.424055 0.112857 -0.898556 vn 0.679525 0.082736 -0.728935 vn 0.882931 0.055300 -0.466201 vn 0.245582 0.156987 -0.956542 vn 0.264077 0.091342 -0.960143 vn 0.218909 -0.029420 -0.975280 vn 0.364025 0.164556 -0.916715 vn -0.221717 0.266732 -0.937895 vn -0.187628 0.167058 -0.967895 vn -0.050111 0.040071 -0.997925 vn 0.130955 -0.014893 -0.991272 vn -0.057283 0.095492 -0.993774 vn -0.501144 0.129154 -0.855647 vn -0.514939 0.107089 -0.850490 vn -0.587817 0.192511 -0.785730 vn -0.628864 0.246742 -0.737297 vn -0.639607 0.308115 -0.704215 vn -0.506088 0.261940 -0.821711 vn -0.188726 -0.002350 -0.981994 vn -0.156621 0.347179 -0.924589 vn 0.067995 -0.003540 -0.997650 vn 0.024415 0.352336 -0.935514 vn 0.081149 -0.204657 -0.975433 vn 0.077364 -0.245308 -0.966338 vn 0.072970 -0.276864 -0.958098 vn 0.270089 -0.290109 -0.918058 vn 0.079470 -0.175024 -0.981323 vn 0.088839 0.055330 -0.994476 vn 0.148350 0.437696 -0.886776 vn 0.293100 0.900540 -0.321055 vn 0.436964 0.856166 0.275674 vn 0.446638 0.784082 -0.430891 vn 0.728111 0.622974 -0.285836 vn 0.919401 0.287912 -0.267830 vn 0.999603 0.015656 0.022340 vn -0.764611 -0.074953 -0.640095 vn -0.814478 0.403760 -0.416639 vn -0.658742 0.744957 0.105228 vn -0.306742 0.781213 0.543687 vn -0.285592 0.830195 0.478713 vn -0.361095 0.932340 -0.018006 vn -0.498489 0.563189 -0.658986 vn -0.063173 0.137883 -0.988403 vn 0.160894 -0.314737 -0.935423 vn 0.481338 0.756096 -0.443373 vn 0.647328 -0.053133 -0.760338 vn 0.999786 -0.003052 -0.019105 vn 0.689352 0.559130 0.460555 vn -0.433241 0.901242 -0.002686 vn 0.375927 0.119419 0.918882 vn 0.413709 -0.117466 0.902768 vn -0.501053 -0.211005 0.839259 vn -0.659505 0.001679 0.751671 vn -0.910184 -0.014588 0.413923 vn -0.879421 -0.063417 0.471786 vn -0.441664 -0.563158 0.698386 vn -0.806207 -0.567186 0.168126 vn -0.157659 -0.979736 -0.123508 vn 0.334330 -0.724815 0.602344 vn 0.859523 0.071139 0.506088 vn 0.992492 -0.021821 -0.120182 vn 0.651784 -0.035737 -0.757530 vn 0.697562 -0.633778 -0.334208 vn 0.685446 -0.701315 0.195624 vn 0.435835 -0.543596 -0.717277 vn -0.116337 -0.500595 -0.857814 vn -0.470260 -0.625507 -0.622517 vn -0.778802 -0.516465 -0.355907 vn -0.983764 0.031495 -0.176580 vn -0.951201 0.212439 -0.223670 vn -0.847255 0.294198 0.442244 vn -0.695822 0.189947 0.692587 vn -0.749535 -0.101871 0.654042 vn -0.832179 0.141331 0.536149 vn -0.815516 0.308054 0.489883 vn -0.816889 0.367351 0.444624 vn -0.548051 0.551256 0.629078 vn -0.458357 0.621509 0.635273 vn -0.272896 0.574145 0.771905 vn 0.054323 0.577258 0.814722 vn 0.158238 0.542589 0.824915 vn -0.025788 0.575030 0.817682 vn -0.211982 0.579241 0.787072 vn -0.109897 0.588336 0.801080 vn 0.219642 0.515610 0.828181 vn 0.514267 0.452345 0.728599 vn 0.482955 0.532884 0.694784 vn 0.543107 0.522660 0.657125 vn 0.246223 0.641377 0.726615 vn 0.207953 0.648061 0.732627 vn 0.005799 0.664388 0.747337 vn 0.109043 0.630024 0.768853 vn 0.401837 0.685812 0.606739 vn 0.085330 0.607105 0.790002 vn 0.301187 0.401563 0.864864 vn -0.035005 0.578082 0.815210 vn 0.051973 0.349864 0.935331 vn 0.290902 0.015870 0.956603 vn 0.114170 -0.008850 0.993408 vn 0.295297 -0.518082 0.802728 vn -0.071535 -0.457625 0.886227 vn 0.467238 -0.262459 0.844234 vn 0.771844 0.100711 0.627735 vn 0.669485 0.447371 0.592944 vn 0.828974 0.514817 0.218451 vn 0.541307 0.825739 0.158391 vn 0.487197 0.617115 0.617847 vn 0.742790 0.253578 0.619587 vn 0.564470 0.389111 0.727958 vn 0.731803 0.533891 0.423505 vn 0.435224 0.812830 0.387097 vn 0.966002 0.186865 0.178564 vn 0.859859 -0.132939 0.492874 vn -0.955260 -0.206885 -0.211310 vn -0.956877 0.290139 0.011719 vn -0.837764 0.254524 0.483047 vn -0.605518 0.649342 0.460036 vn -0.357646 0.502670 0.787011 vn -0.463149 0.067324 0.883694 vn -0.171789 0.390393 0.904447 vn -0.018647 0.576403 0.816919 vn -0.111728 0.626026 0.771722 vn -0.132847 0.651631 0.746788 vn -0.211035 0.680837 0.701346 vn -0.376751 0.628895 0.680074 vn -0.533860 0.457411 0.711112 vn -0.483108 0.738639 0.470046 vn -0.720115 0.689077 -0.081149 vn -0.592639 0.165990 -0.788171 vn -0.521897 0.060427 -0.850856 vn 0.162633 0.043703 -0.985687 vn 0.019349 0.028260 -0.999390 vn -0.201941 0.693167 0.691885 vn -0.027680 0.667196 0.744346 vn 0.042787 0.618397 0.784661 vn 0.051668 0.611347 0.789666 vn -0.029298 0.563250 0.825739 vn -0.023072 0.598254 0.800928 vn -0.089175 0.625965 0.774712 vn -0.078677 0.630940 0.771813 vn -0.074526 0.281747 0.956572 vn -0.305368 0.011475 0.952147 vn -0.370342 -0.601489 0.707816 vn -0.601428 -0.371868 0.707053 vn -0.907285 -0.321818 0.270547 vn -0.101566 -0.033082 0.994263 vn -0.311899 0.387799 -0.867336 vn -0.550798 -0.763329 0.337474 vn 0.738182 -0.323069 -0.592151 vn 0.319590 -0.324961 -0.890072 vn 0.939940 -0.267403 -0.212012 vn 0.870724 -0.448805 -0.200964 vn 0.887204 -0.352306 -0.297769 vn 0.623127 -0.411451 -0.665120 vn 0.704001 -0.262185 -0.660024 vn 0.942625 -0.197851 -0.268777 vn 0.850459 0.009705 -0.525925 vn 0.382763 -0.027833 -0.923399 vn 0.336558 -0.307962 -0.889859 vn 0.403211 -0.406995 -0.819605 vn 0.134556 -0.426923 -0.894192 vn 0.129612 -0.348064 -0.928434 vn -0.065279 -0.389111 -0.918851 vn -0.509415 -0.493179 -0.705130 vn 0.053774 -0.954711 0.292581 vn 0.425306 -0.892300 0.151189 vn 0.108188 -0.991974 -0.065157 vn 0.564226 -0.822810 0.067782 vn 0.359355 -0.913236 0.191931 vn 0.599475 -0.629139 0.494736 vn 0.737297 -0.570147 0.362377 vn 0.743309 -0.591083 0.313150 vn 0.709189 -0.700919 0.075594 vn 0.816919 -0.450942 0.359478 vn 0.848201 -0.521958 0.089785 vn 0.854885 -0.401288 0.328745 vn 0.894498 -0.439100 0.083895 vn 0.926176 -0.267251 0.265999 vn 0.957091 -0.279641 0.075594 vn 0.953734 -0.231941 0.191260 vn 0.943999 -0.136845 0.300150 vn 0.902676 -0.162450 0.398450 vn 0.735221 -0.438215 0.517075 vn 0.792993 -0.173528 0.583941 vn 0.742607 -0.101474 0.661946 vn 0.953093 -0.100009 0.285653 vn 0.654530 -0.093051 0.750237 vn 0.743675 -0.274422 0.609577 vn 0.687490 -0.333934 0.644795 vn -0.002350 -0.910947 0.412427 vn 0.009919 -0.980041 -0.198401 vn -0.187933 -0.818110 -0.543443 vn 0.638142 -0.759117 0.128300 vn 0.825495 -0.564379 -0.001495 vn 0.901151 -0.383740 0.201575 vn 0.717978 -0.079440 0.691488 vn 0.804712 -0.019288 0.593310 vn 0.659993 -0.087588 0.746117 vn 0.770135 -0.194189 0.607532 vn 0.865963 -0.187445 0.463607 vn 0.810205 -0.357158 0.464736 vn 0.856960 -0.227119 0.462600 vn 0.790796 -0.180029 0.584979 vn 0.932035 0.358684 0.051210 vn 0.782037 0.584796 0.215400 vn 0.108463 0.749260 -0.653310 vn 0.292215 0.362316 -0.885037 vn 0.195227 0.484878 -0.852504 vn 0.387829 -0.078372 -0.918363 vn 0.989410 0.144261 0.014649 vn 0.761467 0.022065 0.647786 vn 0.985961 -0.111515 -0.124088 vn 0.858425 -0.454207 -0.238289 vn 0.391949 -0.524949 -0.755486 vn 0.285440 -0.597339 -0.749443 vn 0.729392 -0.640187 -0.241066 vn 0.928404 -0.357006 0.102756 vn 0.900845 -0.432905 0.032502 vn 0.825861 -0.561663 -0.049654 vn 0.754082 -0.652608 -0.073519 vn 0.648030 -0.706992 0.283151 vn 0.937101 -0.294992 0.186468 vn 0.969207 -0.245399 -0.020081 vn 0.923826 -0.380963 -0.036805 vn 0.880032 -0.457106 -0.128605 vn 0.568255 -0.412458 -0.711966 vn 0.634968 -0.212348 -0.742759 vn 0.998596 0.052614 0.004700 vn 0.928068 0.112156 -0.355083 vn 0.511856 0.081057 -0.855220 vn 0.095523 0.053316 -0.993988 vn 0.108737 -0.078982 -0.990905 vn 0.124088 -0.262520 -0.956877 vn -0.083956 -0.351024 -0.932585 vn -0.141972 -0.462813 -0.874996 vn -0.382794 -0.514420 -0.767327 vn -0.491317 -0.384564 -0.781457 vn -0.721091 -0.516984 -0.461196 vn -0.705191 -0.610157 -0.361095 vn -0.777459 -0.493362 -0.390027 vn -0.522111 -0.845180 0.114017 vn -0.248268 -0.966918 0.058321 vn -0.389660 -0.920469 -0.029115 vn -0.199713 -0.970489 0.135105 vn 0.080996 -0.978637 0.188910 vn 0.282449 -0.748070 0.600482 vn 0.476089 -0.248268 0.843593 vn 0.230354 -0.305063 0.924009 vn 0.194281 0.008789 0.980895 vn -0.093387 -0.072878 0.992950 vn -0.067232 -0.290384 0.954527 vn -0.383374 -0.050325 0.922208 vn -0.271920 -0.536851 0.798608 vn 0.045656 -0.892117 0.449446 vn 0.209571 -0.487564 0.847530 vn 0.267708 -0.842769 0.466903 vn 0.426618 -0.391430 0.815332 vn 0.572039 -0.619465 0.537553 vn 0.467696 -0.426008 0.774438 vn 0.687216 -0.137516 0.713309 vn 0.596728 -0.214789 0.773125 vn 0.698996 0.060396 0.712546 vn 0.427534 0.258309 0.866268 vn 0.586535 0.397626 0.705557 vn 0.565905 0.087039 0.819819 vn 0.401898 0.360912 0.841517 vn 0.379254 0.488052 0.786065 vn 0.067507 -0.402783 0.912778 vn 0.253761 -0.080905 0.963866 vn 0.353465 -0.221015 0.908933 vn 0.409497 -0.230598 0.882656 vn 0.483077 -0.133946 0.865230 vn 0.403821 -0.008850 0.914762 vn 0.678274 -0.240089 0.694418 vn 0.747368 -0.299753 0.592914 vn 0.778680 -0.340251 0.527116 vn 0.799829 -0.397351 0.449782 vn 0.832545 -0.248970 0.494797 vn 0.847285 -0.181555 0.499069 vn 0.931333 -0.113590 0.345958 vn 0.754540 -0.143071 0.640431 vn 0.801843 -0.027345 0.596881 vn 0.800684 0.109684 0.588916 vn 0.935087 -0.005463 0.354350 vn 0.840175 0.178228 0.512162 vn 0.896176 0.064028 0.438978 vn 0.863399 0.011811 0.504349 vn 0.902005 0.003754 0.431654 vn 0.924131 0.016816 0.381634 vn 0.915494 0.043794 0.399884 vn 0.945921 0.046968 0.320902 vn 0.941618 0.118809 0.315012 vn 0.983490 0.150517 0.100284 vn -0.261940 0.902615 -0.341502 vn 0.202429 0.746788 0.633473 vn 0.764580 -0.013184 0.644368 vn 0.891354 -0.115848 0.438185 vn 0.798486 -0.048372 0.600024 vn 0.006623 0.258370 0.966002 vn 0.614582 0.193609 0.764702 vn 0.649129 0.548967 0.526505 vn 0.011963 0.989654 -0.142827 vn 0.290536 -0.512680 -0.807886 vn 0.899564 -0.435286 0.035371 vn 0.849666 -0.479904 0.218390 vn -0.178442 0.901273 0.394757 vn -0.548845 0.713401 0.435591 vn 0.993255 -0.108066 0.041566 vn 0.894406 -0.399030 0.201972 vn 0.918424 -0.293283 0.265450 vn 0.888607 0.115177 0.443892 vn 0.876400 0.112094 0.468307 vn 0.752678 0.330241 0.569536 vn 0.714408 0.387799 0.582385 vn 0.469039 0.614307 0.634480 vn 0.296945 0.600238 0.742637 vn 0.184027 0.753868 0.630696 vn 0.182257 0.778436 0.600665 vn 0.484390 0.648946 0.586657 vn -0.142491 0.743950 0.652852 vn -0.140843 0.807794 0.572375 vn -0.450545 0.713614 0.536363 vn -0.453291 0.688589 0.565966 vn -0.699454 0.494675 0.515763 vn -0.711600 0.526505 0.465163 vn -0.878994 0.224647 0.420515 vn -0.901608 0.160863 0.401440 vn -0.963866 -0.074465 0.255715 vn -0.956389 -0.075533 0.282113 vn -0.966582 -0.148869 0.208655 vn -0.951933 -0.186041 0.243294 vn -0.965819 -0.176641 0.189642 vn -0.959899 -0.125980 0.250404 vn -0.966399 -0.200140 0.161168 vn -0.919004 -0.301187 0.254250 vn -0.912595 -0.348308 0.214026 vn -0.875668 -0.219764 0.429914 vn -0.842097 -0.340953 0.417829 vn -0.939360 -0.305918 -0.154759 vn -0.818110 -0.574358 0.028016 vn -0.951048 -0.294931 0.092196 vn -0.874966 -0.476913 0.083254 vn -0.885342 -0.366741 0.285684 vn -0.764031 -0.233375 0.601428 vn -0.810419 -0.235908 0.536210 vn -0.886135 -0.192419 0.421522 vn -0.827570 -0.560717 0.025941 vn -0.684866 -0.612232 -0.395123 vn -0.120273 -0.577380 -0.807520 vn -0.678335 -0.718345 -0.154241 vn -0.004791 -0.627064 -0.778924 vn -0.320627 -0.503464 -0.802301 vn -0.523240 -0.768456 -0.368358 vn -0.726859 -0.621632 -0.291879 vn -0.802423 -0.557726 -0.212165 vn -0.851924 -0.477798 -0.214179 vn -0.848964 -0.527879 -0.024171 vn -0.744102 -0.667257 0.032411 vn -0.577776 -0.788995 -0.208838 vn -0.554735 -0.830317 -0.052797 vn -0.656789 -0.734428 0.170904 vn -0.664998 -0.713706 0.219886 vn -0.547319 -0.746544 0.378216 vn -0.740715 -0.385388 0.550249 vn -0.574786 -0.355876 0.736839 vn -0.240394 -0.801599 0.547380 vn 0.036988 -0.862362 0.504929 vn -0.037141 -0.497269 0.866787 vn -0.343699 -0.363842 0.865688 vn -0.567675 -0.108310 0.816065 vn -0.608753 -0.245735 0.754326 vn -0.774804 -0.455611 0.438246 vn -0.764733 -0.612903 0.198767 vn -0.726829 -0.683218 -0.070193 vn -0.804987 -0.571245 0.160100 vn -0.783593 -0.500198 0.368389 vn -0.630268 -0.350383 0.692770 vn -0.522263 -0.325968 0.787988 vn -0.475661 -0.305918 0.824702 vn -0.515549 -0.359966 0.777551 vn -0.711722 -0.457503 0.533006 vn -0.707083 -0.374004 0.600085 vn -0.847163 -0.420942 0.324137 vn -0.777062 -0.558824 0.289590 vn -0.887753 -0.452956 0.081698 vn -0.786645 -0.611225 -0.086856 vn -0.669637 -0.714774 -0.201605 vn -0.783746 -0.605365 -0.138615 vn -0.877041 -0.467422 -0.110721 vn -0.906400 -0.422376 0.002289 vn -0.839412 -0.538011 -0.076815 vn -0.782617 -0.607532 -0.135502 vn 0.226539 -0.957884 -0.176397 vn -0.720267 -0.587237 0.369213 vn -0.937834 -0.329508 0.108951 vn -0.875698 -0.357952 0.324015 vn -0.670827 -0.333384 0.662404 vn -0.422254 -0.409680 0.808588 vn -0.258248 -0.299722 0.918393 vn -0.419050 -0.149815 0.895505 vn -0.683218 -0.345866 0.643086 vn -0.492996 -0.485549 0.721885 vn -0.180670 -0.888699 0.421339 vn -0.531480 -0.732444 0.425459 vn -0.517319 -0.526872 0.674337 vn -0.259743 -0.591571 0.763237 vn -0.024445 -0.573565 0.818781 vn -0.340007 0.212165 0.916166 vn -0.642048 0.307199 0.702384 vn -0.773583 -0.287088 0.564867 vn -0.782830 0.257393 0.566454 vn -0.824458 -0.095584 0.557756 vn -0.634358 0.149602 0.758385 vn -0.165624 -0.426649 0.889096 vn -0.190222 -0.831690 0.521592 vn -0.512833 -0.437056 0.738884 vn -0.659108 -0.310221 0.685049 vn -0.617542 -0.153539 0.771386 vn -0.647633 0.064119 0.759209 vn -0.512070 -0.080599 0.855129 vn -0.469863 -0.208167 0.857814 vn -0.640645 -0.213324 0.737571 vn -0.447432 -0.129795 0.884823 vn -0.480178 -0.081362 0.873379 vn -0.463942 -0.013672 0.885739 vn -0.533403 -0.183142 0.825770 vn -0.538285 -0.072237 0.839625 vn -0.488815 0.087588 0.867946 vn -0.544725 0.012085 0.838496 vn -0.407819 0.113742 0.905911 vn -0.557146 -0.074587 0.827021 vn -0.358104 -0.035066 0.933012 vn -0.508133 0.011505 0.861171 vn -0.661031 0.066805 0.747337 vn -0.715659 -0.008515 0.698386 vn -0.709525 -0.101382 0.697317 vn -0.804559 -0.036287 0.592730 vn -0.907285 -0.065157 0.415387 vn -0.727439 -0.008240 0.686117 vn -0.882473 -0.199805 0.425764 vn -0.939451 -0.305124 0.155889 vn -0.822565 -0.304544 0.480209 vn -0.943632 -0.004364 0.330943 vn -0.906949 -0.086428 0.412244 vn -0.786767 -0.265908 0.556993 vn -0.624500 -0.603626 0.495560 vn -0.575884 -0.338023 0.744346 vn -0.624470 0.059236 0.778771 vn -0.542772 0.149968 0.826350 vn -0.359294 -0.088351 0.929014 vn -0.166875 -0.087680 0.982055 vn -0.204077 0.170476 0.963988 vn -0.308115 0.342479 0.887539 vn -0.193732 0.187078 0.963042 vn -0.277749 0.248939 0.927824 vn -0.198981 -0.489547 0.848933 vn -0.218726 -0.606525 0.764367 vn -0.063387 -0.719352 0.691733 vn -0.077303 -0.712638 0.697256 vn -0.033448 -0.769799 0.637379 vn -0.012085 -0.830042 0.557512 vn -0.151891 -0.753960 0.639088 vn -0.095157 -0.940886 0.325053 vn -0.330943 -0.805872 0.490921 vn -0.178991 -0.732749 0.656514 vn -0.224525 -0.676992 0.700888 vn -0.163274 -0.439436 0.883297 vn -0.350688 -0.414686 0.839656 vn -0.338420 -0.361705 0.868679 vn -0.460891 -0.292550 0.837825 vn -0.615711 0.008057 0.787896 vn -0.676534 -0.279336 0.681356 vn -0.867183 -0.016968 0.497665 vn -0.913236 -0.139531 0.382733 vn -0.791070 -0.400464 0.462386 vn -0.876156 -0.275613 0.395398 vn -0.772668 -0.364971 0.519364 vn -0.885830 -0.301492 0.352641 vn -0.930967 -0.171850 0.322062 vn -0.932951 -0.133824 0.334147 vn -0.924986 -0.034242 0.378399 vn -0.847194 0.080691 0.525101 vn -0.602435 0.087710 0.793298 vn -0.405835 -0.000671 0.913938 vn -0.261361 -0.078066 0.962066 vn -0.262795 -0.299142 0.917295 vn -0.254097 -0.694754 0.672811 vn -0.177557 -0.601062 0.779199 vn -0.206305 -0.709677 0.673605 vn -0.192785 -0.591235 0.783105 vn -0.165014 -0.282022 0.945097 vn -0.314493 -0.590320 0.743339 vn -0.351238 -0.640339 0.683035 vn -0.128758 -0.623218 0.771325 vn -0.271828 -0.626301 0.730644 vn -0.513016 -0.732780 0.447005 vn -0.368297 -0.759301 0.536454 vn -0.348674 -0.709861 0.611927 vn -0.634144 -0.642659 0.429914 vn -0.390210 -0.605029 0.693991 vn -0.210700 -0.480911 0.851039 vn -0.581317 -0.188513 0.791498 vn -0.593127 -0.048311 0.803644 vn -0.636067 0.007538 0.771569 vn -0.455000 0.444441 0.771630 vn -0.307474 0.126438 0.943083 vn -0.139348 -0.099246 0.985229 vn -0.048463 -0.037233 0.998108 vn -0.054109 -0.000824 0.998505 vn -0.402448 0.155126 0.902188 vn -0.256142 0.225318 0.940001 vn -0.292550 0.310800 0.904294 vn -0.481979 0.291910 0.826106 vn -0.499405 0.070528 0.863460 vn -0.661184 0.058809 0.747887 vn -0.630757 0.335002 0.699911 vn -0.503708 0.376537 0.777459 vn -0.215827 0.423597 0.879727 vn -0.668264 0.249245 0.700919 vn -0.718406 0.301004 0.627094 vn -0.828059 0.228004 0.512131 vn -0.889615 0.079562 0.449690 vn -0.671407 -0.133213 0.728996 vn -0.818110 -0.016877 0.574786 vn -0.953124 0.159581 0.257027 vn -0.943663 -0.055330 0.326151 vn -0.729789 -0.050661 0.681783 vn -0.708762 -0.613514 0.348155 vn -0.442335 -0.513993 0.734916 vn -0.039430 -0.950530 0.308023 vn -0.280862 -0.918699 0.277627 vn -0.257668 -0.955870 0.140996 vn -0.327219 -0.941496 0.080325 vn -0.429395 -0.828394 0.359600 vn -0.739769 -0.463424 0.487777 vn -0.446699 -0.484542 0.752098 vn -0.577441 -0.028748 0.815882 vn -0.044618 -0.449446 0.892178 vn 0.022919 -0.808130 0.588519 vn 0.025056 -0.816858 0.576281 vn 0.506516 -0.732566 0.454695 vn 0.375988 -0.400281 0.835688 vn 0.705496 -0.315470 0.634602 vn 0.397290 0.071017 0.914914 vn -0.108005 0.071139 0.991577 vn -0.134587 0.427839 0.893765 vn -0.676473 0.280313 0.681021 vn -0.566271 0.468856 0.677816 vn -0.881832 0.221473 0.416242 vn -0.941679 0.154241 0.299020 vn -0.937773 -0.053499 0.343028 vn -0.620411 -0.714133 0.324137 vn -0.902127 0.052919 0.428175 vn -0.671407 0.335185 0.660939 vn -0.736290 0.081027 0.671773 vn -0.587512 -0.395764 0.705802 vn -0.466567 -0.334330 0.818842 vn -0.505173 0.195532 0.840541 vn -0.137852 0.495529 0.857570 vn -0.139988 0.550798 0.822779 vn 0.314219 0.559008 0.767296 vn 0.445235 0.449507 0.774377 vn 0.646626 0.378979 0.661977 vn 0.718619 0.385357 0.578845 vn 0.457106 0.396344 0.796167 vn 0.769494 0.224067 0.598010 vn 0.812830 0.333872 0.477279 vn 0.747887 0.247200 0.616047 vn 0.473556 0.174963 0.863186 vn 0.525651 -0.010651 0.850612 vn 0.673757 0.135838 0.726341 vn 0.831080 0.342265 0.438276 vn 0.842006 0.128697 0.523850 vn 0.673849 -0.581622 0.455611 vn 0.733665 -0.465804 0.494675 vn 0.851405 0.128422 0.508530 vn 0.510514 -0.095462 0.854518 vn 0.574480 0.082827 0.814264 vn 0.303079 -0.001160 0.952940 vn 0.293008 0.151646 0.943968 vn 0.239326 0.365764 0.899380 vn 0.398511 0.440382 0.804498 vn 0.503891 0.426130 0.751305 vn 0.556291 0.213385 0.803095 vn 0.278054 0.275735 0.920133 vn -0.127049 0.303995 0.944151 vn -0.081057 -0.180670 0.980193 vn -0.218421 -0.443403 0.869289 vn -0.196570 -0.125462 0.972411 vn -0.267312 0.087374 0.959624 vn -0.406446 0.135868 0.903470 vn -0.437574 0.120518 0.891049 vn -0.712485 0.084964 0.696493 vn -0.432417 0.278207 0.857662 vn -0.795068 0.161626 0.584582 vn -0.553056 0.513199 0.656270 vn -0.908231 -0.037629 0.416700 vn -0.908963 -0.033937 0.415448 vn -0.860561 0.006226 0.509293 vn -0.138310 0.506485 0.851039 vn -0.128178 0.320719 0.938444 vn -0.120304 0.213080 0.969573 vn -0.111301 0.106815 0.988006 vn -0.094333 -0.064364 0.993439 vn -0.065798 -0.301065 0.951323 vn 0.125431 -0.408185 0.904202 vn 0.020173 -0.103275 0.994446 vn 0.047884 0.119633 0.991638 vn 0.182775 0.196204 0.963347 vn 0.207495 0.062075 0.976257 vn 0.074892 -0.043641 0.996216 vn 0.026734 -0.262398 0.964568 vn 0.272134 -0.530259 0.802942 vn 0.351634 -0.250557 0.901944 vn 0.502487 -0.284158 0.816523 vn 0.437910 -0.084170 0.895047 vn 0.451491 0.363872 0.814661 vn 0.252907 0.453993 0.854335 vn 0.038301 0.344676 0.937925 vn 0.188055 0.174749 0.966460 vn 0.278542 0.166173 0.945921 vn 0.271462 0.061586 0.960448 vn 0.279122 -0.055422 0.958647 vn 0.321726 -0.127110 0.938231 vn 0.337168 0.006317 0.941404 vn 0.381146 -0.429701 0.818567 vn 0.167180 -0.929380 0.329020 vn 0.410810 -0.887417 0.208930 vn 0.486801 -0.858150 0.162999 vn 0.398450 -0.849147 0.346629 vn 0.755638 -0.241615 0.608753 vn 0.455947 -0.270730 0.847804 vn -0.028748 -0.548326 0.835749 vn -0.551805 -0.373913 0.745415 vn -0.797540 -0.400647 0.450972 vn -0.698721 -0.039674 0.714255 vn -0.551866 0.031007 0.833338 vn -0.523179 0.022095 0.851894 vn -0.402448 -0.561205 0.723197 vn -0.439802 -0.699545 0.563189 vn -0.180761 -0.909085 0.375286 vn -0.723502 -0.044923 0.688803 vn -0.094150 -0.935942 0.339305 vn -0.261116 -0.839534 0.476394 vn -0.040895 -0.900662 0.432539 vn -0.191992 -0.529893 0.826014 vn -0.230171 0.032807 0.972564 vn -0.233375 -0.049989 0.971099 vn -0.105960 0.049623 0.993103 vn -0.102908 0.018220 0.994507 vn -0.022309 -0.585772 0.810144 vn -0.123508 -0.906705 0.403241 vn 0.049806 -0.958190 0.281747 vn 0.077425 -0.972839 0.218116 vn 0.047914 -0.899411 0.434462 vn 0.220099 -0.871517 0.438154 vn 0.126072 -0.497330 0.858333 vn 0.133824 -0.882748 0.450301 vn 0.354656 -0.483688 0.800134 vn 0.324107 -0.779626 0.535844 vn 0.450087 -0.608448 0.653584 vn 0.558123 -0.185614 0.808710 vn 0.327860 0.109226 0.938383 vn 0.020600 0.058473 0.998047 vn 0.040590 -0.021943 0.998932 vn 0.357280 0.124088 0.925687 vn 0.536027 0.086734 0.839686 vn 0.457259 0.177252 0.871456 vn 0.469619 -0.042238 0.881832 vn 0.432539 -0.340251 0.834925 vn 0.245491 -0.787072 0.565874 vn 0.281075 -0.861782 0.422224 vn 0.210547 -0.904721 0.370281 vn 0.009827 -0.958129 0.286142 vn 0.088321 -0.954222 0.285653 vn 0.044252 -0.983428 -0.175695 vn 0.326273 -0.333048 0.884640 vn 0.436201 -0.192206 0.879055 vn 0.392865 -0.190741 0.899564 vn 0.500351 -0.183355 0.846156 vn 0.384014 -0.089206 0.918973 vn 0.363720 0.020081 0.931272 vn 0.353191 0.104007 0.929746 vn 0.384808 0.021821 0.922727 vn 0.164830 0.018433 0.986145 vn 0.013398 0.252907 0.967376 vn -0.017792 -0.072390 0.997192 vn -0.144719 -0.047090 0.988342 vn -0.053041 0.440230 0.896298 vn 0.081851 0.166356 0.982635 vn 0.193670 0.510910 0.837519 vn 0.455031 0.119327 0.882412 vn 0.418653 0.055300 0.906430 vn 0.651631 -0.511002 0.560533 vn 0.357555 -0.528520 0.769921 vn 0.550127 -0.623951 0.554949 vn 0.240944 -0.573779 0.782739 vn 0.129185 -0.446120 0.885556 vn 0.329417 -0.570666 0.752159 vn 0.147679 -0.556352 0.817682 vn 0.129490 -0.258980 0.957152 vn 0.224250 -0.304086 0.925840 vn 0.432142 0.115360 0.894375 vn 0.402387 0.190588 0.895383 vn 0.218207 0.187658 0.957671 vn 0.188238 0.341746 0.920713 vn 0.613849 0.305856 0.727714 vn 0.527757 0.211921 0.822504 vn 0.691946 0.238289 0.681478 vn 0.736167 0.147160 0.660573 vn 0.569384 -0.151769 0.807917 vn 0.334025 -0.211158 0.918577 vn 0.252449 -0.352916 0.900937 vn 0.068941 -0.415662 0.906888 vn 0.135807 -0.568987 0.811029 vn 0.249184 -0.643239 0.723960 vn 0.206183 -0.667440 0.715506 vn 0.094974 -0.600330 0.794061 vn 0.211676 -0.632313 0.745201 vn 0.381420 -0.732933 0.563280 vn 0.187994 -0.695120 0.693838 vn 0.193213 -0.706687 0.680593 vn 0.215308 -0.909055 0.356700 vn 0.169744 -0.721030 0.671743 vn 0.398846 -0.680776 0.614338 vn 0.355052 -0.637806 0.683432 vn 0.120090 -0.456893 0.881344 vn -0.043367 0.202490 0.978301 vn 0.175329 0.214331 0.960875 vn -0.042512 -0.089267 0.995086 vn -0.146672 -0.010285 0.989105 vn -0.030274 0.188299 0.981628 vn 0.177435 -0.033357 0.983551 vn 0.313669 0.095645 0.944670 vn 0.471938 0.182806 0.862453 vn 0.326060 0.238929 0.914640 vn 0.432112 0.167394 0.886105 vn 0.191778 0.337504 0.921537 vn 0.149937 0.334605 0.930326 vn 0.031800 0.280648 0.959258 vn 0.245460 -0.447493 0.859890 vn 0.179327 -0.565783 0.804804 vn 0.050172 0.379223 0.923917 vn 0.067415 -0.705954 0.705008 vn 0.078310 -0.696707 0.713034 vn 0.067141 -0.821925 0.565600 vn 0.243751 -0.592090 0.768090 vn 0.432783 -0.248939 0.866421 vn 0.747124 -0.242988 0.618641 vn 0.559984 -0.489761 0.668203 vn 0.352733 -0.690512 0.631458 vn 0.059603 -0.760277 0.646809 vn 0.151280 -0.819422 0.552843 vn 0.475631 -0.704123 0.527207 vn 0.621509 -0.476058 0.622150 vn 0.817042 -0.102268 0.567400 vn 0.827815 0.038697 0.559618 vn 0.818842 0.144261 0.555559 vn 0.796045 0.140599 0.588672 vn 0.722831 0.168340 0.670156 vn 0.795831 0.136814 0.589831 vn 0.855251 0.049226 0.515824 vn 0.840022 -0.124790 0.528001 vn 0.710990 -0.213050 0.670095 vn 0.697165 -0.113956 0.707755 vn 0.562151 0.028779 0.826502 vn 0.472060 -0.230689 0.850826 vn 0.323466 -0.814783 0.481094 vn 0.549181 0.120945 0.826868 vn 0.562853 0.123844 0.817194 vn 0.553911 -0.051973 0.830927 vn 0.439802 -0.085849 0.893948 vn 0.578539 -0.205481 0.789331 vn 0.633839 -0.236702 0.736320 vn 0.411969 -0.264992 0.871792 vn 0.125065 -0.260475 0.957335 vn 0.536973 -0.230903 0.811365 vn 0.668386 -0.316202 0.673208 vn 0.661061 0.113712 0.741630 vn 0.805261 0.088839 0.586200 vn 0.080305 -0.196581 -0.977193 vn 0.125797 -0.946257 0.297891 vn 0.189795 -0.968535 -0.160924 vn 0.156915 -0.188725 -0.969412 vn -0.618152 0.385968 0.684713 vn -0.625416 0.255806 0.737144 vn -0.526048 0.644398 0.554949 vn -0.311502 0.703635 0.638600 vn -0.352702 0.791406 0.499222 vn -0.137700 0.863277 0.485519 vn -0.142735 0.713706 0.685720 vn -0.127049 0.304361 0.944029 vn 0.101199 0.257332 0.960997 vn 0.030519 0.738639 0.673360 vn 0.080172 0.835749 0.543199 vn 0.264870 0.725394 0.635304 vn 0.414441 0.415387 0.809717 vn 0.215918 -0.542863 0.811548 vn -0.571917 -0.605640 0.553209 vn -0.325541 -0.759911 0.562578 vn -0.419935 -0.795801 0.436232 vn -0.267953 -0.644490 0.716086 vn -0.537675 -0.348308 0.767815 vn -0.179022 -0.744896 0.642689 vn -0.090793 -0.844203 0.528245 vn -0.242561 -0.872768 0.423536 vn -0.316843 -0.505112 0.802759 vn -0.435102 0.273324 0.857845 vn -0.396161 0.278664 0.874844 vn -0.611621 -0.297189 0.733177 vn -0.554826 -0.293680 0.778375 vn -0.517655 -0.283944 0.807062 vn -0.582598 -0.190497 0.790094 vn -0.686300 -0.178930 0.704917 vn -0.823756 -0.261849 0.502823 vn -0.720847 -0.478133 0.501724 vn 0.102908 -0.900174 0.423139 vn -0.485397 -0.874142 0.014191 vn 0.452559 -0.752556 -0.478347 vn -0.779656 -0.430372 0.454817 vn -0.758538 -0.237739 0.606677 vn -0.418653 -0.320231 -0.849788 vn -0.014985 -0.543962 -0.838954 vn -0.173498 -0.135838 -0.975402 vn -0.114841 0.453108 -0.883999 vn -0.969390 -0.148839 -0.195227 vn -0.811029 -0.377392 -0.446944 vn -0.713065 -0.150334 -0.684774 vn -0.842067 -0.069063 -0.534928 vn -0.993561 -0.051881 -0.100558 vn -0.980682 -0.150243 0.125187 vn 0.138188 0.943602 -0.300821 vn -0.124302 0.725425 -0.676962 vn -0.176824 0.314280 -0.932707 vn -0.980956 -0.057466 -0.185492 vn -0.898709 -0.304483 -0.315561 vn -0.863796 -0.144292 0.482681 vn -0.820734 -0.357067 0.445906 vn -0.798029 -0.521805 0.301340 vn -0.859035 -0.179418 0.479415 vn -0.470077 0.677938 0.565111 vn -0.250465 0.232063 0.939879 vn 0.296670 0.799982 0.521500 vn -0.989746 -0.078921 0.118778 vn -0.088198 0.910520 0.403912 vn -0.181585 0.969848 -0.162481 vn -0.837611 0.396741 0.375439 vn -0.910337 0.411512 0.043458 vn -0.976196 0.163305 -0.142613 vn -0.838893 -0.346873 0.419416 vn -0.868557 -0.403790 0.287301 vn -0.780572 0.050783 0.622944 vn -0.337016 -0.005829 -0.941465 vn -0.177770 -0.085238 -0.980346 g mesh1.002_mesh1-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1/1/1 2/2/2 3/3/3 f 1/1/1 4/4/4 2/2/2 f 4/4/4 1/1/1 5/5/5 f 5/5/5 6/6/6 4/4/4 f 7/7/7 6/6/6 5/5/5 f 7/7/7 8/8/8 6/6/6 f 8/8/8 7/7/7 9/9/9 f 7/7/7 10/10/10 9/9/9 f 10/10/10 7/7/7 5/5/5 f 10/10/10 5/5/5 11/11/11 f 5/5/5 1/1/1 11/11/11 f 11/11/11 1/1/1 12/12/12 f 12/12/12 1/1/1 3/3/3 f 12/12/12 3/3/3 13/13/13 f 3/3/3 14/14/14 13/13/13 f 3/3/3 15/15/15 14/14/14 f 16/16/16 15/15/15 3/3/3 f 16/16/16 17/17/17 15/15/15 f 18/18/18 17/17/17 16/16/16 f 18/18/18 19/19/19 17/17/17 f 20/20/20 19/19/19 18/18/18 f 21/21/21 19/19/19 20/20/20 f 21/21/21 22/22/22 19/19/19 f 23/23/23 22/22/22 21/21/21 f 23/23/23 24/24/24 22/22/22 f 23/23/23 25/25/25 24/24/24 f 26/26/26 25/25/25 23/23/23 f 27/27/27 25/25/25 26/26/26 f 27/27/27 28/28/28 25/25/25 f 29/29/29 28/28/28 27/27/27 f 29/29/29 30/30/30 28/28/28 f 29/29/29 31/31/31 30/30/30 f 32/32/32 31/31/31 29/29/29 f 32/32/32 33/33/33 31/31/31 f 34/34/34 33/33/33 32/32/32 f 34/34/34 35/35/35 33/33/33 f 34/34/34 36/36/36 35/35/35 f 37/37/37 36/36/36 34/34/34 f 37/37/37 38/38/38 36/36/36 f 39/39/39 38/38/38 37/37/37 f 39/39/39 40/40/40 38/38/38 f 41/41/41 40/40/40 39/39/39 f 41/41/41 42/42/42 40/40/40 f 43/43/43 42/42/42 41/41/41 f 43/43/43 44/44/44 42/42/42 f 45/45/45 44/44/44 43/43/43 f 45/45/45 46/46/46 44/44/44 f 47/47/47 46/46/46 45/45/45 f 48/48/48 46/46/46 47/47/47 f 49/49/49 46/46/46 48/48/48 f 49/49/49 50/50/50 46/46/46 f 49/49/49 51/51/51 50/50/50 f 52/52/52 51/51/51 49/49/49 f 52/53/52 53/54/53 51/55/51 f 52/53/52 54/56/54 53/54/53 f 55/57/55 54/56/54 52/53/52 f 55/57/55 56/58/56 54/56/54 f 57/59/57 56/58/56 55/57/55 f 56/58/56 57/59/57 58/60/58 f 57/59/57 55/57/55 61/61/59 f 61/62/59 55/63/55 62/64/60 f 62/64/60 55/63/55 63/65/61 f 63/65/61 55/63/55 64/66/62 f 55/63/55 52/52/52 64/66/62 f 64/66/62 52/52/52 49/49/49 f 64/66/62 49/49/49 48/48/48 f 64/66/62 48/48/48 65/67/63 f 65/67/63 48/48/48 66/68/64 f 48/48/48 67/69/65 66/68/64 f 48/48/48 47/47/47 67/69/65 f 47/47/47 68/70/66 67/69/65 f 47/47/47 45/45/45 68/70/66 f 68/70/66 45/45/45 69/71/67 f 45/45/45 70/72/68 69/71/67 f 45/45/45 43/43/43 70/72/68 f 70/72/68 43/43/43 71/73/69 f 43/43/43 41/41/41 71/73/69 f 71/73/69 41/41/41 72/74/70 f 41/41/41 39/39/39 72/74/70 f 39/39/39 73/75/71 72/74/70 f 39/39/39 37/37/37 73/75/71 f 37/37/37 74/76/72 73/75/71 f 37/37/37 34/34/34 74/76/72 f 34/34/34 32/32/32 74/76/72 f 74/76/72 32/32/32 29/29/29 f 74/76/72 29/29/29 75/77/73 f 75/77/73 29/29/29 27/27/27 f 75/77/73 27/27/27 76/78/74 f 76/78/74 27/27/27 77/79/75 f 27/27/27 26/26/26 77/79/75 f 77/79/75 26/26/26 78/80/76 f 78/80/76 26/26/26 79/81/77 f 26/26/26 23/23/23 79/81/77 f 79/81/77 23/23/23 80/82/78 f 23/23/23 21/21/21 80/82/78 f 80/82/78 21/21/21 81/83/79 f 81/83/79 21/21/21 20/20/20 f 81/83/79 20/20/20 82/84/80 f 82/84/80 20/20/20 83/85/81 f 20/20/20 18/18/18 83/85/81 f 83/85/81 18/18/18 16/16/16 f 83/85/81 16/16/16 2/2/2 f 2/2/2 16/16/16 3/3/3 f 84/86/82 83/85/81 2/2/2 f 85/87/83 83/85/81 84/86/82 f 85/87/83 82/84/80 83/85/81 f 86/88/84 82/84/80 85/87/83 f 87/89/85 82/84/80 86/88/84 f 81/83/79 82/84/80 87/89/85 f 88/90/86 81/83/79 87/89/85 f 89/91/87 81/83/79 88/90/86 f 89/91/87 80/82/78 81/83/79 f 90/92/88 80/82/78 89/91/87 f 79/81/77 80/82/78 90/92/88 f 91/93/89 79/81/77 90/92/88 f 78/80/76 79/81/77 91/93/89 f 91/93/89 92/94/90 78/80/76 f 93/95/91 92/94/90 91/93/89 f 94/96/92 92/94/90 93/95/91 f 95/97/93 92/94/90 94/96/92 f 96/98/94 92/94/90 95/97/93 f 96/98/94 97/99/95 92/94/90 f 98/100/96 97/99/95 96/98/94 f 99/101/97 97/99/95 98/100/96 f 78/80/76 97/99/95 99/101/97 f 92/94/90 97/99/95 78/80/76 f 78/80/76 99/101/97 77/79/75 f 76/78/74 77/79/75 99/101/97 f 100/102/98 76/78/74 99/101/97 f 101/103/99 76/78/74 100/102/98 f 102/104/100 76/78/74 101/103/99 f 102/104/100 75/77/73 76/78/74 f 73/75/71 75/77/73 102/104/100 f 73/75/71 74/76/72 75/77/73 f 72/74/70 73/75/71 102/104/100 f 72/74/70 102/104/100 101/103/99 f 72/74/70 101/103/99 103/105/101 f 103/105/101 101/103/99 104/106/102 f 104/106/102 101/103/99 105/107/103 f 101/103/99 100/102/98 105/107/103 f 105/107/103 100/102/98 106/108/104 f 100/102/98 107/109/105 106/108/104 f 100/102/98 99/101/97 107/109/105 f 107/109/105 99/101/97 98/100/96 f 107/109/105 98/100/96 106/108/104 f 106/108/104 98/100/96 108/110/106 f 108/110/106 98/100/96 96/98/94 f 108/110/106 96/98/94 109/111/107 f 109/111/107 96/98/94 110/112/108 f 110/112/108 96/98/94 95/97/93 f 110/112/108 95/97/93 94/96/92 f 110/112/108 94/96/92 111/113/109 f 111/113/109 94/96/92 112/114/110 f 112/114/110 94/96/92 113/115/111 f 113/115/111 94/96/92 114/116/112 f 114/116/112 94/96/92 115/117/113 f 94/96/92 116/118/114 115/117/113 f 94/96/92 93/95/91 116/118/114 f 117/119/115 116/118/114 93/95/91 f 118/120/116 116/118/114 117/119/115 f 118/120/116 119/121/117 116/118/114 f 120/122/118 119/121/117 118/120/116 f 121/123/119 119/121/117 120/122/118 f 122/124/120 119/121/117 121/123/119 f 122/124/120 116/118/114 119/121/117 f 115/117/113 116/118/114 122/124/120 f 114/116/112 115/117/113 122/124/120 f 114/116/112 122/124/120 123/125/121 f 123/125/121 122/124/120 124/126/122 f 124/126/122 122/124/120 121/123/119 f 124/126/122 121/123/119 125/127/123 f 126/128/124 125/127/123 121/123/119 f 127/129/125 125/127/123 126/128/124 f 128/130/126 125/127/123 127/129/125 f 128/130/126 129/131/127 125/127/123 f 128/130/126 130/132/128 129/131/127 f 131/133/129 130/132/128 128/130/126 f 131/133/129 132/134/130 130/132/128 f 133/135/131 132/136/130 131/137/129 f 133/135/131 134/138/132 132/136/130 f 133/135/131 135/139/133 134/138/132 f 135/139/133 133/135/131 136/140/134 f 136/140/134 133/135/131 137/141/135 f 137/141/135 133/135/131 138/142/136 f 133/135/131 131/137/129 138/142/136 f 138/142/136 131/137/129 139/143/137 f 139/144/137 131/133/129 128/130/126 f 139/144/137 128/130/126 140/145/138 f 140/145/138 128/130/126 127/129/125 f 140/145/138 127/129/125 141/146/139 f 127/129/125 120/122/118 141/146/139 f 127/129/125 126/128/124 120/122/118 f 126/128/124 121/123/119 120/122/118 f 141/146/139 120/122/118 142/147/140 f 142/147/140 120/122/118 118/120/116 f 118/120/116 88/90/86 142/147/140 f 118/120/116 89/91/87 88/90/86 f 117/119/115 89/91/87 118/120/116 f 117/119/115 90/92/88 89/91/87 f 143/148/141 90/92/88 117/119/115 f 91/93/89 90/92/88 143/148/141 f 93/95/91 91/93/89 143/148/141 f 93/95/91 143/148/141 117/119/115 f 142/147/140 88/90/86 144/149/142 f 88/90/86 87/89/85 144/149/142 f 144/149/142 87/89/85 86/88/84 f 145/150/143 144/149/142 86/88/84 f 146/151/144 144/149/142 145/150/143 f 146/151/144 141/146/139 144/149/142 f 147/152/145 141/146/139 146/151/144 f 140/145/138 141/146/139 147/152/145 f 148/153/146 140/145/138 147/152/145 f 148/153/146 149/154/147 140/145/138 f 150/155/148 149/154/147 148/153/146 f 151/156/149 149/154/147 150/155/148 f 151/157/149 152/158/150 149/159/147 f 153/160/151 152/158/150 151/157/149 f 154/161/152 152/158/150 153/160/151 f 154/161/152 155/162/153 152/158/150 f 156/163/154 155/162/153 154/161/152 f 156/164/154 157/165/155 155/166/153 f 158/167/156 157/168/155 156/169/154 f 158/167/156 159/170/157 157/168/155 f 160/171/158 159/170/157 158/167/156 f 161/172/159 159/173/157 160/174/158 f 161/172/159 137/141/135 159/173/157 f 136/140/134 137/141/135 161/172/159 f 162/175/160 136/140/134 161/172/159 f 162/175/160 163/176/161 136/140/134 f 164/177/162 163/176/161 162/175/160 f 164/177/162 165/178/163 163/176/161 f 165/178/163 164/177/162 166/179/164 f 164/177/162 167/180/165 166/179/164 f 167/180/165 164/177/162 168/181/166 f 168/181/166 164/177/162 162/175/160 f 168/181/166 162/175/160 169/182/167 f 162/175/160 160/174/158 169/182/167 f 160/174/158 162/175/160 161/172/159 f 169/183/167 160/171/158 158/167/156 f 169/183/167 158/167/156 170/184/168 f 170/184/168 158/167/156 171/185/169 f 171/185/169 158/167/156 172/186/170 f 158/167/156 173/187/171 172/186/170 f 158/167/156 156/169/154 173/187/171 f 173/188/171 156/163/154 154/161/152 f 174/189/172 173/188/171 154/161/152 f 174/189/172 172/190/170 173/188/171 f 175/191/173 172/190/170 174/189/172 f 175/191/173 171/192/169 172/190/170 f 171/192/169 175/191/173 168/181/166 f 175/191/173 167/180/165 168/181/166 f 167/180/165 175/191/173 174/189/172 f 167/180/165 174/189/172 176/193/174 f 176/193/174 174/189/172 154/161/152 f 176/193/174 154/161/152 153/160/151 f 151/157/149 176/193/174 153/160/151 f 177/194/175 176/193/174 151/157/149 f 166/179/164 176/193/174 177/194/175 f 166/179/164 167/180/165 176/193/174 f 178/195/176 166/196/164 177/197/175 f 165/198/163 166/196/164 178/195/176 f 165/198/163 178/195/176 179/199/177 f 179/199/177 178/195/176 180/200/178 f 180/200/178 178/195/176 181/201/179 f 178/195/176 177/197/175 181/201/179 f 181/201/179 177/197/175 151/156/149 f 180/200/178 181/201/179 151/202/149 f 180/200/178 151/202/149 182/203/180 f 151/202/149 183/204/181 182/203/180 f 151/202/149 184/205/182 183/204/181 f 151/202/149 150/155/148 184/205/182 f 184/205/182 150/155/148 148/153/146 f 184/205/182 148/153/146 185/206/183 f 185/206/183 148/153/146 186/207/184 f 148/153/146 147/152/145 186/207/184 f 186/207/184 147/152/145 146/151/144 f 186/207/184 146/151/144 187/208/185 f 187/208/185 146/151/144 145/150/143 f 187/208/185 145/150/143 188/209/186 f 188/209/186 145/150/143 189/210/187 f 145/150/143 85/87/83 189/210/187 f 145/150/143 86/88/84 85/87/83 f 189/210/187 85/87/83 84/86/82 f 4/4/4 189/210/187 84/86/82 f 190/211/188 189/210/187 4/4/4 f 188/209/186 189/210/187 190/211/188 f 191/212/189 188/209/186 190/211/188 f 191/212/189 187/208/185 188/209/186 f 192/213/190 187/208/185 191/212/189 f 192/213/190 186/207/184 187/208/185 f 185/206/183 186/207/184 192/213/190 f 185/206/183 192/213/190 193/214/191 f 193/214/191 192/213/190 194/215/192 f 192/213/190 191/212/189 194/215/192 f 191/212/189 195/216/193 194/215/192 f 191/212/189 190/211/188 195/216/193 f 195/216/193 190/211/188 6/6/6 f 6/6/6 190/211/188 4/4/4 f 8/8/8 195/216/193 6/6/6 f 195/216/193 8/8/8 196/217/194 f 196/217/194 8/8/8 197/218/195 f 8/8/8 9/9/9 197/218/195 f 197/218/195 9/9/9 198/219/196 f 9/9/9 199/220/197 198/219/196 f 9/9/9 10/10/10 199/220/197 f 10/10/10 200/221/198 199/220/197 f 200/221/198 10/10/10 201/222/199 f 10/10/10 11/11/11 201/222/199 f 201/222/199 11/11/11 202/223/200 f 11/11/11 12/12/12 202/223/200 f 202/223/200 12/12/12 13/13/13 f 202/223/200 13/13/13 203/224/201 f 13/13/13 204/225/202 203/224/201 f 13/13/13 14/14/14 204/225/202 f 14/14/14 205/226/203 204/225/202 f 14/14/14 206/227/204 205/226/203 f 15/15/15 206/227/204 14/14/14 f 15/15/15 207/228/205 206/227/204 f 17/17/17 207/228/205 15/15/15 f 17/17/17 208/229/206 207/228/205 f 17/17/17 209/230/207 208/229/206 f 19/19/19 209/230/207 17/17/17 f 19/19/19 210/231/208 209/230/207 f 19/19/19 211/232/209 210/231/208 f 22/22/22 211/232/209 19/19/19 f 22/22/22 212/233/210 211/232/209 f 22/22/22 24/24/24 212/233/210 f 30/30/30 212/233/210 24/24/24 f 213/234/211 212/233/210 30/30/30 f 214/235/212 212/233/210 213/234/211 f 214/235/212 215/236/213 212/233/210 f 216/237/214 215/236/213 214/235/212 f 216/237/214 217/238/215 215/236/213 f 216/237/214 218/239/216 217/238/215 f 219/240/217 218/239/216 216/237/214 f 219/240/217 220/241/218 218/239/216 f 221/242/219 220/241/218 219/240/217 f 221/242/219 222/243/220 220/241/218 f 223/244/221 222/243/220 221/242/219 f 224/245/222 222/243/220 223/244/221 f 224/245/222 225/246/223 222/243/220 f 224/245/222 226/247/224 225/246/223 f 227/248/225 226/247/224 224/245/222 f 228/249/226 227/248/225 224/245/222 f 228/249/226 224/245/222 229/250/227 f 229/250/227 224/245/222 230/251/228 f 230/251/228 224/245/222 223/244/221 f 230/251/228 223/244/221 231/252/229 f 231/252/229 223/244/221 221/242/219 f 231/252/229 221/242/219 232/253/230 f 232/253/230 221/242/219 219/240/217 f 232/253/230 219/240/217 233/254/231 f 233/254/231 219/240/217 216/237/214 f 233/254/231 216/237/214 234/255/232 f 234/255/232 216/237/214 214/235/212 f 234/255/232 214/235/212 235/256/233 f 235/256/233 214/235/212 213/234/211 f 235/256/233 213/234/211 31/31/31 f 31/31/31 213/234/211 30/30/30 f 33/33/33 235/256/233 31/31/31 f 236/257/234 235/256/233 33/33/33 f 237/258/235 235/256/233 236/257/234 f 237/258/235 234/255/232 235/256/233 f 238/259/236 234/255/232 237/258/235 f 238/259/236 233/254/231 234/255/232 f 238/259/236 232/253/230 233/254/231 f 239/260/237 232/253/230 238/259/236 f 239/260/237 231/252/229 232/253/230 f 240/261/238 231/252/229 239/260/237 f 240/261/238 230/251/228 231/252/229 f 241/262/239 230/251/228 240/261/238 f 241/262/239 229/250/227 230/251/228 f 242/263/240 229/250/227 241/262/239 f 242/263/240 228/249/226 229/250/227 f 243/264/241 228/249/226 242/263/240 f 244/265/242 243/264/241 242/263/240 f 244/265/242 245/266/243 243/264/241 f 244/265/242 246/267/244 245/266/243 f 247/268/245 246/267/244 244/265/242 f 247/268/245 248/269/246 246/267/244 f 249/270/247 248/269/246 247/268/245 f 249/270/247 250/271/248 248/269/246 f 251/272/249 250/271/248 249/270/247 f 251/272/249 252/273/250 250/271/248 f 253/274/251 252/273/250 251/272/249 f 253/275/251 254/276/252 252/277/250 f 255/278/253 254/276/252 253/275/251 f 255/278/253 256/279/254 254/276/252 f 255/278/253 257/280/255 256/279/254 f 258/281/256 257/280/255 255/278/253 f 199/220/197 257/280/255 258/281/256 f 199/220/197 200/221/198 257/280/255 f 257/280/255 200/221/198 259/282/257 f 259/282/257 200/221/198 260/283/258 f 200/221/198 201/222/199 260/283/258 f 201/222/199 261/284/259 260/283/258 f 201/222/199 202/223/200 261/284/259 f 202/223/200 203/224/201 261/284/259 f 261/284/259 203/224/201 262/285/260 f 203/224/201 263/286/261 262/285/260 f 203/224/201 204/225/202 263/286/261 f 204/225/202 264/287/262 263/286/261 f 205/226/203 264/287/262 204/225/202 f 205/226/203 265/288/263 264/287/262 f 205/226/203 266/289/264 265/288/263 f 206/227/204 266/289/264 205/226/203 f 206/227/204 267/290/265 266/289/264 f 207/228/205 267/290/265 206/227/204 f 207/228/205 208/229/206 267/290/265 f 208/229/206 268/291/266 267/290/265 f 210/231/208 268/291/266 208/229/206 f 210/231/208 217/238/215 268/291/266 f 210/231/208 215/236/213 217/238/215 f 211/232/209 215/236/213 210/231/208 f 211/232/209 212/233/210 215/236/213 f 268/291/266 217/238/215 269/292/267 f 217/238/215 218/239/216 269/292/267 f 269/292/267 218/239/216 270/293/268 f 218/239/216 220/241/218 270/293/268 f 270/293/268 220/241/218 271/294/269 f 220/241/218 222/243/220 271/294/269 f 271/294/269 222/243/220 225/246/223 f 271/294/269 225/246/223 272/295/270 f 272/295/270 225/246/223 273/296/271 f 225/246/223 226/247/224 273/296/271 f 272/295/270 273/296/271 274/297/272 f 275/298/273 272/295/270 274/297/272 f 271/294/269 272/295/270 275/298/273 f 276/299/274 271/294/269 275/298/273 f 270/293/268 271/294/269 276/299/274 f 277/300/275 270/293/268 276/299/274 f 269/292/267 270/293/268 277/300/275 f 267/290/265 269/292/267 277/300/275 f 268/291/266 269/292/267 267/290/265 f 267/290/265 277/300/275 278/301/276 f 278/301/276 277/300/275 279/302/277 f 277/300/275 276/299/274 279/302/277 f 279/302/277 276/299/274 280/303/278 f 276/299/274 275/298/273 280/303/278 f 280/303/278 275/298/273 274/297/272 f 280/303/278 274/297/272 281/304/279 f 280/303/278 281/304/279 282/305/280 f 283/306/281 280/303/278 282/305/280 f 279/302/277 280/303/278 283/306/281 f 265/288/263 279/302/277 283/306/281 f 278/301/276 279/302/277 265/288/263 f 266/289/264 278/301/276 265/288/263 f 267/290/265 278/301/276 266/289/264 f 264/287/262 265/288/263 283/306/281 f 264/287/262 283/306/281 284/307/282 f 284/307/282 283/306/281 285/308/283 f 283/306/281 282/305/280 285/308/283 f 284/307/282 285/308/283 286/309/284 f 286/309/284 285/308/283 287/310/285 f 288/311/286 286/309/284 287/310/285 f 263/286/261 286/309/284 288/311/286 f 264/287/262 286/309/284 263/286/261 f 264/287/262 284/307/282 286/309/284 f 262/285/260 263/286/261 288/311/286 f 289/312/287 262/285/260 288/311/286 f 261/284/259 262/285/260 289/312/287 f 260/283/258 261/284/259 289/312/287 f 260/283/258 289/312/287 290/313/288 f 290/313/288 289/312/287 291/314/289 f 289/312/287 288/311/286 291/314/289 f 291/314/289 288/311/286 292/315/290 f 292/315/290 288/311/286 293/316/291 f 288/311/286 287/310/285 293/316/291 f 294/317/292 291/314/289 292/315/290 f 290/313/288 291/314/289 294/317/292 f 295/318/293 290/313/288 294/317/292 f 296/319/294 290/313/288 295/318/293 f 259/282/257 290/313/288 296/319/294 f 259/282/257 260/283/258 290/313/288 f 259/282/257 296/319/294 297/320/295 f 297/320/295 296/319/294 295/318/293 f 297/320/295 295/318/293 298/321/296 f 298/321/296 295/318/293 299/322/297 f 295/318/293 300/323/298 299/322/297 f 300/323/298 295/318/293 301/324/299 f 295/318/293 294/317/292 301/324/299 f 301/324/299 294/317/292 292/315/290 f 298/321/296 299/322/297 302/325/300 f 303/326/301 298/321/296 302/325/300 f 297/320/295 298/321/296 303/326/301 f 297/320/295 303/326/301 304/327/302 f 304/327/302 303/326/301 250/328/248 f 250/328/248 303/326/301 305/329/303 f 303/326/301 302/325/300 305/329/303 f 250/271/248 305/330/303 248/269/246 f 252/277/250 304/327/302 250/328/248 f 254/276/252 304/327/302 252/277/250 f 254/276/252 256/279/254 304/327/302 f 256/279/254 297/320/295 304/327/302 f 256/279/254 259/282/257 297/320/295 f 257/280/255 259/282/257 256/279/254 f 209/230/207 210/231/208 208/229/206 f 198/219/196 199/220/197 258/281/256 f 198/331/196 258/332/256 306/333/304 f 258/332/256 307/334/305 306/333/304 f 258/332/256 255/335/253 307/334/305 f 255/335/253 308/336/306 307/334/305 f 255/335/253 309/337/307 308/336/306 f 255/335/253 253/274/251 309/337/307 f 253/274/251 251/272/249 309/337/307 f 309/337/307 251/272/249 308/336/306 f 308/336/306 251/272/249 310/338/308 f 251/272/249 249/270/247 310/338/308 f 310/338/308 249/270/247 247/268/245 f 310/338/308 247/268/245 244/265/242 f 310/338/308 244/265/242 311/339/309 f 244/265/242 241/262/239 311/339/309 f 241/262/239 244/265/242 242/263/240 f 311/339/309 241/262/239 312/340/310 f 312/340/310 241/262/239 240/261/238 f 312/340/310 240/261/238 313/341/311 f 313/341/311 240/261/238 239/260/237 f 313/341/311 239/260/237 314/342/312 f 314/342/312 239/260/237 238/259/236 f 314/342/312 238/259/236 237/258/235 f 314/342/312 237/258/235 315/343/313 f 315/343/313 237/258/235 236/257/234 f 315/343/313 236/257/234 316/344/314 f 316/344/314 236/257/234 35/35/35 f 35/35/35 236/257/234 33/33/33 f 317/345/315 316/344/314 35/35/35 f 317/345/315 318/346/316 316/344/314 f 319/347/317 318/346/316 317/345/315 f 319/347/317 320/348/318 318/346/316 f 319/349/317 197/218/195 320/350/318 f 196/217/194 197/218/195 319/349/317 f 194/215/192 196/217/194 319/349/317 f 194/215/192 195/216/193 196/217/194 f 321/351/319 194/215/192 319/349/317 f 322/352/320 194/215/192 321/351/319 f 322/352/320 193/214/191 194/215/192 f 323/353/321 193/214/191 322/352/320 f 323/353/321 324/354/322 193/214/191 f 325/355/323 324/354/322 323/353/321 f 325/355/323 183/204/181 324/354/322 f 182/203/180 183/204/181 325/355/323 f 182/203/180 325/355/323 326/356/324 f 44/44/44 326/357/324 325/358/323 f 46/46/46 326/357/324 44/44/44 f 46/46/46 50/50/50 326/357/324 f 327/359/325 326/356/324 50/360/50 f 327/359/325 182/203/180 326/356/324 f 180/200/178 182/203/180 327/359/325 f 328/361/326 180/200/178 327/359/325 f 179/199/177 180/200/178 328/361/326 f 179/199/177 328/361/326 329/362/327 f 328/361/326 330/363/328 329/362/327 f 330/363/328 328/361/326 327/359/325 f 53/54/53 330/363/328 327/359/325 f 54/56/54 330/363/328 53/54/53 f 330/363/328 54/56/54 331/364/329 f 54/56/54 56/58/56 331/364/329 f 56/58/56 332/365/330 331/364/329 f 56/58/56 58/60/58 332/365/330 f 332/365/330 58/60/58 333/366/331 f 62/64/60 63/65/61 348/367/332 f 348/367/332 63/65/61 349/368/333 f 63/65/61 65/67/63 349/368/333 f 63/65/61 64/66/62 65/67/63 f 65/67/63 350/369/334 349/368/333 f 65/67/63 66/68/64 350/369/334 f 350/370/334 66/371/64 351/372/335 f 66/371/64 67/373/65 351/372/335 f 351/372/335 67/373/65 352/374/336 f 352/374/336 67/373/65 353/375/337 f 67/69/65 68/70/66 353/376/337 f 68/70/66 354/377/338 353/376/337 f 68/70/66 69/71/67 354/377/338 f 354/377/338 69/71/67 355/378/339 f 69/71/67 356/379/340 355/378/339 f 69/71/67 70/72/68 356/379/340 f 357/380/341 356/379/340 70/72/68 f 356/381/340 357/382/341 358/383/342 f 358/383/342 357/382/341 359/384/343 f 357/382/341 360/385/344 359/384/343 f 357/382/341 103/386/101 360/385/344 f 71/73/69 103/105/101 357/380/341 f 71/73/69 72/74/70 103/105/101 f 70/72/68 71/73/69 357/380/341 f 360/387/344 103/388/101 361/389/345 f 103/388/101 104/390/102 361/389/345 f 362/391/346 361/389/345 104/390/102 f 362/391/346 363/392/347 361/389/345 f 362/391/346 364/393/348 363/392/347 f 365/394/349 364/393/348 362/391/346 f 366/395/350 364/393/348 365/394/349 f 367/396/351 364/393/348 366/395/350 f 367/396/351 368/397/352 364/393/348 f 369/398/353 368/397/352 367/396/351 f 370/167/354 368/170/352 369/171/353 f 371/168/355 368/170/352 370/167/354 f 363/392/347 368/397/352 371/399/355 f 363/392/347 364/393/348 368/397/352 f 372/400/356 363/392/347 371/399/355 f 360/387/344 363/392/347 372/400/356 f 360/387/344 361/389/345 363/392/347 f 373/401/357 360/385/344 372/402/356 f 373/401/357 359/384/343 360/385/344 f 358/383/342 359/384/343 373/401/357 f 358/383/342 373/401/357 374/403/358 f 374/403/358 373/401/357 375/404/359 f 375/404/359 373/401/357 376/405/360 f 373/401/357 372/402/356 376/405/360 f 376/406/360 372/400/356 371/399/355 f 376/169/360 371/168/355 370/167/354 f 375/187/359 376/169/360 370/167/354 f 375/187/359 370/167/354 377/186/361 f 377/186/361 370/167/354 378/185/362 f 378/185/362 370/167/354 379/184/363 f 370/167/354 380/183/364 379/184/363 f 370/167/354 369/171/353 380/183/364 f 380/407/364 369/398/353 381/408/365 f 381/408/365 369/398/353 367/396/351 f 381/408/365 367/396/351 366/395/350 f 381/408/365 366/395/350 382/409/366 f 382/409/366 366/395/350 383/410/367 f 366/395/350 365/394/349 383/410/367 f 383/410/367 365/394/349 384/411/368 f 365/394/349 385/412/369 384/411/368 f 385/412/369 365/394/349 386/413/370 f 362/391/346 386/413/370 365/394/349 f 104/390/102 386/413/370 362/391/346 f 104/106/102 105/107/103 386/414/370 f 386/414/370 105/107/103 387/415/371 f 105/107/103 388/416/372 387/415/371 f 105/107/103 106/108/104 388/416/372 f 106/108/104 108/110/106 388/416/372 f 389/417/373 388/416/372 108/110/106 f 389/417/373 387/415/371 388/416/372 f 387/415/371 389/417/373 390/418/374 f 390/418/374 389/417/373 391/419/375 f 389/417/373 108/110/106 391/419/375 f 391/419/375 108/110/106 109/111/107 f 391/419/375 109/111/107 110/112/108 f 391/419/375 110/112/108 392/420/376 f 392/420/376 110/112/108 393/421/377 f 393/421/377 110/112/108 111/113/109 f 393/421/377 111/113/109 112/114/110 f 393/421/377 112/114/110 394/422/378 f 394/422/378 112/114/110 395/423/379 f 395/423/379 112/114/110 113/115/111 f 395/423/379 113/115/111 114/116/112 f 395/423/379 114/116/112 396/424/380 f 396/424/380 114/116/112 397/425/381 f 397/425/381 114/116/112 123/125/121 f 397/425/381 123/125/121 124/126/122 f 397/425/381 124/126/122 398/426/382 f 398/426/382 124/126/122 129/131/127 f 129/131/127 124/126/122 125/127/123 f 130/132/128 398/426/382 129/131/127 f 130/132/128 399/427/383 398/426/382 f 400/428/384 399/427/383 130/132/128 f 401/429/385 399/427/383 400/428/384 f 401/429/385 402/430/386 399/427/383 f 401/429/385 403/431/387 402/430/386 f 401/429/385 404/432/388 403/431/387 f 405/433/389 404/432/388 401/429/385 f 405/433/389 406/434/390 404/432/388 f 407/435/391 406/434/390 405/433/389 f 407/435/391 408/436/392 406/434/390 f 407/435/391 409/437/393 408/436/392 f 410/438/394 409/437/393 407/435/391 f 410/438/394 411/439/395 409/437/393 f 412/440/396 411/439/395 410/438/394 f 412/440/396 413/441/397 411/439/395 f 471/442/398 412/440/396 410/438/394 f 471/442/398 410/438/394 472/443/399 f 472/443/399 410/438/394 407/435/391 f 472/443/399 407/435/391 473/444/400 f 473/444/400 407/435/391 405/433/389 f 405/433/389 474/445/401 473/444/400 f 475/446/402 474/445/401 405/433/389 f 475/447/402 331/364/329 474/448/401 f 475/447/402 330/363/328 331/364/329 f 329/362/327 330/363/328 475/447/402 f 329/449/327 475/446/402 405/433/389 f 329/449/327 405/433/389 476/450/403 f 405/433/389 400/428/384 476/450/403 f 405/433/389 401/429/385 400/428/384 f 476/450/403 400/428/384 477/451/404 f 400/428/384 130/132/128 477/451/404 f 132/134/130 477/451/404 130/132/128 f 134/452/132 477/451/404 132/134/130 f 134/452/132 478/453/405 477/451/404 f 478/453/405 134/452/132 135/454/133 f 479/455/406 478/453/405 135/454/133 f 479/455/406 480/456/407 478/453/405 f 479/457/406 165/198/163 480/458/407 f 165/178/163 479/459/406 163/176/161 f 163/176/161 479/459/406 135/139/133 f 163/176/161 135/139/133 136/140/134 f 165/198/163 179/199/177 480/458/407 f 480/458/407 179/199/177 329/362/327 f 480/456/407 329/449/327 476/450/403 f 480/456/407 476/450/403 478/453/405 f 476/450/403 477/451/404 478/453/405 f 331/364/329 332/365/330 474/448/401 f 332/365/330 481/460/408 474/448/401 f 332/365/330 333/366/331 481/460/408 f 481/461/408 333/462/331 482/463/409 f 349/368/333 502/464/410 348/367/332 f 349/368/333 503/465/411 502/464/410 f 349/368/333 350/369/334 503/465/411 f 350/370/334 504/466/412 503/467/411 f 350/370/334 505/468/413 504/466/412 f 505/468/413 350/370/334 351/372/335 f 506/469/414 505/468/413 351/372/335 f 505/468/413 506/469/414 504/466/412 f 504/466/412 506/469/414 507/470/415 f 507/470/415 506/469/414 508/471/416 f 506/469/414 509/472/417 508/471/416 f 506/469/414 510/473/418 509/472/417 f 351/372/335 510/473/418 506/469/414 f 351/372/335 511/474/419 510/473/418 f 351/372/335 512/475/420 511/474/419 f 351/372/335 513/476/421 512/475/420 f 351/372/335 352/374/336 513/476/421 f 513/476/421 352/374/336 514/477/422 f 352/374/336 515/478/423 514/477/422 f 352/374/336 353/375/337 515/478/423 f 353/375/337 516/479/424 515/478/423 f 353/376/337 354/377/338 516/480/424 f 354/481/338 382/409/366 516/482/424 f 517/483/425 382/409/366 354/481/338 f 517/483/425 381/408/365 382/409/366 f 518/484/426 381/408/365 517/483/425 f 518/484/426 380/407/364 381/408/365 f 379/485/363 380/407/364 518/484/426 f 518/484/426 378/486/362 379/485/363 f 518/484/426 519/487/427 378/486/362 f 520/488/428 519/487/427 518/484/426 f 520/488/428 374/403/358 519/487/427 f 520/488/428 358/383/342 374/403/358 f 355/489/339 358/383/342 520/488/428 f 355/489/339 356/381/340 358/383/342 f 355/489/339 520/488/428 517/483/425 f 517/483/425 520/488/428 518/484/426 f 354/481/338 355/489/339 517/483/425 f 519/487/427 374/403/358 377/490/361 f 377/490/361 374/403/358 375/404/359 f 519/487/427 377/490/361 378/486/362 f 382/409/366 383/410/367 516/482/424 f 515/478/423 516/479/424 383/491/367 f 515/478/423 383/491/367 384/492/368 f 515/478/423 384/492/368 514/477/422 f 514/477/422 384/492/368 385/493/369 f 385/493/369 387/415/371 514/477/422 f 386/414/370 387/415/371 385/493/369 f 513/476/421 514/477/422 387/415/371 f 513/476/421 387/415/371 390/418/374 f 513/476/421 390/418/374 512/475/420 f 512/475/420 390/418/374 521/494/429 f 521/494/429 390/418/374 391/419/375 f 521/494/429 391/419/375 522/495/430 f 522/495/430 391/419/375 392/420/376 f 522/495/430 392/420/376 393/421/377 f 522/495/430 393/421/377 523/496/431 f 524/497/432 523/496/431 393/421/377 f 524/497/432 522/495/430 523/496/431 f 511/474/419 522/495/430 524/497/432 f 512/475/420 522/495/430 511/474/419 f 512/475/420 521/494/429 522/495/430 f 510/473/418 511/474/419 524/497/432 f 510/473/418 524/497/432 509/472/417 f 509/472/417 524/497/432 525/498/433 f 525/498/433 524/497/432 526/499/434 f 524/497/432 394/422/378 526/499/434 f 524/497/432 393/421/377 394/422/378 f 527/500/435 526/499/434 394/422/378 f 525/498/433 526/499/434 527/500/435 f 525/498/433 527/500/435 408/436/392 f 406/434/390 408/436/392 527/500/435 f 406/434/390 527/500/435 404/432/388 f 404/432/388 527/500/435 403/431/387 f 527/500/435 528/501/436 403/431/387 f 527/500/435 395/423/379 528/501/436 f 527/500/435 394/422/378 395/423/379 f 403/431/387 528/501/436 395/423/379 f 403/431/387 395/423/379 396/424/380 f 403/431/387 396/424/380 397/425/381 f 403/431/387 397/425/381 402/430/386 f 402/430/386 397/425/381 399/427/383 f 399/427/383 397/425/381 398/426/382 f 409/437/393 525/498/433 408/436/392 f 529/502/437 525/498/433 409/437/393 f 508/471/416 525/498/433 529/502/437 f 508/471/416 509/472/417 525/498/433 f 530/503/438 508/471/416 529/502/437 f 507/470/415 508/471/416 530/503/438 f 531/504/439 507/470/415 530/503/438 f 532/505/440 507/470/415 531/504/439 f 504/466/412 507/470/415 532/505/440 f 504/466/412 532/505/440 533/506/441 f 482/463/409 471/442/398 472/443/399 f 481/461/408 482/463/409 472/443/399 f 474/445/401 481/461/408 472/443/399 f 474/445/401 472/443/399 473/444/400 f 503/467/411 533/506/441 502/507/410 f 503/467/411 504/466/412 533/506/441 f 531/504/439 530/503/438 413/441/397 f 413/441/397 530/503/438 1146/508/442 f 530/503/438 529/502/437 1146/508/442 f 411/439/395 1146/508/442 529/502/437 f 413/441/397 1146/508/442 411/439/395 f 411/439/395 529/502/437 409/437/393 f 53/54/53 327/359/325 50/360/50 f 51/55/51 53/54/53 50/360/50 f 44/44/44 325/358/323 42/42/42 f 42/42/42 325/358/323 40/40/40 f 325/358/323 323/509/321 40/40/40 f 40/40/40 323/509/321 38/38/38 f 323/509/321 322/510/320 38/38/38 f 38/38/38 322/510/320 36/36/36 f 322/510/320 321/511/319 36/36/36 f 36/36/36 321/511/319 319/347/317 f 36/36/36 319/347/317 317/345/315 f 36/36/36 317/345/315 35/35/35 f 184/205/182 324/354/322 183/204/181 f 184/205/182 185/206/183 324/354/322 f 185/206/183 193/214/191 324/354/322 f 197/218/195 198/219/196 320/350/318 f 320/348/318 198/331/196 318/346/316 f 318/346/316 198/331/196 1147/512/443 f 198/331/196 306/333/304 1147/512/443 f 1147/512/443 306/333/304 314/342/312 f 306/333/304 313/341/311 314/342/312 f 306/333/304 307/334/305 313/341/311 f 307/334/305 312/340/310 313/341/311 f 307/334/305 308/336/306 312/340/310 f 308/336/306 310/338/308 312/340/310 f 312/340/310 310/338/308 311/339/309 f 1147/512/443 314/342/312 315/343/313 f 316/344/314 1147/512/443 315/343/313 f 318/346/316 1147/512/443 316/344/314 f 30/30/30 24/24/24 28/28/28 f 28/28/28 24/24/24 25/25/25 f 4/4/4 84/86/82 2/2/2 f 171/192/169 168/181/166 170/513/168 f 170/513/168 168/181/166 169/182/167 f 137/141/135 1148/514/444 159/173/157 f 137/141/135 138/142/136 1148/514/444 f 1148/514/444 138/142/136 149/515/147 f 149/515/147 138/142/136 139/143/137 f 149/154/147 139/144/137 140/145/138 f 152/516/150 1148/514/444 149/515/147 f 155/166/153 1148/514/444 152/516/150 f 157/165/155 1148/514/444 155/166/153 f 159/173/157 1148/514/444 157/165/155 f 141/146/139 142/147/140 144/149/142 g mesh1.002_mesh1-geometry__02_-_Default1noCulli__02_-_Default1noCulli usemtl _02_-_Default1noCulli__02_-_Default1noCulli f 57/517/57 59/518/445 58/519/58 f 59/518/445 57/517/57 60/520/446 f 60/520/446 57/517/57 61/521/59 f 58/519/58 334/522/447 333/523/331 f 59/518/445 334/522/447 58/519/58 f 59/518/445 335/524/448 334/522/447 f 59/518/445 336/525/449 335/524/448 f 337/526/450 336/525/449 59/518/445 f 338/527/451 336/525/449 337/526/450 f 338/527/451 339/528/452 336/525/449 f 338/527/451 340/529/453 339/528/452 f 340/529/453 338/527/451 341/530/454 f 341/530/454 338/527/451 342/531/455 f 338/527/451 337/526/450 342/531/455 f 342/531/455 337/526/450 343/532/456 f 337/526/450 59/518/445 343/532/456 f 343/532/456 59/518/445 60/520/446 f 343/532/456 60/520/446 344/533/457 f 344/533/457 60/520/446 345/534/458 f 60/520/446 61/521/59 345/534/458 f 345/534/458 61/521/59 346/520/459 f 346/520/459 61/521/59 62/535/60 f 346/520/459 62/535/60 347/518/460 f 347/518/460 62/535/60 348/519/332 f 412/536/396 414/537/461 413/538/397 f 415/539/462 414/537/461 412/536/396 f 415/539/462 416/540/463 414/537/461 f 417/541/464 416/540/463 415/539/462 f 417/541/464 418/542/465 416/540/463 f 417/541/464 419/543/466 418/542/465 f 417/541/464 420/544/467 419/543/466 f 417/541/464 421/545/468 420/544/467 f 422/546/469 421/545/468 417/541/464 f 422/546/469 423/547/470 421/545/468 f 424/548/471 423/547/470 422/546/469 f 424/548/471 425/549/472 423/547/470 f 426/550/473 425/549/472 424/548/471 f 426/550/473 427/551/474 425/549/472 f 428/552/475 427/551/474 426/550/473 f 429/553/476 427/551/474 428/552/475 f 429/553/476 430/554/477 427/551/474 f 429/553/476 431/555/478 430/554/477 f 432/556/479 431/555/478 429/553/476 f 432/556/479 433/557/480 431/555/478 f 434/558/481 433/559/480 432/560/479 f 434/558/481 435/561/482 433/559/480 f 435/561/482 434/558/481 436/562/483 f 436/562/483 434/558/481 437/563/484 f 434/558/481 438/564/485 437/563/484 f 438/564/485 434/558/481 432/560/479 f 432/560/479 439/565/486 438/564/485 f 440/566/487 439/565/486 432/560/479 f 441/567/488 439/565/486 440/566/487 f 442/568/489 439/565/486 441/567/488 f 438/564/485 439/565/486 442/568/489 f 443/569/490 438/564/485 442/568/489 f 443/569/490 437/563/484 438/564/485 f 444/570/491 437/563/484 443/569/490 f 444/570/491 445/571/492 437/563/484 f 446/572/493 445/571/492 444/570/491 f 446/572/493 447/573/494 445/571/492 f 448/574/495 447/573/494 446/572/493 f 447/573/494 448/574/495 449/575/496 f 448/574/495 450/576/497 449/575/496 f 448/574/495 451/577/498 450/576/497 f 452/578/499 451/577/498 448/574/495 f 453/579/500 451/577/498 452/578/499 f 453/579/500 454/580/501 451/577/498 f 453/579/500 455/581/502 454/580/501 f 456/582/503 455/581/502 453/579/500 f 455/581/502 456/582/503 457/583/504 f 457/583/504 456/582/503 458/584/505 f 456/582/503 459/585/506 458/584/505 f 453/579/500 459/585/506 456/582/503 f 459/585/506 453/579/500 452/578/499 f 459/585/506 452/578/499 460/586/507 f 452/578/499 448/574/495 460/586/507 f 448/574/495 446/572/493 460/586/507 f 459/585/506 460/586/507 446/572/493 f 461/587/508 459/585/506 446/572/493 f 458/584/505 459/585/506 461/587/508 f 458/584/505 461/587/508 462/588/509 f 461/587/508 446/572/493 462/588/509 f 462/588/509 446/572/493 444/570/491 f 462/588/509 444/570/491 463/589/510 f 463/589/510 444/570/491 443/569/490 f 463/589/510 443/569/490 464/590/511 f 443/569/490 442/568/489 464/590/511 f 464/590/511 442/568/489 441/567/488 f 464/590/511 441/567/488 440/566/487 f 464/590/511 440/566/487 465/591/512 f 465/592/512 440/593/487 466/594/513 f 440/593/487 432/556/479 466/594/513 f 466/594/513 432/556/479 429/553/476 f 466/594/513 429/553/476 428/552/475 f 466/594/513 428/552/475 467/595/514 f 467/595/514 428/552/475 426/550/473 f 467/595/514 426/550/473 468/596/515 f 468/596/515 426/550/473 424/548/471 f 468/596/515 424/548/471 469/597/516 f 469/597/516 424/548/471 422/546/469 f 469/597/516 422/546/469 470/598/517 f 422/546/469 417/541/464 470/598/517 f 470/598/517 417/541/464 415/539/462 f 470/598/517 415/539/462 412/599/396 f 470/598/517 412/536/396 471/600/398 f 333/523/331 483/601/518 482/602/409 f 333/523/331 484/603/519 483/601/518 f 334/522/447 484/603/519 333/523/331 f 334/522/447 485/604/520 484/603/519 f 334/522/447 486/605/521 485/604/520 f 335/524/448 486/605/521 334/522/447 f 336/525/449 486/605/521 335/524/448 f 336/525/449 487/606/522 486/605/521 f 336/525/449 488/607/523 487/606/522 f 339/528/452 488/607/523 336/525/449 f 339/528/452 489/608/524 488/607/523 f 340/529/453 489/608/524 339/528/452 f 340/529/453 490/609/525 489/608/524 f 490/609/525 340/529/453 491/610/526 f 491/610/526 340/529/453 341/530/454 f 491/610/526 341/530/454 492/611/527 f 492/611/527 341/530/454 493/612/528 f 341/530/454 494/613/529 493/612/528 f 341/530/454 342/531/455 494/613/529 f 342/531/455 344/533/457 494/613/529 f 342/531/455 343/532/456 344/533/457 f 494/613/529 344/533/457 495/531/530 f 495/531/530 344/533/457 496/532/531 f 344/533/457 346/520/459 496/532/531 f 344/533/457 345/534/458 346/520/459 f 496/532/531 346/520/459 347/518/460 f 497/526/532 496/532/531 347/518/460 f 495/531/530 496/532/531 497/526/532 f 495/531/530 497/526/532 498/527/533 f 497/526/532 499/525/534 498/527/533 f 499/525/534 497/526/532 347/518/460 f 347/518/460 500/524/535 499/525/534 f 347/518/460 501/522/536 500/524/535 f 347/518/460 348/519/332 501/522/536 f 348/519/332 502/523/410 501/522/536 f 532/614/440 534/615/537 533/616/441 f 531/617/439 534/615/537 532/618/440 f 531/617/439 535/619/538 534/615/537 f 414/537/461 535/619/538 531/617/439 f 414/537/461 416/540/463 535/619/538 f 416/540/463 536/620/539 535/619/538 f 416/540/463 537/621/540 536/620/539 f 416/540/463 538/622/541 537/621/540 f 418/542/465 538/622/541 416/540/463 f 418/542/465 539/623/542 538/622/541 f 419/543/466 539/623/542 418/542/465 f 540/624/543 539/623/542 419/543/466 f 540/624/543 541/625/544 539/623/542 f 542/626/545 541/625/544 540/624/543 f 542/626/545 543/627/546 541/625/544 f 544/628/547 543/627/546 542/626/545 f 544/628/547 545/629/548 543/627/546 f 544/628/547 546/630/549 545/629/548 f 544/628/547 547/631/550 546/630/549 f 548/632/551 547/631/550 544/628/547 f 548/632/551 549/633/552 547/631/550 f 550/634/553 549/633/552 548/632/551 f 551/635/554 549/633/552 550/634/553 f 551/635/554 552/636/555 549/633/552 f 551/635/554 553/637/556 552/636/555 f 554/638/557 553/637/556 551/635/554 f 554/638/557 555/639/558 553/637/556 f 556/640/559 555/639/558 554/638/557 f 556/640/559 557/641/560 555/639/558 f 556/640/559 558/642/561 557/641/560 f 559/643/562 558/642/561 556/640/559 f 560/644/563 559/643/562 556/640/559 f 560/644/563 556/640/559 561/645/564 f 561/645/564 556/640/559 562/646/565 f 556/640/559 554/638/557 562/646/565 f 562/646/565 554/638/557 563/647/566 f 563/647/566 554/638/557 564/648/567 f 554/638/557 550/634/553 564/648/567 f 550/634/553 554/638/557 551/635/554 f 564/648/567 550/634/553 565/649/568 f 550/634/553 566/650/569 565/649/568 f 550/634/553 548/632/551 566/650/569 f 548/632/551 542/626/545 566/650/569 f 548/632/551 544/628/547 542/626/545 f 566/650/569 542/626/545 540/624/543 f 566/650/569 540/624/543 567/651/570 f 567/651/570 540/624/543 419/543/466 f 420/544/467 567/651/570 419/543/466 f 420/544/467 568/652/571 567/651/570 f 421/545/468 568/652/571 420/544/467 f 423/547/470 568/652/571 421/545/468 f 423/547/470 569/653/572 568/652/571 f 425/549/472 569/653/572 423/547/470 f 425/549/472 570/654/573 569/653/572 f 427/551/474 570/654/573 425/549/472 f 427/551/474 571/655/574 570/654/573 f 427/551/474 430/554/477 571/655/574 f 430/554/477 572/656/575 571/655/574 f 573/657/576 572/656/575 430/554/477 f 573/657/576 574/658/577 572/656/575 f 573/657/576 575/659/578 574/658/577 f 573/657/576 576/660/579 575/659/578 f 577/661/580 576/660/579 573/657/576 f 577/661/580 578/662/581 576/660/579 f 579/663/582 578/662/581 577/661/580 f 579/663/582 580/664/583 578/662/581 f 579/663/582 581/665/584 580/664/583 f 582/666/585 581/665/584 579/663/582 f 582/666/585 583/667/586 581/665/584 f 584/668/587 583/667/586 582/666/585 f 584/668/587 585/669/588 583/667/586 f 586/670/589 585/669/588 584/668/587 f 586/670/589 584/668/587 489/608/524 f 489/608/524 584/668/587 587/671/590 f 587/671/590 584/668/587 588/672/591 f 588/672/591 584/668/587 582/666/585 f 588/672/591 582/666/585 589/673/592 f 589/673/592 582/666/585 590/674/593 f 590/674/593 582/666/585 577/661/580 f 582/666/585 579/663/582 577/661/580 f 590/674/593 577/661/580 431/555/478 f 431/555/478 577/661/580 573/657/576 f 431/555/478 573/657/576 430/554/477 f 591/675/594 590/674/593 431/555/478 f 591/675/594 589/673/592 590/674/593 f 449/575/496 589/676/592 591/677/594 f 449/575/496 450/576/497 589/676/592 f 450/576/497 592/678/595 589/676/592 f 450/576/497 593/679/596 592/678/595 f 451/577/498 593/679/596 450/576/497 f 451/577/498 594/680/597 593/679/596 f 454/580/501 594/680/597 451/577/498 f 454/580/501 595/681/598 594/680/597 f 455/581/502 595/681/598 454/580/501 f 595/681/598 455/581/502 587/682/590 f 455/581/502 457/583/504 587/682/590 f 489/608/524 587/671/590 457/683/504 f 489/608/524 457/683/504 488/607/523 f 457/583/504 458/584/505 488/684/523 f 488/684/523 458/584/505 596/685/599 f 458/584/505 462/588/509 596/685/599 f 462/588/509 463/589/510 596/685/599 f 488/684/523 596/685/599 463/589/510 f 488/684/523 463/589/510 487/686/522 f 487/686/522 463/589/510 464/590/511 f 487/686/522 464/590/511 465/591/512 f 487/606/522 465/592/512 486/605/521 f 486/605/521 465/592/512 597/687/600 f 465/592/512 466/594/513 597/687/600 f 597/687/600 466/594/513 467/595/514 f 597/687/600 467/595/514 483/601/518 f 483/601/518 467/595/514 598/688/601 f 467/595/514 468/596/515 598/688/601 f 598/688/601 468/596/515 469/597/516 f 598/688/601 469/597/516 470/598/517 f 482/689/409 598/688/601 470/598/517 f 483/601/518 598/688/601 482/690/409 f 482/689/409 470/598/517 471/691/398 f 484/603/519 597/687/600 483/601/518 f 484/603/519 485/604/520 597/687/600 f 485/604/520 486/605/521 597/687/600 f 595/681/598 587/682/590 599/692/602 f 587/682/590 600/693/603 599/692/602 f 587/682/590 588/694/591 600/693/603 f 588/694/591 592/678/595 600/693/603 f 588/694/591 589/676/592 592/678/595 f 600/693/603 592/678/595 593/679/596 f 599/692/602 600/693/603 593/679/596 f 599/692/602 593/679/596 594/680/597 f 595/681/598 599/692/602 594/680/597 f 449/575/496 591/677/594 601/695/604 f 591/677/594 433/559/480 601/695/604 f 591/675/594 431/555/478 433/557/480 f 601/695/604 433/559/480 602/696/605 f 602/696/605 433/559/480 435/561/482 f 435/561/482 601/695/604 602/696/605 f 601/695/604 435/561/482 603/697/606 f 603/697/606 435/561/482 445/571/492 f 445/571/492 435/561/482 436/562/483 f 445/571/492 436/562/483 437/563/484 f 447/573/494 603/697/606 445/571/492 f 449/575/496 603/697/606 447/573/494 f 449/575/496 601/695/604 603/697/606 f 490/609/525 586/670/589 489/608/524 f 585/669/588 604/698/607 583/667/586 f 583/667/586 604/698/607 605/699/608 f 604/698/607 606/700/609 605/699/608 f 604/698/607 607/701/610 606/700/609 f 608/702/611 606/700/609 607/701/610 f 608/702/611 609/703/612 606/700/609 f 608/702/611 610/704/613 609/703/612 f 608/702/611 611/705/614 610/704/613 f 612/706/615 611/705/614 608/702/611 f 607/701/610 612/706/615 608/702/611 f 611/705/614 613/707/616 610/704/613 f 611/705/614 614/708/617 613/707/616 f 614/708/617 615/709/618 613/707/616 f 613/707/616 615/709/618 616/710/619 f 616/710/619 615/709/618 617/711/620 f 615/709/618 618/712/621 617/711/620 f 619/713/622 617/711/620 618/712/621 f 619/713/622 620/714/623 617/711/620 f 621/715/624 620/714/623 619/713/622 f 621/715/624 622/716/625 620/714/623 f 623/717/626 622/716/625 621/715/624 f 623/717/626 624/718/627 622/716/625 f 625/719/628 624/718/627 623/717/626 f 625/719/628 626/720/629 624/718/627 f 625/719/628 627/721/630 626/720/629 f 628/722/631 627/721/630 625/719/628 f 628/722/631 629/723/632 627/721/630 f 630/724/633 629/723/632 628/722/631 f 630/724/633 631/725/634 629/723/632 f 632/695/635 631/559/634 630/677/633 f 632/695/635 633/696/636 631/559/634 f 632/695/635 634/561/637 633/696/636 f 632/695/635 635/697/638 634/561/637 f 636/575/639 635/697/638 632/695/635 f 637/573/640 635/697/638 636/575/639 f 637/573/640 638/571/641 635/697/638 f 639/572/642 638/571/641 637/573/640 f 639/572/642 640/570/643 638/571/641 f 641/588/644 640/570/643 639/572/642 f 642/589/645 640/570/643 641/588/644 f 640/570/643 642/589/645 643/569/646 f 642/589/645 644/590/647 643/569/646 f 645/686/648 644/590/647 642/589/645 f 645/686/648 646/591/649 644/590/647 f 645/726/648 647/727/650 646/728/649 f 499/525/534 647/605/650 645/606/648 f 499/525/534 500/524/535 647/605/650 f 500/524/535 501/522/536 647/605/650 f 501/522/536 648/604/651 647/605/650 f 501/522/536 649/603/652 648/604/651 f 501/522/536 502/523/410 649/603/652 f 502/729/410 650/730/653 649/731/652 f 502/729/410 533/616/441 650/730/653 f 650/730/653 533/616/441 651/732/654 f 533/616/441 534/615/537 651/732/654 f 534/615/537 652/733/655 651/732/654 f 534/615/537 653/734/656 652/733/655 f 536/620/539 653/734/656 534/615/537 f 536/620/539 654/735/657 653/734/656 f 536/620/539 655/736/658 654/735/657 f 656/737/659 655/736/658 536/620/539 f 655/736/658 656/737/659 657/738/660 f 657/738/660 656/737/659 658/739/661 f 658/739/661 656/737/659 659/740/662 f 659/740/662 656/737/659 537/621/540 f 537/621/540 656/737/659 536/620/539 f 538/622/541 659/740/662 537/621/540 f 538/622/541 660/741/663 659/740/662 f 539/623/542 660/741/663 538/622/541 f 661/742/664 660/741/663 539/623/542 f 661/742/664 659/740/662 660/741/663 f 662/743/665 659/740/662 661/742/664 f 659/740/662 662/743/665 658/739/661 f 545/629/548 658/739/661 662/743/665 f 663/744/666 658/739/661 545/629/548 f 657/738/660 658/739/661 663/744/666 f 664/745/667 657/738/660 663/744/666 f 665/746/668 657/738/660 664/745/667 f 655/736/658 657/738/660 665/746/668 f 654/735/657 655/736/658 665/746/668 f 666/747/669 654/735/657 665/746/668 f 654/735/657 666/747/669 653/734/656 f 653/734/656 666/747/669 667/748/670 f 667/748/670 666/747/669 668/749/671 f 668/749/671 666/747/669 669/750/672 f 666/747/669 665/746/668 669/750/672 f 669/750/672 665/746/668 670/751/673 f 670/751/673 665/746/668 664/745/667 f 671/752/674 670/751/673 664/745/667 f 672/753/675 670/751/673 671/752/674 f 673/754/676 670/751/673 672/753/675 f 673/754/676 674/755/677 670/751/673 f 675/756/678 674/755/677 673/754/676 f 676/757/679 674/755/677 675/756/678 f 676/757/679 677/758/680 674/755/677 f 678/759/681 677/758/680 676/757/679 f 678/759/681 668/749/671 677/758/680 f 679/760/682 668/749/671 678/759/681 f 679/760/682 667/748/670 668/749/671 f 667/748/670 679/760/682 680/761/683 f 680/761/683 679/760/682 681/762/684 f 681/762/684 679/760/682 682/763/685 f 682/763/685 679/760/682 678/759/681 f 683/764/686 682/763/685 678/759/681 f 684/765/687 682/763/685 683/764/686 f 684/765/687 681/762/684 682/763/685 f 685/766/688 681/762/684 684/765/687 f 685/766/688 650/730/653 681/762/684 f 649/731/652 650/730/653 685/766/688 f 648/767/651 649/731/652 685/766/688 f 647/727/650 648/767/651 685/766/688 f 685/766/688 646/728/649 647/727/650 f 685/766/688 684/765/687 646/728/649 f 646/728/649 684/765/687 686/768/689 f 686/768/689 684/765/687 687/769/690 f 687/769/690 684/765/687 683/764/686 f 687/769/690 683/764/686 629/723/632 f 683/764/686 688/770/691 629/723/632 f 683/764/686 678/759/681 688/770/691 f 678/759/681 676/757/679 688/770/691 f 688/770/691 676/757/679 689/771/692 f 676/757/679 675/756/678 689/771/692 f 689/771/692 675/756/678 690/772/693 f 690/772/693 675/756/678 691/773/694 f 691/773/694 675/756/678 673/754/676 f 691/773/694 673/754/676 692/774/695 f 692/774/695 673/754/676 672/753/675 f 692/774/695 672/753/675 693/775/696 f 693/775/696 672/753/675 694/776/697 f 694/776/697 672/753/675 671/752/674 f 694/776/697 671/752/674 695/777/698 f 671/752/674 664/745/667 695/777/698 f 695/777/698 664/745/667 663/744/666 f 695/777/698 663/744/666 546/630/549 f 546/630/549 663/744/666 545/629/548 f 696/778/699 695/777/698 546/630/549 f 696/778/699 697/779/700 695/777/698 f 696/778/699 698/780/701 697/779/700 f 696/778/699 699/781/702 698/780/701 f 700/782/703 699/781/702 696/778/699 f 701/783/704 699/781/702 700/782/703 f 701/783/704 698/780/701 699/781/702 f 702/784/705 698/780/701 701/783/704 f 702/784/705 703/785/706 698/780/701 f 704/786/707 703/785/706 702/784/705 f 705/787/708 703/785/706 704/786/707 f 694/776/697 703/785/706 705/787/708 f 697/779/700 703/785/706 694/776/697 f 698/780/701 703/785/706 697/779/700 f 694/776/697 695/777/698 697/779/700 f 706/788/709 694/776/697 705/787/708 f 706/788/709 693/775/696 694/776/697 f 707/789/710 693/775/696 706/788/709 f 707/789/710 692/774/695 693/775/696 f 691/773/694 692/774/695 707/789/710 f 708/790/711 691/773/694 707/789/710 f 708/790/711 709/791/712 691/773/694 f 710/792/713 709/791/712 708/790/711 f 709/791/712 710/792/713 711/793/714 f 712/794/715 711/793/714 710/792/713 f 713/795/716 711/793/714 712/794/715 f 713/795/716 714/796/717 711/793/714 f 715/797/718 714/796/717 713/795/716 f 715/797/718 716/798/719 714/796/717 f 717/799/720 716/798/719 715/797/718 f 718/800/721 716/798/719 717/799/720 f 718/800/721 719/801/722 716/798/719 f 718/800/721 720/802/723 719/801/722 f 721/803/724 720/802/723 718/800/721 f 721/803/724 722/804/725 720/802/723 f 723/805/726 722/804/725 721/803/724 f 723/805/726 724/806/727 722/804/725 f 725/807/728 724/806/727 723/805/726 f 726/808/729 724/806/727 725/807/728 f 727/809/730 724/806/727 726/808/729 f 727/809/730 728/810/731 724/806/727 f 729/811/732 728/810/731 727/809/730 f 730/812/733 728/810/731 729/811/732 f 731/813/734 728/810/731 730/812/733 f 731/813/734 732/814/735 728/810/731 f 731/813/734 733/815/736 732/814/735 f 734/816/737 733/815/736 731/813/734 f 734/816/737 735/817/738 733/815/736 f 734/816/737 689/771/692 735/817/738 f 734/816/737 688/770/691 689/771/692 f 629/723/632 688/770/691 734/816/737 f 629/723/632 734/816/737 627/721/630 f 627/721/630 734/816/737 731/813/734 f 627/721/630 731/813/734 736/818/739 f 736/818/739 731/813/734 737/819/740 f 737/819/740 731/813/734 730/812/733 f 737/819/740 730/812/733 738/820/741 f 738/820/741 730/812/733 729/811/732 f 738/820/741 729/811/732 739/821/742 f 739/821/742 729/811/732 740/822/743 f 729/811/732 727/809/730 740/822/743 f 740/822/743 727/809/730 741/823/744 f 741/823/744 727/809/730 742/824/745 f 727/809/730 726/808/729 742/824/745 f 742/824/745 726/808/729 743/825/746 f 743/825/746 726/808/729 725/807/728 f 744/826/747 743/825/746 725/807/728 f 745/827/748 743/825/746 744/826/747 f 745/827/748 746/828/749 743/825/746 f 747/829/750 746/828/749 745/827/748 f 747/829/750 748/830/751 746/828/749 f 749/831/752 748/830/751 747/829/750 f 749/831/752 750/832/753 748/830/751 f 749/831/752 751/833/754 750/832/753 f 752/834/755 751/833/754 749/831/752 f 752/834/755 753/835/756 751/833/754 f 752/834/755 754/836/757 753/835/756 f 755/837/758 754/836/757 752/834/755 f 755/837/758 756/838/759 754/836/757 f 757/839/760 756/838/759 755/837/758 f 757/839/760 758/840/761 756/838/759 f 759/841/762 758/840/761 757/839/760 f 760/842/763 758/840/761 759/841/762 f 760/842/763 761/843/764 758/840/761 f 762/844/765 761/843/764 760/842/763 f 762/844/765 763/845/766 761/843/764 f 764/846/767 763/845/766 762/844/765 f 764/846/767 765/847/768 763/845/766 f 766/848/769 765/847/768 764/846/767 f 767/849/770 765/847/768 766/848/769 f 767/849/770 768/850/771 765/847/768 f 769/851/772 768/850/771 767/849/770 f 769/851/772 739/821/742 768/850/771 f 770/852/773 739/821/742 769/851/772 f 738/820/741 739/821/742 770/852/773 f 771/853/774 738/820/741 770/852/773 f 737/819/740 738/820/741 771/853/774 f 772/854/775 737/819/740 771/853/774 f 772/854/775 736/818/739 737/819/740 f 626/720/629 736/818/739 772/854/775 f 626/720/629 627/721/630 736/818/739 f 626/720/629 772/854/775 624/718/627 f 624/718/627 772/854/775 773/855/776 f 772/854/775 771/853/774 773/855/776 f 773/855/776 771/853/774 769/851/772 f 771/853/774 770/852/773 769/851/772 f 773/855/776 769/851/772 774/856/777 f 774/856/777 769/851/772 767/849/770 f 774/856/777 767/849/770 766/848/769 f 774/856/777 766/848/769 775/857/778 f 775/857/778 766/848/769 764/846/767 f 775/857/778 764/846/767 776/858/779 f 776/858/779 764/846/767 777/859/780 f 777/859/780 764/846/767 762/844/765 f 777/859/780 762/844/765 778/860/781 f 778/860/781 762/844/765 779/861/782 f 762/844/765 780/862/783 779/861/782 f 781/863/784 780/862/783 762/844/765 f 782/864/785 780/862/783 781/863/784 f 783/865/786 780/862/783 782/864/785 f 779/861/782 780/862/783 783/865/786 f 779/861/782 783/865/786 784/866/787 f 784/866/787 783/865/786 785/867/788 f 785/867/788 783/865/786 786/868/789 f 786/868/789 783/865/786 782/864/785 f 782/864/785 787/869/790 786/868/789 f 782/864/785 781/863/784 787/869/790 f 781/863/784 788/870/791 787/869/790 f 781/863/784 759/841/762 788/870/791 f 760/842/763 759/841/762 781/863/784 f 762/844/765 760/842/763 781/863/784 f 788/870/791 759/841/762 757/839/760 f 788/870/791 757/839/760 789/871/792 f 757/839/760 790/872/793 789/871/792 f 755/837/758 790/872/793 757/839/760 f 791/873/794 790/872/793 755/837/758 f 789/871/792 790/872/793 791/873/794 f 792/874/795 789/871/792 791/873/794 f 793/875/796 789/871/792 792/874/795 f 793/875/796 788/870/791 789/871/792 f 794/876/797 788/870/791 793/875/796 f 787/869/790 788/870/791 794/876/797 f 786/868/789 787/869/790 794/876/797 f 786/868/789 794/876/797 795/877/798 f 794/876/797 796/878/799 795/877/798 f 794/876/797 793/875/796 796/878/799 f 792/874/795 796/878/799 793/875/796 f 797/879/800 796/878/799 792/874/795 f 797/879/800 798/880/801 796/878/799 f 797/879/800 799/881/802 798/880/801 f 800/882/803 799/881/802 797/879/800 f 800/882/803 801/883/804 799/881/802 f 800/882/803 802/884/805 801/883/804 f 803/885/806 802/884/805 800/882/803 f 803/885/806 745/827/748 802/884/805 f 803/885/806 747/829/750 745/827/748 f 791/873/794 747/829/750 803/885/806 f 749/831/752 747/829/750 791/873/794 f 755/837/758 749/831/752 791/873/794 f 755/837/758 752/834/755 749/831/752 f 792/874/795 791/873/794 803/885/806 f 803/885/806 797/879/800 792/874/795 f 803/885/806 800/882/803 797/879/800 f 802/884/805 745/827/748 744/826/747 f 802/884/805 744/826/747 801/883/804 f 801/883/804 744/826/747 804/886/807 f 744/826/747 725/807/728 804/886/807 f 804/886/807 725/807/728 723/805/726 f 804/886/807 723/805/726 805/887/808 f 805/887/808 723/805/726 806/888/809 f 723/805/726 721/803/724 806/888/809 f 806/888/809 721/803/724 807/889/810 f 721/803/724 718/800/721 807/889/810 f 807/889/810 718/800/721 717/799/720 f 808/890/811 807/889/810 717/799/720 f 806/888/809 807/889/810 808/890/811 f 809/891/812 806/888/809 808/890/811 f 810/892/813 806/888/809 809/891/812 f 810/892/813 805/887/808 806/888/809 f 798/880/801 805/887/808 810/892/813 f 798/880/801 811/893/814 805/887/808 f 799/881/802 811/893/814 798/880/801 f 799/881/802 801/883/804 811/893/814 f 801/883/804 804/886/807 811/893/814 f 811/893/814 804/886/807 805/887/808 f 796/878/799 798/880/801 810/892/813 f 796/878/799 810/892/813 812/894/815 f 812/894/815 810/892/813 809/891/812 f 812/894/815 809/891/812 813/895/816 f 809/891/812 814/896/817 813/895/816 f 809/891/812 808/890/811 814/896/817 f 808/890/811 815/897/818 814/896/817 f 816/898/819 815/897/818 808/890/811 f 817/899/820 815/897/818 816/898/819 f 817/899/820 818/900/821 815/897/818 f 817/899/820 819/901/822 818/900/821 f 820/902/823 819/901/822 817/899/820 f 715/797/718 819/901/822 820/902/823 f 715/797/718 821/903/824 819/901/822 f 822/904/825 821/903/824 715/797/718 f 822/904/825 823/905/826 821/903/824 f 824/906/827 823/905/826 822/904/825 f 824/906/827 825/907/828 823/905/826 f 824/906/827 826/908/829 825/907/828 f 827/909/830 826/908/829 824/906/827 f 827/909/830 828/910/831 826/908/829 f 829/911/832 828/910/831 827/909/830 f 828/910/831 829/911/832 830/912/833 f 830/912/833 829/911/832 831/913/834 f 831/913/834 829/911/832 827/909/830 f 831/913/834 827/909/830 832/914/835 f 833/915/836 832/914/835 827/909/830 f 834/916/837 832/914/835 833/915/836 f 831/913/834 832/914/835 834/916/837 f 834/916/837 835/917/838 831/913/834 f 836/918/839 835/917/838 834/916/837 f 837/919/840 835/917/838 836/918/839 f 837/919/840 831/913/834 835/917/838 f 837/919/840 838/920/841 831/913/834 f 839/921/842 838/920/841 837/919/840 f 839/921/842 830/912/833 838/920/841 f 839/921/842 840/922/843 830/912/833 f 841/923/844 840/922/843 839/921/842 f 841/923/844 842/924/845 840/922/843 f 814/896/817 842/924/845 841/923/844 f 814/896/817 843/925/846 842/924/845 f 815/897/818 843/925/846 814/896/817 f 815/897/818 844/926/847 843/925/846 f 818/900/821 844/926/847 815/897/818 f 819/901/822 844/926/847 818/900/821 f 819/901/822 821/903/824 844/926/847 f 821/903/824 845/927/848 844/926/847 f 823/905/826 845/927/848 821/903/824 f 825/907/828 845/927/848 823/905/826 f 828/910/831 845/927/848 825/907/828 f 844/926/847 845/927/848 828/910/831 f 844/926/847 828/910/831 846/928/849 f 846/928/849 828/910/831 830/912/833 f 846/928/849 830/912/833 840/922/843 f 842/924/845 846/928/849 840/922/843 f 843/925/846 846/928/849 842/924/845 f 844/926/847 846/928/849 843/925/846 f 825/907/828 826/908/829 828/910/831 f 847/929/850 814/896/817 841/923/844 f 813/895/816 814/896/817 847/929/850 f 848/930/851 813/895/816 847/929/850 f 812/894/815 813/895/816 848/930/851 f 795/877/798 812/894/815 848/930/851 f 795/877/798 796/878/799 812/894/815 f 795/877/798 848/930/851 849/931/852 f 849/931/852 848/930/851 850/932/853 f 850/932/853 848/930/851 851/933/854 f 848/930/851 847/929/850 851/933/854 f 851/933/854 847/929/850 852/934/855 f 852/934/855 847/929/850 841/923/844 f 852/934/855 841/923/844 853/935/856 f 853/935/856 841/923/844 839/921/842 f 854/936/857 853/935/856 839/921/842 f 852/934/855 853/935/856 854/936/857 f 852/934/855 854/936/857 855/937/858 f 855/937/858 854/936/857 856/938/859 f 854/936/857 857/939/860 856/938/859 f 854/936/857 858/940/861 857/939/860 f 854/936/857 839/921/842 858/940/861 f 858/940/861 839/921/842 837/919/840 f 859/941/862 858/940/861 837/919/840 f 857/939/860 858/940/861 859/941/862 f 860/942/863 857/939/860 859/941/862 f 856/938/859 857/939/860 860/942/863 f 861/943/864 856/938/859 860/942/863 f 856/938/859 861/943/864 862/944/865 f 862/944/865 861/943/864 863/945/866 f 863/945/866 861/943/864 864/946/867 f 864/946/867 861/943/864 865/947/868 f 865/947/868 861/943/864 866/948/869 f 861/943/864 860/942/863 866/948/869 f 860/942/863 859/941/862 866/948/869 f 866/948/869 859/941/862 836/918/839 f 859/941/862 837/919/840 836/918/839 f 867/949/870 866/948/869 836/918/839 f 868/950/871 866/948/869 867/949/870 f 868/950/871 869/951/872 866/948/869 f 870/952/873 869/951/872 868/950/871 f 870/952/873 871/953/874 869/951/872 f 872/954/875 871/953/874 870/952/873 f 872/954/875 864/946/867 871/953/874 f 863/945/866 864/946/867 872/954/875 f 862/944/865 863/945/866 872/954/875 f 873/955/876 862/944/865 872/954/875 f 874/956/877 862/944/865 873/955/876 f 875/957/878 862/944/865 874/956/877 f 875/957/878 856/938/859 862/944/865 f 876/958/879 856/938/859 875/957/878 f 855/937/858 856/938/859 876/958/879 f 877/959/880 855/937/858 876/958/879 f 878/960/881 855/937/858 877/959/880 f 878/960/881 852/934/855 855/937/858 f 879/961/882 852/934/855 878/960/881 f 879/961/882 851/933/854 852/934/855 f 880/962/883 851/933/854 879/961/882 f 880/962/883 850/932/853 851/933/854 f 881/963/884 850/932/853 880/962/883 f 881/963/884 785/867/788 850/932/853 f 784/866/787 785/867/788 881/963/884 f 882/964/885 784/866/787 881/963/884 f 882/964/885 778/860/781 784/866/787 f 883/965/886 778/860/781 882/964/885 f 883/965/886 777/859/780 778/860/781 f 884/966/887 777/859/780 883/965/886 f 884/966/887 776/858/779 777/859/780 f 885/967/888 776/858/779 884/966/887 f 885/967/888 886/968/889 776/858/779 f 887/969/890 886/968/889 885/967/888 f 887/969/890 888/970/891 886/968/889 f 889/971/892 888/970/891 887/969/890 f 620/714/623 888/970/891 889/971/892 f 620/714/623 890/972/893 888/970/891 f 622/716/625 890/972/893 620/714/623 f 622/716/625 891/973/894 890/972/893 f 622/716/625 773/855/776 891/973/894 f 622/716/625 624/718/627 773/855/776 f 773/855/776 774/856/777 891/973/894 f 891/973/894 774/856/777 775/857/778 f 891/973/894 775/857/778 892/974/895 f 892/974/895 775/857/778 886/968/889 f 775/857/778 776/858/779 886/968/889 f 892/974/895 886/968/889 888/970/891 f 890/972/893 892/974/895 888/970/891 f 891/973/894 892/974/895 890/972/893 f 620/714/623 889/971/892 617/711/620 f 616/710/619 617/711/620 889/971/892 f 613/707/616 616/710/619 889/971/892 f 613/707/616 889/971/892 893/975/896 f 893/975/896 889/971/892 887/969/890 f 893/975/896 887/969/890 894/976/897 f 894/976/897 887/969/890 895/977/898 f 887/969/890 885/967/888 895/977/898 f 895/977/898 885/967/888 884/966/887 f 895/977/898 884/966/887 883/965/886 f 895/977/898 883/965/886 896/978/899 f 896/978/899 883/965/886 882/964/885 f 896/978/899 882/964/885 897/979/900 f 897/979/900 882/964/885 898/980/901 f 882/964/885 881/963/884 898/980/901 f 898/980/901 881/963/884 880/962/883 f 899/981/902 898/980/901 880/962/883 f 900/982/903 898/980/901 899/981/902 f 897/979/900 898/980/901 900/982/903 f 896/978/899 897/979/900 900/982/903 f 901/983/904 896/978/899 900/982/903 f 895/977/898 896/978/899 901/983/904 f 895/977/898 901/983/904 902/984/905 f 902/984/905 901/983/904 903/985/906 f 901/983/904 904/986/907 903/985/906 f 901/983/904 900/982/903 904/986/907 f 900/982/903 905/987/908 904/986/907 f 900/982/903 899/981/902 905/987/908 f 905/987/908 899/981/902 906/988/909 f 899/981/902 907/989/910 906/988/909 f 899/981/902 880/962/883 907/989/910 f 880/962/883 878/960/881 907/989/910 f 880/962/883 879/961/882 878/960/881 f 907/989/910 878/960/881 877/959/880 f 907/989/910 877/959/880 908/990/911 f 908/990/911 877/959/880 909/991/912 f 909/991/912 877/959/880 910/992/913 f 877/959/880 876/958/879 910/992/913 f 910/992/913 876/958/879 875/957/878 f 910/992/913 875/957/878 911/993/914 f 911/993/914 875/957/878 874/956/877 f 911/993/914 874/956/877 912/994/915 f 912/994/915 874/956/877 913/995/916 f 913/995/916 874/956/877 914/996/917 f 874/956/877 873/955/876 914/996/917 f 914/996/917 873/955/876 915/997/918 f 873/955/876 872/954/875 915/997/918 f 915/997/918 872/954/875 916/998/919 f 872/954/875 870/952/873 916/998/919 f 870/952/873 917/999/920 916/998/919 f 870/952/873 918/1000/921 917/999/920 f 870/952/873 919/1001/922 918/1000/921 f 870/952/873 868/950/871 919/1001/922 f 868/950/871 920/1002/923 919/1001/922 f 868/950/871 867/949/870 920/1002/923 f 920/1002/923 867/949/870 921/1003/924 f 867/949/870 836/918/839 921/1003/924 f 921/1003/924 836/918/839 922/1004/925 f 922/1004/925 836/918/839 834/916/837 f 922/1004/925 834/916/837 923/1005/926 f 923/1005/926 834/916/837 924/1006/927 f 924/1006/927 834/916/837 833/915/836 f 924/1006/927 833/915/836 925/1007/928 f 925/1007/928 833/915/836 926/1008/929 f 926/1008/929 833/915/836 927/1009/930 f 928/1010/931 927/1009/930 833/915/836 f 929/1011/932 927/1009/930 928/1010/931 f 929/1011/932 930/1012/933 927/1009/930 f 929/1011/932 712/794/715 930/1012/933 f 929/1011/932 713/795/716 712/794/715 f 822/904/825 713/795/716 929/1011/932 f 715/797/718 713/795/716 822/904/825 f 824/906/827 822/904/825 929/1011/932 f 929/1011/932 928/1010/931 824/906/827 f 824/906/827 928/1010/931 827/909/830 f 833/915/836 827/909/830 928/1010/931 f 930/1012/933 712/794/715 931/1013/934 f 710/792/713 931/1013/934 712/794/715 f 931/1013/934 710/792/713 932/1014/935 f 932/1014/935 710/792/713 933/1015/936 f 708/790/711 933/1015/936 710/792/713 f 933/1015/936 708/790/711 934/1016/937 f 935/1017/938 934/1016/937 708/790/711 f 936/1018/939 934/1016/937 935/1017/938 f 936/1018/939 937/1019/940 934/1016/937 f 938/1020/941 937/1019/940 936/1018/939 f 938/1020/941 932/1014/935 937/1019/940 f 939/1021/942 932/1014/935 938/1020/941 f 940/1022/943 932/1014/935 939/1021/942 f 940/1022/943 931/1013/934 932/1014/935 f 941/1023/944 931/1013/934 940/1022/943 f 941/1023/944 930/1012/933 931/1013/934 f 927/1009/930 930/1012/933 941/1023/944 f 926/1008/929 927/1009/930 941/1023/944 f 926/1008/929 941/1023/944 942/1024/945 f 942/1024/945 941/1023/944 940/1022/943 f 942/1024/945 940/1022/943 943/1025/946 f 940/1022/943 939/1021/942 943/1025/946 f 943/1025/946 939/1021/942 944/1026/947 f 944/1026/947 939/1021/942 945/1027/948 f 945/1027/948 939/1021/942 938/1020/941 f 946/1028/949 945/1027/948 938/1020/941 f 947/1029/950 945/1027/948 946/1028/949 f 947/1029/950 948/1030/951 945/1027/948 f 949/1031/952 948/1030/951 947/1029/950 f 944/1026/947 948/1030/951 949/1031/952 f 948/1030/951 944/1026/947 945/1027/948 f 949/1031/952 950/1032/953 944/1026/947 f 951/1033/954 950/1032/953 949/1031/952 f 951/1033/954 952/1034/955 950/1032/953 f 953/1035/956 952/1034/955 951/1033/954 f 954/1036/957 952/1034/955 953/1035/956 f 955/1037/958 952/1034/955 954/1036/957 f 956/1038/959 952/1034/955 955/1037/958 f 957/1039/960 952/1034/955 956/1038/959 f 957/1039/960 950/1032/953 952/1034/955 f 957/1039/960 943/1025/946 950/1032/953 f 942/1024/945 943/1025/946 957/1039/960 f 942/1024/945 957/1039/960 958/1040/961 f 958/1040/961 957/1039/960 956/1038/959 f 959/1041/962 958/1040/961 956/1038/959 f 925/1007/928 958/1040/961 959/1041/962 f 925/1007/928 926/1008/929 958/1040/961 f 926/1008/929 942/1024/945 958/1040/961 f 960/1042/963 925/1007/928 959/1041/962 f 960/1042/963 924/1006/927 925/1007/928 f 960/1042/963 923/1005/926 924/1006/927 f 923/1005/926 960/1042/963 919/1001/922 f 919/1001/922 960/1042/963 918/1000/921 f 918/1000/921 960/1042/963 961/1043/964 f 960/1042/963 959/1041/962 961/1043/964 f 961/1043/964 959/1041/962 956/1038/959 f 961/1043/964 956/1038/959 955/1037/958 f 961/1043/964 955/1037/958 962/1044/965 f 962/1044/965 955/1037/958 963/1045/966 f 955/1037/958 964/1046/967 963/1045/966 f 955/1037/958 954/1036/957 964/1046/967 f 964/1046/967 954/1036/957 965/1047/968 f 965/1047/968 954/1036/957 953/1035/956 f 965/1047/968 953/1035/956 966/1048/969 f 953/1035/956 951/1033/954 966/1048/969 f 966/1048/969 951/1033/954 967/1049/970 f 951/1033/954 968/1050/971 967/1049/970 f 951/1033/954 949/1031/952 968/1050/971 f 968/1050/971 949/1031/952 947/1029/950 f 965/1047/968 966/1048/969 558/1051/561 f 964/1046/967 965/1047/968 558/1051/561 f 964/1046/967 558/1051/561 969/1052/972 f 561/645/564 964/1046/967 969/1052/972 f 970/1053/973 964/1046/967 561/645/564 f 963/1045/966 964/1046/967 970/1053/973 f 971/1054/974 963/1045/966 970/1053/973 f 962/1044/965 963/1045/966 971/1054/974 f 917/999/920 962/1044/965 971/1054/974 f 918/1000/921 962/1044/965 917/999/920 f 918/1000/921 961/1043/964 962/1044/965 f 917/999/920 971/1054/974 972/1055/975 f 973/1056/976 972/1055/975 971/1054/974 f 974/1057/977 972/1055/975 973/1056/976 f 974/1057/977 916/998/919 972/1055/975 f 915/997/918 916/998/919 974/1057/977 f 975/1058/978 915/997/918 974/1057/977 f 914/996/917 915/997/918 975/1058/978 f 976/1059/979 914/996/917 975/1058/978 f 913/995/916 914/996/917 976/1059/979 f 977/1060/980 913/995/916 976/1059/979 f 978/1061/981 913/995/916 977/1060/980 f 978/1061/981 979/1062/982 913/995/916 f 980/1063/983 979/1062/982 978/1061/981 f 981/1064/984 979/1062/982 980/1063/983 f 981/1064/984 982/1065/985 979/1062/982 f 983/1066/986 982/1065/985 981/1064/984 f 983/1066/986 984/1067/987 982/1065/985 f 985/1068/988 984/1067/987 983/1066/986 f 985/1068/988 986/1069/989 984/1067/987 f 987/1070/990 986/1069/989 985/1068/988 f 987/1070/990 988/1071/991 986/1069/989 f 989/1072/992 988/1071/991 987/1070/990 f 990/1073/993 988/1071/991 989/1072/992 f 991/1074/994 988/1071/991 990/1073/993 f 991/1074/994 986/1069/989 988/1071/991 f 991/1074/994 909/991/912 986/1069/989 f 992/1075/995 909/991/912 991/1074/994 f 992/1075/995 908/990/911 909/991/912 f 906/988/909 908/990/911 992/1075/995 f 906/988/909 907/989/910 908/990/911 f 993/1076/996 906/988/909 992/1075/995 f 905/987/908 906/988/909 993/1076/996 f 994/1077/997 905/987/908 993/1076/996 f 904/986/907 905/987/908 994/1077/997 f 995/1078/998 904/986/907 994/1077/997 f 903/985/906 904/986/907 995/1078/998 f 996/1079/999 903/985/906 995/1078/998 f 997/1080/1000 903/985/906 996/1079/999 f 997/1080/1000 902/984/905 903/985/906 f 998/1081/1001 902/984/905 997/1080/1000 f 998/1081/1001 895/977/898 902/984/905 f 999/1082/1002 895/977/898 998/1081/1001 f 894/976/897 895/977/898 999/1082/1002 f 893/975/896 894/976/897 999/1082/1002 f 609/703/612 893/975/896 999/1082/1002 f 613/707/616 893/975/896 609/703/612 f 609/703/612 610/704/613 613/707/616 f 609/703/612 999/1082/1002 1000/1083/1003 f 999/1082/1002 1001/1084/1004 1000/1083/1003 f 999/1082/1002 998/1081/1001 1001/1084/1004 f 998/1081/1001 997/1080/1000 1001/1084/1004 f 1001/1084/1004 997/1080/1000 1002/1085/1005 f 997/1080/1000 996/1079/999 1002/1085/1005 f 1002/1085/1005 996/1079/999 1003/1086/1006 f 996/1079/999 1004/1087/1007 1003/1086/1006 f 996/1079/999 1005/1088/1008 1004/1087/1007 f 996/1079/999 995/1078/998 1005/1088/1008 f 1005/1088/1008 995/1078/998 1006/1089/1009 f 995/1078/998 1007/1090/1010 1006/1089/1009 f 995/1078/998 1008/1091/1011 1007/1090/1010 f 995/1078/998 1009/1092/1012 1008/1091/1011 f 995/1078/998 994/1077/997 1009/1092/1012 f 994/1077/997 993/1076/996 1009/1092/1012 f 1009/1092/1012 993/1076/996 1010/1093/1013 f 1010/1093/1013 993/1076/996 992/1075/995 f 1010/1093/1013 992/1075/995 1011/1094/1014 f 1011/1094/1014 992/1075/995 991/1074/994 f 1011/1094/1014 991/1074/994 990/1073/993 f 1008/1091/1011 1011/1094/1014 990/1073/993 f 1008/1091/1011 1010/1093/1013 1011/1094/1014 f 1009/1092/1012 1010/1093/1013 1008/1091/1011 f 1008/1091/1011 990/1073/993 1012/1095/1015 f 1013/1096/1016 1012/1095/1015 990/1073/993 f 1014/1097/1017 1012/1095/1015 1013/1096/1016 f 1007/1090/1010 1012/1095/1015 1014/1097/1017 f 1007/1090/1010 1008/1091/1011 1012/1095/1015 f 1006/1089/1009 1007/1090/1010 1014/1097/1017 f 1006/1089/1009 1014/1097/1017 1015/1098/1018 f 1015/1098/1018 1014/1097/1017 1016/1099/1019 f 1016/1099/1019 1014/1097/1017 1013/1096/1016 f 1016/1099/1019 1013/1096/1016 1017/1100/1020 f 1017/1100/1020 1013/1096/1016 1018/1101/1021 f 1013/1096/1016 989/1072/992 1018/1101/1021 f 1013/1096/1016 990/1073/993 989/1072/992 f 1019/1102/1022 1018/1101/1021 989/1072/992 f 1017/1100/1020 1018/1101/1021 1019/1102/1022 f 1017/1100/1020 1019/1102/1022 1020/1103/1023 f 1020/1103/1023 1019/1102/1022 1021/1104/1024 f 1019/1102/1022 1022/1105/1025 1021/1104/1024 f 1022/1105/1025 1019/1102/1022 987/1070/990 f 1019/1102/1022 989/1072/992 987/1070/990 f 1022/1105/1025 987/1070/990 985/1068/988 f 1022/1105/1025 985/1068/988 1023/1106/1026 f 1023/1106/1026 985/1068/988 983/1066/986 f 1023/1106/1026 983/1066/986 981/1064/984 f 1024/1107/1027 1023/1106/1026 981/1064/984 f 1022/1105/1025 1023/1106/1026 1024/1107/1027 f 1022/1105/1025 1024/1107/1027 1025/1108/1028 f 1024/1107/1027 980/1063/983 1025/1108/1028 f 1024/1107/1027 981/1064/984 980/1063/983 f 1025/1108/1028 980/1063/983 1026/1109/1029 f 1026/1109/1029 980/1063/983 978/1061/981 f 1026/1109/1029 978/1061/981 1027/1110/1030 f 1027/1110/1030 978/1061/981 977/1060/980 f 1028/1111/1031 1027/1110/1030 977/1060/980 f 1028/1111/1031 1029/1112/1032 1027/1110/1030 f 1030/1113/1033 1029/1112/1032 1028/1111/1031 f 1031/1114/1034 1029/1112/1032 1030/1113/1033 f 1031/1114/1034 1032/1115/1035 1029/1112/1032 f 1031/1114/1034 1033/1116/1036 1032/1115/1035 f 1034/1117/1037 1033/1116/1036 1031/1114/1034 f 1035/1118/1038 1033/1116/1036 1034/1117/1037 f 1020/1103/1023 1033/1116/1036 1035/1118/1038 f 1020/1103/1023 1021/1104/1024 1033/1116/1036 f 1033/1116/1036 1021/1104/1024 1036/1119/1039 f 1021/1104/1024 1025/1108/1028 1036/1119/1039 f 1022/1105/1025 1025/1108/1028 1021/1104/1024 f 1036/1119/1039 1025/1108/1028 1026/1109/1029 f 1032/1115/1035 1036/1119/1039 1026/1109/1029 f 1032/1115/1035 1033/1116/1036 1036/1119/1039 f 1032/1115/1035 1026/1109/1029 1029/1112/1032 f 1029/1112/1032 1026/1109/1029 1027/1110/1030 f 1037/1120/1040 1020/1103/1023 1035/1118/1038 f 1038/1121/1041 1020/1103/1023 1037/1120/1040 f 1038/1121/1041 1017/1100/1020 1020/1103/1023 f 1039/1122/1042 1017/1100/1020 1038/1121/1041 f 1039/1122/1042 1016/1099/1019 1017/1100/1020 f 1015/1098/1018 1016/1099/1019 1039/1122/1042 f 1040/1123/1043 1015/1098/1018 1039/1122/1042 f 1041/1124/1044 1015/1098/1018 1040/1123/1043 f 1006/1089/1009 1015/1098/1018 1041/1124/1044 f 1004/1087/1007 1006/1089/1009 1041/1124/1044 f 1005/1088/1008 1006/1089/1009 1004/1087/1007 f 1004/1087/1007 1041/1124/1044 1042/1125/1045 f 1041/1124/1044 1043/1126/1046 1042/1125/1045 f 1041/1124/1044 1040/1123/1043 1043/1126/1046 f 1040/1123/1043 1044/1127/1047 1043/1126/1046 f 1039/1122/1042 1045/1128/1048 1040/1123/1043 f 1045/1128/1048 1039/1122/1042 1038/1121/1041 f 1045/1128/1048 1038/1121/1041 1037/1120/1040 f 1046/1129/1049 1045/1128/1048 1037/1120/1040 f 1045/1128/1048 1046/1129/1049 1044/1127/1047 f 1047/1130/1050 1044/1127/1047 1046/1129/1049 f 1043/1126/1046 1044/1127/1047 1047/1130/1050 f 1048/1131/1051 1043/1126/1046 1047/1130/1050 f 1048/1131/1051 1042/1125/1045 1043/1126/1046 f 1049/1132/1052 1042/1125/1045 1048/1131/1051 f 1049/1132/1052 1050/1133/1053 1042/1125/1045 f 1051/1134/1054 1050/1133/1053 1049/1132/1052 f 1051/1134/1054 1003/1086/1006 1050/1133/1053 f 1051/1134/1054 1002/1085/1005 1003/1086/1006 f 1052/1135/1055 1002/1085/1005 1051/1134/1054 f 1052/1135/1055 1053/1136/1056 1002/1085/1005 f 1052/1135/1055 1054/1137/1057 1053/1136/1056 f 605/699/608 1054/1137/1057 1052/1135/1055 f 605/699/608 606/700/609 1054/1137/1057 f 606/700/609 1000/1083/1003 1054/1137/1057 f 606/700/609 609/703/612 1000/1083/1003 f 1000/1083/1003 1053/1136/1056 1054/1137/1057 f 1053/1136/1056 1000/1083/1003 1001/1084/1004 f 1053/1136/1056 1001/1084/1004 1002/1085/1005 f 605/699/608 1052/1135/1055 1055/1138/1058 f 1055/1138/1058 1052/1135/1055 1051/1134/1054 f 1055/1138/1058 1051/1134/1054 1049/1132/1052 f 1055/1138/1058 1049/1132/1052 1056/1139/1059 f 1056/1139/1059 1049/1132/1052 1057/1140/1060 f 1049/1132/1052 1048/1131/1051 1057/1140/1060 f 1057/1140/1060 1048/1131/1051 1058/1141/1061 f 1058/1141/1061 1048/1131/1051 1059/1142/1062 f 1048/1131/1051 1060/1143/1063 1059/1142/1062 f 1048/1131/1051 1061/1144/1064 1060/1143/1063 f 1048/1131/1051 1047/1130/1050 1061/1144/1064 f 1047/1130/1050 1046/1129/1049 1061/1144/1064 f 1061/1144/1064 1046/1129/1049 1034/1117/1037 f 1046/1129/1049 1035/1118/1038 1034/1117/1037 f 1037/1120/1040 1035/1118/1038 1046/1129/1049 f 1061/1144/1064 1034/1117/1037 1060/1143/1063 f 1034/1117/1037 1030/1113/1033 1060/1143/1063 f 1034/1117/1037 1031/1114/1034 1030/1113/1033 f 1060/1143/1063 1030/1113/1033 1028/1111/1031 f 1060/1143/1063 1028/1111/1031 1059/1142/1062 f 1059/1142/1062 1028/1111/1031 1062/1145/1065 f 1028/1111/1031 977/1060/980 1062/1145/1065 f 1062/1145/1065 977/1060/980 1063/1146/1066 f 977/1060/980 976/1059/979 1063/1146/1066 f 1063/1146/1066 976/1059/979 1064/1147/1067 f 976/1059/979 1065/1148/1068 1064/1147/1067 f 976/1059/979 975/1058/978 1065/1148/1068 f 975/1058/978 974/1057/977 1065/1148/1068 f 1065/1148/1068 974/1057/977 973/1056/976 f 1064/1147/1067 1065/1148/1068 973/1056/976 f 1064/1147/1067 973/1056/976 574/658/577 f 574/658/577 973/1056/976 1066/1149/1069 f 973/1056/976 971/1054/974 1066/1149/1069 f 1066/1149/1069 971/1054/974 970/1053/973 f 1066/1149/1069 970/1053/973 1067/1150/1070 f 1067/1150/1070 970/1053/973 1068/1151/1071 f 970/1053/973 1069/1152/1072 1068/1151/1071 f 970/1053/973 561/645/564 1069/1152/1072 f 561/645/564 562/646/565 1069/1152/1072 f 1069/1152/1072 562/646/565 563/647/566 f 1068/1151/1071 1069/1152/1072 563/647/566 f 1068/1151/1071 563/647/566 1070/1153/1073 f 563/647/566 564/648/567 1070/1153/1073 f 564/648/567 565/649/568 1070/1153/1073 f 1070/1153/1073 565/649/568 568/652/571 f 565/649/568 567/651/570 568/652/571 f 565/649/568 566/650/569 567/651/570 f 569/653/572 1070/1153/1073 568/652/571 f 569/653/572 1071/1154/1074 1070/1153/1073 f 570/654/573 1071/1154/1074 569/653/572 f 570/654/573 571/655/574 1071/1154/1074 f 571/655/574 1067/1150/1070 1071/1154/1074 f 571/655/574 572/656/575 1067/1150/1070 f 572/656/575 1066/1149/1069 1067/1150/1070 f 572/656/575 574/658/577 1066/1149/1069 f 1067/1150/1070 1068/1151/1071 1071/1154/1074 f 1068/1151/1071 1070/1153/1073 1071/1154/1074 f 575/659/578 1064/1147/1067 574/658/577 f 1063/1146/1066 1064/1147/1067 575/659/578 f 576/660/579 1063/1146/1066 575/659/578 f 1062/1145/1065 1063/1146/1066 576/660/579 f 1072/1155/1075 1062/1145/1065 576/660/579 f 1059/1142/1062 1062/1145/1065 1072/1155/1075 f 1058/1141/1061 1059/1142/1062 1072/1155/1075 f 1073/1156/1076 1058/1141/1061 1072/1155/1075 f 1073/1156/1076 1056/1139/1059 1058/1141/1061 f 580/664/583 1056/1139/1059 1073/1156/1076 f 580/664/583 1055/1138/1058 1056/1139/1059 f 581/665/584 1055/1138/1058 580/664/583 f 605/699/608 1055/1138/1058 581/665/584 f 583/667/586 605/699/608 581/665/584 f 580/664/583 1073/1156/1076 578/662/581 f 578/662/581 1073/1156/1076 576/660/579 f 1073/1156/1076 1072/1155/1075 576/660/579 f 1056/1139/1059 1057/1140/1060 1058/1141/1061 f 1050/1133/1053 1003/1086/1006 1004/1087/1007 f 1050/1133/1053 1004/1087/1007 1042/1125/1045 f 909/991/912 910/992/913 986/1069/989 f 986/1069/989 910/992/913 911/993/914 f 986/1069/989 911/993/914 984/1067/987 f 984/1067/987 911/993/914 912/994/915 f 984/1067/987 912/994/915 982/1065/985 f 982/1065/985 912/994/915 979/1062/982 f 979/1062/982 912/994/915 913/995/916 f 916/998/919 917/999/920 972/1055/975 s off f 560/644/1077 561/645/1077 969/1052/1077 s 1 f 919/1001/922 920/1002/923 923/1005/926 f 920/1002/923 921/1003/924 923/1005/926 f 921/1003/924 922/1004/925 923/1005/926 f 943/1025/946 944/1026/947 950/1032/953 f 946/1028/949 938/1020/941 1074/1157/1078 f 1074/1157/1078 938/1020/941 936/1018/939 f 932/1014/935 933/1015/936 937/1019/940 f 937/1019/940 933/1015/936 934/1016/937 f 935/1017/938 708/790/711 1075/1158/1079 f 1075/1158/1079 708/790/711 707/789/710 s off f 1075/1158/1080 707/789/1080 1076/1159/1080 s 1 f 1076/1159/1081 707/789/710 706/788/709 f 1077/1160/1082 1076/1159/1081 706/788/709 f 706/788/709 935/1161/938 1077/1160/1082 f 706/788/709 704/786/707 935/1161/938 f 706/788/709 705/787/708 704/786/707 f 935/1161/938 704/786/707 702/784/705 f 935/1161/938 702/784/705 1078/1162/1083 f 1079/1163/1084 1078/1162/1083 702/784/705 f 1079/1163/1084 1080/1164/1085 1078/1162/1083 f 1081/1165/1086 1080/1164/1085 1079/1163/1084 f 1081/1165/1086 1079/1163/1084 1082/1166/1087 f 1082/1166/1087 1079/1163/1084 701/783/704 f 1079/1163/1084 702/784/705 701/783/704 f 1082/1166/1087 701/783/704 1083/1167/1088 f 1083/1167/1088 701/783/704 700/782/703 f 1084/1168/1089 1083/1167/1088 700/782/703 f 1082/1166/1087 1083/1167/1088 1084/1168/1089 f 1085/1169/1090 1082/1166/1087 1084/1168/1089 f 1085/1169/1090 1081/1165/1086 1082/1166/1087 f 1086/1170/1091 1081/1165/1086 1085/1169/1090 f 1087/1171/1092 1086/1170/1091 1085/1169/1090 f 558/642/561 1086/1170/1091 1087/1171/1092 f 558/642/561 1087/1171/1092 1088/1172/1093 f 1087/1171/1092 1085/1169/1090 1088/1172/1093 f 1085/1169/1090 1084/1168/1089 1088/1172/1093 f 1088/1172/1093 1084/1168/1089 552/636/555 f 1084/1168/1089 1089/1173/1094 552/636/555 f 1084/1168/1089 700/782/703 1089/1173/1094 f 549/633/552 1089/1173/1094 700/782/703 f 552/636/555 1089/1173/1094 549/633/552 f 549/633/552 700/782/703 547/631/550 f 547/631/550 700/782/703 696/778/699 f 547/631/550 696/778/699 546/630/549 f 1088/1172/1093 552/636/555 553/637/556 f 557/641/560 1088/1172/1093 553/637/556 f 557/641/560 558/642/561 1088/1172/1093 f 557/641/560 553/637/556 555/639/558 f 1080/1164/1085 935/1161/938 1078/1162/1083 f 778/860/781 779/861/782 784/866/787 f 785/867/788 849/931/852 850/932/853 f 849/931/852 785/867/788 786/868/789 f 786/868/789 795/877/798 849/931/852 f 871/953/874 864/946/867 869/951/872 f 864/946/867 865/947/868 869/951/872 f 869/951/872 865/947/868 866/948/869 f 838/920/841 830/912/833 831/913/834 f 717/799/720 715/797/718 820/902/823 f 717/799/720 820/902/823 817/899/820 f 816/898/819 717/799/720 817/899/820 f 808/890/811 717/799/720 816/898/819 f 739/821/742 1090/1174/1095 768/850/771 f 1092/1175/1096 1090/1174/1095 1091/1176/1097 f 1093/1177/1098 1090/1174/1095 1092/1175/1096 f 1094/1178/1099 1090/1174/1095 1093/1177/1098 f 768/850/771 1090/1174/1095 1094/1178/1099 f 765/847/768 768/850/771 1094/1178/1099 f 765/847/768 1094/1178/1099 761/843/764 f 761/843/764 1094/1178/1099 1095/1179/1100 f 1095/1179/1100 1094/1178/1099 1093/1177/1098 f 754/836/757 1095/1179/1100 1093/1177/1098 f 756/838/759 1095/1179/1100 754/836/757 f 756/838/759 758/840/761 1095/1179/1100 f 761/843/764 1095/1179/1100 758/840/761 f 754/836/757 1093/1177/1098 753/835/756 f 753/835/756 1093/1177/1098 1092/1175/1096 f 753/835/756 1092/1175/1096 1096/1180/1101 f 1096/1180/1101 1092/1175/1096 1091/1176/1097 f 1096/1180/1101 1091/1176/1097 1097/1181/1102 f 1097/1181/1102 1091/1176/1097 739/821/742 f 740/822/743 1097/1181/1102 739/821/742 f 1098/1182/1103 1097/1181/1102 740/822/743 f 1098/1182/1103 1096/1180/1101 1097/1181/1102 f 750/832/753 1096/1180/1101 1098/1182/1103 f 751/833/754 1096/1180/1101 750/832/753 f 751/833/754 753/835/756 1096/1180/1101 f 750/832/753 1098/1182/1103 748/830/751 f 1098/1182/1103 1099/1183/1104 748/830/751 f 1098/1182/1103 741/823/744 1099/1183/1104 f 740/822/743 741/823/744 1098/1182/1103 f 1099/1183/1104 741/823/744 742/824/745 f 1099/1183/1104 742/824/745 1100/1184/1105 f 1100/1184/1105 742/824/745 743/825/746 f 1100/1184/1105 743/825/746 746/828/749 f 746/828/749 748/830/751 1100/1184/1105 f 1099/1183/1104 1100/1184/1105 748/830/751 f 763/845/766 765/847/768 761/843/764 f 689/771/692 690/772/693 735/817/738 f 735/817/738 690/772/693 1101/1185/1106 f 1101/1185/1106 690/772/693 1102/1186/1107 f 1102/1186/1107 690/772/693 691/773/694 f 1102/1186/1107 691/773/694 709/791/712 f 711/793/714 1102/1186/1107 709/791/712 f 714/796/717 1102/1186/1107 711/793/714 f 714/796/717 1103/1187/1108 1102/1186/1107 f 716/798/719 1103/1187/1108 714/796/717 f 716/798/719 719/801/722 1103/1187/1108 f 719/801/722 1101/1185/1106 1103/1187/1108 f 1104/1188/1109 1101/1185/1106 719/801/722 f 1105/1189/1110 1101/1185/1106 1104/1188/1109 f 1105/1189/1110 735/817/738 1101/1185/1106 f 733/815/736 735/817/738 1105/1189/1110 f 733/815/736 1105/1189/1110 732/814/735 f 722/804/725 732/814/735 1105/1189/1110 f 724/806/727 732/814/735 722/804/725 f 728/810/731 732/814/735 724/806/727 f 722/804/725 1105/1189/1110 1104/1188/1109 f 722/804/725 1104/1188/1109 720/802/723 f 720/802/723 1104/1188/1109 719/801/722 f 1101/1185/1106 1102/1186/1107 1103/1187/1108 f 687/769/690 629/723/632 631/725/634 f 1106/558/1111 687/560/690 631/559/634 f 1107/564/1112 687/560/690 1106/558/1111 f 1107/564/1112 1108/565/1113 687/560/690 f 1109/568/1114 1108/565/1113 1107/564/1112 f 1108/565/1113 1109/568/1114 1110/567/1115 f 1110/567/1115 1109/568/1114 644/590/647 f 1109/568/1114 643/569/646 644/590/647 f 643/569/646 1109/568/1114 1107/564/1112 f 643/569/646 1107/564/1112 1111/563/1116 f 1111/563/1116 1107/564/1112 1106/558/1111 f 1111/563/1116 1106/558/1111 1112/562/1117 f 1112/562/1117 1106/558/1111 634/561/637 f 1106/558/1111 631/559/634 634/561/637 f 631/559/634 633/696/636 634/561/637 f 638/571/641 1112/562/1117 634/561/637 f 638/571/641 1111/563/1116 1112/562/1117 f 640/570/643 1111/563/1116 638/571/641 f 640/570/643 643/569/646 1111/563/1116 f 638/571/641 634/561/637 635/697/638 f 644/590/647 686/566/689 1110/567/1115 f 686/566/689 644/590/647 646/591/649 f 1110/567/1115 686/566/689 1108/565/1113 f 686/566/689 687/560/690 1108/565/1113 f 650/730/653 651/732/654 681/762/684 f 681/762/684 651/732/654 680/761/683 f 651/732/654 652/733/655 680/761/683 f 652/733/655 667/748/670 680/761/683 f 653/734/656 667/748/670 652/733/655 f 669/750/672 677/758/680 668/749/671 f 677/758/680 669/750/672 674/755/677 f 669/750/672 670/751/673 674/755/677 f 543/627/546 545/629/548 662/743/665 f 543/627/546 662/743/665 661/742/664 f 543/627/546 661/742/664 541/625/544 f 541/625/544 661/742/664 539/623/542 f 535/619/538 536/620/539 534/615/537 f 499/525/534 645/606/648 1113/607/1118 f 1113/684/1118 645/686/648 642/589/645 f 1113/684/1118 642/589/645 1114/685/1119 f 642/589/645 641/588/644 1114/685/1119 f 1115/584/1120 1114/685/1119 641/588/644 f 1113/684/1118 1114/685/1119 1115/584/1120 f 1116/583/1121 1113/684/1118 1115/584/1120 f 1117/1190/1122 1113/1191/1118 1116/1192/1121 f 1118/528/1123 1113/607/1118 1117/608/1122 f 1118/528/1123 499/525/534 1113/607/1118 f 498/527/533 499/525/534 1118/528/1123 f 498/527/533 1118/528/1123 1119/529/1124 f 1119/529/1124 1118/528/1123 1117/608/1122 f 1119/529/1124 1117/608/1122 1120/609/1125 f 1120/609/1125 1117/608/1122 1121/670/1126 f 1121/1193/1126 1117/1194/1122 1122/1195/1127 f 1117/1190/1122 1123/1196/1128 1122/1197/1127 f 1117/1190/1122 1116/1192/1121 1123/1196/1128 f 1116/583/1121 1124/581/1129 1123/682/1128 f 1124/581/1129 1116/583/1121 1125/582/1130 f 1116/583/1121 1115/584/1120 1125/582/1130 f 1125/582/1130 1115/584/1120 1126/585/1131 f 1126/585/1131 1115/584/1120 1127/587/1132 f 1115/584/1120 641/588/644 1127/587/1132 f 1127/587/1132 641/588/644 639/572/642 f 1127/587/1132 639/572/642 1126/585/1131 f 1126/585/1131 639/572/642 1128/586/1133 f 1128/586/1133 639/572/642 1129/574/1134 f 639/572/642 637/573/640 1129/574/1134 f 637/573/640 636/575/639 1129/574/1134 f 1129/574/1134 636/575/639 1130/576/1135 f 636/575/639 1131/676/1136 1130/576/1135 f 636/575/639 630/677/633 1131/676/1136 f 636/575/639 632/695/635 630/677/633 f 1131/1198/1136 630/724/633 628/722/631 f 1131/1198/1136 628/722/631 625/719/628 f 1132/1199/1137 1131/1198/1136 625/719/628 f 1132/694/1137 1133/678/1138 1131/676/1136 f 1132/694/1137 1134/693/1139 1133/678/1138 f 1132/694/1137 1123/682/1128 1134/693/1139 f 1123/1196/1128 1132/1199/1137 1122/1197/1127 f 1132/1199/1137 625/719/628 1122/1197/1127 f 1122/1197/1127 625/719/628 623/717/626 f 1122/1197/1127 623/717/626 1135/1200/1140 f 1135/1200/1140 623/717/626 621/715/624 f 1121/1193/1126 1122/1195/1127 1135/1201/1140 f 1123/682/1128 1136/692/1141 1134/693/1139 f 1137/681/1142 1136/692/1141 1123/682/1128 f 1136/692/1141 1137/681/1142 1138/680/1143 f 1138/680/1143 1137/681/1142 1139/580/1144 f 1124/581/1129 1139/580/1144 1137/681/1142 f 1124/581/1129 1140/579/1145 1139/580/1144 f 1125/582/1130 1140/579/1145 1124/581/1129 f 1140/579/1145 1125/582/1130 1126/585/1131 f 1126/585/1131 1141/578/1146 1140/579/1145 f 1126/585/1131 1128/586/1133 1141/578/1146 f 1128/586/1133 1129/574/1134 1141/578/1146 f 1129/574/1134 1142/577/1147 1141/578/1146 f 1130/576/1135 1142/577/1147 1129/574/1134 f 1142/577/1147 1130/576/1135 1143/679/1148 f 1130/576/1135 1133/678/1138 1143/679/1148 f 1130/576/1135 1131/676/1136 1133/678/1138 f 1134/693/1139 1143/679/1148 1133/678/1138 f 1136/692/1141 1143/679/1148 1134/693/1139 f 1136/692/1141 1138/680/1143 1143/679/1148 f 1142/577/1147 1143/679/1148 1138/680/1143 f 1139/580/1144 1142/577/1147 1138/680/1143 f 1140/579/1145 1142/577/1147 1139/580/1144 f 1140/579/1145 1141/578/1146 1142/577/1147 f 1124/581/1129 1137/681/1142 1123/682/1128 f 1144/610/1149 1119/529/1124 1120/609/1125 f 1144/610/1149 1145/530/1150 1119/529/1124 f 492/611/527 1145/530/1150 1144/610/1149 f 492/611/527 493/612/528 1145/530/1150 f 493/612/528 494/613/529 1145/530/1150 f 1145/530/1150 494/613/529 495/531/530 f 1145/530/1150 495/531/530 498/527/533 f 1145/530/1150 498/527/533 1119/529/1124 f 413/1202/397 414/537/461 531/1203/439 g mesh1.002_mesh1-geometry_FrontColorNoCullingID__02_-_Default1noCulli usemtl FrontColorNoCullingID__02_-_Default1noCulli f 1044/1204/1047 1040/1205/1043 1045/1206/1048 f 1091/1207/1097 1090/1208/1095 739/1209/742 o mesh2.002_mesh2-geometry v 14.464293 105.050346 12.381854 v 14.120119 104.720924 12.655781 v 14.352287 104.833862 12.815575 v 14.139097 104.893280 12.253694 v 14.668188 105.166245 11.765583 v 14.301159 105.029549 11.688400 v 14.296476 104.995384 11.620594 v 14.686972 105.187210 11.702331 v 14.208290 105.061501 11.553809 v 14.675278 105.287506 11.671097 v 14.198187 104.940498 11.408686 v 14.719013 105.291031 11.551751 v 14.783831 105.668739 11.067024 v 14.295918 105.435402 10.846335 v 14.565235 105.433273 10.439425 v 14.987776 105.614349 10.592299 v 14.787539 105.418625 10.054109 v 15.165894 105.592041 10.224316 v 15.358431 105.189987 8.701930 v 14.625622 104.711975 10.001063 v 15.065008 104.441391 8.797891 v 15.881762 104.804428 7.534002 v 15.436796 104.041229 8.060878 v 16.325491 104.650978 6.352551 v 15.385363 103.026268 6.909507 v 16.786789 104.552246 5.613751 v 16.200127 103.108749 5.434039 v 16.756855 101.750755 5.783900 v 17.246227 102.292747 4.785725 v 16.686468 101.192863 6.376367 v 17.592201 100.990326 6.158786 v 17.071501 100.993752 7.427652 v 17.742826 100.702400 7.582044 v 16.921211 101.166458 8.239318 v 17.941875 100.468826 9.033165 v 16.831648 101.820457 8.764771 v 17.167473 101.761986 9.421929 v 17.670755 100.946060 10.276978 v 18.282423 100.370667 10.322489 v 17.487703 100.666130 10.824165 v 18.072205 100.184334 10.857527 v 19.480494 101.006973 11.056019 v 19.037512 100.519623 12.174063 v 19.288015 101.824570 11.367976 v 19.582346 102.103706 10.596758 v 19.006737 102.736290 10.158298 v 19.624353 102.233803 9.639626 v 20.015890 102.415497 8.294555 v 19.389301 103.335777 8.374866 v 19.440550 103.935013 7.253840 v 18.407181 104.470886 8.620676 v 18.482357 104.780045 7.504902 v 19.239174 104.488701 6.156708 v 20.232981 103.499161 5.894641 v 18.819664 105.002266 5.153657 v 18.447313 105.130661 5.903827 v 17.462934 104.852318 4.511655 v 19.133213 105.466331 4.798131 v 17.683910 105.422241 4.107553 v 19.409529 105.779083 3.949095 v 18.081202 105.732689 3.394301 v 18.726049 107.186989 1.510656 v 20.219185 107.301712 2.174930 v 20.384058 110.186424 -1.290033 v 18.104855 106.465034 0.673395 v 19.112658 109.339340 -2.275720 v 18.645884 108.233963 -3.101253 v 18.311823 105.565163 0.033612 v 18.961401 104.588509 -0.449981 v 19.347326 107.016159 -3.751511 v 20.446068 106.033577 -4.221688 v 20.087650 103.770035 -0.625943 v 22.585918 105.743576 -3.782887 v 21.419666 103.872307 -0.071629 v 22.296297 104.784615 0.978702 v 23.697681 106.775085 -2.663880 v 24.937294 108.899857 -6.689972 v 23.568001 108.576912 -1.507035 v 25.277176 110.988869 -5.229331 v 25.827656 109.947182 -9.074685 v 26.349358 112.415421 -7.518965 v 27.674576 114.008141 -10.991768 v 24.901798 114.163063 -6.710569 v 26.771791 114.639404 -9.947796 v 27.081446 115.450897 -10.811497 v 27.773497 115.146385 -11.993631 v 27.579361 116.954285 -12.625896 v 27.434685 116.712723 -10.913900 v 26.063404 121.561165 -8.160474 v 25.013317 122.212898 -10.516459 v 23.218201 122.191612 -11.917570 v 26.091486 116.998726 -14.264969 v 24.441574 116.321861 -14.975536 v 26.738129 114.785469 -14.130394 v 26.798029 112.464584 -12.712172 v 24.955269 112.113495 -13.775438 v 24.200657 108.875389 -10.406228 v 23.575998 107.702698 -7.992703 v 21.045986 108.438232 -8.483628 v 19.911373 109.799904 -7.994357 v 19.281622 111.401733 -7.114948 v 20.104015 112.478874 -6.041648 v 21.923914 113.208946 -4.946356 v 20.982714 114.215073 -7.883938 v 22.940773 114.882202 -6.878252 v 24.157854 116.701019 -9.278341 v 22.278507 116.256172 -10.271074 v 23.225630 116.998779 -11.309500 v 24.941729 117.147125 -10.594654 v 26.467625 115.744835 -9.270122 v 25.028229 119.947006 -6.579956 v 23.749752 124.079079 -3.664625 v 24.480017 126.025978 -5.601730 v 22.796314 126.697426 -8.108587 v 20.644075 126.238342 -9.541849 v 21.543886 121.334671 -12.104115 v 20.314146 119.751175 -10.845768 v 22.969610 115.757904 -14.056105 v 23.254978 114.431747 -14.046141 v 25.032078 114.324844 -14.675838 v 22.880554 112.844345 -13.534588 v 21.630129 109.915642 -10.526304 v 20.465849 111.342636 -9.995667 v 19.922859 113.066444 -9.073946 v 21.203882 115.058044 -11.374138 v 22.186852 113.493118 -12.733423 v 22.596348 114.526031 -13.075125 v 21.908489 115.894844 -12.509218 v 22.607267 114.479271 -10.750259 v 24.580343 114.833633 -9.489408 v 22.987251 118.427040 -6.263851 v 20.667173 117.887917 -7.577126 v 18.726746 121.660133 -4.250232 v 21.517990 122.486572 -2.901946 v 19.815361 127.715080 1.038155 v 17.057156 126.934669 0.092806 v 15.900522 127.556145 -1.394675 v 17.844719 122.338249 -5.927274 v 19.915754 118.538971 -9.131099 v 22.363581 115.205719 -12.049644 v 18.056419 123.442551 -7.699194 v 15.797543 128.459488 -2.915301 v 16.832602 130.160095 -4.311499 v 19.126350 125.189880 -9.242449 v 18.144056 131.328949 -5.096590 v 20.546690 131.823029 -4.345401 v 22.299305 131.163284 -1.898016 v 21.619583 129.202042 0.087308 v 23.850922 112.723503 -4.602041 v 22.212337 110.014618 -0.893249 v 21.637085 106.251625 1.849734 v 20.961634 104.845390 3.625033 v 20.686037 104.230614 4.623029 v 20.246078 103.888489 5.078361 v 20.597208 102.706039 5.606171 v 20.126425 103.061897 7.124639 v 20.502363 101.367004 8.138384 v 20.340729 101.144348 9.307891 v 19.808281 101.472984 9.976626 v 20.296646 100.867752 10.179624 v 20.380001 100.082466 9.444341 v 20.073694 100.468216 10.863406 v 19.557009 99.587875 12.230268 v 18.894390 100.076378 12.201337 v 18.119102 99.701820 11.315374 v 18.546732 99.703438 9.912595 v 18.311630 99.128174 10.961419 v 19.073122 99.282188 9.683767 v 18.878014 98.697235 10.945743 v 20.181673 99.711754 10.372591 v 19.762157 98.927689 11.778687 v 20.529718 99.304390 10.123943 v 20.314550 98.639282 10.697563 v 19.830002 99.039619 10.841265 v 19.114519 98.888123 10.101037 v 19.346842 98.736687 9.270179 v 19.317949 98.449097 9.707000 v 19.949066 98.402298 9.040639 v 19.784008 98.046524 9.593040 v 20.712008 98.727837 9.702790 v 20.523418 98.167938 10.315118 v 20.653309 99.527328 9.647765 v 20.729158 99.856735 8.858013 v 20.806173 100.232399 7.915954 v 20.616972 102.034424 6.673915 v 20.869177 101.781677 5.083187 v 20.882994 102.523079 4.400031 v 21.327940 102.671791 3.633265 v 21.479219 103.432327 2.724690 v 20.686388 102.681931 1.816140 v 20.531590 101.850349 2.591698 v 20.402325 101.634064 3.579741 v 20.347729 101.074387 4.479210 v 20.627285 99.491943 6.043058 v 21.037762 100.677727 6.476076 v 20.703901 99.113625 7.440629 v 20.709921 98.855896 8.848630 v 19.510393 98.252777 8.298280 v 18.390574 99.105965 8.487527 v 18.101128 99.315292 7.180578 v 19.294006 98.336197 7.016649 v 19.149717 98.935287 5.677697 v 17.957565 99.743423 5.790806 v 17.808580 101.308250 4.108938 v 19.089920 100.612267 3.905580 v 19.063986 101.632217 2.976880 v 18.212442 102.328850 3.021765 v 18.336636 102.635544 2.415375 v 17.800364 103.567566 2.918286 v 17.762850 103.129593 3.402179 v 17.007746 104.026947 3.846128 v 16.743628 103.412743 4.394147 v 17.217827 104.601181 5.088119 v 17.146492 104.511665 3.473907 v 17.609859 105.187256 2.631779 v 18.146523 104.343002 2.057317 v 18.652338 103.440063 1.530428 v 19.350126 101.793343 2.242566 v 19.556175 102.639160 1.391271 v 18.002535 105.300728 6.571664 v 17.487604 105.497025 7.400110 v 16.788958 105.568161 8.141175 v 15.867619 105.533531 8.957924 v 16.452261 105.471062 9.266381 v 17.194664 105.433632 8.800482 v 17.741911 105.408745 8.396766 v 18.177805 105.252869 7.703630 v 18.083128 104.830368 8.741158 v 17.750082 105.133667 8.867227 v 17.204170 104.588562 9.600844 v 16.836056 104.844086 9.709311 v 15.956671 105.054008 10.687916 v 15.563913 105.618225 10.427876 v 15.412329 105.651146 10.818176 v 15.327091 105.700752 11.272152 v 15.291994 105.206161 11.819250 v 15.147518 105.289650 11.906345 v 15.072454 105.183868 11.911849 v 15.013601 105.202621 11.955791 v 14.822027 105.059341 12.510599 v 14.651320 104.850624 12.855791 v 14.330688 104.794365 12.897525 v 14.155367 104.706856 12.748871 v 14.134493 104.626587 12.804688 v 14.095793 104.640182 12.701291 v 14.109114 104.806259 12.227560 v 14.044613 104.637177 12.656003 v 14.057083 104.796249 12.231788 v 14.015087 104.648155 12.179655 v 14.071575 104.361183 12.016589 v 14.229721 104.300369 11.483368 v 14.454554 104.545807 10.612376 v 14.439205 103.861046 11.815623 v 14.844849 104.146057 10.557146 v 15.342314 104.120178 10.674212 v 14.935291 103.846832 11.931806 v 15.326960 104.089622 12.152041 v 15.730621 104.374107 10.892820 v 15.784843 104.888275 11.116539 v 15.658329 104.630775 10.821303 v 15.758356 105.126091 10.932180 v 15.720373 104.452904 10.829179 v 15.311529 104.194931 10.640058 v 15.284119 104.369675 10.596987 v 14.806870 104.411789 10.440539 v 14.861763 104.232285 10.386028 v 14.481701 104.797699 10.361453 v 15.322893 103.948914 9.250431 v 15.809435 103.868530 9.617620 v 16.513927 104.198410 9.858315 v 16.852695 103.665367 9.779952 v 16.663155 102.844643 9.597917 v 16.690413 103.125702 9.410039 v 16.826254 102.491859 10.438606 v 17.327730 101.765625 10.623763 v 17.213415 101.296333 11.134618 v 16.412752 100.193604 12.718097 v 16.672989 99.603615 12.402351 v 17.238274 99.155930 12.437716 v 18.026680 99.372658 13.838681 v 18.762415 101.200401 12.532406 v 18.488245 102.354408 11.407574 v 18.580662 103.439026 10.707911 v 18.666220 103.481262 9.709291 v 17.887329 104.119400 10.181502 v 17.328550 104.206589 9.715513 v 16.612093 103.276657 10.687922 v 16.428867 102.953491 11.319246 v 16.741461 102.416061 11.079846 v 17.458124 101.833847 11.176476 v 16.070429 101.472984 12.605594 v 16.649853 101.096909 12.647139 v 18.214100 102.402351 12.129841 v 17.211155 101.487930 13.709304 v 17.824293 103.086075 12.363910 v 18.219894 103.417542 11.467854 v 17.481047 103.879677 11.301838 v 18.119419 101.708359 12.470253 v 17.173624 100.437408 14.124945 v 16.981236 100.216202 14.604723 v 16.549929 99.941017 13.489065 v 16.783861 99.495293 13.171376 v 17.167507 99.071465 13.197331 v 17.887270 99.093353 14.304375 v 17.573925 98.844017 14.576316 v 17.533154 99.681290 14.642570 v 17.010592 99.186287 14.965492 v 16.725456 99.888176 14.854200 v 16.126652 98.389565 15.316096 v 15.434835 98.680222 15.266610 v 16.235846 99.712204 13.714726 v 17.958670 100.204971 13.912066 v 16.555851 99.270103 13.356872 v 16.989826 98.790817 13.470738 v 16.222012 97.717506 15.009725 v 16.073133 97.501228 15.137086 v 15.690380 97.992043 15.493093 v 15.226154 98.537903 15.415848 v 15.055473 98.340347 15.353293 v 15.124765 98.599602 14.281322 v 14.876007 98.497597 14.210647 v 15.422283 98.212814 13.932276 v 15.514101 98.342796 13.683782 v 15.807100 97.764450 14.056723 v 15.619850 97.585693 13.961653 v 15.825659 97.396889 15.097612 v 15.274113 97.696480 15.362005 v 14.463449 97.916283 15.106986 v 14.364040 98.042107 14.181646 v 14.645195 97.621567 13.858369 v 15.273935 98.129921 13.848453 v 15.058865 97.190254 13.949065 v 15.213335 96.996964 14.855947 v 14.987844 97.494362 15.272300 v 14.861580 97.387527 15.291052 v 14.436010 97.707458 15.218051 v 13.794680 97.345673 14.869567 v 13.742619 97.448631 14.219182 v 13.972342 97.060989 13.920323 v 14.361067 96.690475 14.012175 v 14.450279 96.541924 14.650094 v 15.039722 96.967293 15.015974 v 14.755869 97.333138 15.183074 v 14.386553 97.576920 15.107586 v 13.847843 97.243805 14.998090 v 13.383316 96.850159 14.722280 v 13.427546 96.794899 14.862071 v 13.439035 96.736893 14.840976 v 13.400337 96.756516 14.741702 v 13.487083 96.979759 14.399333 v 13.601387 96.671616 14.241790 v 13.543629 96.482513 14.745207 v 13.765745 96.308533 14.619379 v 13.905649 96.466629 14.259216 v 13.844561 96.284683 14.567883 v 14.401632 96.564903 14.812718 v 14.875376 96.977646 14.943965 v 14.392031 96.614937 14.818899 v 14.812162 96.956345 14.989884 v 14.695887 97.288353 15.170920 v 14.366421 96.635109 14.913627 v 14.167429 96.879951 15.112634 v 13.932301 97.167343 15.058954 v 14.363388 97.506531 15.140109 v 13.894258 97.225189 14.985531 v 13.512569 96.747681 14.914304 v 13.400042 96.636536 14.805840 v 13.477213 96.657715 14.880691 v 13.516430 96.439720 14.819041 v 13.474777 96.427544 14.743854 v 13.669867 96.305763 14.715532 v 13.728525 96.349617 14.796569 v 13.586428 96.475563 14.891168 v 13.830769 96.357590 14.807771 v 13.783190 96.315010 14.725798 v 13.656708 96.293076 14.643267 v 13.365627 96.649918 14.740701 v 13.840591 96.288506 14.723783 v 13.666149 96.529907 14.925618 v 16.023600 97.911400 13.794735 v 15.256714 98.848579 14.042867 v 17.198370 103.507301 12.270746 v 15.757774 102.063400 12.771153 v 15.973627 101.332619 13.001826 v 16.386154 101.062759 13.106025 v 17.089825 101.287209 14.054517 v 16.101501 100.630371 13.141332 v 16.750429 101.034935 14.111185 v 16.704950 101.841690 14.232040 v 16.169027 101.330643 14.477776 v 15.884645 101.970016 14.217157 v 14.917194 100.929634 14.872257 v 14.604492 100.768318 13.799142 v 15.300686 101.494331 13.234921 v 16.166430 102.285553 14.172639 v 16.340361 102.430359 13.825541 v 17.091702 102.272141 13.559283 v 15.755924 101.744141 13.186656 v 15.636648 101.024277 13.008099 v 14.893343 100.283585 13.585906 v 15.375553 99.936417 13.708995 v 15.693741 100.089859 14.779139 v 15.532129 100.709068 14.878080 v 15.182705 100.355553 15.163162 v 14.701965 100.769341 15.061884 v 14.443485 100.498230 14.094258 v 14.713209 100.091133 13.864754 v 15.120924 99.763885 14.010915 v 15.537130 99.864021 14.959125 v 14.825739 99.455421 13.947857 v 14.410925 99.827682 13.813920 v 14.098913 100.246986 14.041762 v 13.968443 99.411537 14.073940 v 14.370646 99.054459 14.208757 v 15.246805 99.671478 14.917262 v 14.630253 99.157631 15.016358 v 14.423208 99.665443 15.275446 v 14.786119 99.993896 15.205281 v 13.922611 99.928314 15.107771 v 14.480175 100.504463 15.013946 v 13.687117 99.798882 14.297059 v 13.263895 99.304642 14.600314 v 13.468662 98.914879 14.402242 v 13.879364 98.634377 14.520806 v 14.032644 98.662018 15.088462 v 14.508074 99.167603 15.187471 v 14.334328 99.577286 15.339277 v 13.941887 99.784241 15.260606 v 13.378477 99.374481 15.173022 v 13.103165 98.918640 14.926794 v 13.212423 98.626396 14.858948 v 13.520250 98.464409 14.872913 v 13.538101 98.394806 15.188927 v 14.007473 98.726151 15.227386 v 14.356316 99.146576 15.152162 v 14.236687 99.496620 15.280804 v 14.189970 99.453041 15.292438 v 13.901266 99.642159 15.210951 v 13.895205 99.591667 15.260709 v 13.498838 99.306694 15.285000 v 13.457317 99.325325 15.298473 v 13.075567 98.898521 15.248674 v 13.107128 98.824203 15.286634 v 13.258636 98.607529 15.339800 v 13.472075 98.426743 15.239509 v 13.382826 98.416023 15.282155 v 13.401512 98.448029 15.337298 v 13.499992 98.463371 15.324132 v 13.544857 98.525055 15.373890 v 13.455685 98.510979 15.384006 v 13.316288 98.644798 15.456668 v 13.251513 98.591347 15.417366 v 13.207573 98.781197 15.416073 v 13.133581 98.739830 15.371895 v 13.229237 98.868767 15.414663 v 13.157074 98.836853 15.368442 v 13.550516 99.279091 15.355312 v 13.141111 98.892418 15.372832 v 13.092894 98.731789 15.319605 v 13.207260 98.558105 15.364540 v 13.787088 99.071419 15.439004 v 13.381592 98.703499 15.457932 v 13.977985 98.813553 15.300066 v 13.991417 98.770271 15.221371 v 14.311728 99.138046 15.206864 v 13.554258 98.442459 15.319442 v 16.642725 103.228691 9.292672 v 16.180382 103.298470 9.172210 v 15.581366 103.507202 8.439732 v 15.822350 102.454643 7.732079 v 16.459024 101.891808 8.381245 v 15.489075 104.624611 11.960565 v 15.232964 104.660179 12.456723 v 15.046446 104.898911 12.567672 v 14.928265 105.008072 12.559527 v 14.892153 104.996635 12.522141 v 14.670265 104.780472 12.917547 v 14.584873 104.736572 12.974226 v 14.574924 104.809357 12.906798 v 14.322874 104.722710 12.962437 v 14.326815 104.651581 12.995637 v 14.125824 104.558861 12.812625 v 14.094612 104.541924 12.708163 v 14.353060 104.660706 12.920048 v 14.611744 104.677544 12.995557 v 14.704563 104.690842 12.937813 v 14.805925 104.682648 12.927907 v 14.511747 104.263725 12.772556 v 14.035967 104.494598 12.638080 v 14.175524 104.223335 12.525416 v 14.903688 104.410805 12.801369 v 14.734095 104.805557 12.915510 v 20.081770 98.156761 11.224461 v 19.501871 98.291130 11.499538 v 18.849867 98.204170 10.743343 v 18.976194 97.761818 10.422497 v 19.439085 97.463516 10.296282 v 20.111902 97.537125 11.040787 v 19.918024 97.819244 11.578921 v 19.466536 98.197212 11.676090 v 19.035463 98.104736 10.989516 v 19.182066 97.795105 10.642547 v 19.107838 97.750031 10.609126 v 19.552797 97.475937 10.603872 v 20.112606 97.411926 11.194472 v 19.473869 97.339760 10.586689 v 18.649340 97.154755 10.959854 v 19.080141 96.832794 10.884458 v 19.966385 97.318214 11.263241 v 19.430765 96.687981 11.660297 v 19.625584 97.496529 11.724469 v 19.366192 98.035645 11.706785 v 18.857306 97.347923 12.073355 v 18.490173 97.526306 11.316678 v 18.882193 98.035294 11.020181 v 18.685715 97.031792 11.221387 v 19.044954 96.693520 11.193080 v 19.388369 96.501030 11.808396 v 18.870401 96.555328 11.150080 v 18.567453 96.937889 11.204303 v 18.498812 97.308899 11.579938 v 18.754282 97.215508 12.257516 v 18.299887 97.171730 11.541014 v 18.214909 96.613251 11.214972 v 18.532688 96.274811 11.169755 v 19.203283 96.404633 11.808337 v 18.680290 96.037628 11.727061 v 18.538797 96.359787 12.083176 v 18.795637 96.565659 12.120624 v 18.120468 96.642494 12.110645 v 18.455652 96.255013 12.129835 v 18.132368 96.481667 12.169625 v 17.653994 96.263435 11.976260 v 17.619009 96.394218 11.648544 v 17.992323 96.858627 11.539976 v 17.821972 96.179024 11.340118 v 18.610632 97.058502 12.221169 v 19.127945 96.834953 12.146526 v 19.374662 97.178391 11.920855 v 18.111042 95.862617 11.311384 v 18.177082 95.698280 11.617873 v 18.581573 95.996338 11.861835 v 18.372496 96.224426 12.060412 v 18.093517 96.397545 12.081933 v 17.718035 96.176414 12.047664 v 17.388649 95.914909 11.868533 v 17.409479 96.037346 11.636640 v 17.412235 95.843842 11.867814 v 17.501076 95.819626 11.464847 v 17.542908 95.635788 11.811368 v 17.711365 95.520668 11.662881 v 17.748411 95.671143 11.404375 v 17.764460 95.508881 11.611047 v 17.736013 95.516014 11.737981 v 17.780159 95.497528 11.724614 v 18.147007 95.735802 11.758052 v 18.137739 95.741699 11.832862 v 18.419415 95.984718 11.872640 v 18.332905 96.192467 12.054597 v 17.991848 95.896461 12.036670 v 17.793440 96.113670 12.068784 v 18.087130 96.343735 12.100301 v 17.751406 96.163200 12.029113 v 17.443275 95.861488 11.955440 v 17.454365 95.820312 11.930951 v 17.431646 95.749657 11.898561 v 17.397505 95.765587 11.858582 v 17.499430 95.595383 11.813286 v 17.537291 95.597763 11.862945 v 17.654726 95.508659 11.745722 v 17.701281 95.534294 11.801700 v 17.592442 95.617798 11.909360 v 17.774897 95.540466 11.796078 v 17.647873 95.654839 11.929584 v 17.515203 95.821091 11.974012 v 17.494291 95.757935 11.943512 v 17.638042 95.505699 11.693772 v 18.455822 96.006119 11.833717 v 18.159231 95.699760 11.745373 v 19.100885 98.118317 13.050161 v 19.080576 98.907875 13.150065 v 18.343889 99.096008 13.416863 v 17.484453 98.742989 12.603461 v 17.665644 98.152779 12.334543 v 18.218979 97.770683 12.245683 v 19.201290 98.088203 13.144883 v 18.910177 98.635338 13.514727 v 18.375906 99.128448 13.542641 v 17.902044 98.863213 12.616332 v 18.084846 98.463058 12.315017 v 18.495676 98.115143 12.330281 v 18.676750 98.186630 11.985053 v 19.093197 98.083267 13.075956 v 18.617420 98.375771 13.555640 v 18.316236 99.038849 13.448429 v 17.433632 98.130058 13.718717 v 17.197735 98.318031 12.621813 v 17.915817 99.099998 12.348026 v 18.250525 98.693680 11.947891 v 17.434778 97.889893 12.302289 v 17.877216 97.502419 12.297673 v 18.162397 97.260811 13.370554 v 18.108477 97.885902 13.700086 v 17.729111 97.481155 13.939765 v 17.278343 97.966133 13.917846 v 17.078985 98.037605 12.972086 v 17.347515 97.684128 12.670406 v 17.659964 97.281769 12.586068 v 18.046658 97.055504 13.550183 v 17.483284 97.032639 12.577152 v 17.140785 97.531776 12.649638 v 16.783880 97.897285 13.022856 v 16.665905 97.138535 12.640598 v 17.067358 96.677429 12.664666 v 17.808838 96.923058 13.529361 v 17.176514 96.410179 13.444945 v 16.940409 96.844154 13.902794 v 17.323067 97.150574 13.932628 v 16.430775 97.282837 13.802843 v 16.834423 96.746490 13.924434 v 16.424782 97.079811 13.901392 v 15.816147 96.817413 13.592666 v 15.768950 96.967667 13.018676 v 16.354490 97.511620 13.006811 v 17.085621 97.774750 13.875953 v 16.062702 96.628593 12.664219 v 16.433167 96.190399 12.699910 v 16.526110 95.986664 13.251937 v 17.028460 96.373413 13.611676 v 16.734657 96.705849 13.822222 v 16.379656 96.964691 13.788644 v 15.881804 96.706856 13.707667 v 15.459797 96.377113 13.446949 v 15.543787 96.521805 13.129207 v 15.484428 96.282921 13.458040 v 15.712286 96.222328 12.934988 v 15.660398 95.975883 13.420298 v 15.910290 95.784576 13.253642 v 16.016470 95.968674 12.902345 v 15.985489 95.761971 13.194689 v 16.485430 96.000526 13.417961 v 16.870440 96.390373 13.553120 v 16.469585 96.049072 13.429292 v 16.817030 96.367867 13.600907 v 16.682346 96.666595 13.811513 v 16.364441 96.897491 13.818125 v 15.926273 96.684853 13.690055 v 15.513985 96.312546 13.577111 v 15.528214 96.255608 13.551249 v 15.497446 96.162521 13.512783 v 15.460171 96.181793 13.452389 v 15.601442 95.926674 13.420082 v 15.643599 95.931915 13.491813 v 15.825123 95.779121 13.355550 v 15.878647 95.814781 13.434761 v 15.709700 95.958603 13.560102 v 15.974798 95.818413 13.438601 v 15.931490 95.783707 13.357679 v 15.810612 95.771683 13.284191 v 15.989435 95.756157 13.348907 v 16.447533 96.063690 13.526397 v 16.225578 96.304634 13.763895 v 15.970970 96.621330 13.755115 v 15.600859 96.255997 13.618078 v 15.572790 96.172691 13.581543 v 15.780838 96.004761 13.591941 vt 0.842838 0.178799 vt 0.837437 0.183087 vt 0.836889 0.179245 vt 0.842760 0.183394 vt 0.850879 0.178282 vt 0.850172 0.183173 vt 0.851508 0.178210 vt 0.851544 0.184540 vt 0.850744 0.183641 vt 0.852638 0.178106 vt 0.852830 0.186071 vt 0.853937 0.178073 vt 0.860863 0.178232 vt 0.860973 0.184284 vt 0.866608 0.184893 vt 0.867317 0.178475 vt 0.872031 0.185005 vt 0.872213 0.178528 vt 0.889567 0.186381 vt 0.872480 0.194656 vt 0.888193 0.197191 vt 0.905086 0.188276 vt 0.901780 0.200550 vt 0.921865 0.189071 vt 0.919124 0.206430 vt 0.935857 0.185036 vt 0.939017 0.199922 vt 0.939545 0.213644 vt 0.950337 0.219347 vt 0.930718 0.224494 vt 0.938332 0.231096 vt 0.920052 0.236677 vt 0.923241 0.244709 vt 0.909130 0.240084 vt 0.907829 0.258958 vt 0.899586 0.236461 vt 0.889426 0.244437 vt 0.887664 0.261777 vt 0.895025 0.271465 vt 0.879729 0.267707 vt 0.883057 0.273230 vt 0.888495 0.285771 vt 0.881285 0.291958 vt 0.901318 0.087781 vt 0.894843 0.097158 vt 0.888649 0.082814 vt 0.901691 0.101694 vt 0.900746 0.113514 vt 0.911588 0.108111 vt 0.926547 0.116357 vt 0.919041 0.128456 vt 0.934242 0.137437 vt 0.910020 0.141896 vt 0.924464 0.149324 vt 0.949019 0.146482 vt 0.955912 0.134932 vt 0.961960 0.161001 vt 0.941225 0.159382 vt 0.959489 0.178864 vt 0.632098 0.462562 vt 0.621712 0.480258 vt 0.621712 0.462562 vt 0.632098 0.480258 vt 0.643476 0.462562 vt 0.643476 0.480258 vt 0.662016 0.480258 vt 0.662016 0.462562 vt 0.710575 0.480259 vt 0.662016 0.497603 vt 0.710574 0.497604 vt 0.710574 0.514839 vt 0.662016 0.514838 vt 0.662016 0.528756 vt 0.710574 0.528757 vt 0.710575 0.385757 vt 0.662017 0.370712 vt 0.710576 0.370713 vt 0.662017 0.385757 vt 0.710575 0.404873 vt 0.662017 0.404872 vt 0.662017 0.421202 vt 0.710575 0.421203 vt 0.759343 0.421203 vt 0.710575 0.442136 vt 0.759343 0.442136 vt 0.783904 0.421204 vt 0.783904 0.442137 vt 0.812735 0.442137 vt 0.783904 0.462564 vt 0.812734 0.462564 vt 0.827711 0.462564 vt 0.827711 0.442137 vt 0.842607 0.442137 vt 0.842607 0.462564 vt 0.886032 0.462565 vt 0.886033 0.442138 vt 0.886033 0.421205 vt 0.842607 0.421204 vt 0.842607 0.404874 vt 0.827711 0.421204 vt 0.812735 0.421204 vt 0.812735 0.404874 vt 0.783905 0.404873 vt 0.759344 0.404873 vt 0.759344 0.385758 vt 0.759344 0.370713 vt 0.759342 0.528758 vt 0.759343 0.514839 vt 0.759343 0.497605 vt 0.759343 0.480260 vt 0.783904 0.497605 vt 0.783904 0.480260 vt 0.812734 0.480260 vt 0.812734 0.497605 vt 0.827710 0.497605 vt 0.827711 0.480260 vt 0.842607 0.480261 vt 0.886032 0.480261 vt 0.932329 0.480262 vt 0.932329 0.462565 vt 0.932329 0.442138 vt 0.932329 0.421205 vt 0.886033 0.404875 vt 0.886033 0.385760 vt 0.842607 0.385759 vt 0.827711 0.385759 vt 0.827711 0.404874 vt 0.812735 0.385759 vt 0.783905 0.385758 vt 0.783905 0.370714 vt 0.783903 0.528758 vt 0.783904 0.514839 vt 0.812734 0.514840 vt 0.812734 0.528758 vt 0.812735 0.370714 vt 0.827712 0.370714 vt 0.827710 0.528759 vt 0.827710 0.514840 vt 0.842606 0.514840 vt 0.842606 0.497606 vt 0.886032 0.497606 vt 0.886032 0.514841 vt 0.932328 0.514841 vt 0.932329 0.497607 vt 0.993005 0.497607 vt 0.993005 0.514842 vt 0.993005 0.528760 vt 0.932328 0.528760 vt 0.886032 0.528759 vt 0.842606 0.528759 vt 0.842608 0.370714 vt 0.886033 0.370715 vt 0.932330 0.385760 vt 0.932330 0.370716 vt 0.993006 0.370716 vt 0.993006 0.385761 vt 0.993006 0.404876 vt 0.932329 0.404875 vt 0.993006 0.421206 vt 0.993006 0.442139 vt 0.993005 0.462566 vt 0.993005 0.480262 vt 0.759343 0.462563 vt 0.710575 0.462563 vt 0.662017 0.442135 vt 0.643476 0.442135 vt 0.632099 0.442135 vt 0.621712 0.442135 vt 0.972508 0.141505 vt 0.962546 0.125726 vt 0.942201 0.126280 vt 0.934831 0.104175 vt 0.923149 0.095344 vt 0.911762 0.097160 vt 0.914923 0.087812 vt 0.926818 0.082493 vt 0.909238 0.081065 vt 0.901133 0.067913 vt 0.893855 0.073995 vt 0.891278 0.081386 vt 0.885932 0.075977 vt 0.907151 0.275700 vt 0.890900 0.287249 vt 0.898241 0.287970 vt 0.919415 0.283692 vt 0.905550 0.294588 vt 0.916489 0.297672 vt 0.910973 0.303711 vt 0.919804 0.071913 vt 0.908500 0.062014 vt 0.929717 0.065262 vt 0.923837 0.053461 vt 0.917206 0.056528 vt 0.913940 0.065376 vt 0.910506 0.058077 vt 0.928500 0.287096 vt 0.917180 0.301342 vt 0.923339 0.303016 vt 0.938220 0.291090 vt 0.929000 0.306682 vt 0.945755 0.303966 vt 0.938477 0.313889 vt 0.938439 0.062285 vt 0.930458 0.050276 vt 0.931634 0.073127 vt 0.938510 0.080828 vt 0.944071 0.091947 vt 0.950081 0.115832 vt 0.969822 0.114323 vt 0.983376 0.124933 vt 0.632099 0.421202 vt 0.621713 0.421202 vt 0.643476 0.421202 vt 0.643476 0.404872 vt 0.632099 0.404872 vt 0.621713 0.404872 vt 0.993702 0.114117 vt 0.980695 0.101160 vt 0.969288 0.091449 vt 0.958815 0.103777 vt 0.955134 0.081387 vt 0.943241 0.070429 vt 0.941609 0.280236 vt 0.953068 0.293767 vt 0.927623 0.271097 vt 0.937469 0.255556 vt 0.950210 0.269257 vt 0.960878 0.255737 vt 0.949657 0.242412 vt 0.959730 0.231164 vt 0.969837 0.244620 vt 0.984609 0.257784 vt 0.974715 0.269995 vt 0.962396 0.285037 vt 0.994849 0.242262 vt 0.984444 0.228679 vt 0.978415 0.216660 vt 0.621713 0.385757 vt 0.621713 0.370712 vt 0.632099 0.370712 vt 0.632098 0.528756 vt 0.621712 0.528756 vt 0.632098 0.514838 vt 0.621712 0.514838 vt 0.972000 0.205644 vt 0.963062 0.192825 vt 0.951660 0.196999 vt 0.949215 0.180369 vt 0.621712 0.497603 vt 0.632098 0.497603 vt 0.643475 0.497603 vt 0.643475 0.514838 vt 0.643475 0.528756 vt 0.643477 0.370712 vt 0.632099 0.385757 vt 0.643476 0.385757 vt 0.926981 0.165481 vt 0.915046 0.169859 vt 0.903282 0.173553 vt 0.889440 0.177509 vt 0.889684 0.168767 vt 0.899403 0.164887 vt 0.907238 0.160753 vt 0.917457 0.155927 vt 0.906039 0.149134 vt 0.902890 0.155582 vt 0.890615 0.152317 vt 0.887138 0.158510 vt 0.871924 0.163334 vt 0.871968 0.172319 vt 0.866428 0.172176 vt 0.860639 0.172122 vt 0.852414 0.170001 vt 0.851279 0.171766 vt 0.850420 0.172921 vt 0.849847 0.173510 vt 0.842424 0.174228 vt 0.837243 0.175414 vt 0.836051 0.179308 vt 0.836567 0.182346 vt 0.836249 0.183804 vt 0.835453 0.182647 vt 0.842534 0.184382 vt 0.842253 0.184811 vt 0.842046 0.186595 vt 0.843028 0.190302 vt 0.849652 0.192783 vt 0.861522 0.194169 vt 0.845010 0.196949 vt 0.861286 0.200530 vt 0.859931 0.206048 vt 0.843967 0.201699 vt 0.841280 0.206112 vt 0.857091 0.211219 vt 0.853559 0.217120 vt 0.860837 0.213477 vt 0.857180 0.219091 vt 0.864846 0.214024 vt 0.867825 0.208713 vt 0.864364 0.207438 vt 0.865959 0.200537 vt 0.869702 0.202617 vt 0.866499 0.193448 vt 0.884714 0.206468 vt 0.881629 0.214479 vt 0.876243 0.223472 vt 0.861338 0.220981 vt 0.868306 0.227115 vt 0.875768 0.230885 vt 0.882294 0.235085 vt 0.886790 0.229252 vt 0.871093 0.240593 vt 0.875471 0.250784 vt 0.873562 0.264159 vt 0.853736 0.274921 vt 0.858020 0.281663 vt 0.861389 0.288690 vt 0.863367 0.301650 vt 0.883887 0.090971 vt 0.868928 0.071490 vt 0.887265 0.106164 vt 0.890426 0.120010 vt 0.901235 0.125552 vt 0.890344 0.133451 vt 0.890186 0.144323 vt 0.871595 0.140672 vt 0.881625 0.147822 vt 0.868455 0.230245 vt 0.866051 0.233671 vt 0.857998 0.235565 vt 0.862997 0.243713 vt 0.865288 0.252270 vt 0.841825 0.250397 vt 0.844412 0.257290 vt 0.862803 0.264051 vt 0.842902 0.271022 vt 0.876478 0.106680 vt 0.873698 0.116610 vt 0.850496 0.102760 vt 0.881545 0.117935 vt 0.877745 0.129555 vt 0.869938 0.261268 vt 0.875099 0.104913 vt 0.878817 0.099218 vt 0.871558 0.103651 vt 0.859751 0.085810 vt 0.855237 0.098653 vt 0.856788 0.084183 vt 0.850359 0.093684 vt 0.849466 0.278195 vt 0.853005 0.284492 vt 0.856052 0.291261 vt 0.860691 0.303701 vt 0.857300 0.304307 vt 0.861670 0.076748 vt 0.862675 0.067800 vt 0.866070 0.069389 vt 0.855694 0.073258 vt 0.854262 0.082135 vt 0.845071 0.067069 vt 0.837731 0.072047 vt 0.844280 0.091562 vt 0.868683 0.081232 vt 0.844281 0.280675 vt 0.847602 0.287036 vt 0.850809 0.293199 vt 0.840307 0.313590 vt 0.845476 0.058468 vt 0.842098 0.056281 vt 0.838800 0.063495 vt 0.835094 0.070116 vt 0.832058 0.068728 vt 0.827913 0.080558 vt 0.822642 0.078762 vt 0.825883 0.289772 vt 0.829020 0.296255 vt 0.820925 0.291797 vt 0.833049 0.294248 vt 0.832388 0.303196 vt 0.827349 0.304571 vt 0.833830 0.316377 vt 0.837423 0.315709 vt 0.838087 0.055043 vt 0.832857 0.060881 vt 0.823346 0.065548 vt 0.816431 0.073824 vt 0.816624 0.301802 vt 0.813560 0.295711 vt 0.824800 0.297946 vt 0.820364 0.307534 vt 0.824221 0.317478 vt 0.828525 0.059196 vt 0.829214 0.051164 vt 0.826871 0.058547 vt 0.822882 0.063067 vt 0.813789 0.061225 vt 0.809149 0.067054 vt 0.808374 0.306796 vt 0.804827 0.302100 vt 0.811869 0.311399 vt 0.813160 0.318517 vt 0.827037 0.052562 vt 0.819020 0.047608 vt 0.825233 0.057915 vt 0.821760 0.061672 vt 0.814674 0.059677 vt 0.807218 0.057183 vt 0.808517 0.056037 vt 0.806927 0.055441 vt 0.808387 0.055494 vt 0.800807 0.308452 vt 0.797904 0.312819 vt 0.797597 0.311755 vt 0.803523 0.311375 vt 0.799938 0.316050 vt 0.803428 0.317542 vt 0.806460 0.314110 vt 0.804822 0.317821 vt 0.818618 0.049488 vt 0.811000 0.047045 vt 0.824497 0.057638 vt 0.818593 0.051037 vt 0.824482 0.053161 vt 0.817482 0.054980 vt 0.815682 0.058648 vt 0.821450 0.060973 vt 0.809652 0.055449 vt 0.808021 0.054331 vt 0.809116 0.054570 vt 0.809294 0.052111 vt 0.810847 0.050138 vt 0.809862 0.049626 vt 0.811843 0.049801 vt 0.810941 0.049000 vt 0.809762 0.048106 vt 0.811433 0.048672 vt 0.818751 0.049998 vt 0.810875 0.052666 vt 0.810103 0.052397 vt 0.825158 0.052857 vt 0.806143 0.061257 vt 0.837121 0.300519 vt 0.830381 0.287167 vt 0.831812 0.084481 vt 0.869919 0.125744 vt 0.864567 0.136266 vt 0.843603 0.131497 vt 0.839765 0.243029 vt 0.836713 0.251916 vt 0.838153 0.258547 vt 0.839836 0.272903 vt 0.832422 0.258797 vt 0.835985 0.271656 vt 0.844360 0.108641 vt 0.842332 0.100390 vt 0.846452 0.101313 vt 0.836743 0.107059 vt 0.837466 0.115618 vt 0.822861 0.111287 vt 0.820810 0.124045 vt 0.833077 0.128365 vt 0.841212 0.116506 vt 0.844520 0.118064 vt 0.852934 0.111698 vt 0.838832 0.128236 vt 0.834438 0.245019 vt 0.831421 0.252440 vt 0.817994 0.254501 vt 0.819439 0.260940 vt 0.819117 0.273473 vt 0.827251 0.104994 vt 0.825786 0.097670 vt 0.821229 0.103682 vt 0.819876 0.110300 vt 0.816655 0.121302 vt 0.817099 0.247815 vt 0.813208 0.255384 vt 0.812143 0.248987 vt 0.814373 0.262295 vt 0.815823 0.274570 vt 0.809460 0.261920 vt 0.808275 0.255901 vt 0.807027 0.249703 vt 0.801012 0.257115 vt 0.802334 0.263297 vt 0.812164 0.273455 vt 0.802828 0.273007 vt 0.818198 0.096340 vt 0.810357 0.102815 vt 0.809020 0.095848 vt 0.815568 0.103183 vt 0.807853 0.109260 vt 0.816544 0.110477 vt 0.804611 0.118479 vt 0.797163 0.114795 vt 0.799188 0.251371 vt 0.792800 0.259491 vt 0.790761 0.254608 vt 0.811473 0.121600 vt 0.822135 0.096691 vt 0.794681 0.264665 vt 0.793465 0.271039 vt 0.807535 0.097603 vt 0.799742 0.095316 vt 0.808882 0.102694 vt 0.806837 0.107300 vt 0.798933 0.108422 vt 0.792640 0.110625 vt 0.787070 0.262358 vt 0.785531 0.259233 vt 0.789023 0.265624 vt 0.786730 0.268415 vt 0.799880 0.097046 vt 0.793000 0.097002 vt 0.807354 0.102603 vt 0.806047 0.098348 vt 0.799243 0.106866 vt 0.805545 0.106433 vt 0.792478 0.106857 vt 0.781941 0.262214 vt 0.781930 0.261196 vt 0.782803 0.265452 vt 0.785576 0.267796 vt 0.793451 0.098725 vt 0.792714 0.099548 vt 0.792232 0.098263 vt 0.794390 0.099176 vt 0.794030 0.104667 vt 0.792994 0.105061 vt 0.792381 0.104169 vt 0.799795 0.105719 vt 0.793253 0.105510 vt 0.791754 0.105434 vt 0.805115 0.105927 vt 0.806674 0.102566 vt 0.800261 0.102226 vt 0.794268 0.102078 vt 0.800220 0.098396 vt 0.805566 0.098784 vt 0.793794 0.098285 vt 0.830067 0.245754 vt 0.888914 0.225004 vt 0.890604 0.220257 vt 0.896127 0.209563 vt 0.911432 0.216362 vt 0.904746 0.230348 vt 0.866270 0.163984 vt 0.861248 0.161997 vt 0.848684 0.163011 vt 0.842023 0.166889 vt 0.841732 0.170877 vt 0.842032 0.172759 vt 0.842213 0.173209 vt 0.836132 0.174937 vt 0.835344 0.176094 vt 0.835202 0.179360 vt 0.836453 0.176272 vt 0.827846 0.199165 vt 0.828236 0.194431 vt 0.828031 0.200429 vt 0.832936 0.196442 vt 0.832052 0.189846 vt 0.835804 0.186369 vt 0.834918 0.184366 vt 0.836618 0.184563 vt 0.836102 0.191570 vt 0.831817 0.202046 vt 0.841822 0.212613 vt 0.834859 0.208882 vt 0.835689 0.172668 vt 0.835289 0.168686 vt 0.836571 0.174188 vt 0.834792 0.174464 vt 0.920690 0.045745 vt 0.913233 0.044959 vt 0.905398 0.049651 vt 0.918029 0.315254 vt 0.912345 0.312804 vt 0.923716 0.317168 vt 0.931313 0.324482 vt 0.925257 0.039854 vt 0.918597 0.040438 vt 0.912685 0.042775 vt 0.904180 0.046094 vt 0.917003 0.318359 vt 0.911300 0.316790 vt 0.915684 0.321784 vt 0.922806 0.320905 vt 0.931280 0.325858 vt 0.920893 0.324326 vt 0.913150 0.330958 vt 0.918868 0.332026 vt 0.930082 0.327039 vt 0.926590 0.336589 vt 0.923447 0.035698 vt 0.916489 0.035547 vt 0.919148 0.026302 vt 0.924623 0.037810 vt 0.911515 0.040562 vt 0.908151 0.030725 vt 0.900384 0.034973 vt 0.902372 0.042596 vt 0.909721 0.320880 vt 0.907434 0.329170 vt 0.912539 0.334304 vt 0.918669 0.335723 vt 0.927045 0.338452 vt 0.916995 0.339044 vt 0.911775 0.337585 vt 0.906762 0.333148 vt 0.900258 0.031294 vt 0.907885 0.028674 vt 0.897689 0.027819 vt 0.906274 0.337174 vt 0.910817 0.342949 vt 0.915912 0.343735 vt 0.925712 0.340051 vt 0.922350 0.346550 vt 0.917288 0.021845 vt 0.909499 0.019312 vt 0.913811 0.015247 vt 0.911103 0.022403 vt 0.903591 0.020445 vt 0.908822 0.017975 vt 0.904518 0.018876 vt 0.900407 0.014086 vt 0.896705 0.015521 vt 0.896779 0.022669 vt 0.905629 0.342581 vt 0.910284 0.349638 vt 0.905424 0.350047 vt 0.906783 0.026891 vt 0.913143 0.026564 vt 0.918547 0.024052 vt 0.914799 0.031144 vt 0.915117 0.350352 vt 0.918381 0.352681 vt 0.911978 0.014954 vt 0.910415 0.008685 vt 0.908275 0.016928 vt 0.904594 0.017580 vt 0.901648 0.013601 vt 0.898888 0.009020 vt 0.896248 0.010676 vt 0.910303 0.355048 vt 0.908153 0.358795 vt 0.907228 0.355090 vt 0.911261 0.359209 vt 0.914007 0.357749 vt 0.913300 0.354547 vt 0.906431 0.004837 vt 0.905394 0.005907 vt 0.905202 0.004862 vt 0.908045 0.016492 vt 0.908411 0.010358 vt 0.910315 0.014121 vt 0.905656 0.012064 vt 0.902714 0.013402 vt 0.904779 0.017052 vt 0.900177 0.008970 vt 0.899608 0.007871 vt 0.900405 0.008552 vt 0.901122 0.009060 vt 0.903314 0.007938 vt 0.905464 0.006751 vt 0.909252 0.009535 vt 0.905877 0.005950 vt 0.910821 0.014246 vt 0.914827 0.357012 vt 0.894918 0.046717 vt 0.891594 0.055376 vt 0.882337 0.056436 vt 0.873689 0.064273 vt 0.888022 0.304252 vt 0.882654 0.298741 vt 0.894149 0.308048 vt 0.900939 0.317376 vt 0.900274 0.320014 vt 0.893571 0.044482 vt 0.887330 0.049491 vt 0.881188 0.054060 vt 0.871629 0.061580 vt 0.880543 0.303716 vt 0.885779 0.307506 vt 0.891293 0.311962 vt 0.888428 0.315263 vt 0.897824 0.321930 vt 0.891463 0.042198 vt 0.883335 0.044635 vt 0.879151 0.052253 vt 0.869177 0.039362 vt 0.860795 0.048253 vt 0.868009 0.058479 vt 0.883266 0.310477 vt 0.876969 0.306681 vt 0.875063 0.321413 vt 0.880466 0.324949 vt 0.888058 0.334188 vt 0.877424 0.037410 vt 0.880783 0.029961 vt 0.873548 0.032622 vt 0.868061 0.037061 vt 0.859336 0.043512 vt 0.869986 0.317238 vt 0.872277 0.325050 vt 0.867065 0.321389 vt 0.877336 0.329195 vt 0.887412 0.336770 vt 0.874551 0.332745 vt 0.869507 0.328630 vt 0.863489 0.324838 vt 0.865546 0.334278 vt 0.871514 0.338011 vt 0.884877 0.338373 vt 0.878088 0.344928 vt 0.876825 0.025271 vt 0.866278 0.024773 vt 0.870504 0.018138 vt 0.869803 0.028572 vt 0.859518 0.028759 vt 0.865254 0.023689 vt 0.860101 0.026520 vt 0.852956 0.022390 vt 0.847424 0.026138 vt 0.851988 0.034421 vt 0.865778 0.035338 vt 0.855764 0.040053 vt 0.878961 0.027713 vt 0.859597 0.330711 vt 0.861023 0.341720 vt 0.866233 0.344959 vt 0.869986 0.350271 vt 0.868089 0.018572 vt 0.863692 0.011372 vt 0.864112 0.022576 vt 0.859679 0.024929 vt 0.854339 0.021292 vt 0.848975 0.016842 vt 0.846388 0.020204 vt 0.854541 0.346366 vt 0.853664 0.351389 vt 0.852922 0.350553 vt 0.858676 0.347756 vt 0.857362 0.353661 vt 0.861682 0.353551 vt 0.862801 0.349201 vt 0.863096 0.353185 vt 0.862579 0.012936 vt 0.857244 0.008188 vt 0.850614 0.016241 vt 0.849462 0.015104 vt 0.850744 0.015645 vt 0.850870 0.014493 vt 0.856790 0.010987 vt 0.855204 0.010115 vt 0.856380 0.009964 vt 0.855722 0.008719 vt 0.862416 0.013422 vt 0.861832 0.014293 vt 0.865650 0.018200 vt 0.863634 0.022129 vt 0.858908 0.017642 vt 0.855640 0.020648 vt 0.859706 0.024237 vt 0.851874 0.015984 vt 0.851771 0.015027 vt 0.853180 0.012439 vt 0.854353 0.013495 vt 0.857001 0.009836 vt 0.866340 0.018146 vt 0.855109 0.339607 vt -8.460990 60.379379 vt -8.206886 60.027504 vt -8.177965 60.097862 vt 8.822780 60.157089 vt 8.622465 59.762329 vt 8.876925 60.113945 vt 13.984315 33.484772 vt 13.545693 33.495609 vt 13.557876 33.427456 vt -13.842990 35.611324 vt -13.416310 35.555832 vt -13.795394 35.670319 vt 13.732314 41.635761 vt 13.432740 41.596081 vt 13.432357 41.502579 vt 10.591091 70.149979 vt 10.352279 69.962463 vt 10.657739 70.084396 vt 10.596660 96.431725 vt 10.737661 96.324959 vt 10.695921 96.415802 vt 12.362244 50.874660 vt 12.629207 50.493816 vt 12.697278 50.500587 vt 13.274964 38.945854 vt 13.229000 38.919163 vt 13.387772 38.494656 vt 12.961361 33.529961 vt 13.098976 32.857960 vt 13.140035 32.891712 vt 10.274218 91.115471 vt 10.401778 90.998207 vt 10.420089 91.058258 vt 15.043215 95.362648 vt 14.556004 94.944740 vt 15.222637 95.352165 vt 13.853507 96.861801 vt 13.357208 96.495041 vt 13.365824 96.444450 vt -0.005246 71.136879 vt -0.078272 71.101875 vt -0.165084 70.540825 vt 4.350590 98.258423 vt 4.555058 97.919731 vt 4.633071 97.941452 vt 14.941442 84.228706 vt 14.476690 83.901382 vt 14.551892 83.834091 vt 14.951837 85.180748 vt 14.485497 84.776413 vt 14.952966 85.099838 vt 11.537032 92.546165 vt 11.009404 92.179054 vt 11.056707 92.158539 vt 10.781414 93.818336 vt 10.378214 93.334496 vt 10.828910 93.798271 vt 11.280144 94.746971 vt 10.821638 94.290909 vt 10.834367 94.229439 vt 14.309192 89.817635 vt 13.883385 89.283554 vt 14.387814 89.754364 vt 13.999948 96.757965 vt 13.843659 96.646820 vt 13.951166 96.667999 vt 13.024047 85.402336 vt 13.109818 85.415741 vt 13.035783 85.632477 vt 13.689115 53.779064 vt 13.669120 54.006664 vt 13.584809 53.985977 vt 13.883405 66.477402 vt 13.787733 66.666740 vt 13.695630 66.612862 vt 11.872072 80.083267 vt 12.009585 79.921730 vt 12.112242 79.931953 vt 11.414100 52.589828 vt 11.312364 52.572723 vt 11.256871 52.478642 vt 1.277762 34.954334 vt 1.142531 34.941746 vt 1.189699 34.884022 vt 12.364657 46.585289 vt 12.305268 46.809265 vt 12.293865 46.561935 vt -8.850468 94.506126 vt -8.986697 94.304855 vt -8.784489 94.447731 vt -8.904322 94.420799 vt -9.151699 94.235748 vt -9.040214 94.219299 vt -11.453515 96.623665 vt -11.631572 96.456261 vt -11.562709 96.401299 vt -11.518900 96.763405 vt -11.662234 96.489403 vt -11.484176 96.656807 vt 12.775829 94.652481 vt 12.849409 94.638603 vt 12.794418 94.763039 vt 11.944618 85.375519 vt 11.990527 85.132072 vt 12.018049 85.360870 vt 8.311617 29.876398 vt 8.467346 29.885519 vt 8.467771 29.948776 vt 12.984776 96.667610 vt 12.427067 96.337982 vt 12.993793 96.617081 vt 12.741583 96.253860 vt 12.128497 95.948189 vt 12.185697 95.921173 vt -1.656981 58.302326 vt -1.812845 57.709999 vt -1.762474 57.619122 vt 13.401567 96.215141 vt 13.465030 95.939438 vt 13.551427 95.994499 vt 14.073084 91.479324 vt 14.064716 91.249565 vt 14.164513 91.287346 vt 11.400860 85.161392 vt 11.321863 85.096161 vt 11.567871 84.954544 vt 10.660368 86.731979 vt 10.631994 86.656189 vt 10.954362 86.421272 vt 13.749856 97.569511 vt 14.065606 97.280945 vt 14.126808 97.325729 vt 10.312885 89.995880 vt 10.257381 89.944199 vt 10.484790 89.585663 vt 14.327634 90.165489 vt 14.172054 90.142807 vt 13.858109 89.689438 vt 7.517989 100.126396 vt 7.470605 100.081993 vt 7.679803 99.769737 vt 12.330380 92.019043 vt 12.623640 91.819656 vt 12.669532 91.865601 vt 8.438109 66.257118 vt 8.416486 66.189331 vt 8.685714 66.003250 vt 14.627237 74.901558 vt 14.341627 74.456146 vt 14.651048 74.834511 vt 9.095107 100.294472 vt 8.643851 99.975883 vt 8.687460 99.957146 vt -6.309224 98.510368 vt -6.545047 98.329575 vt -6.446133 98.318855 vt 4.028459 61.067886 vt 3.913655 61.110489 vt 3.931307 61.046432 vt 8.799510 79.670860 vt 8.710743 79.651558 vt 8.670444 79.565216 vt 9.568031 96.426865 vt 9.717682 96.284653 vt 9.807284 96.299614 vt 11.939561 87.682671 vt 11.871679 87.619507 vt 12.072275 87.524536 vt 13.927516 98.568817 vt 13.967184 98.378014 vt 14.042761 98.431732 vt 13.965070 98.528076 vt 13.878999 98.486481 vt 14.004469 98.337219 vt 14.193977 97.568817 vt 14.091134 97.438324 vt 14.177069 97.480202 vt 14.296133 85.012596 vt 14.099771 84.459465 vt 14.381691 84.980103 vt 8.925035 99.374161 vt 8.556691 98.959877 vt 8.573243 98.904312 vt 8.355353 99.762405 vt 8.031160 99.329025 vt 8.398997 99.743759 vt 12.722656 93.308640 vt 12.866405 93.244400 vt 12.863041 93.302277 vt 13.491662 94.995811 vt 13.510197 94.898415 vt 13.576399 94.906883 vt -9.795903 90.552467 vt -9.939250 90.324028 vt -9.777518 90.455040 vt -9.659293 89.855782 vt -9.820530 89.724167 vt -9.766180 89.671822 vt -6.329675 98.525833 vt -6.466587 98.334320 vt -6.272655 98.476410 vt 14.236825 65.708870 vt 14.086831 65.876488 vt 14.191666 65.660141 vt 13.860793 74.542923 vt 13.754999 74.738510 vt 13.693391 74.693153 vt 11.955026 86.668877 vt 12.096678 86.497459 vt 12.155069 86.572754 vt 14.094174 94.348129 vt 14.144268 94.158401 vt 14.212454 94.193100 vt 13.778739 92.720879 vt 13.886901 92.537666 vt 13.844940 92.729362 vt 14.652312 73.932625 vt 14.350537 73.548126 vt 14.434138 73.510887 vt 12.250713 97.071533 vt 12.342727 96.845619 vt 12.407582 96.904831 vt 13.054151 98.105659 vt 13.033602 98.017815 vt 13.149135 97.880974 vt 9.101338 98.300018 vt 9.037855 98.239342 vt 9.278923 98.115562 vt -0.050920 78.449059 vt -0.365604 78.028038 vt -0.351800 77.938019 vt 1.437961 80.934807 vt 1.370195 80.995255 vt 1.034846 80.506149 vt -0.723387 89.372421 vt -0.981118 88.973755 vt -0.907505 88.920578 vt 1.322317 96.630188 vt 1.107918 96.938904 vt 1.251752 96.621597 vt -0.157121 89.901726 vt -0.227442 89.891335 vt -0.420165 89.443085 vt 11.951973 96.731445 vt 11.584839 96.350975 vt 11.600670 96.306366 vt 11.020895 95.728928 vt 10.576371 95.396385 vt 11.036303 95.684166 vt 10.654741 96.849701 vt 10.154050 96.540581 vt 10.208461 96.519516 vt 14.392215 45.911674 vt 14.354063 45.955818 vt 14.295015 45.811089 vt 9.191957 57.408825 vt 9.712980 56.998264 vt 9.759926 57.023338 vt 3.365324 58.796097 vt 3.295102 58.824638 vt 2.766390 58.510960 vt 6.938125 71.070847 vt 6.598969 70.793655 vt 6.578622 70.700493 vt 11.444744 70.973648 vt 11.361409 70.917107 vt 11.360862 70.817390 vt 13.257736 55.382694 vt 12.945033 55.283054 vt 13.188460 55.309608 vt 13.022527 73.978523 vt 12.778499 73.958221 vt 12.776807 73.861237 vt 12.086400 92.181671 vt 12.357642 92.200325 vt 12.309743 92.284683 vt 12.822961 101.882309 vt 13.093884 101.908287 vt 13.067163 101.982201 vt 12.866620 103.817566 vt 12.866247 103.748840 vt 13.137600 103.842941 vt 9.073038 104.838890 vt 9.182030 104.856033 vt 9.176656 104.924553 vt -5.391347 53.312393 vt -5.301504 53.056511 vt -5.199717 53.013935 vt -5.479293 53.366909 vt -5.556515 53.344051 vt -5.387825 53.111603 vt -13.340547 17.656225 vt -13.141463 17.450745 vt -13.105744 17.522923 vt 12.688135 96.984390 vt 12.430875 96.894440 vt 12.715661 96.921913 vt 12.907287 92.773567 vt 12.645102 92.758293 vt 12.651335 92.679962 vt 7.995609 86.981514 vt 8.009230 86.914604 vt 8.118314 86.929680 vt -13.297531 17.633982 vt -13.275479 17.526093 vt -13.042585 17.389481 vt 13.618537 74.607079 vt 13.307432 74.436752 vt 13.230067 74.368889 vt 13.055981 104.305473 vt 12.987640 104.302452 vt 12.969307 104.159668 vt 10.624401 64.001595 vt 10.575675 63.980179 vt 10.872732 63.622421 vt 12.881230 52.586823 vt 13.034289 52.108406 vt 13.074604 52.163929 vt 12.682769 103.708878 vt 12.618953 103.683678 vt 12.754676 103.585388 vt 2.995959 100.839607 vt 3.625276 100.631645 vt 3.062109 100.877167 vt 0.985841 86.628029 vt 1.208674 86.424957 vt 1.215383 86.499542 vt -5.641085 62.351681 vt -5.567578 62.367226 vt -5.794451 62.565639 vt 3.659934 23.160139 vt 3.677361 23.206676 vt 3.548326 23.188721 vt 15.122074 92.502365 vt 14.718477 92.268417 vt 14.764106 92.248741 vt -0.767049 60.732559 vt -0.841659 60.744831 vt -0.855953 60.274609 vt -1.695662 75.418571 vt -1.716778 75.045013 vt -1.641710 75.035957 vt 16.863859 90.267563 vt 16.527975 90.073776 vt 16.582449 90.020607 vt 16.882736 91.074554 vt 16.547045 90.825439 vt 16.884001 91.017349 vt 13.784990 86.789040 vt 13.434640 86.527672 vt 13.471901 86.512047 vt 13.153358 89.131516 vt 12.920868 88.772179 vt 13.190841 89.116432 vt 9.921888 82.386375 vt 10.002102 82.282799 vt 10.021733 82.327881 vt 12.937485 95.946350 vt 12.973832 95.852158 vt 13.013388 95.922813 vt 14.108507 96.074722 vt 14.161071 96.058762 vt 14.125189 96.153130 vt 12.065913 74.084190 vt 12.107476 74.268417 vt 12.055941 74.287437 vt 13.738688 73.776955 vt 13.801112 73.779839 vt 13.762624 73.964287 vt 14.166249 37.977837 vt 14.176563 38.165897 vt 14.114274 38.160873 vt 16.438196 50.926250 vt 16.296507 51.047066 vt 16.378389 50.877457 vt 16.414982 52.364521 vt 16.335911 52.519943 vt 16.271051 52.482655 vt 14.615581 71.237648 vt 14.417015 71.350235 vt 14.542040 71.228661 vt 13.892673 77.693336 vt 13.843441 77.644051 vt 14.047186 77.541138 vt 15.962428 91.301476 vt 16.031305 91.085304 vt 16.088772 91.124687 vt 16.244465 89.752647 vt 16.217203 89.684731 vt 16.305099 89.534027 vt 15.778230 92.860542 vt 15.666670 92.787521 vt 15.743754 92.795982 vt 15.715800 93.313393 vt 15.641265 93.312592 vt 15.604035 93.240685 vt 15.974903 93.645164 vt 15.618763 93.339897 vt 15.693297 93.340706 vt 16.144955 94.696373 vt 15.841523 94.345139 vt 16.201698 94.645638 vt 13.684156 90.106331 vt 13.406111 89.768555 vt 13.423233 89.722450 vt -3.678336 60.681759 vt -3.676804 60.265232 vt -3.622738 60.214615 vt 12.968405 42.026463 vt 12.872578 41.932632 vt 12.951640 41.954327 vt 13.470295 43.023144 vt 13.398257 43.005836 vt 13.370124 42.933960 vt -14.997254 18.236189 vt -14.942761 18.174932 vt -14.928212 18.274948 vt -5.667913 33.948902 vt -5.748567 33.888000 vt -5.696026 33.872982 vt 11.026681 32.728348 vt 11.025577 32.918613 vt 10.972424 32.721851 vt -11.192471 91.810699 vt -11.450079 91.728493 vt -11.370812 91.712029 vt -11.231830 91.855171 vt -14.070986 95.888214 vt -14.222600 95.756950 vt -14.179515 95.716080 vt -14.083763 95.967354 vt 15.895675 81.430206 vt 15.818715 81.420677 vt 15.889191 81.245941 vt 15.967819 81.565758 vt 15.963218 81.381439 vt 16.034391 81.404495 vt 13.107097 89.970459 vt 13.094746 89.914589 vt 13.341142 89.757545 vt 16.110559 96.035599 vt 16.349346 95.828011 vt 16.389048 95.860359 vt 11.833025 84.766594 vt 11.800739 84.726837 vt 12.012625 84.495049 vt 5.979960 97.253494 vt 5.730341 97.444046 vt 5.926861 97.231606 vt -0.867450 75.270615 vt -0.914430 75.237587 vt -0.873793 74.853333 vt 16.091070 92.954453 vt 15.786285 92.669373 vt 15.799109 92.631371 vt 15.376079 93.465897 vt 15.015273 93.216316 vt 15.389645 93.428146 vt 17.124796 95.898666 vt 16.815971 95.591660 vt 17.253653 95.888863 vt 16.279768 96.354126 vt 15.871772 95.964226 vt 16.448288 96.337158 vt 15.324058 94.707718 vt 14.914047 94.355026 vt 14.928859 94.304855 vt 0.136135 73.859138 vt 0.069894 73.823715 vt 0.073586 73.321930 vt 5.507284 97.593239 vt 5.191533 97.873856 vt 5.435730 97.570374 vt 11.645545 86.543243 vt 11.599204 86.495865 vt 11.858644 86.162498 vt 15.194614 97.072105 vt 15.497373 96.773209 vt 15.550689 96.812569 vt 11.699844 87.615936 vt 11.676986 87.544579 vt 11.984038 87.299339 vt 15.985688 87.304291 vt 15.542723 86.992256 vt 15.987007 87.229362 vt 13.301128 89.324387 vt 12.816893 89.030441 vt 12.863181 89.005348 vt 12.501411 91.346687 vt 12.158634 90.910431 vt 12.548094 91.322342 vt 9.783461 87.254456 vt 9.900790 87.125786 vt 9.922644 87.186081 vt 13.209686 96.052200 vt 13.280584 96.032661 vt 13.228017 96.154716 vt 11.567734 78.950783 vt 11.612552 79.221008 vt 11.542404 79.243088 vt 13.035908 78.983078 vt 13.119053 78.989151 vt 13.058098 79.256104 vt 13.532085 47.543018 vt 13.536371 47.816601 vt 13.453534 47.807217 vt 15.398338 57.720455 vt 15.212923 57.914993 vt 15.315252 57.661232 vt 15.392078 59.224716 vt 15.291290 59.458763 vt 15.202640 59.415337 vt 13.665044 76.611969 vt 13.833150 76.420448 vt 13.929326 76.425293 vt 13.548158 45.233585 vt 13.452291 45.224491 vt 13.402527 45.135414 vt 0.001862 31.061199 vt -0.126949 31.028395 vt -0.069010 30.983660 vt 11.201356 42.581013 vt 11.182499 42.855991 vt 11.129482 42.567146 vt -10.621209 93.316437 vt -10.807416 93.097084 vt -10.565503 93.263573 vt -10.463736 93.649689 vt -10.755214 93.445099 vt -10.651076 93.431305 vt -12.858312 96.494370 vt -13.060287 96.287666 vt -13.001489 96.238274 vt -12.782778 96.608658 vt -12.961254 96.300743 vt -12.759067 96.507240 vt 6.024398 28.599247 vt 6.036228 28.662916 vt 5.870605 28.612684 vt 14.297214 94.135323 vt 13.759997 93.858749 vt 13.818041 93.830040 vt 15.973365 86.226151 vt 15.530773 85.985901 vt 15.602290 85.914131 vt 15.195488 92.575905 vt 14.800208 92.122337 vt 15.271385 92.508781 vt 12.965125 92.374001 vt 12.567835 91.969635 vt 12.584834 91.907791 vt 14.763447 95.373466 vt 14.616173 95.279488 vt 14.718170 95.289703 vt 14.922017 85.655708 vt 14.922029 85.389191 vt 15.016222 85.418739 vt 15.070126 92.742210 vt 15.031642 92.655121 vt 15.153987 92.431366 vt 14.844934 93.600609 vt 14.935725 93.291718 vt 15.012579 93.339661 vt 13.310709 80.829193 vt 13.241305 80.770981 vt 13.512307 80.594215 vt -1.892520 58.109173 vt -1.963500 57.574100 vt -1.901098 57.498367 vt 14.518498 94.922890 vt 14.036775 94.621651 vt 14.534103 94.872963 vn -0.323954 0.904324 0.277871 vn -0.709891 0.639912 0.294137 vn -0.341350 0.876003 0.340648 vn -0.747917 0.658376 0.084323 vn -0.243171 0.969695 0.022126 vn -0.673025 0.718589 -0.175024 vn -0.406659 0.561418 0.720695 vn -0.631123 0.700400 0.333262 vn -0.371258 0.900754 0.225288 vn -0.284371 0.947172 0.148137 vn -0.880551 0.460433 -0.112217 vn -0.316752 0.911435 0.262551 vn -0.312265 0.927610 0.204901 vn -0.932340 0.298990 -0.203284 vn -0.665700 0.629536 -0.400616 vn -0.174688 0.971068 -0.162694 vn -0.593554 0.719443 -0.360637 vn -0.168340 0.971801 -0.164983 vn -0.634388 0.654561 -0.411176 vn -0.928831 -0.118412 -0.350993 vn -0.927213 -0.090365 -0.363445 vn -0.681204 0.576220 -0.451521 vn -0.972808 -0.040040 -0.228034 vn -0.645741 0.652852 -0.395917 vn -0.959014 -0.125004 -0.254158 vn -0.583026 0.685629 -0.435804 vn -0.849361 -0.021210 -0.527329 vn -0.713950 -0.460402 -0.527512 vn -0.735771 -0.455763 -0.500900 vn -0.634724 -0.714530 -0.294107 vn -0.732231 -0.662679 -0.156987 vn -0.584307 -0.811243 0.021302 vn -0.759087 -0.650044 0.034455 vn -0.675832 -0.702933 0.221564 vn -0.807276 -0.560198 0.185614 vn -0.846400 -0.388714 0.363964 vn -0.855800 -0.491226 0.162053 vn -0.855525 -0.482620 -0.187414 vn -0.892331 -0.443678 -0.082888 vn -0.698569 -0.449904 -0.556383 vn 0.228767 -0.907956 -0.351085 vn 0.831782 0.227149 0.506455 vn 0.905393 -0.343486 0.249519 vn 0.756401 0.436384 0.487228 vn 0.868557 0.400433 0.291910 vn 0.741050 0.586352 0.327097 vn 0.842250 0.497391 0.207739 vn 0.822657 0.474715 0.312815 vn 0.767724 0.545061 0.336894 vn 0.739158 0.611652 0.281930 vn 0.648488 0.665059 0.370312 vn 0.746117 0.634114 0.202826 vn 0.660543 0.732841 0.163091 vn 0.789270 0.574023 0.217933 vn 0.391797 0.807459 0.440992 vn 0.194128 0.980682 -0.023133 vn -0.562487 0.790429 0.242439 vn 0.113376 0.756737 0.643788 vn -0.618000 0.739921 0.265572 vn 0.021455 0.860256 0.509354 vn -0.661641 0.727653 0.180914 vn -0.537767 0.735069 0.412793 vn 0.239937 0.666494 0.705802 vn -0.418378 0.760155 0.497055 vn -0.922788 0.381542 0.053377 vn -0.836421 0.507859 0.206030 vn -0.985046 -0.019410 -0.171117 vn -0.919767 -0.257118 -0.296426 vn -0.773156 -0.482315 -0.411756 vn -0.792047 -0.457198 -0.404431 vn -0.420698 -0.747795 -0.513565 vn -0.231971 -0.829371 -0.508225 vn 0.414960 -0.852351 -0.318217 vn 0.469710 -0.827570 -0.307321 vn 0.903287 -0.404218 0.143651 vn 0.904386 -0.417341 0.088595 vn 0.872890 -0.483627 0.064150 vn 0.842586 0.155065 0.515702 vn 0.898404 0.028840 0.438185 vn 0.820185 -0.567827 -0.069430 vn 0.914701 0.030030 0.402936 vn 0.979034 -0.004669 0.203558 vn 0.551775 0.571337 0.607501 vn 0.711447 0.434980 0.551897 vn 0.849269 0.117771 0.514634 vn 0.999176 0.031739 0.025025 vn 0.919889 0.275979 -0.278542 vn 0.959258 -0.079348 0.271065 vn 0.958708 0.231147 0.165532 vn 0.693197 0.555193 -0.459578 vn 0.282998 0.554552 -0.782495 vn 0.502792 0.343608 -0.793146 vn -0.195746 0.114719 -0.973907 vn 0.681143 -0.167516 -0.712668 vn 0.749992 -0.504257 -0.428022 vn 0.196509 -0.613880 -0.764519 vn 0.235206 -0.822565 -0.517685 vn 0.281961 -0.885708 -0.368694 vn -0.449202 -0.724235 -0.523087 vn -0.841823 -0.340159 -0.419019 vn -0.974731 0.200262 -0.098849 vn -0.760125 0.593585 0.264199 vn -0.212775 0.797327 0.564776 vn -0.661214 0.696554 0.278481 vn -0.145207 0.803919 0.576678 vn 0.074068 0.848720 0.523576 vn -0.590045 0.784539 0.190497 vn 0.036714 0.585894 -0.809534 vn 0.282388 0.887783 -0.363353 vn 0.723258 -0.634877 0.271584 vn -0.624306 -0.774637 -0.100895 vn 0.679006 -0.244118 0.692312 vn 0.774132 -0.154912 0.613727 vn 0.911649 0.406842 -0.057863 vn 0.539171 0.626240 -0.563097 vn -0.082369 0.555071 -0.827693 vn -0.526231 0.226966 -0.819453 vn -0.819300 -0.088412 -0.566485 vn -0.799036 -0.060183 -0.598224 vn -0.589557 -0.153142 -0.793054 vn -0.046632 -0.259926 -0.964476 vn -0.582232 -0.237342 -0.777581 vn -0.525346 -0.566851 -0.634541 vn -0.843715 -0.172246 -0.508347 vn -0.941771 0.295999 -0.159398 vn -0.881771 0.363628 -0.300363 vn -0.774194 -0.081851 -0.627583 vn -0.758904 0.075045 -0.646840 vn 0.471114 0.721610 -0.507248 vn -0.029054 -0.996460 0.078677 vn 0.352458 -0.932676 -0.076357 vn 0.098178 -0.618519 0.779565 vn -0.554521 -0.703238 0.444868 vn -0.525803 -0.665242 0.530015 vn 0.295419 -0.516404 0.803735 vn 0.137577 -0.579455 0.803278 vn -0.455000 -0.647420 0.611377 vn -0.914212 -0.399670 0.066744 vn -0.916318 -0.399792 -0.022523 vn -0.886258 -0.451247 -0.104465 vn -0.878048 0.042238 -0.476699 vn -0.903104 -0.096957 -0.418317 vn -0.938078 -0.108798 -0.328806 vn -0.810450 0.176641 -0.558489 vn -0.670614 0.246040 -0.699789 vn -0.206336 0.581378 -0.787011 vn 0.565477 0.631855 -0.530015 vn 0.946348 0.276009 0.167913 vn 0.724021 -0.206275 0.658193 vn 0.407147 0.638020 0.653523 vn 0.339457 0.635456 0.693472 vn 0.775231 0.271981 0.570055 vn 0.699728 0.468429 0.539384 vn 0.720420 0.306650 0.621998 vn 0.837245 0.334574 0.432508 vn 0.939573 0.311624 0.141636 vn 0.868007 0.421979 0.261666 vn 0.938963 0.263527 0.221076 vn 0.914121 0.343516 0.215217 vn 0.850368 0.426710 0.307840 vn 0.859676 0.384228 0.336589 vn 0.929380 0.254830 0.266915 vn 0.907590 0.162633 0.387036 vn 0.713828 0.358318 0.601642 vn -0.329661 0.799127 0.502670 vn -0.965514 0.188421 -0.179571 vn -0.879879 -0.473708 -0.037324 vn -0.756310 -0.440565 -0.483566 vn -0.821894 -0.560350 0.102268 vn -0.004364 -0.852596 -0.522477 vn 0.899106 0.009064 0.437574 vn 0.868679 -0.493179 0.046175 vn 0.872890 0.252205 0.417615 vn 0.754570 0.238807 0.611194 vn -0.160405 0.652943 0.740196 vn -0.991546 0.119755 -0.049379 vn -0.744163 -0.666738 0.040437 vn -0.757714 -0.411542 -0.506424 vn -0.120640 -0.955321 -0.269784 vn -0.008820 -0.771325 -0.636341 vn 0.857662 -0.510575 -0.060701 vn 0.921964 -0.380963 0.069491 vn 0.941221 0.245216 0.232307 vn 0.971709 0.187048 0.144078 vn 0.967345 0.164769 0.192450 vn 0.944090 0.277993 0.177129 vn 0.996033 0.034150 -0.082003 vn 0.950316 -0.296030 0.096042 vn 0.931730 -0.296823 0.209082 vn 0.970763 -0.121433 0.206946 vn 0.655202 -0.669393 -0.350108 vn 0.552049 -0.773705 -0.310770 vn 0.526231 -0.788781 -0.317545 vn 0.712272 -0.519730 -0.471694 vn 0.738701 -0.545213 -0.396252 vn 0.999725 -0.021363 0.007935 vn 0.869198 -0.487136 -0.084506 vn 0.920743 -0.387402 -0.046175 vn -0.023560 -0.999207 0.031770 vn -0.753288 -0.609760 0.246376 vn -0.801904 -0.596912 -0.024628 vn 0.043794 -0.968841 -0.243660 vn -0.074892 -0.836543 -0.542711 vn -0.784234 -0.547258 -0.292306 vn -0.737236 -0.424940 -0.525224 vn -0.093844 -0.722495 -0.684927 vn -0.294290 -0.794946 -0.530503 vn -0.712241 -0.469314 -0.521928 vn -0.745842 -0.446883 -0.493942 vn -0.850124 -0.266518 -0.454085 vn -0.824610 -0.296823 -0.481491 vn -0.947295 0.104434 -0.302805 vn -0.880306 -0.027314 -0.473586 vn -0.739708 0.649373 -0.176275 vn -0.941008 0.148167 -0.304147 vn -0.958922 0.067568 -0.275399 vn -0.867611 -0.281442 -0.409864 vn -0.692862 -0.485794 -0.532823 vn -0.245460 -0.821497 -0.514634 vn -0.039430 -0.783288 -0.620380 vn 0.030793 0.979492 -0.199072 vn -0.080050 0.982055 -0.170598 vn -0.187414 0.956206 -0.224769 vn -0.113590 0.988647 -0.098148 vn 0.388592 0.874935 0.288858 vn 0.234199 0.915830 0.326151 vn 0.396374 0.900693 0.177770 vn 0.673696 0.718253 0.173742 vn 0.737144 0.496628 0.458205 vn 0.566942 0.601459 0.562822 vn 0.324992 0.575976 0.750053 vn 0.574328 0.284768 0.767479 vn 0.776452 0.318033 0.543962 vn 0.297098 0.951567 0.078768 vn 0.421827 0.903226 0.078738 vn 0.613453 0.698630 0.368114 vn 0.462020 0.795831 0.391339 vn -0.065493 0.835231 0.545946 vn -0.255379 0.928831 0.268349 vn 0.273476 0.944945 0.179571 vn 0.185919 0.880978 0.435072 vn 0.032105 0.817133 0.575488 vn -0.376415 0.783563 0.494247 vn -0.708457 0.557207 0.433088 vn -0.855098 0.320444 0.407514 vn -0.825709 0.306681 0.473403 vn -0.655019 0.744987 0.126072 vn -0.639576 0.735038 0.224982 vn -0.990783 0.111484 -0.076632 vn -0.934141 -0.334941 -0.123081 vn -0.897183 -0.376049 -0.231452 vn -0.776391 -0.429792 -0.460921 vn -0.421461 -0.903897 -0.072665 vn -0.176672 -0.623585 -0.761498 vn 0.376782 -0.809931 -0.449416 vn 0.177099 -0.966002 0.188299 vn 0.703543 -0.616749 0.352947 vn 0.844264 -0.276070 -0.459334 vn 0.992309 0.068636 0.102725 vn 0.689810 -0.121494 0.713706 vn 0.831263 0.261025 0.490738 vn 0.270516 -0.463698 0.843654 vn -0.326548 -0.409528 0.851833 vn 0.365520 -0.259163 -0.893948 vn -0.749077 -0.661275 0.039430 vn -0.617847 -0.736839 0.274331 vn -0.929502 -0.258065 -0.263405 vn -0.725120 -0.687185 0.043733 vn -0.108127 -0.858791 0.500717 vn -0.007660 -0.430158 0.902707 vn -0.448714 0.172185 0.876888 vn -0.968505 -0.200049 0.148015 vn -0.990966 -0.133885 -0.004242 vn -0.905942 -0.414350 -0.086825 vn -0.917447 -0.385693 0.097415 vn -0.944273 0.309793 -0.111209 vn -0.962920 0.259194 -0.074557 vn -0.801111 -0.557237 -0.218299 vn -0.026429 -0.915311 -0.401837 vn 0.886990 -0.439039 0.143010 vn 0.660298 0.424818 0.619251 vn 0.769860 0.292764 0.567064 vn 0.816858 0.504776 0.279122 vn 0.763451 0.594256 0.252907 vn 0.245125 0.922452 0.298257 vn 0.375958 0.620746 0.687979 vn -0.820978 0.550401 0.151646 vn -0.964446 0.063997 -0.256325 vn -0.772881 -0.577013 -0.263985 vn -0.002533 -0.986633 -0.162847 vn -0.670553 -0.529466 -0.519608 vn 0.150304 -0.955412 -0.254067 vn 0.875851 -0.356578 0.325083 vn 0.897824 -0.076968 0.433485 vn 0.589068 0.549547 0.592395 vn 0.717490 0.558763 0.415815 vn 0.027070 0.948759 0.314798 vn -0.267251 0.817927 0.509445 vn -0.133641 0.863002 0.487167 vn -0.224738 0.786645 0.574999 vn -0.972106 0.231941 -0.033937 vn -0.786676 -0.300729 -0.539109 vn -0.146336 -0.884640 -0.442701 vn 0.816309 -0.530869 0.227515 vn 0.718680 -0.532884 0.446638 vn 0.549181 0.227851 0.804010 vn 0.393323 0.074160 0.916379 vn -0.195410 0.630421 0.751213 vn 0.385815 0.067934 0.920042 vn -0.350841 0.762383 0.543718 vn -0.729911 0.580035 -0.361553 vn 0.697836 0.399060 0.594745 vn -0.392895 -0.121342 -0.911527 vn 0.332316 -0.726829 -0.601032 vn 0.759423 -0.627857 0.170293 vn 0.611438 -0.724204 0.318796 vn 0.065737 -0.210028 0.975463 vn -0.429487 0.603229 0.672018 vn -0.592181 0.495956 0.635060 vn -0.808252 0.513871 -0.287423 vn -0.358623 0.757744 -0.545122 vn -0.143254 0.148778 -0.978423 vn -0.603839 -0.293405 -0.741111 vn 0.180517 -0.758568 -0.626057 vn 0.459090 -0.296457 -0.837428 vn 0.428541 -0.830409 0.355968 vn -0.136509 -0.259590 0.955992 vn -0.465926 0.488998 0.737388 vn -0.619282 0.680532 -0.391552 vn -0.149998 0.146153 -0.977813 vn 0.053865 0.304025 -0.951109 vn 0.378155 -0.558702 -0.738090 vn 0.577349 -0.757408 0.304880 vn 0.065554 -0.289224 0.954985 vn 0.078402 -0.204321 0.975738 vn -0.365459 -0.059358 0.928892 vn -0.734306 0.556352 0.388867 vn -0.792779 0.504044 -0.342631 vn -0.308786 0.009705 -0.951079 vn 0.187597 -0.707968 -0.680837 vn 0.436293 -0.899503 -0.022340 vn 0.094119 -0.631092 0.769951 vn -0.297769 -0.470077 0.830836 vn -0.133030 -0.139378 0.981231 vn -0.350780 -0.013550 0.936338 vn -0.954253 0.187719 0.232704 vn -0.510788 -0.143773 0.847560 vn -0.985809 -0.089084 -0.142247 vn -0.775536 0.067476 0.627644 vn -0.937010 0.193304 -0.290841 vn -0.675100 -0.375744 -0.634816 vn -0.410871 -0.086795 -0.907529 vn -0.355480 -0.862026 -0.361187 vn -0.120731 -0.811457 -0.571764 vn 0.001953 -0.994720 -0.102573 vn 0.141484 -0.627918 0.765282 vn 0.124424 -0.166784 0.978088 vn 0.337107 -0.720908 0.605487 vn 0.492813 -0.604816 0.625538 vn -0.043428 -0.296854 0.953917 vn -0.430525 0.235755 0.871212 vn -0.280374 0.356365 0.891263 vn -0.495743 -0.005860 0.868404 vn -0.805750 -0.094943 0.584582 vn -0.585864 -0.205695 0.783837 vn -0.515122 -0.589984 0.621723 vn -0.134800 -0.768059 0.625965 vn -0.135746 -0.927366 0.348582 vn 0.094455 -0.742302 0.663350 vn 0.033998 -0.938627 0.343181 vn -0.042238 -0.727836 0.684439 vn 0.226325 -0.588916 0.775842 vn -0.126530 -0.356548 0.925657 vn -0.274422 -0.455489 0.846858 vn 0.089236 -0.415265 0.905271 vn 0.228278 -0.708243 -0.667989 vn -0.767296 0.547288 -0.334147 vn -0.372417 0.870357 0.322092 vn -0.955168 0.274483 -0.110721 vn -0.585406 -0.458785 -0.668416 vn 0.204413 -0.694113 -0.690207 vn 0.757408 -0.620228 0.203986 vn 0.358287 -0.660726 -0.659536 vn 0.663289 -0.461806 0.588855 vn 0.448897 0.315806 0.835902 vn 0.285775 0.240852 0.927519 vn -0.407239 0.643849 0.647755 vn -0.102786 0.690146 0.716300 vn -0.857082 0.418867 -0.299844 vn -0.686636 0.497177 -0.530351 vn -0.505783 0.777551 0.373577 vn 0.065584 0.841914 0.535569 vn 0.591662 0.465224 0.658376 vn -0.744224 0.349467 -0.569170 vn -0.180944 -0.057405 -0.981811 vn -0.466781 -0.342906 -0.815149 vn 0.293985 -0.844997 -0.446638 vn 0.787713 -0.300272 0.537858 vn 0.418500 0.203528 0.885098 vn 0.250710 0.122013 0.960326 vn -0.566759 0.712729 0.413221 vn -0.628620 0.490219 -0.603687 vn -0.413312 -0.284371 -0.865017 vn 0.345988 -0.588549 -0.730644 vn 0.693319 -0.678121 0.243812 vn 0.399640 -0.653127 -0.643178 vn -0.083834 0.040407 -0.995636 vn -0.680563 0.540147 -0.494980 vn -0.359050 -0.213141 -0.908628 vn 0.307199 -0.752342 -0.582720 vn 0.528611 -0.616169 0.583819 vn 0.732170 -0.553819 0.396435 vn 0.294626 0.059755 0.953734 vn 0.073183 0.079073 0.994171 vn -0.391186 0.677145 0.623218 vn -0.544694 0.524583 0.654286 vn -0.784936 0.451003 -0.424757 vn -0.893368 0.314463 -0.320872 vn -0.468764 -0.317179 -0.824396 vn 0.172246 -0.862209 -0.476302 vn 0.553758 -0.816919 0.160985 vn 0.303781 -0.345134 0.888028 vn 0.255074 0.131016 0.957976 vn -0.209265 0.215094 0.953887 vn -0.726035 0.598315 0.338908 vn -0.987701 0.015625 -0.155400 vn -0.717307 -0.596667 -0.359752 vn -0.112613 -0.952849 -0.281747 vn 0.102573 -0.972930 0.207068 vn 0.340983 -0.340251 0.876309 vn -0.111362 -0.209479 0.971435 vn 0.290017 -0.101199 0.951628 vn -0.193732 0.251808 0.948180 vn 0.031343 0.177282 0.983642 vn -0.923093 0.156865 0.351054 vn -0.970794 -0.221351 0.092410 vn -0.531419 -0.410779 -0.740806 vn -0.306986 -0.951689 -0.002228 vn 0.195868 -0.773339 0.602954 vn 0.023011 -0.775780 0.630543 vn 0.282785 -0.478286 0.831416 vn -0.357555 0.223884 0.906644 vn -0.666951 0.180975 0.722770 vn -0.688498 0.022950 0.724845 vn -0.310495 0.468795 0.826899 vn -0.346629 0.084811 0.934141 vn -0.167547 0.609790 0.774621 vn 0.296060 0.176702 0.938658 vn 0.137822 0.027619 0.990051 vn 0.055696 -0.046663 0.997345 vn 0.523331 -0.450117 0.723502 vn 0.675863 -0.310099 0.668569 vn 0.158300 -0.474410 0.865932 vn -0.613544 -0.471023 0.633747 vn -0.555132 -0.628132 0.545183 vn -0.870754 -0.444563 0.210089 vn -0.806177 -0.537309 0.247597 vn -0.720359 -0.528398 0.449232 vn 0.894375 0.083926 0.439344 vn 0.825312 0.124393 0.550737 vn 0.656606 0.518387 0.547807 vn -0.005005 0.885952 0.463729 vn 0.060976 0.916684 0.394848 vn 0.190191 0.565508 0.802484 vn 0.131932 0.530747 0.837153 vn -0.407483 0.554796 0.725333 vn -0.024598 0.719657 0.693869 vn 0.297739 -0.168432 0.939634 vn 0.050264 -0.893521 0.446150 vn 0.365734 0.023743 0.930387 vn -0.087344 -0.702475 0.706290 vn -0.834742 -0.271615 0.478927 vn -0.722922 -0.404584 0.560045 vn -0.679800 0.583850 0.443800 vn -0.670034 -0.708945 0.219977 vn 0.600299 -0.383374 0.701865 vn -0.058168 0.731559 0.679281 vn 0.757805 0.240181 0.606616 vn -0.089846 0.692465 0.715812 vn -0.897000 0.052980 0.438765 vn -0.825922 -0.508774 -0.242775 vn -0.083834 -0.984405 -0.154546 vn 0.857845 -0.513596 0.016938 vn 0.683554 0.118564 0.720176 vn -0.218329 0.757073 0.615741 vn -0.766564 0.642048 -0.010620 vn -0.785241 -0.619160 0.000671 vn -0.267129 0.335368 -0.903409 vn 0.243660 -0.601520 -0.760765 vn 0.832698 -0.527879 -0.167089 vn 0.202551 -0.465957 -0.861293 vn -0.734275 -0.222205 -0.641438 vn 0.082247 -0.813685 -0.575427 vn 0.727470 -0.664205 0.172002 vn 0.893185 -0.343394 0.290231 vn 0.569536 -0.026246 0.821528 vn -0.201422 0.473983 0.857173 vn 0.145970 0.542955 0.826960 vn -0.908231 0.395917 0.135380 vn -0.734581 0.657735 -0.166570 vn -0.764763 -0.297067 -0.571703 vn 0.069735 -0.490249 -0.868770 vn 0.692343 -0.713309 -0.108676 vn 0.300607 -0.366131 -0.880642 vn -0.204627 0.383831 -0.900418 vn -0.796319 0.554613 -0.241310 vn -0.408673 0.601215 0.686636 vn -0.656667 0.727012 -0.200415 vn -0.355358 0.244606 -0.902127 vn 0.227210 -0.454970 -0.861019 vn 0.513962 -0.802759 0.302316 vn 0.707297 -0.699240 0.103671 vn 0.357494 -0.315256 0.879055 vn 0.149113 -0.340159 0.928465 vn -0.294351 0.377606 0.877895 vn 0.327799 -0.272530 0.904569 vn -0.186804 -0.220893 0.957213 vn -0.679342 0.445906 0.582781 vn -0.795770 0.565935 -0.215430 vn -0.752647 0.633015 -0.181005 vn -0.459426 0.133702 -0.878079 vn -0.412702 0.255684 0.874233 vn 0.486984 -0.114536 0.865841 vn 0.613269 0.040590 0.788781 vn 0.141240 -0.486312 -0.862270 vn 0.479873 -0.847133 -0.228126 vn 0.266030 -0.721946 0.638722 vn -0.133915 -0.616352 0.775964 vn 0.050478 -0.283670 0.957579 vn -0.179113 -0.184851 0.966277 vn -0.908200 0.027833 0.417554 vn -0.966552 0.197516 -0.163518 vn -0.707633 -0.229896 -0.668081 vn -0.978942 -0.203040 0.019959 vn -0.588824 -0.112094 -0.800409 vn -0.458235 -0.726402 -0.512131 vn -0.172887 -0.682363 -0.710227 vn 0.005066 -0.973998 -0.226478 vn 0.110385 -0.970641 0.213599 vn 0.317270 -0.281808 0.905484 vn 0.474136 -0.757714 0.448347 vn 0.645131 -0.613056 0.455947 vn 0.142003 -0.433576 0.889828 vn -0.258980 0.056490 0.964202 vn -0.095523 0.207343 0.973571 vn -0.340465 -0.320170 0.884030 vn -0.647114 -0.134800 0.750328 vn -0.325144 -0.204840 0.923185 vn 0.051088 -0.500870 0.863979 vn 0.223914 -0.814539 0.535112 vn 0.300302 -0.717734 0.628193 vn 0.107883 -0.815943 0.567919 vn 0.275796 -0.532517 0.800195 vn 0.997497 -0.064486 -0.028687 vn 0.724723 0.332041 0.603717 vn 0.218970 0.899136 0.378857 vn -0.666128 0.220588 0.712424 vn -0.814020 -0.569872 -0.112125 vn 0.230598 -0.927549 0.294015 vn 0.551103 0.819849 0.155248 vn 0.543657 0.124485 0.830012 vn 0.483047 0.073244 0.872494 vn 0.823511 -0.408032 0.394055 vn 0.347575 -0.078555 0.934324 vn 0.055025 0.658406 0.750633 vn 0.416333 -0.309275 -0.854976 vn 0.455519 -0.794763 0.401013 vn 0.265572 -0.051210 0.962706 vn -0.547594 0.323588 0.771599 vn -0.072848 0.554796 0.828761 vn -0.880642 0.461592 -0.106510 vn -0.521836 0.724967 -0.449538 vn 0.786370 0.614612 0.061892 vn -0.569628 -0.151677 -0.807733 vn 0.144536 -0.766320 -0.625965 vn 0.808435 -0.487930 0.329112 vn 0.453139 -0.089175 0.886929 vn 0.370708 -0.063540 0.926542 vn -0.437422 0.698721 0.566057 vn -0.687277 0.570849 -0.449141 vn -0.638203 -0.153630 -0.754357 vn 0.108554 -0.377148 -0.919767 vn 0.705466 -0.708701 0.004425 vn 0.335917 -0.434065 -0.835871 vn -0.203711 0.308542 -0.929106 vn -0.584948 0.742454 -0.326365 vn -0.231300 0.226295 -0.946165 vn 0.339732 -0.501846 -0.795404 vn 0.525498 -0.765435 0.371349 vn 0.665944 -0.713401 0.218024 vn 0.257332 -0.281747 0.924314 vn 0.093600 -0.190100 0.977264 vn -0.358745 0.491165 0.793725 vn 0.161351 -0.255104 0.953337 vn -0.315500 -0.125217 0.940611 vn -0.713187 0.519822 0.470199 vn -0.788446 0.530808 -0.310770 vn -0.630940 0.712394 -0.307199 vn -0.456374 0.421247 0.783715 vn -0.332194 0.102237 -0.937620 vn 0.164129 -0.606403 -0.778008 vn 0.458724 -0.881130 -0.114689 vn 0.157353 -0.689779 0.706687 vn -0.264412 -0.550920 0.791528 vn -0.079409 -0.204840 0.975555 vn -0.304941 -0.091800 0.947905 vn -0.948576 0.117954 0.293741 vn -0.946226 0.158574 -0.281899 vn -0.980682 -0.154027 -0.120487 vn -0.682028 -0.310099 -0.662282 vn -0.462233 -0.031129 -0.886196 vn -0.414289 -0.817866 -0.399274 vn -0.189123 -0.734764 -0.651387 vn -0.017335 -0.985351 -0.169469 vn 0.190954 -0.686331 0.701743 vn -0.461837 -0.224464 0.858058 vn -0.740501 -0.029817 0.671377 vn -0.775140 -0.200262 0.599170 vn 0.116245 -0.782495 0.611652 vn -0.147038 -0.947325 0.284433 vn 0.039186 -0.958708 0.281625 vn 0.290414 -0.630818 0.719504 vn 0.384625 -0.743797 0.546587 vn 0.568194 -0.601520 0.561480 vn 0.200568 -0.221198 0.954375 vn 0.012665 -0.370739 0.928648 vn -0.365459 0.154790 0.917844 vn -0.189734 0.304086 0.933531 vn -0.442366 -0.113224 0.889615 vn -0.539567 -0.319315 0.779015 vn -0.493210 -0.655690 0.571612 vn -0.083132 -0.438398 0.894894 vn 0.001801 -0.778344 0.627796 vn 0.156285 -0.485702 0.860012 vn -0.291574 0.056734 0.954833 vn -0.785516 -0.606128 -0.124485 vn -0.408246 -0.566210 -0.716025 vn -0.813990 -0.072359 -0.576312 vn -0.129612 0.335856 0.932920 vn -0.444105 -0.795343 -0.412488 vn 0.049593 -0.536119 0.842647 vn -0.097995 -0.178869 0.978973 vn -0.352062 -0.395611 0.848231 vn -0.443770 0.008057 0.896084 vn -0.876370 -0.324534 -0.355815 vn -0.718497 -0.665822 0.201025 vn 0.428510 -0.280801 0.858760 vn -0.297647 -0.212989 0.930601 vn -0.429731 -0.751640 0.500351 vn 0.278909 -0.583789 0.762474 vn 0.395703 -0.659047 0.639546 vn -0.101566 -0.106693 0.989074 vn -0.679861 -0.289315 0.673818 vn -0.899777 -0.090548 -0.426801 vn -0.818751 -0.490188 -0.298837 vn -0.379589 -0.719657 0.581378 vn -0.062075 -0.969970 0.235084 vn -0.014008 -0.853725 0.520493 vn -0.107944 -0.601764 0.791314 vn -0.425428 -0.397992 0.812738 vn -0.376568 -0.850612 -0.366894 vn -0.225043 -0.013245 0.974242 vn -0.848567 -0.077181 -0.523362 vn -0.781579 -0.605182 -0.151158 vn -0.130528 -0.808161 0.574297 vn -0.233863 -0.533372 0.812891 vn -0.461135 -0.528214 -0.712943 g mesh2.002_mesh2-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1149/1210/1151 1150/1211/1152 1151/1212/1153 f 1149/1210/1151 1152/1213/1154 1150/1211/1152 f 1152/1213/1154 1149/1210/1151 1153/1214/1155 f 1153/1214/1155 1154/1215/1156 1152/1213/1154 f 1156/1216/1157 1157/1217/1158 1155/1218/1159 f 1158/1219/1160 1157/1217/1158 1156/1216/1157 f 1158/1219/1160 1159/1220/1161 1157/1217/1158 f 1160/1221/1162 1159/1220/1161 1158/1219/1160 f 1161/1222/1163 1159/1220/1161 1160/1221/1162 f 1161/1222/1163 1162/1223/1164 1159/1220/1161 f 1161/1222/1163 1163/1224/1165 1162/1223/1164 f 1164/1225/1166 1163/1224/1165 1161/1222/1163 f 1164/1225/1166 1165/1226/1167 1163/1224/1165 f 1166/1227/1168 1165/1226/1167 1164/1225/1166 f 1167/1228/1169 1165/1226/1167 1166/1227/1168 f 1167/1228/1169 1168/1229/1170 1165/1226/1167 f 1167/1228/1169 1169/1230/1171 1168/1229/1170 f 1170/1231/1172 1169/1230/1171 1167/1228/1169 f 1170/1231/1172 1171/1232/1173 1169/1230/1171 f 1172/1233/1174 1171/1232/1173 1170/1231/1172 f 1172/1233/1174 1173/1234/1175 1171/1232/1173 f 1174/1235/1176 1173/1234/1175 1172/1233/1174 f 1175/1236/1177 1173/1234/1175 1174/1235/1176 f 1175/1236/1177 1176/1237/1178 1173/1234/1175 f 1177/1238/1179 1176/1237/1178 1175/1236/1177 f 1177/1238/1179 1178/1239/1180 1176/1237/1178 f 1179/1240/1181 1178/1239/1180 1177/1238/1179 f 1179/1240/1181 1180/1241/1182 1178/1239/1180 f 1181/1242/1183 1180/1241/1182 1179/1240/1181 f 1181/1242/1183 1182/1243/1184 1180/1241/1182 f 1183/1244/1185 1182/1243/1184 1181/1242/1183 f 1182/1243/1184 1183/1244/1185 1184/1245/1186 f 1184/1245/1186 1183/1244/1185 1185/1246/1187 f 1183/1244/1185 1186/1247/1188 1185/1246/1187 f 1187/1248/1189 1186/1247/1188 1183/1244/1185 f 1187/1248/1189 1188/1249/1190 1186/1247/1188 f 1187/1248/1189 1189/1250/1191 1188/1249/1190 f 1190/1251/1192 1189/1250/1191 1187/1248/1189 f 1190/1251/1192 1191/1252/1193 1189/1250/1191 f 1190/1253/1192 1192/1254/1194 1191/1255/1193 f 1193/1256/1195 1192/1254/1194 1190/1253/1192 f 1193/1256/1195 1194/1257/1196 1192/1254/1194 f 1195/1258/1197 1194/1257/1196 1193/1256/1195 f 1196/1259/1198 1194/1257/1196 1195/1258/1197 f 1196/1259/1198 1197/1260/1199 1194/1257/1196 f 1198/1261/1200 1197/1260/1199 1196/1259/1198 f 1198/1261/1200 1199/1262/1201 1197/1260/1199 f 1198/1261/1200 1200/1263/1202 1199/1262/1201 f 1198/1261/1200 1201/1264/1203 1200/1263/1202 f 1202/1265/1204 1201/1264/1203 1198/1261/1200 f 1203/1266/1205 1201/1264/1203 1202/1265/1204 f 1201/1264/1203 1203/1266/1205 1204/1267/1206 f 1203/1266/1205 1205/1268/1207 1204/1267/1206 f 1206/1269/1208 1205/1270/1207 1203/1271/1205 f 1206/1269/1208 1207/1272/1209 1205/1270/1207 f 1208/1273/1210 1207/1272/1209 1206/1269/1208 f 1208/1273/1210 1209/1274/1211 1207/1272/1209 f 1208/1273/1210 1210/1275/1212 1209/1274/1211 f 1211/1276/1213 1210/1275/1212 1208/1273/1210 f 1212/1277/1214 1210/1275/1212 1211/1276/1213 f 1212/1277/1214 1213/1278/1215 1210/1275/1212 f 1214/1279/1216 1213/1278/1215 1212/1277/1214 f 1215/1280/1217 1213/1278/1215 1214/1279/1216 f 1215/1280/1217 1216/1281/1218 1213/1278/1215 f 1215/1280/1217 1217/1282/1219 1216/1281/1218 f 1218/1283/1220 1217/1282/1219 1215/1280/1217 f 1219/1284/1221 1217/1285/1219 1218/1286/1220 f 1219/1284/1221 1220/1287/1222 1217/1285/1219 f 1221/1288/1223 1220/1287/1222 1219/1284/1221 f 1221/1288/1223 1222/1289/1224 1220/1287/1222 f 1221/1288/1223 1223/1290/1225 1222/1289/1224 f 1221/1288/1223 1224/1291/1226 1223/1290/1225 f 1225/1292/1227 1224/1291/1226 1221/1288/1223 f 1225/1292/1227 1226/1293/1228 1224/1291/1226 f 1225/1292/1227 1227/1294/1229 1226/1293/1228 f 1228/1295/1230 1227/1294/1229 1225/1292/1227 f 1228/1295/1230 1229/1296/1231 1227/1294/1229 f 1230/1297/1232 1229/1296/1231 1228/1295/1230 f 1230/1297/1232 1231/1298/1233 1229/1296/1231 f 1230/1297/1232 1232/1299/1234 1231/1298/1233 f 1230/1297/1232 1233/1300/1235 1232/1299/1234 f 1234/1301/1236 1233/1300/1235 1230/1297/1232 f 1235/1302/1237 1233/1300/1235 1234/1301/1236 f 1235/1302/1237 1236/1303/1238 1233/1300/1235 f 1235/1302/1237 1237/1304/1239 1236/1303/1238 f 1235/1302/1237 1238/1305/1240 1237/1304/1239 f 1238/1305/1240 1235/1302/1237 1239/1306/1241 f 1240/1307/1242 1239/1306/1241 1235/1302/1237 f 1239/1306/1241 1240/1307/1242 1241/1308/1243 f 1240/1307/1242 1242/1309/1244 1241/1308/1243 f 1240/1307/1242 1235/1302/1237 1242/1309/1244 f 1242/1309/1244 1235/1302/1237 1234/1301/1236 f 1242/1309/1244 1234/1301/1236 1230/1297/1232 f 1242/1309/1244 1230/1297/1232 1243/1310/1245 f 1243/1310/1245 1230/1297/1232 1228/1295/1230 f 1243/1310/1245 1228/1295/1230 1244/1311/1246 f 1244/1311/1246 1228/1295/1230 1245/1312/1247 f 1228/1295/1230 1246/1313/1248 1245/1312/1247 f 1228/1295/1230 1225/1292/1227 1246/1313/1248 f 1246/1313/1248 1225/1292/1227 1221/1288/1223 f 1246/1313/1248 1221/1288/1223 1247/1314/1249 f 1221/1288/1223 1219/1284/1221 1247/1314/1249 f 1247/1314/1249 1219/1284/1221 1218/1286/1220 f 1247/1314/1249 1218/1286/1220 1248/1315/1250 f 1248/1316/1250 1218/1283/1220 1215/1280/1217 f 1248/1316/1250 1215/1280/1217 1249/1317/1251 f 1249/1317/1251 1215/1280/1217 1250/1318/1252 f 1250/1318/1252 1215/1280/1217 1214/1279/1216 f 1250/1318/1252 1214/1279/1216 1212/1277/1214 f 1251/1319/1253 1250/1318/1252 1212/1277/1214 f 1251/1319/1253 1252/1320/1254 1250/1318/1252 f 1253/1321/1255 1252/1320/1254 1251/1319/1253 f 1254/1322/1256 1252/1320/1254 1253/1321/1255 f 1254/1322/1256 1255/1323/1257 1252/1320/1254 f 1254/1322/1256 1256/1324/1258 1255/1323/1257 f 1257/1325/1259 1256/1324/1258 1254/1322/1256 f 1257/1325/1259 1258/1326/1260 1256/1324/1258 s off f 1233/1300/1261 1258/1326/1261 1257/1325/1261 s 1 f 1236/1303/1238 1258/1326/1260 1233/1300/1235 f 1236/1303/1238 1237/1304/1239 1258/1326/1260 f 1258/1326/1260 1237/1304/1239 1259/1327/1262 f 1237/1304/1239 1260/1328/1263 1259/1327/1262 f 1237/1304/1239 1261/1329/1264 1260/1328/1263 f 1237/1304/1239 1262/1330/1265 1261/1329/1264 f 1238/1305/1240 1262/1330/1265 1237/1304/1239 f 1262/1330/1265 1238/1305/1240 1239/1306/1241 f 1262/1330/1265 1239/1306/1241 1263/1331/1266 f 1263/1331/1266 1239/1306/1241 1264/1332/1267 f 1239/1306/1241 1241/1308/1243 1264/1332/1267 f 1241/1308/1243 1265/1333/1268 1264/1332/1267 f 1265/1333/1268 1241/1308/1243 1266/1334/1269 f 1241/1308/1243 1267/1335/1270 1266/1334/1269 f 1241/1308/1243 1268/1336/1271 1267/1335/1270 f 1241/1308/1243 1242/1309/1244 1268/1336/1271 f 1242/1309/1244 1244/1311/1246 1268/1336/1271 f 1242/1309/1244 1243/1310/1245 1244/1311/1246 f 1268/1336/1271 1244/1311/1246 1269/1337/1272 f 1269/1337/1272 1244/1311/1246 1270/1338/1273 f 1244/1311/1246 1245/1312/1247 1270/1338/1273 f 1245/1312/1247 1246/1313/1248 1270/1338/1273 f 1246/1313/1248 1247/1314/1249 1270/1338/1273 f 1270/1338/1273 1247/1314/1249 1248/1315/1250 f 1270/1338/1273 1248/1315/1250 1271/1339/1274 f 1271/1340/1274 1248/1316/1250 1249/1317/1251 f 1271/1340/1274 1249/1317/1251 1272/1341/1275 f 1272/1341/1275 1249/1317/1251 1252/1320/1254 f 1252/1320/1254 1249/1317/1251 1250/1318/1252 f 1273/1342/1276 1272/1341/1275 1252/1320/1254 f 1273/1342/1276 1271/1340/1274 1272/1341/1275 f 1274/1343/1277 1271/1340/1274 1273/1342/1276 f 1274/1344/1277 1270/1338/1273 1271/1339/1274 f 1269/1337/1272 1270/1338/1273 1274/1344/1277 f 1269/1337/1272 1274/1344/1277 1275/1345/1278 f 1275/1346/1278 1274/1343/1277 1273/1342/1276 f 1275/1346/1278 1273/1342/1276 1276/1347/1279 f 1256/1324/1258 1276/1347/1279 1273/1342/1276 f 1276/1347/1279 1256/1324/1258 1277/1348/1280 f 1256/1324/1258 1278/1349/1281 1277/1348/1280 f 1256/1324/1258 1258/1326/1260 1278/1349/1281 f 1279/1350/1282 1278/1349/1281 1258/1326/1260 f 1278/1349/1281 1279/1350/1282 1277/1348/1280 f 1279/1350/1282 1280/1351/1283 1277/1348/1280 f 1279/1350/1282 1281/1352/1284 1280/1351/1283 f 1282/1353/1285 1281/1352/1284 1279/1350/1282 f 1283/1354/1286 1281/1352/1284 1282/1353/1285 f 1283/1354/1286 1284/1355/1287 1281/1352/1284 f 1281/1352/1284 1284/1355/1287 1285/1356/1288 f 1286/1357/1289 1281/1352/1284 1285/1356/1288 f 1287/1358/1290 1281/1352/1284 1286/1357/1289 f 1287/1358/1290 1280/1351/1283 1281/1352/1284 f 1277/1348/1280 1280/1351/1283 1287/1358/1290 f 1288/1359/1291 1277/1348/1280 1287/1358/1290 f 1276/1347/1279 1277/1348/1280 1288/1359/1291 f 1275/1346/1278 1276/1347/1279 1288/1359/1291 f 1266/1334/1269 1275/1345/1278 1288/1360/1291 f 1266/1334/1269 1267/1335/1270 1275/1345/1278 f 1267/1335/1270 1269/1337/1272 1275/1345/1278 f 1267/1335/1270 1268/1336/1271 1269/1337/1272 f 1266/1334/1269 1288/1360/1291 1265/1333/1268 f 1288/1360/1291 1287/1361/1290 1265/1333/1268 f 1265/1333/1268 1287/1361/1290 1289/1362/1292 f 1287/1361/1290 1286/1363/1289 1289/1362/1292 f 1289/1362/1292 1286/1363/1289 1285/1364/1288 f 1289/1362/1292 1285/1364/1288 1290/1365/1293 f 1289/1362/1292 1290/1365/1293 1291/1366/1294 f 1292/1367/1295 1289/1362/1292 1291/1366/1294 f 1264/1332/1267 1289/1362/1292 1292/1367/1295 f 1264/1332/1267 1265/1333/1268 1289/1362/1292 f 1263/1331/1266 1264/1332/1267 1292/1367/1295 f 1293/1368/1296 1263/1331/1266 1292/1367/1295 f 1262/1330/1265 1263/1331/1266 1293/1368/1296 f 1294/1369/1297 1262/1330/1265 1293/1368/1296 f 1262/1330/1265 1294/1369/1297 1261/1329/1264 f 1261/1329/1264 1294/1369/1297 1295/1370/1298 f 1261/1329/1264 1295/1370/1298 1260/1328/1263 f 1260/1328/1263 1295/1370/1298 1296/1371/1299 f 1296/1371/1299 1282/1353/1285 1260/1328/1263 f 1296/1371/1299 1283/1354/1286 1282/1353/1285 f 1260/1328/1263 1282/1353/1285 1279/1350/1282 f 1260/1328/1263 1279/1350/1282 1259/1327/1262 f 1259/1327/1262 1279/1350/1282 1258/1326/1260 f 1292/1367/1295 1291/1366/1294 1293/1368/1296 f 1256/1324/1258 1273/1342/1276 1255/1323/1257 f 1273/1342/1276 1252/1320/1254 1255/1323/1257 f 1233/1300/1235 1257/1325/1259 1254/1322/1256 f 1254/1322/1256 1232/1299/1234 1233/1300/1235 f 1232/1299/1234 1254/1322/1256 1231/1298/1233 f 1231/1298/1233 1254/1322/1256 1253/1321/1255 f 1253/1321/1255 1251/1319/1253 1231/1298/1233 f 1231/1298/1233 1251/1319/1253 1297/1372/1300 f 1297/1372/1300 1251/1319/1253 1212/1277/1214 f 1297/1372/1300 1212/1277/1214 1298/1373/1301 f 1298/1373/1301 1212/1277/1214 1211/1276/1213 f 1298/1373/1301 1211/1276/1213 1226/1293/1228 f 1226/1293/1228 1211/1276/1213 1299/1374/1302 f 1211/1276/1213 1300/1375/1303 1299/1374/1302 f 1211/1276/1213 1208/1273/1210 1300/1375/1303 f 1300/1375/1303 1208/1273/1210 1206/1269/1208 f 1300/1375/1303 1206/1269/1208 1301/1376/1304 f 1206/1269/1208 1203/1271/1205 1301/1376/1304 f 1203/1271/1205 1302/1377/1305 1301/1376/1304 f 1302/1378/1305 1203/1266/1205 1202/1265/1204 f 1302/1378/1305 1202/1265/1204 1303/1379/1306 f 1303/1379/1306 1202/1265/1204 1304/1380/1307 f 1202/1265/1204 1198/1261/1200 1304/1380/1307 f 1304/1380/1307 1198/1261/1200 1196/1259/1198 f 1304/1380/1307 1196/1259/1198 1305/1381/1308 f 1305/1381/1308 1196/1259/1198 1306/1382/1309 f 1196/1259/1198 1307/1383/1310 1306/1382/1309 f 1196/1259/1198 1195/1258/1197 1307/1383/1310 f 1195/1258/1197 1193/1256/1195 1307/1383/1310 f 1307/1383/1310 1193/1256/1195 1190/1253/1192 f 1308/1384/1311 1307/1383/1310 1190/1253/1192 f 1306/1382/1309 1307/1383/1310 1308/1384/1311 f 1306/1382/1309 1308/1384/1311 1309/1385/1312 f 1309/1385/1312 1308/1384/1311 1310/1386/1313 f 1308/1384/1311 1190/1253/1192 1310/1386/1313 f 1310/1386/1313 1190/1253/1192 1311/1387/1314 f 1190/1253/1192 1312/1388/1315 1311/1387/1314 f 1190/1253/1192 1187/1389/1189 1312/1388/1315 f 1187/1389/1189 1313/1390/1316 1312/1388/1315 f 1314/1391/1317 1313/1392/1316 1187/1248/1189 f 1314/1391/1317 1315/1393/1318 1313/1392/1316 f 1316/1394/1319 1315/1393/1318 1314/1391/1317 f 1316/1394/1319 1317/1395/1320 1315/1393/1318 f 1318/1396/1321 1317/1395/1320 1316/1394/1319 f 1318/1396/1321 1319/1397/1322 1317/1395/1320 f 1318/1398/1321 1310/1386/1313 1319/1399/1322 f 1309/1385/1312 1310/1386/1313 1318/1398/1321 f 1309/1385/1312 1318/1398/1321 1320/1400/1323 f 1320/1400/1323 1318/1398/1321 1321/1401/1324 f 1318/1398/1321 1322/1402/1325 1321/1401/1324 f 1318/1398/1321 1316/1403/1319 1322/1402/1325 f 1316/1403/1319 1323/1404/1326 1322/1402/1325 f 1324/1405/1327 1323/1406/1326 1316/1394/1319 f 1324/1405/1327 1325/1407/1328 1323/1406/1326 f 1326/1408/1329 1325/1407/1328 1324/1405/1327 f 1326/1408/1329 1327/1409/1330 1325/1407/1328 f 1328/1410/1331 1327/1409/1330 1326/1408/1329 f 1328/1410/1331 1329/1411/1332 1327/1409/1330 f 1328/1412/1331 1320/1400/1323 1329/1413/1332 f 1330/1414/1333 1320/1400/1323 1328/1412/1331 f 1309/1385/1312 1320/1400/1323 1330/1414/1333 f 1331/1415/1334 1309/1385/1312 1330/1414/1333 f 1332/1416/1335 1309/1385/1312 1331/1415/1334 f 1332/1416/1335 1305/1381/1308 1309/1385/1312 f 1333/1417/1336 1305/1381/1308 1332/1416/1335 f 1333/1417/1336 1304/1380/1307 1305/1381/1308 f 1303/1379/1306 1304/1380/1307 1333/1417/1336 f 1334/1418/1337 1303/1379/1306 1333/1417/1336 f 1302/1378/1305 1303/1379/1306 1334/1418/1337 f 1335/1419/1338 1302/1378/1305 1334/1418/1337 f 1336/1420/1339 1302/1377/1305 1335/1421/1338 f 1336/1420/1339 1301/1376/1304 1302/1377/1305 f 1337/1422/1340 1301/1376/1304 1336/1420/1339 f 1337/1422/1340 1300/1375/1303 1301/1376/1304 f 1299/1374/1302 1300/1375/1303 1337/1422/1340 f 1223/1290/1225 1299/1374/1302 1337/1422/1340 f 1226/1293/1228 1299/1374/1302 1223/1290/1225 f 1224/1291/1226 1226/1293/1228 1223/1290/1225 f 1223/1290/1225 1337/1422/1340 1338/1423/1341 f 1338/1423/1341 1337/1422/1340 1336/1420/1339 f 1338/1423/1341 1336/1420/1339 1339/1424/1342 f 1336/1420/1339 1335/1421/1338 1339/1424/1342 f 1339/1424/1342 1335/1421/1338 1340/1425/1343 f 1340/1426/1343 1335/1419/1338 1341/1427/1344 f 1335/1419/1338 1334/1418/1337 1341/1427/1344 f 1341/1427/1344 1334/1418/1337 1342/1428/1345 f 1334/1418/1337 1343/1429/1346 1342/1428/1345 f 1334/1418/1337 1333/1417/1336 1343/1429/1346 f 1343/1429/1346 1333/1417/1336 1332/1416/1335 f 1343/1429/1346 1332/1416/1335 1344/1430/1347 f 1344/1430/1347 1332/1416/1335 1331/1415/1334 f 1344/1430/1347 1331/1415/1334 1345/1431/1348 f 1345/1431/1348 1331/1415/1334 1330/1414/1333 f 1345/1431/1348 1330/1414/1333 1328/1412/1331 f 1328/1410/1331 1346/1432/1349 1345/1433/1348 f 1328/1410/1331 1326/1408/1329 1346/1432/1349 f 1326/1408/1329 1324/1405/1327 1346/1432/1349 f 1346/1432/1349 1324/1405/1327 1347/1434/1350 f 1324/1405/1327 1316/1394/1319 1347/1434/1350 f 1316/1394/1319 1314/1391/1317 1347/1434/1350 f 1347/1434/1350 1314/1391/1317 1183/1244/1185 f 1183/1244/1185 1314/1391/1317 1187/1248/1189 f 1181/1242/1183 1347/1434/1350 1183/1244/1185 f 1348/1435/1351 1347/1434/1350 1181/1242/1183 f 1346/1432/1349 1347/1434/1350 1348/1435/1351 f 1346/1432/1349 1348/1435/1351 1349/1436/1352 f 1349/1436/1352 1348/1435/1351 1350/1437/1353 f 1350/1437/1353 1348/1435/1351 1351/1438/1354 f 1351/1438/1354 1348/1435/1351 1179/1240/1181 f 1179/1240/1181 1348/1435/1351 1181/1242/1183 f 1177/1238/1179 1351/1438/1354 1179/1240/1181 f 1352/1439/1355 1351/1438/1354 1177/1238/1179 f 1353/1440/1356 1351/1438/1354 1352/1439/1355 f 1350/1437/1353 1351/1438/1354 1353/1440/1356 f 1341/1441/1344 1350/1437/1353 1353/1440/1356 f 1341/1441/1344 1342/1442/1345 1350/1437/1353 f 1342/1442/1345 1349/1436/1352 1350/1437/1353 f 1344/1443/1347 1349/1436/1352 1342/1442/1345 f 1344/1443/1347 1346/1432/1349 1349/1436/1352 f 1345/1433/1348 1346/1432/1349 1344/1443/1347 f 1342/1428/1345 1343/1429/1346 1344/1430/1347 f 1340/1444/1343 1341/1441/1344 1353/1440/1356 f 1340/1444/1343 1353/1440/1356 1354/1445/1357 f 1355/1446/1358 1354/1445/1357 1353/1440/1356 f 1354/1447/1357 1355/1448/1358 1356/1449/1359 f 1356/1450/1359 1355/1451/1358 1357/1452/1360 f 1357/1452/1360 1355/1451/1358 1358/1453/1361 f 1355/1446/1358 1352/1439/1355 1358/1454/1361 f 1355/1446/1358 1353/1440/1356 1352/1439/1355 f 1358/1454/1361 1352/1439/1355 1177/1238/1179 f 1358/1454/1361 1177/1238/1179 1359/1455/1362 f 1359/1455/1362 1177/1238/1179 1360/1456/1363 f 1360/1456/1363 1177/1238/1179 1175/1236/1177 f 1360/1456/1363 1175/1236/1177 1361/1457/1364 f 1361/1457/1364 1175/1236/1177 1174/1235/1176 f 1204/1267/1206 1361/1457/1364 1174/1235/1176 f 1204/1267/1206 1205/1268/1207 1361/1457/1364 f 1359/1455/1362 1361/1457/1364 1205/1268/1207 f 1359/1455/1362 1360/1456/1363 1361/1457/1364 f 1359/1458/1362 1205/1270/1207 1207/1272/1209 f 1362/1459/1365 1359/1458/1362 1207/1272/1209 f 1358/1453/1361 1359/1458/1362 1362/1459/1365 f 1357/1452/1360 1358/1453/1361 1362/1459/1365 f 1363/1460/1366 1357/1452/1360 1362/1459/1365 f 1364/1461/1367 1357/1452/1360 1363/1460/1366 f 1364/1461/1367 1356/1450/1359 1357/1452/1360 f 1365/1462/1368 1356/1450/1359 1364/1461/1367 f 1365/1463/1368 1366/1464/1369 1356/1449/1359 f 1365/1463/1368 1367/1465/1370 1366/1464/1369 f 1220/1287/1222 1367/1465/1370 1365/1463/1368 f 1222/1289/1224 1367/1465/1370 1220/1287/1222 f 1222/1289/1224 1338/1423/1341 1367/1465/1370 f 1222/1289/1224 1223/1290/1225 1338/1423/1341 f 1338/1423/1341 1339/1424/1342 1367/1465/1370 f 1339/1424/1342 1366/1464/1369 1367/1465/1370 f 1339/1424/1342 1340/1425/1343 1366/1464/1369 f 1340/1425/1343 1354/1447/1357 1366/1464/1369 f 1366/1464/1369 1354/1447/1357 1356/1449/1359 f 1220/1287/1222 1365/1463/1368 1217/1285/1219 f 1217/1282/1219 1365/1462/1368 1364/1461/1367 f 1217/1282/1219 1364/1461/1367 1216/1281/1218 f 1216/1281/1218 1364/1461/1367 1363/1460/1366 f 1216/1281/1218 1363/1460/1366 1213/1278/1215 f 1213/1278/1215 1363/1460/1366 1209/1274/1211 f 1363/1460/1366 1362/1459/1365 1209/1274/1211 f 1209/1274/1211 1362/1459/1365 1207/1272/1209 f 1213/1278/1215 1209/1274/1211 1210/1275/1212 f 1204/1267/1206 1174/1235/1176 1368/1466/1371 f 1368/1466/1371 1174/1235/1176 1172/1233/1174 f 1368/1466/1371 1172/1233/1174 1369/1467/1372 f 1369/1467/1372 1172/1233/1174 1170/1231/1172 f 1369/1467/1372 1170/1231/1172 1370/1468/1373 f 1370/1468/1373 1170/1231/1172 1167/1228/1169 f 1370/1468/1373 1167/1228/1169 1371/1469/1374 f 1371/1469/1374 1167/1228/1169 1166/1227/1168 f 1372/1470/1375 1371/1469/1374 1166/1227/1168 f 1373/1471/1376 1371/1469/1374 1372/1470/1375 f 1373/1471/1376 1370/1468/1373 1371/1469/1374 f 1369/1467/1372 1370/1468/1373 1373/1471/1376 f 1374/1472/1377 1369/1467/1372 1373/1471/1376 f 1368/1466/1371 1369/1467/1372 1374/1472/1377 f 1375/1473/1378 1368/1466/1371 1374/1472/1377 f 1204/1267/1206 1368/1466/1371 1375/1473/1378 f 1204/1267/1206 1375/1473/1378 1200/1263/1202 f 1200/1263/1202 1375/1473/1378 1376/1474/1379 f 1375/1473/1378 1377/1475/1380 1376/1474/1379 f 1375/1473/1378 1374/1472/1377 1377/1475/1380 f 1377/1475/1380 1374/1472/1377 1373/1471/1376 f 1373/1471/1376 1378/1476/1381 1377/1475/1380 f 1372/1470/1375 1378/1476/1381 1373/1471/1376 f 1378/1476/1381 1372/1470/1375 1379/1477/1382 f 1379/1477/1382 1372/1470/1375 1380/1478/1383 f 1372/1470/1375 1381/1479/1384 1380/1478/1383 f 1372/1470/1375 1166/1227/1168 1381/1479/1384 f 1381/1479/1384 1166/1227/1168 1164/1225/1166 f 1381/1479/1384 1164/1225/1166 1382/1480/1385 f 1382/1480/1385 1164/1225/1166 1161/1222/1163 f 1382/1480/1385 1161/1222/1163 1383/1481/1386 f 1383/1481/1386 1161/1222/1163 1384/1482/1387 f 1384/1482/1387 1161/1222/1163 1160/1221/1162 f 1384/1482/1387 1160/1221/1162 1158/1219/1160 f 1384/1482/1387 1158/1219/1160 1385/1483/1388 f 1385/1483/1388 1158/1219/1160 1156/1216/1157 f 1385/1483/1388 1156/1216/1157 1386/1484/1389 f 1387/1485/1390 1153/1214/1155 1388/1486/1391 f 1153/1214/1155 1149/1210/1151 1388/1486/1391 f 1388/1486/1391 1149/1210/1151 1389/1487/1392 f 1389/1487/1392 1149/1210/1151 1151/1212/1153 f 1390/1488/1393 1150/1211/1152 1391/1489/1394 f 1150/1211/1152 1393/1490/1395 1392/1491/1396 f 1152/1213/1154 1393/1490/1395 1150/1211/1152 f 1394/1492/1397 1393/1490/1395 1152/1213/1154 f 1155/1218/1159 1157/1217/1158 1396/1493/1398 f 1157/1217/1158 1397/1494/1399 1396/1493/1398 f 1159/1220/1161 1397/1494/1399 1157/1217/1158 f 1159/1220/1161 1398/1495/1400 1397/1494/1399 f 1159/1220/1161 1399/1496/1401 1398/1495/1400 f 1162/1223/1164 1399/1496/1401 1159/1220/1161 f 1400/1497/1402 1399/1496/1401 1162/1223/1164 f 1400/1497/1402 1401/1498/1403 1399/1496/1401 f 1402/1499/1404 1401/1498/1403 1400/1497/1402 f 1403/1500/1405 1401/1498/1403 1402/1499/1404 f 1403/1500/1405 1404/1501/1406 1401/1498/1403 f 1403/1500/1405 1405/1502/1407 1404/1501/1406 f 1406/1503/1408 1405/1502/1407 1403/1500/1405 f 1406/1503/1408 1407/1504/1409 1405/1502/1407 f 1408/1505/1410 1407/1504/1409 1406/1503/1408 f 1408/1505/1410 1409/1506/1411 1407/1504/1409 f 1409/1506/1411 1408/1505/1410 1410/1507/1412 f 1408/1505/1410 1411/1508/1413 1410/1507/1412 f 1408/1505/1410 1412/1509/1414 1411/1508/1413 f 1408/1505/1410 1406/1503/1408 1412/1509/1414 f 1406/1503/1408 1403/1500/1405 1412/1509/1414 f 1412/1509/1414 1403/1500/1405 1402/1499/1404 f 1413/1510/1415 1412/1509/1414 1402/1499/1404 f 1413/1510/1415 1411/1508/1413 1412/1509/1414 f 1413/1510/1415 1414/1511/1416 1411/1508/1413 f 1415/1512/1417 1414/1511/1416 1413/1510/1415 f 1168/1229/1170 1414/1511/1416 1415/1512/1417 f 1416/1513/1418 1414/1511/1416 1168/1229/1170 f 1417/1514/1419 1414/1511/1416 1416/1513/1418 f 1417/1514/1419 1411/1508/1413 1414/1511/1416 f 1417/1514/1419 1410/1507/1412 1411/1508/1413 f 1418/1515/1420 1410/1507/1412 1417/1514/1419 f 1418/1515/1420 1380/1516/1383 1410/1507/1412 f 1379/1517/1382 1380/1516/1383 1418/1515/1420 f 1379/1517/1382 1418/1515/1420 1419/1518/1421 f 1418/1515/1420 1420/1519/1422 1419/1518/1421 f 1421/1520/1423 1420/1519/1422 1418/1515/1420 f 1184/1245/1186 1420/1519/1422 1421/1520/1423 f 1184/1245/1186 1185/1246/1187 1420/1519/1422 f 1185/1246/1187 1422/1521/1424 1420/1519/1422 f 1185/1246/1187 1423/1522/1425 1422/1521/1424 f 1185/1246/1187 1186/1247/1188 1423/1522/1425 f 1186/1247/1188 1424/1523/1426 1423/1522/1425 f 1186/1247/1188 1188/1249/1190 1424/1523/1426 f 1188/1249/1190 1425/1524/1427 1424/1523/1426 f 1188/1249/1190 1426/1525/1428 1425/1524/1427 f 1188/1249/1190 1427/1526/1429 1426/1525/1428 f 1188/1249/1190 1189/1250/1191 1427/1526/1429 f 1189/1250/1191 1428/1527/1430 1427/1526/1429 f 1191/1252/1193 1428/1527/1430 1189/1250/1191 f 1191/1255/1193 1429/1528/1431 1428/1529/1430 f 1192/1254/1194 1429/1528/1431 1191/1255/1193 f 1192/1254/1194 1430/1530/1432 1429/1528/1431 f 1192/1254/1194 1194/1257/1196 1430/1530/1432 f 1194/1257/1196 1431/1531/1433 1430/1530/1432 f 1432/1532/1434 1431/1531/1433 1194/1257/1196 f 1432/1532/1434 1433/1533/1435 1431/1531/1433 f 1199/1262/1201 1433/1533/1435 1432/1532/1434 f 1199/1262/1201 1434/1534/1436 1433/1533/1435 f 1376/1474/1379 1434/1534/1436 1199/1262/1201 f 1377/1475/1380 1434/1534/1436 1376/1474/1379 f 1377/1475/1380 1378/1476/1381 1434/1534/1436 f 1378/1476/1381 1435/1535/1437 1434/1534/1436 f 1378/1476/1381 1419/1536/1421 1435/1535/1437 f 1379/1517/1382 1419/1518/1421 1378/1537/1381 f 1420/1519/1422 1435/1538/1437 1419/1518/1421 f 1420/1519/1422 1422/1521/1424 1435/1538/1437 f 1422/1521/1424 1436/1539/1438 1435/1538/1437 f 1422/1521/1424 1437/1540/1439 1436/1539/1438 f 1422/1521/1424 1423/1522/1425 1437/1540/1439 f 1438/1541/1440 1437/1540/1439 1423/1522/1425 f 1438/1541/1440 1439/1542/1441 1437/1540/1439 f 1438/1541/1440 1440/1543/1442 1439/1542/1441 f 1441/1544/1443 1440/1543/1442 1438/1541/1440 f 1441/1544/1443 1442/1545/1444 1440/1543/1442 f 1441/1546/1443 1443/1547/1445 1442/1548/1444 f 1444/1549/1446 1443/1547/1445 1441/1546/1443 f 1444/1549/1446 1445/1550/1447 1443/1547/1445 f 1444/1549/1446 1433/1533/1435 1445/1550/1447 f 1431/1531/1433 1433/1533/1435 1444/1549/1446 f 1431/1531/1433 1444/1549/1446 1430/1530/1432 f 1430/1530/1432 1444/1549/1446 1441/1546/1443 f 1430/1551/1432 1441/1544/1443 1438/1541/1440 f 1430/1551/1432 1438/1541/1440 1423/1522/1425 f 1430/1530/1432 1423/1552/1425 1446/1553/1448 f 1423/1552/1425 1424/1554/1426 1446/1553/1448 f 1446/1553/1448 1424/1554/1426 1447/1555/1449 f 1424/1554/1426 1425/1556/1427 1447/1555/1449 f 1447/1555/1449 1425/1556/1427 1448/1557/1450 f 1425/1556/1427 1449/1558/1451 1448/1557/1450 f 1426/1525/1428 1449/1559/1451 1425/1524/1427 f 1426/1525/1428 1450/1560/1452 1449/1559/1451 f 1426/1525/1428 1451/1561/1453 1450/1560/1452 f 1427/1526/1429 1451/1561/1453 1426/1525/1428 f 1452/1562/1454 1451/1561/1453 1427/1526/1429 f 1452/1562/1454 1453/1563/1455 1451/1561/1453 f 1454/1564/1456 1453/1565/1455 1452/1566/1454 f 1454/1564/1456 1455/1567/1457 1453/1565/1455 f 1456/1568/1458 1455/1567/1457 1454/1564/1456 f 1456/1568/1458 1457/1569/1459 1455/1567/1457 f 1456/1568/1458 1458/1570/1460 1457/1569/1459 f 1456/1568/1458 1459/1571/1461 1458/1570/1460 f 1456/1568/1458 1449/1558/1451 1459/1571/1461 f 1449/1558/1451 1456/1568/1458 1448/1557/1450 f 1448/1557/1450 1456/1568/1458 1454/1564/1456 f 1448/1557/1450 1454/1564/1456 1460/1572/1462 f 1460/1572/1462 1454/1564/1456 1452/1566/1454 f 1428/1529/1430 1460/1572/1462 1452/1566/1454 f 1429/1528/1431 1460/1572/1462 1428/1529/1430 f 1429/1528/1431 1447/1555/1449 1460/1572/1462 f 1446/1553/1448 1447/1555/1449 1429/1528/1431 f 1429/1528/1431 1430/1530/1432 1446/1553/1448 f 1460/1572/1462 1447/1555/1449 1448/1557/1450 f 1428/1527/1430 1452/1562/1454 1427/1526/1429 f 1449/1559/1451 1450/1560/1452 1459/1573/1461 f 1459/1573/1461 1450/1560/1452 1461/1574/1463 f 1450/1560/1452 1451/1561/1453 1461/1574/1463 f 1461/1574/1463 1451/1561/1453 1462/1575/1464 f 1453/1563/1455 1462/1575/1464 1451/1561/1453 f 1453/1563/1455 1463/1576/1465 1462/1575/1464 f 1453/1565/1455 1457/1569/1459 1463/1577/1465 f 1455/1567/1457 1457/1569/1459 1453/1565/1455 f 1463/1577/1465 1457/1569/1459 1464/1578/1466 f 1457/1569/1459 1465/1579/1467 1464/1578/1466 f 1466/1580/1468 1465/1579/1467 1457/1569/1459 f 1466/1580/1468 1467/1581/1469 1465/1579/1467 f 1468/1582/1470 1467/1581/1469 1466/1580/1468 f 1468/1582/1470 1469/1583/1471 1467/1581/1469 f 1468/1584/1470 1470/1585/1472 1469/1586/1471 f 1471/1587/1473 1470/1585/1472 1468/1584/1470 f 1472/1588/1474 1470/1585/1472 1471/1587/1473 f 1470/1585/1472 1472/1588/1474 1473/1589/1475 f 1473/1589/1475 1472/1588/1474 1474/1590/1476 f 1464/1591/1466 1474/1590/1476 1472/1588/1474 f 1465/1579/1467 1474/1592/1476 1464/1578/1466 f 1465/1579/1467 1475/1593/1477 1474/1592/1476 f 1467/1581/1469 1475/1593/1477 1465/1579/1467 f 1467/1581/1469 1476/1594/1478 1475/1593/1477 f 1467/1581/1469 1477/1595/1479 1476/1594/1478 f 1467/1581/1469 1469/1583/1471 1477/1595/1479 f 1469/1586/1471 1478/1596/1480 1477/1597/1479 f 1469/1586/1471 1479/1598/1481 1478/1596/1480 f 1469/1586/1471 1470/1585/1472 1479/1598/1481 f 1470/1585/1472 1473/1589/1475 1479/1598/1481 f 1479/1598/1481 1473/1589/1475 1478/1596/1480 f 1478/1596/1480 1473/1589/1475 1480/1599/1482 f 1474/1590/1476 1480/1599/1482 1473/1589/1475 f 1474/1590/1476 1481/1600/1483 1480/1599/1482 f 1482/1601/1484 1481/1602/1483 1474/1592/1476 f 1482/1601/1484 1483/1603/1485 1481/1602/1483 f 1476/1594/1478 1483/1603/1485 1482/1601/1484 f 1476/1594/1478 1484/1604/1486 1483/1603/1485 f 1476/1594/1478 1485/1605/1487 1484/1604/1486 f 1476/1594/1478 1486/1606/1488 1485/1605/1487 f 1476/1594/1478 1477/1595/1479 1486/1606/1488 f 1477/1597/1479 1487/1607/1489 1486/1608/1488 f 1477/1597/1479 1478/1596/1480 1487/1607/1489 f 1478/1596/1480 1480/1599/1482 1487/1607/1489 f 1480/1599/1482 1488/1609/1490 1487/1607/1489 f 1481/1600/1483 1488/1609/1490 1480/1599/1482 f 1481/1600/1483 1489/1610/1491 1488/1609/1490 f 1481/1602/1483 1490/1611/1492 1489/1612/1491 f 1483/1603/1485 1490/1611/1492 1481/1602/1483 f 1483/1603/1485 1491/1613/1493 1490/1611/1492 f 1484/1604/1486 1491/1613/1493 1483/1603/1485 f 1484/1604/1486 1492/1614/1494 1491/1613/1493 f 1484/1604/1486 1493/1615/1495 1492/1614/1494 f 1484/1604/1486 1485/1605/1487 1493/1615/1495 f 1494/1616/1496 1493/1615/1495 1485/1605/1487 f 1494/1616/1496 1495/1617/1497 1493/1615/1495 f 1494/1616/1496 1497/1618/1498 1496/1619/1499 f 1498/1620/1500 1497/1621/1498 1494/1622/1496 f 1499/1623/1501 1497/1621/1498 1498/1620/1500 f 1499/1623/1501 1500/1624/1502 1497/1621/1498 f 1499/1623/1501 1501/1625/1503 1500/1624/1502 f 1502/1626/1504 1501/1625/1503 1499/1623/1501 f 1502/1626/1504 1503/1627/1505 1501/1625/1503 f 1489/1610/1491 1503/1627/1505 1502/1626/1504 f 1489/1612/1491 1504/1628/1506 1503/1629/1505 f 1490/1611/1492 1504/1628/1506 1489/1612/1491 f 1508/1630/1507 1509/1631/1508 1507/1632/1509 f 1508/1630/1507 1510/1633/1510 1509/1631/1508 f 1508/1630/1507 1511/1634/1511 1510/1633/1510 f 1512/1635/1512 1511/1634/1511 1508/1630/1507 f 1496/1619/1499 1514/1636/1513 1511/1634/1511 f 1515/1637/1514 1514/1636/1513 1496/1619/1499 f 1516/1638/1515 1515/1637/1514 1517/1639/1516 f 1520/1640/1517 1517/1639/1516 1519/1641/1518 f 1522/1642/1519 1519/1641/1518 1523/1643/1520 f 1523/1643/1520 1519/1641/1518 1501/1644/1503 f 1497/1618/1498 1515/1637/1514 1496/1619/1499 f 1503/1629/1505 1523/1643/1520 1501/1644/1503 f 1504/1628/1506 1526/1645/1521 1503/1629/1505 f 1506/1646/1522 1509/1631/1508 1523/1643/1520 f 1507/1632/1509 1509/1631/1508 1506/1646/1522 f 1510/1633/1510 1522/1642/1519 1509/1631/1508 f 1510/1633/1510 1527/1647/1523 1522/1642/1519 f 1510/1633/1510 1514/1636/1513 1527/1647/1523 f 1511/1634/1511 1514/1636/1513 1510/1633/1510 f 1514/1636/1513 1516/1638/1515 1521/1648/1524 f 1491/1613/1493 1505/1649/1525 1490/1611/1492 f 1489/1610/1491 1502/1626/1504 1488/1609/1490 f 1488/1609/1490 1502/1626/1504 1499/1623/1501 f 1487/1607/1489 1488/1609/1490 1499/1623/1501 f 1487/1607/1489 1499/1623/1501 1486/1608/1488 f 1486/1608/1488 1499/1623/1501 1498/1620/1500 f 1486/1606/1488 1498/1650/1500 1485/1605/1487 f 1498/1650/1500 1494/1616/1496 1485/1605/1487 f 1476/1594/1478 1482/1601/1484 1475/1593/1477 f 1475/1593/1477 1482/1601/1484 1474/1592/1476 f 1464/1591/1466 1472/1588/1474 1528/1651/1526 f 1471/1587/1473 1528/1651/1526 1472/1588/1474 f 1461/1574/1463 1528/1651/1526 1471/1587/1473 f 1461/1574/1463 1462/1575/1464 1528/1651/1526 f 1462/1575/1464 1463/1576/1465 1528/1651/1526 f 1528/1651/1526 1463/1576/1465 1464/1591/1466 f 1461/1574/1463 1471/1587/1473 1529/1652/1527 f 1471/1587/1473 1468/1584/1470 1529/1652/1527 f 1529/1653/1527 1468/1582/1470 1466/1580/1468 f 1458/1570/1460 1529/1653/1527 1466/1580/1468 f 1459/1571/1461 1529/1653/1527 1458/1570/1460 f 1459/1573/1461 1461/1574/1463 1529/1652/1527 f 1458/1570/1460 1466/1580/1468 1457/1569/1459 f 1433/1533/1435 1435/1535/1437 1445/1550/1447 f 1433/1533/1435 1434/1534/1436 1435/1535/1437 f 1445/1550/1447 1435/1535/1437 1530/1654/1528 f 1530/1654/1528 1435/1535/1437 1436/1655/1438 f 1530/1654/1528 1436/1655/1438 1531/1656/1529 f 1436/1539/1438 1439/1542/1441 1531/1657/1529 f 1437/1540/1439 1439/1542/1441 1436/1539/1438 f 1439/1542/1441 1532/1658/1530 1531/1657/1529 f 1440/1543/1442 1532/1658/1530 1439/1542/1441 f 1440/1543/1442 1533/1659/1531 1532/1658/1530 f 1534/1660/1532 1533/1659/1531 1440/1543/1442 f 1533/1659/1531 1534/1660/1532 1535/1661/1533 f 1534/1660/1532 1536/1662/1534 1535/1661/1533 f 1537/1663/1535 1536/1664/1534 1534/1665/1532 f 1537/1663/1535 1538/1666/1536 1536/1664/1534 f 1539/1667/1537 1538/1666/1536 1537/1663/1535 f 1539/1667/1537 1540/1668/1538 1538/1666/1536 f 1539/1667/1537 1541/1669/1539 1540/1668/1538 f 1539/1667/1537 1542/1670/1540 1541/1669/1539 f 1542/1670/1540 1539/1667/1537 1543/1671/1541 f 1543/1671/1541 1539/1667/1537 1537/1663/1535 f 1537/1663/1535 1544/1672/1542 1543/1671/1541 f 1545/1673/1543 1544/1672/1542 1537/1663/1535 f 1443/1547/1445 1544/1672/1542 1545/1673/1543 f 1443/1547/1445 1530/1654/1528 1544/1672/1542 f 1443/1547/1445 1445/1550/1447 1530/1654/1528 f 1530/1654/1528 1531/1656/1529 1544/1672/1542 f 1544/1672/1542 1531/1656/1529 1543/1671/1541 f 1531/1656/1529 1546/1674/1544 1543/1671/1541 f 1531/1657/1529 1532/1658/1530 1546/1675/1544 f 1546/1675/1544 1532/1658/1530 1547/1676/1545 f 1532/1658/1530 1533/1659/1531 1547/1676/1545 f 1533/1659/1531 1535/1661/1533 1547/1676/1545 f 1547/1676/1545 1535/1661/1533 1548/1677/1546 f 1535/1661/1533 1549/1678/1547 1548/1677/1546 f 1536/1662/1534 1549/1678/1547 1535/1661/1533 f 1536/1662/1534 1550/1679/1548 1549/1678/1547 f 1536/1664/1534 1551/1680/1549 1550/1681/1548 f 1538/1666/1536 1551/1680/1549 1536/1664/1534 f 1538/1666/1536 1540/1668/1538 1551/1680/1549 f 1540/1668/1538 1552/1682/1550 1551/1680/1549 f 1540/1668/1538 1553/1683/1551 1552/1682/1550 f 1540/1668/1538 1541/1669/1539 1553/1683/1551 f 1541/1669/1539 1554/1684/1552 1553/1683/1551 f 1541/1685/1539 1555/1686/1553 1554/1687/1552 f 1548/1677/1546 1555/1686/1553 1541/1685/1539 f 1549/1678/1547 1555/1686/1553 1548/1677/1546 f 1549/1678/1547 1556/1688/1554 1555/1686/1553 f 1557/1689/1555 1556/1688/1554 1549/1678/1547 f 1558/1690/1556 1556/1688/1554 1557/1689/1555 f 1559/1691/1557 1556/1688/1554 1558/1690/1556 f 1555/1686/1553 1556/1688/1554 1559/1691/1557 f 1554/1687/1552 1555/1686/1553 1559/1691/1557 f 1554/1687/1552 1559/1691/1557 1560/1692/1558 f 1560/1692/1558 1559/1691/1557 1561/1693/1559 f 1559/1691/1557 1558/1690/1556 1561/1693/1559 f 1558/1690/1556 1562/1694/1560 1561/1693/1559 f 1563/1695/1561 1562/1694/1560 1558/1690/1556 f 1563/1695/1561 1564/1696/1562 1562/1694/1560 f 1563/1697/1561 1565/1698/1563 1564/1699/1562 f 1566/1700/1564 1565/1698/1563 1563/1697/1561 f 1566/1700/1564 1567/1701/1565 1565/1698/1563 f 1568/1702/1566 1567/1701/1565 1566/1700/1564 f 1569/1703/1567 1567/1701/1565 1568/1702/1566 f 1569/1703/1567 1570/1704/1568 1567/1701/1565 f 1569/1705/1567 1571/1706/1569 1570/1707/1568 f 1569/1705/1567 1561/1693/1559 1571/1706/1569 f 1560/1692/1558 1561/1693/1559 1569/1705/1567 f 1560/1708/1558 1569/1703/1567 1568/1702/1566 f 1560/1708/1558 1568/1702/1566 1553/1683/1551 f 1553/1683/1551 1568/1702/1566 1552/1682/1550 f 1568/1702/1566 1566/1700/1564 1552/1682/1550 f 1552/1682/1550 1566/1700/1564 1563/1697/1561 f 1552/1682/1550 1563/1697/1561 1557/1709/1555 f 1557/1689/1555 1563/1695/1561 1558/1690/1556 f 1552/1682/1550 1557/1709/1555 1550/1681/1548 f 1549/1678/1547 1550/1679/1548 1557/1689/1555 f 1551/1680/1549 1552/1682/1550 1550/1681/1548 f 1553/1683/1551 1554/1684/1552 1560/1708/1558 f 1561/1693/1559 1562/1694/1560 1571/1706/1569 f 1562/1694/1560 1572/1710/1570 1571/1706/1569 f 1564/1696/1562 1572/1710/1570 1562/1694/1560 f 1564/1696/1562 1573/1711/1571 1572/1710/1570 f 1564/1699/1562 1574/1712/1572 1573/1713/1571 f 1564/1699/1562 1575/1714/1573 1574/1712/1572 f 1565/1698/1563 1575/1714/1573 1564/1699/1562 f 1567/1701/1565 1575/1714/1573 1565/1698/1563 f 1575/1714/1573 1567/1701/1565 1576/1715/1574 f 1567/1701/1565 1577/1716/1575 1576/1715/1574 f 1570/1704/1568 1577/1716/1575 1567/1701/1565 f 1570/1704/1568 1578/1717/1576 1577/1716/1575 f 1570/1707/1568 1579/1718/1577 1578/1719/1576 f 1571/1706/1569 1579/1718/1577 1570/1707/1568 f 1572/1710/1570 1579/1718/1577 1571/1706/1569 f 1572/1710/1570 1580/1720/1578 1579/1718/1577 f 1573/1711/1571 1580/1720/1578 1572/1710/1570 f 1573/1711/1571 1581/1721/1579 1580/1720/1578 f 1573/1713/1571 1582/1722/1580 1581/1723/1579 f 1574/1712/1572 1582/1722/1580 1573/1713/1571 f 1584/1724/1581 1583/1725/1582 1574/1712/1572 f 1576/1715/1574 1589/1726/1583 1586/1727/1584 f 1576/1715/1574 1577/1716/1575 1589/1726/1583 f 1577/1716/1575 1590/1728/1585 1589/1726/1583 f 1578/1717/1576 1590/1728/1585 1577/1716/1575 f 1578/1719/1576 1591/1729/1586 1590/1730/1585 f 1579/1718/1577 1591/1729/1586 1578/1719/1576 f 1579/1718/1577 1592/1731/1587 1591/1729/1586 f 1593/1732/1588 1592/1731/1587 1579/1718/1577 f 1596/1733/1589 1595/1734/1590 1593/1735/1588 f 1597/1736/1591 1595/1734/1590 1596/1733/1589 f 1603/1737/1592 1604/1738/1593 1602/1739/1594 f 1605/1740/1595 1604/1738/1593 1603/1737/1592 f 1590/1728/1585 1606/1741/1596 1589/1726/1583 f 1590/1728/1585 1591/1742/1586 1604/1738/1593 f 1591/1742/1586 1602/1739/1594 1604/1738/1593 f 1587/1743/1597 1605/1740/1595 1585/1744/1598 f 1585/1744/1598 1605/1740/1595 1609/1745/1599 f 1605/1740/1595 1603/1737/1592 1609/1745/1599 f 1609/1745/1599 1603/1737/1592 1610/1746/1600 f 1609/1745/1599 1610/1746/1600 1597/1736/1591 f 1609/1745/1599 1597/1736/1591 1611/1747/1601 f 1585/1744/1598 1611/1747/1601 1613/1748/1602 f 1585/1744/1598 1609/1745/1599 1611/1747/1601 f 1581/1723/1579 1596/1733/1589 1593/1735/1588 f 1581/1721/1579 1593/1732/1588 1580/1720/1578 f 1580/1720/1578 1593/1732/1588 1579/1718/1577 f 1582/1722/1580 1614/1749/1603 1581/1723/1579 f 1576/1715/1574 1586/1727/1584 1584/1724/1581 f 1576/1715/1574 1584/1724/1581 1575/1714/1573 f 1575/1714/1573 1584/1724/1581 1574/1712/1572 f 1542/1750/1540 1548/1677/1546 1541/1685/1539 f 1542/1750/1540 1547/1676/1545 1548/1677/1546 f 1546/1675/1544 1547/1676/1545 1542/1750/1540 f 1543/1671/1541 1546/1674/1544 1542/1670/1540 f 1443/1547/1445 1545/1673/1543 1442/1548/1444 f 1545/1673/1543 1537/1663/1535 1442/1548/1444 f 1442/1548/1444 1537/1663/1535 1534/1665/1532 f 1440/1543/1442 1442/1545/1444 1534/1660/1532 f 1200/1263/1202 1376/1474/1379 1199/1262/1201 f 1197/1260/1199 1199/1262/1201 1432/1532/1434 f 1197/1260/1199 1432/1532/1434 1194/1257/1196 f 1184/1245/1186 1421/1520/1423 1615/1751/1604 f 1615/1751/1604 1421/1520/1423 1418/1515/1420 f 1418/1515/1420 1417/1514/1419 1615/1751/1604 f 1615/1751/1604 1417/1514/1419 1616/1752/1605 f 1616/1752/1605 1417/1514/1419 1416/1513/1418 f 1616/1752/1605 1416/1513/1418 1617/1753/1606 f 1171/1232/1173 1617/1753/1606 1416/1513/1418 f 1173/1234/1175 1617/1753/1606 1171/1232/1173 f 1173/1234/1175 1618/1754/1607 1617/1753/1606 f 1178/1239/1180 1618/1754/1607 1173/1234/1175 f 1178/1239/1180 1180/1241/1182 1618/1754/1607 f 1180/1241/1182 1619/1755/1608 1618/1754/1607 f 1180/1241/1182 1182/1243/1184 1619/1755/1608 f 1182/1243/1184 1184/1245/1186 1619/1755/1608 f 1619/1755/1608 1184/1245/1186 1615/1751/1604 f 1616/1752/1605 1619/1755/1608 1615/1751/1604 f 1618/1754/1607 1619/1755/1608 1616/1752/1605 f 1618/1754/1607 1616/1752/1605 1617/1753/1606 f 1176/1237/1178 1178/1239/1180 1173/1234/1175 f 1171/1232/1173 1416/1513/1418 1169/1230/1171 f 1169/1230/1171 1416/1513/1418 1168/1229/1170 f 1380/1516/1383 1409/1506/1411 1410/1507/1412 f 1380/1478/1383 1382/1480/1385 1409/1756/1411 f 1381/1479/1384 1382/1480/1385 1380/1478/1383 f 1382/1480/1385 1383/1481/1386 1409/1756/1411 f 1409/1756/1411 1383/1481/1386 1407/1757/1409 f 1407/1757/1409 1383/1481/1386 1620/1758/1609 f 1383/1481/1386 1384/1482/1387 1620/1758/1609 f 1384/1482/1387 1621/1759/1610 1620/1758/1609 f 1384/1482/1387 1622/1760/1611 1621/1759/1610 f 1384/1482/1387 1385/1483/1388 1622/1760/1611 f 1385/1483/1388 1623/1761/1612 1622/1760/1611 f 1385/1483/1388 1386/1484/1389 1623/1761/1612 f 1387/1485/1390 1388/1486/1391 1624/1762/1613 f 1624/1762/1613 1388/1486/1391 1625/1763/1614 f 1389/1487/1392 1626/1764/1615 1625/1763/1614 f 1391/1489/1394 1392/1491/1396 1628/1765/1616 f 1627/1766/1617 1628/1765/1616 1626/1764/1615 f 1634/1767/1618 1632/1768/1619 1635/1769/1620 f 1635/1769/1620 1632/1768/1619 1636/1770/1621 f 1632/1768/1619 1637/1771/1622 1636/1770/1621 f 1637/1772/1622 1631/1773/1623 1393/1490/1395 f 1393/1490/1395 1631/1773/1623 1392/1491/1396 f 1396/1493/1398 1637/1772/1622 1395/1774/1624 f 1397/1494/1399 1637/1772/1622 1396/1493/1398 f 1398/1495/1400 1637/1772/1622 1397/1494/1399 f 1398/1495/1400 1638/1775/1625 1637/1772/1622 f 1399/1496/1401 1638/1775/1625 1398/1495/1400 f 1399/1496/1401 1401/1498/1403 1638/1775/1625 f 1636/1770/1621 1638/1775/1625 1401/1498/1403 f 1637/1771/1622 1638/1775/1625 1636/1770/1621 f 1404/1501/1406 1636/1770/1621 1401/1498/1403 f 1405/1502/1407 1636/1770/1621 1404/1501/1406 f 1405/1502/1407 1639/1776/1626 1636/1770/1621 f 1620/1777/1609 1639/1776/1626 1405/1502/1407 f 1620/1777/1609 1621/1778/1610 1639/1776/1626 f 1621/1759/1610 1635/1779/1620 1639/1780/1626 f 1621/1759/1610 1622/1760/1611 1635/1779/1620 f 1623/1761/1612 1635/1779/1620 1622/1760/1611 f 1623/1761/1612 1640/1781/1627 1635/1779/1620 f 1625/1763/1614 1634/1782/1618 1635/1779/1620 f 1625/1763/1614 1626/1764/1615 1634/1782/1618 f 1635/1769/1620 1636/1770/1621 1639/1776/1626 f 1407/1504/1409 1620/1777/1609 1405/1502/1407 f 1168/1229/1170 1415/1512/1417 1163/1224/1165 f 1415/1512/1417 1162/1223/1164 1163/1224/1165 f 1415/1512/1417 1400/1497/1402 1162/1223/1164 f 1415/1512/1417 1413/1510/1415 1400/1497/1402 f 1400/1497/1402 1413/1510/1415 1402/1499/1404 f 1168/1229/1170 1163/1224/1165 1165/1226/1167 f 1154/1215/1156 1394/1492/1397 1152/1213/1154 f 1201/1264/1203 1204/1267/1206 1200/1263/1202 f 1305/1381/1308 1306/1382/1309 1309/1385/1312 f 1320/1400/1323 1321/1401/1324 1329/1413/1332 f 1329/1413/1332 1321/1401/1324 1641/1783/1628 f 1322/1402/1325 1641/1783/1628 1321/1401/1324 f 1322/1402/1325 1642/1784/1629 1641/1783/1628 f 1322/1402/1325 1643/1785/1630 1642/1784/1629 f 1322/1402/1325 1323/1404/1326 1643/1785/1630 f 1323/1406/1326 1644/1786/1631 1643/1787/1630 f 1325/1407/1328 1644/1786/1631 1323/1406/1326 f 1325/1407/1328 1327/1409/1330 1644/1786/1631 f 1327/1409/1330 1645/1788/1632 1644/1786/1631 f 1329/1411/1332 1645/1788/1632 1327/1409/1330 f 1329/1411/1332 1646/1789/1633 1645/1788/1632 f 1329/1413/1332 1641/1783/1628 1646/1790/1633 f 1646/1790/1633 1641/1783/1628 1647/1791/1634 f 1642/1784/1629 1647/1791/1634 1641/1783/1628 f 1647/1791/1634 1642/1784/1629 1648/1792/1635 f 1642/1784/1629 1649/1793/1636 1648/1792/1635 f 1643/1785/1630 1649/1793/1636 1642/1784/1629 f 1650/1794/1637 1649/1795/1636 1643/1787/1630 f 1650/1794/1637 1651/1796/1638 1649/1795/1636 f 1650/1794/1637 1652/1797/1639 1651/1796/1638 f 1652/1797/1639 1650/1794/1637 1645/1788/1632 f 1645/1788/1632 1650/1794/1637 1644/1786/1631 f 1643/1787/1630 1644/1786/1631 1650/1794/1637 f 1646/1789/1633 1652/1797/1639 1645/1788/1632 f 1653/1798/1640 1652/1797/1639 1646/1789/1633 f 1654/1799/1641 1652/1797/1639 1653/1798/1640 f 1651/1796/1638 1652/1797/1639 1654/1799/1641 f 1651/1796/1638 1654/1799/1641 1655/1800/1642 f 1654/1799/1641 1656/1801/1643 1655/1800/1642 f 1657/1802/1644 1656/1801/1643 1654/1799/1641 f 1657/1802/1644 1658/1803/1645 1656/1801/1643 f 1657/1804/1644 1659/1805/1646 1658/1806/1645 f 1657/1804/1644 1647/1791/1634 1659/1805/1646 f 1647/1791/1634 1657/1804/1644 1653/1807/1640 f 1653/1798/1640 1657/1802/1644 1654/1799/1641 f 1646/1790/1633 1647/1791/1634 1653/1807/1640 f 1660/1808/1647 1659/1805/1646 1647/1791/1634 f 1660/1808/1647 1661/1809/1648 1659/1805/1646 f 1660/1808/1647 1662/1810/1649 1661/1809/1648 f 1660/1808/1647 1663/1811/1650 1662/1810/1649 f 1663/1811/1650 1660/1808/1647 1648/1792/1635 f 1648/1792/1635 1660/1808/1647 1647/1791/1634 f 1648/1792/1635 1649/1793/1636 1663/1811/1650 f 1649/1795/1636 1651/1796/1638 1663/1812/1650 f 1651/1796/1638 1655/1800/1642 1663/1812/1650 f 1655/1800/1642 1662/1813/1649 1663/1812/1650 f 1655/1800/1642 1664/1814/1651 1662/1813/1649 f 1656/1801/1643 1664/1814/1651 1655/1800/1642 f 1656/1801/1643 1665/1815/1652 1664/1814/1651 f 1666/1816/1653 1665/1815/1652 1656/1801/1643 f 1667/1817/1654 1665/1815/1652 1666/1816/1653 f 1668/1818/1655 1665/1815/1652 1667/1817/1654 f 1664/1814/1651 1665/1815/1652 1668/1818/1655 f 1669/1819/1656 1664/1814/1651 1668/1818/1655 f 1664/1814/1651 1669/1819/1656 1662/1813/1649 f 1662/1810/1649 1669/1820/1656 1670/1821/1657 f 1670/1821/1657 1669/1820/1656 1671/1822/1658 f 1669/1819/1656 1668/1818/1655 1671/1823/1658 f 1671/1823/1658 1668/1818/1655 1672/1824/1659 f 1668/1818/1655 1667/1817/1654 1672/1824/1659 f 1672/1824/1659 1667/1817/1654 1673/1825/1660 f 1674/1826/1661 1673/1825/1660 1667/1817/1654 f 1674/1826/1661 1675/1827/1662 1673/1825/1660 f 1674/1828/1661 1676/1829/1663 1675/1830/1662 f 1677/1831/1664 1676/1829/1663 1674/1828/1661 f 1678/1832/1665 1676/1829/1663 1677/1831/1664 f 1678/1832/1665 1679/1833/1666 1676/1829/1663 f 1678/1832/1665 1680/1834/1667 1679/1833/1666 f 1678/1832/1665 1681/1835/1668 1680/1834/1667 f 1678/1832/1665 1682/1836/1669 1681/1835/1668 f 1683/1837/1670 1682/1836/1669 1678/1832/1665 f 1683/1838/1670 1684/1839/1671 1682/1840/1669 f 1683/1838/1670 1672/1824/1659 1684/1839/1671 f 1671/1823/1658 1672/1824/1659 1683/1838/1670 f 1683/1837/1670 1685/1841/1672 1671/1822/1658 f 1685/1841/1672 1683/1837/1670 1678/1832/1665 f 1685/1841/1672 1678/1832/1665 1677/1831/1664 f 1685/1841/1672 1677/1831/1664 1686/1842/1673 f 1686/1842/1673 1677/1831/1664 1674/1828/1661 f 1686/1842/1673 1674/1828/1661 1666/1843/1653 f 1666/1816/1653 1674/1826/1661 1667/1817/1654 f 1658/1806/1645 1686/1842/1673 1666/1843/1653 f 1658/1806/1645 1687/1844/1674 1686/1842/1673 f 1658/1806/1645 1659/1805/1646 1687/1844/1674 f 1659/1805/1646 1661/1809/1648 1687/1844/1674 f 1661/1809/1648 1686/1842/1673 1687/1844/1674 f 1661/1809/1648 1670/1821/1657 1686/1842/1673 f 1661/1809/1648 1662/1810/1649 1670/1821/1657 f 1670/1821/1657 1685/1841/1672 1686/1842/1673 f 1671/1822/1658 1685/1841/1672 1670/1821/1657 f 1656/1801/1643 1658/1803/1645 1666/1816/1653 f 1672/1824/1659 1673/1825/1660 1684/1839/1671 f 1673/1825/1660 1688/1845/1675 1684/1839/1671 f 1675/1827/1662 1688/1845/1675 1673/1825/1660 f 1675/1827/1662 1689/1846/1676 1688/1845/1675 f 1675/1830/1662 1690/1847/1677 1689/1848/1676 f 1675/1830/1662 1679/1833/1666 1690/1847/1677 f 1675/1830/1662 1676/1829/1663 1679/1833/1666 f 1690/1847/1677 1679/1833/1666 1691/1849/1678 f 1680/1834/1667 1691/1849/1678 1679/1833/1666 f 1680/1834/1667 1692/1850/1679 1691/1849/1678 f 1680/1834/1667 1693/1851/1680 1692/1850/1679 f 1680/1834/1667 1681/1835/1668 1693/1851/1680 f 1681/1835/1668 1694/1852/1681 1693/1851/1680 f 1695/1853/1682 1694/1852/1681 1681/1835/1668 f 1697/1854/1683 1696/1855/1684 1695/1856/1682 f 1697/1854/1683 1698/1857/1685 1696/1855/1684 f 1697/1854/1683 1699/1858/1686 1698/1857/1685 f 1700/1859/1687 1699/1858/1686 1697/1854/1683 f 1701/1860/1688 1702/1861/1689 1699/1862/1686 f 1707/1863/1690 1705/1864/1691 1706/1865/1692 f 1707/1863/1690 1708/1866/1693 1705/1864/1691 f 1707/1863/1690 1709/1867/1694 1708/1866/1693 f 1710/1868/1695 1709/1867/1694 1707/1863/1690 f 1694/1852/1681 1712/1869/1696 1693/1851/1680 f 1696/1870/1684 1713/1871/1697 1694/1852/1681 f 1709/1867/1694 1723/1872/1698 1708/1866/1693 f 1708/1866/1693 1723/1872/1698 1722/1873/1699 f 1708/1866/1693 1722/1873/1699 1721/1874/1700 f 1708/1866/1693 1721/1874/1700 1705/1864/1691 f 1727/1875/1701 1703/1876/1702 1701/1860/1688 f 1689/1848/1676 1727/1875/1701 1701/1860/1688 f 1690/1847/1677 1727/1875/1701 1689/1848/1676 f 1690/1847/1677 1691/1849/1678 1726/1877/1703 f 1689/1846/1676 1701/1878/1688 1700/1859/1687 f 1689/1846/1676 1700/1859/1687 1688/1845/1675 f 1688/1845/1675 1700/1859/1687 1697/1854/1683 f 1684/1839/1671 1688/1845/1675 1697/1854/1683 f 1682/1840/1669 1684/1839/1671 1697/1854/1683 f 1682/1840/1669 1697/1854/1683 1695/1856/1682 f 1695/1853/1682 1681/1835/1668 1682/1836/1669 f 1310/1386/1313 1311/1387/1314 1319/1399/1322 f 1319/1399/1322 1311/1387/1314 1728/1879/1704 f 1311/1387/1314 1729/1880/1705 1728/1879/1704 f 1311/1387/1314 1730/1881/1706 1729/1880/1705 f 1312/1388/1315 1730/1881/1706 1311/1387/1314 f 1312/1388/1315 1731/1882/1707 1730/1881/1706 f 1312/1388/1315 1313/1390/1316 1731/1882/1707 f 1313/1392/1316 1732/1883/1708 1731/1884/1707 f 1315/1393/1318 1732/1883/1708 1313/1392/1316 f 1315/1393/1318 1317/1395/1320 1732/1883/1708 f 1317/1395/1320 1733/1885/1709 1732/1883/1708 f 1319/1397/1322 1733/1885/1709 1317/1395/1320 f 1319/1397/1322 1728/1886/1704 1733/1885/1709 f 1728/1886/1704 1734/1887/1710 1733/1885/1709 f 1734/1888/1710 1728/1879/1704 1735/1889/1711 f 1728/1879/1704 1729/1880/1705 1735/1889/1711 f 1730/1881/1706 1735/1889/1711 1729/1880/1705 f 1735/1889/1711 1730/1881/1706 1736/1890/1712 f 1736/1890/1712 1730/1881/1706 1731/1882/1707 f 1736/1890/1712 1731/1882/1707 1737/1891/1713 f 1737/1892/1713 1731/1884/1707 1738/1893/1714 f 1731/1884/1707 1732/1883/1708 1738/1893/1714 f 1738/1893/1714 1732/1883/1708 1733/1885/1709 f 1738/1893/1714 1733/1885/1709 1739/1894/1715 f 1733/1885/1709 1734/1887/1710 1739/1894/1715 f 1734/1887/1710 1740/1895/1716 1739/1894/1715 f 1734/1887/1710 1741/1896/1717 1740/1895/1716 f 1735/1889/1711 1741/1897/1717 1734/1888/1710 f 1735/1889/1711 1742/1898/1718 1741/1897/1717 f 1743/1899/1719 1742/1898/1718 1735/1889/1711 f 1743/1899/1719 1744/1900/1720 1742/1898/1718 f 1743/1899/1719 1745/1901/1721 1744/1900/1720 f 1743/1899/1719 1746/1902/1722 1745/1901/1721 f 1746/1902/1722 1743/1899/1719 1736/1890/1712 f 1736/1890/1712 1743/1899/1719 1735/1889/1711 f 1746/1902/1722 1736/1890/1712 1737/1891/1713 f 1747/1903/1723 1746/1904/1722 1737/1892/1713 f 1746/1904/1722 1747/1903/1723 1748/1905/1724 f 1747/1903/1723 1740/1895/1716 1748/1905/1724 f 1747/1903/1723 1739/1894/1715 1740/1895/1716 f 1739/1894/1715 1747/1903/1723 1738/1893/1714 f 1747/1903/1723 1737/1892/1713 1738/1893/1714 f 1740/1895/1716 1749/1906/1725 1748/1905/1724 f 1741/1896/1717 1749/1906/1725 1740/1895/1716 f 1741/1896/1717 1750/1907/1726 1749/1906/1725 f 1741/1897/1717 1751/1908/1727 1750/1909/1726 f 1742/1898/1718 1751/1908/1727 1741/1897/1717 f 1742/1898/1718 1744/1900/1720 1751/1908/1727 f 1744/1900/1720 1752/1910/1728 1751/1908/1727 f 1744/1900/1720 1753/1911/1729 1752/1910/1728 f 1744/1900/1720 1745/1901/1721 1753/1911/1729 f 1745/1901/1721 1754/1912/1730 1753/1911/1729 f 1745/1913/1721 1755/1914/1731 1754/1915/1730 f 1748/1905/1724 1755/1914/1731 1745/1913/1721 f 1749/1906/1725 1755/1914/1731 1748/1905/1724 f 1755/1914/1731 1749/1906/1725 1756/1916/1732 f 1757/1917/1733 1756/1916/1732 1749/1906/1725 f 1758/1918/1734 1756/1916/1732 1757/1917/1733 f 1759/1919/1735 1756/1916/1732 1758/1918/1734 f 1755/1914/1731 1756/1916/1732 1759/1919/1735 f 1754/1915/1730 1755/1914/1731 1759/1919/1735 f 1754/1915/1730 1759/1919/1735 1760/1920/1736 f 1760/1920/1736 1759/1919/1735 1761/1921/1737 f 1759/1919/1735 1758/1918/1734 1761/1921/1737 f 1761/1921/1737 1758/1918/1734 1762/1922/1738 f 1763/1923/1739 1762/1922/1738 1758/1918/1734 f 1763/1923/1739 1764/1924/1740 1762/1922/1738 f 1763/1925/1739 1765/1926/1741 1764/1927/1740 f 1766/1928/1742 1765/1926/1741 1763/1925/1739 f 1767/1929/1743 1765/1926/1741 1766/1928/1742 f 1767/1929/1743 1768/1930/1744 1765/1926/1741 f 1767/1929/1743 1769/1931/1745 1768/1930/1744 f 1767/1929/1743 1770/1932/1746 1769/1931/1745 f 1767/1929/1743 1771/1933/1747 1770/1932/1746 f 1767/1929/1743 1772/1934/1748 1771/1933/1747 f 1773/1935/1749 1772/1934/1748 1767/1929/1743 f 1773/1935/1749 1760/1936/1736 1772/1934/1748 f 1760/1936/1736 1773/1935/1749 1753/1911/1729 f 1753/1911/1729 1773/1935/1749 1752/1910/1728 f 1773/1935/1749 1766/1928/1742 1752/1910/1728 f 1773/1935/1749 1767/1929/1743 1766/1928/1742 f 1752/1910/1728 1766/1928/1742 1763/1925/1739 f 1752/1910/1728 1763/1925/1739 1757/1937/1733 f 1757/1917/1733 1763/1923/1739 1758/1918/1734 f 1750/1909/1726 1752/1910/1728 1757/1937/1733 f 1750/1909/1726 1751/1908/1727 1752/1910/1728 f 1749/1906/1725 1750/1907/1726 1757/1917/1733 f 1753/1911/1729 1754/1912/1730 1760/1936/1736 f 1760/1920/1736 1761/1921/1737 1772/1938/1748 f 1772/1938/1748 1761/1921/1737 1774/1939/1750 f 1761/1921/1737 1762/1922/1738 1774/1939/1750 f 1762/1922/1738 1775/1940/1751 1774/1939/1750 f 1764/1924/1740 1775/1940/1751 1762/1922/1738 f 1764/1924/1740 1776/1941/1752 1775/1940/1751 f 1764/1927/1740 1777/1942/1753 1776/1943/1752 f 1764/1927/1740 1768/1930/1744 1777/1942/1753 f 1765/1926/1741 1768/1930/1744 1764/1927/1740 f 1777/1942/1753 1768/1930/1744 1778/1944/1754 f 1769/1931/1745 1778/1944/1754 1768/1930/1744 f 1769/1931/1745 1779/1945/1755 1778/1944/1754 f 1769/1931/1745 1780/1946/1756 1779/1945/1755 f 1769/1931/1745 1770/1932/1746 1780/1946/1756 f 1770/1932/1746 1781/1947/1757 1780/1946/1756 f 1782/1948/1758 1781/1947/1757 1770/1932/1746 f 1782/1949/1758 1783/1950/1759 1781/1951/1757 f 1784/1952/1760 1783/1950/1759 1782/1949/1758 f 1784/1952/1760 1785/1953/1761 1783/1950/1759 f 1784/1952/1760 1786/1954/1762 1785/1953/1761 f 1787/1955/1763 1786/1954/1762 1784/1952/1760 f 1787/1955/1763 1788/1956/1764 1786/1954/1762 f 1776/1941/1752 1788/1956/1764 1787/1955/1763 f 1776/1943/1752 1789/1957/1765 1788/1958/1764 f 1777/1942/1753 1789/1957/1765 1776/1943/1752 f 1781/1947/1757 1796/1959/1766 1780/1946/1756 f 1781/1947/1757 1783/1960/1759 1797/1961/1767 f 1783/1960/1759 1798/1962/1768 1797/1961/1767 f 1805/1963/1769 1802/1964/1770 1806/1965/1771 f 1806/1965/1771 1802/1964/1770 1786/1966/1762 f 1788/1958/1764 1806/1965/1771 1786/1966/1762 f 1791/1967/1772 1809/1968/1773 1806/1965/1771 f 1792/1969/1774 1809/1968/1773 1791/1967/1772 f 1793/1970/1775 1809/1968/1773 1792/1969/1774 f 1793/1970/1775 1810/1971/1776 1809/1968/1773 f 1793/1970/1775 1811/1972/1777 1810/1971/1776 f 1794/1973/1778 1811/1972/1777 1793/1970/1775 f 1811/1972/1777 1797/1961/1767 1812/1974/1779 f 1812/1974/1779 1797/1961/1767 1798/1962/1768 f 1813/1975/1780 1798/1962/1768 1801/1976/1781 f 1810/1971/1776 1814/1977/1782 1805/1963/1769 f 1810/1971/1776 1812/1974/1779 1814/1977/1782 f 1811/1972/1777 1812/1974/1779 1810/1971/1776 f 1810/1971/1776 1805/1963/1769 1809/1968/1773 f 1789/1957/1765 1808/1978/1783 1788/1958/1764 f 1777/1942/1753 1778/1944/1754 1790/1979/1784 f 1776/1941/1752 1787/1955/1763 1775/1940/1751 f 1784/1952/1760 1775/1940/1751 1787/1955/1763 f 1774/1939/1750 1775/1940/1751 1784/1952/1760 f 1771/1980/1747 1774/1939/1750 1784/1952/1760 f 1772/1938/1748 1774/1939/1750 1771/1980/1747 f 1771/1980/1747 1784/1952/1760 1782/1949/1758 f 1771/1933/1747 1782/1948/1758 1770/1932/1746 f 1746/1904/1722 1748/1905/1724 1745/1913/1721 f 1297/1372/1300 1298/1373/1301 1226/1293/1228 f 1227/1294/1229 1297/1372/1300 1226/1293/1228 f 1231/1298/1233 1297/1372/1300 1227/1294/1229 f 1229/1296/1231 1231/1298/1233 1227/1294/1229 g mesh2.002_mesh2-geometry_FrontColorNoCullingID__03_-_Default1noCulli usemtl FrontColorNoCullingID__03_-_Default1noCulli f 1153/1981/1155 1155/1982/1159 1154/1983/1156 f 1156/1984/1157 1155/1985/1159 1153/1986/1155 f 1386/1987/1389 1156/1988/1157 1153/1989/1155 f 1386/1990/1389 1153/1991/1155 1387/1992/1390 f 1389/1993/1392 1151/1994/1153 1390/1995/1393 f 1151/1996/1153 1150/1997/1152 1390/1998/1393 f 1150/1999/1152 1392/2000/1396 1391/2001/1394 f 1394/2002/1397 1395/2003/1624 1393/2004/1395 f 1394/2005/1397 1396/2006/1398 1395/2007/1624 f 1155/2008/1159 1396/2009/1398 1394/2010/1397 f 1494/2011/1496 1496/2012/1499 1495/2013/1497 f 1505/2014/1525 1504/2015/1506 1490/2016/1492 f 1505/2017/1525 1506/2018/1522 1504/2019/1506 f 1505/2020/1525 1507/2021/1509 1506/2022/1522 f 1508/2023/1507 1507/2024/1509 1505/2025/1525 f 1512/2026/1512 1513/2027/1785 1511/2028/1511 f 1492/2029/1494 1513/2030/1785 1512/2031/1512 f 1492/2032/1494 1493/2033/1495 1513/2034/1785 f 1493/2035/1495 1495/2036/1497 1513/2037/1785 f 1513/2038/1785 1495/2039/1497 1496/2040/1499 f 1513/2041/1785 1496/2042/1499 1511/2043/1511 f 1514/2044/1513 1515/2045/1514 1516/2046/1515 f 1518/2047/1786 1517/2048/1516 1515/2049/1514 f 1519/2050/1518 1517/2051/1516 1518/2052/1786 f 1520/2053/1517 1521/2054/1524 1517/2055/1516 f 1521/2056/1524 1520/2057/1517 1522/2058/1519 f 1522/2059/1519 1520/2060/1517 1519/2061/1518 f 1501/2062/1503 1519/2063/1518 1524/2064/1787 f 1519/2065/1518 1518/2066/1786 1524/2067/1787 f 1500/2068/1502 1524/2069/1787 1518/2070/1786 f 1500/2071/1502 1501/2072/1503 1524/2073/1787 f 1525/2074/1788 1500/2075/1502 1518/2076/1786 f 1497/2077/1498 1500/2078/1502 1525/2079/1788 f 1525/2080/1788 1515/2081/1514 1497/2082/1498 f 1525/2083/1788 1518/2084/1786 1515/2085/1514 f 1503/2086/1505 1526/2087/1521 1523/2088/1520 f 1506/2089/1522 1526/2090/1521 1504/2091/1506 f 1506/2092/1522 1523/2093/1520 1526/2094/1521 f 1509/2095/1508 1522/2096/1519 1523/2097/1520 f 1514/2098/1513 1521/2099/1524 1527/2100/1523 f 1516/2101/1515 1517/2102/1516 1521/2103/1524 f 1527/2104/1523 1521/2105/1524 1522/2106/1519 f 1492/2107/1494 1512/2108/1512 1508/2109/1507 f 1492/2110/1494 1508/2111/1507 1491/2112/1493 f 1491/2113/1493 1508/2114/1507 1505/2115/1525 f 1574/2116/1572 1583/2117/1582 1582/2118/1580 f 1584/2119/1581 1585/2120/1598 1583/2121/1582 f 1586/2122/1584 1585/2123/1598 1584/2124/1581 f 1586/2125/1584 1587/2126/1597 1585/2127/1598 f 1586/2128/1584 1588/2129/1789 1587/2130/1597 f 1586/2131/1584 1589/2132/1583 1588/2133/1789 f 1592/2134/1587 1593/2135/1588 1594/2136/1790 f 1593/2137/1588 1595/2138/1590 1594/2139/1790 f 1597/2140/1591 1598/2141/1791 1595/2142/1590 f 1599/2143/1792 1598/2144/1791 1597/2145/1591 f 1599/2146/1792 1600/2147/1793 1598/2148/1791 f 1601/2149/1794 1600/2150/1793 1599/2151/1792 f 1601/2152/1794 1602/2153/1594 1600/2154/1793 f 1603/2155/1592 1602/2156/1594 1601/2157/1794 f 1588/2158/1789 1604/2159/1593 1605/2160/1595 f 1588/2161/1789 1606/2162/1596 1604/2163/1593 f 1589/2164/1583 1606/2165/1596 1588/2166/1789 f 1590/2167/1585 1604/2168/1593 1606/2169/1596 f 1591/2170/1586 1607/2171/1795 1602/2172/1594 f 1591/2173/1586 1592/2174/1587 1607/2175/1795 f 1607/2176/1795 1592/2177/1587 1608/2178/1796 f 1592/2179/1587 1594/2180/1790 1608/2181/1796 f 1595/2182/1590 1608/2183/1796 1594/2184/1790 f 1595/2185/1590 1600/2186/1793 1608/2187/1796 f 1600/2188/1793 1595/2189/1590 1598/2190/1791 f 1602/2191/1594 1608/2192/1796 1600/2193/1793 f 1607/2194/1795 1608/2195/1796 1602/2196/1594 f 1587/2197/1597 1588/2198/1789 1605/2199/1595 f 1603/2200/1592 1599/2201/1792 1610/2202/1600 f 1603/2203/1592 1601/2204/1794 1599/2205/1792 f 1610/2206/1600 1599/2207/1792 1597/2208/1591 f 1611/2209/1601 1597/2210/1591 1596/2211/1589 f 1612/2212/1797 1611/2213/1601 1596/2214/1589 f 1613/2215/1602 1611/2216/1601 1612/2217/1797 f 1583/2218/1582 1585/2219/1598 1613/2220/1602 f 1583/2221/1582 1613/2222/1602 1612/2223/1797 f 1583/2224/1582 1612/2225/1797 1582/2226/1580 f 1612/2227/1797 1614/2228/1603 1582/2229/1580 f 1612/2230/1797 1596/2231/1589 1614/2232/1603 f 1614/2233/1603 1596/2234/1589 1581/2235/1579 f 1386/2236/1389 1624/2237/1613 1623/2238/1612 f 1386/2239/1389 1387/2240/1390 1624/2241/1613 f 1388/2242/1391 1389/2243/1392 1625/2244/1614 f 1389/2245/1392 1627/2246/1617 1626/2247/1615 f 1389/2248/1392 1390/2249/1393 1627/2250/1617 f 1627/2251/1617 1390/2252/1393 1628/2253/1616 f 1391/2254/1394 1628/2255/1616 1390/2256/1393 f 1392/2257/1396 1629/2258/1798 1628/2259/1616 f 1392/2260/1396 1630/2261/1799 1629/2262/1798 f 1631/2263/1623 1630/2264/1799 1392/2265/1396 f 1632/2266/1619 1630/2267/1799 1631/2268/1623 f 1632/2269/1619 1629/2270/1798 1630/2271/1799 f 1633/2272/1800 1629/2273/1798 1632/2274/1619 f 1626/2275/1615 1629/2276/1798 1633/2277/1800 f 1626/2278/1615 1628/2279/1616 1629/2280/1798 f 1626/2281/1615 1633/2282/1800 1634/2283/1618 f 1634/2284/1618 1633/2285/1800 1632/2286/1619 f 1632/2287/1619 1631/2288/1623 1637/2289/1622 f 1393/2290/1395 1395/2291/1624 1637/2292/1622 f 1623/2293/1612 1624/2294/1613 1640/2295/1627 f 1624/2296/1613 1625/2297/1614 1640/2298/1627 f 1640/2299/1627 1625/2300/1614 1635/2301/1620 f 1155/2302/1159 1394/2303/1397 1154/2304/1156 f 1695/2305/1682 1696/2306/1684 1694/2307/1681 f 1701/2308/1688 1699/2309/1686 1700/2310/1687 f 1703/2311/1702 1702/2312/1689 1701/2313/1688 f 1704/2314/1801 1702/2315/1689 1703/2316/1702 f 1704/2317/1801 1705/2318/1691 1702/2319/1689 f 1706/2320/1692 1705/2321/1691 1704/2322/1801 f 1710/2323/1695 1711/2324/1802 1709/2325/1694 f 1692/2326/1679 1711/2327/1802 1710/2328/1695 f 1692/2329/1679 1693/2330/1680 1711/2331/1802 f 1693/2332/1680 1712/2333/1696 1711/2334/1802 f 1694/2335/1681 1713/2336/1697 1712/2337/1696 f 1696/2338/1684 1714/2339/1803 1713/2340/1697 f 1715/2341/1804 1714/2342/1803 1696/2343/1684 f 1716/2344/1805 1714/2345/1803 1715/2346/1804 f 1716/2347/1805 1717/2348/1806 1714/2349/1803 f 1718/2350/1807 1717/2351/1806 1716/2352/1805 f 1719/2353/1808 1717/2354/1806 1718/2355/1807 f 1719/2356/1808 1720/2357/1809 1717/2358/1806 f 1721/2359/1700 1720/2360/1809 1719/2361/1808 f 1722/2362/1699 1720/2363/1809 1721/2364/1700 f 1723/2365/1698 1720/2366/1809 1722/2367/1699 f 1723/2368/1698 1724/2369/1810 1720/2370/1809 f 1723/2371/1698 1714/2372/1803 1724/2373/1810 f 1723/2374/1698 1713/2375/1697 1714/2376/1803 f 1709/2377/1694 1713/2378/1697 1723/2379/1698 f 1711/2380/1802 1713/2381/1697 1709/2382/1694 f 1711/2383/1802 1712/2384/1696 1713/2385/1697 f 1705/2386/1691 1721/2387/1700 1702/2388/1689 f 1721/2389/1700 1718/2390/1807 1702/2391/1689 f 1721/2392/1700 1719/2393/1808 1718/2394/1807 f 1702/2395/1689 1718/2396/1807 1699/2397/1686 f 1699/2398/1686 1718/2399/1807 1725/2400/1811 f 1718/2401/1807 1716/2402/1805 1725/2403/1811 f 1716/2404/1805 1699/2405/1686 1725/2406/1811 f 1699/2405/1686 1716/2404/1805 1698/2407/1685 f 1715/2408/1804 1698/2409/1685 1716/2410/1805 f 1698/2409/1685 1715/2408/1804 1696/2411/1684 f 1724/2412/1810 1714/2413/1803 1717/2414/1806 f 1724/2415/1810 1717/2416/1806 1720/2417/1809 f 1692/2418/1679 1710/2419/1695 1707/2420/1690 f 1692/2421/1679 1707/2422/1690 1691/2423/1678 f 1691/2424/1678 1707/2425/1690 1726/2426/1703 f 1726/2427/1703 1707/2428/1690 1706/2429/1692 f 1726/2430/1703 1706/2431/1692 1704/2432/1801 f 1726/2433/1703 1704/2434/1801 1727/2435/1701 f 1704/2436/1801 1703/2437/1702 1727/2438/1701 f 1726/2439/1703 1727/2440/1701 1690/2441/1677 f 1790/2442/1784 1789/2443/1765 1777/2444/1753 f 1790/2445/1784 1791/2446/1772 1789/2447/1765 f 1790/2448/1784 1792/2449/1774 1791/2450/1772 f 1790/2451/1784 1793/2452/1775 1792/2453/1774 f 1778/2454/1754 1793/2455/1775 1790/2456/1784 f 1779/2457/1755 1793/2458/1775 1778/2459/1754 f 1779/2460/1755 1794/2461/1778 1793/2462/1775 f 1779/2463/1755 1795/2464/1812 1794/2465/1778 f 1779/2466/1755 1780/2467/1756 1795/2468/1812 f 1780/2469/1756 1796/2470/1766 1795/2471/1812 f 1781/2472/1757 1797/2473/1767 1796/2474/1766 f 1799/2475/1813 1798/2476/1768 1783/2477/1759 f 1800/2478/1814 1798/2479/1768 1799/2480/1813 f 1800/2481/1814 1801/2482/1781 1798/2483/1768 f 1802/2484/1770 1801/2485/1781 1800/2486/1814 f 1803/2487/1815 1801/2488/1781 1802/2489/1770 f 1803/2490/1815 1804/2491/1816 1801/2492/1781 f 1804/2493/1816 1803/2494/1815 1805/2495/1769 f 1805/2496/1769 1803/2497/1815 1802/2498/1770 f 1786/2499/1762 1802/2500/1770 1807/2501/1817 f 1802/2502/1770 1800/2503/1814 1807/2504/1817 f 1785/2505/1761 1807/2506/1817 1800/2507/1814 f 1785/2508/1761 1786/2509/1762 1807/2510/1817 f 1799/2511/1813 1785/2512/1761 1800/2513/1814 f 1783/2514/1759 1785/2515/1761 1799/2516/1813 f 1808/2517/1783 1806/2518/1771 1788/2519/1764 f 1791/2520/1772 1806/2521/1771 1808/2522/1783 f 1794/2523/1778 1795/2524/1812 1811/2525/1777 f 1795/2526/1812 1797/2527/1767 1811/2528/1777 f 1795/2529/1812 1796/2530/1766 1797/2531/1767 f 1812/2532/1779 1798/2533/1768 1813/2534/1780 f 1813/2535/1780 1801/2536/1781 1804/2537/1816 f 1812/2538/1779 1813/2539/1780 1804/2540/1816 f 1812/2541/1779 1804/2542/1816 1814/2543/1782 f 1814/2544/1782 1804/2545/1816 1805/2546/1769 f 1809/2547/1773 1805/2548/1769 1806/2549/1771 f 1791/2550/1772 1808/2551/1783 1789/2552/1765 o mesh3.002_mesh3-geometry v 2.759502 49.854477 13.128083 v 6.019373 46.941994 13.872128 v 6.208828 49.751911 15.105515 v 2.987800 47.326714 12.133979 v 2.328891 46.497444 8.571159 v 2.565727 41.120670 11.013445 v 1.703277 40.804485 8.107265 v 2.407414 34.878834 10.433027 v 1.683869 34.863800 7.561617 v 2.881851 25.269854 9.630214 v 2.076193 25.209862 7.527225 v 2.590421 16.360258 9.532231 v 2.075233 16.283272 7.248014 v 1.457615 12.317620 6.806032 v 2.183778 12.200059 9.749415 v 0.519066 10.028041 6.607589 v 1.989855 10.083605 10.110043 v 1.858750 8.108273 10.453289 v 0.383353 7.641015 6.113867 v 0.786078 5.480722 9.716446 v 1.146226 5.862278 5.172698 v 1.145904 4.013375 8.844398 v 5.590180 5.758899 4.311114 v 7.532145 3.864816 7.607518 v 0.791675 -0.038665 14.426815 v 9.746930 -0.248991 11.626535 v 10.006691 -0.246306 16.144320 v 2.772766 -0.074957 19.153418 v 7.743589 -0.184053 21.606955 v 7.728604 1.505342 21.686867 v 9.948030 1.575564 16.233982 v 9.829227 1.794742 11.691698 v 8.305052 5.305810 8.259003 v 7.014859 7.486745 4.826875 v 4.399819 7.568836 1.016162 v 7.338443 9.815405 5.676227 v 4.541306 9.893284 1.718282 v 1.978963 9.973179 2.068274 v 4.163114 12.527092 3.584813 v 5.327218 12.472589 3.558645 v 4.463144 15.991857 4.432394 v 5.804928 15.932101 4.774343 v 5.334484 24.830772 3.496370 v 7.496985 24.774920 4.623347 v 6.244608 34.643181 2.100222 v 9.492472 34.759811 3.703729 v 10.545580 34.805424 7.786570 v 10.017311 39.961830 3.538652 v 11.152124 40.558701 8.411897 v 11.042967 46.032688 8.902078 v 9.844727 43.826683 4.268328 v 6.395250 43.754665 2.957949 v 6.503910 39.419174 1.987234 v 2.873647 40.279263 3.684772 v 3.458283 44.184204 4.224358 v 3.903295 47.593513 5.721985 v 6.415723 46.970875 4.045767 v 3.386899 49.495728 6.299032 v 6.565013 49.172691 5.072248 v 2.990786 51.427696 6.597550 v 6.733424 51.153488 5.282279 v 7.019641 54.688152 5.131136 v 9.321001 51.069496 6.844373 v 10.233814 54.560951 6.622237 v 7.205667 57.407177 4.603292 v 11.190430 57.161182 6.116937 v 8.243504 65.121925 2.325400 v 12.824553 64.835548 3.943112 v 8.862740 73.395996 0.761540 v 13.799772 73.273132 2.537985 v 9.221218 81.724854 0.122624 v 14.519484 81.585533 1.940349 v 9.581932 89.557388 -0.092193 v 14.265760 89.518379 1.754415 v 16.071438 82.014763 8.063378 v 15.760662 89.901627 7.534092 v 14.088310 82.594658 13.659935 v 13.686056 90.410606 13.165543 v 8.653517 83.064201 15.680420 v 8.814587 90.738426 15.012455 v 3.410028 83.145866 13.212968 v 3.959931 90.743889 12.639886 v 2.150623 82.733429 7.481436 v 1.796360 74.394081 7.998072 v 3.451560 73.807373 2.105492 v 3.288513 65.327728 3.543009 v 3.838031 82.136917 1.493255 v 4.539639 89.851662 1.228757 v 2.780801 90.346344 6.831809 v 2.772402 57.595840 5.765893 v 2.774798 54.946072 6.311018 v 1.454790 54.583984 9.746351 v 1.600554 51.902779 9.631261 v 1.940237 49.618992 9.229369 v 2.642264 34.969627 3.757303 v 3.041520 25.025934 4.495539 v 3.221356 16.079327 4.697612 v 2.993927 12.581832 3.611092 v 1.034641 7.647121 1.669261 v 1.766025 6.164786 1.930543 v 3.973812 6.113428 1.502425 v 3.663531 3.371083 2.156626 v 4.569293 3.233161 4.482197 v 2.171172 3.288948 4.946483 v 2.196860 3.405201 2.440599 v 2.469864 -0.099404 2.800305 v 3.612533 -0.125984 2.579475 v 4.327977 -0.138704 4.484915 v 2.478235 -0.095676 4.842392 v 2.515527 51.994511 13.501719 v 6.383063 51.872520 15.479547 v 9.604647 51.600365 13.781809 v 9.629385 49.470112 13.395726 v 9.795408 46.658234 12.382970 v 5.770966 40.964504 12.544323 v 5.452665 34.647171 11.814260 v 4.944695 25.214718 11.235393 v 4.538348 16.333824 11.195582 v 4.353104 12.184816 11.629550 v 4.470004 10.277233 12.110786 v 5.001893 7.957570 12.806405 v 1.845311 6.500121 11.636456 v 1.762262 3.636111 14.914524 v 0.731384 2.008389 14.521910 v 2.814166 1.744587 19.225101 v 5.622376 1.554804 22.344463 v 5.610464 -0.133966 22.269375 v 5.552069 2.339622 21.986986 v 3.063804 2.404200 19.254528 v 5.819885 4.301875 16.699102 v 5.355649 6.186059 14.394445 v 9.592595 3.403557 12.147698 v 8.494408 5.905193 10.388557 v 7.337930 7.962975 9.485003 v 6.780910 9.928238 9.493511 v 6.316817 12.006266 9.660254 v 7.073488 12.284524 6.662208 v 7.278625 15.986759 7.402623 v 8.781808 24.831783 7.708075 v 9.352629 34.506268 10.685962 v 9.974279 40.883560 11.298318 v 10.831039 49.117245 9.573011 v 9.732194 46.843819 5.254848 v 9.456247 49.062656 6.521980 v 10.760628 51.395779 9.994949 v 11.483105 54.028931 10.144659 v 12.315071 57.583195 10.047595 v 14.184769 65.390465 9.415774 v 15.318041 73.695953 8.562652 v 13.375343 74.262077 14.022049 v 8.302660 74.718063 16.118711 v 3.032471 74.796043 13.589769 v 1.821697 66.028664 8.898038 v 1.399701 58.146923 9.593850 v 2.363439 55.176254 13.949736 v 2.458019 53.864346 13.848638 v 6.535645 54.029308 15.764713 v 6.611987 55.141670 15.803013 v 6.790038 58.388351 16.000505 v 2.473841 58.398788 14.126920 v 2.920890 66.381096 13.840610 v 7.736989 66.316612 16.202757 v 12.460232 65.888741 14.240856 v 10.893349 57.964069 14.478023 v 10.205713 54.757774 14.270082 v 9.874107 53.440407 14.145267 v 7.896560 24.987663 9.770073 v 6.353553 16.145924 9.646544 v 9.664277 2.247586 16.366898 v 7.645839 2.290448 21.331627 vt 0.361417 0.289692 vt 0.387721 0.278085 vt 0.388185 0.291526 vt 0.359763 0.275100 vt 0.329997 0.267715 vt 0.360000 0.236762 vt 0.332180 0.232355 vt 0.360243 0.198917 vt 0.334420 0.198917 vt 0.364335 0.142241 vt 0.344672 0.142241 vt 0.369350 0.087159 vt 0.349500 0.087159 vt 0.602125 0.180987 vt 0.626654 0.179310 vt 0.613056 0.191636 vt 0.619411 0.162101 vt 0.593353 0.171914 vt 0.613112 0.147270 vt 0.604672 0.126774 vt 0.578523 0.158172 vt 0.579047 0.116734 vt 0.563233 0.153344 vt 0.567046 0.110913 vt 0.658022 0.285449 vt 0.623045 0.247692 vt 0.658175 0.251969 vt 0.622845 0.291675 vt 0.587916 0.243415 vt 0.587668 0.297900 vt 0.560591 0.296034 vt 0.550585 0.244231 vt 0.528614 0.283135 vt 0.679042 0.026882 vt 0.651725 0.014087 vt 0.653994 0.005531 vt 0.673855 0.036735 vt 0.704631 0.065625 vt 0.693939 0.074569 vt 0.709031 0.107965 vt 0.697042 0.114067 vt 0.716795 0.147781 vt 0.703227 0.153005 vt 0.724197 0.181162 vt 0.691096 0.164918 vt 0.709011 0.194668 vt 0.724476 0.209488 vt 0.700193 0.211352 vt 0.695845 0.203814 vt 0.691069 0.217444 vt 0.681385 0.205398 vt 0.478183 0.142241 vt 0.445347 0.087159 vt 0.470812 0.087159 vt 0.454679 0.142242 vt 0.490898 0.197293 vt 0.452678 0.142241 vt 0.467984 0.198917 vt 0.441022 0.198917 vt 0.471667 0.227859 vt 0.443950 0.232144 vt 0.446724 0.266467 vt 0.471871 0.253406 vt 0.490898 0.250922 vt 0.490898 0.226313 vt 0.304832 0.228244 vt 0.285437 0.227820 vt 0.285437 0.198806 vt 0.304957 0.254859 vt 0.285437 0.252317 vt 0.306819 0.270295 vt 0.285437 0.270283 vt 0.309032 0.282079 vt 0.285437 0.280014 vt 0.310837 0.291567 vt 0.285437 0.289469 vt 0.285437 0.303706 vt 0.490898 0.302315 vt 0.465212 0.290684 vt 0.490898 0.288144 vt 0.466804 0.302854 vt 0.490898 0.319673 vt 0.468599 0.319673 vt 0.490898 0.348037 vt 0.467191 0.348037 vt 0.490898 0.372773 vt 0.467591 0.373180 vt 0.490898 0.396072 vt 0.467959 0.396072 vt 0.490898 0.432228 vt 0.468531 0.432228 vt 0.440927 0.396072 vt 0.440336 0.432228 vt 0.412093 0.396072 vt 0.411463 0.432228 vt 0.389465 0.396072 vt 0.389304 0.432228 vt 0.366309 0.396072 vt 0.366757 0.432228 vt 0.337678 0.396072 vt 0.337411 0.372773 vt 0.310940 0.373180 vt 0.311334 0.348037 vt 0.285437 0.348037 vt 0.285437 0.372773 vt 0.310579 0.396072 vt 0.285437 0.396072 vt 0.310016 0.432228 vt 0.285437 0.432228 vt 0.338095 0.432228 vt 0.285437 0.319673 vt 0.308769 0.319673 vt 0.309969 0.303762 vt 0.333643 0.306497 vt 0.334291 0.294380 vt 0.331877 0.285681 vt 0.308274 0.198917 vt 0.298474 0.142241 vt 0.318593 0.142241 vt 0.323632 0.087159 vt 0.304117 0.087159 vt 0.695835 0.230378 vt 0.705684 0.220046 vt 0.569629 0.198493 vt 0.580783 0.205676 vt 0.548896 0.186666 vt 0.544333 0.178664 vt 0.739906 0.199653 vt 0.728952 0.174969 vt 0.748397 0.193711 vt 0.745367 0.162971 vt 0.728728 0.143492 vt 0.670512 0.255921 vt 0.670392 0.282198 vt 0.532108 0.164989 vt 0.549145 0.146223 vt 0.502808 0.135507 vt 0.760078 0.176503 vt 0.775289 0.134084 vt 0.786210 0.144110 vt 0.762916 0.119564 vt 0.704713 0.259481 vt 0.704623 0.279249 vt 0.515688 0.121255 vt 0.720007 0.263572 vt 0.719951 0.275784 vt 0.597698 0.207154 vt 0.362095 0.298516 vt 0.388380 0.299851 vt 0.414803 0.297962 vt 0.415070 0.288953 vt 0.417628 0.274396 vt 0.387641 0.238278 vt 0.387562 0.198917 vt 0.387655 0.142241 vt 0.386459 0.087159 vt 0.639240 0.174731 vt 0.638952 0.152685 vt 0.639181 0.137383 vt 0.637715 0.108106 vt 0.601214 0.107322 vt 0.597756 0.087870 vt 0.583392 0.081664 vt 0.571315 0.068711 vt 0.603188 0.039185 vt 0.593496 0.029313 vt 0.625740 0.014050 vt 0.621503 0.005386 vt 0.528717 0.260305 vt 0.627991 0.024290 vt 0.610781 0.045341 vt 0.636878 0.078460 vt 0.637296 0.093110 vt 0.676089 0.086106 vt 0.675362 0.104865 vt 0.672673 0.123150 vt 0.663429 0.144840 vt 0.659778 0.158444 vt 0.675889 0.179839 vt 0.665696 0.190842 vt 0.423091 0.087159 vt 0.430049 0.142241 vt 0.414066 0.198917 vt 0.415968 0.237033 vt 0.444665 0.284602 vt 0.470241 0.269190 vt 0.467269 0.281070 vt 0.490898 0.269040 vt 0.490898 0.278756 vt 0.442333 0.293558 vt 0.443291 0.305957 vt 0.443033 0.319673 vt 0.441710 0.348037 vt 0.441306 0.372773 vt 0.412498 0.372777 vt 0.389568 0.372773 vt 0.366021 0.372777 vt 0.337126 0.348037 vt 0.334369 0.319673 vt 0.363089 0.308422 vt 0.362592 0.304452 vt 0.388516 0.307060 vt 0.388655 0.309912 vt 0.388945 0.319673 vt 0.364916 0.319673 vt 0.365715 0.348037 vt 0.389678 0.348037 vt 0.412929 0.348037 vt 0.412512 0.319673 vt 0.414057 0.308206 vt 0.414421 0.303947 vt 0.408038 0.142241 vt 0.404498 0.087159 vt 0.652291 0.179172 vt 0.665640 0.047109 vt 0.650395 0.022355 vn -0.789697 -0.248268 0.560961 vn -0.134617 -0.298624 0.944823 vn -0.030488 -0.260292 0.965026 vn -0.810999 -0.168523 0.560198 vn -0.999939 0.002441 0.009033 vn -0.737602 -0.053163 0.673116 vn -0.997314 0.044618 0.057619 vn -0.820704 -0.057070 0.568468 vn -0.999268 -0.023103 -0.029908 vn -0.792566 -0.031983 0.608936 vn -0.997528 -0.009949 0.069460 vn -0.863155 0.059114 0.501419 vn -0.977599 0.082858 -0.193365 vn -0.969695 0.243416 -0.020112 vn -0.822077 0.174444 0.541948 vn -0.964293 0.262764 0.032929 vn -0.765526 0.162114 0.622608 vn -0.811365 0.221351 0.540971 vn -0.996826 -0.064699 0.045961 vn -0.984436 0.104831 0.140904 vn -0.892727 -0.448958 -0.037965 vn -0.691580 -0.617725 -0.374279 vn 0.752037 -0.589312 -0.295083 vn 0.424268 -0.586963 -0.689505 vn -0.663564 -0.740593 -0.105686 vn 0.774590 -0.520249 -0.359600 vn 0.673910 -0.718528 0.171758 vn -0.022884 -0.999736 0.001915 vn -0.022885 -0.999736 0.001912 vn 0.673330 0.197851 0.712333 vn 0.427534 -0.609668 0.667409 vn 0.970611 0.165685 0.174413 vn 0.970885 0.085177 -0.223823 vn 0.929075 0.077486 -0.361583 vn 0.914212 -0.114933 -0.388501 vn 0.468093 -0.063417 -0.881375 vn 0.972503 0.135899 -0.189001 vn 0.439497 0.378643 -0.814508 vn -0.397076 0.473190 -0.786370 vn -0.020753 0.432691 -0.901273 vn 0.455611 0.283944 -0.843654 vn 0.012818 0.148564 -0.988800 vn 0.643117 -0.001831 -0.765740 vn -0.045198 -0.104923 -0.993439 vn 0.759697 -0.171209 -0.627308 vn 0.013611 -0.085879 -0.996185 vn 0.704489 -0.132145 -0.697256 vn 0.986694 -0.149876 -0.062624 vn 0.800439 0.045656 -0.597644 vn 0.987426 -0.066591 0.143315 vn 0.998810 0.037660 0.030183 vn 0.643300 0.227119 -0.731132 vn -0.019684 0.287484 -0.957579 vn 0.009980 0.087069 -0.996124 vn -0.792749 0.089297 -0.602954 vn -0.672353 0.231391 -0.703116 vn -0.618580 0.223518 -0.753227 vn 0.016968 0.357158 -0.933866 vn -0.643178 0.081790 -0.761315 vn 0.079165 0.219398 -0.972411 vn -0.673574 -0.028382 -0.738548 vn 0.104587 0.022645 -0.994232 vn 0.081149 -0.128941 -0.988311 vn 0.734489 -0.036531 -0.677602 vn 0.700125 -0.275307 -0.658773 vn 0.003601 -0.248909 -0.968505 vn 0.619892 -0.348155 -0.703207 vn 0.035157 -0.241646 -0.969695 vn 0.716056 -0.258827 -0.648244 vn 0.040712 -0.132878 -0.990265 vn 0.734153 -0.147435 -0.662740 vn 0.039521 -0.054262 -0.997742 vn 0.740104 -0.061220 -0.669668 vn 0.151463 -0.022828 -0.988189 vn 0.849574 0.013398 -0.527268 vn 0.998627 -0.022004 0.047304 vn 0.988159 0.052065 0.144139 vn 0.716483 0.033418 0.696768 vn 0.597461 0.079836 0.797876 vn -0.039125 0.071993 0.996612 vn -0.180242 0.093326 0.979156 vn -0.781701 0.081820 0.618213 vn -0.874538 0.103427 0.473769 vn -0.997589 0.058748 -0.036348 vn -0.999451 0.016205 -0.028138 vn -0.698508 -0.068941 -0.712241 vn -0.701132 -0.139561 -0.699179 vn -0.693258 0.004303 -0.720664 vn -0.543474 0.018860 -0.839167 vn -0.987976 0.078372 -0.133183 vn -0.761834 -0.114628 -0.637532 vn -0.673086 -0.119510 -0.729789 vn -0.987915 -0.045351 -0.148045 vn -0.995972 -0.087771 0.017243 vn -0.978607 -0.067598 -0.194220 vn -0.703360 -0.040956 -0.709647 vn -0.829341 -0.040681 -0.557207 vn -0.578112 0.078127 -0.812189 vn -0.602893 0.378002 -0.702536 vn -0.753960 -0.104984 -0.648427 vn -0.650899 -0.329814 -0.683737 vn 0.165471 -0.301004 -0.939146 vn 0.560625 -0.241951 -0.791925 vn 0.860591 -0.139042 0.489914 vn 0.189835 -0.010230 0.981763 vn 0.190086 -0.010590 0.981710 vn -0.646870 -0.226508 -0.728141 vn -0.621601 -0.150914 0.768639 vn -0.667714 -0.684011 -0.293680 vn 0.438368 -0.407361 -0.801172 vn 0.444105 -0.856960 0.261483 vn 0.189445 -0.012767 0.981808 vn 0.189768 -0.012976 0.981743 vn -0.271859 -0.474349 0.837275 vn -0.022885 -0.999736 0.001919 vn -0.022884 -0.999736 0.001919 vn -0.738517 -0.155004 0.656117 vn -0.004089 -0.152104 0.988342 vn 0.709006 -0.154241 0.688070 vn 0.733268 -0.177435 0.656331 vn 0.624287 -0.175512 0.761193 vn 0.007935 -0.165502 0.986175 vn -0.084689 -0.098575 0.991485 vn -0.072237 -0.036256 0.996704 vn -0.167882 0.065828 0.983581 vn 0.172216 0.154271 0.972900 vn 0.096438 0.274514 0.956725 vn 0.113071 0.577105 0.808771 vn -0.668661 0.496536 0.553453 vn -0.642140 0.620106 0.450636 vn -0.959044 0.169897 0.226508 vn -0.831446 0.125645 0.541185 vn -0.578356 -0.707877 0.405408 vn -0.266182 0.107028 0.957945 vn -0.233009 -0.533494 0.813044 vn -0.022882 -0.999736 0.001906 vn -0.213507 0.630818 0.745933 vn -0.657308 0.602069 0.453230 vn 0.113926 0.913846 0.389691 vn 0.132908 0.744346 0.654408 vn 0.852962 0.504501 0.133732 vn 0.817743 0.529252 0.226051 vn 0.920743 0.322092 0.220069 vn 0.860805 0.206946 0.464888 vn 0.908750 0.035096 0.415845 vn 0.958922 0.069918 -0.274850 vn 0.993133 -0.098605 -0.062807 vn 0.974578 -0.173772 0.141179 vn 0.765526 -0.156102 0.624134 vn 0.669118 -0.109165 0.735069 vn 0.990570 0.096072 -0.097629 vn 0.743522 0.307505 -0.593768 vn 0.630360 0.317423 -0.708396 vn 0.991150 -0.130558 0.022950 vn 0.966552 -0.255440 -0.021912 vn 0.965972 -0.258339 -0.010437 vn 0.982757 -0.175207 0.058992 vn 0.992798 -0.105747 0.055910 vn 0.720969 -0.045503 0.691427 vn -0.034333 0.029511 0.998962 vn -0.782342 0.046571 0.621082 vn -0.999146 0.015259 -0.038118 vn -0.999695 0.010437 -0.022217 vn -0.812098 -0.048708 0.581469 vn -0.703177 -0.097507 0.704276 vn -0.004517 -0.130833 0.991363 vn -0.007752 -0.082308 0.996551 vn 0.037416 -0.056154 0.997711 vn -0.706076 0.028291 0.707541 vn -0.783166 0.051912 0.619617 vn -0.024873 0.003052 0.999664 vn 0.711264 -0.088290 0.697348 vn 0.760247 -0.167241 0.627705 vn 0.703452 -0.196600 0.682943 vn 0.715629 -0.217200 0.663808 vn 0.633625 -0.137455 0.761315 vn 0.768731 -0.061342 0.636616 vn 0.815119 0.553575 0.170629 vn 0.606739 0.630848 0.483596 g mesh3.002_mesh3-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1815/2553/1818 1816/2554/1819 1817/2555/1820 f 1815/2553/1818 1818/2556/1821 1816/2554/1819 f 1818/2556/1821 1815/2553/1818 1819/2557/1822 f 1819/2557/1822 1820/2558/1823 1818/2556/1821 f 1821/2559/1824 1820/2558/1823 1819/2557/1822 f 1821/2559/1824 1822/2560/1825 1820/2558/1823 f 1823/2561/1826 1822/2560/1825 1821/2559/1824 f 1823/2561/1826 1824/2562/1827 1822/2560/1825 f 1825/2563/1828 1824/2562/1827 1823/2561/1826 f 1825/2563/1828 1826/2564/1829 1824/2562/1827 f 1827/2565/1830 1826/2564/1829 1825/2563/1828 f 1828/2566/1831 1826/2567/1829 1827/2568/1830 f 1828/2566/1831 1829/2569/1832 1826/2567/1829 f 1830/2570/1833 1829/2569/1832 1828/2566/1831 f 1830/2570/1833 1831/2571/1834 1829/2569/1832 f 1830/2570/1833 1832/2572/1835 1831/2571/1834 f 1833/2573/1836 1832/2572/1835 1830/2570/1833 f 1833/2573/1836 1834/2574/1837 1832/2572/1835 f 1835/2575/1838 1834/2574/1837 1833/2573/1836 f 1835/2575/1838 1836/2576/1839 1834/2574/1837 f 1837/2577/1840 1836/2578/1839 1835/2579/1838 f 1838/2580/1841 1836/2578/1839 1837/2577/1840 f 1838/2580/1841 1839/2581/1842 1836/2578/1839 f 1840/2582/1843 1839/2581/1842 1838/2580/1841 f 1841/2583/1844 1839/2581/1842 1840/2582/1843 s off f 1841/2583/1845 1842/2584/1845 1839/2581/1845 f 1841/2583/1846 1843/2585/1846 1842/2584/1846 s 1 f 1841/2586/1844 1844/2587/1847 1843/2588/1848 f 1841/2586/1844 1845/2589/1849 1844/2587/1847 f 1840/2590/1843 1845/2589/1849 1841/2586/1844 f 1840/2590/1843 1846/2591/1850 1845/2589/1849 f 1838/2592/1841 1846/2591/1850 1840/2590/1843 f 1838/2592/1841 1847/2593/1851 1846/2591/1850 f 1837/2594/1840 1847/2593/1851 1838/2592/1841 f 1837/2594/1840 1848/2595/1852 1847/2593/1851 f 1849/2596/1853 1848/2595/1852 1837/2594/1840 f 1849/2596/1853 1850/2597/1854 1848/2595/1852 f 1849/2596/1853 1851/2598/1855 1850/2597/1854 f 1852/2599/1856 1851/2598/1855 1849/2596/1853 f 1853/2600/1857 1851/2598/1855 1852/2599/1856 f 1853/2600/1857 1854/2601/1858 1851/2598/1855 f 1855/2602/1859 1854/2601/1858 1853/2600/1857 f 1855/2602/1859 1856/2603/1860 1854/2601/1858 f 1857/2604/1861 1856/2605/1860 1855/2606/1859 f 1857/2604/1861 1858/2607/1862 1856/2605/1860 f 1859/2608/1863 1858/2609/1862 1857/2604/1861 f 1860/2610/1864 1858/2609/1862 1859/2608/1863 f 1860/2610/1864 1861/2611/1865 1858/2609/1862 f 1862/2612/1866 1861/2611/1865 1860/2610/1864 f 1862/2612/1866 1863/2613/1867 1861/2611/1865 f 1862/2612/1866 1864/2614/1868 1863/2613/1867 f 1862/2612/1866 1865/2615/1869 1864/2614/1868 f 1865/2615/1869 1862/2612/1866 1866/2616/1870 f 1866/2616/1870 1862/2612/1866 1867/2617/1871 f 1862/2612/1866 1860/2610/1864 1867/2617/1871 f 1867/2617/1871 1860/2610/1864 1859/2608/1863 f 1868/2618/1872 1867/2619/1871 1859/2620/1863 f 1869/2621/1873 1867/2619/1871 1868/2618/1872 f 1869/2621/1873 1866/2622/1870 1867/2619/1871 f 1870/2623/1874 1866/2622/1870 1869/2621/1873 f 1870/2623/1874 1871/2624/1875 1866/2622/1870 f 1872/2625/1876 1871/2624/1875 1870/2623/1874 f 1872/2625/1876 1873/2626/1877 1871/2624/1875 f 1874/2627/1878 1873/2626/1877 1872/2625/1876 f 1874/2627/1878 1875/2628/1879 1873/2626/1877 f 1876/2629/1880 1875/2628/1879 1874/2627/1878 f 1876/2630/1880 1877/2631/1881 1875/2632/1879 f 1876/2630/1880 1878/2633/1882 1877/2631/1881 f 1879/2634/1883 1878/2633/1882 1876/2630/1880 f 1879/2634/1883 1880/2635/1884 1878/2633/1882 f 1881/2636/1885 1880/2635/1884 1879/2634/1883 f 1881/2636/1885 1882/2637/1886 1880/2635/1884 f 1883/2638/1887 1882/2637/1886 1881/2636/1885 f 1883/2638/1887 1884/2639/1888 1882/2637/1886 f 1885/2640/1889 1884/2639/1888 1883/2638/1887 f 1885/2640/1889 1886/2641/1890 1884/2639/1888 f 1887/2642/1891 1886/2641/1890 1885/2640/1889 f 1887/2642/1891 1888/2643/1892 1886/2641/1890 f 1888/2643/1892 1889/2644/1893 1886/2641/1890 f 1888/2643/1892 1890/2645/1894 1889/2644/1893 f 1890/2645/1894 1891/2646/1895 1889/2644/1893 f 1890/2645/1894 1892/2647/1896 1891/2646/1895 f 1892/2647/1896 1893/2648/1897 1891/2646/1895 f 1894/2649/1898 1893/2648/1897 1892/2647/1896 f 1894/2649/1898 1895/2650/1899 1893/2648/1897 f 1896/2651/1900 1895/2650/1899 1894/2649/1898 f 1897/2652/1901 1895/2650/1899 1896/2651/1900 f 1897/2652/1901 1898/2653/1902 1895/2650/1899 f 1899/2654/1903 1898/2653/1902 1897/2652/1901 f 1899/2654/1903 1900/2655/1904 1898/2653/1902 f 1899/2654/1903 1881/2656/1885 1900/2655/1904 f 1899/2654/1903 1883/2657/1887 1881/2656/1885 f 1901/2658/1905 1883/2657/1887 1899/2654/1903 f 1901/2658/1905 1885/2659/1889 1883/2657/1887 f 1902/2660/1906 1885/2659/1889 1901/2658/1905 f 1902/2660/1906 1887/2661/1891 1885/2659/1889 f 1902/2660/1906 1901/2658/1905 1903/2662/1907 f 1901/2658/1905 1897/2652/1901 1903/2662/1907 f 1901/2658/1905 1899/2654/1903 1897/2652/1901 f 1903/2662/1907 1897/2652/1901 1896/2651/1900 f 1900/2655/1904 1881/2656/1885 1879/2663/1883 f 1900/2655/1904 1879/2663/1883 1904/2664/1908 f 1904/2664/1908 1879/2663/1883 1905/2665/1909 f 1879/2663/1883 1876/2629/1880 1905/2665/1909 f 1905/2665/1909 1876/2629/1880 1874/2627/1878 f 1905/2665/1909 1874/2627/1878 1906/2666/1910 f 1874/2627/1878 1907/2667/1911 1906/2666/1910 f 1874/2627/1878 1908/2668/1912 1907/2667/1911 f 1872/2625/1876 1908/2668/1912 1874/2627/1878 f 1870/2623/1874 1908/2668/1912 1872/2625/1876 f 1869/2621/1873 1908/2668/1912 1870/2623/1874 f 1869/2621/1873 1819/2557/1822 1908/2668/1912 f 1868/2618/1872 1819/2557/1822 1869/2621/1873 f 1868/2618/1872 1821/2559/1824 1819/2557/1822 f 1868/2618/1872 1823/2561/1826 1821/2559/1824 f 1868/2618/1872 1909/2669/1913 1823/2561/1826 f 1868/2618/1872 1859/2620/1863 1909/2669/1913 f 1909/2669/1913 1859/2620/1863 1857/2670/1861 f 1909/2669/1913 1857/2670/1861 1910/2671/1914 f 1910/2671/1914 1857/2670/1861 1911/2672/1915 f 1857/2670/1861 1855/2673/1859 1911/2672/1915 f 1911/2674/1915 1855/2602/1859 1912/2675/1916 f 1855/2602/1859 1853/2600/1857 1912/2675/1916 f 1912/2675/1916 1853/2600/1857 1852/2599/1856 f 1852/2676/1856 1830/2570/1833 1912/2677/1916 f 1913/2678/1917 1830/2570/1833 1852/2676/1856 f 1913/2678/1917 1833/2573/1836 1830/2570/1833 f 1913/2678/1917 1835/2575/1838 1833/2573/1836 f 1913/2678/1917 1914/2679/1918 1835/2575/1838 f 1913/2680/1917 1915/2681/1919 1914/2682/1918 f 1913/2680/1917 1849/2596/1853 1915/2681/1919 f 1852/2599/1856 1849/2596/1853 1913/2680/1917 f 1849/2596/1853 1837/2594/1840 1915/2681/1919 f 1915/2681/1919 1837/2594/1840 1916/2683/1920 f 1916/2683/1920 1837/2594/1840 1917/2684/1921 s off f 1837/2577/1922 1918/2685/1922 1917/2686/1922 f 1835/2579/1923 1918/2685/1923 1837/2577/1923 s 1 f 1919/2687/1924 1918/2688/1925 1835/2575/1838 f 1919/2687/1924 1920/2689/1926 1918/2688/1925 f 1919/2690/1924 1921/2691/1927 1920/2692/1926 f 1919/2690/1924 1916/2683/1920 1921/2691/1927 f 1915/2681/1919 1916/2683/1920 1919/2690/1924 f 1914/2682/1918 1915/2681/1919 1919/2690/1924 f 1914/2679/1918 1919/2687/1924 1835/2575/1838 f 1916/2683/1920 1917/2684/1921 1921/2691/1927 f 1921/2691/1927 1917/2684/1921 1922/2693/1928 s off f 1917/2686/1929 1923/2694/1929 1922/2695/1929 f 1918/2685/1930 1923/2694/1930 1917/2686/1930 s 1 f 1920/2689/1926 1923/2696/1931 1918/2688/1925 s off f 1922/2695/1932 1923/2694/1932 1920/2697/1932 f 1922/2695/1933 1920/2697/1933 1921/2698/1933 s 1 f 1912/2677/1916 1830/2570/1833 1828/2566/1831 f 1912/2677/1916 1828/2566/1831 1827/2568/1830 f 1912/2677/1916 1827/2568/1830 1911/2699/1915 f 1910/2671/1914 1911/2672/1915 1827/2565/1830 f 1910/2671/1914 1827/2565/1830 1825/2563/1828 f 1910/2671/1914 1825/2563/1828 1823/2561/1826 f 1909/2669/1913 1910/2671/1914 1823/2561/1826 f 1819/2557/1822 1815/2553/1818 1908/2668/1912 f 1908/2668/1912 1815/2553/1818 1924/2700/1934 f 1924/2700/1934 1815/2553/1818 1817/2555/1820 f 1924/2700/1934 1817/2555/1820 1925/2701/1935 f 1925/2701/1935 1817/2555/1820 1926/2702/1936 f 1926/2702/1936 1817/2555/1820 1927/2703/1937 f 1817/2555/1820 1816/2554/1819 1927/2703/1937 f 1927/2703/1937 1816/2554/1819 1928/2704/1938 f 1816/2554/1819 1929/2705/1939 1928/2704/1938 f 1816/2554/1819 1820/2558/1823 1929/2705/1939 f 1818/2556/1821 1820/2558/1823 1816/2554/1819 f 1820/2558/1823 1930/2706/1940 1929/2705/1939 f 1820/2558/1823 1822/2560/1825 1930/2706/1940 f 1822/2560/1825 1824/2562/1827 1930/2706/1940 f 1930/2706/1940 1824/2562/1827 1931/2707/1941 f 1824/2562/1827 1826/2564/1829 1931/2707/1941 f 1931/2707/1941 1826/2564/1829 1932/2708/1942 f 1826/2567/1829 1829/2569/1832 1932/2709/1942 f 1932/2709/1942 1829/2569/1832 1933/2710/1943 f 1829/2569/1832 1831/2571/1834 1933/2710/1943 f 1933/2710/1943 1831/2571/1834 1934/2711/1944 f 1934/2711/1944 1831/2571/1834 1832/2572/1835 f 1934/2711/1944 1832/2572/1835 1935/2712/1945 f 1832/2572/1835 1936/2713/1946 1935/2712/1945 f 1834/2574/1837 1936/2713/1946 1832/2572/1835 f 1834/2574/1837 1937/2714/1947 1936/2713/1946 f 1834/2574/1837 1938/2715/1948 1937/2714/1947 f 1836/2576/1839 1938/2715/1948 1834/2574/1837 f 1836/2576/1839 1839/2716/1842 1938/2715/1948 f 1839/2716/1842 1939/2717/1949 1938/2715/1948 f 1839/2716/1842 1842/2718/1950 1939/2717/1949 f 1842/2718/1950 1940/2719/1951 1939/2717/1949 f 1842/2718/1950 1941/2720/1952 1940/2719/1951 s off f 1843/2585/1953 1941/2721/1953 1842/2584/1953 s 1 f 1940/2719/1951 1941/2720/1952 1843/2588/1848 f 1940/2719/1951 1843/2588/1848 1844/2587/1847 f 1942/2722/1954 1940/2719/1951 1844/2587/1847 f 1939/2717/1949 1940/2719/1951 1942/2722/1954 f 1939/2717/1949 1942/2722/1954 1943/2723/1955 f 1944/2724/1956 1943/2723/1955 1942/2722/1954 f 1944/2724/1956 1937/2714/1947 1943/2723/1955 f 1944/2724/1956 1945/2725/1957 1937/2714/1947 f 1946/2726/1958 1945/2725/1957 1944/2724/1956 f 1947/2727/1959 1945/2725/1957 1946/2726/1958 f 1947/2727/1959 1935/2712/1945 1945/2725/1957 f 1948/2728/1960 1935/2712/1945 1947/2727/1959 f 1948/2728/1960 1934/2711/1944 1935/2712/1945 f 1948/2728/1960 1949/2729/1961 1934/2711/1944 f 1850/2597/1854 1949/2729/1961 1948/2728/1960 f 1850/2597/1854 1950/2730/1962 1949/2729/1961 f 1850/2597/1854 1951/2731/1963 1950/2730/1962 f 1851/2598/1855 1951/2731/1963 1850/2597/1854 f 1851/2598/1855 1854/2601/1858 1951/2731/1963 f 1854/2601/1858 1856/2603/1860 1951/2731/1963 f 1856/2603/1860 1952/2732/1964 1951/2731/1963 f 1858/2607/1862 1952/2733/1964 1856/2605/1860 f 1858/2607/1862 1953/2734/1965 1952/2733/1964 f 1858/2607/1862 1861/2611/1865 1953/2734/1965 f 1953/2734/1965 1861/2611/1865 1954/2735/1966 f 1861/2611/1865 1863/2613/1867 1954/2735/1966 f 1863/2613/1867 1955/2736/1967 1954/2735/1966 f 1863/2613/1867 1864/2614/1868 1955/2736/1967 f 1864/2614/1868 1928/2704/1938 1955/2736/1967 f 1864/2614/1868 1927/2703/1937 1928/2704/1938 f 1864/2614/1868 1956/2737/1968 1927/2703/1937 f 1957/2738/1969 1956/2737/1968 1864/2614/1868 f 1957/2738/1969 1958/2739/1970 1956/2737/1968 f 1958/2739/1970 1957/2738/1969 1871/2740/1875 f 1871/2740/1875 1957/2738/1969 1865/2615/1869 f 1865/2615/1869 1957/2738/1969 1864/2614/1868 f 1871/2740/1875 1865/2615/1869 1866/2616/1870 f 1873/2741/1877 1958/2739/1970 1871/2740/1875 f 1877/2631/1881 1958/2739/1970 1873/2741/1877 f 1958/2739/1970 1877/2631/1881 1956/2737/1968 f 1877/2631/1881 1959/2742/1971 1956/2737/1968 f 1877/2631/1881 1960/2743/1972 1959/2742/1971 f 1878/2633/1882 1960/2743/1972 1877/2631/1881 f 1878/2633/1882 1961/2744/1973 1960/2743/1972 f 1880/2635/1884 1961/2744/1973 1878/2633/1882 f 1882/2637/1886 1961/2744/1973 1880/2635/1884 f 1882/2637/1886 1962/2745/1974 1961/2744/1973 f 1884/2639/1888 1962/2745/1974 1882/2637/1886 f 1884/2639/1888 1963/2746/1975 1962/2745/1974 f 1886/2641/1890 1963/2746/1975 1884/2639/1888 f 1886/2641/1890 1889/2644/1893 1963/2746/1975 f 1889/2644/1893 1964/2747/1976 1963/2746/1975 f 1889/2644/1893 1891/2646/1895 1964/2747/1976 f 1891/2646/1895 1965/2748/1977 1964/2747/1976 f 1893/2648/1897 1965/2748/1977 1891/2646/1895 f 1893/2648/1897 1966/2749/1978 1965/2748/1977 f 1895/2650/1899 1966/2749/1978 1893/2648/1897 f 1898/2653/1902 1966/2749/1978 1895/2650/1899 f 1898/2653/1902 1967/2750/1979 1966/2749/1978 f 1900/2655/1904 1967/2750/1979 1898/2653/1902 f 1900/2655/1904 1904/2664/1908 1967/2750/1979 f 1904/2664/1908 1968/2751/1980 1967/2750/1979 f 1904/2664/1908 1905/2665/1909 1968/2751/1980 f 1905/2665/1909 1906/2666/1910 1968/2751/1980 f 1968/2751/1980 1906/2666/1910 1969/2752/1981 f 1907/2667/1911 1969/2752/1981 1906/2666/1910 f 1907/2667/1911 1970/2753/1982 1969/2752/1981 f 1907/2667/1911 1924/2700/1934 1970/2753/1982 f 1908/2668/1912 1924/2700/1934 1907/2667/1911 f 1971/2754/1983 1970/2753/1982 1924/2700/1934 f 1972/2755/1984 1970/2753/1982 1971/2754/1983 f 1969/2752/1981 1970/2753/1982 1972/2755/1984 f 1973/2756/1985 1969/2752/1981 1972/2755/1984 f 1974/2757/1986 1969/2752/1981 1973/2756/1985 f 1968/2751/1980 1969/2752/1981 1974/2757/1986 f 1968/2751/1980 1974/2757/1986 1975/2758/1987 f 1975/2758/1987 1974/2757/1986 1976/2759/1988 f 1976/2759/1988 1974/2757/1986 1973/2756/1985 f 1976/2759/1988 1973/2756/1985 1977/2760/1989 f 1977/2760/1989 1973/2756/1985 1978/2761/1990 f 1973/2756/1985 1979/2762/1991 1978/2761/1990 f 1973/2756/1985 1972/2755/1984 1979/2762/1991 f 1972/2755/1984 1980/2763/1992 1979/2762/1991 f 1972/2755/1984 1971/2754/1983 1980/2763/1992 f 1971/2754/1983 1926/2702/1936 1980/2763/1992 f 1971/2754/1983 1925/2701/1935 1926/2702/1936 f 1971/2754/1983 1924/2700/1934 1925/2701/1935 f 1959/2742/1971 1980/2763/1992 1926/2702/1936 f 1959/2742/1971 1960/2743/1972 1980/2763/1992 f 1960/2743/1972 1979/2762/1991 1980/2763/1992 f 1961/2744/1973 1979/2762/1991 1960/2743/1972 f 1961/2744/1973 1978/2761/1990 1979/2762/1991 f 1962/2745/1974 1978/2761/1990 1961/2744/1973 f 1962/2745/1974 1977/2760/1989 1978/2761/1990 f 1963/2746/1975 1977/2760/1989 1962/2745/1974 f 1963/2746/1975 1964/2747/1976 1977/2760/1989 f 1964/2747/1976 1976/2759/1988 1977/2760/1989 f 1965/2748/1977 1976/2759/1988 1964/2747/1976 f 1965/2748/1977 1975/2758/1987 1976/2759/1988 f 1966/2749/1978 1975/2758/1987 1965/2748/1977 f 1967/2750/1979 1975/2758/1987 1966/2749/1978 f 1967/2750/1979 1968/2751/1980 1975/2758/1987 f 1956/2737/1968 1959/2742/1971 1926/2702/1936 f 1956/2737/1968 1926/2702/1936 1927/2703/1937 f 1875/2632/1879 1877/2631/1881 1873/2741/1877 f 1928/2704/1938 1929/2705/1939 1955/2736/1967 f 1929/2705/1939 1930/2706/1940 1955/2736/1967 f 1955/2736/1967 1930/2706/1940 1954/2735/1966 f 1930/2706/1940 1981/2764/1993 1954/2735/1966 f 1930/2706/1940 1931/2707/1941 1981/2764/1993 f 1931/2707/1941 1982/2765/1994 1981/2764/1993 f 1931/2707/1941 1932/2708/1942 1982/2765/1994 f 1932/2709/1942 1933/2710/1943 1982/2766/1994 f 1982/2766/1994 1933/2710/1943 1950/2730/1962 f 1949/2729/1961 1950/2730/1962 1933/2710/1943 f 1949/2729/1961 1933/2710/1943 1934/2711/1944 f 1952/2732/1964 1982/2766/1994 1950/2730/1962 f 1952/2733/1964 1953/2734/1965 1982/2765/1994 f 1953/2734/1965 1981/2764/1993 1982/2765/1994 f 1953/2734/1965 1954/2735/1966 1981/2764/1993 f 1951/2731/1963 1952/2732/1964 1950/2730/1962 f 1848/2595/1852 1850/2597/1854 1948/2728/1960 f 1848/2595/1852 1948/2728/1960 1847/2593/1851 f 1847/2593/1851 1948/2728/1960 1947/2727/1959 f 1847/2593/1851 1947/2727/1959 1946/2726/1958 f 1847/2593/1851 1946/2726/1958 1846/2591/1850 f 1846/2591/1850 1946/2726/1958 1983/2767/1995 f 1983/2767/1995 1946/2726/1958 1944/2724/1956 f 1983/2767/1995 1944/2724/1956 1984/2768/1996 f 1984/2768/1996 1944/2724/1956 1942/2722/1954 f 1942/2722/1954 1844/2587/1847 1984/2768/1996 f 1845/2589/1849 1984/2768/1996 1844/2587/1847 f 1845/2589/1849 1983/2767/1995 1984/2768/1996 f 1846/2591/1850 1983/2767/1995 1845/2589/1849 f 1935/2712/1945 1936/2713/1946 1945/2725/1957 f 1945/2725/1957 1936/2713/1946 1937/2714/1947 f 1938/2715/1948 1943/2723/1955 1937/2714/1947 f 1938/2715/1948 1939/2717/1949 1943/2723/1955 o mesh4.002_mesh4-geometry v -23.099970 80.168877 10.877150 v -22.753090 79.679459 10.933164 v -22.721310 80.142830 11.050349 v -23.054802 79.630112 10.806498 v -23.265965 79.690277 10.568293 v -23.047119 79.528633 10.794429 v -23.210030 79.601730 10.601939 v -23.188145 79.513992 10.542928 v -23.014362 79.438133 10.750944 v -22.974783 79.383194 10.699749 v -22.753298 79.504768 10.852267 v -22.804903 79.593117 10.890083 v -22.694382 79.600143 10.898431 v -22.618214 79.561104 10.835187 v -22.697536 79.472168 10.815004 v -22.963835 79.469963 10.687910 v -23.166698 79.482109 10.481256 v -23.207100 79.573532 10.416230 v -23.256985 79.612946 10.327690 v -23.249035 79.611900 10.503858 v -23.380033 80.156754 10.580820 v -23.037746 80.886566 10.816005 v -22.673214 80.802917 11.034346 v -22.621965 80.131241 11.019915 v -22.640862 79.628159 10.941096 v -22.513597 79.597160 10.856510 v -22.584606 80.107262 11.056170 v -22.612549 80.858086 11.019532 v -23.037346 80.962494 10.817396 v -23.360571 80.874489 10.485935 v -23.359982 80.818008 10.544457 v -23.377230 80.147186 10.481548 v -23.306538 79.642319 10.467535 v -23.424885 80.125008 10.457219 v -23.487770 80.938057 10.492957 v -23.412266 80.119041 10.288231 v -23.283501 80.211746 9.984768 v -23.041420 79.682335 10.076824 v -23.185614 80.777008 9.775826 v -22.746630 80.361153 9.552134 v -23.194237 81.799133 9.746621 v -22.649868 81.838905 9.468864 v -22.115143 81.851791 9.635932 v -22.218067 80.378204 9.729304 v -21.879105 80.341393 10.154340 v -21.784266 81.819199 10.069741 v -22.231434 82.228317 9.831454 v -22.784266 82.200600 9.750146 v -23.282698 82.270096 9.982420 v -22.693367 82.394341 9.655005 v -22.176142 82.364845 9.830067 v -21.775286 83.435875 9.341534 v -21.837484 82.462242 10.232674 v -21.400774 83.640816 9.812459 v -21.749117 83.927071 8.798986 v -20.861904 84.393692 9.414846 v -20.802862 85.088005 9.925656 v -19.948214 85.857368 9.222687 v -21.150650 86.904259 9.494703 v -21.659758 85.716103 10.105327 v -23.069210 86.590378 9.306577 v -22.930662 87.523041 8.467155 v -23.575052 85.767006 8.944626 v -23.577045 86.734428 8.203668 v -23.695705 85.345436 8.696819 v -23.895145 85.753372 8.193790 v -24.109123 84.607292 8.376979 v -23.863977 85.854614 7.556595 v -24.610046 84.306633 7.802557 v -24.334610 84.609138 6.875278 v -24.880682 83.758972 6.932549 v -24.227257 83.953522 6.233846 v -24.500000 82.658195 6.513513 v -24.436838 82.603622 5.593174 v -24.544149 81.284950 5.952405 v -23.986860 81.146935 5.394648 v -23.909718 79.080925 6.045794 v -22.512499 81.713783 5.904556 v -22.585417 79.732483 6.446531 v -22.559822 81.951065 6.594013 v -22.373535 82.345932 5.678788 v -22.496469 82.520424 6.484916 v -21.535254 83.331505 6.033772 v -21.879654 82.442062 5.126422 v -22.745003 81.465309 5.740871 v -23.854342 81.036949 5.419566 v -23.760647 82.437302 5.032125 v -23.835104 80.762070 4.674746 v -23.518435 79.267258 5.866807 v -23.572563 79.400375 5.108414 v -22.977310 79.006477 4.771506 v -23.219099 80.736099 4.147724 v -23.606424 82.468994 4.277602 v -22.865473 82.394279 3.792233 v -22.496469 83.524071 3.801111 v -22.509403 82.417114 3.316215 v -22.621992 81.044090 3.619877 v -22.188511 80.942650 3.176173 v -22.519615 80.278961 3.917944 v -22.043623 79.974785 3.633476 v -21.247488 80.459862 3.890203 v -21.300890 81.353745 3.516716 v -21.292011 80.610176 4.410984 v -21.398455 81.589973 4.065331 v -20.976734 82.593109 3.260706 v -21.091644 82.485893 3.935555 v -20.174618 83.210350 3.647017 v -20.434116 83.178070 4.999077 v -19.665451 84.252815 5.335518 v -19.363169 84.219536 3.861719 v -20.728979 84.714310 3.052295 v -20.107994 86.015434 3.290470 v -18.904394 85.570930 4.263127 v -20.184887 86.952370 3.282197 v -18.830750 86.642715 4.230778 v -19.887354 88.357735 3.290763 v -18.731894 88.308014 4.152417 v -18.322554 89.208328 3.521605 v -18.042578 89.586403 4.742004 v -17.644434 90.944984 4.401053 v -17.912548 90.544624 3.282176 v -17.132551 92.386810 2.597306 v -16.774067 92.697189 3.918086 v -14.501564 97.139725 1.414151 v -14.452837 97.583298 2.990696 v -12.013189 101.440056 0.197347 v -12.037304 102.077377 1.919284 v -11.110245 103.760681 -0.447311 v -11.163906 104.427116 1.346164 v -10.439873 107.967361 0.400492 v -10.022589 107.486031 -1.220358 v -10.258478 109.649742 0.183389 v -9.762453 109.504311 -1.445990 v -9.226643 111.080208 -1.441290 v -9.394062 111.066727 -3.759921 v -8.053656 116.112183 -0.183373 v -8.053673 116.452652 -2.525961 v -9.357735 116.900749 -3.819016 v -7.912046 122.183281 -3.168324 v -7.042928 121.813843 -1.555631 v -7.512548 129.483536 -1.860384 v -10.376890 122.894241 -3.735708 v -11.593777 117.307686 -3.964081 v -13.256376 111.950172 -4.262532 v -10.987413 111.544479 -4.623056 v -11.752462 109.559059 -4.777782 v -10.256292 109.184326 -3.773889 v -10.840105 107.049881 -3.653985 v -12.473793 103.503738 -2.846948 v -13.709780 101.265442 -1.865346 v -16.054054 97.278191 -0.143462 v -18.377695 92.587914 1.889393 v -18.926245 90.693329 2.641669 v -19.316639 89.391548 2.799382 v -21.108719 88.661697 3.612504 v -21.495419 87.450508 3.517566 v -21.362137 86.421768 3.517284 v -21.838598 84.958878 3.506246 v -22.121590 83.979134 3.395907 v -21.411871 83.447922 2.931430 v -21.933496 82.438576 2.854884 v -22.344234 83.146713 3.305948 v -22.576599 85.245178 4.444102 v -23.136099 84.187431 4.343266 v -23.458290 83.326767 4.252421 v -23.559298 83.666191 4.952419 v -24.286034 83.436470 5.448709 v -23.808943 84.287079 5.470467 v -23.195929 85.525200 5.378587 v -22.671795 86.918381 5.271793 v -23.082708 87.074615 6.268327 v -23.633614 85.763550 6.347646 v -23.476355 87.104134 7.435968 v -22.760639 88.395477 7.462635 v -21.062325 87.858734 8.646334 v -20.818665 88.715111 8.040849 v -20.624487 89.574005 7.727313 v -21.732489 89.643318 6.828524 v -21.243439 90.936417 6.586821 v -21.550955 90.493813 4.695247 v -21.796707 89.224602 5.055630 v -20.793423 89.800529 3.025808 v -20.270445 91.121315 2.815304 v -19.910086 93.131325 2.135356 v -17.805731 97.956108 0.012188 v -15.790623 102.059769 -1.769771 v -14.704208 104.249039 -3.000634 v -12.853378 107.346695 -4.371089 v -15.117895 108.579628 -3.018887 v -16.778498 105.787292 -1.554514 v -17.598091 103.270538 -0.405172 v -19.013666 98.933853 1.490870 v -20.507914 93.808601 3.725713 v -20.966768 91.770073 4.288610 v -20.612555 92.201797 6.061234 v -19.973183 90.844551 7.441065 v -19.355841 89.277466 7.443578 v -19.600126 88.307968 7.767462 v -19.598255 87.362221 8.486769 v -19.477619 86.651474 7.652411 v -19.520798 87.393639 6.678987 v -18.932278 88.883827 6.147947 v -18.774023 90.344421 7.128166 v -18.365404 90.008240 5.848332 v -18.258224 91.639000 6.522682 v -17.950169 91.326355 5.455276 v -16.971952 93.133919 5.092734 v -17.546808 93.590607 5.986153 v -14.801329 98.136543 4.394403 v -15.927629 98.715637 4.874739 v -17.631569 99.339653 4.761961 v -18.720881 93.998123 6.238271 v -20.149824 94.204338 5.464005 v -18.991476 99.512573 3.477352 v -19.370266 92.087914 6.781637 v -17.643158 104.085678 1.775540 v -16.356791 104.141983 3.324363 v -14.274197 103.530220 3.889781 v -12.714577 102.877800 3.539901 v -11.952686 105.335129 2.976552 v -11.414400 108.156570 1.979294 v -11.143232 109.558800 1.342507 v -9.812971 111.315857 0.367107 v -8.916426 116.153168 1.771926 v -7.361839 121.461266 0.965102 v -7.105726 129.240906 0.004594 v -7.361300 128.836899 2.389067 v -8.464005 128.915298 3.773743 v -8.388468 121.583145 2.791947 v -10.167938 121.764442 3.714473 v -10.347630 128.976334 4.394796 v -12.968254 129.546570 3.009975 v -13.035040 122.592247 2.534668 v -13.622416 129.851990 0.591427 v -14.121677 122.996590 -0.064219 v -13.034363 116.989868 1.896592 v -14.232649 117.627098 -0.279821 v -14.613068 112.289993 -0.406849 v -13.128387 111.825500 1.014662 v -13.095554 110.317757 1.413991 v -14.703602 110.590446 0.509582 v -14.877123 110.651154 -1.700514 v -15.152487 109.417259 1.474512 v -15.617834 109.130013 -0.918635 v -16.954323 106.526978 0.727934 v -15.838161 106.693771 2.490190 v -13.758307 106.058899 3.229980 v -13.167999 108.972572 2.235780 v -10.887007 111.259056 1.530654 v -10.516222 116.316856 2.676029 v -14.231386 110.200874 -3.606444 v -14.495436 112.405365 -2.436891 v -13.888147 117.855354 -2.730186 v -13.270906 123.369644 -2.750266 v -9.787243 129.784683 -3.008090 v -12.701117 130.221115 -2.104262 v -18.543631 88.621689 5.181212 v -18.659698 87.056137 5.544027 v -19.057007 85.554199 5.653934 v -20.002451 85.813477 6.561892 v -19.797655 85.550636 7.360138 v -20.312395 84.890022 8.695794 v -21.046391 84.118034 7.945985 v -22.022392 83.826492 8.554953 v -22.541142 83.538139 8.975758 v -23.237476 82.773033 9.869303 v -23.443878 82.419548 10.612103 v -23.634846 81.858070 10.659653 v -23.468615 81.043854 10.323876 v -23.096447 81.022430 10.893845 v -23.071814 81.156631 10.866206 v -22.414242 81.020752 11.076035 v -22.582397 80.918205 11.138809 v -22.417484 80.098061 10.997324 v -22.148571 80.185928 10.772624 v -21.954962 80.748955 10.630122 v -22.329826 79.666145 10.570797 v -21.894270 81.769585 10.649060 v -21.943890 82.224586 10.325403 v -22.022713 82.305893 10.844902 v -21.910685 82.878159 10.764807 v -21.442650 84.117592 10.376976 v -22.153770 84.511925 10.635978 v -22.946800 85.686752 9.905704 v -23.356649 85.157967 9.432182 v -23.591400 84.480675 8.737849 v -23.955204 83.097786 8.503020 v -25.089382 83.184837 8.046576 v -25.148510 83.010773 7.208355 v -25.220835 81.953270 7.380832 v -24.711926 81.838287 6.772483 v -24.712330 79.880882 7.313234 v -23.594538 80.312897 7.653627 v -23.470774 82.081032 7.206104 v -23.651390 80.422905 8.306888 v -23.587112 82.387901 7.979179 v -23.135441 82.623016 7.172836 v -23.331127 82.929352 7.958684 v -22.361338 83.476509 7.307891 v -23.019491 83.761002 8.252695 v -21.747219 83.898170 7.571548 v -22.334738 83.754005 8.400124 v -21.126030 84.035667 7.222239 v -23.053684 82.090836 7.124188 v -24.565363 81.550003 6.698475 v -24.436447 79.421631 7.240301 v -24.454111 79.571953 6.439180 v -23.937494 78.614037 6.113401 v -22.874414 79.246124 6.593894 v -22.617611 79.952141 7.105663 v -23.095318 80.064072 7.608613 v -24.496647 78.973816 7.375358 v -24.402826 78.697212 6.691941 v -23.792334 78.266418 6.318703 v -22.695427 78.939629 6.693336 v -22.750275 79.250465 7.245685 v -22.972097 79.473442 7.089101 v -23.380951 79.499603 7.505271 v -24.315762 78.601456 7.494295 v -24.070612 78.104057 6.986979 v -23.413254 77.150230 7.508132 v -23.310802 77.238136 8.217266 v -23.194151 76.962685 8.389999 v -23.073347 76.630989 7.787666 v -22.659935 76.628395 7.225705 v -22.412874 76.513504 7.428703 v -22.579821 76.423553 8.056113 v -22.213217 76.289902 8.253205 v -22.182114 76.603737 8.845345 v -22.904110 76.818283 8.486041 v -21.614098 77.351562 8.854396 v -22.120438 77.712509 8.576693 v -22.416704 77.790802 8.366839 v -22.529516 78.195328 8.285253 v -23.160410 79.235687 7.732556 v -22.058039 78.153099 7.828181 v -22.056578 77.894196 7.228240 v -22.819843 76.928246 7.133730 v -21.986324 77.521484 7.428871 v -22.042370 77.836639 7.919423 v -21.790293 77.802162 8.044468 v -21.640774 77.417374 7.556880 v -21.166023 77.075859 7.901781 v -21.231770 77.358902 8.410342 v -20.657299 76.835861 8.802708 v -20.622520 76.587852 8.338455 v -20.478624 76.283211 9.028132 v -21.021282 76.833229 9.186337 v -21.404434 76.295197 9.190259 v -22.109713 76.380341 8.807701 v -22.109074 76.185417 8.327188 v -21.962755 76.212051 8.385384 v -21.933283 76.367882 8.788329 v -21.443199 76.142265 9.123554 v -20.831339 76.011368 9.349236 v -20.904507 75.879333 9.308973 v -21.440111 76.146805 9.074363 v -21.900434 76.293938 8.787181 v -21.903210 76.181839 8.419891 v -21.465347 76.060913 9.029663 v -20.857141 75.858597 9.274792 v -20.940151 75.823631 9.224151 v -21.401930 75.870735 8.725391 v -21.185379 75.888672 8.434475 v -20.734964 75.697395 8.787898 v -20.863487 75.697121 9.011189 v -20.775599 75.673859 9.056499 v -20.684183 75.683823 8.873076 v -20.678423 75.692055 9.095016 v -20.846243 75.783531 9.217622 v -20.754110 75.812210 9.267436 v -20.605171 75.732658 9.116957 v -20.706814 75.863388 9.293763 v -20.789707 75.938309 9.302579 v -20.740477 76.351120 9.262482 v -20.667486 75.778961 9.076965 v -20.519114 75.747894 8.894691 v -20.554066 75.793327 8.801599 v -20.580126 75.705162 8.897517 v -20.635252 75.722069 8.802970 v -21.119118 75.949295 8.391912 v -21.611031 76.115875 8.171905 v -21.618074 76.173920 8.118155 v -21.086098 75.922554 8.364314 v -20.638130 75.715446 8.742672 v -20.533911 75.828339 8.716865 v -20.470573 76.185059 8.688630 v -20.981663 76.035065 8.291418 v -21.720396 76.140762 7.979994 v -21.698555 76.306221 7.817241 v -20.731726 84.561974 6.305046 v -21.673435 82.419159 4.442668 v -22.237808 81.413109 5.279270 v -22.039976 79.691490 5.759967 v -22.516085 79.822006 6.199456 v -23.532906 79.017090 5.969983 v -23.411449 78.760277 5.328773 v -23.297503 78.870239 6.058109 v -22.478725 79.627548 6.234183 v -22.629438 79.577477 6.048921 v -22.124630 79.704567 5.703496 v -22.266497 79.582138 5.673455 v -22.215040 79.374275 5.200818 v -21.971842 79.370193 5.173601 v -22.956654 78.734512 4.790732 v -22.767683 78.605858 4.961812 v -21.287558 78.714554 5.705262 v -21.369427 78.944122 6.218849 v -21.740210 78.944359 6.652328 v -22.300255 77.965508 6.663888 v -23.019703 78.393242 5.593046 v -22.402567 77.793724 6.011018 v -21.978369 79.567368 5.122886 v -22.189459 81.202202 4.628572 v -22.728903 81.259315 4.193939 v -22.481770 80.249611 4.533565 v -22.338623 79.807053 4.134915 v -21.988710 79.776855 3.685923 v -21.492270 80.327057 3.873488 v -21.281582 80.436813 3.820035 v -21.811411 79.712898 3.822022 v -20.748981 80.076332 4.103232 v -20.772871 80.346329 4.554771 v -21.395775 80.771774 4.224340 v -21.541698 80.571640 4.276182 v -21.706646 80.728912 4.755011 v -21.822626 81.659462 4.499362 v -21.832918 80.557014 4.640749 v -22.414125 80.064049 4.644124 v -22.171406 79.976173 4.716669 v -21.602423 80.692955 4.706306 v -21.068882 80.331749 4.986930 v -21.393803 79.555962 5.067204 v -21.926508 79.580223 4.360628 v -21.108614 79.294472 4.218009 v -21.513668 79.371925 4.573584 v -21.193501 79.166397 4.730601 v -21.021790 79.132477 4.241717 v -20.903179 79.817986 4.154865 v -20.901943 79.208786 4.289092 v -20.904552 79.962936 4.052002 v -20.485863 80.040344 4.156353 v -20.369539 79.466698 4.362173 v -19.911659 80.030106 4.343218 v -20.020945 80.302490 4.644136 v -20.598183 80.326492 4.492947 v -21.062035 80.250984 4.402313 v -20.981775 80.120110 4.520131 v -21.150888 80.079262 4.954565 v -21.309378 79.435852 5.170175 v -21.145462 79.505302 5.147271 v -21.115236 80.260559 4.869144 v -20.685387 80.322258 4.930277 v -20.576271 79.758743 5.163989 v -20.837170 79.271584 4.792645 v -20.565390 79.422089 4.802145 v -20.432520 79.397728 4.843079 v -20.447899 79.647896 5.138264 v -20.361368 79.484253 4.832590 v -20.355682 79.700569 5.070425 v -20.313011 79.499451 4.839662 v -20.307098 79.670555 5.066843 v -19.973019 79.849747 5.145130 v -19.966135 79.861404 5.181650 v -20.004147 79.983391 5.201875 v -20.093349 80.286766 5.047956 v -19.545639 80.265083 4.781099 v -19.554651 80.104584 4.544049 v -19.409487 79.885231 4.685217 v -19.415668 79.923889 4.924414 v -19.519934 80.041275 5.113632 v -19.679810 80.281372 5.029519 v -19.566870 80.082115 5.153631 v -19.552059 79.967651 5.161590 v -19.523335 79.962578 5.123600 v -19.451488 79.971710 5.088862 v -19.557203 79.896416 5.118141 v -19.954399 79.777695 5.129757 v -19.879293 79.599503 4.914822 v -19.489210 79.785439 4.951201 v -19.427923 79.818230 4.955752 v -19.492641 79.906029 5.086392 v -19.380930 79.875984 4.948630 v -19.358154 79.932632 4.935855 v -19.446138 80.026360 5.087206 v -19.357327 79.900879 4.742692 v -19.369127 79.855339 4.769372 v -19.416206 79.798050 4.789938 v -19.461279 79.760933 4.746181 v -19.827255 79.598099 4.636628 v -20.184401 79.497215 4.590926 v -20.221912 79.511551 4.551539 v -20.282017 79.413551 4.494895 v -19.803226 79.631233 4.549764 v -19.826946 79.643379 4.578526 v -19.427666 79.791924 4.679095 v -19.419344 79.815643 4.720213 v -19.428099 79.886055 4.615380 v -19.810991 79.710503 4.452683 v -21.822130 77.729729 5.646976 v -22.014977 77.460503 6.254983 v -21.697001 77.533493 5.712482 v -21.406202 78.482964 5.776667 v -21.612663 78.646255 6.202311 v -21.867825 78.604202 6.649261 v -22.193411 77.770790 6.785807 v -21.957012 77.819206 6.839840 v -21.852629 78.780968 6.725764 v -21.652695 78.875366 6.157003 v -21.361702 78.668907 5.682678 v -21.496986 77.606369 5.828408 v -20.867447 78.634361 5.920341 v -21.087152 78.936073 6.385529 v -21.313866 78.833878 6.918397 v -21.235502 78.033745 7.122942 v -21.556684 77.481087 6.450763 v -21.093618 77.632874 6.614032 v -20.961294 77.622536 6.671791 v -21.064686 77.888283 7.098874 v -20.868359 77.736572 6.691143 v -20.686678 77.719315 6.253703 v -20.622643 77.832626 6.357691 v -20.087324 77.973930 6.462650 v -20.124117 77.983971 6.497004 v -19.636688 78.139565 6.734041 v -19.635365 78.160675 6.792763 v -20.137655 77.910210 6.561389 v -19.694824 78.083870 6.806191 v -19.582298 78.199181 6.873273 v -19.614866 78.260620 6.764588 v -19.561171 78.265343 6.851094 v -19.687391 78.259132 7.099112 v -19.874607 78.743607 6.935209 v -19.786888 78.588501 6.594380 v -20.151056 78.684860 6.259419 v -20.075338 78.102295 6.354148 v -19.622887 78.279259 6.672409 v -20.768503 77.825005 6.078875 v -20.363487 78.978989 6.687317 v -20.567003 78.870781 7.189353 v -20.519890 78.301010 7.348114 v -20.465307 78.142883 7.307750 v -20.929983 77.970001 7.044806 v -20.808554 77.753082 6.713543 v -20.867018 77.929359 7.045814 v -20.436069 78.043587 7.228593 v -20.464350 78.136047 7.257668 v -19.934441 78.272636 7.399709 v -19.952072 78.426430 7.408383 v -20.082899 78.720802 7.256165 v -19.881550 78.379822 7.360821 v -19.887903 78.273529 7.357378 v -19.928995 78.188522 7.329729 v -20.274630 77.850777 6.922225 v -19.787149 78.072731 7.089536 v -19.710291 78.112610 7.115057 v -19.647078 78.120522 6.878314 v -19.648859 78.188751 7.127716 v -19.616941 78.265770 7.127738 v -19.780638 78.363411 7.341747 v -19.787453 78.290909 7.332007 v -19.838606 78.206139 7.306524 v -20.583605 77.802696 6.412159 v -20.570581 84.640533 7.008393 v -23.282686 83.916077 8.411679 v -23.166212 83.966125 9.152246 v -23.244095 84.425522 9.900071 v -23.337746 82.941658 10.532579 v -23.066294 82.488266 10.948999 v -23.162199 81.746239 11.009374 v -22.622169 81.861023 11.357740 v -22.607832 82.443367 11.184399 v -22.567698 82.983147 11.056002 v -22.997538 82.995811 10.851228 v -22.823942 84.534904 10.429995 v -24.029207 82.365021 8.542803 v -25.263041 82.118561 8.091617 v -25.181322 80.118835 8.441781 v -25.125347 80.431679 7.721445 v -25.160721 79.607422 7.871756 v -24.771418 79.510933 7.323428 v -23.764507 79.857651 7.882922 v -23.758425 79.976860 8.353412 v -24.075903 80.556580 8.810664 v -25.267794 79.763397 8.519223 v -25.024954 79.483742 8.624998 v -24.866987 78.985435 8.111547 v -24.560415 79.246925 7.504673 v -24.639355 78.131950 8.369197 v -24.212082 77.851761 7.987743 v -23.262794 78.348610 8.272517 v -23.446997 79.439438 7.958736 v -23.278933 78.486954 8.839183 v -23.489077 79.621315 8.529731 v -24.103300 80.029938 8.699070 v -23.875830 79.658546 8.994174 v -23.675743 78.559586 9.269492 v -24.631155 78.063507 8.992436 v -24.527988 77.590530 8.517833 v -24.149370 77.532997 8.026611 v -23.292578 77.963699 8.410617 v -23.297459 78.132690 8.905478 v -23.661003 78.147766 9.287645 v -24.603586 77.759926 9.107837 v -24.330814 77.548561 9.203376 v -23.350695 77.923500 9.498055 v -22.991137 77.916695 9.073532 v -22.949366 77.727448 8.555919 v -23.910686 77.340988 8.210259 v -22.769997 77.135155 8.776755 v -22.804438 77.319557 9.277390 v -23.147423 77.319550 9.662763 v -23.876188 76.927902 9.459263 v -24.216698 77.194374 8.721462 v -23.950140 76.815216 8.908375 v -23.485464 76.737000 8.541992 v -23.918104 76.684402 8.946796 v -23.586376 76.584373 8.641850 v -23.073555 76.164429 8.860919 v -22.606667 76.483147 9.018345 v -22.601524 76.604271 9.494925 v -22.946476 76.649155 9.816126 v -23.434809 76.340897 9.708879 v -23.899002 76.737137 9.375765 v -23.800047 76.639183 9.003349 v -23.761631 76.665894 9.357679 v -23.513325 76.250305 9.612939 v -23.109709 75.879356 9.778722 v -23.211775 75.812790 9.711574 v -23.501650 76.261757 9.570186 v -23.176682 75.785522 9.675836 v -23.547430 76.213516 9.509879 v -23.763731 76.597244 9.339818 v -23.769083 76.587196 9.025988 v -23.531891 76.103539 9.216069 v -23.311407 76.098213 8.955778 v -23.074051 75.713936 9.213722 v -23.210278 75.715248 9.421732 v -23.155710 75.656029 9.455339 v -23.050674 75.667450 9.285166 v -23.077055 75.626427 9.492914 v -22.963091 75.640450 9.310186 v -23.006575 75.626099 9.521482 v -22.897942 75.651237 9.317122 v -23.032902 75.692413 9.497922 v -22.895557 75.717888 9.246284 v -22.684933 76.018188 9.575258 v -23.097063 75.816345 9.719332 v -22.895794 76.122269 9.782493 v -22.665508 76.009766 9.241856 v -22.854326 75.754593 9.179180 v -23.209553 76.101891 8.899801 v -22.983646 75.701347 9.176030 v -22.987326 75.693016 9.231329 v -23.229698 76.128899 8.931705 v -23.510366 76.543121 8.767832 v -23.533739 76.484901 8.799907 v -23.111025 75.712723 9.657485 v -23.248304 75.799065 9.622831 v -23.187689 75.734383 9.606781 v -23.058035 75.729462 9.692946 v -22.675358 79.539101 10.306497 v -22.042728 87.716782 4.522263 v -22.053453 86.703697 4.450129 v -22.580063 87.901283 5.333773 v -22.803959 88.311005 6.217894 vt 0.842838 0.178799 vt 0.837437 0.183087 vt 0.842760 0.183394 vt 0.836889 0.179245 vt 0.837243 0.175414 vt 0.836453 0.176272 vt 0.836051 0.179308 vt 0.835344 0.176094 vt 0.835202 0.179360 vt 0.836567 0.182346 vt 0.835453 0.182647 vt 0.836249 0.183804 vt 0.834918 0.184366 vt 0.834792 0.174464 vt 0.836132 0.174937 vt 0.835689 0.172668 vt 0.842424 0.174228 vt 0.850879 0.178282 vt 0.850172 0.183173 vt 0.842534 0.184382 vt 0.842253 0.184811 vt 0.836618 0.184563 vt 0.835804 0.186369 vt 0.842213 0.173209 vt 0.849847 0.173510 vt 0.851279 0.171766 vt 0.842032 0.172759 vt 0.850420 0.172921 vt 0.841732 0.170877 vt 0.842023 0.166889 vt 0.835289 0.168686 vt 0.841822 0.212613 vt 0.831817 0.202046 vt 0.834859 0.208882 vt 0.841280 0.206112 vt 0.853559 0.217120 vt 0.857091 0.211219 vt 0.859931 0.206048 vt 0.843967 0.201699 vt 0.845010 0.196949 vt 0.861286 0.200530 vt 0.864364 0.207438 vt 0.860837 0.213477 vt 0.857180 0.219091 vt 0.864846 0.214024 vt 0.867825 0.208713 vt 0.881629 0.214479 vt 0.869702 0.202617 vt 0.884714 0.206468 vt 0.890604 0.220257 vt 0.896127 0.209563 vt 0.901780 0.200550 vt 0.919124 0.206430 vt 0.921865 0.189071 vt 0.905086 0.188276 vt 0.915046 0.169859 vt 0.926981 0.165481 vt 0.907238 0.160753 vt 0.917457 0.155927 vt 0.902890 0.155582 vt 0.906039 0.149134 vt 0.890186 0.144323 vt 0.910020 0.141896 vt 0.890344 0.133451 vt 0.901235 0.125552 vt 0.890426 0.120010 vt 0.900746 0.113514 vt 0.887265 0.106164 vt 0.894843 0.097158 vt 0.883887 0.090971 vt 0.888649 0.082814 vt 0.868928 0.071490 vt 0.883057 0.273230 vt 0.863367 0.301650 vt 0.881285 0.291958 vt 0.861389 0.288690 vt 0.879729 0.267707 vt 0.895025 0.271465 vt 0.887664 0.261777 vt 0.907829 0.258958 vt 0.907151 0.275700 vt 0.890900 0.287249 vt 0.891278 0.081386 vt 0.893855 0.073995 vt 0.885932 0.075977 vt 0.901318 0.087781 vt 0.901133 0.067913 vt 0.882337 0.056436 vt 0.891594 0.055376 vt 0.894918 0.046717 vt 0.908500 0.062014 vt 0.909238 0.081065 vt 0.919804 0.071913 vt 0.926818 0.082493 vt 0.929717 0.065262 vt 0.923837 0.053461 vt 0.930458 0.050276 vt 0.920690 0.045745 vt 0.925257 0.039854 vt 0.938477 0.313889 vt 0.923716 0.317168 vt 0.931313 0.324482 vt 0.929000 0.306682 vt 0.918029 0.315254 vt 0.923339 0.303016 vt 0.938220 0.291090 vt 0.928500 0.287096 vt 0.941609 0.280236 vt 0.927623 0.271097 vt 0.937469 0.255556 vt 0.950210 0.269257 vt 0.962396 0.285037 vt 0.974715 0.269995 vt 0.960878 0.255737 vt 0.984609 0.257784 vt 0.969837 0.244620 vt 0.994849 0.242262 vt 0.984444 0.228679 vt 0.632099 0.385757 vt 0.621713 0.385757 vt 0.621713 0.404872 vt 0.632099 0.370712 vt 0.643477 0.370712 vt 0.643476 0.385757 vt 0.662017 0.385757 vt 0.662017 0.370712 vt 0.710575 0.385757 vt 0.710576 0.370713 vt 0.759344 0.385758 vt 0.759344 0.370713 vt 0.783905 0.385758 vt 0.783905 0.370714 vt 0.812735 0.370714 vt 0.812735 0.385759 vt 0.827712 0.370714 vt 0.827711 0.385759 vt 0.842607 0.385759 vt 0.842607 0.404874 vt 0.886033 0.385760 vt 0.886033 0.404875 vt 0.886033 0.421205 vt 0.932329 0.421205 vt 0.932329 0.404875 vt 0.993006 0.421206 vt 0.932329 0.442138 vt 0.886033 0.442138 vt 0.842607 0.442137 vt 0.842607 0.421204 vt 0.827711 0.421204 vt 0.827711 0.404874 vt 0.812735 0.404874 vt 0.783905 0.404873 vt 0.759344 0.404873 vt 0.710575 0.404873 vt 0.662017 0.404872 vt 0.643476 0.404872 vt 0.632099 0.404872 vt 0.621713 0.421202 vt 0.983376 0.124933 vt 0.993702 0.114117 vt 0.980695 0.101160 vt 0.969822 0.114323 vt 0.969288 0.091449 vt 0.958815 0.103777 vt 0.955134 0.081387 vt 0.944071 0.091947 vt 0.938510 0.080828 vt 0.943241 0.070429 vt 0.953068 0.293767 vt 0.945755 0.303966 vt 0.938439 0.062285 vt 0.931634 0.073127 vt 0.934831 0.104175 vt 0.923149 0.095344 vt 0.914923 0.087812 vt 0.911762 0.097160 vt 0.901691 0.101694 vt 0.888495 0.285771 vt 0.911588 0.108111 vt 0.926547 0.116357 vt 0.942201 0.126280 vt 0.934242 0.137437 vt 0.919041 0.128456 vt 0.924464 0.149324 vt 0.941225 0.159382 vt 0.935857 0.185036 vt 0.949215 0.180369 vt 0.959489 0.178864 vt 0.961960 0.161001 vt 0.632098 0.462562 vt 0.621712 0.462562 vt 0.621712 0.480258 vt 0.632099 0.442135 vt 0.621712 0.442135 vt 0.632099 0.421202 vt 0.643476 0.421202 vt 0.662017 0.421202 vt 0.710575 0.421203 vt 0.759343 0.421203 vt 0.783904 0.421204 vt 0.812735 0.421204 vt 0.812735 0.442137 vt 0.783904 0.442137 vt 0.759343 0.442136 vt 0.710575 0.442136 vt 0.662017 0.442135 vt 0.643476 0.442135 vt 0.643476 0.462562 vt 0.632098 0.480258 vt 0.621712 0.497603 vt 0.963062 0.192825 vt 0.951660 0.196999 vt 0.939017 0.199922 vt 0.939545 0.213644 vt 0.950337 0.219347 vt 0.972000 0.205644 vt 0.621712 0.514838 vt 0.632098 0.497603 vt 0.632098 0.514838 vt 0.643475 0.497603 vt 0.643475 0.514838 vt 0.662016 0.514838 vt 0.662016 0.497603 vt 0.710574 0.514839 vt 0.710574 0.497604 vt 0.710575 0.480259 vt 0.662016 0.480258 vt 0.662016 0.462562 vt 0.710575 0.462563 vt 0.643476 0.480258 vt 0.759343 0.462563 vt 0.759343 0.480260 vt 0.759343 0.497605 vt 0.759343 0.514839 vt 0.759342 0.528758 vt 0.783903 0.528758 vt 0.783904 0.514839 vt 0.812734 0.514840 vt 0.812734 0.528758 vt 0.827710 0.528759 vt 0.827710 0.514840 vt 0.842606 0.528759 vt 0.842608 0.370714 vt 0.886033 0.370715 vt 0.932330 0.385760 vt 0.993006 0.404876 vt 0.993006 0.385761 vt 0.993006 0.370716 vt 0.932330 0.370716 vt 0.993005 0.528760 vt 0.932328 0.514841 vt 0.932328 0.528760 vt 0.993005 0.514842 vt 0.993005 0.497607 vt 0.932329 0.497607 vt 0.993005 0.480262 vt 0.932329 0.480262 vt 0.886032 0.497606 vt 0.886032 0.480261 vt 0.842607 0.480261 vt 0.842606 0.497606 vt 0.827710 0.497605 vt 0.827711 0.480260 vt 0.827711 0.462564 vt 0.812734 0.480260 vt 0.812734 0.462564 vt 0.783904 0.462564 vt 0.783904 0.480260 vt 0.783904 0.497605 vt 0.812734 0.497605 vt 0.842606 0.514840 vt 0.886032 0.514841 vt 0.886032 0.528759 vt 0.827711 0.442137 vt 0.842607 0.462564 vt 0.886032 0.462565 vt 0.932329 0.462565 vt 0.993006 0.442139 vt 0.993005 0.462566 vt 0.710574 0.528757 vt 0.662016 0.528756 vt 0.643475 0.528756 vt 0.632098 0.528756 vt 0.621712 0.528756 vt 0.978415 0.216660 vt 0.959730 0.231164 vt 0.949657 0.242412 vt 0.938332 0.231096 vt 0.930718 0.224494 vt 0.911432 0.216362 vt 0.904746 0.230348 vt 0.888914 0.225004 vt 0.876243 0.223472 vt 0.861338 0.220981 vt 0.871924 0.163334 vt 0.866270 0.163984 vt 0.866428 0.172176 vt 0.860639 0.172122 vt 0.861248 0.161997 vt 0.848684 0.163011 vt 0.852414 0.170001 vt 0.852638 0.178106 vt 0.853937 0.178073 vt 0.852830 0.186071 vt 0.851544 0.184540 vt 0.851508 0.178210 vt 0.842046 0.186595 vt 0.843028 0.190302 vt 0.849652 0.192783 vt 0.836102 0.191570 vt 0.861522 0.194169 vt 0.865959 0.200537 vt 0.866499 0.193448 vt 0.872480 0.194656 vt 0.888193 0.197191 vt 0.889567 0.186381 vt 0.903282 0.173553 vt 0.899403 0.164887 vt 0.890615 0.152317 vt 0.871595 0.140672 vt 0.877745 0.129555 vt 0.881545 0.117935 vt 0.873698 0.116610 vt 0.876478 0.106680 vt 0.850496 0.102760 vt 0.862803 0.264051 vt 0.844412 0.257290 vt 0.842902 0.271022 vt 0.865288 0.252270 vt 0.841825 0.250397 vt 0.862997 0.243713 vt 0.875471 0.250784 vt 0.871093 0.240593 vt 0.889426 0.244437 vt 0.882294 0.235085 vt 0.899586 0.236461 vt 0.886790 0.229252 vt 0.909130 0.240084 vt 0.873562 0.264159 vt 0.875099 0.104913 vt 0.878817 0.099218 vt 0.871558 0.103651 vt 0.859751 0.085810 vt 0.868683 0.081232 vt 0.866070 0.069389 vt 0.860691 0.303701 vt 0.856052 0.291261 vt 0.858020 0.281663 vt 0.853736 0.274921 vt 0.855237 0.098653 vt 0.856788 0.084183 vt 0.861670 0.076748 vt 0.862675 0.067800 vt 0.857300 0.304307 vt 0.850809 0.293199 vt 0.847602 0.287036 vt 0.853005 0.284492 vt 0.849466 0.278195 vt 0.850359 0.093684 vt 0.854262 0.082135 vt 0.855694 0.073258 vt 0.845071 0.067069 vt 0.837731 0.072047 vt 0.835094 0.070116 vt 0.838800 0.063495 vt 0.842098 0.056281 vt 0.838087 0.055043 vt 0.832857 0.060881 vt 0.828525 0.059196 vt 0.823346 0.065548 vt 0.832058 0.068728 vt 0.816431 0.073824 vt 0.822642 0.078762 vt 0.827913 0.080558 vt 0.831812 0.084481 vt 0.844280 0.091562 vt 0.844281 0.280675 vt 0.830381 0.287167 vt 0.833049 0.294248 vt 0.837121 0.300519 vt 0.840307 0.313590 vt 0.837423 0.315709 vt 0.832388 0.303196 vt 0.829020 0.296255 vt 0.825883 0.289772 vt 0.820925 0.291797 vt 0.824800 0.297946 vt 0.827349 0.304571 vt 0.833830 0.316377 vt 0.820364 0.307534 vt 0.816624 0.301802 vt 0.813560 0.295711 vt 0.808374 0.306796 vt 0.811869 0.311399 vt 0.803523 0.311375 vt 0.804827 0.302100 vt 0.809149 0.067054 vt 0.813789 0.061225 vt 0.822882 0.063067 vt 0.826871 0.058547 vt 0.825233 0.057915 vt 0.821760 0.061672 vt 0.814674 0.059677 vt 0.807218 0.057183 vt 0.808517 0.056037 vt 0.815682 0.058648 vt 0.821450 0.060973 vt 0.824497 0.057638 vt 0.809652 0.055449 vt 0.817482 0.054980 vt 0.818593 0.051037 vt 0.811843 0.049801 vt 0.810875 0.052666 vt 0.810847 0.050138 vt 0.810103 0.052397 vt 0.809294 0.052111 vt 0.808021 0.054331 vt 0.809116 0.054570 vt 0.806927 0.055441 vt 0.808387 0.055494 vt 0.806143 0.061257 vt 0.800807 0.308452 vt 0.797904 0.312819 vt 0.799938 0.316050 vt 0.809862 0.049626 vt 0.810941 0.049000 vt 0.818751 0.049998 vt 0.824482 0.053161 vt 0.811000 0.047045 vt 0.809762 0.048106 vt 0.806460 0.314110 vt 0.803428 0.317542 vt 0.804822 0.317821 vt 0.813160 0.318517 vt 0.818618 0.049488 vt 0.819020 0.047608 vt 0.811433 0.048672 vt 0.827037 0.052562 vt 0.829214 0.051164 vt 0.825158 0.052857 vt 0.824221 0.317478 vt 0.845476 0.058468 vt 0.869938 0.261268 vt 0.923241 0.244709 vt 0.919415 0.283692 vt 0.898241 0.287970 vt 0.888022 0.304252 vt 0.882654 0.298741 vt 0.873689 0.064273 vt 0.881188 0.054060 vt 0.887330 0.049491 vt 0.879151 0.052253 vt 0.868009 0.058479 vt 0.871629 0.061580 vt 0.883266 0.310477 vt 0.880543 0.303716 vt 0.876969 0.306681 vt 0.885779 0.307506 vt 0.891293 0.311962 vt 0.888428 0.315263 vt 0.900274 0.320014 vt 0.897824 0.321930 vt 0.880466 0.324949 vt 0.875063 0.321413 vt 0.869986 0.317238 vt 0.860795 0.048253 vt 0.869177 0.039362 vt 0.883335 0.044635 vt 0.877424 0.037410 vt 0.891463 0.042198 vt 0.893571 0.044482 vt 0.894149 0.308048 vt 0.900939 0.317376 vt 0.905550 0.294588 vt 0.916489 0.297672 vt 0.910973 0.303711 vt 0.913940 0.065376 vt 0.917206 0.056528 vt 0.913233 0.044959 vt 0.918597 0.040438 vt 0.924623 0.037810 vt 0.922806 0.320905 vt 0.931280 0.325858 vt 0.920893 0.324326 vt 0.930082 0.327039 vt 0.918868 0.332026 vt 0.913150 0.330958 vt 0.915684 0.321784 vt 0.917003 0.318359 vt 0.912345 0.312804 vt 0.917180 0.301342 vt 0.910506 0.058077 vt 0.905398 0.049651 vt 0.904180 0.046094 vt 0.912685 0.042775 vt 0.911515 0.040562 vt 0.902372 0.042596 vt 0.911300 0.316790 vt 0.909721 0.320880 vt 0.907434 0.329170 vt 0.900384 0.034973 vt 0.908151 0.030725 vt 0.916489 0.035547 vt 0.923447 0.035698 vt 0.919148 0.026302 vt 0.914799 0.031144 vt 0.913143 0.026564 vt 0.918547 0.024052 vt 0.918669 0.335723 vt 0.927045 0.338452 vt 0.926590 0.336589 vt 0.925712 0.340051 vt 0.916995 0.339044 vt 0.915912 0.343735 vt 0.922350 0.346550 vt 0.915117 0.350352 vt 0.910284 0.349638 vt 0.910817 0.342949 vt 0.911775 0.337585 vt 0.912539 0.334304 vt 0.906762 0.333148 vt 0.900258 0.031294 vt 0.907885 0.028674 vt 0.906783 0.026891 vt 0.897689 0.027819 vt 0.906274 0.337174 vt 0.905629 0.342581 vt 0.896779 0.022669 vt 0.903591 0.020445 vt 0.911103 0.022403 vt 0.917288 0.021845 vt 0.909499 0.019312 vt 0.908822 0.017975 vt 0.904518 0.018876 vt 0.908275 0.016928 vt 0.904594 0.017580 vt 0.900407 0.014086 vt 0.901648 0.013601 vt 0.896705 0.015521 vt 0.905424 0.350047 vt 0.910303 0.355048 vt 0.913300 0.354547 vt 0.914007 0.357749 vt 0.911261 0.359209 vt 0.908153 0.358795 vt 0.907228 0.355090 vt 0.896248 0.010676 vt 0.898888 0.009020 vt 0.900177 0.008970 vt 0.900405 0.008552 vt 0.899608 0.007871 vt 0.902714 0.013402 vt 0.904779 0.017052 vt 0.908045 0.016492 vt 0.905656 0.012064 vt 0.901122 0.009060 vt 0.903314 0.007938 vt 0.905464 0.006751 vt 0.908411 0.010358 vt 0.910315 0.014121 vt 0.911978 0.014954 vt 0.910821 0.014246 vt 0.909252 0.009535 vt 0.906431 0.004837 vt 0.905202 0.004862 vt 0.905394 0.005907 vt 0.914827 0.357012 vt 0.918381 0.352681 vt 0.910415 0.008685 vt 0.905877 0.005950 vt 0.913811 0.015247 vt 0.880783 0.029961 vt 0.873548 0.032622 vt 0.878961 0.027713 vt 0.887412 0.336770 vt 0.888058 0.334188 vt 0.877336 0.329195 vt 0.872277 0.325050 vt 0.867065 0.321389 vt 0.859336 0.043512 vt 0.868061 0.037061 vt 0.865778 0.035338 vt 0.855764 0.040053 vt 0.869507 0.328630 vt 0.863489 0.324838 vt 0.874551 0.332745 vt 0.884877 0.338373 vt 0.871514 0.338011 vt 0.865546 0.334278 vt 0.859597 0.330711 vt 0.851988 0.034421 vt 0.859518 0.028759 vt 0.869803 0.028572 vt 0.876825 0.025271 vt 0.866278 0.024773 vt 0.865254 0.023689 vt 0.860101 0.026520 vt 0.864112 0.022576 vt 0.868089 0.018572 vt 0.866340 0.018146 vt 0.862579 0.012936 vt 0.856380 0.009964 vt 0.861832 0.014293 vt 0.862416 0.013422 vt 0.856790 0.010987 vt 0.855204 0.010115 vt 0.855722 0.008719 vt 0.861682 0.353551 vt 0.858676 0.347756 vt 0.857362 0.353661 vt 0.862801 0.349201 vt 0.866233 0.344959 vt 0.869986 0.350271 vt 0.863096 0.353185 vt 0.857244 0.008188 vt 0.857001 0.009836 vt 0.863692 0.011372 vt 0.870504 0.018138 vt 0.878088 0.344928 vt 0.861023 0.341720 vt 0.855109 0.339607 vt 0.847424 0.026138 vt 0.852956 0.022390 vt 0.854339 0.021292 vt 0.859679 0.024929 vt 0.855640 0.020648 vt 0.859706 0.024237 vt 0.863634 0.022129 vt 0.848975 0.016842 vt 0.850614 0.016241 vt 0.846388 0.020204 vt 0.854541 0.346366 vt 0.853664 0.351389 vt 0.850744 0.015645 vt 0.849462 0.015104 vt 0.851874 0.015984 vt 0.858908 0.017642 vt 0.854353 0.013495 vt 0.853180 0.012439 vt 0.855797 0.010956 vt 0.850870 0.014493 vt 0.865650 0.018200 vt 0.920052 0.236677 vt 0.621713 0.370712 vt 0.875768 0.230885 vt 0.868306 0.227115 vt 0.887138 0.158510 vt 0.889684 0.168767 vt 0.871968 0.172319 vt 0.867317 0.178475 vt 0.860863 0.178232 vt 0.860973 0.184284 vt 0.866608 0.184893 vt 0.872031 0.185005 vt 0.872213 0.178528 vt 0.889440 0.177509 vt 0.868455 0.230245 vt 0.881625 0.147822 vt 0.866051 0.233671 vt 0.857998 0.235565 vt 0.869919 0.125744 vt 0.864567 0.136266 vt 0.844520 0.118064 vt 0.852934 0.111698 vt 0.844360 0.108641 vt 0.846452 0.101313 vt 0.839836 0.272903 vt 0.838153 0.258547 vt 0.836713 0.251916 vt 0.839765 0.243029 vt 0.843603 0.131497 vt 0.841212 0.116506 vt 0.837466 0.115618 vt 0.836743 0.107059 vt 0.842332 0.100390 vt 0.827251 0.104994 vt 0.825786 0.097670 vt 0.835985 0.271656 vt 0.819439 0.260940 vt 0.819117 0.273473 vt 0.832422 0.258797 vt 0.817994 0.254501 vt 0.831421 0.252440 vt 0.834438 0.245019 vt 0.838832 0.128236 vt 0.833077 0.128365 vt 0.820810 0.124045 vt 0.822861 0.111287 vt 0.821229 0.103682 vt 0.822135 0.096691 vt 0.815823 0.274570 vt 0.814373 0.262295 vt 0.813208 0.255384 vt 0.817099 0.247815 vt 0.830067 0.245754 vt 0.812143 0.248987 vt 0.819876 0.110300 vt 0.816655 0.121302 vt 0.816544 0.110477 vt 0.811473 0.121600 vt 0.808275 0.255901 vt 0.807027 0.249703 vt 0.809460 0.261920 vt 0.812164 0.273455 vt 0.802334 0.263297 vt 0.801012 0.257115 vt 0.799188 0.251371 vt 0.804611 0.118479 vt 0.807853 0.109260 vt 0.815568 0.103183 vt 0.810357 0.102815 vt 0.818198 0.096340 vt 0.809020 0.095848 vt 0.808882 0.102694 vt 0.807535 0.097603 vt 0.799742 0.095316 vt 0.802828 0.273007 vt 0.794681 0.264665 vt 0.793465 0.271039 vt 0.792800 0.259491 vt 0.790761 0.254608 vt 0.797163 0.114795 vt 0.798933 0.108422 vt 0.806837 0.107300 vt 0.807354 0.102603 vt 0.805545 0.106433 vt 0.799243 0.106866 vt 0.792478 0.106857 vt 0.793253 0.105510 vt 0.806674 0.102566 vt 0.799795 0.105719 vt 0.805115 0.105927 vt 0.800261 0.102226 vt 0.800220 0.098396 vt 0.794390 0.099176 vt 0.794268 0.102078 vt 0.787070 0.262358 vt 0.782803 0.265452 vt 0.785576 0.267796 vt 0.781941 0.262214 vt 0.785531 0.259233 vt 0.792640 0.110625 vt 0.789023 0.265624 vt 0.786730 0.268415 vt 0.793000 0.097002 vt 0.799880 0.097046 vt 0.793794 0.098285 vt 0.792232 0.098263 vt 0.793451 0.098725 vt 0.792714 0.099548 vt 0.806047 0.098348 vt 0.805566 0.098784 vt 0.792994 0.105061 vt 0.791754 0.105434 vt 0.792381 0.104169 vt 0.794030 0.104667 vt 0.832936 0.196442 vt 0.832052 0.189846 vt 0.828236 0.194431 vt 0.831055 0.190660 vt 0.828031 0.200429 vt 0.972508 0.141505 vt 0.962546 0.125726 vt 0.950081 0.115832 vt 0.955912 0.134932 vt 0.949019 0.146482 vt 0.836571 0.174188 vt -13.280798 81.907349 vt -12.966859 81.744247 vt -12.962575 81.846642 vt -4.901785 82.697876 vt -4.853787 82.794609 vt -4.904505 82.892227 vt -6.062336 73.020782 vt -6.030817 73.099609 vt -6.290397 73.208443 vt -24.108358 61.043045 vt -24.380100 60.948093 vt -24.347284 60.869804 vt -23.168671 74.542068 vt -23.426643 74.468399 vt -23.405106 74.365005 vt -22.420420 79.664818 vt -22.742420 79.507454 vt -22.482708 79.574738 vt -21.501467 80.734955 vt -21.828615 80.685127 vt -21.825912 80.582687 vt -24.539267 74.774750 vt -24.593559 74.679634 vt -24.544312 74.582306 vt -24.720654 68.965935 vt -24.853746 68.902687 vt -24.788773 68.866089 vt -24.642443 54.815594 vt -24.697002 54.866425 vt -24.923187 54.676853 vt 20.527197 75.708702 vt 20.827028 75.618347 vt 20.822268 75.706467 vt 15.069846 74.377930 vt 14.780270 74.365578 vt 14.779616 74.277321 vt 15.147603 74.347206 vt 14.783456 74.241791 vt 15.073033 74.254150 vt 22.319008 29.725336 vt 22.637953 29.930254 vt 22.714128 30.008217 vt 6.021642 82.272835 vt 6.082910 82.170525 vt 6.146212 82.206207 vt -3.392055 69.992538 vt -3.604435 70.197769 vt -3.657134 70.147736 vt -24.982498 80.808250 vt -25.033176 80.148163 vt -24.929272 80.136566 vt -25.184652 77.232193 vt -25.189497 76.753197 vt -25.124523 76.671219 vt -17.347164 81.583336 vt -17.477264 81.049355 vt -17.408880 81.077522 vt -24.965441 36.990669 vt -25.106844 37.056370 vt -25.150936 36.996990 vt -13.939616 81.056671 vt -13.817569 81.537354 vt -13.869593 81.561409 vt -14.723388 80.664238 vt -14.729911 79.937370 vt -14.677851 79.913383 vt -25.048264 80.853653 vt -25.110710 80.798485 vt -25.057501 80.126808 vt -21.421728 59.112392 vt -21.000635 59.011219 vt -20.950727 59.077950 vt -20.822660 81.163696 vt -20.823622 81.087761 vt -20.352224 81.059280 vt -15.007541 81.060905 vt -14.545848 81.072983 vt -14.544574 81.148911 vt -14.615086 53.961464 vt -14.572099 53.892414 vt -14.153472 53.976227 vt 3.087521 79.545944 vt 3.150949 80.216942 vt 3.092438 80.273430 vt -18.649740 81.545967 vt -18.599796 81.038437 vt -18.531853 81.007858 vt -21.422457 81.067307 vt -21.475929 81.045052 vt -21.364342 80.560638 vt -20.859776 80.796547 vt -20.930107 80.047058 vt -20.876602 80.069229 vt -15.758815 67.223358 vt -16.313395 67.291840 vt -15.859357 67.130402 vt -2.035691 81.422890 vt -1.993118 80.671852 vt -1.912670 81.483025 vt 23.437548 37.366653 vt 24.005960 37.893520 vt 23.830179 37.865952 vt 8.616843 51.366055 vt 8.577897 51.992306 vt 8.529596 52.003117 vt 9.252394 48.405434 vt 9.300345 48.393166 vt 9.122686 49.002995 vt -18.070995 77.872025 vt -18.045179 77.795334 vt -17.504133 77.642738 vt -1.592973 79.387001 vt -1.229029 79.509552 vt -1.232568 79.590401 vt -18.154575 77.858070 vt -17.659897 77.617889 vt -17.613264 77.706413 vt -19.675653 76.488716 vt -19.718773 76.398422 vt -19.066320 76.185745 vt -20.030107 76.876526 vt -19.473112 76.632156 vt -19.376259 76.668167 vt 13.383660 35.481831 vt 13.636287 35.379208 vt 13.641295 35.480663 vt -6.654805 -8.365225 vt -6.634789 -8.469424 vt -6.437697 -8.412366 vt -22.366480 45.558010 vt -22.520136 45.725204 vt -22.467236 45.524754 vt -22.178465 46.121540 vt -22.370176 46.241550 vt -22.239649 46.060287 vt -21.651302 52.232330 vt -21.682096 52.164497 vt -21.481995 52.059071 vt -21.933920 74.361923 vt -21.905722 74.229233 vt -21.854258 74.283089 vt -21.903875 64.307571 vt -21.952784 64.159195 vt -21.895351 64.135887 vt 5.222324 53.074017 vt 5.261543 53.122009 vt 5.087721 53.741074 vt -17.565931 76.028709 vt -17.691360 75.688889 vt -17.628849 75.615814 vt 3.340878 67.729027 vt 3.153528 67.965942 vt 3.141085 67.854561 vt 3.179656 67.878967 vt 3.233875 67.947433 vt 3.033646 68.072273 vt -12.329519 56.470474 vt -12.559288 56.528862 vt -12.566625 56.441841 vt -12.276855 56.189835 vt -12.209578 56.276009 vt -12.506487 56.248760 vt 15.233047 41.448120 vt 15.276448 41.387516 vt 15.321365 41.512554 vt -8.533902 28.092340 vt -8.771352 28.066711 vt -8.553642 28.020460 vt -9.949520 17.450905 vt -10.164249 17.509457 vt -10.168746 17.422993 vt 15.664044 14.831587 vt 15.758834 14.777785 vt 15.852901 14.811986 vt 23.269117 53.401058 vt 22.737137 53.098820 vt 23.254719 53.322948 vt -7.668017 59.672302 vt -7.655995 59.721519 vt -8.107017 60.134964 vt -4.960114 60.649776 vt -5.442257 61.070023 vt -5.458311 61.021969 vt -3.031946 58.470219 vt -3.542770 58.910431 vt -3.091305 58.457394 vt -3.318071 40.952904 vt -3.409355 40.809219 vt -3.349289 40.800262 vt 16.696817 46.509789 vt 17.111588 46.529202 vt 17.124531 46.603233 vt 17.180601 71.488686 vt 17.215401 71.417297 vt 17.595713 71.498428 vt -10.437354 66.672501 vt -10.133651 66.953621 vt -10.497066 66.718147 vt -21.436953 64.840187 vt -21.348379 64.788948 vt -21.246161 64.825592 vt -16.611483 54.277634 vt -16.569214 54.480591 vt -16.639660 54.554798 vt -13.177969 56.648956 vt -13.159972 56.926968 vt -13.269915 56.692135 vt -21.622169 49.433235 vt -21.709473 49.729713 vt -21.668186 49.410831 vt -18.974735 63.596191 vt -19.011845 63.639744 vt -19.113567 63.347900 vt -22.102947 77.317871 vt -22.490812 77.163521 vt -22.442757 77.132462 vt -12.119361 14.233775 vt -12.264164 13.822655 vt -12.094280 14.203976 vt 8.407323 16.310186 vt 8.603148 15.819048 vt 8.637774 15.940213 vt -14.266129 13.162105 vt -14.572497 12.863295 vt -14.551475 12.830507 vt -16.000809 18.071709 vt -16.046944 18.084570 vt -16.365974 17.785240 vt -11.593095 81.764191 vt -11.643042 81.884987 vt -11.640715 81.769302 vt -18.935415 80.680809 vt -18.942732 80.601746 vt -18.862934 80.610916 vt -18.351240 72.949760 vt -18.430992 72.940193 vt -18.458384 72.870880 vt -21.478188 79.117897 vt -21.908772 78.931801 vt -21.511641 79.051300 vt -21.378986 77.941895 vt -21.828686 77.827087 vt -21.808691 77.753777 vt -22.092714 77.864502 vt -22.433155 77.680252 vt -22.075806 77.790413 vt -18.071188 47.372688 vt -18.262735 47.484516 vt -18.122690 47.325787 vt -17.223572 52.291683 vt -17.348658 52.407093 vt -17.420132 52.394447 vt -13.715596 63.991695 vt -13.892319 64.025307 vt -13.753313 63.927109 vt -13.654475 64.842590 vt -13.804609 64.948738 vt -13.831252 64.875916 vt -10.624310 74.467674 vt -10.803354 74.507584 vt -10.647633 74.409821 vt -10.045069 78.490166 vt -10.220023 78.584106 vt -10.224277 78.529335 vt 21.423227 40.709637 vt 21.460184 40.900852 vt 21.366217 40.725914 vt 21.534981 40.928646 vt -19.859163 80.002586 vt -19.786373 79.933014 vt -19.780779 79.987671 vt 16.433493 2.311489 vt 16.328476 2.073427 vt 16.473440 2.267678 vt 16.319803 2.152127 vt 0.917863 72.905502 vt 0.724840 72.938110 vt 0.890703 72.858734 vt -0.533980 67.203041 vt -0.698285 67.285591 vt -0.713459 67.225090 vt -1.481217 50.679893 vt -1.660182 50.705791 vt -1.508716 50.608021 vt -1.781858 49.605221 vt -1.932562 49.704159 vt -1.947334 49.630840 vt -3.581584 27.337696 vt -3.745150 27.373541 vt -3.550321 27.271770 vt -5.867065 20.552500 vt -5.883842 20.484892 vt -5.681700 20.434368 vt 7.875409 41.703487 vt 8.155315 41.711731 vt 7.856202 41.756355 vt -1.937450 2.308768 vt -2.237119 2.268038 vt -2.238681 2.216882 vt -19.248594 37.934601 vt -19.281847 37.955376 vt -19.632938 37.729897 vt -19.568060 35.432007 vt -19.908785 35.157215 vt -19.876650 35.134743 vt -18.838043 30.929428 vt -19.151180 30.586153 vt -18.828705 30.882147 vt 17.285658 48.556179 vt 17.645647 48.254337 vt 17.684103 48.317162 vt 18.142324 53.423328 vt 18.159569 53.351711 vt 18.515976 53.138569 vt 7.795896 47.056297 vt 7.734661 47.108875 vt 7.782682 46.983833 vt 13.246961 68.168839 vt 13.154365 68.136734 vt 13.222898 68.094101 vt 14.119160 62.008713 vt 14.042029 62.026592 vt 14.027302 61.974552 vt 5.081212 77.564758 vt 4.976224 77.494034 vt 5.018115 77.470200 vt 7.104720 46.187252 vt 7.059463 46.313324 vt 7.051177 46.236820 vt 20.553385 46.190582 vt 20.528040 46.121414 vt 20.868734 45.967319 vt 20.329258 44.141109 vt 20.639849 43.911270 vt 20.691383 43.933811 vt -18.170467 72.144310 vt -18.277231 72.064919 vt -18.205360 72.075066 vt -5.981986 76.909927 vt -6.060046 76.661385 vt -6.006419 76.610451 vt -20.831814 28.352118 vt -20.878057 28.374393 vt -21.300076 28.038624 vt -20.968763 25.818407 vt -21.374475 25.426769 vt -21.329800 25.401499 vt -20.184708 20.576321 vt -20.524796 20.084469 vt -20.163666 20.517557 vt 10.904166 63.844948 vt 10.802372 63.850113 vt 10.794060 63.777676 vt 3.550812 -15.745242 vt 3.473444 -15.811595 vt 3.815094 -15.832639 vt -0.337098 75.908051 vt -0.457584 75.788940 vt -0.398881 75.767746 vt 9.040662 20.383110 vt 9.486972 19.864929 vt 9.477864 20.031254 vt -22.886127 42.405945 vt -23.020880 42.797577 vt -22.944971 42.376152 vt -12.196471 62.899807 vt -11.947727 63.187943 vt -11.982423 63.254375 vt -21.307568 75.460373 vt -21.755302 75.238380 vt -21.289335 75.361069 vt -21.407801 74.769936 vt -21.914968 74.589737 vt -21.854376 74.545631 vt -10.477211 5.101058 vt -10.522665 5.123186 vt -10.489478 4.562965 vt -12.546290 2.243105 vt -12.754499 1.729528 vt -12.711775 1.702503 vt -13.211301 75.516907 vt -13.261633 75.164192 vt -13.182330 75.108345 vt -16.872229 78.879494 vt -16.853344 78.725609 vt -16.790434 78.726494 vt -16.060448 7.160186 vt -16.123280 7.156952 vt -16.396542 6.662013 vt -21.816919 74.980873 vt -22.400045 74.835617 vt -22.374529 74.737938 vt -21.717464 76.573074 vt -22.277285 76.335274 vt -21.761637 76.485161 vt -5.384160 15.659034 vt -5.687891 15.723919 vt -5.681312 15.633886 vt -4.754492 21.752655 vt -4.999167 21.737196 vt -4.693703 21.681036 vt -5.339038 46.912880 vt -5.582036 47.001263 vt -5.583987 46.902634 vt -5.435813 64.705956 vt -5.691222 64.777733 vt -5.698783 64.694710 vt -4.554210 70.919029 vt -4.836420 70.919472 vt -4.580134 70.850891 vt 4.907545 -14.103659 vt 5.176854 -14.174056 vt 5.189714 -14.098816 vt 21.298248 33.546387 vt 21.372538 33.528851 vt 21.423166 33.804314 vt 21.149830 34.255199 vt 21.282768 34.576263 vt 21.188374 34.532608 vt -21.807652 77.128235 vt -21.710119 77.038353 vt -21.704981 77.111641 vt -20.855980 67.502411 vt -20.988501 67.388557 vt -20.895575 67.408150 vt -19.609715 43.009243 vt -19.811665 43.154465 vt -19.902605 43.127113 vt -17.075439 57.944859 vt -16.853191 57.833153 vt -16.814964 57.924095 vt -17.025242 59.195992 vt -17.047201 59.096146 vt -16.786703 59.075665 vt -14.825747 69.958633 vt -14.804604 70.039276 vt -15.070571 70.065598 vt -14.575618 74.771454 vt -14.844608 74.870323 vt -14.841670 74.796913 vt -20.065704 38.901302 vt -20.353678 39.030724 vt -20.125092 38.833321 vt 4.778853 47.048828 vt 4.687734 47.197681 vt 4.697696 47.096138 vt 18.226814 44.045017 vt 18.586111 43.923355 vt 18.226284 44.118408 vt 5.109795 1.761745 vt 4.802361 1.491548 vt 4.837121 1.435493 vt 19.124901 50.551624 vt 19.563044 50.308277 vt 19.624464 50.348457 vt 23.102766 65.727600 vt 23.296207 66.363670 vt 23.171272 66.270592 vt 13.897008 74.596352 vt 13.897177 74.043549 vt 13.940557 74.582253 vt 12.174642 75.223862 vt 12.153668 74.638092 vt 12.199791 74.671631 vt -16.996925 78.631783 vt -17.071316 78.581520 vt -16.684879 78.135597 vt -15.165278 78.626877 vt -14.894351 78.240150 vt -14.818876 78.288765 vt 15.879554 65.857178 vt 16.126783 65.771866 vt 16.128199 65.859116 vt 16.959105 60.826309 vt 17.158522 60.807487 vt 16.915016 60.902912 vt 18.540630 41.365143 vt 18.714703 41.241707 vt 18.737965 41.330780 vt 19.145311 39.476791 vt 19.356520 39.432465 vt 19.187044 39.562145 vt 22.916019 -5.409994 vt 22.890692 -5.624705 vt 22.966583 -5.619797 vt 2.114069 -11.838032 vt 1.934391 -11.986060 vt 2.133392 -11.901556 vt -15.306681 76.267967 vt -15.531266 76.314453 vt -15.537746 76.239594 vt -15.253809 76.373199 vt -15.540181 76.344475 vt -15.315587 76.298042 vt -21.055426 58.724087 vt -21.215376 58.442673 vt -21.167120 58.369671 vt 4.603061 7.450190 vt 4.590902 7.295102 vt 4.642870 7.316085 vt 23.306105 45.939995 vt 23.289036 45.844212 vt 23.353600 45.828709 vt 25.048914 42.279079 vt 25.128967 42.330242 vt 25.136259 42.418324 vt 25.380068 61.340065 vt 25.146841 60.807037 vt 25.462463 61.302536 vt 6.507969 77.048309 vt 6.708241 76.535553 vt 6.763387 76.525551 vt 4.758768 77.718781 vt 5.011839 77.245789 vt 4.792472 77.750679 vt 3.295539 77.411102 vt 3.414363 76.874008 vt 3.447109 76.906883 vt 18.123306 72.439171 vt 18.487347 72.493896 vt 18.489887 72.558449 vt 19.471191 77.817299 vt 19.510464 77.758789 vt 19.836651 77.861588 vt 25.652040 69.435463 vt 25.397581 68.974525 vt 25.679745 69.370674 vt 25.708574 69.620079 vt 25.422039 69.227081 vt 25.506004 69.193199 vt -1.403004 79.924065 vt -1.376065 79.865341 vt -1.046874 79.954231 vt 2.028239 75.877831 vt 2.342114 75.887886 vt 2.360008 75.956551 vt -14.731518 78.890511 vt -14.386044 78.551453 vt -14.716591 78.959885 vt 14.365649 73.156265 vt 14.434658 72.635384 vt 14.477988 72.620621 vt -25.398106 49.771484 vt -25.492441 49.669220 vt -25.453745 49.627327 vt -18.219036 78.373703 vt -17.914734 77.947784 vt -17.825687 77.933861 vt -1.132264 74.645004 vt -1.090567 74.568359 vt -0.939541 74.753502 vt -4.819042 71.704155 vt -4.684138 71.813225 vt -4.686984 71.903267 vt -12.080206 61.351814 vt -12.050611 61.541508 vt -12.156161 61.403828 vt -12.635977 60.993122 vt -12.523940 61.145214 vt -12.610312 61.183388 vt -22.052896 45.977966 vt -22.097242 46.164902 vt -22.128944 45.978676 vt -24.535780 43.427784 vt -24.565491 43.632359 vt -24.622484 43.599228 vt -4.171913 79.476830 vt -4.367951 79.516937 vt -4.194127 79.405045 vt -4.075748 79.368965 vt -4.299883 79.504105 vt -4.271725 79.409370 vt -21.100924 74.569733 vt -21.141153 74.455101 vt -21.077887 74.473625 vt -15.694207 70.871223 vt -15.815965 70.983810 vt -15.784316 70.899467 vt 20.446611 75.716385 vt 20.526869 75.626007 vt 20.821939 75.623764 vt 3.057908 60.271179 vt 3.019642 60.335114 vt 2.881572 60.273376 vt -9.558550 81.101013 vt -9.330141 80.913712 vt -9.309689 81.017326 vn -0.581469 -0.077731 0.809809 vn -0.191382 -0.274178 0.942412 vn -0.101627 -0.094821 0.990265 vn -0.577929 -0.146458 0.802789 vn -0.842830 -0.271798 0.464461 vn -0.789758 -0.423322 0.443892 vn -0.556963 -0.320353 0.766228 vn -0.801660 -0.566759 0.189917 vn -0.473739 -0.604938 0.639973 vn -0.189642 -0.421247 0.886868 vn 0.033662 -0.564440 0.824763 vn 0.065462 -0.510971 0.857082 vn 0.457930 -0.836726 0.300211 vn -0.428724 -0.813074 -0.393780 vn -0.844844 -0.509262 0.163823 vn -0.597247 -0.731468 -0.328929 vn -0.918668 -0.082675 0.386212 vn -0.568499 0.191504 0.800073 vn -0.082064 0.171300 0.981780 vn -0.231239 -0.081149 0.969481 vn -0.275582 -0.165868 0.946837 vn -0.228187 -0.417707 0.879452 vn 0.454299 -0.753960 0.474410 vn -0.859340 -0.070620 0.506455 vn -0.908994 0.192694 0.369518 vn -0.793023 -0.265603 0.548173 vn -0.831538 -0.162023 0.531266 vn -0.636860 -0.043245 0.769738 vn -0.960540 -0.155431 -0.230598 vn -0.759514 -0.221534 -0.611560 vn -0.329569 -0.567431 -0.754570 vn -0.720969 -0.110324 -0.684072 vn -0.078219 -0.290536 -0.953642 vn -0.627308 0.141881 -0.765709 vn -0.057527 0.332194 -0.941435 vn 0.571337 0.119083 -0.812006 vn 0.518998 -0.397595 -0.756645 vn 0.918302 -0.321726 -0.230628 vn 0.931730 0.255684 -0.257820 vn 0.530412 0.343028 -0.775201 vn -0.143071 0.122105 -0.982147 vn -0.742973 0.064791 -0.666158 vn -0.114353 -0.412793 -0.903592 vn 0.522263 -0.431989 -0.735252 vn 0.547777 -0.587970 -0.595141 vn 0.911893 -0.393262 -0.117374 vn 0.895016 -0.445326 0.023896 vn 0.614277 -0.762810 -0.201819 vn 0.785852 -0.602527 0.139073 vn 0.676229 -0.074862 0.732841 vn 0.836848 -0.081179 0.541337 vn 0.158849 0.524918 0.836177 vn 0.124607 0.381787 0.915799 vn -0.545122 0.465194 0.697409 vn -0.528459 0.617634 0.582415 vn -0.870724 0.244514 0.426618 vn -0.879086 0.369518 0.301004 vn -0.861904 0.092959 0.498398 vn -0.939024 0.265481 0.218360 vn -0.800989 0.146825 0.580340 vn -0.933012 0.354320 -0.062441 vn -0.871822 0.392438 0.293069 vn -0.853938 0.432813 -0.288827 vn -0.859920 0.289834 -0.420118 vn -0.882778 0.296487 -0.364391 vn -0.843043 -0.035585 -0.536637 vn -0.900204 0.032411 -0.434248 vn -0.940397 -0.090670 -0.327738 vn -0.303659 -0.248543 -0.919767 vn -0.177007 -0.240944 -0.954222 vn 0.707877 -0.278664 -0.649007 vn 0.856563 -0.292093 -0.425367 vn 0.931272 0.008728 0.364147 vn 0.761498 -0.370952 0.531480 vn 0.792016 -0.321512 0.518937 vn 0.594653 -0.691519 0.410047 vn 0.684927 -0.528123 0.501907 vn 0.410627 0.115604 0.904416 vn -0.683889 0.142766 0.715445 vn -0.816431 -0.008393 -0.577349 vn -0.917600 -0.155431 -0.365825 vn -0.945433 -0.017731 0.325236 vn -0.880184 -0.313578 -0.356243 vn -0.362835 -0.288003 -0.886227 vn -0.076876 -0.244087 -0.966674 vn -0.740959 0.058504 -0.668966 vn -0.640980 -0.043184 -0.766320 vn -0.682913 0.232917 -0.692343 vn -0.755303 0.061861 -0.652425 vn -0.876797 -0.174230 -0.448134 vn -0.232948 -0.314615 -0.920164 vn -0.874996 -0.354320 -0.329814 vn -0.162755 -0.610492 -0.775079 vn 0.652516 -0.745384 -0.136296 vn 0.881436 -0.171911 -0.439833 vn 0.814112 -0.270608 0.513749 vn 0.919340 -0.041017 0.391308 vn 0.846583 -0.382427 -0.370098 vn 0.744072 -0.554460 0.372692 vn 0.710746 -0.504501 -0.490158 vn 0.554582 -0.732231 0.395245 vn 0.741997 -0.529435 0.411237 vn 0.792627 -0.304605 -0.528123 vn 0.040193 0.064486 -0.997101 vn 0.233680 0.030091 -0.971831 vn 0.906339 -0.171209 -0.386242 vn 0.217933 0.004028 -0.975951 vn 0.899167 -0.117008 -0.421644 vn 0.273659 -0.301401 -0.913358 vn 0.846736 -0.378857 -0.373424 vn 0.760369 -0.471816 -0.446303 vn 0.934812 -0.324595 0.144047 vn 0.937254 -0.345408 0.046663 vn 0.673574 -0.397168 -0.623310 vn 0.722221 -0.516984 -0.459426 vn 0.895810 -0.411573 0.167638 vn 0.819117 -0.514206 -0.254189 vn 0.884793 -0.411908 0.217750 vn 0.836421 -0.499741 -0.224982 vn 0.897031 -0.326975 0.297250 vn 0.921110 -0.371044 -0.117801 vn 0.916623 -0.152379 0.369518 vn 0.930906 -0.103763 0.350169 vn 0.981140 -0.190924 0.029054 vn 0.895596 -0.133457 0.424329 vn 0.963713 -0.263253 0.043825 vn 0.942961 -0.287179 0.168187 vn 0.833308 -0.215125 -0.509201 vn 0.958403 -0.228645 0.170812 vn 0.931944 -0.133671 -0.337046 vn 0.320292 0.026551 -0.946928 vn 0.632557 0.015381 -0.774346 vn 0.979522 -0.043245 -0.196478 vn 0.713675 0.082430 -0.695578 vn -0.005341 0.087924 -0.996094 vn -0.190954 0.097415 -0.976745 vn -0.494797 0.109653 -0.862026 vn 0.176092 0.051607 -0.983001 vn 0.034455 -0.109653 -0.993347 vn 0.829279 -0.268990 -0.489822 vn 0.588214 -0.364696 -0.721763 vn 0.426099 -0.469192 -0.773461 vn 0.323008 -0.512680 -0.795465 vn 0.190252 -0.460799 -0.866848 vn 0.143132 -0.421552 -0.895413 vn 0.024079 -0.252449 -0.967284 vn 0.128574 -0.335093 -0.933348 vn -0.488907 -0.029145 -0.871822 vn -0.599719 0.098148 -0.794122 vn -0.471999 0.099979 -0.875881 vn -0.644917 0.229926 -0.728813 vn -0.591815 0.265877 -0.760918 vn -0.066012 0.099216 -0.992859 vn 0.004120 -0.046754 -0.998871 vn -0.668416 0.228889 -0.707663 vn -0.688162 0.287637 -0.666066 vn -0.699911 0.338237 -0.629017 vn -0.813837 0.214606 -0.539964 vn -0.800623 0.253517 -0.542833 vn -0.793664 0.224311 -0.565477 vn -0.771203 0.394116 -0.499863 vn -0.812891 0.321543 -0.485580 vn -0.824488 0.182012 -0.535783 vn -0.903989 0.250343 -0.346538 vn -0.866421 0.350902 -0.355144 vn -0.935301 0.343669 -0.084109 vn -0.634053 0.629505 0.449049 vn 0.066500 0.610340 0.789300 vn 0.094943 0.455794 0.884976 vn -0.239509 0.401440 0.883999 vn -0.828730 0.543382 0.133763 vn -0.769097 0.465957 0.437422 vn -0.937590 0.262917 -0.227454 vn -0.890744 0.251167 -0.378765 vn -0.605701 -0.042085 -0.794549 vn -0.719291 0.041597 -0.693442 vn -0.559832 -0.156407 -0.813685 vn -0.511887 -0.133732 -0.848567 vn -0.455641 -0.204718 -0.866268 vn -0.328837 -0.249825 -0.910733 vn -0.142369 -0.218970 -0.965270 vn -0.765709 0.165227 -0.621570 vn -0.842463 0.125950 -0.523789 vn -0.874172 0.066622 -0.480972 vn -0.926481 0.153935 -0.343394 vn -0.966063 0.165929 -0.197882 vn -0.949065 0.298746 -0.099979 vn -0.643269 0.467025 0.606647 vn -0.076571 0.373028 0.924650 vn 0.627613 -0.003632 0.778497 vn 0.787042 0.201819 0.582904 vn 0.769127 0.303018 0.562639 vn 0.989654 -0.134312 0.049928 vn 0.955535 -0.146855 0.255593 vn 0.876522 -0.220405 0.427900 vn 0.685873 -0.035554 0.726829 vn 0.895962 -0.255898 0.362896 vn 0.761742 -0.087344 0.641926 vn 0.896664 -0.283914 0.339610 vn 0.846797 -0.308847 0.432997 vn 0.428297 0.066805 0.901120 vn 0.721183 -0.193152 0.665242 vn 0.217689 0.132023 0.967040 vn -0.296762 0.329020 0.896451 vn -0.154271 0.305490 0.939604 vn -0.836909 0.332987 0.434370 vn -0.867794 0.352855 0.349834 vn 0.075594 0.336528 0.938627 vn -0.889645 0.360179 0.280679 vn -0.495163 0.369060 0.786493 vn 0.106632 0.189032 0.976135 vn 0.604327 -0.041231 0.795648 vn 0.610309 0.076662 0.788415 vn 0.600269 0.198309 0.774773 vn 0.549181 -0.013367 0.835566 vn 0.825831 -0.272866 0.493454 vn 0.699789 -0.238258 0.673391 vn 0.947264 -0.118229 0.297739 vn 0.999939 0.004761 0.006684 vn 0.922575 -0.073183 0.378796 vn 0.628193 -0.097629 0.771874 vn 0.680685 -0.144597 0.718131 vn 0.006806 -0.138859 0.990265 vn -0.093356 -0.095798 0.990997 vn -0.667226 -0.058565 0.742515 vn -0.783563 -0.040040 0.619983 vn -0.991974 0.041932 0.119053 vn -0.998169 0.048891 0.035127 vn -0.628742 -0.094119 0.771844 vn -0.981719 0.039125 0.186132 vn -0.919797 0.147557 0.363567 vn -0.467147 0.043794 0.883084 vn -0.154942 0.381787 0.911161 vn -0.737907 0.474075 0.480300 vn -0.944578 0.275613 -0.178259 vn -0.620808 0.527299 0.580065 vn -0.911008 0.401379 -0.094485 vn -0.919218 0.376141 0.116184 vn -0.546648 0.384289 0.743950 vn 0.016968 0.291757 0.956328 vn 0.034913 0.422895 0.905484 vn 0.184393 -0.150670 0.971221 vn 0.071871 -0.208258 0.975402 vn -0.711570 0.138890 -0.688711 vn -0.944578 0.081240 -0.318033 vn -0.831782 0.101108 -0.545793 vn -0.629933 0.108463 -0.769005 vn -0.044374 0.104617 -0.993500 vn -0.808832 0.118076 -0.576037 vn 0.964690 -0.212928 0.154820 vn 0.941740 -0.123814 0.312662 vn 0.868954 -0.289499 0.401318 vn 0.843043 -0.469741 0.261818 vn 0.906461 -0.406964 -0.112522 vn 0.744316 -0.661458 0.091586 vn 0.496200 -0.865474 0.068606 vn 0.336100 -0.920408 -0.199622 vn -0.189428 -0.862178 -0.469832 vn -0.863826 -0.120243 -0.489181 vn -0.930265 0.220832 0.292947 vn -0.998901 0.035524 -0.029847 vn -0.992492 0.034181 0.117191 vn -0.582141 0.057466 0.811029 vn -0.585315 -0.009827 0.810724 vn 0.179022 0.003021 0.983825 vn -0.300455 -0.273690 0.913663 vn -0.473281 -0.601215 0.643818 vn 0.479354 -0.178808 0.859188 vn 0.798059 -0.255226 0.545824 vn 0.853755 -0.158208 0.495987 vn 0.793237 -0.603534 0.080477 vn 0.925413 0.029847 0.377758 vn 0.985321 -0.037477 -0.166448 vn 0.839229 -0.026612 0.543107 vn 0.718650 -0.027863 0.694784 vn 0.657796 -0.021271 0.752861 vn 0.027650 0.294992 0.955077 vn -0.482650 0.376049 0.790948 vn -0.869747 0.112918 0.480331 vn -0.741234 -0.242775 0.625751 vn -0.049165 -0.061251 0.996887 vn -0.869106 0.255013 0.423780 vn -0.928129 0.138524 -0.345470 vn -0.951262 -0.045534 -0.304910 vn -0.242836 -0.228614 -0.942717 vn -0.493118 -0.130314 -0.860103 vn 0.786401 -0.295480 -0.542405 vn 0.842555 -0.312510 -0.438612 vn 0.916959 -0.040468 0.396863 vn 0.874813 -0.237190 0.422376 vn 0.634175 -0.438917 0.636494 vn 0.701407 -0.396863 0.591998 vn 0.560442 -0.657796 0.503159 vn 0.277749 -0.867275 0.413099 vn 0.289865 -0.941954 0.169347 vn 0.162420 -0.969604 -0.182836 vn 0.616840 -0.782647 0.083071 vn 0.259316 0.110782 0.959380 vn -0.737571 0.062410 0.672353 vn -0.817957 0.158544 0.552965 vn -0.921110 -0.092410 -0.378155 vn -0.134526 -0.392987 -0.909635 vn 0.904904 -0.152532 -0.397259 vn 0.820978 -0.321757 0.471603 vn 0.263283 0.048219 0.963500 vn -0.781823 -0.001373 0.623463 vn -0.869167 -0.416913 -0.265816 vn -0.221351 -0.557939 -0.799768 vn 0.693533 0.090243 -0.714713 vn 0.772729 0.622974 0.121494 vn 0.826289 0.311960 0.468947 vn 0.229469 0.064730 0.971129 vn -0.801569 -0.200293 0.563341 vn -0.789056 -0.586383 -0.183081 vn -0.789300 -0.584216 -0.188818 vn -0.701590 0.000793 0.712546 vn -0.666402 -0.190344 0.720847 vn -0.551561 -0.833979 -0.014374 vn -0.007416 -0.588946 -0.808100 vn 0.121586 -0.724113 -0.678854 vn -0.417768 -0.894314 0.160100 vn -0.463912 -0.884976 -0.039277 vn -0.619465 -0.298105 0.726188 vn -0.509537 -0.239418 0.826441 vn 0.053896 0.623585 0.779870 vn 0.025910 0.825129 0.564318 vn 0.144536 0.461348 0.875332 vn 0.167364 0.458296 0.872860 vn 0.089663 0.603870 0.791986 vn 0.890072 0.340587 0.302835 vn 0.798029 0.081210 -0.597064 vn -0.007019 -0.420545 -0.907224 vn 0.792718 0.073977 -0.605029 vn 0.571062 0.820429 0.027528 vn 0.420911 0.904935 -0.062044 vn 0.571520 0.491104 -0.657369 vn 0.698630 0.240150 -0.673940 vn 0.608539 0.791375 0.057955 vn 0.738426 0.655690 0.157323 vn 0.833461 0.070376 -0.548021 vn 0.911954 0.110050 0.395184 vn 0.194922 0.444014 0.874538 vn -0.333079 -0.039399 0.942045 vn -0.435652 -0.778710 0.451369 vn -0.542436 -0.839991 -0.011689 vn -0.133122 -0.967101 0.216712 vn -0.508103 -0.834925 0.211310 vn -0.475204 -0.755760 0.450514 vn 0.079562 -0.195471 0.977447 vn -0.276681 -0.797967 0.535386 vn -0.561113 -0.551042 0.617603 vn -0.710166 -0.464400 0.529099 vn -0.585589 -0.809503 -0.041688 vn -0.381146 -0.715476 0.585467 vn -0.422193 -0.904386 0.061800 vn -0.060121 -0.856807 -0.512070 vn 0.006897 -0.957976 -0.286660 vn -0.333506 -0.935942 0.112827 vn 0.134861 -0.987091 -0.086215 vn -0.161718 -0.965972 0.201727 vn 0.163915 -0.925077 0.342540 vn -0.022950 -0.609455 0.792474 vn -0.164373 -0.796808 0.581408 vn 0.510941 -0.105838 0.853053 vn -0.166723 -0.531785 0.830287 vn 0.407636 0.183325 0.894528 vn 0.808222 0.545213 0.222449 vn 0.421613 -0.886990 -0.188208 vn 0.368419 -0.860317 -0.352214 vn -0.218329 -0.918302 -0.330180 vn -0.204352 -0.767449 -0.607654 vn 0.710654 -0.574541 -0.406018 vn 0.932401 -0.356883 -0.056581 vn 0.949248 -0.129887 -0.286325 vn 0.426008 -0.492752 -0.758721 vn -0.155156 -0.950896 -0.267678 vn 0.032929 -0.988891 -0.144841 vn -0.134434 -0.965148 -0.224372 vn 0.067202 -0.615162 -0.785485 vn -0.362774 -0.924589 -0.116123 vn 0.727409 -0.592883 0.345470 vn 0.638050 -0.514847 0.572527 vn 0.902799 -0.078829 0.422712 vn 0.856624 -0.203497 0.474044 vn 0.113834 -0.199683 0.973205 vn -0.680105 -0.033937 0.732292 vn -0.791284 -0.557054 -0.252022 vn -0.628101 -0.327586 0.705771 vn -0.106143 0.776452 0.621143 vn -0.255074 0.772515 0.581469 vn -0.030824 0.967650 -0.250374 vn 0.394971 -0.830409 0.392895 vn 0.376598 0.457411 -0.805567 vn 0.505814 0.469253 -0.723808 vn 0.079470 -0.405499 -0.910611 vn -0.039796 -0.690420 -0.722282 vn 0.920957 -0.222755 -0.319620 vn 0.866939 0.379498 0.323038 vn 0.302591 0.055757 0.951476 vn -0.684011 -0.343699 0.643391 vn -0.671804 -0.739860 -0.035524 vn -0.592273 -0.784539 -0.183447 vn 0.763390 -0.520157 -0.382916 vn 0.877010 -0.179052 -0.445784 vn -0.802210 0.041108 0.595599 vn -0.772912 -0.209693 0.598804 vn -0.699057 -0.707327 -0.104678 vn -0.168218 -0.353801 -0.920042 vn -0.254280 -0.009278 -0.967071 vn 0.263833 0.457747 -0.848994 vn 0.041078 -0.736015 -0.675680 vn 0.953795 -0.281167 -0.105808 vn 0.873775 0.448347 0.188330 vn -0.320078 0.865963 -0.384167 vn -0.221351 -0.951109 0.215339 vn 0.140141 -0.369427 0.918607 vn 0.387524 0.139622 0.911191 vn -0.522355 0.368542 0.768944 vn -0.660451 0.012513 0.750755 vn -0.491470 -0.326426 0.807367 vn -0.151097 0.764122 0.627064 vn 0.563097 0.005921 0.826350 vn -0.515763 -0.486587 0.705100 vn -0.497909 -0.864345 0.070589 vn -0.288888 -0.836360 -0.465835 vn -0.526200 -0.846095 0.084719 vn -0.239051 -0.943449 0.229621 vn 0.045808 -0.659413 -0.750359 vn -0.639424 -0.712516 -0.288858 vn 0.317942 -0.842860 -0.434126 vn -0.525864 0.337260 -0.780816 vn 0.251473 0.293924 -0.922117 vn 0.210120 -0.754173 -0.622120 vn 0.325144 0.335215 -0.884243 vn 0.140172 0.942717 -0.302622 vn -0.008698 0.940153 -0.340556 vn -0.936521 0.154790 -0.314524 vn 0.377514 -0.837703 0.394574 vn 0.073977 -0.082675 0.993805 vn -0.345622 -0.210761 0.914365 vn 0.170141 -0.160405 0.972259 vn -0.283090 0.834162 0.473251 vn -0.116489 0.814753 0.567949 vn -0.108463 -0.282632 0.953063 vn 0.318918 -0.839320 0.440230 vn 0.182897 -0.939817 0.288522 vn 0.047121 -0.936033 0.348643 vn 0.279885 -0.645070 0.710990 vn 0.583178 -0.704031 0.405194 vn 0.205847 -0.810602 0.548173 vn -0.009247 0.155187 0.987823 vn 0.245643 -0.647267 0.721549 vn -0.040864 0.836573 0.546281 vn 0.580584 0.802026 -0.140080 vn 0.661000 0.340190 -0.668813 vn 0.856044 0.353862 -0.376751 vn 0.418500 0.868984 -0.263924 vn 0.695059 0.484115 0.531480 vn 0.358074 0.756096 0.547746 vn 0.458022 0.246406 0.854091 vn 0.441359 -0.545030 0.712821 vn 0.448592 -0.197943 0.871517 vn 0.085940 -0.496902 0.863521 vn -0.124485 -0.541765 0.831233 vn 0.060183 -0.934080 0.351909 vn 0.281564 -0.877255 0.388714 vn 0.335490 -0.530076 0.778710 vn 0.386486 -0.830927 0.400159 vn 0.560015 -0.825617 -0.068422 vn 0.375774 -0.888424 -0.263588 vn 0.161321 -0.937895 -0.307077 vn 0.459120 -0.888211 0.015564 vn 0.293069 -0.934446 0.202185 vn 0.436720 -0.899503 -0.010498 vn 0.810022 -0.214057 -0.545885 vn 0.752922 -0.588031 -0.295450 vn 0.442061 -0.440138 -0.781549 vn 0.625507 -0.779656 0.029054 vn -0.162572 -0.599414 -0.783715 vn -0.358043 -0.932951 0.037446 vn 0.444258 -0.681356 -0.581683 vn -0.369243 -0.593799 -0.714835 vn 0.460646 -0.805200 0.373333 vn -0.890011 0.069979 0.450484 vn -0.763207 -0.205237 0.612659 vn -0.230384 -0.393139 0.890133 vn -0.658834 0.669912 0.342174 vn -0.824824 0.362011 -0.434217 vn -0.339824 0.517869 -0.785028 vn 0.266060 -0.746178 -0.610218 vn 0.361644 0.428846 -0.827815 vn 0.010956 0.986877 -0.161046 vn -0.296579 0.705954 0.643117 vn -0.318064 -0.415571 0.852107 vn 0.066775 -0.944365 0.322001 vn 0.108371 -0.985778 0.128269 vn 0.044923 -0.976074 0.212683 vn 0.151128 -0.748894 0.645192 vn 0.516434 -0.766015 0.382733 vn 0.457961 -0.886593 -0.064394 vn 0.261208 -0.961486 0.085330 vn 0.438551 -0.893918 -0.092563 vn 0.794610 -0.546312 -0.264748 vn 0.415723 -0.839808 -0.349071 vn 0.341990 -0.928281 -0.145909 vn 0.568072 -0.815760 -0.108585 vn 0.870693 -0.480911 -0.102756 vn 0.954253 0.259804 -0.147801 vn 0.659169 0.737266 0.147893 vn 0.337321 0.940672 -0.036439 vn 0.801904 0.426374 -0.418439 vn 0.534135 0.447462 -0.717246 vn 0.565905 -0.318461 -0.760460 vn 0.890988 -0.134465 -0.433607 vn 0.615772 -0.787896 0.000183 vn 0.302683 -0.636189 -0.709647 vn 0.165899 0.978912 -0.118931 vn -0.066713 0.707266 0.703757 vn -0.176336 -0.006714 0.984283 vn 0.118931 -0.753624 0.646413 vn 0.109684 -0.891110 0.440321 vn -0.067751 -0.624287 0.778222 vn -0.279183 -0.658650 0.698691 vn -0.002350 -0.981262 0.192572 vn 0.291726 0.111942 0.949889 vn 0.310007 -0.657125 0.687063 vn 0.323496 0.624775 0.710593 vn 0.589923 0.409619 0.695791 vn 0.283578 -0.331400 0.899838 vn 0.200232 -0.651357 0.731834 vn 0.217994 -0.934385 0.281716 vn 0.324534 -0.889615 0.321268 vn 0.736137 -0.521378 0.431532 vn 0.708426 -0.702078 0.071902 vn 0.454543 -0.305246 0.836756 vn 0.204474 -0.873379 -0.442000 vn 0.775414 -0.622150 -0.107730 vn -0.278481 -0.761895 0.584765 vn -0.844569 -0.530168 -0.074587 vn -0.944365 0.053529 0.324503 vn -0.896390 0.216254 0.386853 vn -0.558702 0.204230 0.803797 vn -0.572863 -0.071780 0.816492 vn 0.323862 -0.028230 0.945647 vn 0.005097 0.200842 0.979583 vn -0.086245 0.246010 0.965392 vn -0.552202 0.281899 0.784570 vn -0.617756 0.275521 0.736473 vn 0.450453 0.005219 0.892758 vn -0.690146 0.117344 0.714072 vn -0.955657 0.104770 0.275124 vn -0.926908 -0.083834 -0.365764 vn -0.905576 -0.284616 -0.314463 vn 0.061495 -0.295236 -0.953429 vn 0.891507 0.114017 -0.438337 vn 0.927091 0.075137 0.367199 vn 0.166723 0.027070 0.985626 vn -0.628956 0.048952 0.775872 vn -0.765435 -0.193365 0.613758 vn -0.897183 -0.383282 -0.219337 vn -0.285134 -0.477432 -0.831080 vn -0.876675 -0.319437 -0.359630 vn -0.384686 -0.290902 -0.875973 vn 0.791101 -0.126011 -0.598529 vn 0.814631 0.129246 -0.565355 vn 0.922849 0.174474 0.343303 vn 0.812952 0.538347 0.221961 vn 0.371624 0.370800 0.851100 vn 0.235969 0.414045 0.879116 vn 0.156743 0.184149 0.970306 vn -0.938780 -0.086398 0.333445 vn -0.825556 -0.511765 -0.237709 vn 0.085177 -0.365093 -0.927061 vn 0.796136 0.278268 -0.537309 vn 0.897122 0.319010 0.305551 vn 0.251289 0.541642 0.802149 vn -0.608631 -0.029878 0.792871 vn -0.663411 -0.306711 0.682455 vn 0.168859 0.455672 0.873959 vn 0.683981 0.715842 0.140294 vn 0.774682 0.172948 -0.608203 vn -0.147954 -0.613910 -0.775353 vn 0.827174 0.024903 -0.561357 vn 0.881436 0.360790 0.304697 vn 0.207068 0.303018 0.930204 vn -0.783105 -0.133030 0.607471 vn -0.775506 -0.624592 -0.091647 vn -0.791223 -0.527940 -0.308481 vn -0.107822 -0.367809 -0.923612 vn -0.839595 -0.485427 -0.243690 vn -0.493698 -0.722678 -0.483718 vn 0.267159 -0.432905 -0.860897 vn 0.855068 -0.165502 -0.491348 vn 0.912992 0.199011 0.356120 vn 0.242744 0.112644 0.963500 vn -0.442427 -0.093936 0.891842 vn -0.777917 -0.586718 0.224891 vn -0.542619 -0.838527 -0.049196 vn -0.835597 -0.548997 -0.018525 vn -0.801843 -0.554735 0.221900 vn -0.125919 -0.443617 0.887295 vn -0.647633 -0.703238 0.293191 vn -0.865017 -0.427015 -0.263375 vn -0.821314 -0.369793 0.434339 vn -0.910123 -0.195410 0.365337 vn -0.769066 -0.612384 -0.182958 vn -0.357830 -0.593982 -0.720481 vn -0.361431 -0.772179 -0.522538 vn -0.706839 -0.693625 -0.138737 vn 0.814295 -0.380596 0.438215 vn 0.926298 0.061739 0.371654 vn 0.689383 -0.714652 -0.118137 vn 0.308542 -0.522629 0.794733 vn 0.334758 -0.215583 0.917295 vn 0.844020 -0.457228 -0.280221 vn 0.448134 -0.726951 -0.520249 vn -0.502457 -0.695059 -0.514176 vn -0.363506 -0.839442 -0.403912 vn 0.012177 -0.835078 -0.549974 vn 0.035707 -0.917997 -0.394940 vn -0.693350 -0.615802 -0.374157 vn -0.441054 -0.415693 -0.795373 vn -0.472304 -0.597949 0.647572 vn -0.368084 -0.708304 0.602313 vn -0.711722 -0.596942 0.370220 vn 0.267983 -0.870907 -0.411878 vn 0.431898 -0.650166 -0.625080 vn -0.813715 0.170751 -0.555559 vn -0.788903 0.128849 -0.600848 vn -0.844997 0.333048 -0.418378 vn -0.857082 0.458327 -0.235206 vn -0.775658 -0.420667 0.470443 vn -0.071078 -0.995361 0.064455 vn 0.575091 -0.804132 -0.150334 vn -0.052797 -0.777642 -0.626453 vn -0.534898 -0.047548 0.843562 vn -0.555010 -0.712516 0.429243 vn 0.765435 -0.427198 0.481216 vn 0.728629 0.254524 0.635823 vn 0.993896 0.091586 0.061068 vn 0.139714 -0.674886 0.724540 vn 0.595019 -0.183630 0.782403 vn 0.556749 -0.725028 0.405316 vn 0.550340 -0.469466 0.690420 vn 0.803430 -0.463179 0.374035 vn 0.856777 0.506943 0.094333 vn 0.563646 0.801508 0.199530 vn 0.915830 0.156896 -0.369610 vn 0.846614 -0.503403 -0.172552 vn 0.722068 -0.689810 0.052248 vn 0.335765 -0.941191 -0.037202 vn 0.753197 0.641713 -0.144353 vn 0.010804 -0.779443 0.626362 vn 0.485092 -0.790857 0.373058 vn 0.904355 0.234809 0.356334 vn 0.509507 0.748100 0.425092 vn 0.434462 -0.581439 0.687826 vn -0.860347 -0.468368 0.200934 vn -0.571368 -0.819178 -0.049684 vn -0.277078 -0.901273 -0.332957 vn -0.274911 -0.955718 0.104801 vn 0.455367 -0.807550 0.374737 vn 0.918210 -0.381359 0.106967 vn -0.545824 -0.614887 -0.569140 vn -0.544877 -0.756737 0.361126 vn 0.677511 -0.251686 0.691061 g mesh4.002_mesh4-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1985/2769/1997 1986/2770/1998 1987/2771/1999 f 1985/2769/1997 1988/2772/2000 1986/2770/1998 f 1988/2772/2000 1985/2769/1997 1989/2773/2001 f 1989/2773/2001 1991/2774/2002 1990/2775/2003 f 1992/2776/2004 1993/2777/2005 1991/2774/2002 f 1996/2778/2006 1993/2777/2005 1995/2779/2007 f 1986/2770/1998 1995/2779/2007 1997/2780/2008 f 1997/2780/2008 1995/2779/2007 1998/2781/2009 f 2002/2782/2010 2004/2783/2011 2003/2784/2012 f 2002/2782/2010 1992/2776/2004 2004/2783/2011 f 2004/2783/2011 1992/2776/2004 1989/2773/2001 f 2004/2783/2011 1989/2773/2001 2005/2785/2013 f 1989/2773/2001 1985/2769/1997 2005/2785/2013 f 2005/2785/2013 1985/2769/1997 2006/2786/2014 f 2006/2786/2014 1985/2769/1997 1987/2771/1999 f 2006/2786/2014 1987/2771/1999 2007/2787/2015 f 1987/2771/1999 1997/2780/2008 2008/2788/2016 f 2011/2789/2017 2009/2790/2018 2010/2791/2019 f 2016/2792/2020 2005/2785/2013 2015/2793/2021 f 2016/2792/2020 2004/2783/2011 2005/2785/2013 f 2019/2794/2022 2018/2795/2023 2014/2796/2024 f 2020/2797/2025 2018/2795/2023 2019/2794/2022 f 2020/2797/2025 2003/2784/2012 2018/2795/2023 f 2021/2798/2026 2003/2784/2012 2020/2797/2025 f 2021/2798/2026 2022/2799/2027 2003/2784/2012 f 2023/2800/2028 2022/2801/2027 2021/2802/2026 f 2023/2800/2028 2024/2803/2029 2022/2801/2027 f 2025/2804/2030 2024/2803/2029 2023/2800/2028 f 2026/2805/2031 2024/2803/2029 2025/2804/2030 f 2027/2806/2032 2024/2803/2029 2026/2805/2031 f 2027/2806/2032 2028/2807/2033 2024/2803/2029 f 2027/2806/2032 2029/2808/2034 2028/2807/2033 f 2027/2806/2032 2030/2809/2035 2029/2808/2034 f 2027/2806/2032 2031/2810/2036 2030/2809/2035 f 2031/2810/2036 2027/2806/2032 2026/2805/2031 f 2031/2810/2036 2026/2805/2031 2032/2811/2037 f 2032/2811/2037 2026/2805/2031 2025/2804/2030 f 2033/2812/2038 2032/2811/2037 2025/2804/2030 f 2034/2813/2039 2032/2811/2037 2033/2812/2038 f 2034/2813/2039 2035/2814/2040 2032/2811/2037 f 2036/2815/2041 2035/2814/2040 2034/2813/2039 f 2036/2815/2041 2037/2816/2042 2035/2814/2040 f 2036/2815/2041 2038/2817/2043 2037/2816/2042 f 2039/2818/2044 2038/2817/2043 2036/2815/2041 f 2040/2819/2045 2038/2817/2043 2039/2818/2044 f 2040/2819/2045 2041/2820/2046 2038/2817/2043 f 2042/2821/2047 2041/2820/2046 2040/2819/2045 f 2043/2822/2048 2041/2820/2046 2042/2821/2047 f 2043/2822/2048 2044/2823/2049 2041/2820/2046 f 2043/2822/2048 2045/2824/2050 2044/2823/2049 f 2046/2825/2051 2045/2824/2050 2043/2822/2048 f 2046/2825/2051 2047/2826/2052 2045/2824/2050 f 2048/2827/2053 2047/2826/2052 2046/2825/2051 f 2048/2827/2053 2049/2828/2054 2047/2826/2052 f 2050/2829/2055 2049/2828/2054 2048/2827/2053 f 2050/2829/2055 2051/2830/2056 2049/2828/2054 f 2052/2831/2057 2051/2830/2056 2050/2829/2055 f 2052/2831/2057 2053/2832/2058 2051/2830/2056 f 2054/2833/2059 2053/2832/2058 2052/2831/2057 f 2054/2833/2059 2055/2834/2060 2053/2832/2058 f 2056/2835/2061 2055/2834/2060 2054/2833/2059 f 2056/2835/2061 2057/2836/2062 2055/2834/2060 f 2058/2837/2063 2057/2836/2062 2056/2835/2061 f 2058/2837/2063 2059/2838/2064 2057/2836/2062 f 2060/2839/2065 2059/2838/2064 2058/2837/2063 f 2060/2839/2065 2061/2840/2066 2059/2838/2064 f 2062/2841/2067 2061/2842/2066 2060/2843/2065 f 2062/2841/2067 2063/2844/2068 2061/2842/2066 f 2062/2841/2067 2064/2845/2069 2063/2844/2068 f 2065/2846/2070 2064/2845/2069 2062/2841/2067 f 2065/2846/2070 2066/2847/2071 2064/2845/2069 f 2065/2846/2070 2067/2848/2072 2066/2847/2071 f 2067/2848/2072 2065/2846/2070 2068/2849/2073 f 2068/2849/2073 2065/2846/2070 2069/2850/2074 f 2065/2851/2070 2070/2852/2075 2069/2853/2074 f 2071/2854/2076 2070/2852/2075 2065/2851/2070 f 2072/2855/2077 2070/2852/2075 2071/2854/2076 f 2072/2855/2077 2073/2856/2078 2070/2852/2075 f 2072/2855/2077 2074/2857/2079 2073/2856/2078 f 2072/2855/2077 2075/2858/2080 2074/2857/2079 f 2072/2855/2077 2076/2859/2081 2075/2858/2080 f 2077/2860/2082 2076/2859/2081 2072/2855/2077 f 2077/2860/2082 2078/2861/2083 2076/2859/2081 f 2079/2862/2084 2078/2861/2083 2077/2860/2082 f 2080/2863/2085 2078/2861/2083 2079/2862/2084 f 2080/2863/2085 2081/2864/2086 2078/2861/2083 f 2082/2865/2087 2081/2864/2086 2080/2863/2085 f 2082/2865/2087 2083/2866/2088 2081/2864/2086 f 2082/2865/2087 2084/2867/2089 2083/2866/2088 f 2082/2868/2087 2085/2869/2090 2084/2870/2089 f 2086/2871/2091 2085/2869/2090 2082/2868/2087 f 2086/2871/2091 2087/2872/2092 2085/2869/2090 f 2086/2871/2091 2088/2873/2093 2087/2872/2092 f 2089/2874/2094 2088/2873/2093 2086/2871/2091 f 2089/2874/2094 2090/2875/2095 2088/2873/2093 f 2091/2876/2096 2090/2875/2095 2089/2874/2094 f 2091/2876/2096 2092/2877/2097 2090/2875/2095 f 2091/2876/2096 2093/2878/2098 2092/2877/2097 f 2091/2876/2096 2094/2879/2099 2093/2878/2098 f 2095/2880/2100 2094/2879/2099 2091/2876/2096 f 2096/2881/2101 2094/2879/2099 2095/2880/2100 f 2096/2881/2101 2097/2882/2102 2094/2879/2099 f 2098/2883/2103 2097/2882/2102 2096/2881/2101 f 2098/2883/2103 2099/2884/2104 2097/2882/2102 f 2100/2885/2105 2099/2884/2104 2098/2883/2103 f 2100/2885/2105 2101/2886/2106 2099/2884/2104 f 2102/2887/2107 2101/2888/2106 2100/2889/2105 f 2102/2887/2107 2103/2890/2108 2101/2888/2106 f 2102/2887/2107 2104/2891/2109 2103/2890/2108 f 2105/2892/2110 2104/2891/2109 2102/2887/2107 f 2106/2893/2111 2104/2891/2109 2105/2892/2110 f 2106/2893/2111 2107/2894/2112 2104/2891/2109 f 2108/2895/2113 2107/2894/2112 2106/2893/2111 f 2108/2895/2113 2109/2896/2114 2107/2894/2112 f 2110/2897/2115 2109/2896/2114 2108/2895/2113 f 2110/2897/2115 2111/2898/2116 2109/2896/2114 f 2112/2899/2117 2111/2898/2116 2110/2897/2115 f 2112/2899/2117 2113/2900/2118 2111/2898/2116 f 2112/2899/2117 2114/2901/2119 2113/2900/2118 f 2115/2902/2120 2114/2901/2119 2112/2899/2117 f 2115/2902/2120 2116/2903/2121 2114/2901/2119 f 2117/2904/2122 2116/2903/2121 2115/2902/2120 f 2117/2904/2122 2118/2905/2123 2116/2903/2121 f 2119/2906/2124 2118/2905/2123 2117/2904/2122 f 2119/2906/2124 2120/2907/2125 2118/2905/2123 f 2119/2906/2124 2121/2908/2126 2120/2907/2125 f 2122/2909/2127 2121/2908/2126 2119/2906/2124 f 2123/2910/2128 2121/2908/2126 2122/2909/2127 f 2123/2910/2128 2124/2911/2129 2121/2908/2126 f 2123/2910/2128 2125/2912/2130 2124/2911/2129 f 2125/2912/2130 2123/2910/2128 2126/2913/2131 f 2126/2913/2131 2123/2910/2128 2122/2909/2127 f 2126/2913/2131 2122/2909/2127 2127/2914/2132 f 2127/2914/2132 2122/2909/2127 2128/2915/2133 f 2122/2909/2127 2129/2916/2134 2128/2915/2133 f 2122/2909/2127 2119/2906/2124 2129/2916/2134 f 2129/2916/2134 2119/2906/2124 2130/2917/2135 f 2119/2906/2124 2131/2918/2136 2130/2917/2135 f 2131/2918/2136 2119/2906/2124 2117/2904/2122 f 2131/2918/2136 2117/2904/2122 2115/2902/2120 f 2131/2918/2136 2115/2902/2120 2132/2919/2137 f 2132/2919/2137 2115/2902/2120 2112/2899/2117 f 2132/2919/2137 2112/2899/2117 2133/2920/2138 f 2133/2920/2138 2112/2899/2117 2134/2921/2139 f 2134/2921/2139 2112/2899/2117 2110/2897/2115 f 2134/2921/2139 2110/2897/2115 2135/2922/2140 f 2110/2897/2115 2108/2895/2113 2135/2922/2140 f 2135/2922/2140 2108/2895/2113 2106/2893/2111 f 2135/2922/2140 2106/2893/2111 2136/2923/2141 f 2136/2923/2141 2106/2893/2111 2105/2892/2110 f 2136/2923/2141 2105/2892/2110 2137/2924/2142 f 2137/2924/2142 2105/2892/2110 2138/2925/2143 f 2105/2892/2110 2102/2887/2107 2138/2925/2143 f 2138/2925/2143 2102/2887/2107 2100/2889/2105 f 2138/2925/2143 2100/2889/2105 2139/2926/2144 f 2139/2927/2144 2100/2928/2105 2098/2929/2103 f 2139/2927/2144 2098/2929/2103 2140/2930/2145 f 2140/2930/2145 2098/2929/2103 2096/2931/2101 f 2140/2930/2145 2096/2931/2101 2141/2932/2146 f 2141/2932/2146 2096/2931/2101 2095/2933/2100 f 2141/2932/2146 2095/2933/2100 2142/2934/2147 f 2142/2934/2147 2095/2933/2100 2143/2935/2148 f 2095/2933/2100 2144/2936/2149 2143/2935/2148 f 2095/2880/2100 2091/2876/2096 2144/2937/2149 f 2144/2937/2149 2091/2876/2096 2145/2938/2150 f 2091/2876/2096 2089/2874/2094 2145/2938/2150 f 2089/2874/2094 2086/2871/2091 2145/2938/2150 f 2145/2938/2150 2086/2871/2091 2082/2868/2087 f 2145/2939/2150 2082/2865/2087 2080/2863/2085 f 2146/2940/2151 2145/2939/2150 2080/2863/2085 f 2144/2936/2149 2145/2939/2150 2146/2940/2151 f 2143/2935/2148 2144/2936/2149 2146/2940/2151 f 2146/2940/2151 2079/2862/2084 2143/2935/2148 f 2146/2940/2151 2080/2863/2085 2079/2862/2084 f 2143/2935/2148 2079/2862/2084 2142/2934/2147 f 2142/2934/2147 2079/2862/2084 2147/2941/2152 f 2147/2941/2152 2079/2862/2084 2148/2942/2153 f 2148/2942/2153 2079/2862/2084 2149/2943/2154 f 2079/2862/2084 2077/2860/2082 2149/2943/2154 f 2149/2943/2154 2077/2860/2082 2071/2854/2076 f 2077/2860/2082 2072/2855/2077 2071/2854/2076 f 2149/2943/2154 2071/2854/2076 2150/2944/2155 f 2150/2944/2155 2071/2854/2076 2151/2945/2156 f 2151/2945/2156 2071/2854/2076 2058/2837/2063 f 2058/2837/2063 2071/2854/2076 2060/2839/2065 f 2071/2946/2076 2062/2841/2067 2060/2843/2065 f 2071/2946/2076 2065/2846/2070 2062/2841/2067 f 2151/2945/2156 2058/2837/2063 2056/2835/2061 f 2151/2945/2156 2056/2835/2061 2152/2947/2157 f 2153/2948/2158 2152/2947/2157 2056/2835/2061 f 2150/2944/2155 2152/2947/2157 2153/2948/2158 f 2152/2947/2157 2150/2944/2155 2151/2945/2156 f 2148/2942/2153 2150/2944/2155 2153/2948/2158 f 2149/2943/2154 2150/2944/2155 2148/2942/2153 f 2148/2942/2153 2153/2948/2158 2147/2941/2152 f 2147/2941/2152 2153/2948/2158 2154/2949/2159 f 2154/2949/2159 2153/2948/2158 2155/2950/2160 f 2153/2948/2158 2156/2951/2161 2155/2950/2160 f 2153/2948/2158 2056/2835/2061 2156/2951/2161 f 2056/2835/2061 2054/2833/2059 2156/2951/2161 f 2156/2951/2161 2054/2833/2059 2052/2831/2057 f 2155/2950/2160 2156/2951/2161 2052/2831/2057 f 2155/2950/2160 2052/2831/2057 2157/2952/2162 f 2157/2952/2162 2052/2831/2057 2050/2829/2055 f 2157/2952/2162 2050/2829/2055 2048/2827/2053 f 2157/2952/2162 2048/2827/2053 2158/2953/2163 f 2158/2953/2163 2048/2827/2053 2046/2825/2051 f 2159/2954/2164 2158/2953/2163 2046/2825/2051 f 2160/2955/2165 2158/2953/2163 2159/2954/2164 f 2161/2956/2166 2158/2953/2163 2160/2955/2165 f 2161/2956/2166 2162/2957/2167 2158/2953/2163 f 2163/2958/2168 2162/2959/2167 2161/2960/2166 f 2164/2961/2169 2162/2959/2167 2163/2958/2168 f 2164/2961/2169 2165/2962/2170 2162/2959/2167 f 2166/2963/2171 2165/2962/2170 2164/2961/2169 f 2166/2963/2171 2139/2926/2144 2165/2962/2170 f 2166/2963/2171 2138/2925/2143 2139/2926/2144 f 2137/2924/2142 2138/2925/2143 2166/2963/2171 f 2167/2964/2172 2137/2924/2142 2166/2963/2171 f 2168/2965/2173 2137/2924/2142 2167/2964/2172 f 2168/2965/2173 2136/2923/2141 2137/2924/2142 f 2135/2922/2140 2136/2923/2141 2168/2965/2173 f 2169/2966/2174 2135/2922/2140 2168/2965/2173 f 2170/2967/2175 2135/2922/2140 2169/2966/2174 f 2170/2967/2175 2134/2921/2139 2135/2922/2140 f 2171/2968/2176 2134/2921/2139 2170/2967/2175 f 2171/2968/2176 2133/2920/2138 2134/2921/2139 f 2132/2919/2137 2133/2920/2138 2171/2968/2176 f 2172/2969/2177 2132/2919/2137 2171/2968/2176 f 2130/2917/2135 2132/2919/2137 2172/2969/2177 f 2130/2917/2135 2131/2918/2136 2132/2919/2137 f 2130/2917/2135 2172/2969/2177 2173/2970/2178 f 2173/2970/2178 2172/2969/2177 2171/2968/2176 f 2173/2970/2178 2171/2968/2176 2174/2971/2179 f 2174/2971/2179 2171/2968/2176 2175/2972/2180 f 2171/2968/2176 2170/2967/2175 2175/2972/2180 f 2175/2972/2180 2170/2967/2175 2176/2973/2181 f 2170/2967/2175 2169/2966/2174 2176/2973/2181 f 2169/2966/2174 2168/2965/2173 2176/2973/2181 f 2176/2973/2181 2168/2965/2173 2177/2974/2182 f 2168/2965/2173 2167/2964/2172 2177/2974/2182 f 2167/2964/2172 2178/2975/2183 2177/2974/2182 f 2167/2964/2172 2164/2961/2169 2178/2975/2183 f 2167/2964/2172 2166/2963/2171 2164/2961/2169 f 2178/2975/2183 2164/2961/2169 2163/2958/2168 f 2178/2975/2183 2163/2958/2168 2179/2976/2184 f 2179/2976/2184 2163/2958/2168 2180/2977/2185 f 2163/2958/2168 2161/2960/2166 2180/2977/2185 f 2180/2977/2185 2161/2960/2166 2181/2978/2186 f 2161/2956/2166 2160/2955/2165 2181/2979/2186 f 2181/2979/2186 2160/2955/2165 2182/2980/2187 f 2160/2955/2165 2183/2981/2188 2182/2980/2187 f 2160/2955/2165 2159/2954/2164 2183/2981/2188 f 2159/2954/2164 2042/2821/2047 2183/2981/2188 f 2159/2954/2164 2043/2822/2048 2042/2821/2047 f 2159/2954/2164 2046/2825/2051 2043/2822/2048 f 2184/2982/2189 2183/2981/2188 2042/2821/2047 f 2185/2983/2190 2183/2981/2188 2184/2982/2189 f 2185/2983/2190 2182/2980/2187 2183/2981/2188 f 2185/2983/2190 2181/2979/2186 2182/2980/2187 f 2186/2984/2191 2181/2979/2186 2185/2983/2190 f 2186/2985/2191 2187/2986/2192 2181/2978/2186 f 2188/2987/2193 2187/2986/2192 2186/2985/2191 f 2188/2987/2193 2189/2988/2194 2187/2986/2192 f 2190/2989/2195 2189/2988/2194 2188/2987/2193 f 2191/2990/2196 2189/2988/2194 2190/2989/2195 f 2191/2990/2196 2192/2991/2197 2189/2988/2194 f 2193/2992/2198 2192/2991/2197 2191/2990/2196 f 2194/2993/2199 2192/2991/2197 2193/2992/2198 f 2195/2994/2200 2192/2991/2197 2194/2993/2199 f 2195/2994/2200 2196/2995/2201 2192/2991/2197 f 2195/2994/2200 2197/2996/2202 2196/2995/2201 f 2198/2997/2203 2197/2996/2202 2195/2994/2200 f 2176/2973/2181 2197/2996/2202 2198/2997/2203 f 2176/2973/2181 2177/2974/2182 2197/2996/2202 f 2177/2974/2182 2178/2975/2183 2197/2996/2202 f 2178/2975/2183 2179/2976/2184 2197/2996/2202 f 2197/2996/2202 2179/2976/2184 2196/2995/2201 f 2196/2995/2201 2179/2976/2184 2199/2998/2204 f 2179/2976/2184 2180/2977/2185 2199/2998/2204 f 2199/2998/2204 2180/2977/2185 2187/2986/2192 f 2180/2977/2185 2181/2978/2186 2187/2986/2192 f 2199/2998/2204 2187/2986/2192 2189/2988/2194 f 2192/2991/2197 2199/2998/2204 2189/2988/2194 f 2196/2995/2201 2199/2998/2204 2192/2991/2197 f 2176/2973/2181 2198/2997/2203 2200/2999/2205 f 2200/2999/2205 2198/2997/2203 2195/2994/2200 f 2200/2999/2205 2195/2994/2200 2201/3000/2206 f 2201/3000/2206 2195/2994/2200 2202/3001/2207 f 2202/3001/2207 2195/2994/2200 2194/2993/2199 f 2202/3001/2207 2194/2993/2199 2193/2992/2198 f 2202/3001/2207 2193/2992/2198 2203/3002/2208 f 2111/3003/2116 2203/3002/2208 2193/2992/2198 f 2113/3004/2118 2203/3002/2208 2111/3003/2116 f 2113/3004/2118 2204/3005/2209 2203/3002/2208 f 2113/3004/2118 2205/3006/2210 2204/3005/2209 f 2114/3007/2119 2205/3006/2210 2113/3004/2118 f 2116/3008/2121 2205/3006/2210 2114/3007/2119 f 2116/3008/2121 2206/3009/2211 2205/3006/2210 f 2116/3008/2121 2207/3010/2212 2206/3009/2211 f 2118/2905/2123 2207/3011/2212 2116/2903/2121 f 2118/2905/2123 2120/2907/2125 2207/3011/2212 f 2120/2907/2125 2208/3012/2213 2207/3011/2212 f 2120/2907/2125 2209/3013/2214 2208/3012/2213 f 2121/2908/2126 2209/3013/2214 2120/2907/2125 f 2121/2908/2126 2124/2911/2129 2209/3013/2214 f 2124/2911/2129 2210/3014/2215 2209/3013/2214 f 2125/2912/2130 2210/3014/2215 2124/2911/2129 f 2210/3014/2215 2211/3015/2216 2209/3013/2214 f 2209/3013/2214 2211/3015/2216 2212/3016/2217 f 2209/3013/2214 2212/3016/2217 2213/3017/2218 f 2212/3018/2217 2214/3019/2219 2213/3020/2218 f 2215/3021/2220 2214/3019/2219 2212/3018/2217 f 2216/3022/2221 2214/3019/2219 2215/3021/2220 f 2216/3022/2221 2217/3023/2222 2214/3019/2219 f 2218/3024/2223 2217/3023/2222 2216/3022/2221 f 2219/3025/2224 2217/3023/2222 2218/3024/2223 f 2219/3025/2224 2220/3026/2225 2217/3023/2222 f 2221/3027/2226 2220/3026/2225 2219/3025/2224 f 2222/3028/2227 2220/3026/2225 2221/3027/2226 f 2222/3028/2227 2223/3029/2228 2220/3026/2225 f 2222/3028/2227 2224/3030/2229 2223/3029/2228 f 2222/3028/2227 2225/3031/2230 2224/3030/2229 f 2226/3032/2231 2225/3031/2230 2222/3028/2227 f 2226/3032/2231 2227/3033/2232 2225/3031/2230 f 2226/3032/2231 2228/3034/2233 2227/3033/2232 f 2173/2970/2178 2228/3034/2233 2226/3032/2231 f 2173/2970/2178 2229/3035/2234 2228/3034/2233 f 2173/2970/2178 2174/2971/2179 2229/3035/2234 f 2174/2971/2179 2175/2972/2180 2229/3035/2234 f 2175/2972/2180 2200/2999/2205 2229/3035/2234 f 2175/2972/2180 2176/2973/2181 2200/2999/2205 f 2229/3035/2234 2200/2999/2205 2201/3000/2206 f 2229/3035/2234 2201/3000/2206 2230/3036/2235 f 2230/3036/2235 2201/3000/2206 2231/3037/2236 f 2231/3037/2236 2201/3000/2206 2202/3001/2207 f 2231/3037/2236 2202/3001/2207 2203/3002/2208 f 2231/3037/2236 2203/3002/2208 2204/3005/2209 f 2205/3006/2210 2231/3037/2236 2204/3005/2209 f 2232/3038/2237 2231/3037/2236 2205/3006/2210 f 2227/3033/2232 2231/3037/2236 2232/3038/2237 f 2227/3033/2232 2230/3036/2235 2231/3037/2236 f 2229/3035/2234 2230/3036/2235 2227/3033/2232 f 2228/3034/2233 2229/3035/2234 2227/3033/2232 f 2224/3030/2229 2227/3033/2232 2232/3038/2237 f 2225/3031/2230 2227/3033/2232 2224/3030/2229 f 2224/3030/2229 2232/3038/2237 2205/3006/2210 f 2224/3030/2229 2205/3006/2210 2206/3009/2211 f 2233/3039/2238 2224/3030/2229 2206/3009/2211 f 2223/3029/2228 2224/3030/2229 2233/3039/2238 f 2220/3026/2225 2223/3029/2228 2233/3039/2238 f 2220/3026/2225 2233/3039/2238 2234/3040/2239 f 2234/3040/2239 2233/3039/2238 2208/3041/2213 f 2207/3010/2212 2208/3041/2213 2233/3039/2238 f 2207/3010/2212 2233/3039/2238 2206/3009/2211 f 2214/3019/2219 2234/3040/2239 2208/3041/2213 f 2214/3019/2219 2220/3026/2225 2234/3040/2239 f 2217/3023/2222 2220/3026/2225 2214/3019/2219 f 2214/3019/2219 2208/3041/2213 2213/3020/2218 f 2209/3013/2214 2213/3017/2218 2208/3012/2213 f 2235/3042/2240 2173/2970/2178 2226/3032/2231 f 2235/3042/2240 2130/2917/2135 2173/2970/2178 f 2128/2915/2133 2130/2917/2135 2235/3042/2240 f 2128/2915/2133 2129/2916/2134 2130/2917/2135 f 2128/2915/2133 2235/3042/2240 2226/3032/2231 f 2128/2915/2133 2226/3032/2231 2236/3043/2241 f 2236/3043/2241 2226/3032/2231 2222/3028/2227 f 2237/3044/2242 2236/3043/2241 2222/3028/2227 f 2128/2915/2133 2236/3043/2241 2237/3044/2242 f 2237/3044/2242 2127/2914/2132 2128/2915/2133 f 2126/2913/2131 2127/2914/2132 2237/3044/2242 f 2238/3045/2243 2126/2913/2131 2237/3044/2242 f 2239/3046/2244 2126/2913/2131 2238/3045/2243 f 2239/3046/2244 2125/2912/2130 2126/2913/2131 f 2240/3047/2245 2239/3046/2244 2238/3045/2243 f 2238/3045/2243 2219/3025/2224 2240/3047/2245 f 2238/3045/2243 2237/3044/2242 2219/3025/2224 f 2237/3044/2242 2221/3027/2226 2219/3025/2224 f 2237/3044/2242 2222/3028/2227 2221/3027/2226 f 2240/3047/2245 2219/3025/2224 2218/3024/2223 f 2111/3003/2116 2193/2992/2198 2109/3048/2114 f 2109/3048/2114 2193/2992/2198 2107/3049/2112 f 2107/3049/2112 2193/2992/2198 2191/2990/2196 f 2107/3049/2112 2191/2990/2196 2190/2989/2195 f 2107/3049/2112 2190/2989/2195 2104/3050/2109 f 2104/3050/2109 2190/2989/2195 2103/3051/2108 f 2103/3051/2108 2190/2989/2195 2188/2987/2193 f 2103/3051/2108 2188/2987/2193 2241/3052/2246 f 2241/3052/2246 2188/2987/2193 2186/2985/2191 f 2241/3053/2246 2186/2984/2191 2242/3054/2247 f 2242/3054/2247 2186/2984/2191 2185/2983/2190 f 2242/3054/2247 2185/2983/2190 2243/3055/2248 f 2185/2983/2190 2244/3056/2249 2243/3055/2248 f 2244/3056/2249 2185/2983/2190 2245/3057/2250 f 2185/2983/2190 2184/2982/2189 2245/3057/2250 f 2245/3057/2250 2184/2982/2189 2042/2821/2047 f 2245/3057/2250 2042/2821/2047 2246/3058/2251 f 2246/3058/2251 2042/2821/2047 2040/2819/2045 f 2246/3058/2251 2040/2819/2045 2039/2818/2044 f 2246/3058/2251 2039/2818/2044 2247/3059/2252 f 2247/3059/2252 2039/2818/2044 2248/3060/2253 f 2248/3060/2253 2039/2818/2044 2036/2815/2041 f 2036/2815/2041 2249/3061/2254 2248/3060/2253 f 2249/3061/2254 2036/2815/2041 2034/2813/2039 f 2249/3061/2254 2034/2813/2039 2250/3062/2255 f 2250/3062/2255 2034/2813/2039 2033/2812/2038 f 2250/3063/2255 2033/3064/2038 2251/3065/2256 f 2033/3064/2038 2252/3066/2257 2251/3065/2256 f 2025/3067/2030 2252/3066/2257 2033/3064/2038 f 2025/3067/2030 2023/3068/2028 2252/3066/2257 f 2023/3068/2028 2253/3069/2258 2252/3066/2257 f 2023/3068/2028 2021/2798/2026 2253/3069/2258 f 2021/2798/2026 2020/2797/2025 2253/3069/2258 f 2020/2797/2025 2019/2794/2022 2253/3069/2258 f 2254/3070/2259 2253/3069/2258 2019/2794/2022 f 2253/3069/2258 2254/3070/2259 2255/3071/2260 f 2255/3071/2260 2254/3070/2259 2256/3072/2261 f 2256/3072/2261 2254/3070/2259 2257/3073/2262 f 2257/3073/2262 2254/3070/2259 2013/3074/2263 f 2013/3074/2263 2254/3070/2259 2019/2794/2022 f 2013/3074/2263 2019/2794/2022 2014/2796/2024 f 2257/3073/2262 2011/2789/2017 2258/3075/2264 f 2011/2789/2017 2010/2791/2019 2258/3075/2264 f 2259/3076/2265 2258/3075/2264 2010/2791/2019 f 2256/3072/2261 2258/3075/2264 2259/3076/2265 f 2256/3072/2261 2257/3073/2262 2258/3075/2264 f 2256/3072/2261 2259/3076/2265 2260/3077/2266 f 2261/3078/2267 2260/3077/2266 2259/3076/2265 f 2029/2808/2034 2260/3077/2266 2261/3078/2267 f 2029/2808/2034 2262/3079/2268 2260/3077/2266 f 2030/2809/2035 2262/3079/2268 2029/2808/2034 f 2030/2809/2035 2263/3080/2269 2262/3079/2268 f 2031/2810/2036 2263/3080/2269 2030/2809/2035 f 2035/2814/2040 2263/3080/2269 2031/2810/2036 f 2035/2814/2040 2037/2816/2042 2263/3080/2269 f 2037/2816/2042 2264/3081/2270 2263/3080/2269 f 2037/2816/2042 2265/3082/2271 2264/3081/2270 f 2038/2817/2043 2265/3082/2271 2037/2816/2042 f 2038/2817/2043 2266/3083/2272 2265/3082/2271 f 2038/2817/2043 2041/2820/2046 2266/3083/2272 f 2044/2823/2049 2266/3083/2272 2041/2820/2046 f 2044/2823/2049 2267/3084/2273 2266/3083/2272 f 2044/2823/2049 2268/3085/2274 2267/3084/2273 f 2045/2824/2050 2268/3085/2274 2044/2823/2049 f 2045/2824/2050 2269/3086/2275 2268/3085/2274 f 2047/2826/2052 2269/3086/2275 2045/2824/2050 f 2049/2828/2054 2269/3086/2275 2047/2826/2052 f 2049/2828/2054 2270/3087/2276 2269/3086/2275 f 2049/2828/2054 2051/2830/2056 2270/3087/2276 f 2051/2830/2056 2271/3088/2277 2270/3087/2276 f 2053/2832/2058 2271/3088/2277 2051/2830/2056 f 2053/2832/2058 2272/3089/2278 2271/3088/2277 f 2273/3090/2279 2272/3089/2278 2053/2832/2058 f 2273/3090/2279 2274/3091/2280 2272/3089/2278 f 2275/3092/2281 2274/3091/2280 2273/3090/2279 f 2275/3092/2281 2276/3093/2282 2274/3091/2280 f 2275/3094/2281 2277/3095/2283 2276/3096/2282 f 2278/3097/2284 2277/3095/2283 2275/3094/2281 f 2278/3097/2284 2279/3098/2285 2277/3095/2283 f 2278/3097/2284 2280/3099/2286 2279/3098/2285 f 2281/3100/2287 2280/3099/2286 2278/3097/2284 f 2281/3100/2287 2282/3101/2288 2280/3099/2286 f 2283/3102/2289 2282/3101/2288 2281/3100/2287 f 2283/3102/2289 2284/3103/2290 2282/3101/2288 f 2285/3104/2291 2284/3103/2290 2283/3102/2289 f 2285/3104/2291 2286/3105/2292 2284/3103/2290 f 2285/3104/2291 2248/3060/2253 2286/3105/2292 f 2247/3059/2252 2248/3060/2253 2285/3104/2291 f 2247/3059/2252 2285/3104/2291 2287/3106/2293 f 2287/3106/2293 2285/3104/2291 2067/2848/2072 f 2067/2848/2072 2285/3104/2291 2283/3102/2289 f 2067/2848/2072 2283/3102/2289 2066/2847/2071 f 2283/3102/2289 2281/3100/2287 2066/2847/2071 f 2066/2847/2071 2281/3100/2287 2288/3107/2294 f 2281/3108/2287 2289/3109/2295 2288/3110/2294 f 2057/2836/2062 2289/3109/2295 2281/3108/2287 f 2059/2838/2064 2289/3109/2295 2057/2836/2062 f 2059/2838/2064 2290/3111/2296 2289/3109/2295 f 2059/2838/2064 2291/3112/2297 2290/3111/2296 f 2059/2838/2064 2061/2840/2066 2291/3112/2297 f 2291/3112/2297 2061/2840/2066 2292/3113/2298 f 2063/2844/2068 2292/3114/2298 2061/2842/2066 f 2063/2844/2068 2293/3115/2299 2292/3114/2298 f 2063/2844/2068 2294/3116/2300 2293/3115/2299 f 2063/2844/2068 2064/2845/2069 2294/3116/2300 f 2064/2845/2069 2295/3117/2301 2294/3116/2300 f 2064/2845/2069 2288/3107/2294 2295/3117/2301 f 2066/2847/2071 2288/3107/2294 2064/2845/2069 f 2288/3110/2294 2290/3111/2296 2295/3118/2301 f 2288/3110/2294 2289/3109/2295 2290/3111/2296 f 2295/3118/2301 2290/3111/2296 2296/3119/2302 f 2291/3112/2297 2296/3119/2302 2290/3111/2296 f 2291/3112/2297 2297/3120/2303 2296/3119/2302 f 2292/3113/2298 2297/3120/2303 2291/3112/2297 f 2292/3113/2298 2298/3121/2304 2297/3120/2303 f 2293/3115/2299 2298/3122/2304 2292/3114/2298 f 2293/3115/2299 2299/3123/2305 2298/3122/2304 f 2293/3115/2299 2300/3124/2306 2299/3123/2305 f 2293/3115/2299 2301/3125/2307 2300/3124/2306 f 2293/3115/2299 2294/3116/2300 2301/3125/2307 f 2294/3116/2300 2302/3126/2308 2301/3125/2307 f 2295/3117/2301 2302/3126/2308 2294/3116/2300 f 2295/3118/2301 2296/3119/2302 2302/3127/2308 f 2302/3127/2308 2296/3119/2302 2303/3128/2309 f 2297/3120/2303 2303/3128/2309 2296/3119/2302 f 2297/3120/2303 2304/3129/2310 2303/3128/2309 f 2298/3121/2304 2304/3129/2310 2297/3120/2303 f 2305/3130/2311 2304/3129/2310 2298/3121/2304 f 2304/3129/2310 2305/3130/2311 2303/3128/2309 f 2303/3128/2309 2305/3130/2311 2306/3131/2312 f 2305/3130/2311 2307/3132/2313 2306/3131/2312 f 2305/3130/2311 2308/3133/2314 2307/3132/2313 f 2309/3134/2315 2308/3133/2314 2305/3130/2311 f 2310/3135/2316 2308/3133/2314 2309/3134/2315 f 2310/3135/2316 2311/3136/2317 2308/3133/2314 f 2312/3137/2318 2311/3136/2317 2310/3135/2316 f 2313/3138/2319 2311/3136/2317 2312/3137/2318 f 2313/3138/2319 2314/3139/2320 2311/3136/2317 f 2315/3140/2321 2314/3139/2320 2313/3138/2319 f 2316/3141/2322 2314/3139/2320 2315/3140/2321 f 2317/3142/2323 2314/3139/2320 2316/3141/2322 f 2317/3142/2323 2307/3132/2313 2314/3139/2320 f 2318/3143/2324 2307/3132/2313 2317/3142/2323 f 2318/3143/2324 2306/3131/2312 2307/3132/2313 f 2319/3144/2325 2306/3131/2312 2318/3143/2324 f 2319/3144/2325 2303/3128/2309 2306/3131/2312 f 2302/3127/2308 2303/3128/2309 2319/3144/2325 f 2301/3125/2307 2302/3126/2308 2319/3145/2325 f 2300/3124/2306 2301/3125/2307 2319/3145/2325 f 2318/3146/2324 2300/3124/2306 2319/3145/2325 f 2320/3147/2326 2300/3124/2306 2318/3146/2324 f 2321/3148/2327 2300/3124/2306 2320/3147/2326 f 2299/3123/2305 2300/3124/2306 2321/3148/2327 f 2299/3123/2305 2321/3148/2327 2322/3149/2328 f 2321/3148/2327 2309/3150/2315 2322/3149/2328 f 2321/3148/2327 2323/3151/2329 2309/3150/2315 f 2321/3148/2327 2320/3147/2326 2323/3151/2329 f 2323/3151/2329 2320/3147/2326 2324/3152/2330 f 2320/3147/2326 2317/3153/2323 2324/3152/2330 f 2320/3147/2326 2318/3146/2324 2317/3153/2323 f 2324/3152/2330 2317/3153/2323 2316/3154/2322 f 2325/3155/2331 2324/3152/2330 2316/3154/2322 f 2326/3156/2332 2324/3152/2330 2325/3155/2331 f 2326/3156/2332 2323/3151/2329 2324/3152/2330 f 2323/3151/2329 2326/3156/2332 2310/3157/2316 f 2326/3156/2332 2327/3158/2333 2310/3157/2316 f 2326/3156/2332 2328/3159/2334 2327/3158/2333 f 2326/3156/2332 2325/3155/2331 2328/3159/2334 f 2328/3159/2334 2325/3155/2331 2316/3154/2322 f 2328/3159/2334 2316/3154/2322 2315/3160/2321 f 2329/3161/2335 2328/3159/2334 2315/3160/2321 f 2327/3158/2333 2328/3159/2334 2329/3161/2335 f 2327/3158/2333 2329/3161/2335 2330/3162/2336 f 2330/3162/2336 2329/3161/2335 2331/3163/2337 f 2329/3161/2335 2332/3164/2338 2331/3163/2337 f 2329/3161/2335 2315/3160/2321 2332/3164/2338 f 2315/3140/2321 2313/3138/2319 2332/3165/2338 f 2332/3165/2338 2313/3138/2319 2333/3166/2339 f 2313/3138/2319 2334/3167/2340 2333/3166/2339 f 2335/3168/2341 2334/3167/2340 2313/3138/2319 f 2336/3169/2342 2334/3167/2340 2335/3168/2341 f 2337/3170/2343 2334/3167/2340 2336/3169/2342 f 2334/3167/2340 2338/3171/2344 2333/3166/2339 f 2333/3166/2339 2338/3171/2344 2339/3172/2345 f 2338/3171/2344 2340/3173/2346 2339/3172/2345 f 2344/3174/2347 2342/3175/2348 2343/3176/2349 f 2346/3177/2350 2344/3174/2347 2347/3178/2351 f 2347/3178/2351 2344/3174/2347 2343/3176/2349 f 2348/3179/2352 2347/3178/2351 2343/3176/2349 f 2349/3180/2353 2347/3178/2351 2348/3179/2352 f 2349/3180/2353 2350/3181/2354 2347/3178/2351 f 2352/3182/2355 2351/3183/2356 2349/3180/2353 f 2353/3184/2357 2355/3185/2358 2354/3186/2359 f 2358/3187/2360 2345/3188/2361 2355/3185/2358 f 2339/3172/2345 2345/3188/2361 2358/3187/2360 f 2359/3189/2362 2333/3166/2339 2339/3172/2345 f 2332/3165/2338 2333/3166/2339 2359/3189/2362 f 2331/3163/2337 2332/3164/2338 2359/3190/2362 f 2359/3190/2362 2358/3191/2360 2331/3163/2337 f 2331/3163/2337 2358/3191/2360 2360/3192/2363 f 2363/3193/2364 2353/3184/2357 2352/3182/2355 f 2363/3193/2364 2349/3180/2353 2364/3194/2365 f 2348/3179/2352 2364/3194/2365 2349/3180/2353 f 2364/3194/2365 2348/3179/2352 2365/3195/2366 f 2366/3196/2367 2365/3195/2366 2348/3179/2352 f 2370/3197/2368 2362/3198/2369 2364/3194/2365 f 2371/3199/2370 2362/3200/2369 2370/3201/2368 f 2371/3199/2370 2331/3163/2337 2362/3200/2369 f 2330/3162/2336 2331/3163/2337 2371/3199/2370 f 2330/3162/2336 2371/3199/2370 2372/3202/2371 f 2371/3199/2370 2370/3201/2368 2372/3202/2371 f 2370/3197/2368 2368/3203/2372 2372/3204/2371 f 2368/3203/2372 2370/3197/2368 2369/3205/2373 f 2373/3206/2374 2372/3204/2371 2368/3203/2372 f 2372/3204/2371 2373/3206/2374 2374/3207/2375 f 2374/3207/2375 2373/3206/2374 2335/3168/2341 f 2373/3206/2374 2336/3169/2342 2335/3168/2341 f 2367/3208/2376 2336/3169/2342 2373/3206/2374 f 2348/3179/2352 2343/3176/2349 2366/3196/2367 f 2368/3203/2372 2367/3208/2376 2373/3206/2374 f 2374/3207/2375 2335/3168/2341 2312/3137/2318 f 2312/3137/2318 2335/3168/2341 2313/3138/2319 f 2374/3207/2375 2312/3137/2318 2310/3135/2316 f 2327/3158/2333 2374/3209/2375 2310/3157/2316 f 2327/3158/2333 2330/3162/2336 2374/3209/2375 f 2330/3162/2336 2372/3202/2371 2374/3209/2375 f 2362/3200/2369 2331/3163/2337 2360/3192/2363 f 2362/3198/2369 2363/3193/2364 2364/3194/2365 f 2345/3188/2361 2346/3177/2350 2355/3185/2358 f 2350/3181/2354 2346/3177/2350 2347/3178/2351 f 2323/3151/2329 2310/3157/2316 2309/3150/2315 f 2305/3130/2311 2322/3210/2328 2309/3134/2315 f 2322/3210/2328 2305/3130/2311 2298/3121/2304 f 2299/3123/2305 2322/3149/2328 2298/3122/2304 f 2314/3139/2320 2307/3132/2313 2308/3133/2314 f 2311/3136/2317 2314/3139/2320 2308/3133/2314 f 2057/3211/2062 2281/3100/2287 2278/3097/2284 f 2057/3211/2062 2278/3097/2284 2275/3094/2281 f 2057/2836/2062 2275/3092/2281 2273/3090/2279 f 2057/2836/2062 2273/3090/2279 2055/2834/2060 f 2055/2834/2060 2273/3090/2279 2053/2832/2058 f 2067/2848/2072 2375/3212/2377 2287/3106/2293 f 2375/3212/2377 2067/2848/2072 2092/2877/2097 f 2092/2877/2097 2067/2848/2072 2068/2849/2073 f 2092/2877/2097 2068/2849/2073 2376/3213/2378 f 2376/3213/2378 2068/2849/2073 2377/3214/2379 f 2068/2849/2073 2069/2850/2074 2377/3214/2379 f 2069/2850/2074 2378/3215/2380 2377/3214/2379 f 2069/2850/2074 2379/3216/2381 2378/3215/2380 f 2069/2853/2074 2070/2852/2075 2379/3217/2381 f 2070/2852/2075 2073/2856/2078 2379/3217/2381 f 2379/3217/2381 2073/2856/2078 2380/3218/2382 f 2381/3219/2383 2380/3218/2382 2073/2856/2078 f 2382/3220/2384 2380/3218/2382 2381/3219/2383 f 2383/3221/2385 2380/3218/2382 2382/3220/2384 f 2383/3221/2385 2384/3222/2386 2380/3218/2382 f 2385/3223/2387 2384/3224/2386 2383/3225/2385 f 2385/3223/2387 2386/3226/2388 2384/3224/2386 f 2385/3223/2387 2387/3227/2389 2386/3226/2388 f 2388/3228/2390 2387/3227/2389 2385/3223/2387 f 2387/3227/2389 2388/3228/2390 2389/3229/2391 f 2388/3228/2390 2390/3230/2392 2389/3229/2391 f 2388/3228/2390 2391/3231/2393 2390/3230/2392 f 2388/3228/2390 2392/3232/2394 2391/3231/2393 f 2388/3228/2390 2385/3223/2387 2392/3232/2394 f 2392/3232/2394 2385/3223/2387 2383/3225/2385 f 2392/3232/2394 2383/3225/2385 2393/3233/2395 f 2383/3221/2385 2382/3220/2384 2393/3234/2395 f 2393/3234/2395 2382/3220/2384 2394/3235/2396 f 2395/3236/2397 2394/3235/2396 2382/3220/2384 f 2395/3236/2397 2396/3237/2398 2394/3235/2396 f 2396/3237/2398 2395/3236/2397 2390/3238/2392 f 2390/3238/2392 2395/3236/2397 2381/3219/2383 f 2381/3219/2383 2395/3236/2397 2382/3220/2384 f 2390/3238/2392 2381/3219/2383 2389/3239/2391 f 2075/2858/2080 2389/3239/2391 2381/3219/2383 f 2397/3240/2399 2389/3229/2391 2075/3241/2080 f 2397/3240/2399 2387/3227/2389 2389/3229/2391 f 2397/3240/2399 2386/3226/2388 2387/3227/2389 f 2397/3240/2399 2378/3215/2380 2386/3226/2388 f 2398/3242/2400 2378/3215/2380 2397/3240/2399 f 2398/3242/2400 2377/3214/2379 2378/3215/2380 f 2376/3213/2378 2377/3214/2379 2398/3242/2400 f 2376/3213/2378 2398/3242/2400 2078/3243/2083 f 2078/3243/2083 2398/3242/2400 2076/3244/2081 f 2398/3242/2400 2397/3240/2399 2076/3244/2081 f 2076/3244/2081 2397/3240/2399 2075/3241/2080 f 2376/3245/2378 2078/2861/2083 2399/3246/2401 f 2081/2864/2086 2399/3246/2401 2078/2861/2083 f 2081/2864/2086 2083/2866/2088 2399/3246/2401 f 2083/2866/2088 2400/3247/2402 2399/3246/2401 f 2083/2866/2088 2401/3248/2403 2400/3247/2402 f 2084/2867/2089 2401/3248/2403 2083/2866/2088 f 2084/2867/2089 2402/3249/2404 2401/3248/2403 f 2403/3250/2405 2402/3251/2404 2084/2870/2089 f 2404/3252/2406 2402/3251/2404 2403/3250/2405 f 2404/3252/2406 2405/3253/2407 2402/3251/2404 f 2404/3252/2406 2406/3254/2408 2405/3253/2407 f 2406/3254/2408 2404/3252/2406 2407/3255/2409 f 2407/3255/2409 2404/3252/2406 2408/3256/2410 f 2408/3256/2410 2404/3252/2406 2403/3250/2405 f 2403/3250/2405 2409/3257/2411 2408/3256/2410 f 2085/2869/2090 2409/3257/2411 2403/3250/2405 f 2085/2869/2090 2087/2872/2092 2409/3257/2411 f 2087/2872/2092 2410/3258/2412 2409/3257/2411 f 2411/3259/2413 2410/3258/2412 2087/2872/2092 f 2411/3260/2413 2399/3246/2401 2410/3261/2412 f 2376/3245/2378 2399/3246/2401 2411/3260/2413 f 2090/2875/2095 2376/3213/2378 2411/3259/2413 f 2092/2877/2097 2376/3213/2378 2090/2875/2095 f 2090/2875/2095 2411/3259/2413 2088/2873/2093 f 2088/2873/2093 2411/3259/2413 2087/2872/2092 f 2399/3246/2401 2400/3247/2402 2410/3261/2412 f 2410/3261/2412 2400/3247/2402 2412/3262/2414 f 2412/3262/2414 2400/3247/2402 2413/3263/2415 f 2401/3248/2403 2413/3263/2415 2400/3247/2402 f 2414/3264/2416 2413/3263/2415 2401/3248/2403 f 2415/3265/2417 2413/3263/2415 2414/3264/2416 f 2415/3265/2417 2412/3262/2414 2413/3263/2415 f 2408/3256/2410 2412/3266/2414 2415/3267/2417 f 2408/3256/2410 2409/3257/2411 2412/3266/2414 f 2409/3257/2411 2410/3258/2412 2412/3266/2414 f 2407/3255/2409 2408/3256/2410 2415/3267/2417 f 2407/3255/2409 2415/3267/2417 2416/3268/2418 f 2415/3265/2417 2414/3264/2416 2416/3269/2418 f 2416/3269/2418 2414/3264/2416 2417/3270/2419 f 2417/3270/2419 2414/3264/2416 2418/3271/2420 f 2418/3271/2420 2414/3264/2416 2401/3248/2403 f 2405/3272/2407 2418/3271/2420 2401/3248/2403 f 2419/3273/2421 2418/3271/2420 2405/3272/2407 f 2419/3273/2421 2420/3274/2422 2418/3271/2420 f 2419/3273/2421 2421/3275/2423 2420/3274/2422 f 2419/3273/2421 2422/3276/2424 2421/3275/2423 f 2423/3277/2425 2422/3278/2424 2419/3279/2421 f 2423/3277/2425 2424/3280/2426 2422/3278/2424 f 2425/3281/2427 2424/3280/2426 2423/3277/2425 f 2426/3282/2428 2424/3280/2426 2425/3281/2427 f 2426/3282/2428 2427/3283/2429 2424/3280/2426 f 2426/3282/2428 2428/3284/2430 2427/3283/2429 f 2428/3284/2430 2426/3282/2428 2429/3285/2431 f 2429/3285/2431 2426/3282/2428 2430/3286/2432 f 2426/3282/2428 2425/3281/2427 2430/3286/2432 f 2430/3286/2432 2425/3281/2427 2431/3287/2433 f 2425/3281/2427 2423/3277/2425 2431/3287/2433 f 2423/3277/2425 2432/3288/2434 2431/3287/2433 f 2406/3254/2408 2432/3288/2434 2423/3277/2425 f 2406/3254/2408 2407/3255/2409 2432/3288/2434 f 2407/3255/2409 2416/3268/2418 2432/3288/2434 f 2432/3288/2434 2416/3268/2418 2433/3289/2435 f 2433/3290/2435 2416/3269/2418 2417/3270/2419 f 2433/3290/2435 2417/3270/2419 2434/3291/2436 f 2421/3275/2423 2434/3291/2436 2417/3270/2419 f 2435/3292/2437 2434/3291/2436 2421/3275/2423 f 2433/3290/2435 2434/3291/2436 2435/3292/2437 f 2436/3293/2438 2433/3290/2435 2435/3292/2437 f 2431/3287/2433 2433/3289/2435 2436/3294/2438 f 2432/3288/2434 2433/3289/2435 2431/3287/2433 f 2430/3286/2432 2431/3287/2433 2436/3294/2438 f 2430/3286/2432 2436/3294/2438 2437/3295/2439 f 2437/3296/2439 2436/3293/2438 2435/3292/2437 f 2437/3296/2439 2435/3292/2437 2438/3297/2440 f 2438/3297/2440 2435/3292/2437 2439/3298/2441 f 2439/3298/2441 2435/3292/2437 2421/3275/2423 f 2439/3298/2441 2421/3275/2423 2424/3299/2426 f 2424/3299/2426 2421/3275/2423 2422/3276/2424 f 2440/3300/2442 2439/3298/2441 2424/3299/2426 f 2440/3300/2442 2438/3297/2440 2439/3298/2441 f 2441/3301/2443 2438/3297/2440 2440/3300/2442 f 2441/3301/2443 2442/3302/2444 2438/3297/2440 f 2443/3303/2445 2442/3302/2444 2441/3301/2443 f 2443/3303/2445 2444/3304/2446 2442/3302/2444 f 2449/3305/2447 2442/3302/2444 2448/3306/2448 f 2449/3305/2447 2438/3297/2440 2442/3302/2444 f 2450/3307/2449 2438/3297/2440 2449/3305/2447 f 2437/3296/2439 2438/3297/2440 2450/3307/2449 f 2429/3285/2431 2437/3295/2439 2450/3308/2449 f 2429/3285/2431 2430/3286/2432 2437/3295/2439 f 2451/3309/2450 2429/3285/2431 2450/3308/2449 f 2451/3309/2450 2428/3284/2430 2429/3285/2431 f 2451/3309/2450 2452/3310/2451 2428/3284/2430 f 2452/3310/2451 2451/3309/2450 2453/3311/2452 f 2453/3311/2452 2451/3309/2450 2454/3312/2453 f 2451/3309/2450 2455/3313/2454 2454/3312/2453 f 2451/3309/2450 2456/3314/2455 2455/3313/2454 f 2451/3309/2450 2450/3308/2449 2456/3314/2455 f 2450/3307/2449 2449/3305/2447 2456/3315/2455 f 2456/3315/2455 2449/3305/2447 2457/3316/2456 f 2457/3316/2456 2449/3305/2447 2448/3306/2448 f 2457/3316/2456 2448/3306/2448 2458/3317/2457 f 2457/3316/2456 2459/3318/2458 2455/3319/2454 f 2462/3320/2459 2446/3321/2460 2445/3322/2461 f 2463/3323/2462 2462/3320/2459 2445/3322/2461 f 2461/3324/2463 2462/3320/2459 2463/3323/2462 f 2464/3325/2464 2461/3324/2463 2463/3323/2462 f 2473/3326/2465 2464/3325/2464 2463/3323/2462 f 2473/3326/2465 2463/3323/2462 2474/3327/2466 f 2474/3327/2466 2463/3323/2462 2445/3322/2461 f 2474/3327/2466 2445/3322/2461 2475/3328/2467 f 2477/3329/2468 2476/3330/2469 2443/3303/2445 f 2478/3331/2470 2476/3330/2469 2477/3329/2468 f 2482/3332/2471 2453/3333/2452 2481/3334/2472 f 2452/3310/2451 2453/3311/2452 2482/3335/2471 f 2452/3310/2451 2482/3335/2471 2483/3336/2473 f 2482/3332/2471 2478/3331/2470 2483/3337/2473 f 2482/3332/2471 2480/3338/2474 2478/3331/2470 f 2478/3331/2470 2477/3329/2468 2483/3337/2473 f 2483/3337/2473 2477/3329/2468 2427/3339/2429 f 2477/3329/2468 2441/3301/2443 2427/3339/2429 f 2477/3329/2468 2443/3303/2445 2441/3301/2443 f 2427/3339/2429 2441/3301/2443 2440/3300/2442 f 2427/3339/2429 2440/3300/2442 2424/3299/2426 f 2428/3284/2430 2483/3336/2473 2427/3283/2429 f 2452/3310/2451 2483/3336/2473 2428/3284/2430 f 2421/3275/2423 2417/3270/2419 2420/3274/2422 f 2417/3270/2419 2418/3271/2420 2420/3274/2422 f 2406/3254/2408 2423/3277/2425 2419/3279/2421 f 2406/3254/2408 2419/3279/2421 2405/3253/2407 f 2405/3272/2407 2401/3248/2403 2402/3249/2404 f 2085/2869/2090 2403/3250/2405 2084/2870/2089 f 2378/3215/2380 2379/3216/2381 2386/3226/2388 f 2386/3226/2388 2379/3216/2381 2384/3224/2386 f 2379/3217/2381 2380/3218/2382 2384/3222/2386 f 2074/2857/2079 2075/2858/2080 2381/3219/2383 f 2074/2857/2079 2381/3219/2383 2073/2856/2078 f 2484/3340/2475 2396/3237/2398 2390/3238/2392 f 2484/3340/2475 2485/3341/2476 2396/3237/2398 f 2484/3340/2475 2486/3342/2477 2485/3341/2476 f 2391/3231/2393 2486/3343/2477 2484/3344/2475 f 2391/3231/2393 2487/3345/2478 2486/3343/2477 f 2391/3231/2393 2488/3346/2479 2487/3345/2478 f 2391/3231/2393 2392/3232/2394 2488/3346/2479 f 2488/3346/2479 2392/3232/2394 2393/3233/2395 f 2488/3346/2479 2393/3233/2395 2489/3347/2480 f 2393/3234/2395 2394/3235/2396 2489/3348/2480 f 2489/3348/2480 2394/3235/2396 2490/3349/2481 f 2485/3341/2476 2490/3349/2481 2394/3235/2396 f 2491/3350/2482 2490/3349/2481 2485/3341/2476 f 2492/3351/2483 2490/3349/2481 2491/3350/2482 f 2489/3348/2480 2490/3349/2481 2492/3351/2483 f 2493/3352/2484 2489/3347/2480 2492/3353/2483 f 2493/3352/2484 2488/3346/2479 2489/3347/2480 f 2487/3345/2478 2488/3346/2479 2493/3352/2484 f 2494/3354/2485 2487/3345/2478 2493/3352/2484 f 2494/3354/2485 2495/3355/2486 2487/3345/2478 f 2494/3354/2485 2496/3356/2487 2495/3355/2486 f 2496/3356/2487 2494/3354/2485 2497/3357/2488 f 2497/3357/2488 2494/3354/2485 2493/3352/2484 f 2497/3357/2488 2493/3352/2484 2492/3353/2483 f 2497/3357/2488 2492/3353/2483 2498/3358/2489 f 2498/3359/2489 2492/3351/2483 2491/3350/2482 f 2498/3359/2489 2491/3350/2482 2499/3360/2490 f 2499/3360/2490 2491/3350/2482 2500/3361/2491 f 2500/3361/2491 2491/3350/2482 2485/3341/2476 f 2495/3362/2486 2500/3361/2491 2485/3341/2476 f 2501/3363/2492 2500/3361/2491 2495/3362/2486 f 2501/3363/2492 2499/3360/2490 2500/3361/2491 f 2502/3364/2493 2499/3360/2490 2501/3363/2492 f 2502/3364/2493 2503/3365/2494 2499/3360/2490 f 2502/3364/2493 2504/3366/2495 2503/3365/2494 f 2505/3367/2496 2504/3366/2495 2502/3364/2493 f 2505/3367/2496 2506/3368/2497 2504/3366/2495 f 2507/3369/2498 2506/3368/2497 2505/3367/2496 f 2510/3370/2499 2511/3371/2500 2508/3372/2501 f 2510/3370/2499 2512/3373/2502 2511/3371/2500 f 2510/3370/2499 2513/3374/2503 2512/3373/2502 f 2514/3375/2504 2513/3374/2503 2510/3370/2499 f 2514/3376/2504 2517/3377/2505 2516/3378/2506 f 2518/3379/2507 2517/3377/2505 2514/3376/2504 f 2518/3379/2507 2519/3380/2508 2517/3377/2505 f 2519/3380/2508 2518/3379/2507 2520/3381/2509 f 2518/3379/2507 2521/3382/2510 2520/3381/2509 f 2518/3379/2507 2514/3376/2504 2521/3382/2510 f 2521/3383/2510 2514/3375/2504 2510/3370/2499 f 2521/3383/2510 2509/3384/2511 2507/3369/2498 f 2520/3385/2509 2521/3383/2510 2507/3369/2498 f 2520/3385/2509 2507/3369/2498 2505/3367/2496 f 2520/3385/2509 2505/3367/2496 2522/3386/2512 f 2505/3367/2496 2502/3364/2493 2522/3386/2512 f 2522/3386/2512 2502/3364/2493 2501/3363/2492 f 2522/3386/2512 2501/3363/2492 2495/3362/2486 f 2496/3356/2487 2522/3387/2512 2495/3355/2486 f 2519/3380/2508 2522/3387/2512 2496/3356/2487 f 2519/3380/2508 2520/3381/2509 2522/3387/2512 f 2519/3380/2508 2496/3356/2487 2523/3388/2513 f 2523/3388/2513 2496/3356/2487 2497/3357/2488 f 2523/3388/2513 2497/3357/2488 2498/3358/2489 f 2523/3388/2513 2498/3358/2489 2524/3389/2514 f 2524/3390/2514 2498/3359/2489 2499/3360/2490 f 2524/3390/2514 2499/3360/2490 2525/3391/2515 f 2525/3391/2515 2499/3360/2490 2503/3365/2494 f 2525/3391/2515 2503/3365/2494 2526/3392/2516 f 2504/3366/2495 2527/3393/2517 2503/3365/2494 f 2530/3394/2518 2529/3395/2519 2528/3396/2520 f 2533/3397/2521 2526/3392/2516 2532/3398/2522 f 2533/3397/2521 2525/3391/2515 2526/3392/2516 f 2534/3399/2523 2525/3391/2515 2533/3397/2521 f 2524/3390/2514 2525/3391/2515 2534/3399/2523 f 2517/3377/2505 2524/3389/2514 2534/3400/2523 f 2517/3377/2505 2523/3388/2513 2524/3389/2514 f 2517/3377/2505 2519/3380/2508 2523/3388/2513 f 2517/3377/2505 2534/3400/2523 2535/3401/2524 f 2533/3397/2521 2536/3402/2525 2535/3403/2524 f 2537/3404/2526 2530/3394/2518 2538/3405/2527 f 2538/3405/2527 2530/3394/2518 2528/3396/2520 f 2511/3371/2500 2538/3405/2527 2528/3396/2520 f 2512/3373/2502 2538/3405/2527 2511/3371/2500 f 2512/3373/2502 2539/3406/2528 2538/3405/2527 f 2513/3374/2503 2542/3407/2529 2541/3408/2530 f 2517/3377/2505 2535/3401/2524 2516/3378/2506 f 2535/3403/2524 2536/3402/2525 2545/3409/2531 f 2545/3409/2531 2536/3402/2525 2537/3404/2526 f 2539/3406/2528 2537/3404/2526 2538/3405/2527 f 2511/3371/2500 2528/3396/2520 2547/3410/2532 f 2508/3372/2501 2511/3371/2500 2547/3410/2532 f 2495/3362/2486 2485/3341/2476 2486/3342/2477 f 2487/3345/2478 2495/3355/2486 2486/3343/2477 f 2396/3237/2398 2485/3341/2476 2394/3235/2396 f 2391/3231/2393 2484/3344/2475 2390/3230/2392 f 2375/3212/2377 2092/2877/2097 2093/2878/2098 f 2244/3056/2249 2375/3212/2377 2093/2878/2098 f 2375/3212/2377 2244/3056/2249 2548/3411/2533 f 2244/3056/2249 2245/3057/2250 2548/3411/2533 f 2548/3411/2533 2245/3057/2250 2246/3058/2251 f 2548/3411/2533 2246/3058/2251 2247/3059/2252 f 2548/3411/2533 2247/3059/2252 2287/3106/2293 f 2375/3212/2377 2548/3411/2533 2287/3106/2293 f 2244/3056/2249 2093/2878/2098 2243/3055/2248 f 2097/2882/2102 2243/3055/2248 2093/2878/2098 f 2099/2884/2104 2243/3055/2248 2097/2882/2102 f 2099/2884/2104 2242/3054/2247 2243/3055/2248 f 2099/2884/2104 2241/3053/2246 2242/3054/2247 f 2101/2886/2106 2241/3053/2246 2099/2884/2104 f 2101/2888/2106 2103/2890/2108 2241/3412/2246 f 2094/2879/2099 2097/2882/2102 2093/2878/2098 f 2248/3060/2253 2249/3061/2254 2286/3105/2292 f 2286/3105/2292 2249/3061/2254 2284/3103/2290 f 2249/3061/2254 2549/3413/2534 2284/3103/2290 f 2249/3061/2254 2550/3414/2535 2549/3413/2534 f 2550/3414/2535 2249/3061/2254 2250/3062/2255 f 2550/3415/2535 2250/3063/2255 2551/3416/2536 f 2250/3063/2255 2552/3417/2537 2551/3416/2536 f 2250/3063/2255 2251/3065/2256 2552/3417/2537 f 2552/3417/2537 2251/3065/2256 2553/3418/2538 f 2553/3418/2538 2251/3065/2256 2554/3419/2539 f 2251/3065/2256 2252/3066/2257 2554/3419/2539 f 2252/3066/2257 2253/3069/2258 2554/3419/2539 f 2253/3069/2258 2255/3071/2260 2554/3419/2539 f 2554/3419/2539 2255/3071/2260 2256/3072/2261 f 2555/3420/2540 2554/3419/2539 2256/3072/2261 f 2556/3421/2541 2554/3419/2539 2555/3420/2540 f 2553/3418/2538 2554/3419/2539 2556/3421/2541 f 2557/3422/2542 2553/3418/2538 2556/3421/2541 f 2558/3423/2543 2553/3418/2538 2557/3422/2542 f 2558/3423/2543 2552/3417/2537 2553/3418/2538 f 2551/3416/2536 2552/3417/2537 2558/3423/2543 f 2551/3416/2536 2558/3423/2543 2559/3424/2544 f 2559/3424/2544 2558/3423/2543 2267/3084/2273 f 2267/3084/2273 2558/3423/2543 2557/3422/2542 f 2267/3084/2273 2557/3422/2542 2265/3082/2271 f 2557/3422/2542 2556/3421/2541 2265/3082/2271 f 2265/3082/2271 2556/3421/2541 2264/3081/2270 f 2556/3421/2541 2555/3420/2540 2264/3081/2270 f 2264/3081/2270 2555/3420/2540 2262/3079/2268 f 2555/3420/2540 2260/3077/2266 2262/3079/2268 f 2555/3420/2540 2256/3072/2261 2260/3077/2266 f 2263/3080/2269 2264/3081/2270 2262/3079/2268 f 2267/3084/2273 2265/3082/2271 2266/3083/2272 f 2268/3085/2274 2559/3424/2544 2267/3084/2273 f 2269/3086/2275 2559/3424/2544 2268/3085/2274 f 2269/3086/2275 2551/3416/2536 2559/3424/2544 f 2270/3087/2276 2551/3416/2536 2269/3086/2275 f 2270/3087/2276 2550/3415/2535 2551/3416/2536 f 2549/3413/2534 2550/3414/2535 2270/3425/2276 f 2270/3087/2276 2271/3088/2277 2549/3426/2534 f 2549/3413/2534 2271/3427/2277 2284/3103/2290 f 2284/3103/2290 2271/3427/2277 2282/3101/2288 f 2271/3427/2277 2560/3428/2545 2282/3101/2288 f 2271/3088/2277 2561/3429/2546 2560/3430/2545 f 2272/3089/2278 2561/3429/2546 2271/3088/2277 f 2274/3091/2280 2561/3429/2546 2272/3089/2278 f 2274/3091/2280 2562/3431/2547 2561/3429/2546 f 2274/3091/2280 2563/3432/2548 2562/3431/2547 f 2276/3093/2282 2563/3432/2548 2274/3091/2280 f 2276/3093/2282 2564/3433/2549 2563/3432/2548 f 2276/3093/2282 2565/3434/2550 2564/3433/2549 f 2277/3095/2283 2565/3435/2550 2276/3096/2282 f 2277/3095/2283 2566/3436/2551 2565/3435/2550 f 2277/3095/2283 2567/3437/2552 2566/3436/2551 f 2277/3095/2283 2279/3098/2285 2567/3437/2552 f 2279/3098/2285 2568/3438/2553 2567/3437/2552 f 2279/3098/2285 2560/3428/2545 2568/3438/2553 f 2280/3099/2286 2560/3428/2545 2279/3098/2285 f 2282/3101/2288 2560/3428/2545 2280/3099/2286 f 2560/3430/2545 2561/3429/2546 2568/3439/2553 f 2561/3429/2546 2562/3431/2547 2568/3439/2553 f 2568/3439/2553 2562/3431/2547 2569/3440/2554 f 2564/3433/2549 2569/3440/2554 2562/3431/2547 f 2564/3433/2549 2570/3441/2555 2569/3440/2554 f 2564/3433/2549 2571/3442/2556 2570/3441/2555 f 2572/3443/2557 2571/3442/2556 2564/3433/2549 f 2572/3443/2557 2573/3444/2558 2571/3442/2556 f 2572/3443/2557 2574/3445/2559 2573/3444/2558 f 2572/3446/2557 2575/3447/2560 2574/3448/2559 f 2576/3449/2561 2575/3447/2560 2572/3446/2557 f 2576/3449/2561 2577/3450/2562 2575/3447/2560 f 2576/3449/2561 2578/3451/2563 2577/3450/2562 f 2566/3436/2551 2578/3451/2563 2576/3449/2561 f 2566/3436/2551 2567/3437/2552 2578/3451/2563 f 2578/3451/2563 2567/3437/2552 2579/3452/2564 f 2568/3438/2553 2579/3452/2564 2567/3437/2552 f 2568/3439/2553 2569/3440/2554 2579/3453/2564 f 2579/3453/2564 2569/3440/2554 2580/3454/2565 f 2569/3440/2554 2570/3441/2555 2580/3454/2565 f 2580/3454/2565 2570/3441/2555 2581/3455/2566 f 2570/3441/2555 2582/3456/2567 2581/3455/2566 f 2571/3442/2556 2582/3456/2567 2570/3441/2555 f 2571/3442/2556 2573/3444/2558 2582/3456/2567 f 2573/3444/2558 2583/3457/2568 2582/3456/2567 f 2574/3445/2559 2583/3457/2568 2573/3444/2558 f 2574/3445/2559 2584/3458/2569 2583/3457/2568 f 2575/3447/2560 2584/3459/2569 2574/3448/2559 f 2575/3447/2560 2585/3460/2570 2584/3459/2569 f 2575/3447/2560 2586/3461/2571 2585/3460/2570 f 2575/3447/2560 2577/3450/2562 2586/3461/2571 f 2577/3450/2562 2581/3462/2566 2586/3461/2571 f 2577/3450/2562 2580/3463/2565 2581/3462/2566 f 2578/3451/2563 2580/3463/2565 2577/3450/2562 f 2578/3451/2563 2579/3452/2564 2580/3463/2565 f 2586/3461/2571 2581/3462/2566 2587/3464/2572 f 2581/3455/2566 2588/3465/2573 2587/3466/2572 f 2581/3455/2566 2582/3456/2567 2588/3465/2573 f 2583/3457/2568 2588/3465/2573 2582/3456/2567 f 2589/3467/2574 2588/3465/2573 2583/3457/2568 f 2590/3468/2575 2588/3465/2573 2589/3467/2574 f 2587/3466/2572 2588/3465/2573 2590/3468/2575 f 2591/3469/2576 2587/3464/2572 2590/3470/2575 f 2591/3469/2576 2586/3461/2571 2587/3464/2572 f 2591/3469/2576 2585/3460/2570 2586/3461/2571 f 2592/3471/2577 2585/3460/2570 2591/3469/2576 f 2585/3460/2570 2592/3471/2577 2584/3459/2569 f 2592/3471/2577 2593/3472/2578 2584/3459/2569 f 2592/3471/2577 2594/3473/2579 2593/3472/2578 f 2592/3471/2577 2595/3474/2580 2594/3473/2579 f 2592/3471/2577 2591/3469/2576 2595/3474/2580 f 2591/3469/2576 2590/3470/2575 2595/3474/2580 f 2595/3474/2580 2590/3470/2575 2596/3475/2581 f 2590/3468/2575 2589/3467/2574 2596/3476/2581 f 2589/3467/2574 2597/3477/2582 2596/3476/2581 f 2598/3478/2583 2597/3477/2582 2589/3467/2574 f 2598/3478/2583 2599/3479/2584 2597/3477/2582 f 2593/3480/2578 2599/3479/2584 2598/3478/2583 f 2600/3481/2585 2599/3479/2584 2593/3480/2578 f 2599/3479/2584 2600/3481/2585 2601/3482/2586 f 2600/3481/2585 2602/3483/2587 2601/3482/2586 f 2600/3481/2585 2603/3484/2588 2602/3483/2587 f 2600/3485/2585 2604/3486/2589 2603/3487/2588 f 2594/3473/2579 2604/3486/2589 2600/3485/2585 f 2594/3473/2579 2605/3488/2590 2604/3486/2589 f 2594/3473/2579 2595/3474/2580 2605/3488/2590 f 2595/3474/2580 2596/3475/2581 2605/3488/2590 f 2596/3475/2581 2606/3489/2591 2605/3488/2590 f 2596/3476/2581 2597/3477/2582 2606/3490/2591 f 2597/3477/2582 2607/3491/2592 2606/3490/2591 f 2597/3477/2582 2608/3492/2593 2607/3491/2592 f 2601/3482/2586 2608/3492/2593 2597/3477/2582 f 2609/3493/2594 2608/3492/2593 2601/3482/2586 f 2610/3494/2595 2608/3492/2593 2609/3493/2594 f 2608/3492/2593 2611/3495/2596 2607/3491/2592 f 2607/3491/2592 2611/3495/2596 2612/3496/2597 f 2611/3495/2596 2613/3497/2598 2612/3496/2597 f 2618/3498/2599 2616/3499/2600 2617/3500/2601 f 2618/3498/2599 2619/3501/2602 2616/3499/2600 f 2620/3502/2603 2619/3501/2602 2618/3498/2599 f 2621/3503/2604 2619/3501/2602 2620/3502/2603 f 2621/3503/2604 2622/3504/2605 2619/3501/2602 f 2631/3505/2606 2629/3506/2607 2630/3507/2608 f 2631/3505/2606 2632/3508/2609 2629/3506/2607 f 2633/3509/2610 2632/3508/2609 2631/3505/2606 f 2607/3491/2592 2612/3496/2597 2633/3510/2610 f 2606/3490/2591 2607/3491/2592 2633/3510/2610 f 2606/3489/2591 2633/3509/2610 2631/3505/2606 f 2606/3489/2591 2631/3505/2606 2605/3488/2590 f 2604/3486/2589 2605/3488/2590 2631/3505/2606 f 2604/3486/2589 2631/3505/2606 2634/3511/2611 f 2634/3511/2611 2631/3505/2606 2630/3507/2608 f 2635/3512/2612 2634/3511/2611 2630/3507/2608 f 2603/3487/2588 2634/3511/2611 2635/3512/2612 f 2604/3486/2589 2634/3511/2611 2603/3487/2588 f 2603/3484/2588 2635/3513/2612 2636/3514/2613 f 2636/3514/2613 2635/3513/2612 2637/3515/2614 f 2635/3513/2612 2630/3516/2608 2638/3517/2615 f 2630/3516/2608 2626/3518/2616 2638/3517/2615 f 2626/3518/2616 2621/3503/2604 2638/3517/2615 f 2620/3502/2603 2638/3517/2615 2621/3503/2604 f 2602/3483/2587 2636/3514/2613 2640/3519/2617 f 2602/3483/2587 2603/3484/2588 2636/3514/2613 f 2640/3519/2617 2609/3493/2594 2602/3483/2587 f 2641/3520/2618 2620/3502/2603 2618/3498/2599 f 2602/3483/2587 2609/3493/2594 2601/3482/2586 f 2612/3496/2597 2615/3521/2619 2632/3522/2609 f 2632/3522/2609 2615/3521/2619 2642/3523/2620 f 2642/3523/2620 2615/3521/2619 2643/3524/2621 f 2619/3501/2602 2643/3524/2621 2616/3499/2600 f 2619/3501/2602 2622/3504/2605 2643/3524/2621 f 2599/3479/2584 2601/3482/2586 2597/3477/2582 f 2593/3472/2578 2594/3473/2579 2600/3485/2585 f 2593/3480/2578 2598/3478/2583 2583/3457/2568 f 2583/3457/2568 2598/3478/2583 2589/3467/2574 f 2593/3480/2578 2583/3457/2568 2584/3458/2569 f 2566/3436/2551 2576/3449/2561 2565/3435/2550 f 2565/3435/2550 2576/3449/2561 2572/3446/2557 f 2572/3443/2557 2564/3433/2549 2565/3434/2550 f 2563/3432/2548 2564/3433/2549 2562/3431/2547 f 2035/2814/2040 2031/2810/2036 2032/2811/2037 f 2029/2808/2034 2261/3078/2267 2646/3525/2622 f 2261/3078/2267 2010/3526/2019 2646/3525/2622 f 2261/3078/2267 2259/3076/2265 2010/2791/2019 f 2010/3526/2019 2000/3527/2623 2646/3525/2622 f 2010/3526/2019 1998/3528/2009 2000/3527/2623 f 2010/2791/2019 1997/2780/2008 1998/2781/2009 f 2646/3525/2622 2000/3527/2623 2003/3529/2012 f 2646/3525/2622 2003/3529/2012 2022/2801/2027 f 2024/2803/2029 2646/3525/2622 2022/2801/2027 f 2028/2807/2033 2646/3525/2622 2024/2803/2029 f 2029/2808/2034 2646/3525/2622 2028/2807/2033 f 2140/2930/2145 2165/3530/2170 2139/2927/2144 f 2140/2930/2145 2647/3531/2624 2165/3530/2170 f 2140/2930/2145 2648/3532/2625 2647/3531/2624 f 2141/2932/2146 2648/3532/2625 2140/2930/2145 f 2142/2934/2147 2648/3532/2625 2141/2932/2146 f 2142/2934/2147 2147/2941/2152 2648/3532/2625 f 2147/2941/2152 2154/2949/2159 2648/3532/2625 f 2648/3532/2625 2154/2949/2159 2647/3531/2624 f 2647/3531/2624 2154/2949/2159 2649/3533/2626 f 2154/2949/2159 2155/2950/2160 2649/3533/2626 f 2649/3533/2626 2155/2950/2160 2650/3534/2627 f 2650/3534/2627 2155/2950/2160 2157/2952/2162 f 2650/3534/2627 2157/2952/2162 2158/2953/2163 f 2650/3534/2627 2158/2953/2163 2162/2957/2167 f 2162/2957/2167 2649/3533/2626 2650/3534/2627 f 2165/3530/2170 2649/3533/2626 2162/2957/2167 f 2647/3531/2624 2649/3533/2626 2165/3530/2170 f 2003/2784/2012 2017/3535/2628 2018/2795/2023 f 2006/2786/2014 2015/2793/2021 2005/2785/2013 g mesh4.002_mesh4-geometry_FrontColorNoCullingID__03_-_Default1noCulli usemtl FrontColorNoCullingID__03_-_Default1noCulli f 1989/3536/2001 1990/3537/2003 1988/3538/2000 f 1992/3539/2004 1991/3540/2002 1989/3541/2001 f 1994/3542/2629 1993/3543/2005 1992/3544/2004 f 1995/3545/2007 1993/3546/2005 1994/3547/2629 f 1996/3548/2006 1990/3549/2003 1993/3550/2005 f 1986/3551/1998 1990/3552/2003 1996/3553/2006 f 1986/3554/1998 1988/3555/2000 1990/3556/2003 f 1986/3557/1998 1996/3558/2006 1995/3559/2007 f 1998/3560/2009 1995/3561/2007 1999/3562/2630 f 1999/3563/2630 1995/3564/2007 1994/3565/2629 f 1999/3566/2630 1994/3567/2629 2000/3568/2623 f 2001/3569/2631 2000/3570/2623 1994/3571/2629 f 2002/3572/2010 2000/3573/2623 2001/3574/2631 f 2000/3575/2623 2002/3576/2010 2003/3577/2012 f 2002/3578/2010 2001/3579/2631 1992/3580/2004 f 1994/3581/2629 1992/3582/2004 2001/3583/2631 f 2007/3584/2015 1987/3585/1999 2008/3586/2016 f 1987/3587/1999 1986/3588/1998 1997/3589/2008 f 2008/3590/2016 1997/3591/2008 2009/3592/2018 f 2010/3593/2019 2009/3594/2018 1997/3595/2008 f 2009/3596/2018 2011/3597/2017 2008/3598/2016 f 2012/3599/2632 2008/3600/2016 2011/3601/2017 f 2012/3602/2632 2007/3603/2015 2008/3604/2016 f 2006/3605/2014 2007/3606/2015 2012/3607/2632 f 2013/3608/2263 2006/3609/2014 2012/3610/2632 f 2014/3611/2024 2006/3612/2014 2013/3613/2263 f 2014/3614/2024 2015/3615/2021 2006/3616/2014 f 2016/3617/2020 2015/3618/2021 2014/3619/2024 f 2016/3620/2020 2017/3621/2628 2004/3622/2011 f 2016/3623/2020 2018/3624/2023 2017/3625/2628 f 2014/3626/2024 2018/3627/2023 2016/3628/2020 f 2257/3629/2262 2013/3630/2263 2012/3631/2632 f 2012/3632/2632 2011/3633/2017 2257/3634/2262 f 2338/3635/2344 2334/3636/2340 2337/3637/2343 f 2340/3638/2346 2338/3639/2344 2341/3640/2633 f 2341/3641/2633 2338/3642/2344 2337/3643/2343 f 2337/3644/2343 2342/3645/2348 2341/3646/2633 f 2343/3647/2349 2342/3648/2348 2337/3649/2343 f 2342/3650/2348 2344/3651/2347 2341/3652/2633 f 2341/3653/2633 2344/3654/2347 2345/3655/2361 f 2344/3656/2347 2346/3657/2350 2345/3658/2361 f 2349/3659/2353 2351/3660/2356 2350/3661/2354 f 2353/3662/2357 2351/3663/2356 2352/3664/2355 f 2353/3665/2357 2354/3666/2359 2351/3667/2356 f 2356/3668/2634 2355/3669/2358 2353/3670/2357 f 2357/3671/2635 2355/3672/2358 2356/3673/2634 f 2358/3674/2360 2355/3675/2358 2357/3676/2635 f 2339/3677/2345 2340/3678/2346 2345/3679/2361 f 2345/3680/2361 2340/3681/2346 2341/3682/2633 f 2359/3683/2362 2339/3684/2345 2358/3685/2360 f 2360/3686/2363 2358/3687/2360 2357/3688/2635 f 2356/3689/2634 2360/3690/2363 2357/3691/2635 f 2361/3692/2636 2360/3693/2363 2356/3694/2634 f 2361/3695/2636 2362/3696/2369 2360/3697/2363 f 2361/3698/2636 2363/3699/2364 2362/3700/2369 f 2361/3701/2636 2356/3702/2634 2363/3703/2364 f 2363/3704/2364 2356/3705/2634 2353/3706/2357 f 2363/3707/2364 2352/3708/2355 2349/3709/2353 f 2367/3710/2376 2365/3711/2366 2366/3712/2367 f 2368/3713/2372 2365/3714/2366 2367/3715/2376 f 2369/3716/2373 2365/3717/2366 2368/3718/2372 f 2364/3719/2365 2365/3720/2366 2369/3721/2373 f 2370/3722/2368 2364/3723/2365 2369/3724/2373 f 2367/3725/2376 2343/3726/2349 2336/3727/2342 f 2367/3728/2376 2366/3729/2367 2343/3730/2349 f 2343/3731/2349 2337/3732/2343 2336/3733/2342 f 2346/3734/2350 2354/3735/2359 2355/3736/2358 f 2351/3737/2356 2354/3738/2359 2346/3739/2350 f 2351/3740/2356 2346/3741/2350 2350/3742/2354 f 2445/3743/2461 2444/3744/2446 2443/3745/2445 f 2446/3746/2460 2444/3747/2446 2445/3748/2461 f 2447/3749/2637 2444/3750/2446 2446/3751/2460 f 2448/3752/2448 2444/3753/2446 2447/3754/2637 f 2448/3755/2448 2442/3756/2444 2444/3757/2446 f 2458/3758/2457 2448/3759/2448 2447/3760/2637 f 2459/3761/2458 2458/3762/2457 2447/3763/2637 f 2459/3764/2458 2457/3765/2456 2458/3766/2457 f 2455/3767/2454 2459/3768/2458 2460/3769/2638 f 2460/3770/2638 2459/3771/2458 2461/3772/2463 f 2459/3773/2458 2462/3774/2459 2461/3775/2463 f 2459/3776/2458 2447/3777/2637 2462/3778/2459 f 2447/3779/2637 2446/3780/2460 2462/3781/2459 f 2465/3782/2639 2461/3783/2463 2464/3784/2464 f 2465/3785/2639 2466/3786/2640 2461/3787/2463 f 2467/3788/2641 2466/3789/2640 2465/3790/2639 f 2467/3791/2641 2460/3792/2638 2466/3793/2640 f 2468/3794/2642 2460/3795/2638 2467/3796/2641 f 2468/3797/2642 2469/3798/2643 2460/3799/2638 f 2454/3800/2453 2469/3801/2643 2468/3802/2642 f 2469/3801/2643 2454/3800/2453 2455/3803/2454 f 2455/3804/2454 2460/3805/2638 2469/3806/2643 f 2468/3807/2642 2453/3808/2452 2454/3809/2453 f 2453/3808/2452 2468/3807/2642 2470/3810/2644 f 2470/3811/2644 2468/3812/2642 2471/3813/2645 f 2471/3814/2645 2468/3815/2642 2467/3816/2641 f 2471/3817/2645 2467/3818/2641 2472/3819/2646 f 2472/3820/2646 2467/3821/2641 2465/3822/2639 f 2472/3823/2646 2465/3824/2639 2473/3825/2465 f 2465/3826/2639 2464/3827/2464 2473/3828/2465 f 2475/3829/2467 2445/3830/2461 2476/3831/2469 f 2476/3832/2469 2445/3833/2461 2443/3834/2445 f 2478/3835/2470 2479/3836/2647 2476/3837/2469 f 2480/3838/2474 2479/3839/2647 2478/3840/2470 f 2481/3841/2472 2479/3842/2647 2480/3843/2474 f 2481/3844/2472 2474/3845/2466 2479/3846/2647 f 2481/3847/2472 2473/3848/2465 2474/3849/2466 f 2481/3850/2472 2471/3851/2645 2473/3852/2465 f 2453/3853/2452 2471/3854/2645 2481/3855/2472 f 2453/3856/2452 2470/3857/2644 2471/3858/2645 f 2482/3859/2471 2481/3860/2472 2480/3861/2474 f 2473/3862/2465 2471/3863/2645 2472/3864/2646 f 2479/3865/2647 2474/3866/2466 2475/3867/2467 f 2479/3868/2647 2475/3869/2467 2476/3870/2469 f 2460/3871/2638 2461/3872/2463 2466/3873/2640 f 2456/3874/2455 2457/3875/2456 2455/3876/2454 f 2507/3877/2498 2508/3878/2501 2506/3879/2497 f 2509/3880/2511 2508/3881/2501 2507/3882/2498 f 2510/3883/2499 2508/3884/2501 2509/3885/2511 f 2514/3886/2504 2515/3887/2648 2513/3888/2503 f 2515/3889/2648 2514/3890/2504 2516/3891/2506 f 2521/3892/2510 2510/3893/2499 2509/3894/2511 f 2526/3895/2516 2503/3896/2494 2527/3897/2517 f 2528/3898/2520 2527/3899/2517 2504/3900/2495 f 2528/3901/2520 2529/3902/2519 2527/3903/2517 f 2531/3904/2649 2529/3905/2519 2530/3906/2518 f 2531/3907/2649 2527/3908/2517 2529/3909/2519 f 2531/3910/2649 2526/3911/2516 2527/3912/2517 f 2532/3913/2522 2526/3914/2516 2531/3915/2649 f 2534/3916/2523 2533/3917/2521 2535/3918/2524 f 2533/3919/2521 2532/3920/2522 2536/3921/2525 f 2536/3922/2525 2532/3923/2522 2531/3924/2649 f 2536/3925/2525 2531/3926/2649 2530/3927/2518 f 2536/3928/2525 2530/3929/2518 2537/3930/2526 f 2512/3931/2502 2540/3932/2650 2539/3933/2528 f 2541/3934/2530 2540/3935/2650 2512/3936/2502 f 2541/3937/2530 2542/3938/2529 2540/3939/2650 f 2513/3940/2503 2543/3941/2651 2542/3942/2529 f 2515/3943/2648 2543/3944/2651 2513/3945/2503 f 2515/3946/2648 2516/3947/2506 2543/3948/2651 f 2543/3949/2651 2516/3950/2506 2544/3951/2652 f 2516/3952/2506 2535/3953/2524 2544/3954/2652 f 2535/3955/2524 2545/3956/2531 2544/3957/2652 f 2545/3958/2531 2537/3959/2526 2546/3960/2653 f 2540/3961/2650 2546/3962/2653 2537/3963/2526 f 2546/3964/2653 2540/3965/2650 2542/3966/2529 f 2545/3967/2531 2546/3968/2653 2542/3969/2529 f 2542/3970/2529 2543/3971/2651 2545/3972/2531 f 2543/3973/2651 2544/3974/2652 2545/3975/2531 f 2540/3976/2650 2537/3977/2526 2539/3978/2528 f 2512/3979/2502 2513/3980/2503 2541/3981/2530 f 2547/3982/2532 2528/3983/2520 2506/3984/2497 f 2506/3985/2497 2528/3986/2520 2504/3987/2495 f 2508/3988/2501 2547/3989/2532 2506/3990/2497 f 2611/3991/2596 2608/3992/2593 2610/3993/2595 f 2614/3994/2654 2613/3995/2598 2611/3996/2596 f 2614/3997/2654 2615/3998/2619 2613/3999/2598 f 2614/4000/2654 2616/4001/2600 2615/4002/2619 f 2617/4003/2601 2616/4004/2600 2614/4005/2654 f 2621/4006/2604 2623/4007/2655 2622/4008/2605 f 2624/4009/2656 2623/4010/2655 2621/4011/2604 f 2624/4012/2656 2625/4013/2657 2623/4014/2655 f 2626/4015/2616 2625/4016/2657 2624/4017/2656 f 2626/4018/2616 2627/4019/2658 2625/4020/2657 f 2628/4021/2659 2627/4022/2658 2626/4023/2616 f 2628/4024/2659 2629/4025/2607 2627/4026/2658 f 2630/4027/2608 2629/4028/2607 2628/4029/2659 f 2633/4030/2610 2612/4031/2597 2632/4032/2609 f 2635/4033/2612 2638/4034/2615 2637/4035/2614 f 2630/4036/2608 2628/4037/2659 2626/4038/2616 f 2626/4039/2616 2624/4040/2656 2621/4041/2604 f 2639/4042/2660 2638/4043/2615 2620/4044/2603 f 2639/4045/2660 2637/4046/2614 2638/4047/2615 f 2636/4048/2613 2637/4049/2614 2639/4050/2660 f 2640/4051/2617 2636/4052/2613 2639/4053/2660 f 2640/4054/2617 2618/4055/2599 2609/4056/2594 f 2640/4057/2617 2641/4058/2618 2618/4059/2599 f 2640/4060/2617 2639/4061/2660 2641/4062/2618 f 2641/4063/2618 2639/4064/2660 2620/4065/2603 f 2609/4066/2594 2618/4067/2599 2610/4068/2595 f 2618/4069/2599 2617/4070/2601 2610/4071/2595 f 2617/4072/2601 2614/4073/2654 2610/4074/2595 f 2610/4075/2595 2614/4076/2654 2611/4077/2596 f 2612/4078/2597 2613/4079/2598 2615/4080/2619 f 2616/4081/2600 2643/4082/2621 2615/4083/2619 f 2622/4084/2605 2623/4085/2655 2643/4086/2621 f 2623/4087/2655 2644/4088/2661 2643/4089/2621 f 2625/4090/2657 2644/4091/2661 2623/4092/2655 f 2625/4093/2657 2642/4094/2620 2644/4095/2661 f 2627/4096/2658 2642/4097/2620 2625/4098/2657 f 2627/4099/2658 2645/4100/2662 2642/4101/2620 f 2629/4102/2607 2645/4103/2662 2627/4104/2658 f 2629/4105/2607 2632/4106/2609 2645/4107/2662 f 2632/4108/2609 2642/4109/2620 2645/4110/2662 f 2642/4111/2620 2643/4112/2621 2644/4113/2661 f 1998/4114/2009 1999/4115/2630 2000/4116/2623 f 2004/4117/2011 2017/4118/2628 2003/4119/2012 f 1991/4120/2002 1993/4121/2005 1990/4122/2003 o mesh5.002_mesh5-geometry v 1.065412 46.863007 5.382992 v 0.814614 48.721657 7.385002 v -2.291054 45.893768 5.936697 v 2.679973 47.568188 2.108152 v 2.627623 50.117409 4.061530 v 2.944080 47.392677 -2.819180 v 1.804453 49.803410 -0.346304 v 0.379266 47.547161 -4.997488 v 0.862759 44.013824 -7.649930 v 3.980835 44.079376 -4.798885 v 3.730884 42.572792 -0.498188 v 2.272183 41.675362 1.979370 v -1.243184 41.004128 2.394234 v -5.554890 46.383373 3.516229 v -5.030422 41.589325 0.149043 v -5.890252 46.923702 -0.245233 v -5.418642 42.533672 -2.818614 v -3.763315 36.026711 -2.831666 v -0.247471 35.555111 -0.745803 v -1.354787 27.707190 -7.140965 v -1.680997 28.452532 -9.241504 v 0.637760 20.527096 -10.104518 v 1.140435 27.205481 -4.979257 v 2.173983 19.984257 -8.141270 v 2.316846 15.620215 -9.146283 v 0.718561 16.585384 -11.390845 v 0.331270 14.764431 -12.348340 v 1.981766 13.470652 -9.715823 v -0.144927 13.138534 -13.507520 v 1.371705 10.927938 -10.457692 v -1.371160 11.072756 -14.293248 v 0.755974 8.604320 -10.374156 v -2.757455 7.928782 -14.691354 v -0.117119 6.003036 -9.705232 v -3.732631 4.788722 -11.959235 v -2.884295 6.808886 -15.933040 v -3.961456 4.337011 -12.496228 v -2.789244 5.087214 -17.007202 v -3.952054 2.888376 -13.589728 v 5.395082 3.001920 -12.962943 v 2.083164 0.867990 -8.635404 v 2.118197 2.500321 -7.828017 v 5.380334 4.633289 -11.739963 v 6.221921 9.764775 -15.066960 v 6.299401 10.380381 -13.436595 v 6.963306 13.425476 -16.784300 v 7.401298 14.208796 -14.828214 v 7.778485 16.923954 -18.386852 v 7.080629 15.930288 -13.175559 v 6.728287 18.570498 -17.100489 v 4.658382 17.579639 -19.648643 v 5.035581 16.087862 -20.059088 v 7.082665 15.657898 -19.231546 v 6.687053 13.195816 -20.589064 v 5.327042 13.481190 -21.138485 v 5.457089 10.435824 -22.904795 v 6.516754 10.213736 -22.477066 v 6.147977 11.608456 -18.722736 v 2.842790 14.290833 -18.449909 v 3.924245 12.075043 -19.621052 v 4.328603 9.361065 -21.595551 v 6.043979 9.001553 -20.903149 v 1.252736 15.500895 -17.314714 v -0.672402 11.844336 -16.254484 v 0.300191 11.007594 -17.459564 v 0.689855 16.872429 -15.538507 v 0.694903 18.385271 -13.900123 v 0.329850 21.347183 -12.373639 v 0.369846 29.640512 -11.613684 v -4.212138 37.544144 -5.559052 v -3.014394 43.979546 -7.013293 v -2.133489 39.165123 -8.859841 v 1.463649 39.617176 -9.438452 v 2.769568 30.087517 -11.996031 v 4.538390 39.104305 -6.894634 v 4.398211 37.398033 -3.391732 v 2.913495 36.243340 -1.083925 v 3.565072 27.854012 -5.805964 v 4.276612 20.639530 -9.121519 v 4.674654 16.480581 -10.195594 v 4.829677 14.128692 -10.714564 v 4.955949 12.141791 -11.515611 v 4.781144 10.153599 -11.568168 v 4.247407 5.874106 -10.734571 v 1.901814 3.123025 -7.575638 v -1.137416 2.334682 -5.625384 v -3.029823 2.835443 -6.617260 v -3.229736 1.993436 -6.639835 v -3.311244 0.490460 -7.411255 v -1.382085 -0.017659 -6.405430 v -1.325696 1.490345 -5.643540 v 6.084737 18.035185 -12.373723 v 5.356819 19.965424 -15.244996 v 5.360506 21.501345 -11.011344 v 4.921108 22.415771 -13.624866 v 3.798749 22.489388 -14.220621 v 4.741923 29.772703 -10.430540 v 4.896149 28.646963 -7.450671 v 2.423311 22.339239 -14.301302 v 3.123925 20.025797 -15.921424 v 4.237939 19.995674 -15.583945 v 4.326996 18.924524 -17.988382 v -3.336607 47.183186 -4.497360 v -3.711030 49.511936 -2.368996 v -6.020353 49.442341 1.663952 v -5.647087 48.493412 5.637376 v -3.020901 47.977901 8.163345 v 0.791973 50.536583 8.580955 v -3.437904 49.842052 9.251513 v -3.774260 51.977303 10.080604 v -5.886479 50.300034 6.783990 v -6.184033 51.443977 3.027639 v -6.325737 51.950127 7.532138 v -3.891038 53.151119 10.298205 v -6.713203 53.223621 7.799270 v -7.061526 53.857403 3.855558 v -4.008746 52.680843 0.618300 v -3.908734 50.994789 -0.523135 v -0.172095 50.018799 -2.735835 v 1.984682 51.273159 1.068949 v -0.751322 51.598457 -0.977178 v -1.124086 53.317261 -0.027087 v 2.126475 52.890553 2.223279 v -1.185577 54.317223 -0.163120 v 2.538505 54.332512 2.205115 v 2.634266 54.192867 6.396688 v 2.867555 57.068783 6.118881 v 2.658297 57.028812 2.020636 v 2.547400 64.983223 6.326583 v 2.688040 64.986717 0.732040 v 2.707202 73.392990 6.529133 v 2.819846 73.580856 0.384392 v 2.393851 81.737587 6.983870 v 2.503198 81.928329 0.737867 v -1.972188 73.459526 -2.492824 v -1.706243 65.043510 -1.868771 v -1.252247 57.084240 -0.376427 v -4.690138 54.076454 0.317217 v -7.831193 56.694141 3.354552 v -7.536149 56.489216 8.017742 v -4.136406 56.630013 10.691778 v -9.173231 64.414452 8.338767 v -9.434383 64.558723 3.199280 v -6.554118 64.659271 -1.679422 v -5.499686 56.739845 -0.110171 v -7.208968 73.225601 -2.234071 v -10.396976 72.928795 3.107146 v -10.109716 72.768066 8.920127 v -5.217604 64.490440 11.608110 v 0.535172 56.778221 10.148924 v 0.695273 53.489735 9.784801 v 0.668438 52.221092 9.419286 v 2.693751 51.750359 5.348881 v 0.072129 64.742012 10.751061 v -0.086074 73.123154 11.537230 v -0.461985 81.461243 12.119439 v 0.186165 89.277420 11.570992 v 2.011395 89.485664 5.922347 v 0.894845 89.592484 0.136645 v -2.254360 81.809013 -2.156765 v -7.848767 81.561600 -1.964271 v -11.097338 81.259666 3.461542 v -10.810881 81.094627 9.418111 v -5.858409 72.847466 12.421038 v -6.191061 81.188957 12.952019 v -9.535351 88.946106 10.964783 v -10.962400 89.043472 5.114111 v -8.826666 89.261131 -0.469562 v -3.965676 89.467323 -1.764934 v -4.903740 89.050323 13.370448 vt 0.359763 0.275100 vt 0.361417 0.289692 vt 0.387721 0.278085 vt 0.329997 0.267715 vt 0.331877 0.285681 vt 0.304957 0.254859 vt 0.306819 0.270295 vt 0.285437 0.252317 vt 0.285437 0.227820 vt 0.304832 0.228244 vt 0.332180 0.232355 vt 0.360000 0.236762 vt 0.387641 0.238278 vt 0.417628 0.274396 vt 0.415968 0.237033 vt 0.446724 0.266467 vt 0.443950 0.232144 vt 0.414066 0.198917 vt 0.387562 0.198917 vt 0.408038 0.142241 vt 0.430049 0.142241 vt 0.404498 0.087159 vt 0.387655 0.142241 vt 0.386459 0.087159 vt 0.652291 0.179172 vt 0.638952 0.152685 vt 0.639240 0.174731 vt 0.659778 0.158444 vt 0.663429 0.144840 vt 0.639181 0.137383 vt 0.672673 0.123150 vt 0.637715 0.108106 vt 0.675362 0.104865 vt 0.637296 0.093110 vt 0.676089 0.086106 vt 0.636878 0.078460 vt 0.665640 0.047109 vt 0.693939 0.074569 vt 0.673855 0.036735 vt 0.704631 0.065625 vt 0.679042 0.026882 vt 0.587916 0.243415 vt 0.560591 0.296034 vt 0.587668 0.297900 vt 0.550585 0.244231 vt 0.571315 0.068711 vt 0.603188 0.039185 vt 0.593496 0.029313 vt 0.583392 0.081664 vt 0.567046 0.110913 vt 0.579047 0.116734 vt 0.563233 0.153344 vt 0.578523 0.158172 vt 0.548896 0.186666 vt 0.593353 0.171914 vt 0.569629 0.198493 vt 0.739906 0.199653 vt 0.724197 0.181162 vt 0.724476 0.209488 vt 0.728952 0.174969 vt 0.748397 0.193711 vt 0.544333 0.178664 vt 0.532108 0.164989 vt 0.760078 0.176503 vt 0.745367 0.162971 vt 0.775289 0.134084 vt 0.786210 0.144110 vt 0.502808 0.135507 vt 0.549145 0.146223 vt 0.658022 0.285449 vt 0.670512 0.255921 vt 0.658175 0.251969 vt 0.670392 0.282198 vt 0.728728 0.143492 vt 0.716795 0.147781 vt 0.762916 0.119564 vt 0.720007 0.263572 vt 0.704623 0.279249 vt 0.719951 0.275784 vt 0.704713 0.259481 vt 0.515688 0.121255 vt 0.703227 0.153005 vt 0.697042 0.114067 vt 0.709031 0.107965 vt 0.623045 0.247692 vt 0.622845 0.291675 vt 0.691096 0.164918 vt 0.675889 0.179839 vt 0.665696 0.190842 vt 0.423091 0.087159 vt 0.454679 0.142241 vt 0.441022 0.198917 vt 0.471667 0.227859 vt 0.467984 0.198917 vt 0.452678 0.142241 vt 0.490898 0.197293 vt 0.478183 0.142241 vt 0.285437 0.198806 vt 0.308274 0.198917 vt 0.298474 0.142241 vt 0.334420 0.198917 vt 0.360243 0.198917 vt 0.364335 0.142241 vt 0.369350 0.087159 vt 0.626654 0.179310 vt 0.619411 0.162101 vt 0.613112 0.147270 vt 0.604672 0.126774 vt 0.601214 0.107322 vt 0.597756 0.087870 vt 0.610781 0.045341 vt 0.627991 0.024290 vt 0.650395 0.022355 vt 0.651725 0.014087 vt 0.653994 0.005531 vt 0.528614 0.283135 vt 0.528717 0.260305 vt 0.625740 0.014050 vt 0.621503 0.005386 vt 0.602125 0.180987 vt 0.580783 0.205676 vt 0.613056 0.191636 vt 0.597698 0.207154 vt 0.691069 0.217444 vt 0.695835 0.230378 vt 0.705684 0.220046 vt 0.323632 0.087159 vt 0.304117 0.087159 vt 0.318593 0.142241 vt 0.344672 0.142241 vt 0.349500 0.087159 vt 0.470812 0.087159 vt 0.445347 0.087159 vt 0.695845 0.203814 vt 0.681385 0.205398 vt 0.700193 0.211352 vt 0.709011 0.194668 vt 0.490898 0.226313 vt 0.490898 0.250922 vt 0.471871 0.253406 vt 0.470241 0.269190 vt 0.444665 0.284602 vt 0.415070 0.288953 vt 0.388185 0.291526 vt 0.362095 0.298516 vt 0.388380 0.299851 vt 0.388516 0.307060 vt 0.414803 0.297962 vt 0.442333 0.293558 vt 0.414421 0.303947 vt 0.388655 0.309912 vt 0.414057 0.308206 vt 0.443291 0.305957 vt 0.465212 0.290684 vt 0.467269 0.281070 vt 0.490898 0.269040 vt 0.285437 0.270283 vt 0.309032 0.282079 vt 0.285437 0.280014 vt 0.490898 0.278756 vt 0.490898 0.288144 vt 0.285437 0.289469 vt 0.310837 0.291567 vt 0.285437 0.303706 vt 0.309969 0.303762 vt 0.333643 0.306497 vt 0.334369 0.319673 vt 0.308769 0.319673 vt 0.337126 0.348037 vt 0.311334 0.348037 vt 0.337411 0.372773 vt 0.310940 0.373180 vt 0.337678 0.396072 vt 0.310579 0.396072 vt 0.285437 0.372773 vt 0.285437 0.348037 vt 0.285437 0.319673 vt 0.490898 0.319673 vt 0.490898 0.302315 vt 0.466804 0.302854 vt 0.443033 0.319673 vt 0.412512 0.319673 vt 0.388945 0.319673 vt 0.412929 0.348037 vt 0.441710 0.348037 vt 0.467191 0.348037 vt 0.468599 0.319673 vt 0.490898 0.348037 vt 0.490898 0.372773 vt 0.467591 0.373180 vt 0.441306 0.372773 vt 0.412498 0.372777 vt 0.389678 0.348037 vt 0.364916 0.319673 vt 0.363089 0.308422 vt 0.362592 0.304452 vt 0.334291 0.294380 vt 0.365715 0.348037 vt 0.366021 0.372777 vt 0.366309 0.396072 vt 0.366757 0.432228 vt 0.338095 0.432228 vt 0.310016 0.432228 vt 0.285437 0.396072 vt 0.490898 0.396072 vt 0.467959 0.396072 vt 0.440927 0.396072 vt 0.412093 0.396072 vt 0.389568 0.372773 vt 0.389465 0.396072 vt 0.411463 0.432228 vt 0.440336 0.432228 vt 0.468531 0.432228 vt 0.490898 0.432228 vt 0.285437 0.432228 vt 0.389304 0.432228 vn 0.651265 -0.417127 0.633869 vn 0.636769 -0.482681 0.601215 vn -0.093142 -0.667531 0.738701 vn 0.960021 -0.042848 0.276498 vn 0.997833 -0.014130 0.063997 vn 0.802942 0.489731 -0.339702 vn 0.762505 0.505814 -0.403333 vn 0.219337 0.667409 -0.711600 vn 0.230018 0.495865 -0.837367 vn 0.916288 0.296457 -0.269234 vn 0.942473 -0.031343 0.332743 vn 0.554949 -0.356700 0.751488 vn -0.244575 -0.559679 0.791772 vn -0.779870 -0.437391 0.447707 vn -0.817774 -0.385876 0.426954 vn -0.974700 0.073305 -0.211127 vn -0.982482 -0.089267 -0.163518 vn -0.882138 -0.377117 0.282052 vn -0.157384 -0.505142 0.848537 vn -0.790185 -0.421308 0.445021 vn -0.961028 -0.184362 -0.205817 vn -0.893246 -0.262062 0.365246 vn -0.164708 -0.451064 0.877132 vn -0.048891 -0.301096 0.952330 vn -0.381756 -0.207221 0.900693 vn -0.979034 -0.043733 0.198828 vn -0.938261 0.047426 0.342601 vn -0.326060 -0.222327 0.918821 vn -0.956755 0.230720 0.177038 vn -0.317972 0.023347 0.947783 vn -0.875790 0.363262 0.317789 vn -0.310953 0.234901 0.920896 vn -0.881741 0.420911 0.212928 vn -0.201025 0.664357 0.719840 vn -0.836360 0.500626 0.223212 vn -0.897488 0.296915 -0.326029 vn -0.983215 0.181860 0.013123 vn -0.662221 -0.153935 -0.733299 vn -0.701804 -0.633900 -0.324931 vn 0.699362 -0.629048 -0.339305 vn 0.452498 -0.873714 0.178411 vn 0.699057 -0.216041 0.681600 vn 0.884457 -0.063387 0.462233 vn 0.786035 -0.344340 -0.513352 vn 0.919675 -0.097537 0.380322 vn 0.899472 -0.422742 -0.110477 vn 0.962371 -0.174627 0.208167 vn 0.884213 0.221809 -0.410993 vn 0.911710 0.126774 0.390728 vn 0.547838 0.780297 -0.301645 vn -0.247383 0.503159 -0.827998 vn 0.067843 0.335368 -0.939634 vn 0.805139 0.080447 -0.587573 vn 0.806116 0.189642 -0.560503 vn -0.352855 0.333476 -0.874203 vn -0.223518 0.195105 -0.954955 vn 0.750664 -0.435896 -0.496414 vn 0.437300 -0.638874 0.632923 vn -0.407582 -0.574419 0.709873 vn -0.407368 -0.574186 0.710184 vn -0.941313 -0.318400 0.111911 vn -0.634449 -0.220588 -0.740776 vn -0.448042 -0.795587 -0.407697 vn 0.072323 -0.800574 -0.594854 vn 0.072323 -0.800574 -0.594853 vn 0.097903 -0.903439 0.417371 vn -0.407159 -0.576372 0.708531 vn -0.406870 -0.576275 0.708776 vn -0.793695 0.222999 -0.565905 vn -0.827265 0.362835 -0.428877 vn -0.231544 -0.035340 -0.972167 vn -0.906095 0.308969 -0.288919 vn -0.865230 0.231269 -0.444807 vn -0.936399 -0.010132 -0.350719 vn -0.554888 0.131535 -0.821436 vn -0.922117 -0.076235 -0.379254 vn -0.622059 0.330241 -0.709891 vn -0.486770 0.195044 -0.851436 vn 0.244697 0.334819 -0.909940 vn 0.304239 0.308878 -0.901089 vn 0.865169 0.225684 -0.447768 vn 0.967528 -0.048250 0.248054 vn 0.656606 -0.315348 0.685110 vn 0.607715 -0.312449 0.730094 vn 0.708396 -0.184027 0.681387 vn 0.650075 -0.091647 0.754295 vn 0.569262 -0.217811 0.792749 vn 0.642659 -0.193335 0.741325 vn 0.499252 0.000916 0.866421 vn 0.513474 0.222968 0.828608 vn 0.553697 0.298776 0.777245 vn 0.070925 0.267830 0.960845 vn -0.691366 0.484298 0.536119 vn -0.825373 -0.012421 0.564409 vn -0.598834 -0.757164 0.260903 vn 0.016999 -0.836299 0.547990 vn 0.048891 -0.315195 0.947752 vn 0.929838 0.153630 0.334269 vn 0.768426 0.551042 -0.325358 vn 0.991363 0.078890 0.104617 vn 0.765862 0.330973 -0.551256 vn 0.242683 0.463118 -0.852412 vn 0.945585 0.153569 -0.286782 vn 0.944823 -0.085116 0.316233 vn -0.417402 0.307199 -0.855190 vn -0.242500 0.593341 -0.767541 vn 0.233253 0.755730 -0.611866 vn -0.254372 0.770959 -0.583819 vn -0.466536 0.540513 -0.700095 vn -0.600513 0.533525 -0.595538 vn -0.947295 0.154057 -0.280801 vn -0.859035 -0.389691 0.331919 vn -0.217078 -0.618915 0.754845 vn 0.545640 -0.391186 0.741081 vn -0.269295 -0.459151 0.846522 vn -0.282174 -0.361370 0.888668 vn -0.854579 -0.348949 0.384564 vn -0.962004 -0.095584 -0.255715 vn -0.863826 -0.339366 0.372295 vn -0.291116 -0.223212 0.930265 vn -0.865108 -0.266427 0.424940 vn -0.906949 -0.302805 -0.292734 vn -0.542680 0.095614 -0.834468 vn -0.467360 0.584704 -0.663045 vn 0.171026 0.708884 -0.684225 vn 0.804559 0.374615 -0.460738 vn 0.153386 0.607044 -0.779687 vn 0.180822 0.198370 -0.963286 vn 0.861080 0.090091 -0.500412 vn 0.213691 -0.138615 -0.966979 vn 0.857509 -0.132420 -0.497085 vn 0.982543 -0.098758 0.157445 vn 0.961058 -0.013459 0.275979 vn 0.914243 -0.051180 -0.401898 vn 0.967772 -0.002167 0.251686 vn 0.874142 -0.066927 -0.480972 vn 0.965209 -0.002472 0.261391 vn 0.874355 0.004791 -0.485244 vn 0.973022 0.031159 0.228492 vn 0.854488 0.080782 -0.513108 vn 0.246864 -0.007691 -0.968993 vn 0.247902 -0.118259 -0.961516 vn 0.277871 -0.126316 -0.952239 vn -0.473525 -0.295419 -0.829737 vn -0.919218 -0.259285 -0.296213 vn -0.901944 -0.220374 0.371319 vn -0.330821 -0.150273 0.931639 vn -0.880367 -0.161901 0.445723 vn -0.957976 -0.156682 -0.240211 vn -0.493149 -0.157994 -0.855464 vn -0.379101 -0.243110 -0.892819 vn -0.511063 -0.047548 -0.858211 vn -0.965484 -0.089938 -0.244362 vn -0.888211 -0.115268 0.444685 vn -0.262856 -0.121891 0.957091 vn 0.472579 -0.059542 0.879238 vn 0.616749 -0.135685 0.775353 vn 0.489059 -0.264412 0.831202 vn 0.959777 -0.115696 0.255684 vn 0.571734 -0.042879 0.819269 vn 0.570635 -0.048341 0.819758 vn 0.595813 -0.023316 0.802759 vn 0.777978 0.032228 0.627400 vn 0.992431 0.112247 0.049623 vn 0.678579 0.131657 -0.722587 vn 0.220130 0.057466 -0.973754 vn -0.542375 0.021729 -0.839839 vn -0.976287 -0.023072 -0.215094 vn -0.872097 -0.036500 0.487930 vn -0.253975 -0.095798 0.962432 vn -0.219581 -0.053713 0.974090 vn -0.727012 0.028779 0.685995 vn -0.997131 0.071688 -0.023133 vn -0.744987 0.084994 -0.661611 vn 0.021302 0.111332 -0.993530 vn 0.006104 -0.003388 0.999969 g mesh5.002_mesh5-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 2651/4123/2663 2652/4124/2664 2653/4125/2665 f 2652/4124/2664 2651/4123/2663 2654/4126/2666 f 2654/4126/2666 2655/4127/2667 2652/4124/2664 f 2656/4128/2668 2655/4127/2667 2654/4126/2666 f 2656/4128/2668 2657/4129/2669 2655/4127/2667 f 2656/4128/2668 2658/4130/2670 2657/4129/2669 f 2658/4130/2670 2656/4128/2668 2659/4131/2671 f 2656/4128/2668 2660/4132/2672 2659/4131/2671 f 2660/4132/2672 2656/4128/2668 2654/4126/2666 f 2660/4132/2672 2654/4126/2666 2661/4133/2673 f 2661/4133/2673 2654/4126/2666 2662/4134/2674 f 2654/4126/2666 2651/4123/2663 2662/4134/2674 f 2651/4123/2663 2653/4125/2665 2662/4134/2674 f 2653/4125/2665 2663/4135/2675 2662/4134/2674 f 2664/4136/2676 2663/4135/2675 2653/4125/2665 f 2664/4136/2676 2665/4137/2677 2663/4135/2675 f 2666/4138/2678 2665/4137/2677 2664/4136/2676 f 2667/4139/2679 2665/4137/2677 2666/4138/2678 f 2668/4140/2680 2665/4137/2677 2667/4139/2679 f 2665/4137/2677 2668/4140/2680 2669/4141/2681 f 2668/4140/2680 2670/4142/2682 2669/4141/2681 f 2671/4143/2683 2670/4142/2682 2668/4140/2680 f 2672/4144/2684 2670/4142/2682 2671/4143/2683 f 2672/4144/2684 2673/4145/2685 2670/4142/2682 f 2672/4144/2684 2674/4146/2686 2673/4145/2685 f 2672/4147/2684 2675/4148/2687 2674/4149/2686 f 2676/4150/2688 2675/4148/2687 2672/4147/2684 f 2677/4151/2689 2675/4148/2687 2676/4150/2688 f 2677/4151/2689 2678/4152/2690 2675/4148/2687 f 2679/4153/2691 2678/4152/2690 2677/4151/2689 f 2679/4153/2691 2680/4154/2692 2678/4152/2690 f 2681/4155/2693 2680/4154/2692 2679/4153/2691 f 2681/4155/2693 2682/4156/2694 2680/4154/2692 f 2683/4157/2695 2682/4156/2694 2681/4155/2693 f 2683/4157/2695 2684/4158/2696 2682/4156/2694 f 2684/4158/2696 2683/4157/2695 2685/4159/2697 f 2686/4160/2698 2685/4159/2697 2683/4157/2695 f 2686/4160/2698 2687/4161/2699 2685/4159/2697 f 2688/4162/2700 2687/4161/2699 2686/4160/2698 f 2688/4162/2700 2689/4163/2701 2687/4161/2699 f 2690/4164/2702 2689/4165/2701 2688/4166/2700 f 2690/4164/2702 2691/4167/2703 2689/4165/2701 f 2690/4168/2702 2692/4169/2704 2691/4170/2703 f 2690/4168/2702 2693/4171/2705 2692/4169/2704 f 2694/4172/2706 2693/4171/2705 2690/4168/2702 f 2694/4172/2706 2695/4173/2707 2693/4171/2705 f 2696/4174/2708 2695/4173/2707 2694/4172/2706 f 2696/4174/2708 2697/4175/2709 2695/4173/2707 f 2698/4176/2710 2697/4175/2709 2696/4174/2708 f 2698/4176/2710 2699/4177/2711 2697/4175/2709 f 2698/4176/2710 2700/4178/2712 2699/4177/2711 f 2698/4179/2710 2701/4180/2713 2700/4181/2712 f 2701/4180/2713 2698/4179/2710 2702/4182/2714 f 2698/4179/2710 2703/4183/2715 2702/4182/2714 f 2703/4184/2715 2698/4176/2710 2696/4174/2708 f 2704/4185/2716 2703/4184/2715 2696/4174/2708 f 2702/4182/2714 2703/4183/2715 2704/4186/2716 f 2702/4182/2714 2704/4186/2716 2705/4187/2717 f 2705/4187/2717 2704/4186/2716 2706/4188/2718 f 2704/4186/2716 2707/4189/2719 2706/4188/2718 f 2707/4190/2719 2704/4185/2716 2708/4191/2720 f 2704/4185/2716 2696/4174/2708 2708/4191/2720 s off f 2709/4192/2721 2708/4193/2721 2696/4194/2721 f 2709/4192/2722 2710/4195/2722 2708/4193/2722 s 1 f 2705/4187/2717 2710/4196/2723 2709/4197/2724 f 2706/4188/2718 2710/4196/2723 2705/4187/2717 f 2706/4188/2718 2711/4198/2725 2710/4196/2723 s off f 2707/4199/2726 2711/4200/2726 2706/4201/2726 f 2707/4199/2727 2712/4202/2727 2711/4200/2727 s 1 f 2707/4190/2719 2708/4191/2720 2712/4203/2728 s off f 2710/4195/2729 2712/4202/2729 2708/4193/2729 f 2710/4195/2730 2711/4200/2730 2712/4202/2730 s 1 f 2702/4182/2714 2705/4187/2717 2709/4197/2724 f 2701/4180/2713 2702/4182/2714 2709/4197/2724 f 2701/4180/2713 2709/4197/2724 2713/4204/2731 f 2713/4204/2731 2709/4197/2724 2714/4205/2732 f 2709/4197/2724 2715/4206/2733 2714/4205/2732 f 2709/4192/2724 2694/4207/2706 2715/4208/2733 f 2709/4192/2724 2696/4194/2708 2694/4207/2706 f 2715/4208/2733 2694/4207/2706 2690/4164/2702 f 2715/4208/2733 2690/4164/2702 2688/4166/2700 f 2715/4206/2733 2688/4162/2700 2686/4160/2698 f 2714/4205/2732 2715/4206/2733 2686/4160/2698 f 2714/4205/2732 2686/4160/2698 2683/4157/2695 f 2714/4205/2732 2683/4157/2695 2681/4155/2693 f 2714/4205/2732 2681/4155/2693 2679/4153/2691 f 2713/4204/2731 2714/4205/2732 2679/4153/2691 f 2713/4204/2731 2679/4153/2691 2716/4209/2734 f 2716/4209/2734 2679/4153/2691 2677/4151/2689 f 2716/4209/2734 2677/4151/2689 2676/4150/2688 f 2716/4209/2734 2676/4150/2688 2717/4210/2735 f 2717/4210/2735 2676/4150/2688 2718/4211/2736 f 2718/4211/2736 2676/4150/2688 2672/4147/2684 f 2718/4212/2736 2672/4144/2684 2671/4143/2683 f 2718/4212/2736 2671/4143/2683 2719/4213/2737 f 2719/4213/2737 2671/4143/2683 2720/4214/2738 f 2671/4143/2683 2668/4140/2680 2720/4214/2738 f 2720/4214/2738 2668/4140/2680 2667/4139/2679 f 2721/4215/2739 2720/4214/2738 2667/4139/2679 f 2722/4216/2740 2720/4214/2738 2721/4215/2739 f 2719/4217/2737 2720/4214/2738 2722/4216/2740 f 2723/4218/2741 2719/4217/2737 2722/4216/2740 f 2723/4218/2741 2724/4219/2742 2719/4217/2737 f 2723/4220/2741 2725/4221/2743 2724/4222/2742 f 2660/4132/2672 2725/4221/2743 2723/4220/2741 f 2725/4221/2743 2660/4132/2672 2726/4223/2744 f 2660/4132/2672 2661/4133/2673 2726/4223/2744 f 2726/4223/2744 2661/4133/2673 2727/4224/2745 f 2727/4224/2745 2661/4133/2673 2662/4134/2674 f 2662/4134/2674 2669/4141/2681 2727/4224/2745 f 2662/4134/2674 2663/4135/2675 2669/4141/2681 f 2665/4137/2677 2669/4141/2681 2663/4135/2675 f 2727/4224/2745 2669/4141/2681 2728/4225/2746 f 2669/4141/2681 2673/4145/2685 2728/4225/2746 f 2670/4142/2682 2673/4145/2685 2669/4141/2681 f 2728/4225/2746 2673/4145/2685 2729/4226/2747 f 2673/4145/2685 2674/4146/2686 2729/4226/2747 f 2729/4227/2747 2674/4149/2686 2730/4228/2748 f 2674/4149/2686 2675/4148/2687 2730/4228/2748 f 2730/4228/2748 2675/4148/2687 2731/4229/2749 f 2675/4148/2687 2678/4152/2690 2731/4229/2749 f 2731/4229/2749 2678/4152/2690 2732/4230/2750 f 2678/4152/2690 2680/4154/2692 2732/4230/2750 f 2732/4230/2750 2680/4154/2692 2733/4231/2751 f 2680/4154/2692 2682/4156/2694 2733/4231/2751 f 2733/4231/2751 2682/4156/2694 2734/4232/2752 f 2682/4156/2694 2684/4158/2696 2734/4232/2752 f 2684/4158/2696 2735/4233/2753 2734/4232/2752 f 2735/4233/2753 2684/4158/2696 2736/4234/2754 f 2684/4158/2696 2737/4235/2755 2736/4234/2754 f 2684/4158/2696 2685/4159/2697 2737/4235/2755 f 2687/4161/2699 2737/4235/2755 2685/4159/2697 f 2687/4161/2699 2738/4236/2756 2737/4235/2755 f 2689/4163/2701 2738/4236/2756 2687/4161/2699 f 2689/4163/2701 2739/4237/2757 2738/4236/2756 f 2691/4167/2703 2739/4238/2757 2689/4165/2701 f 2691/4167/2703 2740/4239/2758 2739/4238/2757 f 2741/4240/2759 2740/4241/2758 2691/4170/2703 f 2741/4240/2759 2739/4237/2757 2740/4241/2758 f 2738/4236/2756 2739/4237/2757 2741/4240/2759 f 2736/4234/2754 2738/4236/2756 2741/4240/2759 f 2737/4235/2755 2738/4236/2756 2736/4234/2754 f 2692/4169/2704 2736/4234/2754 2741/4240/2759 f 2735/4233/2753 2736/4234/2754 2692/4169/2704 f 2693/4171/2705 2735/4233/2753 2692/4169/2704 f 2693/4171/2705 2734/4232/2752 2735/4233/2753 f 2695/4173/2707 2734/4232/2752 2693/4171/2705 f 2695/4173/2707 2733/4231/2751 2734/4232/2752 f 2695/4173/2707 2732/4230/2750 2733/4231/2751 f 2697/4175/2709 2732/4230/2750 2695/4173/2707 f 2697/4175/2709 2699/4177/2711 2732/4230/2750 f 2699/4177/2711 2731/4229/2749 2732/4230/2750 f 2699/4177/2711 2730/4228/2748 2731/4229/2749 f 2699/4177/2711 2742/4242/2760 2730/4228/2748 f 2743/4243/2761 2742/4242/2760 2699/4177/2711 f 2743/4243/2761 2744/4244/2762 2742/4242/2760 f 2743/4243/2761 2745/4245/2763 2744/4244/2762 f 2746/4246/2764 2745/4247/2763 2743/4248/2761 f 2724/4222/2742 2745/4249/2763 2746/4250/2764 f 2724/4222/2742 2747/4251/2765 2745/4249/2763 f 2725/4221/2743 2747/4251/2765 2724/4222/2742 f 2747/4251/2765 2725/4221/2743 2726/4223/2744 f 2747/4251/2765 2726/4223/2744 2748/4252/2766 f 2748/4252/2766 2726/4223/2744 2728/4225/2746 f 2728/4225/2746 2726/4223/2744 2727/4224/2745 f 2729/4226/2747 2748/4252/2766 2728/4225/2746 f 2744/4253/2762 2748/4252/2766 2729/4226/2747 f 2744/4253/2762 2747/4251/2765 2748/4252/2766 f 2745/4249/2763 2747/4251/2765 2744/4253/2762 f 2742/4242/2760 2744/4244/2762 2729/4227/2747 f 2742/4242/2760 2729/4227/2747 2730/4228/2748 f 2724/4219/2742 2746/4254/2764 2749/4255/2767 f 2746/4246/2764 2750/4256/2768 2749/4257/2767 f 2746/4246/2764 2751/4258/2769 2750/4256/2768 f 2746/4246/2764 2743/4248/2761 2751/4258/2769 f 2700/4181/2712 2751/4258/2769 2743/4248/2761 f 2700/4181/2712 2752/4259/2770 2751/4258/2769 f 2700/4181/2712 2701/4180/2713 2752/4259/2770 f 2701/4180/2713 2716/4209/2734 2752/4259/2770 f 2701/4180/2713 2713/4204/2731 2716/4209/2734 f 2752/4259/2770 2716/4209/2734 2717/4210/2735 f 2752/4259/2770 2717/4210/2735 2750/4256/2768 f 2750/4256/2768 2717/4210/2735 2749/4257/2767 f 2749/4257/2767 2717/4210/2735 2718/4211/2736 f 2719/4213/2737 2749/4255/2767 2718/4212/2736 f 2724/4219/2742 2749/4255/2767 2719/4213/2737 f 2752/4259/2770 2750/4256/2768 2751/4258/2769 f 2700/4178/2712 2743/4243/2761 2699/4177/2711 f 2692/4169/2704 2741/4240/2759 2691/4170/2703 f 2660/4132/2672 2723/4220/2741 2659/4131/2671 f 2659/4260/2671 2723/4218/2741 2722/4216/2740 f 2659/4260/2671 2722/4216/2740 2721/4215/2739 f 2658/4261/2670 2659/4260/2671 2721/4215/2739 f 2658/4261/2670 2721/4215/2739 2753/4262/2771 f 2721/4215/2739 2666/4138/2678 2753/4262/2771 f 2721/4215/2739 2667/4139/2679 2666/4138/2678 f 2753/4262/2771 2666/4138/2678 2754/4263/2772 f 2754/4263/2772 2666/4138/2678 2755/4264/2773 f 2666/4138/2678 2756/4265/2774 2755/4264/2773 f 2666/4138/2678 2664/4136/2676 2756/4265/2774 f 2653/4125/2665 2756/4265/2774 2664/4136/2676 f 2653/4125/2665 2757/4266/2775 2756/4265/2774 f 2652/4124/2664 2757/4266/2775 2653/4125/2665 f 2758/4267/2776 2757/4266/2775 2652/4124/2664 f 2758/4267/2776 2759/4268/2777 2757/4266/2775 f 2760/4269/2778 2759/4268/2777 2758/4267/2776 f 2761/4270/2779 2759/4268/2777 2760/4269/2778 f 2761/4270/2779 2757/4266/2775 2759/4268/2777 f 2756/4265/2774 2757/4266/2775 2761/4270/2779 f 2755/4264/2773 2756/4265/2774 2761/4270/2779 f 2755/4264/2773 2761/4270/2779 2762/4271/2780 f 2762/4271/2780 2761/4270/2779 2763/4272/2781 f 2760/4269/2778 2763/4272/2781 2761/4270/2779 f 2764/4273/2782 2763/4272/2781 2760/4269/2778 f 2765/4274/2783 2763/4272/2781 2764/4273/2782 f 2766/4275/2784 2763/4272/2781 2765/4274/2783 f 2762/4271/2780 2763/4272/2781 2766/4275/2784 f 2767/4276/2785 2762/4271/2780 2766/4275/2784 f 2767/4276/2785 2755/4264/2773 2762/4271/2780 f 2768/4277/2786 2755/4264/2773 2767/4276/2785 f 2754/4263/2772 2755/4264/2773 2768/4277/2786 f 2769/4278/2787 2754/4263/2772 2768/4277/2786 f 2769/4278/2787 2753/4262/2771 2754/4263/2772 f 2769/4278/2787 2658/4261/2670 2753/4262/2771 f 2658/4130/2670 2769/4279/2787 2657/4129/2669 f 2769/4279/2787 2770/4280/2788 2657/4129/2669 f 2770/4280/2788 2769/4279/2787 2771/4281/2789 f 2771/4282/2789 2769/4278/2787 2768/4277/2786 f 2767/4276/2785 2771/4282/2789 2768/4277/2786 f 2772/4283/2790 2771/4282/2789 2767/4276/2785 f 2772/4284/2790 2773/4285/2791 2771/4281/2789 f 2774/4286/2792 2773/4285/2791 2772/4284/2790 f 2775/4287/2793 2773/4285/2791 2774/4286/2792 f 2775/4287/2793 2776/4288/2794 2773/4285/2791 f 2775/4287/2793 2777/4289/2795 2776/4288/2794 f 2778/4290/2796 2777/4289/2795 2775/4287/2793 f 2778/4290/2796 2779/4291/2797 2777/4289/2795 f 2780/4292/2798 2779/4291/2797 2778/4290/2796 f 2780/4292/2798 2781/4293/2799 2779/4291/2797 f 2782/4294/2800 2781/4293/2799 2780/4292/2798 f 2782/4294/2800 2783/4295/2801 2781/4293/2799 f 2782/4294/2800 2784/4296/2802 2783/4295/2801 f 2784/4296/2802 2782/4294/2800 2785/4297/2803 f 2782/4294/2800 2786/4298/2804 2785/4297/2803 f 2782/4294/2800 2780/4292/2798 2786/4298/2804 f 2786/4298/2804 2780/4292/2798 2787/4299/2805 f 2780/4292/2798 2778/4290/2796 2787/4299/2805 f 2787/4299/2805 2778/4290/2796 2775/4287/2793 f 2787/4299/2805 2775/4287/2793 2774/4286/2792 f 2787/4300/2805 2774/4301/2792 2788/4302/2806 f 2774/4301/2792 2767/4276/2785 2788/4302/2806 f 2774/4301/2792 2772/4283/2790 2767/4276/2785 f 2788/4302/2806 2767/4276/2785 2766/4275/2784 f 2788/4302/2806 2766/4275/2784 2789/4303/2807 f 2789/4303/2807 2766/4275/2784 2765/4274/2783 f 2789/4303/2807 2765/4274/2783 2790/4304/2808 f 2791/4305/2809 2790/4304/2808 2765/4274/2783 f 2792/4306/2810 2790/4304/2808 2791/4305/2809 f 2793/4307/2811 2790/4304/2808 2792/4306/2810 f 2793/4307/2811 2789/4303/2807 2790/4304/2808 f 2794/4308/2812 2789/4303/2807 2793/4307/2811 f 2794/4308/2812 2795/4309/2813 2789/4303/2807 f 2786/4310/2804 2795/4309/2813 2794/4308/2812 f 2786/4310/2804 2787/4300/2805 2795/4309/2813 f 2787/4300/2805 2788/4302/2806 2795/4309/2813 f 2795/4309/2813 2788/4302/2806 2789/4303/2807 f 2785/4311/2803 2786/4310/2804 2794/4308/2812 f 2785/4311/2803 2794/4308/2812 2796/4312/2814 f 2796/4312/2814 2794/4308/2812 2793/4307/2811 f 2796/4312/2814 2793/4307/2811 2797/4313/2815 f 2797/4313/2815 2793/4307/2811 2792/4306/2810 f 2797/4313/2815 2792/4306/2810 2798/4314/2816 f 2798/4314/2816 2792/4306/2810 2799/4315/2817 f 2799/4315/2817 2792/4306/2810 2791/4305/2809 f 2799/4315/2817 2791/4305/2809 2800/4316/2818 f 2800/4316/2818 2791/4305/2809 2801/4317/2819 f 2791/4305/2809 2764/4273/2782 2801/4317/2819 f 2791/4305/2809 2765/4274/2783 2764/4273/2782 f 2801/4317/2819 2764/4273/2782 2802/4318/2820 f 2764/4273/2782 2760/4269/2778 2802/4318/2820 f 2802/4318/2820 2760/4269/2778 2758/4267/2776 f 2803/4319/2821 2802/4318/2820 2758/4267/2776 f 2803/4319/2821 2801/4317/2819 2802/4318/2820 f 2803/4319/2821 2776/4288/2794 2801/4317/2819 f 2773/4285/2791 2776/4288/2794 2803/4319/2821 f 2773/4285/2791 2803/4319/2821 2655/4127/2667 f 2655/4127/2667 2803/4319/2821 2758/4267/2776 f 2655/4127/2667 2758/4267/2776 2652/4124/2664 f 2770/4280/2788 2773/4285/2791 2655/4127/2667 f 2773/4285/2791 2770/4280/2788 2771/4281/2789 f 2657/4129/2669 2770/4280/2788 2655/4127/2667 f 2777/4289/2795 2801/4317/2819 2776/4288/2794 f 2777/4289/2795 2800/4316/2818 2801/4317/2819 f 2777/4289/2795 2804/4320/2822 2800/4316/2818 f 2777/4289/2795 2779/4291/2797 2804/4320/2822 f 2779/4291/2797 2805/4321/2823 2804/4320/2822 f 2779/4291/2797 2781/4293/2799 2805/4321/2823 f 2781/4293/2799 2806/4322/2824 2805/4321/2823 f 2781/4293/2799 2783/4295/2801 2806/4322/2824 f 2783/4295/2801 2807/4323/2825 2806/4322/2824 f 2808/4324/2826 2807/4323/2825 2783/4295/2801 f 2784/4296/2802 2808/4324/2826 2783/4295/2801 f 2809/4325/2827 2808/4324/2826 2784/4296/2802 f 2809/4325/2827 2784/4296/2802 2810/4326/2828 f 2784/4296/2802 2785/4297/2803 2810/4326/2828 f 2810/4327/2828 2785/4311/2803 2796/4312/2814 f 2810/4327/2828 2796/4312/2814 2811/4328/2829 f 2796/4312/2814 2797/4313/2815 2811/4328/2829 f 2811/4328/2829 2797/4313/2815 2812/4329/2830 f 2797/4313/2815 2798/4314/2816 2812/4329/2830 f 2812/4329/2830 2798/4314/2816 2813/4330/2831 f 2813/4330/2831 2798/4314/2816 2814/4331/2832 f 2814/4331/2832 2798/4314/2816 2799/4315/2817 f 2814/4331/2832 2799/4315/2817 2804/4320/2822 f 2804/4320/2822 2799/4315/2817 2800/4316/2818 f 2805/4321/2823 2814/4331/2832 2804/4320/2822 f 2815/4332/2833 2814/4331/2832 2805/4321/2823 f 2815/4332/2833 2813/4330/2831 2814/4331/2832 f 2816/4333/2834 2813/4330/2831 2815/4332/2833 f 2817/4334/2835 2813/4330/2831 2816/4333/2834 f 2812/4329/2830 2813/4330/2831 2817/4334/2835 f 2818/4335/2836 2812/4329/2830 2817/4334/2835 f 2811/4328/2829 2812/4329/2830 2818/4335/2836 f 2819/4336/2837 2811/4328/2829 2818/4335/2836 f 2819/4336/2837 2810/4327/2828 2811/4328/2829 f 2809/4325/2827 2810/4326/2828 2819/4337/2837 f 2820/4338/2838 2816/4333/2834 2815/4332/2833 f 2820/4338/2838 2815/4332/2833 2806/4322/2824 f 2806/4322/2824 2815/4332/2833 2805/4321/2823 f 2807/4323/2825 2820/4338/2838 2806/4322/2824 o mesh6.002_mesh6-geometry v 0.952249 166.664627 1.150621 v 2.922750 164.442917 -1.119759 v -0.842853 165.797806 1.060976 v 3.254126 164.625732 -1.097020 v 2.798072 167.562683 2.681816 v 0.594728 167.475632 4.229268 v -0.008813 167.062485 3.371047 v -0.654566 166.854553 3.315115 v -1.261482 166.352661 3.835398 v -1.857574 165.416718 1.514300 v -2.087371 163.089539 -0.549018 v 0.277861 163.733627 -1.356241 v 1.294104 161.151428 -2.577470 v 4.333144 161.618439 -2.048550 v 4.968101 161.737228 -2.130720 v 5.794397 165.835800 0.658040 v 7.910389 162.474380 -0.372808 v 6.147132 166.147110 1.701562 v 6.659536 166.713196 4.063804 v 9.672674 163.372681 3.937915 v 9.441824 162.711884 7.809521 v 6.726227 166.409744 7.501751 v 3.564687 167.686569 7.069901 v 3.364160 167.966827 4.687578 v 0.569306 167.584000 5.443505 v -0.678713 166.895416 5.209417 v -0.381636 166.948654 4.509987 v -0.346097 165.780869 4.512315 v -0.940640 166.019882 5.210444 v -1.690396 165.907562 4.892072 v -2.618442 164.925476 2.317681 v -3.027941 164.656647 4.156948 v -3.251989 162.911270 0.835450 v -3.845345 162.375519 2.856782 v -3.334926 160.414673 -0.214732 v -4.186530 159.704529 1.902502 v -4.070109 156.717346 1.290385 v -2.897321 157.199585 -0.478341 v -3.476790 152.919678 1.176384 v -2.064037 153.305038 -0.107857 v -0.528439 153.502945 -1.159677 v -1.167485 157.477432 -1.515507 v 1.287430 157.734421 -2.405726 v 1.455140 153.973190 -1.914220 v 1.668498 157.787598 -2.307133 v 2.197411 154.077713 -1.761864 v 2.621093 154.107773 -2.154175 v 2.013180 157.811295 -2.651693 v 4.973742 158.122833 -2.067859 v 5.513166 154.414307 -1.506820 v 6.211007 154.485031 -1.456485 v 5.825596 158.204132 -2.173264 v 8.774929 158.499146 -0.228761 v 9.246075 154.789337 -0.176962 v 10.024909 158.465927 1.085978 v 8.862111 162.945969 0.945908 v 11.101372 158.380493 2.988486 v 11.347771 158.577164 3.870791 v 10.974083 158.399918 6.205528 v 10.338795 158.590561 6.448398 v 10.363827 154.220566 6.016535 v 10.586603 154.358643 5.580417 v 11.803740 154.616959 3.765705 v 11.703991 154.702530 3.346620 v 11.530537 154.625046 2.661009 v 10.446751 154.720566 1.070175 v 9.526866 150.959167 0.224326 v 10.650084 150.874435 1.080957 v 11.764175 150.600586 2.208116 v 12.135641 150.352142 3.319436 v 12.492697 150.401932 4.131432 v 11.352518 150.223206 5.659115 v 10.338442 150.061172 5.763003 v 11.030848 146.170349 4.087914 v 12.120697 146.189285 3.993695 v 11.327604 143.354294 2.479425 v 12.572586 143.594666 2.582050 v 12.765692 141.635010 1.290413 v 14.351784 141.835709 1.386125 v 14.115622 143.775146 2.041753 v 13.197094 146.533554 3.137904 v 12.709496 146.762924 2.429228 v 12.344797 147.000259 1.533721 v 11.477039 147.076996 0.691585 v 13.758713 144.091324 0.275788 v 12.570005 144.158905 -0.645870 v 14.607658 142.057526 -1.329357 v 13.332136 141.776001 -2.442925 v 10.608683 144.064026 -1.641574 v 12.063677 141.545914 -3.109065 v 10.067883 143.952026 -1.359646 v 11.189451 141.153305 -3.190599 v 9.676632 147.060898 -0.054871 v 10.008381 147.072281 -0.077086 v 9.246979 150.946838 0.403177 v 6.536397 150.668335 -1.078904 v 7.042891 147.185623 -1.167786 v 9.816891 143.981033 -1.449712 v 7.483727 144.355942 -2.461379 v 10.897297 141.396698 -3.354432 v 8.332613 140.596375 -5.200831 v 7.291770 140.494614 -4.517756 v 6.630108 144.133514 -2.281785 v 6.417978 147.006775 -1.234160 v 5.868474 150.623184 -0.792162 v 5.519224 150.575195 -1.230669 v 5.690027 146.983597 -1.451331 v 6.629760 144.110580 -1.943298 v 5.924864 144.138321 -2.821553 v 3.361278 146.861786 -1.651230 v 3.493952 143.907806 -2.916632 v 6.356894 140.248413 -5.287416 v 6.952900 140.603561 -4.408078 v 3.684473 140.592896 -5.264726 v 2.971224 143.938492 -2.501124 v 2.857200 146.803604 -1.291891 v 2.440155 150.271378 -1.170349 v 2.923138 150.306992 -1.574988 v 1.695916 150.172485 -1.394676 v 2.106385 146.771515 -1.676145 v 2.179486 143.919266 -2.998786 v 2.974093 140.669815 -4.962276 v 1.785406 140.930023 -5.580451 v 0.428356 143.425644 -2.131388 v -0.241373 140.832703 -4.651491 v 0.321998 146.434174 -1.052249 v -0.223777 149.881866 -0.589293 v -0.014351 146.408920 -1.109466 v -0.086830 143.738815 -2.292901 v -0.300387 140.807510 -4.067845 v -1.486969 140.955597 -4.724149 v -1.315904 143.717606 -1.642772 v -2.456632 141.106796 -3.887427 v -2.950455 143.540253 -0.991478 v -3.654307 141.059448 -3.085082 v -3.404066 140.747223 -1.755290 v -3.160561 143.525467 -0.474564 v -2.777545 145.810608 0.777880 v -3.608510 145.655991 1.509796 v -4.389335 143.329620 0.062068 v -4.318823 140.931229 -2.127275 v -5.247340 140.924622 -1.514880 v -3.062035 143.060089 1.275035 v -4.010948 140.884323 -0.897361 v -2.649420 140.718155 -1.182732 v -1.224878 142.704361 1.230431 v -1.202937 145.528580 2.856030 v -2.549901 145.551575 2.570186 v -2.660502 148.783661 4.107594 v -1.638388 148.835007 4.546227 v -2.741462 152.880905 4.755881 v -3.226010 152.948685 4.318304 v -4.178280 152.795746 2.653337 v -3.898711 149.023361 2.700411 v -3.409560 152.900269 1.519676 v -2.868019 149.251175 1.938287 v -2.988763 149.273193 1.379673 v -2.555025 146.015030 0.258616 v -1.272348 146.206100 -0.472728 v -1.517645 149.576874 0.366016 v -4.566880 156.668427 2.522875 v -4.296511 156.685501 4.671166 v -4.096963 157.053192 5.327032 v -4.412139 158.730713 5.140775 v -4.211813 158.527603 5.583789 v -4.367506 161.606720 6.066491 v -3.935951 162.201401 3.315901 v -4.603067 159.417542 2.655875 v -3.616430 164.141647 6.065329 v -4.312357 161.187622 8.543404 v -4.610613 158.336411 6.619516 v -4.239020 158.413849 6.441634 v -3.432119 155.299362 7.035094 v -4.340198 155.372772 7.055972 v -3.732692 152.575073 7.277250 v -3.083506 152.633652 7.093493 v -3.103450 148.992950 7.382050 v -2.627533 149.032898 7.124268 v -2.390181 145.741013 7.346636 v -1.776176 145.795609 7.152622 v -2.293913 143.973221 7.488521 v -1.458605 144.085022 7.328742 v -2.002689 143.010788 9.649933 v -2.565417 145.411865 9.145588 v -2.540581 145.365005 9.661364 v -3.169832 148.850235 8.836635 v -3.928790 152.595932 8.641289 v -3.333008 148.810867 9.346764 v -2.834714 148.612656 10.753381 v -2.047971 145.183243 10.956940 v -2.347167 142.882462 9.933563 v -1.737903 142.333450 11.210282 v -1.364698 141.877365 11.863955 v -1.708638 144.972916 11.990174 v -0.667216 141.732819 12.281958 v -1.179229 144.975235 12.255507 v -2.376514 148.486771 11.806852 v -3.684613 152.198044 10.582484 v -4.099309 152.590912 8.999268 v -4.424788 155.603424 8.710351 v -4.314401 155.301544 10.404662 v -3.101120 151.982224 12.042240 v -2.004737 148.482742 12.089945 v -0.963471 148.504547 13.318388 v -0.204562 144.968475 13.441857 v -0.424245 141.513245 12.699578 v 0.569242 141.464172 13.782682 v -1.707117 151.911469 13.335287 v -2.101895 155.022263 13.396454 v -3.590499 155.077377 12.137799 v -4.244743 157.685120 10.436031 v -3.633386 157.046967 12.209133 v -2.194350 156.662308 13.533577 v -2.078919 158.084366 13.628831 v -3.519984 158.959686 12.224716 v -4.023646 160.070343 10.527104 v -4.629349 158.102570 8.532425 v -3.809696 163.352890 8.678376 v -3.654581 162.337875 10.766259 v -2.941876 161.006744 12.452823 v -1.587879 159.725937 13.770112 v -1.100165 161.034363 13.979580 v -2.089022 162.526245 12.865102 v -2.518354 163.909821 11.160952 v -1.714667 164.106384 11.030537 v -1.792620 165.178665 9.017491 v -1.516692 166.070206 9.238461 v -1.463383 165.054108 11.386950 v -1.380525 163.073669 13.312671 v -1.656715 162.646622 12.960269 v 0.259828 161.741348 14.664869 v 0.303970 161.009811 14.867201 v 2.590508 161.878677 15.424895 v 0.206505 163.660736 13.878725 v 0.259842 165.796890 12.104006 v 0.309181 166.927673 9.659490 v 0.544880 167.550278 6.617947 v -0.991918 166.756531 6.101154 v -1.278400 165.782852 6.033715 v -1.954810 165.782761 5.964993 v -2.517789 165.040817 8.978069 v 3.539229 167.621643 7.263761 v 3.298007 167.061142 10.183917 v 2.874713 165.684830 12.589637 v 2.731436 163.908005 14.421481 v 5.573400 162.835922 14.224036 v 5.193399 161.036011 15.148129 v 2.470869 160.682098 15.519842 v 4.681659 160.077789 15.362487 v 6.408251 158.849258 14.671009 v 6.987121 159.307129 14.331409 v 7.411326 157.263321 14.038965 v 7.841569 157.466660 13.712534 v 7.855001 155.534042 13.506948 v 8.144629 155.680038 13.345031 v 7.981776 153.496536 13.215283 v 7.660239 160.712601 12.822173 v 6.974180 159.513306 14.114456 v 8.565445 157.709534 12.880681 v 8.473078 157.606979 13.124937 v 8.122072 157.479675 13.184669 v 8.926531 155.959503 12.361616 v 8.926235 155.868240 12.415504 v 9.340557 153.951065 9.891556 v 9.176422 156.201385 12.166245 v 10.066151 158.000854 11.481832 v 10.383574 154.110779 11.654117 v 9.566811 154.063461 12.711990 v 8.498428 153.962585 12.830959 v 9.557641 150.117798 12.678202 v 8.431192 149.958618 12.771866 v 9.678875 147.378723 12.757962 v 8.515881 147.076843 12.899855 v 9.951422 143.225662 12.671919 v 8.854898 142.580338 13.234712 v 10.539917 147.655914 11.892432 v 11.141340 143.875870 11.963791 v 9.964102 143.403122 13.010489 v 9.928305 144.442078 10.642144 v 9.748837 147.535065 10.471134 v 10.497869 150.233734 11.771708 v 9.739944 150.153534 10.562199 v 10.148777 147.565430 10.141268 v 9.679384 143.967468 10.334719 v 10.204525 144.414459 10.158258 v 10.082893 148.108429 8.588425 v 10.258326 150.361969 8.792558 v 9.845105 150.310867 8.444443 v 9.526314 148.043793 8.275502 v 10.183268 145.306793 8.173228 v 9.580824 145.271378 7.867381 v 10.227299 154.001633 8.613784 v 10.429865 154.032379 8.953675 v 9.859665 156.720596 8.423961 v 10.348045 157.125122 8.774871 v 10.426277 154.070740 10.264295 v 10.122454 157.932617 10.284369 v 10.150768 158.641785 8.563310 v 8.982430 162.313812 10.853350 v 9.506796 162.532959 7.999679 v 6.272612 165.579758 10.734651 v 6.692496 166.214188 7.744567 v 9.739854 158.667740 8.140957 v 5.818473 164.139618 13.042003 v 9.934439 157.963989 10.712018 v 10.348436 154.077698 10.710623 v 10.148823 150.213226 10.189767 v 3.441775 140.490753 -4.422523 v 14.325743 141.693222 -0.649398 v 13.459976 143.867493 1.202213 v 13.586300 143.795929 1.412354 v 14.721355 141.780930 -0.095243 v 15.739809 141.858505 0.826023 v 1.013351 161.106995 -2.291179 v -1.827358 160.669266 -1.339251 vt -2.463109 0.650729 vt -2.463558 0.563173 vt -2.373443 0.650731 vt 0.354054 1.912290 vt 0.333771 1.819441 vt 0.378839 1.818533 vt -2.550449 0.560388 vt -2.564688 0.697012 vt -2.624807 0.697052 vt -2.612620 0.769468 vt -2.581828 0.769472 vt -2.463123 0.698262 vt -2.374175 0.698262 vt -2.855901 1.607822 vt -2.793762 1.690004 vt -2.854887 1.690003 vt -2.793705 1.607819 vt -2.793714 1.532495 vt -2.857061 1.532476 vt -2.372533 0.563277 vt -2.374507 0.499604 vt -2.463560 0.499746 vt 0.378784 1.750039 vt 0.333994 1.750540 vt -2.626461 0.560629 vt -2.550083 0.499724 vt -2.626446 0.499727 vt -2.665589 0.499727 vt -2.665605 0.560629 vt -2.731901 0.560101 vt -2.732049 0.627828 vt -2.834209 0.559572 vt -2.834221 0.498868 vt -2.977791 0.498554 vt -2.977797 0.559548 vt -2.977803 0.628639 vt -2.834208 0.628643 vt -2.834220 0.628635 vt -2.824912 0.718724 vt -2.732111 0.718735 vt -2.824899 0.783280 vt -2.732233 0.783579 vt -2.598114 0.811583 vt -2.375268 0.750399 vt -2.463090 0.750170 vt -2.819541 1.826156 vt -1.739334 1.814037 vt -1.739268 1.706816 vt -1.668487 1.814252 vt -1.668442 1.705934 vt -1.739636 1.633204 vt -1.669037 1.633213 vt -1.739641 1.566507 vt -1.668132 1.566497 vt -1.739356 1.524493 vt -1.668221 1.524493 vt -1.681686 1.478040 vt -1.739349 1.478077 vt -1.702212 1.418091 vt -1.739272 1.418139 vt -1.825044 1.418227 vt -1.825057 1.478054 vt -2.855851 1.436203 vt -2.793705 1.386653 vt -2.793705 1.436203 vt -2.855659 1.386797 vt 0.519797 1.683077 vt 0.527950 1.588816 vt 0.525738 1.683121 vt 0.519816 1.588990 vt 0.493505 1.588981 vt 0.493671 1.683119 vt -2.463563 0.451559 vt -2.375280 0.394275 vt -2.375255 0.451524 vt -2.463563 0.394308 vt 0.378679 1.670801 vt 0.334501 1.578217 vt 0.378692 1.576659 vt 0.334232 1.671301 vt -2.626446 0.452019 vt -2.549251 0.395255 vt -2.549692 0.451863 vt -2.626462 0.395759 vt -2.665590 0.452019 vt -2.731867 0.451704 vt -2.663826 0.395759 vt -2.731904 0.499375 vt -2.834229 0.451131 vt 0.143786 1.735482 vt 0.124364 1.844476 vt 0.091613 1.732997 vt -2.833867 0.451075 vt -2.944967 0.451067 vt -2.984907 0.450968 vt -2.984903 0.392762 vt -2.944995 0.392771 vt -2.834000 0.392796 vt 0.091595 1.642934 vt 0.067934 1.640262 vt 0.143786 1.641960 vt -2.834156 0.392794 vt -2.731714 0.393208 vt -2.666289 0.346729 vt -2.731600 0.344691 vt -2.834173 0.345212 vt 0.143324 1.521587 vt 0.087499 1.522187 vt 0.036129 1.522164 vt -2.944999 0.345239 vt -2.834010 0.345346 vt -2.984907 0.345013 vt -2.984911 0.270836 vt -2.944976 0.271058 vt -2.984913 0.195765 vt -2.944945 0.196837 vt -2.984921 0.133246 vt -2.944965 0.133941 vt -2.833978 0.197342 vt -2.834006 0.271120 vt 0.035388 1.428105 vt 0.087552 1.428381 vt 0.143336 1.427850 vt -2.834184 0.271118 vt -2.731429 0.271118 vt -2.834193 0.197869 vt -2.731212 0.198351 vt -2.834190 0.135993 vt -2.731541 0.134997 vt -2.666304 0.198494 vt -2.665609 0.134467 vt -2.630138 0.198362 vt -2.630205 0.134318 vt -2.629981 0.271304 vt -2.665520 0.271282 vt -2.629955 0.346724 vt -2.549606 0.346706 vt -2.549549 0.271345 vt -2.630014 0.198451 vt -2.549309 0.199565 vt -2.630234 0.134903 vt -2.548728 0.133490 vt 0.334465 1.256431 vt 0.334819 1.147781 vt 0.375281 1.148495 vt 0.375310 1.256479 vt 0.375304 1.374475 vt 0.334319 1.374464 vt 0.375367 1.498608 vt 0.334284 1.498384 vt -2.646033 0.395759 vt 0.417989 1.565796 vt 0.404787 1.487745 vt 0.422890 1.487768 vt 0.404724 1.363612 vt 0.422603 1.363614 vt 0.404726 1.245631 vt 0.422667 1.245631 vt -2.463429 0.271353 vt -2.463427 0.199603 vt -2.375309 0.271321 vt -2.375240 0.198969 vt -2.463426 0.133329 vt 0.422701 1.136653 vt 0.404741 1.138168 vt -2.375335 0.134120 vt 0.519794 1.268200 vt 0.493770 1.267827 vt 0.493136 1.161193 vt 0.520070 1.386766 vt 0.493306 1.386801 vt 0.519910 1.510208 vt 0.493350 1.510604 vt -2.375303 0.346611 vt -2.463421 0.346856 vt 0.528025 1.509684 vt 0.528269 1.386719 vt 0.528260 1.268128 vt 0.518339 1.161749 vt 0.527932 1.161557 vt -2.855633 1.218787 vt -2.855661 1.162954 vt -2.793740 1.217727 vt -2.793743 1.163305 vt -2.793740 1.280879 vt -2.855632 1.280917 vt -2.855653 1.345339 vt -2.793707 1.345418 vt 0.619936 1.427020 vt 0.594762 1.308664 vt 0.618965 1.307230 vt 0.592139 1.230125 vt 0.618909 1.230289 vt 0.581000 1.143521 vt 0.616274 1.143263 vt -1.825045 1.224423 vt -1.825012 1.171487 vt -1.739137 1.224909 vt -1.738959 1.170947 vt -1.701568 1.224693 vt -1.701688 1.171142 vt -1.666371 1.171710 vt -1.665724 1.224664 vt -1.665980 1.272064 vt -1.633971 1.272431 vt -1.634013 1.224955 vt -1.666089 1.171261 vt -1.634000 1.171199 vt -1.497598 1.224955 vt -1.497605 1.171199 vt -1.413546 1.225039 vt -1.413545 1.170437 vt -1.375414 1.170251 vt -1.375487 1.224617 vt -1.375166 1.272714 vt -1.413545 1.272858 vt -1.497620 1.272431 vt -1.413545 1.345498 vt -1.374969 1.345914 vt -1.374874 1.417735 vt -1.413545 1.417742 vt -1.497634 1.417930 vt -1.497647 1.345930 vt -1.666094 1.418062 vt -1.633918 1.345930 vt -1.633943 1.417930 vt -1.666033 1.345125 vt -1.701865 1.344672 vt -1.701604 1.271988 vt -1.739182 1.271614 vt -1.825045 1.271226 vt -1.739304 1.344251 vt -1.825058 1.344093 vt -1.633977 1.478138 vt -1.497617 1.478446 vt -1.413544 1.478639 vt -1.387826 1.478744 vt -1.413544 1.524693 vt -1.384910 1.524692 vt -1.417123 1.565879 vt -1.497811 1.565559 vt -1.497288 1.524692 vt -1.634630 1.524493 vt -1.634113 1.567340 vt -1.496837 1.634129 vt -1.430463 1.634311 vt -0.620650 1.625443 vt -0.620634 1.510871 vt -0.676796 1.510972 vt -0.620647 1.457854 vt -0.591002 1.456032 vt -0.591648 1.397122 vt -0.620563 1.397305 vt -0.620470 1.333959 vt -0.591666 1.334407 vt -0.620470 1.283293 vt -0.591576 1.283343 vt -0.620470 1.210619 vt -0.591498 1.210619 vt -0.620471 1.148685 vt -0.591416 1.148603 vt -0.676409 1.148054 vt -0.674931 1.210689 vt 0.285364 1.329540 vt 0.274282 1.250142 vt 0.251746 1.335495 vt 0.281562 1.379641 vt -0.674931 1.283085 vt -0.674931 1.333696 vt 0.282076 1.529999 vt 0.249673 1.378296 vt -0.674908 1.283016 vt -0.674871 1.210702 vt -0.737321 1.283147 vt -0.736376 1.210617 vt -0.678495 1.147988 vt -0.729749 1.148203 vt -0.788808 1.148849 vt -0.790769 1.210497 vt -0.821725 1.148536 vt -0.822991 1.210493 vt -0.794718 1.283377 vt -0.737617 1.333466 vt -0.674829 1.333464 vt 0.243449 1.530031 vt 0.259920 1.608232 vt -0.676909 1.397763 vt -0.735322 1.397722 vt -0.812623 1.333006 vt -0.822341 1.283380 vt -0.911067 1.283483 vt -0.911100 1.210470 vt -0.824290 1.148987 vt -0.911167 1.149106 vt -0.911034 1.333511 vt -0.910950 1.396247 vt -0.812830 1.396917 vt -0.736659 1.458403 vt -0.812579 1.457221 vt -0.910866 1.456184 vt -0.910815 1.510800 vt -0.812624 1.510745 vt -0.742048 1.510862 vt -0.676877 1.457732 vt -0.674929 1.625493 vt -0.745745 1.625613 vt -0.812969 1.625642 vt -0.910645 1.625561 vt -0.910635 1.697862 vt -0.812785 1.697664 vt -0.747058 1.698278 vt -0.750051 1.789610 vt -0.676876 1.790150 vt -1.510699 0.817020 vt -1.623167 0.817889 vt -1.510699 0.741583 vt -1.623167 0.741774 vt -1.772027 0.817788 vt -1.854554 0.735333 vt -1.772055 0.735328 vt -1.854476 0.817666 vt -0.806746 1.790262 vt -0.852865 1.791595 vt -1.938104 0.735335 vt -1.938919 0.683228 vt -0.368967 1.745210 vt -0.378932 1.814640 vt -0.394226 1.742139 vt -0.368854 1.684687 vt -1.854553 0.683260 vt -1.938901 0.616302 vt -1.772057 0.683236 vt -1.510700 0.690962 vt -1.623165 0.690964 vt -1.408642 0.697378 vt -1.408535 0.741407 vt -2.854098 0.718587 vt -2.977807 0.783239 vt -2.977808 0.718566 vt -2.854088 0.783059 vt -2.977798 0.817795 vt -2.854088 0.817075 vt -2.824899 0.817372 vt -2.732252 0.818480 vt -1.493053 1.803956 vt -1.496840 1.705934 vt -1.453622 1.706579 vt -0.620663 1.697106 vt -0.676850 1.697003 vt -0.620646 1.790394 vt -1.408535 0.816082 vt -1.380023 0.636407 vt -1.408591 0.637672 vt -1.510701 0.635353 vt -1.623159 0.635353 vt -1.772061 0.616344 vt -1.854554 0.616379 vt -1.854554 0.511354 vt -1.938900 0.513213 vt -0.394250 1.684742 vt -0.368611 1.611489 vt -0.394319 1.611930 vt -0.394250 1.457876 vt -0.368537 1.457977 vt -0.394320 1.397638 vt -0.368774 1.398216 vt -0.394318 1.316296 vt -0.369444 1.315343 vt -0.384437 1.207227 vt -1.854520 0.450366 vt -1.938972 0.453626 vt -1.857489 0.355416 vt -1.938565 0.354994 vt -1.958974 0.355057 vt -1.938568 0.271962 vt -1.958996 0.271872 vt -1.938578 0.157968 vt -1.857477 0.271361 vt -1.634492 0.515013 vt -1.624545 0.428039 vt -1.552856 0.427946 vt -1.553475 0.361938 vt -1.624217 0.362015 vt -1.747856 0.614169 vt -1.764792 0.548641 vt -1.730884 0.548280 vt -1.731063 0.463147 vt -1.764870 0.462419 vt -1.731036 0.393150 vt -1.764866 0.392812 vt -1.731085 0.311002 vt -1.764818 0.311091 vt -1.624515 0.276882 vt -1.624470 0.206885 vt -1.553752 0.206971 vt -1.554342 0.124745 vt -1.622333 0.124839 vt -1.510609 0.124713 vt -1.510654 0.207671 vt -1.553393 0.277120 vt -1.510637 0.278234 vt -1.479796 0.207686 vt -1.510639 0.124720 vt -1.479804 0.124600 vt -1.408537 0.208532 vt -1.408537 0.279326 vt -1.380331 0.280018 vt -1.380329 0.208746 vt -1.408537 0.124482 vt -1.380327 0.124481 vt -1.380333 0.361280 vt -1.408537 0.361591 vt -1.380336 0.427980 vt -1.408537 0.428044 vt -1.479780 0.361576 vt -1.479773 0.427956 vt -1.408534 0.453080 vt -1.510701 0.515013 vt -1.408527 0.515013 vt -1.510700 0.571680 vt -1.408479 0.564988 vt -1.380089 0.565674 vt -1.380390 0.514997 vt -1.380351 0.453268 vt -1.623148 0.571703 vt -1.772068 0.513242 vt -1.510658 0.427954 vt -1.510619 0.361625 vt -1.479789 0.278364 vt 0.519644 1.161110 vt 0.143361 1.178114 vt 0.143391 1.275189 vt 0.089078 1.178467 vt 0.088637 1.274447 vt 0.035784 1.274776 vt 0.087642 1.274526 vt 0.087155 1.178540 vt 0.036548 1.178089 vt -2.834004 0.134531 vt 0.498637 1.762181 vt 0.511813 1.761916 vt -2.857056 1.477484 vt -2.793706 1.477414 vt -1.825054 1.524493 vt -1.825048 1.566520 vt -1.825046 1.633210 vt 0.501530 1.863507 vt -3.154820 45.448380 vt -4.087114 44.562412 vt -3.407222 44.562752 vn -0.221137 0.817499 -0.531754 vn -0.109897 0.498795 -0.859706 vn -0.404584 0.752556 -0.519547 vn -0.004669 0.555406 -0.831538 vn 0.068361 0.937010 -0.342509 vn -0.345683 0.924497 -0.160558 vn -0.523850 0.840114 -0.140416 vn -0.393323 0.892972 0.218787 vn -0.392071 0.917020 0.072878 vn -0.622822 0.676168 -0.393475 vn -0.568529 0.435804 -0.697684 vn -0.352702 0.400403 -0.845698 vn -0.352763 0.115177 -0.928587 vn 0.013520 0.161992 -0.986694 vn 0.200049 0.211554 -0.956664 vn 0.363933 0.681845 -0.634510 vn 0.605762 0.392346 -0.692129 vn 0.554765 0.736808 -0.386395 vn 0.537797 0.839503 -0.077151 vn 0.856655 0.472701 -0.206610 vn 0.907651 0.380840 0.176305 vn 0.510147 0.788781 0.342845 vn 0.183935 0.964507 0.189337 vn 0.062349 0.997253 -0.039521 vn -0.307871 0.949889 -0.053591 vn -0.753594 0.620533 -0.216803 vn -0.824549 0.442701 -0.352275 vn -0.561083 0.808069 0.179418 vn -0.512467 0.850917 -0.115207 vn -0.557665 0.829249 0.036103 vn -0.756890 0.636525 -0.148015 vn -0.871426 0.480270 -0.099521 vn -0.832026 0.363353 -0.419141 vn -0.938383 0.276101 -0.207770 vn -0.807306 0.087985 -0.583483 vn -0.916288 0.114383 -0.383770 vn -0.917844 -0.079043 -0.388958 vn -0.647267 -0.124119 -0.752068 vn -0.861446 -0.169897 -0.478530 vn -0.579363 -0.189550 -0.792688 vn -0.416181 -0.160863 -0.894894 vn -0.432936 -0.063417 -0.899167 vn -0.101199 -0.068972 -0.992462 vn 0.060945 -0.131108 -0.989471 vn -0.328288 -0.138218 -0.934385 vn -0.250191 -0.169866 -0.953154 vn -0.316202 -0.171117 -0.933103 vn -0.186224 -0.076876 -0.979461 vn 0.051759 -0.078372 -0.995575 vn 0.269723 -0.116184 -0.955870 vn 0.153478 -0.114048 -0.981536 vn 0.232276 -0.047578 -0.971465 vn 0.609485 0.079287 -0.788781 vn 0.458632 -0.020875 -0.888363 vn 0.814722 0.163182 -0.556383 vn 0.768395 0.377819 -0.516465 vn 0.890896 0.230689 -0.391217 vn 0.986145 0.165471 -0.010895 vn 0.795556 -0.076479 0.601001 vn 0.307413 -0.168615 0.936491 vn 0.612476 -0.037385 0.789575 vn 0.894467 0.028901 0.446150 vn 0.946379 0.147496 0.287393 vn 0.956359 0.109348 -0.270821 vn 0.887234 0.107242 -0.448592 vn 0.746055 0.046663 -0.664205 vn 0.264229 0.043428 -0.963469 vn 0.700980 0.144688 -0.698325 vn 0.891354 0.164495 -0.422376 vn 0.908322 0.185888 -0.374645 vn 0.977416 0.099155 0.186468 vn 0.576586 -0.060488 0.814783 vn 0.133763 -0.217200 0.966887 vn 0.107852 -0.408124 0.906522 vn 0.410627 -0.319346 0.854030 vn 0.046571 -0.503922 0.862453 vn 0.245979 -0.407971 0.879208 vn 0.027894 -0.548173 0.835871 vn 0.249031 -0.364605 0.897214 vn 0.910977 0.371838 0.178381 vn 0.964629 0.081576 0.250587 vn 0.862300 0.315531 -0.396008 vn 0.857509 0.333872 -0.391369 vn 0.564348 0.360637 -0.742576 vn 0.888150 0.435072 -0.147862 vn 0.430189 0.573504 -0.697104 vn 0.757500 0.557451 -0.339702 vn 0.347148 0.621967 -0.701865 vn -0.011505 0.485214 -0.874294 vn -0.123936 0.468947 -0.874477 vn -0.381207 0.339702 -0.859798 vn -0.145054 0.500290 -0.853603 vn 0.106357 0.264595 -0.958464 vn 0.101444 0.305979 -0.946593 vn -0.043245 0.001068 -0.999054 vn 0.173864 -0.020051 -0.984558 vn 0.148442 0.252327 -0.956175 vn 0.396405 0.495987 -0.772515 vn 0.003357 0.507431 -0.861660 vn 0.361400 0.625538 -0.691397 vn -0.107364 0.569536 -0.814905 vn -0.414502 0.443739 -0.794519 vn -0.285379 0.387402 -0.876614 vn 0.193487 0.244118 -0.950224 vn 0.179418 -0.010529 -0.983703 vn 0.446394 0.046236 -0.893613 vn 0.272500 0.209998 -0.938932 vn 0.595233 0.361797 -0.717460 vn 0.380718 0.471999 -0.795129 vn -0.299905 0.191748 -0.934477 vn -0.289102 0.452162 -0.843745 vn 0.240669 0.552507 -0.797967 vn 0.670217 0.457259 -0.584521 vn -0.564318 0.423200 -0.708792 vn -0.160253 0.447584 -0.879727 vn -0.115848 0.216285 -0.969420 vn -0.274819 -0.097507 -0.956511 vn -0.124607 -0.059786 -0.990387 vn -0.058565 -0.021577 -0.998047 vn 0.141240 0.285562 -0.947874 vn 0.011902 0.517716 -0.855434 vn 0.458571 0.539018 -0.706473 vn -0.121403 0.680532 -0.722556 vn -0.037812 0.505936 -0.861721 vn -0.324686 0.700980 -0.634938 vn -0.226753 0.218940 -0.949004 vn -0.401624 -0.041169 -0.914853 vn -0.144047 0.270821 -0.951781 vn 0.037355 0.503769 -0.863002 vn 0.486373 0.426344 -0.762627 vn -0.099094 0.675283 -0.730827 vn -0.404096 0.563677 -0.720359 vn -0.393445 0.678945 -0.619800 vn -0.770775 0.445357 -0.455550 vn -0.855373 0.453658 -0.249977 vn -0.980255 0.180944 -0.079592 vn -0.674245 0.466384 -0.572558 vn -0.799890 0.277108 -0.532304 vn -0.993530 0.109409 -0.029420 vn -0.943754 0.330576 0.005005 vn -0.420667 0.604846 -0.676138 vn -0.887631 -0.106540 0.448042 vn -0.317362 -0.511948 0.798212 vn -0.167699 -0.658956 0.733238 vn -0.033601 -0.726341 0.686483 vn -0.101169 -0.620045 0.777978 vn -0.154210 -0.462325 0.873165 vn -0.484115 -0.353771 0.800287 vn -0.654805 -0.220527 0.722892 vn -0.309488 -0.348491 0.884732 vn -0.660543 -0.224128 0.716544 vn -0.829737 -0.182195 0.527543 vn -0.992340 -0.119602 0.030305 vn -0.934111 -0.030488 -0.355632 vn -0.954711 -0.152440 -0.255470 vn -0.935087 -0.036561 -0.352489 vn -0.924009 -0.036897 -0.380535 vn -0.801874 0.239174 -0.547502 vn -0.496445 0.283486 -0.820460 vn -0.572771 -0.012207 -0.819605 vn -0.993316 -0.076510 -0.086337 vn -0.930815 -0.189978 0.312174 vn -0.900052 -0.201086 0.386608 vn -0.980651 -0.030732 0.193213 vn -0.924039 -0.119358 0.363109 vn -0.981475 0.134434 -0.136357 vn -0.966887 0.251228 -0.044282 vn -0.987426 0.109653 -0.113681 vn -0.859615 0.510666 -0.015412 vn -0.981506 0.167211 0.093142 vn -0.804773 -0.095035 -0.585864 vn -0.390179 -0.194678 -0.899899 vn -0.178289 -0.141026 -0.973785 vn -0.862941 -0.171087 -0.475387 vn -0.720145 -0.168493 -0.673025 vn -0.336283 -0.066317 -0.939390 vn -0.801935 -0.154790 -0.576983 vn -0.412427 -0.082217 -0.907254 vn -0.793786 -0.155950 -0.587848 vn -0.252144 -0.103427 -0.962127 vn -0.621143 -0.114994 -0.775170 vn -0.169164 -0.131962 -0.976684 vn -0.984466 -0.175512 0.000244 vn -0.976562 -0.207831 -0.055422 vn -0.975677 -0.180090 0.124912 vn -0.969848 -0.196875 -0.143559 vn -0.949553 -0.193365 -0.246864 vn -0.975494 -0.216132 -0.041017 vn -0.926420 -0.189795 0.325053 vn -0.929106 -0.110935 0.352763 vn -0.923887 -0.048647 0.379528 vn -0.897488 -0.058779 0.437086 vn -0.824122 -0.092502 0.558763 vn -0.758690 -0.119541 0.640370 vn -0.486984 -0.078188 0.869869 vn -0.642537 -0.098849 0.759819 vn -0.767815 -0.154668 0.621693 vn -0.936155 -0.191015 0.295083 vn -0.981903 -0.170965 -0.081362 vn -0.995422 -0.089480 -0.033143 vn -0.966186 -0.094699 0.239723 vn -0.788141 -0.167852 0.592120 vn -0.678610 -0.159978 0.716819 vn -0.756432 -0.152104 0.636097 vn -0.757378 -0.108829 0.643818 vn -0.753075 -0.092044 0.651448 vn -0.735618 -0.097232 0.670339 vn -0.702109 -0.156407 0.694632 vn -0.655934 -0.108432 0.746971 vn -0.818690 -0.074435 0.569353 vn -0.966704 0.017792 0.255257 vn -0.838038 0.016114 0.545335 vn -0.668599 -0.045167 0.742210 vn -0.672109 0.056887 0.738243 vn -0.805872 0.105075 0.582629 vn -0.958831 0.110569 0.261513 vn -0.995849 0.006439 0.090609 vn -0.894345 0.420850 0.151708 vn -0.862148 0.322489 0.390698 vn -0.716788 0.168279 0.676656 vn -0.643483 0.114048 0.756890 vn -0.587695 0.198340 0.784387 vn -0.515519 0.497940 0.697317 vn -0.427595 0.745933 0.510605 vn -0.719626 0.558245 0.412854 vn -0.671285 0.710410 0.211249 vn -0.779077 0.607410 0.155034 vn -0.698630 0.569353 0.433210 vn -0.731864 0.309854 0.606891 vn -0.648305 0.436720 0.623646 vn -0.420911 0.265816 0.867244 vn -0.372509 0.180517 0.910276 vn -0.082247 0.301950 0.949736 vn -0.330363 0.532792 0.779077 vn -0.267953 0.784692 0.558916 vn -0.327006 0.893399 0.308023 vn -0.232307 0.962371 0.140812 vn -0.767327 0.637532 -0.068545 vn -0.627888 0.778283 -0.003235 vn -0.436140 0.892300 0.116428 vn -0.510422 0.818628 0.263131 vn 0.159276 0.925199 0.344371 vn 0.141179 0.921445 0.361888 vn 0.081576 0.743187 0.664052 vn 0.020081 0.587390 0.809015 vn 0.418226 0.473373 0.775201 vn 0.396954 0.186377 0.898679 vn -0.011078 0.111332 0.993713 vn 0.247475 0.083743 0.965239 vn 0.453352 0.019013 0.891110 vn 0.528764 0.020325 0.848506 vn 0.582110 -0.027863 0.812616 vn 0.583483 -0.051637 0.810450 vn 0.555956 -0.084902 0.826838 vn 0.519517 -0.088046 0.849879 vn 0.519913 -0.089236 0.849513 vn 0.692923 0.277505 0.665426 vn 0.667959 0.183325 0.721244 vn 0.703330 0.142827 0.696341 vn 0.644490 -0.044130 0.763329 vn 0.528550 -0.140934 0.837092 vn 0.827448 -0.084841 0.555040 vn 0.950804 0.155187 0.268075 vn 0.932310 -0.187841 0.309000 vn 0.737754 -0.258522 0.623554 vn 0.926023 0.181341 0.331004 vn 0.965056 0.047639 0.257576 vn 0.534043 0.041871 0.844386 vn 0.102878 -0.013337 0.994598 vn 0.417096 0.017060 0.908689 vn 0.090762 0.021210 0.995636 vn 0.410474 0.059023 0.909940 vn 0.216132 0.044923 0.975311 vn 0.269509 0.043519 0.962004 vn 0.407971 0.098331 0.907651 vn 0.990509 0.074068 0.115513 vn 0.918302 0.143406 0.368908 vn 0.640034 0.094333 0.762505 vn 0.818567 0.066164 -0.570544 vn 0.999908 -0.007721 0.008820 vn 0.994171 0.021119 0.105655 vn 0.969817 -0.060701 0.236030 vn 0.853542 -0.020264 0.520615 vn 0.482681 -0.015870 0.875637 vn 0.928739 0.025391 0.369793 vn 0.869747 0.026887 -0.492691 vn 0.934202 -0.027802 -0.355602 vn 0.595599 -0.005554 -0.803217 vn 0.469253 0.093875 -0.878048 vn 0.732139 0.122440 -0.670003 vn 0.441755 0.139134 -0.886258 vn 0.796777 0.010010 -0.604175 vn 0.949797 -0.011414 -0.312632 vn 0.703726 -0.008789 -0.710379 vn 0.919706 0.024903 -0.391736 vn 0.989349 0.022309 0.143773 vn 0.965392 0.143468 0.217780 vn 0.966887 0.124332 -0.222785 vn 0.873592 0.347270 0.340861 vn 0.880886 0.449446 0.148198 vn 0.595782 0.721427 0.352855 vn 0.555437 0.743248 0.372845 vn 0.686666 -0.027863 -0.726402 vn 0.507462 0.601856 0.616627 vn 0.982086 0.140904 0.124973 vn 0.989349 -0.012391 0.144932 vn 0.946135 -0.060945 0.317911 vn -0.961364 0.021699 -0.274392 vn 0.926633 0.077120 0.367931 vn 0.956542 0.253883 0.143254 vn 0.649709 0.546525 -0.528336 vn 0.509323 0.696432 -0.505509 vn 0.812159 0.463332 0.354534 vn -0.386639 0.033113 -0.921598 vn -0.513321 0.144597 -0.845912 g mesh6.002_mesh6-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 2821/4339/2839 2822/4340/2840 2823/4341/2841 f 2821/4342/2839 2824/4343/2842 2822/4344/2840 f 2824/4345/2842 2821/4346/2839 2825/4347/2843 f 2825/4347/2843 2821/4346/2839 2826/4348/2844 f 2821/4346/2839 2827/4349/2845 2826/4348/2844 f 2821/4339/2839 2823/4341/2841 2827/4350/2845 f 2827/4350/2845 2823/4341/2841 2828/4351/2846 f 2823/4352/2841 2829/4353/2847 2828/4354/2846 f 2823/4352/2841 2830/4355/2848 2829/4353/2847 f 2823/4352/2841 2831/4356/2849 2830/4355/2848 f 2823/4352/2841 2832/4357/2850 2831/4356/2849 f 2822/4340/2840 2832/4358/2850 2823/4341/2841 f 2822/4340/2840 2833/4359/2851 2832/4358/2850 f 2822/4340/2840 2834/4360/2852 2833/4359/2851 f 2824/4343/2842 2834/4361/2852 2822/4344/2840 f 2824/4343/2842 2835/4362/2853 2834/4361/2852 f 2836/4363/2854 2835/4364/2853 2824/4345/2842 f 2836/4363/2854 2837/4365/2855 2835/4364/2853 f 2837/4366/2855 2836/4367/2854 2838/4368/2856 f 2838/4368/2856 2836/4367/2854 2825/4369/2843 f 2836/4363/2854 2824/4345/2842 2825/4347/2843 f 2839/4370/2857 2838/4368/2856 2825/4369/2843 f 2838/4368/2856 2839/4370/2857 2840/4371/2858 f 2840/4371/2858 2839/4370/2857 2841/4372/2859 f 2839/4370/2857 2842/4373/2860 2841/4372/2859 f 2842/4373/2860 2839/4370/2857 2843/4374/2861 f 2839/4370/2857 2844/4375/2862 2843/4374/2861 f 2839/4370/2857 2825/4369/2843 2844/4376/2862 f 2844/4376/2862 2825/4369/2843 2845/4377/2863 f 2825/4369/2843 2826/4378/2844 2845/4377/2863 f 2826/4378/2844 2846/4379/2864 2845/4377/2863 f 2826/4378/2844 2847/4380/2865 2846/4379/2864 f 2826/4348/2844 2827/4349/2845 2847/4381/2865 f 2827/4350/2845 2848/4382/2866 2847/4383/2865 f 2827/4350/2845 2828/4351/2846 2848/4382/2866 f 2848/4384/2866 2828/4354/2846 2829/4353/2847 f 2848/4385/2866 2829/4386/2847 2849/4387/2867 f 2849/4387/2867 2829/4386/2847 2850/4388/2868 f 2851/4389/2869 2850/4388/2868 2829/4386/2847 f 2850/4388/2868 2851/4389/2869 2852/4390/2870 f 2853/4391/2871 2852/4390/2870 2851/4389/2869 f 2853/4391/2871 2854/4392/2872 2852/4390/2870 f 2855/4393/2873 2854/4392/2872 2853/4391/2871 f 2855/4393/2873 2856/4394/2874 2854/4392/2872 f 2855/4393/2873 2857/4395/2875 2856/4394/2874 f 2858/4396/2876 2857/4395/2875 2855/4393/2873 f 2858/4396/2876 2859/4397/2877 2857/4395/2875 f 2858/4396/2876 2860/4398/2878 2859/4397/2877 f 2858/4396/2876 2861/4399/2879 2860/4398/2878 f 2862/4400/2880 2861/4399/2879 2858/4396/2876 f 2863/4401/2881 2861/4402/2879 2862/4403/2880 f 2863/4401/2881 2864/4404/2882 2861/4402/2879 f 2865/4405/2883 2864/4406/2882 2863/4407/2881 f 2865/4405/2883 2866/4408/2884 2864/4406/2882 f 2865/4405/2883 2867/4409/2885 2866/4408/2884 f 2868/4410/2886 2867/4409/2885 2865/4405/2883 f 2869/4411/2887 2867/4412/2885 2868/4413/2886 f 2869/4411/2887 2870/4414/2888 2867/4412/2885 f 2869/4415/2887 2871/4416/2889 2870/4417/2888 f 2872/4418/2890 2871/4416/2889 2869/4415/2887 f 2873/4419/2891 2871/4420/2889 2872/4421/2890 f 2873/4419/2891 2874/4422/2892 2871/4420/2889 f 2873/4423/2891 2875/4424/2893 2874/4425/2892 f 2873/4423/2891 2876/4426/2894 2875/4424/2893 f 2837/4366/2855 2876/4426/2894 2873/4423/2891 f 2838/4368/2856 2876/4426/2894 2837/4366/2855 f 2876/4426/2894 2838/4368/2856 2840/4371/2858 f 2876/4426/2894 2840/4371/2858 2875/4424/2893 f 2875/4424/2893 2840/4371/2858 2877/4427/2895 f 2877/4428/2895 2840/4429/2858 2878/4430/2896 f 2878/4431/2896 2840/4371/2858 2841/4372/2859 f 2878/4431/2896 2841/4372/2859 2879/4432/2897 f 2841/4372/2859 2880/4433/2898 2879/4432/2897 f 2880/4433/2898 2881/4434/2899 2879/4432/2897 f 2882/4435/2900 2879/4432/2897 2881/4434/2899 f 2878/4431/2896 2879/4432/2897 2882/4435/2900 f 2883/4436/2901 2878/4431/2896 2882/4435/2900 f 2884/4437/2902 2878/4430/2896 2883/4438/2901 f 2885/4439/2903 2878/4430/2896 2884/4437/2902 f 2885/4439/2903 2877/4428/2895 2878/4430/2896 f 2875/4424/2893 2877/4427/2895 2885/4440/2903 f 2886/4441/2904 2875/4424/2893 2885/4440/2903 f 2874/4425/2892 2875/4424/2893 2886/4441/2904 f 2874/4425/2892 2886/4441/2904 2887/4442/2905 f 2886/4441/2904 2888/4443/2906 2887/4442/2905 f 2886/4441/2904 2885/4440/2903 2888/4443/2906 f 2888/4443/2906 2885/4440/2903 2889/4444/2907 f 2889/4445/2907 2885/4439/2903 2884/4437/2902 f 2889/4445/2907 2884/4437/2902 2890/4446/2908 f 2890/4446/2908 2884/4437/2902 2891/4447/2909 f 2884/4437/2902 2883/4438/2901 2891/4447/2909 f 2883/4436/2901 2892/4448/2910 2891/4449/2909 f 2883/4436/2901 2882/4435/2900 2892/4448/2910 f 2882/4435/2900 2881/4434/2899 2892/4448/2910 f 2881/4434/2899 2893/4450/2911 2892/4448/2910 f 2892/4448/2910 2893/4450/2911 2894/4451/2912 f 2892/4448/2910 2894/4451/2912 2895/4452/2913 f 2895/4452/2913 2894/4451/2912 2896/4453/2914 f 2895/4452/2913 2896/4453/2914 2897/4454/2915 f 2897/4454/2915 2896/4453/2914 2898/4455/2916 f 2897/4454/2915 2898/4455/2916 2899/4456/2917 f 2900/4457/2918 2897/4454/2915 2899/4456/2917 f 2901/4458/2919 2897/4454/2915 2900/4457/2918 f 2901/4458/2919 2895/4452/2913 2897/4454/2915 f 2891/4449/2909 2895/4452/2913 2901/4458/2919 f 2895/4452/2913 2891/4449/2909 2892/4448/2910 f 2901/4459/2919 2890/4446/2908 2891/4447/2909 f 2902/4460/2920 2890/4446/2908 2901/4459/2919 f 2889/4445/2907 2890/4446/2908 2902/4460/2920 f 2903/4461/2921 2889/4445/2907 2902/4460/2920 f 2888/4443/2906 2889/4444/2907 2903/4462/2921 f 2888/4443/2906 2903/4462/2921 2904/4463/2922 f 2905/4464/2923 2904/4463/2922 2903/4462/2921 f 2904/4463/2922 2905/4464/2923 2906/4465/2924 f 2907/4466/2925 2906/4465/2924 2905/4464/2923 f 2906/4465/2924 2907/4466/2925 2908/4467/2926 f 2906/4465/2924 2908/4467/2926 2909/4468/2927 f 2909/4468/2927 2908/4467/2926 2910/4469/2928 f 2909/4468/2927 2910/4469/2928 2911/4470/2929 f 2911/4470/2929 2910/4469/2928 2912/4471/2930 f 2913/4472/2931 2909/4468/2927 2911/4470/2929 f 2914/4473/2932 2909/4468/2927 2913/4472/2931 f 2914/4473/2932 2906/4465/2924 2909/4468/2927 f 2904/4463/2922 2906/4465/2924 2914/4473/2932 f 2887/4442/2905 2904/4463/2922 2914/4473/2932 f 2887/4442/2905 2888/4443/2906 2904/4463/2922 f 2887/4442/2905 2914/4473/2932 2915/4474/2933 f 2915/4474/2933 2914/4473/2932 2913/4472/2931 f 2915/4474/2933 2913/4472/2931 2916/4475/2934 f 2916/4475/2934 2913/4472/2931 2917/4476/2935 f 2917/4476/2935 2913/4472/2931 2918/4477/2936 f 2917/4476/2935 2918/4477/2936 2919/4478/2937 f 2919/4478/2937 2918/4477/2936 2920/4479/2938 f 2919/4478/2937 2920/4479/2938 2921/4480/2939 f 2919/4481/2937 2921/4482/2939 2922/4483/2940 f 2919/4481/2937 2922/4483/2940 2923/4484/2941 f 2924/4485/2942 2919/4481/2937 2923/4484/2941 f 2917/4486/2935 2919/4481/2937 2924/4485/2942 f 2925/4487/2943 2917/4486/2935 2924/4485/2942 f 2916/4488/2934 2917/4486/2935 2925/4487/2943 f 2871/4416/2889 2916/4488/2934 2925/4487/2943 f 2874/4422/2892 2916/4475/2934 2871/4420/2889 f 2874/4422/2892 2915/4474/2933 2916/4475/2934 f 2874/4489/2892 2887/4442/2905 2915/4474/2933 f 2871/4416/2889 2925/4487/2943 2870/4417/2888 f 2870/4490/2888 2925/4491/2943 2926/4492/2944 f 2924/4493/2942 2926/4492/2944 2925/4491/2943 f 2926/4492/2944 2924/4493/2942 2927/4494/2945 f 2924/4493/2942 2928/4495/2946 2927/4494/2945 f 2929/4496/2947 2927/4494/2945 2928/4495/2946 f 2927/4497/2945 2929/4498/2947 2930/4499/2948 f 2930/4499/2948 2929/4498/2947 2931/4500/2949 f 2929/4498/2947 2932/4501/2950 2931/4500/2949 f 2932/4502/2950 2929/4496/2947 2933/4503/2951 f 2933/4503/2951 2929/4496/2947 2928/4495/2946 f 2931/4500/2949 2932/4501/2950 2934/4504/2952 f 2935/4505/2953 2931/4506/2949 2934/4507/2952 f 2936/4508/2954 2931/4506/2949 2935/4505/2953 f 2930/4509/2948 2931/4506/2949 2936/4508/2954 f 2937/4510/2955 2930/4509/2948 2936/4508/2954 f 2938/4511/2956 2930/4509/2948 2937/4510/2955 f 2938/4512/2956 2927/4497/2945 2930/4499/2948 f 2926/4513/2944 2927/4497/2945 2938/4512/2956 f 2870/4414/2888 2926/4513/2944 2938/4512/2956 f 2870/4414/2888 2938/4512/2956 2867/4412/2885 f 2867/4409/2885 2938/4511/2956 2937/4510/2955 f 2867/4409/2885 2937/4510/2955 2866/4408/2884 f 2866/4408/2884 2937/4510/2955 2864/4406/2882 f 2864/4406/2882 2937/4510/2955 2939/4514/2957 f 2937/4510/2955 2936/4508/2954 2939/4514/2957 f 2939/4514/2957 2936/4508/2954 2940/4515/2958 f 2936/4508/2954 2935/4505/2953 2940/4515/2958 f 2940/4515/2958 2935/4505/2953 2941/4516/2959 f 2935/4505/2953 2942/4517/2960 2941/4516/2959 f 2941/4516/2959 2942/4517/2960 2943/4518/2961 f 2941/4519/2959 2943/4520/2961 2944/4521/2962 f 2943/4520/2961 2945/4522/2963 2944/4521/2962 f 2946/4523/2964 2941/4519/2959 2944/4521/2962 f 2940/4524/2958 2941/4519/2959 2946/4523/2964 f 2939/4525/2957 2940/4524/2958 2946/4523/2964 f 2939/4525/2957 2946/4523/2964 2947/4526/2965 f 2947/4527/2965 2946/4528/2964 2948/4529/2966 f 2946/4528/2964 2944/4530/2962 2948/4529/2966 f 2948/4529/2966 2944/4530/2962 2949/4531/2967 f 2949/4531/2967 2944/4530/2962 2950/4532/2968 f 2949/4531/2967 2950/4532/2968 2951/4533/2969 f 2949/4534/2967 2951/4535/2969 2952/4536/2970 f 2952/4536/2970 2951/4535/2969 2953/4537/2971 f 2952/4536/2970 2953/4537/2971 2954/4538/2972 f 2953/4537/2971 2955/4539/2973 2954/4538/2972 f 2955/4539/2973 2956/4540/2974 2954/4538/2972 f 2956/4540/2974 2957/4541/2975 2954/4538/2972 f 2954/4538/2972 2957/4541/2975 2958/4542/2976 f 2957/4541/2975 2959/4543/2977 2958/4542/2976 f 2959/4543/2977 2957/4541/2975 2960/4544/2978 f 2957/4541/2975 2961/4545/2979 2960/4544/2978 f 2960/4544/2978 2961/4545/2979 2962/4546/2980 f 2960/4547/2978 2962/4548/2980 2963/4549/2981 f 2963/4549/2981 2962/4548/2980 2964/4550/2982 f 2965/4551/2983 2963/4549/2981 2964/4550/2982 f 2966/4552/2984 2963/4549/2981 2965/4551/2983 f 2967/4553/2985 2963/4549/2981 2966/4552/2984 f 2968/4554/2986 2963/4549/2981 2967/4553/2985 f 2968/4554/2986 2960/4547/2978 2963/4549/2981 f 2960/4547/2978 2968/4554/2986 2959/4555/2977 f 2959/4555/2977 2968/4554/2986 2969/4556/2987 f 2970/4557/2988 2969/4556/2987 2968/4554/2986 f 2971/4558/2989 2969/4556/2987 2970/4557/2988 f 2972/4559/2990 2969/4556/2987 2971/4558/2989 f 2973/4560/2991 2969/4556/2987 2972/4559/2990 f 2973/4560/2991 2974/4561/2992 2969/4556/2987 f 2975/4562/2993 2974/4563/2992 2973/4564/2991 f 2975/4562/2993 2976/4565/2994 2974/4563/2992 f 2977/4566/2995 2976/4565/2994 2975/4562/2993 f 2978/4567/2996 2976/4565/2994 2977/4566/2995 f 2978/4567/2996 2958/4542/2976 2976/4565/2994 f 2954/4538/2972 2958/4542/2976 2978/4567/2996 f 2978/4567/2996 2952/4536/2970 2954/4538/2972 f 2979/4568/2997 2952/4536/2970 2978/4567/2996 f 2979/4568/2997 2949/4534/2967 2952/4536/2970 f 2948/4569/2966 2949/4534/2967 2979/4568/2997 f 2980/4570/2998 2948/4569/2966 2979/4568/2997 f 2947/4571/2965 2948/4569/2966 2980/4570/2998 f 2860/4398/2878 2947/4571/2965 2980/4570/2998 f 2861/4399/2879 2947/4571/2965 2860/4398/2878 f 2861/4402/2879 2939/4525/2957 2947/4526/2965 f 2864/4404/2882 2939/4525/2957 2861/4402/2879 f 2860/4398/2878 2980/4570/2998 2859/4397/2877 f 2859/4397/2877 2980/4570/2998 2977/4566/2995 f 2980/4570/2998 2979/4568/2997 2977/4566/2995 f 2977/4566/2995 2979/4568/2997 2978/4567/2996 f 2859/4397/2877 2977/4566/2995 2975/4562/2993 f 2859/4397/2877 2975/4562/2993 2857/4395/2875 f 2857/4395/2875 2975/4562/2993 2973/4564/2991 f 2857/4395/2875 2973/4564/2991 2981/4572/2999 f 2981/4573/2999 2973/4560/2991 2972/4559/2990 f 2981/4573/2999 2972/4559/2990 2982/4574/3000 f 2982/4574/3000 2972/4559/2990 2971/4558/2989 f 2982/4574/3000 2971/4558/2989 2983/4575/3001 f 2982/4574/3000 2983/4575/3001 2984/4576/3002 f 2984/4576/3002 2983/4575/3001 2985/4577/3003 f 2984/4576/3002 2985/4577/3003 2986/4578/3004 f 2987/4579/3005 2984/4576/3002 2986/4578/3004 f 2988/4580/3006 2984/4576/3002 2987/4579/3005 f 2988/4580/3006 2982/4574/3000 2984/4576/3002 f 2981/4573/2999 2982/4574/3000 2988/4580/3006 f 2856/4394/2874 2981/4572/2999 2988/4581/3006 f 2857/4395/2875 2981/4572/2999 2856/4394/2874 f 2856/4394/2874 2988/4581/3006 2854/4392/2872 f 2988/4581/3006 2987/4582/3005 2854/4392/2872 f 2854/4392/2872 2987/4582/3005 2852/4390/2870 f 2987/4579/3005 2986/4578/3004 2852/4583/2870 f 2852/4583/2870 2986/4578/3004 2989/4584/3007 f 2989/4585/3007 2986/4586/3004 2990/4587/3008 f 2986/4586/3004 2991/4588/3009 2990/4587/3008 f 2986/4586/3004 2992/4589/3010 2991/4588/3009 f 2992/4589/3010 2993/4590/3011 2991/4588/3009 f 2991/4588/3009 2993/4590/3011 2994/4591/3012 f 2994/4591/3012 2993/4590/3011 2995/4592/3013 f 2993/4590/3011 2996/4593/3014 2995/4592/3013 f 2996/4593/3014 2997/4594/3015 2995/4592/3013 f 2996/4593/3014 2998/4595/3016 2997/4594/3015 f 2998/4595/3016 2999/4596/3017 2997/4594/3015 f 2998/4595/3016 3000/4597/3018 2999/4596/3017 f 3000/4597/3018 3001/4598/3019 2999/4596/3017 f 3000/4597/3018 3002/4599/3020 3001/4598/3019 f 2999/4596/3017 3001/4598/3019 3003/4600/3021 f 2999/4596/3017 3003/4600/3021 3004/4601/3022 f 3004/4602/3022 3003/4603/3021 3005/4604/3023 f 3006/4605/3024 3004/4602/3022 3005/4604/3023 f 2997/4594/3015 3004/4601/3022 3006/4606/3024 f 2999/4596/3017 3004/4601/3022 2997/4594/3015 f 2995/4592/3013 2997/4594/3015 3006/4606/3024 f 2995/4592/3013 3006/4606/3024 3007/4607/3025 f 3007/4608/3025 3006/4605/3024 3008/4609/3026 f 3006/4605/3024 3005/4604/3023 3008/4609/3026 f 3008/4610/3026 3005/4611/3023 3009/4612/3027 f 3005/4611/3023 3010/4613/3028 3009/4612/3027 f 3005/4611/3023 3011/4614/3029 3010/4613/3028 f 3011/4614/3029 3012/4615/3030 3010/4613/3028 f 3010/4613/3028 3012/4615/3030 3013/4616/3031 f 3010/4613/3028 3013/4616/3031 3014/4617/3032 f 3014/4617/3032 3013/4616/3031 3015/4618/3033 f 3016/4619/3034 3014/4617/3032 3015/4618/3033 f 3017/4620/3035 3014/4617/3032 3016/4619/3034 f 3009/4612/3027 3014/4617/3032 3017/4620/3035 f 3009/4612/3027 3010/4613/3028 3014/4617/3032 f 3018/4621/3036 3009/4612/3027 3017/4620/3035 f 3008/4610/3026 3009/4612/3027 3018/4621/3036 f 3019/4622/3037 3008/4610/3026 3018/4621/3036 f 3007/4608/3025 3008/4609/3026 3019/4623/3037 f 3007/4608/3025 3019/4623/3037 3020/4624/3038 f 3020/4625/3038 3019/4622/3037 3021/4626/3039 f 3019/4622/3037 3018/4621/3036 3021/4626/3039 f 3021/4626/3039 3018/4621/3036 3022/4627/3040 f 3018/4621/3036 3017/4620/3035 3022/4627/3040 f 3022/4627/3040 3017/4620/3035 3023/4628/3041 f 3017/4620/3035 3016/4619/3034 3023/4628/3041 f 3023/4628/3041 3016/4619/3034 3024/4629/3042 f 3016/4619/3034 3025/4630/3043 3024/4629/3042 f 3016/4619/3034 3026/4631/3044 3025/4630/3043 f 3026/4631/3044 3027/4632/3045 3025/4630/3043 f 3023/4628/3041 3024/4629/3042 3028/4633/3046 f 3022/4627/3040 3023/4628/3041 3028/4633/3046 f 3029/4634/3047 3022/4627/3040 3028/4633/3046 f 3030/4635/3048 3022/4627/3040 3029/4634/3047 f 3021/4626/3039 3022/4627/3040 3030/4635/3048 f 3021/4626/3039 3030/4635/3048 3031/4636/3049 f 3031/4636/3049 3030/4635/3048 3032/4637/3050 f 3032/4637/3050 3030/4635/3048 3033/4638/3051 f 3033/4638/3051 3030/4635/3048 3029/4634/3047 f 3034/4639/3052 3032/4637/3050 3033/4638/3051 f 3035/4640/3053 3032/4637/3050 3034/4639/3052 f 3036/4641/3054 3032/4637/3050 3035/4640/3053 f 3031/4636/3049 3032/4637/3050 3036/4641/3054 f 3037/4642/3055 3031/4636/3049 3036/4641/3054 f 3037/4642/3055 3020/4625/3038 3031/4636/3049 f 2994/4591/3012 3020/4625/3038 3037/4642/3055 f 2994/4591/3012 3007/4607/3025 3020/4625/3038 f 2994/4591/3012 2995/4592/3013 3007/4607/3025 f 2991/4588/3009 2994/4591/3012 3037/4642/3055 f 2991/4588/3009 3037/4642/3055 2990/4587/3008 f 3037/4642/3055 3036/4641/3054 2990/4587/3008 f 2990/4587/3008 3036/4641/3054 3038/4643/3056 f 3038/4643/3056 3036/4641/3054 3039/4644/3057 f 3036/4641/3054 3035/4640/3053 3039/4644/3057 f 3039/4644/3057 3035/4640/3053 3040/4645/3058 f 3040/4645/3058 3035/4640/3053 3041/4646/3059 f 3041/4646/3059 3035/4640/3053 3034/4639/3052 f 3042/4647/3060 3040/4645/3058 3041/4646/3059 f 3043/4648/3061 3040/4645/3058 3042/4647/3060 f 3039/4644/3057 3040/4645/3058 3043/4648/3061 f 3039/4644/3057 3043/4648/3061 3044/4649/3062 f 3045/4650/3063 3044/4649/3062 3043/4648/3061 f 3045/4650/3063 3046/4651/3064 3044/4649/3062 f 3046/4652/3064 3045/4653/3063 3047/4654/3065 f 3047/4654/3065 3045/4653/3063 3048/4655/3066 f 3045/4656/3063 3049/4657/3067 3048/4658/3066 f 3045/4656/3063 3050/4659/3068 3049/4657/3067 f 3050/4660/3068 3045/4650/3063 3043/4648/3061 f 3050/4661/3068 3043/4648/3061 3042/4647/3060 f 3050/4659/3068 3042/4662/3060 3049/4657/3067 f 3049/4657/3067 3042/4662/3060 3051/4663/3069 f 3051/4664/3069 3042/4665/3060 3052/4666/3070 f 3053/4667/3071 3051/4664/3069 3052/4666/3070 f 3054/4668/3072 3051/4663/3069 3053/4669/3071 f 3054/4668/3072 3049/4657/3067 3051/4663/3069 f 3048/4658/3066 3049/4657/3067 3054/4668/3072 f 3055/4670/3073 3048/4658/3066 3054/4668/3072 f 3056/4671/3074 3048/4655/3066 3055/4672/3073 f 3056/4671/3074 3047/4654/3065 3048/4655/3066 f 3057/4673/3075 3047/4654/3065 3056/4671/3074 f 3057/4673/3075 3058/4674/3076 3047/4654/3065 f 2845/4675/2863 3058/4676/3076 3057/4677/3075 f 2845/4675/2863 2846/4678/2864 3058/4676/3076 f 2846/4678/2864 3059/4679/3077 3058/4676/3076 f 2846/4678/2864 2849/4680/2867 3059/4679/3077 f 2847/4380/2865 2849/4681/2867 2846/4379/2864 f 2847/4380/2865 2848/4682/2866 2849/4681/2867 f 2849/4683/2867 2850/4684/2868 3060/4685/3078 f 2850/4684/2868 2989/4584/3007 3060/4685/3078 f 2850/4684/2868 2852/4583/2870 2989/4584/3007 f 3060/4686/3078 2989/4585/3007 3038/4643/3056 f 2989/4585/3007 2990/4587/3008 3038/4643/3056 f 3060/4686/3078 3038/4643/3056 3061/4687/3079 f 3038/4643/3056 3039/4644/3057 3061/4687/3079 f 3061/4687/3079 3039/4644/3057 3044/4649/3062 f 3046/4651/3064 3061/4687/3079 3044/4649/3062 f 3059/4688/3077 3061/4687/3079 3046/4651/3064 f 3059/4688/3077 3060/4686/3078 3061/4687/3079 f 3059/4689/3077 3046/4652/3064 3058/4674/3076 f 3058/4674/3076 3046/4652/3064 3047/4654/3065 f 2844/4375/2862 2845/4675/2863 3057/4677/3075 f 2843/4374/2861 2844/4375/2862 3057/4677/3075 f 2843/4690/2861 3057/4673/3075 3062/4691/3080 f 3062/4691/3080 3057/4673/3075 3063/4692/3081 f 3063/4692/3081 3057/4673/3075 3056/4671/3074 f 3063/4692/3081 3056/4671/3074 3055/4672/3073 f 3063/4692/3081 3055/4672/3073 3064/4693/3082 f 3055/4670/3073 3054/4668/3072 3064/4694/3082 f 3064/4694/3082 3054/4668/3072 3065/4695/3083 f 3065/4695/3083 3054/4668/3072 3053/4669/3071 f 3065/4695/3083 3053/4669/3071 3066/4696/3084 f 3066/4696/3084 3053/4669/3071 3067/4697/3085 f 3053/4667/3071 3068/4698/3086 3067/4699/3085 f 3053/4667/3071 3052/4666/3070 3068/4698/3086 f 3067/4699/3085 3068/4698/3086 3069/4700/3087 f 3067/4699/3085 3069/4700/3087 3070/4701/3088 f 3067/4699/3085 3070/4701/3088 3071/4702/3089 f 3071/4702/3089 3070/4701/3088 3072/4703/3090 f 3071/4702/3089 3072/4703/3090 3073/4704/3091 f 3073/4704/3091 3072/4703/3090 3074/4705/3092 f 3073/4704/3091 3074/4705/3092 3075/4706/3093 f 3075/4706/3093 3074/4705/3092 3076/4707/3094 f 3066/4696/3084 3067/4697/3085 3077/4708/3095 f 3077/4708/3095 3067/4697/3085 3078/4709/3096 f 3077/4708/3095 3078/4709/3096 3079/4710/3097 f 3079/4710/3097 3078/4709/3096 3080/4711/3098 f 3078/4709/3096 3081/4712/3099 3080/4711/3098 f 3080/4711/3098 3081/4712/3099 3082/4713/3100 f 3082/4713/3100 3081/4712/3099 3083/4714/3101 f 3084/4715/3102 3082/4713/3100 3083/4714/3101 f 3084/4715/3102 3085/4716/3103 3082/4713/3100 f 3079/4710/3097 3082/4713/3100 3085/4716/3103 f 3082/4713/3100 3079/4710/3097 3080/4711/3098 f 3077/4717/3095 3079/4718/3097 3086/4719/3104 f 3086/4719/3104 3079/4718/3097 3087/4720/3105 f 3087/4720/3105 3079/4718/3097 3088/4721/3106 f 3079/4722/3097 3089/4723/3107 3088/4724/3106 f 3088/4724/3106 3089/4723/3107 3090/4725/3108 f 3089/4723/3107 3091/4726/3109 3090/4725/3108 f 3090/4725/3108 3091/4726/3109 3092/4727/3110 f 3091/4726/3109 3093/4728/3111 3092/4727/3110 f 3092/4727/3110 3093/4728/3111 3094/4729/3112 f 3093/4728/3111 3095/4730/3113 3094/4729/3112 f 3090/4731/3108 3092/4732/3110 3096/4733/3114 f 3096/4733/3114 3092/4732/3110 3097/4734/3115 f 3092/4732/3110 3098/4735/3116 3097/4734/3115 f 3099/4736/3117 3096/4733/3114 3097/4734/3115 f 3100/4737/3118 3096/4733/3114 3099/4736/3117 f 3100/4737/3118 3101/4738/3119 3096/4733/3114 f 3100/4737/3118 3102/4739/3120 3101/4738/3119 f 3102/4739/3120 3100/4737/3118 3103/4740/3121 f 3103/4740/3121 3100/4737/3118 3104/4741/3122 f 3103/4740/3121 3104/4741/3122 3105/4742/3123 f 3106/4743/3124 3103/4740/3121 3105/4742/3123 f 3106/4743/3124 3107/4744/3125 3103/4740/3121 f 3107/4744/3125 3106/4743/3124 3108/4745/3126 f 3108/4745/3126 3106/4743/3124 3109/4746/3127 f 3106/4743/3124 3110/4747/3128 3109/4746/3127 f 3110/4747/3128 3106/4743/3124 3105/4742/3123 f 3109/4746/3127 3110/4747/3128 3111/4748/3129 f 3112/4749/3130 3107/4744/3125 3108/4745/3126 f 3112/4749/3130 3113/4750/3131 3107/4744/3125 f 3114/4751/3132 3113/4750/3131 3112/4749/3130 f 3115/4752/3133 3113/4750/3131 3114/4751/3132 f 3115/4752/3133 3116/4753/3134 3113/4750/3131 f 3115/4752/3133 3117/4754/3135 3116/4753/3134 f 3118/4755/3136 3117/4754/3135 3115/4752/3133 f 3118/4755/3136 3119/4756/3137 3117/4754/3135 f 3120/4757/3138 3119/4756/3137 3118/4755/3136 f 3120/4757/3138 3121/4758/3139 3119/4756/3137 f 3122/4759/3140 3121/4758/3139 3120/4757/3138 f 3122/4759/3140 3063/4692/3081 3121/4758/3139 f 3122/4759/3140 3062/4691/3080 3063/4692/3081 f 2842/4760/2860 3062/4691/3080 3122/4759/3140 f 2842/4760/2860 2843/4690/2861 3062/4691/3080 f 2842/4760/2860 3122/4759/3140 2841/4761/2859 f 3122/4759/3140 3120/4757/3138 2841/4761/2859 f 2841/4761/2859 3120/4757/3138 3118/4755/3136 f 2841/4761/2859 3118/4755/3136 3123/4762/3141 f 3123/4762/3141 3118/4755/3136 3115/4752/3133 f 3123/4762/3141 3115/4752/3133 3114/4751/3132 f 3121/4758/3139 3063/4692/3081 3124/4763/3142 f 3124/4763/3142 3063/4692/3081 3064/4693/3082 f 3064/4694/3082 3066/4696/3084 3124/4764/3142 f 3064/4694/3082 3065/4695/3083 3066/4696/3084 f 3077/4708/3095 3124/4764/3142 3066/4696/3084 f 3124/4763/3142 3077/4717/3095 3119/4756/3137 f 3119/4756/3137 3077/4717/3095 3086/4719/3104 f 3125/4765/3143 3119/4756/3137 3086/4719/3104 f 3117/4754/3135 3119/4756/3137 3125/4765/3143 f 3116/4753/3134 3117/4754/3135 3125/4765/3143 f 3116/4753/3134 3125/4765/3143 3126/4766/3144 f 3126/4766/3144 3125/4765/3143 3086/4719/3104 f 3126/4766/3144 3086/4719/3104 3087/4720/3105 f 3102/4739/3120 3126/4766/3144 3087/4720/3105 f 3126/4766/3144 3102/4739/3120 3127/4767/3145 f 3127/4767/3145 3102/4739/3120 3103/4740/3121 f 3107/4744/3125 3127/4767/3145 3103/4740/3121 f 3107/4744/3125 3113/4750/3131 3127/4767/3145 f 3113/4750/3131 3116/4753/3134 3127/4767/3145 f 3127/4767/3145 3116/4753/3134 3126/4766/3144 f 3102/4739/3120 3087/4720/3105 3101/4738/3119 f 3087/4720/3105 3088/4721/3106 3101/4738/3119 f 3088/4721/3106 3090/4731/3108 3101/4738/3119 f 3101/4738/3119 3090/4731/3108 3096/4733/3114 f 3121/4758/3139 3124/4763/3142 3119/4756/3137 f 3020/4625/3038 3021/4626/3039 3031/4636/3049 f 2976/4565/2994 2958/4542/2976 2974/4563/2992 f 2974/4563/2992 2958/4542/2976 2959/4543/2977 f 2959/4555/2977 2969/4556/2987 2974/4561/2992 f 2970/4557/2988 2968/4554/2986 2967/4553/2985 f 2934/4507/2952 3128/4768/3146 2935/4505/2953 f 2907/4769/2925 2905/4770/2923 3129/4771/3147 f 3129/4771/3147 2905/4770/2923 3130/4772/3148 f 2905/4770/2923 2903/4461/2921 3130/4772/3148 f 3130/4772/3148 2903/4461/2921 2902/4460/2920 f 2900/4773/2918 2902/4460/2920 2901/4459/2919 f 3131/4774/3149 2902/4460/2920 2900/4773/2918 f 3132/4775/3150 3131/4774/3149 2900/4773/2918 f 3133/4776/3151 3132/4775/3150 2900/4773/2918 f 2900/4457/2918 2899/4456/2917 3133/4777/3151 f 2837/4365/2855 2873/4419/2891 2835/4364/2853 f 2835/4364/2853 2873/4419/2891 2872/4421/2890 f 2835/4362/2853 2872/4418/2890 2869/4415/2887 f 2835/4362/2853 2869/4415/2887 2834/4361/2852 f 2834/4360/2852 2869/4411/2887 2868/4413/2886 f 2834/4360/2852 2868/4413/2886 2833/4359/2851 f 2833/4778/2851 2868/4410/2886 2865/4405/2883 f 2833/4778/2851 2865/4405/2883 3134/4779/3152 f 3134/4779/3152 2865/4405/2883 2863/4407/2881 f 3134/4780/3152 2863/4401/2881 2862/4403/2880 f 3134/4780/3152 2862/4403/2880 3135/4781/3153 f 3135/4782/3153 2862/4400/2880 2855/4393/2873 f 2855/4393/2873 2862/4400/2880 2858/4396/2876 f 2853/4391/2871 3135/4782/3153 2855/4393/2873 f 3135/4782/3153 2853/4391/2871 2831/4783/2849 f 2831/4783/2849 2853/4391/2871 2830/4784/2848 f 2853/4391/2871 2851/4389/2869 2830/4784/2848 f 2829/4386/2847 2830/4784/2848 2851/4389/2869 f 2832/4357/2850 3135/4781/3153 2831/4356/2849 f 2832/4357/2850 3134/4780/3152 3135/4781/3153 f 2833/4778/2851 3134/4779/3152 2832/4785/2850 g mesh6.002_mesh6-geometry_FrontColorNoCullingID__01_-_Default1noCulli usemtl FrontColorNoCullingID__01_-_Default1noCulli f 2849/4786/2867 3060/4787/3078 3059/4788/3077 o mesh7.002_mesh7-geometry v -3.863532 155.682526 4.511417 v -4.286595 158.423111 6.900631 v -4.180688 158.521591 5.283511 v -3.423157 154.537964 7.208103 v -4.367506 161.606720 6.066491 vt 0.110143 2.715881 vt 0.215065 2.785608 vt 0.118081 2.788776 vt 0.224880 2.711631 vt 0.170875 2.860480 vn -0.988342 -0.152104 -0.000519 vn -0.992981 -0.115879 -0.023072 vn -0.995300 -0.067446 -0.069277 vn -0.974944 -0.211158 0.069582 vn -0.996734 -0.043123 -0.067904 g mesh7.002_mesh7-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3136/4789/3154 3137/4790/3155 3138/4791/3156 f 3136/4789/3154 3139/4792/3157 3137/4790/3155 f 3138/4791/3156 3137/4790/3155 3140/4793/3158 o mesh8.002_mesh8-geometry v 8.274948 155.466537 0.140714 v 9.835814 152.771271 4.336011 v 8.227585 152.180206 2.018665 v 9.885041 156.447601 2.973511 v 8.085245 158.266296 -0.284072 v 9.905888 158.379395 2.666312 v 7.986635 161.289764 -0.268936 v 3.467669 161.296249 -1.719421 v 4.247242 157.873398 -1.617078 v 4.696880 154.791000 -1.049771 v 4.802830 151.656647 1.097425 v 8.584236 149.055847 3.135569 v 10.267157 149.835953 4.718748 v 10.862501 146.959854 3.422649 v 8.515314 146.717270 2.319582 v 11.351784 144.652252 2.183694 v 9.096628 144.509567 1.265262 v 12.441652 143.036255 0.912035 v 9.814597 142.776962 -0.376795 v 11.084911 141.550552 -2.548959 v 13.628132 141.831177 -0.697943 v 9.485686 142.373016 -0.292807 v 10.522850 141.305389 -2.268642 v 8.678350 144.322388 1.572363 v 5.272475 148.913177 2.191992 v 5.445008 146.424164 1.773892 v 8.545259 144.216583 1.393624 v 5.800116 144.320709 0.941007 v 9.072182 142.623138 -0.506162 v 6.441443 142.308228 -1.216898 v 9.716212 140.997879 -2.845092 v 7.384087 140.766571 -4.125468 v 6.627053 140.783844 -3.444259 v 5.994019 142.082748 -1.381671 v 5.622348 144.099548 0.747578 v 2.919452 142.236053 -1.484652 v 3.435072 140.934265 -4.357613 v 6.345874 140.536392 -4.162138 v 2.589487 140.691666 -3.887124 v 2.491659 141.882660 -1.352894 v 2.384855 143.929382 0.424549 v 2.053732 146.327484 1.495527 v 1.748028 148.733475 2.026909 v 1.068702 151.436859 0.911819 v 0.472207 154.654083 -1.097850 v -0.380799 157.385818 -1.594100 v -1.155300 160.353760 -1.197721 v -3.402240 159.515686 1.292338 v -2.997260 157.058289 1.355405 v -2.649977 155.164154 1.700008 v -2.372484 151.510880 2.511762 v -1.976365 148.569626 3.119467 v -1.649068 146.395294 2.146311 v 0.079185 146.204758 1.694959 v 2.119385 143.895966 0.641830 v 1.901617 142.228546 -1.285433 v 2.178280 140.692932 -3.508977 v 1.540781 140.739563 -3.953609 v -0.689761 140.744400 -3.577973 v -0.130675 142.761963 -0.620819 v -0.108594 143.811462 0.817905 v -0.423108 143.982483 0.824245 v -0.329893 142.499924 -0.530329 v -0.908558 142.896011 -0.870964 v -2.482156 142.718338 -0.393535 v -3.210301 141.335632 -2.618592 v -1.843272 141.204910 -3.497918 v -0.873975 140.929489 -3.304158 v -1.409928 143.987274 1.414325 v 9.813368 160.868759 2.634991 vt 1.449784 0.594845 vt 1.610980 0.516207 vt 1.449492 0.516096 vt 1.613561 0.595318 vt 1.450199 0.651507 vt 1.622192 0.650854 vt 1.450401 0.716360 vt 1.294702 0.716852 vt 1.294702 0.651626 vt 1.294702 0.594662 vt 1.294702 0.516048 vt 1.449327 0.444677 vt 1.610425 0.444729 vt 1.612866 0.389546 vt 1.449182 0.389485 vt 1.613450 0.330179 vt 1.474464 0.329648 vt 1.613756 0.286047 vt 1.491997 0.282598 vt 1.499509 0.235528 vt 1.615596 0.232841 vt 1.455550 0.271323 vt 1.466242 0.231810 vt 1.449541 0.325320 vt 1.296023 0.444646 vt 1.295592 0.389435 vt 1.432169 0.326117 vt 1.303197 0.329620 vt 1.428874 0.270800 vt 1.310298 0.275041 vt 1.414331 0.217142 vt 1.313338 0.222733 vt 1.291003 0.224108 vt 1.286301 0.269829 vt 1.293144 0.324067 vt 1.157307 0.277863 vt 1.171500 0.232139 vt 1.284943 0.226629 vt 1.136505 0.228320 vt 1.134456 0.269904 vt 1.150850 0.323961 vt 1.149097 0.389461 vt 1.149030 0.444646 vt 1.148919 0.516097 vt 1.148799 0.594845 vt 1.148669 0.651507 vt 1.148605 0.716360 vt -0.395750 0.776369 vt -0.623513 0.890353 vt -0.395797 0.888410 vt -0.623610 0.778370 vt -0.395651 0.678478 vt -0.623724 0.682425 vt -0.395560 0.542431 vt -0.623725 0.545756 vt -0.395477 0.418991 vt -0.623924 0.422263 vt -0.395427 0.323654 vt -0.623939 0.323883 vt -0.506553 0.320154 vt -0.411150 0.244344 vt -0.392767 0.244348 vt -0.410760 0.159178 vt -0.391750 0.158849 vt -0.391356 0.070257 vt -0.412268 0.070621 vt -0.485229 0.070099 vt -0.498996 0.159282 vt -0.507882 0.244851 vt -0.529315 0.245475 vt -0.507501 0.159170 vt -0.536038 0.159071 vt -0.623491 0.159227 vt -0.622894 0.069216 vt -0.536046 0.070583 vt -0.510026 0.070268 vt -0.623793 0.246413 vt 1.629622 0.715673 vn 0.644398 -0.213630 -0.734184 vn 0.848415 -0.143040 -0.509598 vn 0.582537 -0.301614 -0.754723 vn 0.869503 -0.094272 -0.484817 vn 0.629109 -0.024110 -0.776940 vn 0.850307 -0.012238 -0.526109 vn 0.706168 0.024628 -0.707572 vn 0.179632 0.002503 -0.983703 vn 0.151677 -0.051332 -0.987091 vn 0.180059 -0.351726 -0.918607 vn 0.173315 -0.436933 -0.882626 vn 0.430128 0.049471 -0.901395 vn 0.706870 0.112430 -0.698325 vn 0.404981 0.414624 -0.814875 vn 0.139470 0.349712 -0.926389 vn 0.290567 0.560350 -0.775597 vn -0.217170 0.540147 -0.813044 vn 0.214026 0.798730 -0.562304 vn -0.264901 0.684988 -0.678640 vn -0.239113 0.768059 -0.594043 vn 0.241432 0.853816 -0.461165 vn -0.629078 0.435255 -0.644002 vn -0.551897 0.577349 -0.601672 vn -0.646352 0.279458 -0.709983 vn 0.147557 -0.067843 -0.986694 vn 0.149388 0.304025 -0.940855 vn 0.146794 0.518632 -0.842280 vn 0.096957 0.642720 -0.759911 vn 0.091525 0.783441 -0.614673 vn -0.080355 0.803888 -0.589282 vn 0.099246 0.863155 -0.495010 vn -0.165136 0.848262 -0.503128 vn -0.330393 0.765801 -0.551653 vn -0.026673 0.803735 -0.594348 vn 0.085360 0.586657 -0.805292 vn -0.283517 0.777581 -0.561174 vn -0.087924 0.887692 -0.451949 vn 0.150456 0.871944 -0.465865 vn -0.565020 0.727134 -0.389813 vn -0.167913 0.756920 -0.631519 vn -0.251625 0.592730 -0.765069 vn -0.142644 0.370678 -0.917722 vn -0.135105 -0.082339 -0.987396 vn -0.215003 -0.421827 -0.880795 vn -0.338786 -0.424451 -0.839656 vn -0.390667 -0.145207 -0.908994 vn -0.300821 -0.007935 -0.953642 vn -0.728050 -0.117527 -0.675344 vn -0.698904 -0.240852 -0.673391 vn -0.580584 -0.330424 -0.744102 vn -0.358531 -0.298929 -0.884335 vn -0.242378 0.113071 -0.963561 vn -0.247414 0.427686 -0.869381 vn -0.071108 0.423200 -0.903226 vn -0.258370 0.565172 -0.783441 vn 0.076785 0.803186 -0.590747 vn 0.398328 0.777154 -0.487136 vn 0.164098 0.851772 -0.497513 vn -0.024079 0.851405 -0.523942 vn -0.020478 0.796960 -0.603656 vn 0.087680 0.559771 -0.823969 vn -0.004517 0.620899 -0.783837 vn 0.569048 0.594836 -0.567705 vn 0.179510 0.814570 -0.551561 vn -0.245705 0.853908 -0.458724 vn -0.228309 0.856075 -0.463637 vn 0.055483 0.830439 -0.554308 vn 0.508835 0.673025 -0.536699 vn -0.416364 0.578906 -0.701041 vn 0.847804 0.024842 -0.529710 g mesh8.002_mesh8-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3141/4794/3159 3142/4795/3160 3143/4796/3161 f 3141/4794/3159 3144/4797/3162 3142/4795/3160 f 3144/4797/3162 3141/4794/3159 3145/4798/3163 f 3145/4798/3163 3146/4799/3164 3144/4797/3162 f 3145/4798/3163 3147/4800/3165 3146/4799/3164 f 3148/4801/3166 3147/4800/3165 3145/4798/3163 f 3148/4801/3166 3145/4798/3163 3149/4802/3167 f 3145/4798/3163 3141/4794/3159 3149/4802/3167 f 3149/4802/3167 3141/4794/3159 3150/4803/3168 f 3141/4794/3159 3143/4796/3161 3150/4803/3168 f 3150/4803/3168 3143/4796/3161 3151/4804/3169 f 3143/4796/3161 3152/4805/3170 3151/4804/3169 f 3143/4796/3161 3153/4806/3171 3152/4805/3170 f 3143/4796/3161 3142/4795/3160 3153/4806/3171 f 3153/4806/3171 3154/4807/3172 3152/4805/3170 f 3152/4805/3170 3154/4807/3172 3155/4808/3173 f 3154/4807/3172 3156/4809/3174 3155/4808/3173 f 3155/4808/3173 3156/4809/3174 3157/4810/3175 f 3158/4811/3176 3157/4810/3175 3156/4809/3174 f 3158/4811/3176 3159/4812/3177 3157/4810/3175 f 3158/4811/3176 3160/4813/3178 3159/4812/3177 f 3161/4814/3179 3160/4813/3178 3158/4811/3176 f 3160/4813/3178 3162/4815/3180 3159/4812/3177 f 3162/4815/3180 3160/4813/3178 3163/4816/3181 f 3157/4810/3175 3159/4812/3177 3162/4815/3180 f 3157/4810/3175 3162/4815/3180 3164/4817/3182 f 3155/4808/3173 3157/4810/3175 3164/4817/3182 f 3152/4805/3170 3155/4808/3173 3165/4818/3183 f 3165/4818/3183 3155/4808/3173 3166/4819/3184 f 3155/4808/3173 3167/4820/3185 3166/4819/3184 f 3166/4819/3184 3167/4820/3185 3168/4821/3186 f 3169/4822/3187 3168/4821/3186 3167/4820/3185 f 3169/4822/3187 3170/4823/3188 3168/4821/3186 f 3171/4824/3189 3170/4823/3188 3169/4822/3187 f 3171/4824/3189 3172/4825/3190 3170/4823/3188 f 3172/4825/3190 3173/4826/3191 3170/4823/3188 f 3173/4826/3191 3174/4827/3192 3170/4823/3188 f 3170/4823/3188 3174/4827/3192 3168/4821/3186 f 3174/4827/3192 3175/4828/3193 3168/4821/3186 f 3174/4827/3192 3176/4829/3194 3175/4828/3193 f 3174/4827/3192 3177/4830/3195 3176/4829/3194 f 3178/4831/3196 3177/4830/3195 3174/4827/3192 f 3177/4830/3195 3179/4832/3197 3176/4829/3194 f 3176/4829/3194 3179/4832/3197 3180/4833/3198 f 3181/4834/3199 3176/4829/3194 3180/4833/3198 f 3175/4828/3193 3176/4829/3194 3181/4834/3199 f 3182/4835/3200 3175/4828/3193 3181/4834/3199 f 3166/4819/3184 3175/4828/3193 3182/4835/3200 f 3166/4819/3184 3168/4821/3186 3175/4828/3193 f 3183/4836/3201 3166/4819/3184 3182/4835/3200 f 3165/4818/3183 3166/4819/3184 3183/4836/3201 f 3184/4837/3202 3165/4818/3183 3183/4836/3201 f 3151/4804/3169 3165/4818/3183 3184/4837/3202 f 3151/4804/3169 3152/4805/3170 3165/4818/3183 f 3185/4838/3203 3151/4804/3169 3184/4837/3202 f 3150/4803/3168 3151/4804/3169 3185/4838/3203 f 3186/4839/3204 3150/4803/3168 3185/4838/3203 f 3149/4802/3167 3150/4803/3168 3186/4839/3204 f 3187/4840/3205 3149/4802/3167 3186/4839/3204 f 3148/4801/3166 3149/4802/3167 3187/4840/3205 f 3186/4841/3204 3188/4842/3206 3187/4843/3205 f 3186/4841/3204 3189/4844/3207 3188/4842/3206 f 3186/4841/3204 3185/4845/3203 3189/4844/3207 f 3189/4844/3207 3185/4845/3203 3190/4846/3208 f 3185/4845/3203 3184/4847/3202 3190/4846/3208 f 3190/4846/3208 3184/4847/3202 3191/4848/3209 f 3191/4848/3209 3184/4847/3202 3183/4849/3201 f 3191/4848/3209 3183/4849/3201 3192/4850/3210 f 3183/4849/3201 3182/4851/3200 3192/4850/3210 f 3192/4850/3210 3182/4851/3200 3193/4852/3211 f 3193/4852/3211 3182/4851/3200 3194/4853/3212 f 3182/4851/3200 3195/4854/3213 3194/4853/3212 f 3182/4851/3200 3181/4855/3199 3195/4854/3213 f 3181/4855/3199 3196/4856/3214 3195/4854/3213 f 3181/4855/3199 3180/4857/3198 3196/4856/3214 f 3180/4857/3198 3197/4858/3215 3196/4856/3214 f 3197/4858/3215 3198/4859/3216 3196/4856/3214 f 3196/4856/3214 3198/4859/3216 3199/4860/3217 f 3196/4856/3214 3199/4860/3217 3200/4861/3218 f 3195/4854/3213 3196/4856/3214 3200/4861/3218 f 3195/4854/3213 3200/4861/3218 3201/4862/3219 f 3194/4853/3212 3195/4854/3213 3201/4862/3219 f 3194/4853/3212 3201/4862/3219 3202/4863/3220 f 3202/4863/3220 3201/4862/3219 3203/4864/3221 f 3204/4865/3222 3202/4863/3220 3203/4864/3221 f 3202/4863/3220 3204/4865/3222 3205/4866/3223 f 3204/4865/3222 3206/4867/3224 3205/4866/3223 f 3204/4865/3222 3207/4868/3225 3206/4867/3224 f 3208/4869/3226 3207/4868/3225 3204/4865/3222 f 3208/4869/3226 3204/4865/3222 3203/4864/3221 f 3202/4863/3220 3205/4866/3223 3209/4870/3227 f 3193/4852/3211 3202/4863/3220 3209/4870/3227 f 3193/4852/3211 3194/4853/3212 3202/4863/3220 f 3147/4800/3165 3210/4871/3228 3146/4799/3164 o mesh9.002_mesh9-geometry v 10.762648 146.448700 3.420037 v 11.062708 145.077621 2.630148 v 9.779861 144.121918 2.803067 v 11.747141 143.565933 1.421198 v 10.284569 142.616928 1.439458 v 11.393469 141.732422 -0.132967 v 12.952496 142.558853 0.138975 v 9.420206 145.891693 3.696944 v 7.218154 143.855499 2.374655 v 10.402884 142.455994 1.648466 v 7.737208 142.137741 0.877865 v 8.740107 141.044525 -1.191738 v 11.217224 141.831345 0.012690 v 6.999944 145.699097 3.382024 v 4.630083 145.695206 2.878069 v 4.812004 143.632782 1.843351 v 7.505755 142.061813 0.749501 v 5.123206 142.014969 0.238689 v 8.225356 141.068787 -1.393118 v 5.654455 140.667511 -2.193355 v 1.897249 145.619263 2.829151 v 2.072418 143.533508 1.787344 v 2.330404 141.917252 0.208742 v 4.854086 141.873550 0.206921 v 2.162254 140.783539 -2.142097 v 5.006162 140.702362 -2.294566 v -0.504927 145.485657 2.846910 v -0.380665 143.634247 1.808361 v -0.822077 142.059540 0.323816 v 2.032388 141.828171 0.131505 v -1.338122 141.055725 -1.731715 v 1.674468 140.725540 -2.177709 v -1.467879 146.049942 2.195851 v -1.676256 144.409119 1.294553 v -2.025026 143.258179 -0.335742 v -1.236679 142.313629 0.131972 v -3.051848 142.299744 -1.997965 v -1.523277 141.406311 -1.728539 v -1.448423 148.631027 3.371287 v -0.465225 148.679520 4.660615 v -1.630292 151.076126 3.326250 v -1.402645 150.660858 4.723782 v -2.784653 155.161697 2.058482 v -2.950806 153.558975 4.454322 v 1.961034 150.128433 4.214216 v 1.541426 151.465668 3.827176 v 4.486214 150.057205 4.225947 v 3.872620 151.631668 4.018527 v 6.316078 150.751862 4.712617 v 6.180413 151.940643 4.298479 v 8.991473 151.799789 5.469871 v 9.731884 154.857529 5.742830 v 9.668891 152.181076 4.059576 v 10.270647 149.184311 4.498265 v 9.000010 148.385498 5.112952 v 6.760811 147.984619 4.777401 v 4.382504 147.775543 4.303027 v 1.800546 147.768585 4.050845 v 9.943370 156.464890 3.351595 vt 0.628988 0.471809 vt 0.629376 0.310818 vt 0.550484 0.310810 vt 0.630448 0.165326 vt 0.550481 0.165023 vt 0.550645 0.047429 vt 0.631569 0.045246 vt 0.550485 0.471809 vt 0.428951 0.310804 vt 0.550483 0.165486 vt 0.429690 0.165434 vt 0.430640 0.044059 vt 0.551789 0.048565 vt 0.428909 0.471809 vt 0.330174 0.471809 vt 0.330161 0.311676 vt 0.429009 0.165383 vt 0.330183 0.165431 vt 0.429201 0.044625 vt 0.330259 0.041836 vt 0.222027 0.471809 vt 0.222043 0.310800 vt 0.222041 0.165484 vt 0.330078 0.165317 vt 0.222023 0.044682 vt 0.330012 0.042418 vt 0.111695 0.471809 vt 0.111615 0.310811 vt 0.111553 0.165619 vt 0.222161 0.165414 vt 0.111557 0.047376 vt 0.222306 0.044385 vt 0.026622 0.471809 vt 0.025960 0.310817 vt 0.025024 0.165333 vt 0.111079 0.165146 vt 0.024205 0.053528 vt 0.110622 0.050836 vt 0.026900 0.614817 vt 0.111812 0.613557 vt 0.027139 0.777549 vt 0.111766 0.776547 vt 0.027181 0.886968 vt 0.111548 0.886884 vt 0.221972 0.774580 vt 0.221920 0.886184 vt 0.330167 0.773932 vt 0.330167 0.885952 vt 0.429014 0.774553 vt 0.428921 0.886184 vt 0.550484 0.775006 vt 0.550482 0.886884 vt 0.628549 0.777498 vt 0.628705 0.614823 vt 0.550486 0.613599 vt 0.429036 0.613473 vt 0.330177 0.613256 vt 0.221983 0.613565 vt 0.627982 0.886968 vn -0.406598 0.352886 -0.842677 vn -0.416852 0.413068 -0.809656 vn -0.233833 0.481033 -0.844905 vn -0.362987 0.574206 -0.733818 vn -0.394452 0.594409 -0.700736 vn -0.321757 0.647542 -0.690725 vn -0.221198 0.655049 -0.722434 vn -0.067476 0.469924 -0.880093 vn 0.116276 0.550615 -0.826594 vn 0.034181 0.788049 -0.614643 vn 0.079257 0.794305 -0.602283 vn -0.035585 0.903073 -0.427961 vn -0.096957 0.912748 -0.396802 vn 0.123325 0.519944 -0.845210 vn 0.098148 0.506455 -0.856624 vn 0.056520 0.595782 -0.801111 vn 0.101840 0.780114 -0.617237 vn 0.072726 0.844081 -0.531205 vn 0.040712 0.896023 -0.442091 vn 0.013398 0.875851 -0.482315 vn -0.015625 0.470382 -0.882321 vn 0.000427 0.582476 -0.812830 vn 0.005371 0.770837 -0.636982 vn 0.010041 0.842311 -0.538865 vn 0.009186 0.902982 -0.429548 vn 0.003113 0.905698 -0.423841 vn 0.362163 0.443709 -0.819697 vn 0.447615 0.503098 -0.739219 vn 0.024384 0.767785 -0.640217 vn 0.028565 0.840999 -0.540239 vn 0.038270 0.896695 -0.440962 vn 0.034211 0.899777 -0.434950 vn 0.614246 0.358013 -0.703177 vn 0.558000 0.487869 -0.671255 vn 0.686666 0.407483 -0.601978 vn 0.675375 0.461837 -0.574908 vn 0.639912 0.537797 -0.548845 vn 0.509751 0.739708 -0.439253 vn 0.738456 0.229041 -0.634144 vn 0.439619 0.354289 -0.825343 vn 0.934538 0.253670 -0.249458 vn 0.593616 0.265328 -0.759728 vn 0.917936 0.368633 0.146519 vn 0.224006 -0.043947 -0.973571 vn -0.085696 -0.120212 -0.989013 vn -0.068667 -0.245949 -0.966826 vn 0.135380 -0.077029 -0.987762 vn 0.171331 -0.144475 -0.974548 vn 0.238868 -0.081729 -0.967589 vn 0.303720 -0.199530 -0.931608 vn -0.267617 -0.016907 -0.963347 vn -0.740745 0.144475 -0.656026 vn -0.951262 0.022797 -0.307505 vn -0.652852 0.026368 -0.757012 vn -0.167821 0.238533 -0.956511 vn 0.143834 0.264962 -0.953459 vn 0.117008 0.288949 -0.950133 vn -0.051759 0.277169 -0.959410 vn -0.997131 0.055452 -0.050874 g mesh9.002_mesh9-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3211/4872/3229 3212/4873/3230 3213/4874/3231 f 3212/4873/3230 3214/4875/3232 3213/4874/3231 f 3213/4874/3231 3214/4875/3232 3215/4876/3233 f 3214/4875/3232 3216/4877/3234 3215/4876/3233 f 3214/4875/3232 3217/4878/3235 3216/4877/3234 f 3211/4872/3229 3213/4874/3231 3218/4879/3236 f 3218/4879/3236 3213/4874/3231 3219/4880/3237 f 3213/4874/3231 3220/4881/3238 3219/4880/3237 f 3219/4880/3237 3220/4881/3238 3221/4882/3239 f 3220/4881/3238 3222/4883/3240 3221/4882/3239 f 3223/4884/3241 3222/4883/3240 3220/4881/3238 f 3218/4879/3236 3219/4880/3237 3224/4885/3242 f 3224/4885/3242 3219/4880/3237 3225/4886/3243 f 3225/4886/3243 3219/4880/3237 3226/4887/3244 f 3219/4880/3237 3227/4888/3245 3226/4887/3244 f 3227/4888/3245 3228/4889/3246 3226/4887/3244 f 3229/4890/3247 3228/4889/3246 3227/4888/3245 f 3229/4890/3247 3230/4891/3248 3228/4889/3246 f 3225/4886/3243 3226/4887/3244 3231/4892/3249 f 3231/4892/3249 3226/4887/3244 3232/4893/3250 f 3226/4887/3244 3233/4894/3251 3232/4893/3250 f 3226/4887/3244 3234/4895/3252 3233/4894/3251 f 3234/4895/3252 3235/4896/3253 3233/4894/3251 f 3236/4897/3254 3235/4896/3253 3234/4895/3252 f 3231/4892/3249 3232/4893/3250 3237/4898/3255 f 3237/4898/3255 3232/4893/3250 3238/4899/3256 f 3238/4899/3256 3232/4893/3250 3239/4900/3257 f 3232/4893/3250 3240/4901/3258 3239/4900/3257 f 3240/4901/3258 3241/4902/3259 3239/4900/3257 f 3240/4901/3258 3242/4903/3260 3241/4902/3259 f 3238/4899/3256 3243/4904/3261 3237/4898/3255 f 3243/4904/3261 3238/4899/3256 3244/4905/3262 f 3238/4899/3256 3245/4906/3263 3244/4905/3262 f 3245/4906/3263 3238/4899/3256 3246/4907/3264 f 3247/4908/3265 3245/4906/3263 3246/4907/3264 f 3246/4907/3264 3248/4909/3266 3247/4908/3265 f 3249/4910/3267 3237/4898/3255 3243/4904/3261 f 3237/4898/3255 3249/4910/3267 3250/4911/3268 f 3251/4912/3269 3250/4911/3268 3249/4910/3267 f 3251/4912/3269 3252/4913/3270 3250/4911/3268 f 3253/4914/3271 3252/4913/3270 3251/4912/3269 f 3253/4914/3271 3254/4915/3272 3252/4913/3270 f 3254/4915/3272 3255/4916/3273 3252/4913/3270 f 3254/4915/3272 3256/4917/3274 3255/4916/3273 f 3256/4917/3274 3257/4918/3275 3255/4916/3273 f 3258/4919/3276 3257/4918/3275 3256/4917/3274 f 3258/4919/3276 3259/4920/3277 3257/4918/3275 f 3260/4921/3278 3259/4920/3277 3258/4919/3276 f 3260/4921/3278 3261/4922/3279 3259/4920/3277 f 3262/4923/3280 3261/4922/3279 3260/4921/3278 f 3263/4924/3281 3261/4922/3279 3262/4923/3280 f 3263/4924/3281 3264/4925/3282 3261/4922/3279 f 3261/4922/3279 3264/4925/3282 3265/4926/3283 f 3264/4925/3282 3211/4872/3229 3265/4926/3283 f 3265/4926/3283 3211/4872/3229 3218/4879/3236 f 3265/4926/3283 3218/4879/3236 3266/4927/3284 f 3266/4927/3284 3218/4879/3236 3224/4885/3242 f 3266/4927/3284 3224/4885/3242 3267/4928/3285 f 3267/4928/3285 3224/4885/3242 3225/4886/3243 f 3267/4928/3285 3225/4886/3243 3268/4929/3286 f 3268/4929/3286 3225/4886/3243 3231/4892/3249 f 3250/4911/3268 3268/4929/3286 3231/4892/3249 f 3252/4913/3270 3268/4929/3286 3250/4911/3268 f 3252/4913/3270 3255/4916/3273 3268/4929/3286 f 3255/4916/3273 3267/4928/3285 3268/4929/3286 f 3255/4916/3273 3257/4918/3275 3267/4928/3285 f 3257/4918/3275 3266/4927/3284 3267/4928/3285 f 3259/4920/3277 3266/4927/3284 3257/4918/3275 f 3259/4920/3277 3265/4926/3283 3266/4927/3284 f 3261/4922/3279 3265/4926/3283 3259/4920/3277 f 3250/4911/3268 3231/4892/3249 3237/4898/3255 f 3269/4930/3287 3263/4924/3281 3262/4923/3280 o mesh10.002_mesh10-geometry v 10.481647 158.417465 5.890192 v 10.001469 158.534271 8.498263 v 9.834290 156.493515 8.585245 v 9.441824 162.711884 7.809521 v 10.647091 156.499130 5.901974 vt 0.362241 2.768412 vt 0.245931 2.772480 vt 0.255329 2.709453 vt 0.299178 2.824075 vt 0.346708 2.708301 vn 0.974670 0.057039 0.216193 vn 0.982879 0.043336 0.178991 vn 0.971374 0.005768 0.237465 vn 0.972259 0.158574 0.171880 vn 0.953612 0.084017 0.289041 g mesh10.002_mesh10-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3270/4931/3288 3271/4932/3289 3272/4933/3290 f 3270/4931/3288 3273/4934/3291 3271/4932/3289 f 3270/4931/3288 3272/4933/3290 3274/4935/3292 ================================================ FILE: examples/models/female02/female02_vertex_colors.obj ================================================ # Blender v2.54 (sub 0) OBJ File: '' # www.blender.org mtllib female02.mtl o mesh1.002_mesh1-geometry v 15.257854 104.640892 8.680023 0.383732 0.384435 0.001300 v 14.044281 104.444138 11.718708 0.953614 0.355638 0.350515 v 15.763498 98.955704 11.529579 0.064314 0.670405 0.020999 v 13.569746 109.269287 9.462707 0.117181 0.915848 0.152911 v 14.757845 104.775192 4.971417 0.462692 0.222771 0.988331 v 13.142721 109.172058 6.268135 0.662125 0.989558 0.628575 v 11.807373 104.843132 0.849572 0.662227 0.822695 0.358601 v 10.506094 108.970917 3.033252 0.704658 0.484028 0.568994 v 7.593388 104.766266 -1.942774 0.029685 0.169433 0.244984 v 13.169130 98.956718 -0.815624 0.512170 0.415811 0.957202 v 16.459829 99.100952 3.554761 0.979316 0.814900 0.137779 v 16.986284 99.074776 8.074696 0.604464 0.722698 0.203787 v 16.292191 92.596588 12.043097 0.695395 0.793548 0.532945 v 12.936630 92.984993 15.447964 0.137626 0.935764 0.254394 v 12.155630 98.725319 14.668951 0.633486 0.645234 0.414009 v 10.850975 103.979431 14.698450 0.810342 0.471811 0.029787 v 6.023970 103.116035 16.648632 0.421907 0.413720 0.642375 v 5.181572 108.072670 16.075081 0.288777 0.642320 0.770743 v 1.004087 107.656731 16.184366 0.675224 0.404074 0.703261 v 4.572311 113.371391 16.038912 0.441940 0.704481 0.568270 v 0.896918 113.390305 16.633600 0.985102 0.442119 0.393385 v -2.759317 113.344933 15.698933 0.780633 0.141638 0.008650 v -2.339039 117.834694 16.190298 0.003468 0.958380 0.476780 v -6.563547 112.961159 14.348729 0.548180 0.630056 0.901846 v -5.760449 117.526817 14.933550 0.502776 0.061484 0.874248 v -5.519526 120.864822 14.823684 0.181908 0.987036 0.731238 v -8.238861 121.361290 11.204505 0.091207 0.100144 0.353747 v -8.201044 117.402969 11.693075 0.428626 0.170422 0.190271 v -8.958361 117.036407 7.802324 0.682668 0.185446 0.311615 v -8.927507 112.696747 11.601196 0.779907 0.232474 0.754060 v -9.589485 112.800865 8.227003 0.538001 0.872307 0.251190 v -8.530052 116.664978 4.531123 0.919856 0.418038 0.248983 v -8.993671 112.653061 5.276041 0.918409 0.521500 0.199615 v -5.822862 116.368874 1.348426 0.582012 0.830027 0.471582 v -6.339392 112.660645 2.123057 0.747324 0.918569 0.720493 v -1.702780 116.139168 0.200030 0.084320 0.083650 0.102334 v -5.808820 120.986809 -0.067874 0.984178 0.338490 0.647565 v -1.966336 120.398438 -0.867285 0.273119 0.377937 0.053032 v -5.976162 124.118515 -0.662507 0.982418 0.073159 0.817333 v -2.116596 122.962830 -1.600700 0.223213 0.793371 0.119148 v -5.521203 130.084656 -1.564034 0.327655 0.623982 0.532544 v -2.263046 127.628281 -2.742522 0.482202 0.353529 0.461058 v -5.012523 135.835724 -3.003631 0.570650 0.655169 0.850153 v -2.111149 135.131348 -3.247862 0.761388 0.755814 0.961451 v -5.371818 139.766556 -2.818895 0.931644 0.787695 0.257849 v -0.798830 139.060715 -2.894871 0.968724 0.611693 0.790912 v -6.140585 142.219238 -0.990886 0.814297 0.696733 0.888250 v -1.256657 143.945007 0.302066 0.279285 0.540127 0.825372 v 2.123688 143.993774 0.203624 0.835895 0.635108 0.251287 v 4.578859 138.859299 -2.312485 0.406265 0.197621 0.419887 v 4.814582 143.832108 0.309396 0.260972 0.637600 0.436305 v 4.899103 145.366821 1.007436 0.865732 0.890312 0.718268 v 7.444840 143.444366 0.767250 0.734725 0.205080 0.417718 v 7.140624 145.037689 1.468624 0.535034 0.202630 0.629932 v 4.944429 146.823639 1.659728 0.611047 0.673715 0.562298 v 6.984528 146.554031 2.091060 0.528804 0.917413 0.441745 v 6.465117 148.383759 2.361522 0.022556 0.182441 0.688233 v 7.741009 148.162811 3.738755 0.994300 0.523793 0.066285 v 7.249308 150.299500 2.554684 0.051136 0.569291 0.753529 v 6.102142 150.066147 1.919027 0.057251 0.343695 0.712650 v 4.661311 148.335938 1.957730 0.395091 0.535579 0.446493 v 2.815995 148.197647 1.986842 0.124339 0.663418 0.806668 v 2.840966 146.854004 1.654857 0.910977 0.946774 0.282670 v 2.591450 145.507385 0.986767 0.887829 0.375497 0.673492 v 0.865065 145.314529 1.871189 0.306843 0.385706 0.169774 v -2.008381 144.262939 3.806267 0.698264 0.378155 0.392262 v -6.432969 142.891678 3.093233 0.452510 0.027615 0.233311 v -8.592241 141.481171 -1.470636 0.467711 0.438403 0.356842 v -7.430822 139.661819 -3.021901 0.687908 0.303670 0.816398 v -6.824625 136.113113 -2.779307 0.927170 0.242231 0.780181 v -7.851790 131.386444 -0.263758 0.461950 0.812482 0.827099 v -9.344049 128.897690 2.850615 0.701713 0.083491 0.300087 v -8.784912 125.515945 2.980577 0.775259 0.035568 0.830494 v -8.889849 121.734673 3.146753 0.165644 0.221275 0.484514 v -9.168697 121.797211 7.052613 0.434807 0.340869 0.916506 v -9.034607 124.540642 10.404552 0.995366 0.729902 0.476317 v -7.697692 123.543411 12.575319 0.954063 0.613360 0.139822 v -5.151237 122.993889 14.849089 0.052231 0.836116 0.107668 v -2.304177 120.534714 16.266979 0.529447 0.563413 0.209976 v 0.720808 117.744400 16.803429 0.285556 0.064730 0.919807 v 4.306844 117.695595 16.268337 0.297109 0.534036 0.487122 v 8.393042 113.521927 15.247016 0.879306 0.300227 0.650365 v 9.632933 108.557266 14.914340 0.377498 0.155676 0.679579 v 12.402884 109.039261 12.367670 0.208751 0.269212 0.762762 v 11.144743 113.766785 12.886069 0.320832 0.196578 0.353614 v 10.799906 116.989632 12.753507 0.280587 0.274127 0.295231 v 7.791673 117.285263 15.410421 0.079893 0.860313 0.995428 v 7.505010 120.164337 15.455770 0.628179 0.458107 0.974247 v 4.225027 120.246017 16.572189 0.060206 0.429276 0.371160 v 0.683850 120.364166 17.032619 0.570273 0.424860 0.254490 v -2.378849 122.808197 16.202868 0.249787 0.146231 0.984615 v -2.488681 124.059319 17.903734 0.737157 0.134663 0.645008 v 0.845051 123.960747 17.790226 0.778199 0.122264 0.042766 v 1.078839 126.564957 18.746563 0.309482 0.494966 0.275073 v -2.562774 126.734512 19.054131 0.861974 0.728469 0.083002 v -5.076929 127.023781 18.594307 0.534632 0.460783 0.400141 v -5.304347 124.156059 16.893770 0.749763 0.251431 0.671037 v -7.303342 127.466972 17.018900 0.440072 0.619810 0.194805 v -7.526822 124.924362 14.839005 0.451552 0.544174 0.428974 v -9.579182 127.699867 9.877795 0.090719 0.985487 0.824386 v -9.587976 128.310547 6.698901 0.601549 0.898835 0.546228 v -9.507895 124.928047 6.633179 0.296626 0.056548 0.703623 v -8.672806 131.796738 3.127684 0.754726 0.723518 0.804853 v -9.669853 131.598038 6.691789 0.455520 0.771787 0.204967 v -9.457756 131.113419 9.492600 0.765170 0.775289 0.404393 v -9.075939 130.374649 13.654957 0.376978 0.209144 0.309170 v -9.036234 127.456581 13.609797 0.530085 0.671495 0.697034 v -7.023031 130.025726 16.806595 0.935990 0.791006 0.744458 v -4.804986 129.649216 18.280996 0.042112 0.388648 0.497505 v -2.451254 129.421494 18.750168 0.723412 0.953197 0.937986 v 0.161343 129.171860 18.366440 0.520120 0.408826 0.781476 v 1.399633 129.065811 18.155729 0.145278 0.041804 0.084634 v 2.562644 128.923935 18.620789 0.691211 0.921136 0.482166 v 4.965795 128.717819 19.430416 0.577272 0.312000 0.997445 v 4.454268 126.139549 19.548819 0.763042 0.213549 0.665940 v 4.179170 123.677025 18.153822 0.881504 0.096829 0.934677 v 4.346234 122.485069 16.463732 0.279773 0.435953 0.067458 v 7.455125 122.400360 15.525774 0.487540 0.659986 0.976094 v 7.146682 123.493713 17.577509 0.775675 0.684494 0.710881 v 9.716841 123.546791 16.145174 0.710089 0.222050 0.796475 v 9.571938 125.953415 18.525366 0.568710 0.588616 0.350069 v 7.019894 125.985443 19.567709 0.183845 0.897572 0.810008 v 7.365571 128.489914 19.441542 0.107054 0.669453 0.613172 v 9.883034 128.384186 18.489630 0.104118 0.260628 0.629169 v 12.589560 128.221283 15.889303 0.736679 0.125327 0.126339 v 11.949629 125.503792 15.630123 0.577815 0.224215 0.902701 v 13.302879 125.364677 12.121984 0.871109 0.018658 0.780652 v 13.877384 128.398834 11.623900 0.763753 0.456024 0.965399 v 12.197374 130.195969 16.283487 0.060932 0.572524 0.032181 v 13.636587 131.766449 13.159306 0.190709 0.567358 0.438918 v 15.076771 129.808594 8.714169 0.427849 0.220797 0.854615 v 15.808640 132.190048 8.884383 0.377627 0.867084 0.569534 v 16.606277 129.669098 5.230776 0.008593 0.228423 0.551353 v 16.686869 132.993591 7.332879 0.366284 0.620502 0.818045 v 18.608105 135.711487 6.782923 0.148785 0.971475 0.742784 v 19.629473 131.783615 4.968683 0.266576 0.251548 0.247853 v 17.396856 128.066101 2.940822 0.844365 0.578167 0.219452 v 14.789427 129.439377 5.177344 0.919475 0.102974 0.219258 v 14.529860 128.812546 8.640189 0.044951 0.873826 0.594970 v 14.064905 125.527832 8.717837 0.857175 0.363906 0.227042 v 12.087156 122.662857 12.424332 0.413451 0.569920 0.980565 v 10.121506 122.192787 13.912159 0.233272 0.312293 0.471859 v 0.820999 122.709267 16.974115 0.686599 0.220512 0.980316 v 10.716888 119.949455 12.450660 0.183718 0.308627 0.191082 v 12.117998 117.213303 9.398716 0.384918 0.208477 0.110607 v 12.583788 119.949387 8.920332 0.652292 0.426664 0.908447 v 13.423439 122.661903 8.817785 0.940278 0.906563 0.389623 v 14.786779 126.031479 4.812602 0.829599 0.582728 0.222954 v 14.772257 128.750229 5.099123 0.490846 0.016987 0.823374 v 14.454624 128.924652 1.585409 0.839446 0.068345 0.089884 v 12.704168 135.421570 -2.039784 0.879690 0.537354 0.566987 v 12.735502 131.069931 -0.253911 0.901748 0.455687 0.484822 v 13.908258 133.446945 -2.746296 0.322191 0.676625 0.190075 v 14.739635 131.764389 -3.934664 0.032040 0.107624 0.290035 v 13.730759 129.539825 -1.199649 0.042895 0.824279 0.153269 v 14.936941 127.407906 -3.997814 0.782749 0.918758 0.375516 v 15.442606 125.720795 -1.273048 0.069844 0.865151 0.918019 v 19.048721 128.465240 -2.382073 0.423364 0.459238 0.217934 v 18.016111 125.458473 0.919583 0.484773 0.946000 0.256205 v 20.819742 127.078728 0.940981 0.134090 0.322833 0.315342 v 20.264738 129.751083 3.042332 0.967040 0.711186 0.490969 v 22.159887 132.102295 1.522548 0.091077 0.761927 0.653824 v 21.047403 134.289536 2.966325 0.923031 0.307153 0.440622 v 20.858221 136.016235 -0.266787 0.198667 0.417935 0.030151 v 19.046593 139.433731 1.149142 0.419704 0.854560 0.218787 v 17.120358 138.683502 -1.130824 0.686646 0.564862 0.405384 v 19.020466 136.058121 -2.599424 0.070149 0.609684 0.388883 v 21.846994 133.704514 -1.336323 0.712572 0.894237 0.853374 v 23.022522 129.200470 -0.403539 0.747173 0.355984 0.289173 v 22.748058 131.012848 -3.164179 0.167999 0.537037 0.895593 v 21.068506 131.455154 -5.445457 0.301823 0.062668 0.918147 v 18.468355 130.847443 -6.353982 0.645989 0.703923 0.712084 v 16.318249 129.402374 -5.838568 0.775690 0.633178 0.431182 v 17.175697 133.096390 -4.580065 0.694882 0.796006 0.491869 v 20.044525 133.881470 -3.799545 0.823518 0.925012 0.444494 v 16.239779 135.007294 -3.421530 0.709622 0.250877 0.216530 v 15.202147 136.896225 -2.150012 0.636758 0.188434 0.764138 v 15.067904 139.482681 -0.966252 0.479453 0.325306 0.230634 v 16.497074 140.419434 1.763396 0.459948 0.785748 0.622142 v 12.905005 139.526535 -1.159311 0.564922 0.306660 0.853851 v 14.176407 137.338409 -1.868070 0.689944 0.711443 0.500955 v 9.816385 134.971985 -2.289405 0.825347 0.101314 0.727813 v 8.802313 126.579117 -1.640443 0.207706 0.168454 0.367353 v 12.090342 128.006531 -0.232787 0.035525 0.261101 0.550721 v 11.383951 122.484367 1.014178 0.527919 0.069866 0.399860 v 13.579321 123.069427 4.883085 0.980274 0.277844 0.675900 v 12.533098 119.770493 5.351305 0.070401 0.040109 0.820634 v 12.067905 116.909058 6.123657 0.101028 0.461309 0.897517 v 12.364876 113.798454 9.752976 0.064598 0.406876 0.219265 v 12.098284 113.706558 6.730651 0.422082 0.925042 0.166852 v 10.087294 116.559059 2.573340 0.774066 0.642594 0.131353 v 10.633617 119.615692 1.583975 0.894906 0.407907 0.976004 v 7.067396 119.735527 0.016351 0.487293 0.216702 0.896790 v 6.352275 116.061165 0.893890 0.094931 0.627594 0.701914 v 9.957821 113.404274 3.261717 0.045407 0.110673 0.435768 v 5.950680 113.047874 1.545629 0.556886 0.249594 0.859651 v 6.350613 108.854103 0.724019 0.979817 0.381583 0.750783 v 2.546105 104.179482 -2.297141 0.495789 0.032352 0.565363 v 8.672219 98.883179 -3.681098 0.044315 0.603340 0.285136 v 13.879513 92.387054 -1.669693 0.773513 0.853936 0.032990 v 17.239635 92.585518 3.095561 0.797996 0.997801 0.588117 v 17.917158 92.777885 7.797945 0.946620 0.031607 0.085323 v 16.980242 86.977798 12.513994 0.575023 0.363208 0.552069 v 13.397591 87.395859 16.193586 0.065688 0.694435 0.931555 v 7.605553 87.773949 18.236450 0.751610 0.637347 0.776627 v 7.280198 92.810295 17.497877 0.729835 0.207220 0.273079 v 6.817319 97.914505 17.084080 0.704714 0.184412 0.539612 v 1.813271 97.321938 16.938837 0.306633 0.574016 0.895388 v 1.356570 102.738937 16.495104 0.262076 0.442799 0.623917 v -3.410332 102.441368 15.430528 0.476410 0.360736 0.463283 v -3.113336 107.291580 15.138844 0.659846 0.079965 0.132414 v -7.329031 107.039642 13.275847 0.490084 0.819909 0.906977 v -9.777727 106.952477 10.759624 0.184822 0.756185 0.588651 v -10.294901 102.010590 10.099216 0.029022 0.073357 0.281668 v -7.757557 102.174301 13.254334 0.057855 0.959890 0.159705 v -11.049877 96.480576 10.020199 0.986317 0.512494 0.823280 v -8.266039 96.549950 13.494250 0.161492 0.548737 0.014439 v -9.062391 91.262093 13.354946 0.145047 0.339566 0.427361 v -11.795845 91.252716 9.793103 0.839125 0.251220 0.786201 v -9.826134 85.628273 12.756970 0.629059 0.861419 0.981803 v -12.419189 85.619553 9.148090 0.929274 0.473453 0.163748 v -10.651087 79.715683 12.095773 0.284540 0.992936 0.452406 v -13.114794 79.707291 8.227346 0.645730 0.358169 0.515095 v -13.919775 72.201546 7.192227 0.498230 0.045125 0.249990 v -11.634295 72.173851 11.771679 0.021712 0.524988 0.537439 v -12.521637 64.798325 11.886897 0.770092 0.480421 0.253837 v -14.895935 64.843155 6.937648 0.828627 0.691887 0.328270 v -14.600801 65.012924 1.665304 0.885630 0.296984 0.696486 v -13.863844 72.363075 2.621070 0.139308 0.786754 0.293078 v -13.533400 79.860519 3.558516 0.057780 0.558682 0.373304 v -13.142664 85.646599 4.528917 0.870317 0.895708 0.320606 v -12.464712 91.178162 5.581960 0.088399 0.108832 0.900617 v -11.695574 96.586174 6.444231 0.172293 0.154000 0.018893 v -10.954247 102.078697 7.308482 0.662523 0.112218 0.816525 v -10.364002 106.992798 8.112869 0.742740 0.254623 0.183948 v -9.693062 107.272934 4.977647 0.365361 0.608618 0.750779 v -10.340078 102.356026 3.653606 0.218615 0.944493 0.500140 v -10.943748 96.899696 2.004165 0.387379 0.996924 0.339776 v -11.509676 91.408981 0.976740 0.557569 0.186339 0.317970 v -12.127312 85.832809 0.081215 0.680475 0.245304 0.572270 v -12.316023 80.073250 -0.688235 0.225029 0.638319 0.328374 v -12.649494 72.592674 -1.831982 0.922101 0.862194 0.690575 v -12.788748 65.272179 -3.342833 0.040761 0.446779 0.174467 v -8.346310 72.930252 -5.964629 0.689936 0.665882 0.240908 v -8.241735 65.633858 -7.580861 0.590362 0.803735 0.202132 v -1.826071 65.877983 -8.956450 0.695413 0.429357 0.981813 v -2.099915 73.163399 -7.227776 0.746806 0.458328 0.531429 v 1.860028 65.976036 -7.454656 0.340563 0.425950 0.840693 v 2.218313 73.320457 -6.128158 0.142662 0.735091 0.204862 v 4.046483 73.210579 -5.250822 0.755631 0.464568 0.581104 v 1.963209 80.792931 -5.400642 0.994366 0.735499 0.914761 v 3.997890 80.683434 -4.921223 0.916793 0.657517 0.899138 v 3.826737 87.155350 -5.504614 0.573838 0.358969 0.808022 v 5.675625 86.951515 -5.117649 0.746739 0.336212 0.500484 v 3.472819 92.720291 -5.409058 0.351781 0.205795 0.354380 v 9.342234 86.672829 -4.392676 0.182141 0.957056 0.067145 v 9.149899 92.636940 -4.603949 0.486296 0.489220 0.728430 v 3.176975 98.503464 -4.168003 0.004222 0.715879 0.362458 v 14.169586 86.327263 -1.729705 0.939864 0.296939 0.946845 v 17.728350 86.563171 3.362996 0.497145 0.897466 0.321428 v 18.466911 86.830360 7.936831 0.898105 0.185780 0.856668 v 17.662632 81.021233 12.900255 0.919441 0.499820 0.351412 v 13.940117 81.572845 16.569244 0.012454 0.257758 0.642887 v 7.887457 82.034569 18.829964 0.695730 0.863404 0.284155 v 4.171228 81.951607 18.876085 0.254612 0.964299 0.756454 v 4.241510 87.448845 18.083324 0.435989 0.833879 0.931281 v 1.917306 92.187813 17.231218 0.993951 0.523536 0.751461 v -3.526403 96.866409 15.759851 0.035521 0.077073 0.173523 v -3.999529 91.385872 15.964060 0.725453 0.422999 0.220059 v -4.829578 85.756653 15.680479 0.238514 0.390168 0.320465 v -5.740756 79.758713 15.724154 0.410904 0.618569 0.175962 v -6.513971 72.283623 15.802740 0.521542 0.224259 0.380943 v -7.130099 65.082016 16.216536 0.087970 0.877636 0.182502 v -3.431118 65.516029 18.486610 0.177710 0.222988 0.557793 v -2.569480 72.798531 17.465494 0.558624 0.167170 0.054870 v -1.768168 80.195908 17.156097 0.493957 0.075038 0.364071 v -0.619481 86.020370 16.933239 0.629569 0.486789 0.065255 v 1.884088 86.604576 17.697168 0.402035 0.214441 0.750605 v 1.455364 81.143814 18.102392 0.388675 0.244336 0.426472 v 0.683291 73.787674 18.880880 0.628669 0.582512 0.244745 v -0.240172 66.546326 20.381157 0.709745 0.160598 0.417476 v 3.414923 67.299271 21.179583 0.523586 0.198163 0.101583 v 3.799806 74.560844 19.958059 0.808482 0.414284 0.271492 v 7.804257 74.630890 19.866087 0.529607 0.463271 0.331517 v 7.607816 67.378014 21.201050 0.827323 0.586712 0.421214 v 14.344858 74.058128 17.343164 0.614065 0.923382 0.141194 v 14.660454 66.764015 18.523550 0.179124 0.614642 0.876880 v 18.066589 73.547539 13.711157 0.302693 0.581975 0.592029 v 18.825592 80.565514 8.242759 0.598022 0.411160 0.872031 v 17.873400 80.245789 3.815846 0.270451 0.927446 0.445641 v 19.269049 73.070023 8.820268 0.774067 0.751233 0.128021 v 19.582771 65.724136 9.383492 0.537211 0.007149 0.930638 v 18.352503 66.221939 14.497454 0.551606 0.420905 0.018866 v 18.277100 72.720673 4.014549 0.473619 0.059397 0.661685 v 14.379778 72.504456 -1.113012 0.818769 0.761626 0.424694 v 14.161156 80.018242 -1.325082 0.153999 0.037638 0.984487 v 9.156961 80.523117 -3.933111 0.631440 0.782055 0.069523 v 9.022959 72.844894 -4.129212 0.150285 0.680186 0.825265 v 9.047392 65.426094 -5.122706 0.541123 0.212691 0.015534 v 14.581129 65.062149 -1.770263 0.728383 0.527063 0.492411 v 18.580973 65.315254 3.863278 0.899480 0.336141 0.561950 v 6.108944 65.644028 -5.850900 0.044043 0.606996 0.312242 v 5.437512 72.940018 -4.717335 0.376764 0.798336 0.816368 v 5.545263 80.472931 -4.603354 0.818123 0.175317 0.141887 v 4.218413 65.860435 -6.468035 0.258540 0.377417 0.398372 v -2.447486 98.026512 -4.317525 0.568107 0.523161 0.706423 v -2.399303 92.265549 -5.647412 0.032451 0.854225 0.150623 v -2.483852 86.561806 -6.212173 0.160037 0.605724 0.817949 v 1.795105 86.898018 -5.876506 0.098723 0.102142 0.346359 v -2.258145 80.662987 -6.396772 0.562011 0.040313 0.799839 v -8.186127 80.405327 -4.792830 0.267686 0.606328 0.150475 v -8.028173 86.150810 -4.122926 0.775333 0.826833 0.639389 v -7.657579 91.783005 -3.383853 0.426723 0.443155 0.858641 v -7.233931 97.432251 -1.977256 0.046086 0.247754 0.750504 v -7.078729 102.905106 -0.178910 0.701055 0.223053 0.048758 v -6.727541 107.612236 2.005714 0.056253 0.271795 0.654721 v -2.211268 112.735870 0.943106 0.341948 0.350488 0.207240 v -2.510503 108.048790 0.190173 0.754188 0.345039 0.301169 v 1.875957 112.779144 1.005958 0.555160 0.248975 0.244983 v 1.946039 108.451569 0.080465 0.372899 0.257250 0.404807 v 2.207657 116.082527 0.423677 0.793548 0.196552 0.737686 v 2.569174 119.937737 -0.453256 0.728612 0.548544 0.387902 v 2.789333 122.425804 -1.119974 0.581839 0.155129 0.203241 v 7.707129 122.190544 -0.631373 0.584827 0.904786 0.755889 v 3.254843 126.734566 -2.413222 0.745960 0.462238 0.681871 v 4.090608 134.722198 -2.967828 0.941471 0.389238 0.649902 v 9.887690 139.058197 -1.762936 0.276087 0.739426 0.138800 v 14.370291 141.240051 1.905294 0.629577 0.182273 0.501003 v 14.359255 140.573532 5.185577 0.557293 0.635439 0.090520 v 10.449837 142.860992 1.058952 0.892448 0.167138 0.610875 v 8.570757 144.518921 2.687391 0.426944 0.623380 0.948156 v 8.249189 146.274658 3.377480 0.287303 0.803874 0.034923 v 8.128790 147.710373 6.019622 0.981676 0.660029 0.108005 v 8.022212 150.338959 4.972027 0.590355 0.176407 0.752470 v 8.898446 151.862518 4.304016 0.125643 0.497565 0.203661 v 9.338477 153.420715 3.719854 0.772580 0.396618 0.002621 v 7.613653 152.193390 1.753088 0.960689 0.371424 0.849088 v 8.496759 154.468857 0.926173 0.387123 0.407595 0.506097 v 9.764818 155.096603 3.282316 0.527478 0.530394 0.098045 v 10.052132 157.458420 2.743583 0.726279 0.174599 0.308320 v 6.342646 157.012711 -0.454772 0.540672 0.522695 0.203059 v 6.377395 154.154938 0.105479 0.308178 0.902141 0.244057 v 6.121506 151.842743 0.895117 0.417968 0.356472 0.797636 v 4.298821 151.726715 0.504180 0.196598 0.547302 0.404631 v 4.389169 149.732788 1.624210 0.597482 0.153881 0.185213 v 2.620468 149.709671 1.565303 0.079244 0.529645 0.226051 v 1.346732 149.695145 1.955009 0.882276 0.349687 0.259158 v 1.306886 147.834656 3.078120 0.257335 0.887581 0.908515 v 1.174105 146.369614 2.621312 0.282946 0.653014 0.338076 v -0.224236 144.792786 4.195079 0.277532 0.584230 0.857628 v -2.024309 142.909744 7.353361 0.214297 0.936737 0.320845 v -6.430249 141.768005 6.471836 0.571100 0.345862 0.010784 v -9.818974 142.110321 2.275871 0.010173 0.860466 0.359463 v -11.210686 139.798004 -1.955649 0.550053 0.058184 0.850586 v -8.989851 138.765884 -3.170697 0.963947 0.378108 0.521976 v -6.857518 136.097931 -2.753657 0.614485 0.611586 0.377817 v -5.294811 134.760193 0.398530 0.304024 0.409211 0.607436 v -6.916807 133.961319 -2.600538 0.561565 0.691809 0.068047 v -5.208048 133.484909 0.446704 0.290358 0.224429 0.734346 v -6.753419 133.349197 3.455821 0.885979 0.820200 0.968360 v -8.806538 133.226273 6.471984 0.006088 0.844005 0.264164 v -9.706589 133.405930 7.004020 0.925709 0.091953 0.317590 v -8.140234 131.413605 5.781672 0.448135 0.703559 0.792848 v -11.730089 131.397812 5.554085 0.676863 0.564249 0.089349 v -11.884157 133.991470 6.102343 0.501502 0.186265 0.361238 v -13.863079 135.228836 3.762410 0.225994 0.240173 0.428243 v -14.000721 132.231659 3.228710 0.946433 0.277072 0.682276 v -11.849022 127.996849 5.192813 0.544724 0.932500 0.837221 v -13.835352 128.738190 2.744757 0.627212 0.338068 0.541981 v -10.282988 128.419830 0.905926 0.059679 0.976456 0.273408 v -8.487638 127.554298 5.124269 0.878755 0.757418 0.114028 v -5.901543 131.666473 3.471780 0.288188 0.792610 0.516087 v -5.363155 131.416702 0.339112 0.810404 0.207896 0.852784 v -7.097659 131.552231 -2.357350 0.133169 0.828795 0.188081 v -5.960978 127.864555 -0.231511 0.399049 0.066516 0.798017 v -6.240778 127.542175 2.783775 0.814594 0.341970 0.900890 v -7.147687 128.303055 -2.550178 0.700368 0.350863 0.366144 v -9.650576 128.743591 -3.773765 0.182117 0.188239 0.904048 v -12.373186 129.284256 -3.052825 0.874213 0.708434 0.770564 v -14.476076 129.263367 -0.491847 0.039421 0.810886 0.264780 v -14.501728 132.948410 -0.066007 0.692298 0.353290 0.908835 v -14.347755 136.154510 0.355293 0.967921 0.772935 0.009027 v -13.126081 139.281357 4.696262 0.763058 0.099597 0.663646 v -11.489195 137.562073 6.972610 0.476941 0.583694 0.336589 v -10.172237 136.160095 8.208508 0.347517 0.111211 0.420067 v -9.713011 133.417068 6.936504 0.348401 0.239184 0.065099 v -8.837267 134.281570 10.955907 0.073022 0.778395 0.307973 v -8.360777 132.270279 14.131523 0.601173 0.715847 0.225090 v -6.662032 132.642014 15.353775 0.139039 0.781236 0.771202 v -6.402479 135.992661 12.472770 0.683624 0.451568 0.924409 v -4.515754 132.619904 16.789009 0.127169 0.921489 0.838044 v -2.273108 132.523834 17.180225 0.933197 0.332434 0.843481 v -0.206154 132.193130 16.834978 0.602329 0.731994 0.322835 v 1.879722 132.175171 16.417776 0.231208 0.405690 0.125304 v 3.842423 131.775131 17.263809 0.535124 0.807104 0.037340 v 5.767670 131.720917 18.013401 0.757324 0.299226 0.115476 v 8.022045 131.363541 18.095037 0.462058 0.893707 0.014211 v 10.387123 130.931671 17.133934 0.487315 0.644661 0.518970 v 11.365736 134.093430 14.316565 0.532581 0.797219 0.413964 v 12.283543 136.573486 11.525120 0.638850 0.537175 0.795403 v 9.374900 137.231323 12.530020 0.194915 0.055766 0.954868 v 8.996675 134.692352 14.912527 0.513202 0.667308 0.603396 v 6.947242 134.838104 14.994511 0.974048 0.855851 0.229150 v 7.094123 136.924301 13.246141 0.815057 0.504088 0.455102 v 9.818199 141.646393 8.471698 0.027879 0.929015 0.624488 v 6.960004 140.002411 10.905684 0.831622 0.842694 0.711634 v 6.616132 142.206955 9.308010 0.568070 0.326244 0.822309 v 5.102753 139.300537 11.252726 0.084595 0.131130 0.595994 v 5.144214 141.888306 9.655640 0.859839 0.900888 0.477538 v 6.513854 144.612946 8.980037 0.413711 0.886799 0.178277 v 5.087379 144.495483 9.168318 0.170219 0.305675 0.766686 v 5.041288 146.350113 9.489564 0.078431 0.609629 0.485301 v 3.954561 146.122742 9.651439 0.174457 0.759798 0.013251 v 3.727140 146.869781 11.025806 0.843584 0.253609 0.841406 v 5.296008 147.338791 10.777734 0.616942 0.379599 0.235167 v 3.583777 146.632797 12.675781 0.170112 0.451539 0.769233 v 5.759565 147.454178 12.326790 0.675899 0.128963 0.583256 v 4.847037 146.958817 13.303137 0.943746 0.995566 0.011098 v 5.079758 147.245956 13.573747 0.802386 0.176792 0.724885 v 5.758237 147.597412 12.823420 0.162981 0.242930 0.611407 v 6.278842 147.984680 12.334276 0.766148 0.285542 0.052761 v 6.895922 148.298141 11.270764 0.711578 0.725733 0.581316 v 6.941097 148.489777 11.684134 0.953763 0.095325 0.057587 v 7.796350 149.317673 10.435565 0.157252 0.527163 0.476847 v 7.745125 149.692612 11.041512 0.477083 0.834664 0.504599 v 8.171843 149.981308 9.961390 0.334738 0.867870 0.450373 v 8.296317 150.872772 10.969782 0.219293 0.214070 0.393245 v 8.444351 150.571091 9.367763 0.338209 0.207930 0.566646 v 8.784019 151.948044 9.027329 0.233684 0.097815 0.215866 v 8.382526 152.023483 11.151978 0.430512 0.402458 0.568570 v 9.129082 153.686737 9.147717 0.189158 0.705103 0.371040 v 9.294369 152.849274 8.431334 0.355296 0.139093 0.509698 v 9.539135 153.752792 8.626255 0.860139 0.251384 0.777691 v 9.881232 153.392349 7.914378 0.495694 0.312887 0.479707 v 9.695459 153.804535 8.060193 0.131681 0.116363 0.671979 v 10.512217 153.622208 7.469660 0.488329 0.674867 0.891032 v 10.478170 153.166931 7.348444 0.884797 0.992573 0.486562 v 9.843296 152.690033 7.804724 0.278729 0.355021 0.006419 v 9.475433 152.294434 7.898696 0.593682 0.278725 0.577265 v 9.231834 152.614166 7.852116 0.858633 0.549780 0.932761 v 9.759800 152.305740 7.375434 0.191993 0.596654 0.728202 v 9.915430 152.359177 7.529983 0.699636 0.528915 0.523361 v 10.687469 153.188538 7.056537 0.973932 0.888727 0.512186 v 11.150179 154.154724 6.771240 0.396264 0.443518 0.565920 v 11.001356 154.135742 7.020633 0.057303 0.327483 0.332587 v 11.415499 155.137741 6.660828 0.396764 0.636439 0.793152 v 10.669458 154.860794 7.333808 0.766683 0.639711 0.070622 v 10.543968 156.288177 7.347369 0.857710 0.662631 0.329507 v 10.084773 155.057632 7.971427 0.935164 0.112826 0.566793 v 10.137724 156.081497 8.236526 0.174412 0.671171 0.083766 v 10.866392 156.756088 7.522421 0.378729 0.540652 0.608724 v 11.250523 156.553040 6.774745 0.799570 0.052432 0.571630 v 11.444708 156.869110 6.516470 0.294999 0.300229 0.622796 v 10.995266 157.384476 7.119755 0.713356 0.438192 0.883130 v 11.287357 156.981171 6.406383 0.475376 0.663186 0.674158 v 11.507057 156.242645 6.034409 0.031409 0.997838 0.190709 v 10.424120 156.333557 6.494887 0.955312 0.663043 0.163382 v 11.563269 155.429657 5.965491 0.855059 0.168210 0.769571 v 11.649296 156.235474 6.160888 0.855429 0.475595 0.093973 v 11.392607 156.011139 6.580776 0.853145 0.265949 0.230392 v 11.687971 155.407654 6.107539 0.583364 0.576563 0.617182 v 11.562342 154.874313 6.344196 0.919295 0.622669 0.854957 v 11.016251 154.106491 6.653987 0.310325 0.614047 0.077590 v 10.550625 153.191559 6.910847 0.808609 0.941725 0.654755 v 9.681536 152.887100 6.935606 0.488489 0.622873 0.742981 v 8.812962 151.859818 8.428438 0.238689 0.218256 0.285276 v 8.397788 150.419373 8.810468 0.465607 0.927546 0.424340 v 8.015890 149.905746 9.142819 0.083330 0.713156 0.641384 v 7.520844 149.045593 9.707886 0.509990 0.512247 0.706168 v 6.440165 148.022339 10.249200 0.158870 0.685840 0.970506 v 6.265305 146.606247 9.307238 0.344574 0.009620 0.494137 v 7.742883 144.968491 8.183681 0.552723 0.764309 0.469589 v 8.268766 143.098648 7.819999 0.606822 0.314670 0.295119 v 9.026215 143.837677 5.174903 0.615656 0.455594 0.553797 v 10.817478 142.919846 4.637635 0.629460 0.297383 0.795014 v 13.740007 138.723175 8.457336 0.538983 0.698782 0.280634 v 15.039667 134.930328 9.823647 0.845913 0.230291 0.540454 v 16.234734 137.585693 7.769183 0.294752 0.146350 0.613833 v 19.546881 138.236694 4.266761 0.421962 0.152834 0.023791 v 16.930155 139.606781 4.837146 0.402567 0.787477 0.224797 v 8.479393 145.660553 5.553710 0.716633 0.435275 0.872934 v 7.313033 147.011673 8.511659 0.538429 0.902988 0.517645 v 8.060357 149.623764 8.257128 0.341982 0.203269 0.400853 v 8.346891 150.093887 6.498753 0.504875 0.157520 0.594695 v 8.809249 151.247879 6.553654 0.966027 0.361962 0.593261 v 9.425862 152.686737 6.643646 0.878122 0.797209 0.898550 v 10.280691 154.510040 6.447402 0.250376 0.647257 0.911645 v 10.432026 155.534683 6.045114 0.034287 0.748066 0.128541 v 10.435053 157.706146 5.865543 0.418670 0.747829 0.301064 v 9.771341 160.185104 2.759675 0.352741 0.458521 0.287718 v 6.051246 159.741455 -0.336377 0.758032 0.216730 0.736205 v 3.658885 159.378418 -0.907775 0.618721 0.223633 0.305324 v 3.950281 156.649658 -1.026170 0.578266 0.908908 0.952062 v 4.169809 153.884415 -0.400346 0.325389 0.756335 0.014064 v 1.897257 153.696243 -0.349684 0.335718 0.123208 0.385276 v 2.449338 151.466751 0.522041 0.047772 0.584500 0.859943 v 0.776901 151.493378 1.058505 0.101132 0.761577 0.764461 v -0.362048 153.561829 0.026157 0.165848 0.629362 0.715066 v -1.515281 152.309418 2.617159 0.600743 0.260136 0.427410 v -0.896911 150.859589 3.308849 0.650875 0.824825 0.645975 v 0.116249 149.529495 4.168816 0.518887 0.304128 0.256406 v 0.495463 147.321091 5.235857 0.647208 0.143531 0.946153 v 0.459676 145.663788 4.721600 0.739870 0.215848 0.337709 v 0.612479 144.971390 7.443844 0.713173 0.133566 0.403264 v -0.196919 143.972748 6.923298 0.925393 0.283845 0.228731 v 0.896273 142.797531 8.702151 0.362768 0.810776 0.461427 v 1.642177 144.614914 8.474560 0.096384 0.731849 0.122175 v 2.168701 142.195541 9.340467 0.016554 0.513120 0.642929 v 1.354362 139.687546 10.855690 0.220563 0.443913 0.700917 v -0.209577 140.742676 10.146270 0.842543 0.417835 0.007268 v -1.445168 137.805984 12.341644 0.411834 0.727191 0.975996 v -3.417773 138.552185 11.174998 0.091055 0.637318 0.122103 v -6.312349 138.867157 9.784752 0.169114 0.911828 0.654705 v -9.365707 138.676483 8.463645 0.671277 0.988091 0.299340 v -10.005589 141.147018 5.769389 0.662843 0.297292 0.372051 v -13.195608 140.175491 1.241919 0.320699 0.276420 0.912021 v -12.402353 135.819443 -2.497501 0.177431 0.086196 0.049713 v -12.516306 132.791199 -2.721414 0.856360 0.464580 0.271423 v -9.659695 131.986710 -3.559096 0.885287 0.298778 0.412003 v -9.726267 134.783188 -3.512294 0.894124 0.321888 0.130443 v -4.062732 136.040741 13.529252 0.441824 0.721190 0.744649 v -2.088603 135.771072 14.037418 0.086905 0.620423 0.489237 v -0.200927 134.445038 15.089520 0.003806 0.903859 0.361173 v 0.482573 136.943619 13.043364 0.774613 0.981407 0.709177 v 3.205756 139.331619 11.111145 0.922950 0.933199 0.863118 v 2.656527 136.311783 13.352706 0.055557 0.407904 0.611180 v 4.929195 136.484512 13.514358 0.180970 0.608170 0.328613 v 4.654330 133.943741 15.603797 0.974684 0.963090 0.854422 v 3.640576 141.981552 9.589131 0.894159 0.268215 0.806209 v 2.996102 144.496338 8.951331 0.872404 0.780102 0.468132 v 2.907980 146.241318 9.270523 0.172775 0.656255 0.497333 v 1.729177 146.374878 8.841483 0.038494 0.428247 0.186222 v 0.835844 146.681351 7.846601 0.106300 0.162711 0.062027 v 1.048096 147.470245 9.701388 0.198266 0.119538 0.902603 v 2.177521 147.019501 10.460909 0.727464 0.699919 0.850981 v 1.401383 147.007950 11.884017 0.103193 0.503027 0.220447 v 2.181740 146.685913 13.032353 0.030509 0.431883 0.400611 v 3.503940 146.715057 13.378726 0.652889 0.907556 0.182706 v 4.293000 146.951736 13.721733 0.761671 0.577805 0.838987 v 5.105624 147.708572 13.835489 0.312744 0.641716 0.807401 v 4.256954 147.454025 14.135978 0.922011 0.882812 0.656306 v 4.003638 148.559097 14.292689 0.444531 0.836804 0.242896 v 3.234575 148.417236 14.314760 0.797488 0.110374 0.158974 v 3.163275 149.150085 14.278059 0.050006 0.620214 0.290594 v 2.472800 148.402328 14.137162 0.375567 0.208946 0.884410 v 2.583235 149.129852 14.151359 0.243372 0.382696 0.196350 v 3.109100 149.359421 14.600364 0.073852 0.369315 0.331704 v 3.748949 149.249207 14.269791 0.241402 0.418027 0.737556 v 3.619509 149.403427 14.621687 0.642241 0.984438 0.099752 v 4.355929 149.446121 14.184580 0.833657 0.944016 0.492907 v 4.349327 149.718521 14.425107 0.457983 0.039116 0.593631 v 3.889142 149.694321 14.912654 0.660811 0.383383 0.678832 v 4.336380 149.955978 14.715614 0.116926 0.664811 0.004292 v 4.724505 149.993652 14.221566 0.097239 0.099177 0.266524 v 4.671075 150.237839 14.305099 0.118833 0.043015 0.506215 v 4.928261 150.373993 14.077385 0.669972 0.898067 0.452396 v 4.614386 150.365234 14.322310 0.671270 0.393385 0.284592 v 4.517030 150.471832 14.273934 0.943463 0.314205 0.648741 v 4.797198 150.477890 14.095419 0.218105 0.736657 0.920531 v 4.995949 150.478745 14.024275 0.510414 0.793122 0.506376 v 5.095420 150.455338 14.037158 0.848946 0.606010 0.242487 v 5.124341 150.227890 14.007022 0.848720 0.848478 0.829878 v 5.308630 150.034943 13.915654 0.395868 0.620182 0.111019 v 4.856768 149.709381 14.055425 0.129731 0.678296 0.175325 v 5.428621 148.927063 13.652597 0.179662 0.229225 0.480379 v 4.765740 148.709122 13.985748 0.332649 0.756366 0.464544 v 5.730555 148.095047 13.378257 0.498171 0.660696 0.106233 v 6.235433 148.574753 12.977262 0.708024 0.660069 0.562390 v 6.769676 149.166565 12.412906 0.959428 0.648668 0.250272 v 7.388683 149.740982 12.003572 0.297547 0.457704 0.611606 v 7.811039 150.900055 12.058069 0.225831 0.700594 0.987105 v 7.869975 152.015594 12.417848 0.590260 0.092622 0.470266 v 8.552912 153.452057 11.122100 0.254973 0.209583 0.376461 v 7.640672 153.245773 13.289405 0.911684 0.797576 0.996777 v 7.838391 154.130753 13.113438 0.496391 0.572267 0.106467 v 7.953648 154.843170 12.925562 0.500873 0.226242 0.750498 v 8.813835 155.059769 11.115496 0.767023 0.320193 0.857448 v 7.983199 155.519135 12.557741 0.402786 0.781751 0.570670 v 8.772903 156.624008 10.775608 0.531421 0.278244 0.033175 v 7.933658 156.600601 12.331746 0.411856 0.425213 0.345566 v 8.654480 157.875519 11.097836 0.608544 0.751301 0.795966 v 9.274202 156.632843 9.587517 0.917756 0.623756 0.656011 v 9.200389 157.934616 9.875691 0.354089 0.345342 0.035804 v 9.804265 158.314148 8.514800 0.546619 0.346448 0.041971 v 9.433027 160.554321 8.589125 0.390075 0.080253 0.957993 v 10.032907 160.417374 5.769369 0.973350 0.985085 0.441428 v 10.273607 156.639374 7.174646 0.220151 0.619170 0.638239 v 9.850275 156.477386 7.979978 0.425780 0.217226 0.304745 v 9.839775 156.048584 8.608411 0.897417 0.219992 0.551299 v 9.314524 155.039093 9.103470 0.840552 0.665875 0.371665 v 9.665389 155.046204 8.588475 0.626594 0.673558 0.268855 v 10.044910 156.318939 8.542511 0.547874 0.512658 0.487294 v 10.386938 156.744171 8.327851 0.481408 0.781224 0.818871 v 10.724787 157.247467 7.761410 0.038216 0.411440 0.220342 v 10.856304 157.489334 6.992579 0.320886 0.643654 0.857889 v 11.419462 154.845947 6.196509 0.577487 0.078476 0.506587 v 8.804470 151.798676 7.833138 0.008013 0.397520 0.871361 v 7.531495 149.136047 8.981418 0.165889 0.893985 0.402441 v 10.538597 157.375778 7.710215 0.493583 0.943227 0.508458 v 10.248547 156.980713 8.205149 0.084398 0.027372 0.826607 v 10.017373 154.647507 8.232676 0.870223 0.874129 0.706062 v 9.952796 154.045807 8.358667 0.825793 0.721200 0.395232 v 9.643745 154.479248 7.991828 0.258590 0.491693 0.559823 v 8.942277 160.535690 10.103671 0.340817 0.838994 0.934824 v 8.558918 159.110565 11.053725 0.881106 0.465471 0.935679 v 7.576405 161.908020 11.906775 0.964679 0.492213 0.643902 v 8.079243 163.495529 10.339317 0.503489 0.998132 0.833594 v 6.265240 163.954727 11.841693 0.706817 0.995200 0.241183 v 4.545484 163.154877 13.697745 0.087754 0.498785 0.037157 v 3.917130 164.226532 12.613548 0.104128 0.090181 0.195579 v 4.087659 165.330521 11.228203 0.486586 0.574626 0.574771 v 6.928020 164.518417 10.670895 0.617783 0.035801 0.399669 v 1.761593 164.236862 12.871435 0.514281 0.596810 0.768325 v 1.809271 165.428848 11.200905 0.055421 0.430606 0.744046 v -0.361958 164.874924 10.776140 0.209151 0.252736 0.941027 v -0.252682 163.799591 12.189915 0.460567 0.152320 0.117223 v -2.296922 163.078049 10.971814 0.555230 0.980129 0.777960 v -2.812718 163.521072 9.681278 0.769310 0.578939 0.368048 v -3.645844 162.295029 9.148099 0.235452 0.181916 0.575551 v -3.157063 160.809052 10.816300 0.259842 0.806174 0.660828 v -3.833085 159.227646 8.805750 0.469105 0.068023 0.019294 v -3.368596 157.889328 9.841941 0.927804 0.491309 0.985738 v -3.513560 156.632874 8.584008 0.260624 0.453717 0.742322 v -3.221305 156.659561 9.891308 0.351022 0.909821 0.374079 v -3.265880 155.348892 8.313499 0.921129 0.493454 0.525169 v -3.019729 155.416595 9.577528 0.859761 0.878342 0.909164 v -2.812882 153.869354 9.934272 0.623234 0.708707 0.837466 v -2.888524 153.789658 7.863693 0.686971 0.760249 0.640038 v -2.448183 152.501373 7.971518 0.551199 0.427612 0.475313 v -3.124006 153.736725 7.289128 0.029577 0.126842 0.584677 v -2.750976 152.494446 7.377634 0.418632 0.960134 0.753316 v -3.310847 153.282837 6.878585 0.651260 0.279630 0.507527 v -3.153290 152.703903 7.027145 0.199047 0.188678 0.288501 v -2.798633 152.525269 6.790847 0.034986 0.535158 0.776646 v -2.870763 153.197922 6.720408 0.268872 0.569708 0.021411 v -3.405766 153.676346 6.600846 0.106684 0.440409 0.602153 v -3.800219 153.379257 5.863751 0.768593 0.083244 0.846023 v -3.910818 152.608917 5.505620 0.877465 0.458769 0.503494 v -4.437452 153.514603 5.050237 0.525307 0.505429 0.978285 v -4.007742 152.602722 5.231261 0.976123 0.587392 0.170781 v -4.462441 153.233551 4.716148 0.028475 0.808038 0.103278 v -3.846260 152.584763 5.144021 0.765155 0.660083 0.274309 v -3.426876 151.743393 5.622581 0.243259 0.351409 0.020700 v -3.267212 151.776749 5.507014 0.729733 0.448534 0.041106 v -3.180514 153.131790 5.079803 0.732773 0.505941 0.028662 v -2.377408 151.652405 5.710470 0.807199 0.551460 0.953284 v -2.033852 151.513397 5.479389 0.869184 0.871638 0.858441 v -1.135843 150.229614 5.543276 0.441187 0.487058 0.832243 v -0.449924 149.193176 5.605034 0.613573 0.046982 0.810049 v -0.430767 148.754364 7.394465 0.917600 0.827920 0.581986 v 0.030198 148.368011 8.219317 0.824686 0.656991 0.585117 v -0.086038 148.266739 8.935060 0.675736 0.655075 0.791526 v 0.352252 147.628143 10.605955 0.091409 0.035284 0.624371 v 0.795361 147.423264 11.777179 0.215491 0.211694 0.828263 v 1.275074 147.138397 12.367949 0.559664 0.648742 0.038995 v 1.847044 146.914963 13.245317 0.303540 0.326636 0.008357 v 1.091371 147.620026 12.906936 0.451429 0.323487 0.746569 v 1.677336 147.357559 13.487190 0.635667 0.955981 0.877581 v 2.631296 146.781586 13.552912 0.099883 0.388199 0.452084 v 3.452098 146.805695 13.797674 0.379245 0.320018 0.173010 v 3.367014 147.245865 14.191589 0.544101 0.459391 0.785859 v 2.482662 147.272369 13.955717 0.853952 0.569469 0.901053 v 1.772763 148.402664 13.681676 0.181916 0.487252 0.777049 v 1.159498 148.489944 13.218874 0.273533 0.676020 0.376720 v 0.590663 147.996796 12.403777 0.562718 0.472822 0.693094 v 0.188196 147.798370 10.998069 0.546433 0.509827 0.421811 v -0.549737 148.463135 9.587640 0.496585 0.502584 0.052224 v -0.696418 148.828308 10.183887 0.022427 0.913502 0.150606 v 0.071816 148.480789 11.732431 0.312472 0.916048 0.352718 v 0.682589 148.782043 12.972686 0.270041 0.443587 0.800453 v 1.470939 149.362717 13.711438 0.725252 0.603940 0.562195 v 1.000008 149.593796 13.477917 0.323128 0.040330 0.234699 v 0.574652 149.939453 13.412155 0.061990 0.881114 0.503016 v -0.180235 149.550110 12.530409 0.653463 0.899455 0.255589 v -0.399724 150.011734 12.638602 0.339192 0.015595 0.945337 v -1.204189 149.977005 11.142161 0.386336 0.266749 0.741143 v -0.555700 148.927567 11.196457 0.317916 0.140491 0.985441 v -1.447592 149.875122 9.979842 0.993764 0.482864 0.723802 v -0.948656 149.047470 9.034786 0.505532 0.801399 0.169556 v -0.620966 149.021423 8.265352 0.510733 0.222315 0.473638 v -1.024178 149.454681 7.853237 0.346852 0.962114 0.876350 v -1.210202 149.582596 8.386902 0.643683 0.101408 0.887934 v -1.744461 150.870041 7.957681 0.221568 0.762171 0.650556 v -1.635323 150.790039 7.366938 0.304462 0.697805 0.419945 v -1.496417 150.743988 6.786613 0.431976 0.775357 0.504841 v -2.073718 151.456604 6.703520 0.923183 0.864449 0.908722 v -2.296153 151.662537 7.253788 0.331264 0.536766 0.984039 v -1.797370 150.981186 10.117744 0.849867 0.573413 0.715868 v -1.556092 151.050476 11.460199 0.783774 0.057803 0.757024 v -0.591101 150.694244 12.817057 0.060281 0.871599 0.229894 v 0.760342 150.122971 13.610381 0.252690 0.722843 0.280440 v 0.935208 149.968170 13.602834 0.889031 0.454352 0.113316 v 1.119896 149.817886 13.600186 0.002112 0.612796 0.627707 v 1.507716 149.664291 13.894754 0.711125 0.226118 0.069508 v 1.978458 149.202698 13.943040 0.897772 0.236462 0.380651 v 2.606422 149.299698 14.518762 0.385981 0.389598 0.573574 v 1.882275 149.465942 14.174464 0.183381 0.553775 0.629680 v 2.231514 149.524597 14.744246 0.843087 0.893262 0.939075 v 2.584492 149.468018 14.904665 0.550827 0.628572 0.516700 v 3.053060 149.516876 14.993277 0.823599 0.114959 0.521416 v 2.405339 149.896332 14.902751 0.811908 0.896914 0.488547 v 1.844119 149.955856 14.515761 0.643807 0.729624 0.186036 v 1.789239 149.695175 14.456837 0.504661 0.906864 0.694322 v 1.518757 150.048279 14.007808 0.368275 0.650627 0.375884 v 1.493363 149.912476 13.982259 0.345071 0.028577 0.356498 v 1.264671 149.998901 13.705179 0.981987 0.912432 0.504463 v 1.096015 150.045853 13.630836 0.347641 0.389704 0.119382 v 1.174702 150.117325 13.736454 0.950871 0.859835 0.277255 v 1.039143 150.278427 13.857971 0.118609 0.011038 0.811035 v 1.429332 150.577927 14.391774 0.773077 0.433637 0.918250 v 1.335084 151.080322 14.364363 0.370660 0.708678 0.996006 v 1.753224 151.201706 14.741705 0.787548 0.200275 0.598177 v 1.688326 151.834518 14.668944 0.526514 0.374933 0.653566 v 1.042507 151.648636 14.351147 0.397496 0.129431 0.736035 v 1.403468 152.354233 14.615776 0.211568 0.309658 0.913779 v 0.652935 152.191956 14.232329 0.937435 0.522755 0.975125 v 0.934716 153.088013 14.437985 0.934339 0.083247 0.180729 v 0.496101 153.163971 14.258865 0.721301 0.615851 0.148753 v 0.250749 152.118484 14.017305 0.442904 0.950837 0.638575 v -0.534712 153.021927 13.586692 0.276996 0.136911 0.111596 v 0.009140 153.825409 13.925439 0.749978 0.536149 0.273331 v -1.056690 153.733200 13.354623 0.172327 0.636301 0.720001 v -0.015905 154.563431 13.755002 0.715779 0.399975 0.875120 v -0.992427 154.497009 13.273204 0.546792 0.922997 0.483508 v -0.789275 154.890671 13.457764 0.872872 0.722267 0.938738 v -1.112806 154.979004 13.345119 0.493751 0.981040 0.914189 v -1.369228 155.144836 13.091125 0.290450 0.142229 0.837294 v -1.526105 154.586227 12.904296 0.817187 0.729926 0.190349 v -1.606587 155.396942 12.790739 0.574964 0.596348 0.619115 v -1.899790 154.795990 12.485145 0.194359 0.594398 0.308720 v -2.304592 153.792847 11.883369 0.168710 0.804850 0.469751 v -1.625108 153.632126 12.877574 0.420678 0.962170 0.646705 v -2.088530 153.114365 12.104905 0.619218 0.808103 0.419309 v -2.241420 152.346863 10.025442 0.489559 0.397886 0.942527 v -1.756379 152.283630 12.334705 0.811031 0.765379 0.589276 v -2.395316 154.456497 11.503328 0.015740 0.329587 0.325671 v -2.199713 155.108154 11.869597 0.790949 0.858173 0.869615 v -2.027621 155.548691 12.438967 0.239170 0.485838 0.400785 v -1.728128 155.549561 12.752311 0.744558 0.930825 0.534723 v -1.427444 155.512527 12.975179 0.187820 0.811546 0.134444 v -1.254240 155.301895 13.128307 0.707243 0.872140 0.694043 v -1.036049 155.139114 13.331233 0.589904 0.657441 0.504271 v -0.761025 155.064148 13.473712 0.818206 0.914512 0.076385 v -0.060106 155.143082 13.666834 0.797453 0.082245 0.310655 v -0.023888 155.230682 13.699842 0.990826 0.682871 0.692593 v -0.704266 155.191513 13.535237 0.136963 0.191218 0.520530 v 0.011624 155.376694 13.589499 0.353647 0.087453 0.348167 v -0.837252 155.372604 13.325267 0.872385 0.763397 0.842640 v -0.365843 155.951614 13.733047 0.949565 0.166225 0.951465 v -0.991034 155.796783 13.425234 0.617904 0.056772 0.455296 v -1.073060 155.821121 13.422398 0.800817 0.261696 0.391431 v -0.732897 155.984283 13.658520 0.512222 0.076514 0.018990 v -1.217252 155.909805 13.613155 0.720604 0.100510 0.125938 v -0.803400 156.123260 13.816335 0.411183 0.890293 0.008794 v -0.075907 156.079926 13.870938 0.486544 0.492111 0.918652 v -0.138072 156.171692 14.026251 0.792270 0.720593 0.111311 v 0.494231 156.030655 13.979089 0.377475 0.897766 0.795295 v -0.144820 156.202515 14.170728 0.640636 0.414042 0.960352 v 0.500277 156.080139 14.149224 0.117204 0.521349 0.252215 v -0.178745 156.385666 14.223525 0.369143 0.353144 0.477997 v -1.010618 156.363953 13.970960 0.940299 0.862225 0.011971 v -0.370350 156.875763 14.493535 0.814178 0.207836 0.119286 v -1.189000 156.723145 14.084520 0.193060 0.745292 0.650867 v -1.466184 157.227844 13.993677 0.872637 0.266912 0.444648 v -1.831513 156.562622 13.589570 0.423747 0.946383 0.617197 v -1.992074 156.900787 13.447562 0.284306 0.005634 0.300495 v -2.183055 156.560532 12.861111 0.179672 0.307102 0.852685 v -1.968961 155.900024 13.016446 0.214206 0.195666 0.778207 v -2.290292 156.108582 12.441634 0.639872 0.005987 0.228717 v -2.122665 155.751266 12.439928 0.378169 0.535172 0.802819 v -2.387659 155.876190 11.971896 0.348154 0.015853 0.454769 v -2.519736 155.530289 11.269726 0.444063 0.629110 0.780280 v -2.867375 156.887421 11.295458 0.101462 0.202240 0.730185 v -2.415716 157.291443 12.253642 0.687051 0.351494 0.218099 v -2.087381 157.776733 13.077803 0.584985 0.521070 0.644630 v -1.357289 158.280075 13.837132 0.692647 0.217765 0.784264 v -0.325676 157.389328 14.627505 0.795633 0.659648 0.145532 v 0.653235 157.070251 14.856904 0.606408 0.351875 0.563974 v 0.314033 156.855164 14.775720 0.832590 0.981559 0.609253 v 0.416357 156.617081 14.605042 0.666528 0.166695 0.842322 v 0.528339 156.282578 14.279499 0.245649 0.002660 0.090339 v 0.975684 156.361465 14.478686 0.065637 0.614579 0.217701 v 1.088048 156.625000 14.841596 0.104726 0.456097 0.029708 v 1.130298 156.846588 14.900851 0.469689 0.515038 0.697594 v 1.404557 156.359680 14.710372 0.299897 0.748261 0.024724 v 1.260136 156.118759 14.317598 0.724026 0.716473 0.891001 v 0.882635 156.097656 14.212924 0.288447 0.095779 0.752059 v 0.778460 155.858292 14.055278 0.368201 0.784230 0.967169 v 0.714501 155.795105 13.930390 0.289594 0.899816 0.513154 v 0.460463 155.979568 13.926208 0.187396 0.980793 0.202135 v 0.588718 155.864914 13.748165 0.299579 0.217029 0.361073 v 0.937720 155.613800 13.832044 0.749055 0.035285 0.379571 v 0.965770 155.686157 13.980703 0.392374 0.938128 0.483133 v 1.132269 155.952850 14.120735 0.680780 0.462131 0.046743 v 1.375195 155.634689 14.080135 0.371480 0.655506 0.711163 v 1.171116 155.427521 13.946497 0.367686 0.357372 0.568386 v 1.045895 155.437607 13.824521 0.935666 0.422272 0.249947 v 0.938112 155.296219 13.830993 0.680141 0.408339 0.674234 v 0.902429 155.386017 13.725567 0.650723 0.523596 0.244415 v 0.898823 155.445847 13.764304 0.079068 0.118141 0.851313 v 0.702386 155.342499 13.728385 0.613818 0.934140 0.383561 v 0.711451 155.414261 13.759908 0.092271 0.140035 0.602955 v 0.872655 155.570770 13.678149 0.393165 0.545985 0.544408 v -0.110605 154.925110 13.720475 0.445557 0.889794 0.907016 v 0.636320 154.876572 13.885270 0.153459 0.782579 0.710785 v 0.870104 154.264450 14.333396 0.190667 0.619012 0.679863 v 0.722320 153.724945 14.316037 0.690669 0.828554 0.353642 v 1.376139 153.804474 14.790826 0.663551 0.027680 0.906723 v 1.456300 154.622711 14.548432 0.905216 0.961852 0.983491 v 0.924094 155.054443 13.926652 0.377790 0.511347 0.263547 v 0.646422 155.177597 13.800315 0.198898 0.488638 0.346983 v 1.436922 155.373291 14.188046 0.281458 0.402973 0.360162 v 1.727619 154.736252 14.772478 0.218731 0.381940 0.990834 v 1.792628 154.072693 15.263270 0.761949 0.251931 0.607377 v 1.683979 153.245316 15.088547 0.120178 0.933785 0.851677 v 1.438899 153.347000 14.789991 0.573247 0.264183 0.030225 v 1.518580 153.037460 14.789632 0.381909 0.846870 0.835090 v 1.561825 152.909714 15.049391 0.824114 0.412284 0.544368 v 1.538036 152.522507 14.975725 0.937810 0.748306 0.086440 v 1.397422 152.799118 14.649185 0.109506 0.079533 0.441963 v 1.619118 152.222122 14.979177 0.870241 0.411752 0.989124 v 1.847740 151.978928 14.783316 0.675466 0.231424 0.372519 v 1.826542 152.227463 15.152652 0.475498 0.971417 0.467467 v 2.235560 152.452911 15.114339 0.919258 0.509926 0.497994 v 1.926149 152.249100 15.552598 0.867983 0.678248 0.850001 v 2.083432 152.222290 15.866559 0.356910 0.238279 0.506958 v 2.253468 152.172333 16.018158 0.077997 0.657131 0.455582 v 2.011538 152.473633 16.133165 0.672276 0.607611 0.833503 v 2.300004 152.498047 16.441332 0.909529 0.221165 0.753926 v 2.131266 152.901138 16.434822 0.759539 0.792579 0.200583 v 2.590628 152.510620 16.528151 0.771738 0.807495 0.487702 v 2.650960 152.189209 16.258186 0.164581 0.688707 0.049606 v 2.726466 151.972305 15.733544 0.487247 0.208480 0.022549 v 3.083412 152.257294 16.102478 0.501960 0.603826 0.685518 v 2.889206 152.558395 16.501192 0.349476 0.250670 0.656103 v 3.232154 152.598602 16.257177 0.613488 0.759402 0.292199 v 2.971508 152.987167 16.520187 0.168735 0.764933 0.905417 v 2.537872 152.940857 16.613848 0.863595 0.421945 0.507882 v 2.514991 153.295914 16.481276 0.793516 0.898844 0.011022 v 2.112998 153.225754 16.364788 0.650802 0.503022 0.413747 v 2.111205 154.425430 15.525887 0.283060 0.383714 0.648558 v 1.986439 153.490601 16.001545 0.133567 0.012308 0.609561 v 1.801786 153.186157 15.537330 0.444927 0.896458 0.659294 v 1.652666 152.635727 15.519216 0.589961 0.507802 0.969264 v 1.809961 152.318848 15.525005 0.704052 0.365308 0.783700 v 1.922826 152.862427 16.078375 0.273245 0.611290 0.024718 v 2.037251 155.057922 14.997817 0.767379 0.820928 0.192858 v 1.838762 155.576553 14.594151 0.332217 0.297450 0.699489 v 1.556329 155.838013 14.300320 0.230929 0.329727 0.162028 v 1.787434 156.042023 14.601714 0.712504 0.403183 0.882880 v 2.003217 155.651459 14.751554 0.221343 0.216953 0.819598 v 2.452436 155.192139 15.186114 0.433212 0.855552 0.524597 v 2.477746 154.499908 15.634562 0.489812 0.972518 0.378233 v 2.865919 154.502701 15.602563 0.970746 0.766725 0.165338 v 2.915099 155.147812 15.087003 0.777870 0.175192 0.507985 v 3.294535 154.226471 15.415858 0.837270 0.914624 0.183845 v 3.078435 153.602417 16.112486 0.173224 0.339025 0.239647 v 2.937860 153.310211 16.448591 0.668342 0.685113 0.712590 v 3.250169 152.998337 16.213226 0.416866 0.185366 0.840704 v 3.409032 153.350708 15.700620 0.514808 0.490414 0.212089 v 3.599497 153.441452 15.283154 0.377429 0.051747 0.320291 v 3.841889 154.056931 15.041335 0.793089 0.102168 0.816810 v 3.873617 153.596298 15.037348 0.890173 0.058604 0.378873 v 3.859346 153.277130 15.027444 0.452948 0.269760 0.233015 v 3.791788 153.138031 15.275946 0.223412 0.153445 0.502281 v 3.666086 152.841888 15.723769 0.586229 0.751141 0.252829 v 3.577614 152.499832 15.704591 0.492452 0.952436 0.908102 v 3.888725 152.454498 15.209760 0.984040 0.896605 0.829448 v 3.906934 152.765060 15.216393 0.921478 0.770824 0.873512 v 4.141414 152.634583 14.893940 0.783951 0.535151 0.372227 v 4.051329 153.070847 14.918811 0.242331 0.878732 0.466092 v 4.479269 153.450928 14.798096 0.353531 0.589985 0.675918 v 4.579514 154.119873 14.707911 0.302712 0.192494 0.488818 v 4.326086 154.618286 14.684507 0.911547 0.256928 0.976547 v 3.649119 154.847229 14.771213 0.145320 0.833150 0.226082 v 3.321483 154.899445 14.934408 0.669520 0.606770 0.459500 v 3.081814 155.703827 14.720440 0.308909 0.703312 0.641025 v 2.877704 155.740997 14.840398 0.372850 0.893236 0.029186 v 2.425611 155.748764 14.889223 0.006820 0.271092 0.166347 v 2.387337 156.188522 14.822803 0.632732 0.217057 0.730159 v 1.514987 156.542480 14.903688 0.544917 0.341967 0.923800 v 1.407936 157.433380 15.107445 0.718279 0.250218 0.064748 v 0.861017 158.292450 14.983541 0.511754 0.396976 0.097269 v -0.209632 158.389374 14.526533 0.184072 0.852952 0.507934 v -0.470102 159.434799 14.368731 0.193274 0.425327 0.559498 v -1.595202 159.123566 13.626081 0.189777 0.604407 0.392303 v -0.561939 161.431473 13.795490 0.367198 0.663217 0.104928 v -2.410100 160.723007 12.553198 0.234364 0.879706 0.733282 v -0.856272 162.601791 13.148950 0.747321 0.384234 0.364464 v -2.911297 159.551849 11.632846 0.608829 0.263847 0.712528 v -2.822672 158.181549 11.542717 0.247789 0.420914 0.508830 v -2.382269 158.519547 12.290197 0.539356 0.001227 0.677729 v 1.775506 163.062744 13.917668 0.155197 0.894950 0.587464 v 1.834368 161.955750 14.453851 0.457756 0.492221 0.779784 v 2.019500 159.619553 14.985856 0.286487 0.123787 0.798483 v 2.122421 158.427597 15.173994 0.303972 0.245171 0.765430 v 2.191971 157.640701 15.282378 0.481039 0.537839 0.091928 v 2.316944 156.662979 15.037529 0.775752 0.940029 0.133500 v 3.137026 156.708557 15.068481 0.432656 0.400634 0.033343 v 3.020457 157.598465 15.271270 0.520159 0.472683 0.283539 v 3.397423 158.552155 15.241230 0.609322 0.269686 0.817504 v 4.495960 158.871170 15.004601 0.144560 0.307715 0.767173 v 4.787770 157.912903 15.147010 0.511110 0.921006 0.671671 v 3.867105 157.399307 15.183419 0.030333 0.591254 0.533394 v 3.445601 157.083649 15.136076 0.497566 0.680190 0.099593 v 3.318102 156.555603 14.904780 0.530599 0.119195 0.048480 v 3.036179 156.169876 14.728581 0.497024 0.234166 0.048082 v 3.358776 156.022552 14.483441 0.337224 0.839964 0.550365 v 3.617135 155.864258 14.307907 0.251662 0.561313 0.166252 v 3.588879 155.593643 14.406674 0.991416 0.338049 0.124792 v 4.196792 155.389542 14.259143 0.007885 0.756178 0.419813 v 4.516752 155.273880 14.279505 0.704791 0.130673 0.999657 v 5.231139 155.100647 14.288079 0.311838 0.888443 0.982866 v 5.321225 154.369308 14.465123 0.419222 0.597010 0.946496 v 4.920419 153.616959 14.708357 0.177205 0.482208 0.546751 v 4.970233 152.633987 14.670948 0.763607 0.166663 0.934998 v 4.681875 152.021240 14.720891 0.842460 0.731535 0.741650 v 3.961840 152.067291 14.899923 0.622987 0.029359 0.498054 v 3.757187 152.174438 14.977307 0.933941 0.959663 0.275432 v 3.654156 152.414566 15.338329 0.824898 0.300398 0.550129 v 3.474658 152.407654 15.709920 0.240306 0.358354 0.753812 v 3.266671 152.343445 15.986771 0.833619 0.673656 0.223617 v 3.224213 152.554138 15.214782 0.956868 0.126559 0.243419 v 3.122532 152.054260 15.519697 0.208662 0.918448 0.126814 v 3.236512 151.866104 15.392733 0.332413 0.167798 0.468848 v 2.768822 151.793701 15.496633 0.188693 0.406194 0.489610 v 2.326352 151.772919 15.300264 0.281297 0.231738 0.874873 v 2.372673 151.977478 15.443515 0.393068 0.282818 0.239386 v 2.043604 151.847351 14.903751 0.130677 0.571157 0.209363 v 2.299855 151.297775 15.151693 0.875359 0.124123 0.635734 v 2.106927 150.906418 15.158047 0.928104 0.456220 0.203961 v 2.061869 150.588135 14.994737 0.972720 0.764879 0.060028 v 1.532058 150.350372 14.327758 0.496531 0.359340 0.071515 v 1.506216 150.196472 14.049555 0.996353 0.343006 0.610975 v 1.600391 150.173203 13.977616 0.963183 0.514689 0.349580 v 1.923153 150.198212 14.265920 0.365942 0.633793 0.487954 v 1.832597 150.275009 14.382935 0.412911 0.200632 0.644797 v 2.149120 150.368713 14.712524 0.736870 0.471737 0.003583 v 2.581459 150.720718 15.275969 0.189672 0.750293 0.075739 v 2.611556 151.045044 15.342430 0.431833 0.849582 0.582783 v 2.643876 151.310547 15.260104 0.301206 0.739982 0.212932 v 2.838417 151.350479 15.258254 0.453622 0.942788 0.086649 v 2.859911 151.030548 15.369068 0.820905 0.903250 0.692723 v 2.893479 150.723663 15.347919 0.284459 0.325246 0.195339 v 2.623538 150.485107 14.920294 0.361362 0.914606 0.741274 v 2.624830 150.371765 14.520747 0.700496 0.364586 0.279604 v 3.010840 150.348450 14.570865 0.200458 0.819019 0.547788 v 2.959938 150.406677 15.013202 0.475605 0.762931 0.301955 v 3.285389 150.552856 14.987535 0.754613 0.697726 0.139988 v 3.207700 150.784836 15.339592 0.436600 0.190831 0.221325 v 3.805174 150.538269 14.880773 0.023458 0.215382 0.691131 v 3.788682 150.764954 15.170174 0.448434 0.482143 0.389837 v 4.193195 150.516693 14.622761 0.616344 0.728651 0.342774 v 4.477347 150.651947 14.626987 0.064756 0.661540 0.057483 v 4.517504 150.894104 14.705520 0.937728 0.425620 0.206414 v 3.649109 151.064316 15.314726 0.924378 0.632451 0.414973 v 3.100544 151.095108 15.392110 0.398557 0.193905 0.701706 v 3.032671 151.350357 15.299604 0.505186 0.020498 0.153252 v 3.386807 151.409073 15.262122 0.717328 0.418245 0.873526 v 3.571730 152.003815 15.059003 0.300355 0.250787 0.709424 v 4.012033 151.432999 14.971190 0.668492 0.621901 0.762587 v 4.512586 151.405670 14.687183 0.056664 0.661669 0.795815 v 5.058111 150.689926 14.266281 0.174042 0.512642 0.036792 v 4.984583 150.507401 14.123521 0.048448 0.901747 0.942192 v 4.588381 150.512070 14.362689 0.134814 0.349042 0.409944 v 4.145026 150.425705 14.491652 0.163530 0.014603 0.420530 v 3.803849 150.447403 14.576573 0.892887 0.493425 0.601102 v 3.386413 150.449738 14.598121 0.201536 0.599948 0.843636 v 4.920114 150.473251 14.019148 0.174857 0.647916 0.536874 v 5.406016 150.598633 14.082361 0.879603 0.850993 0.002145 v 5.137905 151.306580 14.340719 0.546348 0.553250 0.701832 v 5.168473 151.950455 14.511060 0.435615 0.061873 0.388334 v 6.589090 152.363098 13.835776 0.839609 0.951598 0.142587 v 5.413566 152.647095 14.541824 0.467927 0.093677 0.179543 v 6.071504 153.698334 14.257855 0.515301 0.024891 0.331448 v 6.475724 154.504440 14.119884 0.170860 0.113904 0.166590 v 6.277076 155.241333 14.011755 0.730089 0.608772 0.403898 v 5.966505 155.582397 14.144122 0.107436 0.313589 0.750342 v 5.256298 155.474625 14.265730 0.423717 0.970230 0.626722 v 5.174813 155.679077 14.198680 0.920653 0.048363 0.000266 v 4.391151 155.720184 14.103148 0.609772 0.321593 0.734447 v 4.463591 155.568420 14.188123 0.313147 0.751470 0.618339 v 4.191092 155.722733 14.059680 0.953913 0.431741 0.900049 v 4.153892 155.625473 14.157703 0.633573 0.387036 0.933199 v 4.023431 155.742447 14.127026 0.291266 0.290138 0.724748 v 3.881056 155.704971 14.221815 0.177531 0.702225 0.597687 v 4.090349 155.936615 14.152337 0.713061 0.243615 0.315363 v 4.019340 155.998810 14.290933 0.298695 0.452124 0.111424 v 4.248532 156.156937 14.289433 0.394682 0.368689 0.215945 v 4.149648 156.203445 14.397776 0.028691 0.214304 0.230948 v 3.778260 156.223785 14.389557 0.731437 0.257624 0.597516 v 3.583149 156.356598 14.553606 0.942754 0.301541 0.011420 v 3.542369 156.876297 15.090942 0.333181 0.680643 0.440089 v 4.251780 157.258347 15.175777 0.127266 0.294844 0.224692 v 4.960308 157.421555 15.035107 0.763824 0.362523 0.961646 v 6.040345 157.996414 14.756308 0.544864 0.598928 0.789062 v 5.755983 159.008377 14.559810 0.541809 0.453112 0.340491 v 4.567521 159.950592 14.880532 0.289762 0.604950 0.275545 v 4.369209 161.936371 14.296474 0.223787 0.111992 0.713635 v 6.531423 161.638489 13.461618 0.349621 0.305826 0.233992 v 5.857015 159.886566 14.383193 0.725564 0.532550 0.737189 v 6.708423 158.677322 13.971419 0.434599 0.167477 0.775954 v 6.719105 157.792694 14.332580 0.086479 0.030660 0.314502 v 6.604654 157.426407 14.446648 0.916738 0.330523 0.525158 v 5.857612 157.444641 14.800425 0.829121 0.408515 0.771692 v 5.781155 157.059357 14.660975 0.563403 0.966267 0.105096 v 4.928563 156.908585 14.742405 0.763435 0.856011 0.626150 v 4.259834 156.664642 14.658603 0.952689 0.895276 0.063484 v 4.235356 157.008102 14.993034 0.700614 0.908167 0.995819 v 3.775252 156.648117 14.763110 0.814021 0.754680 0.488507 v 3.970324 156.413788 14.526620 0.343809 0.225971 0.557144 v 4.353290 156.474640 14.540674 0.015474 0.284870 0.802232 v 4.402881 156.430847 14.376191 0.790529 0.486108 0.430164 v 4.943268 156.723480 14.687655 0.202078 0.100293 0.742783 v 5.703329 156.828674 14.594179 0.282226 0.858186 0.887771 v 4.971738 156.694855 14.545386 0.171384 0.209337 0.157895 v 4.961422 156.595673 14.382710 0.813451 0.645945 0.995641 v 4.456047 156.388672 14.332141 0.084225 0.351223 0.018891 v 4.391457 156.254272 14.134507 0.732666 0.384443 0.473757 v 5.292729 156.530975 14.307933 0.507891 0.161696 0.812687 v 5.074541 155.895065 14.103870 0.557302 0.532856 0.116673 v 4.192031 155.910629 14.015384 0.452903 0.632555 0.643485 v 4.174837 155.781281 14.097133 0.261090 0.634535 0.482576 v 4.361786 155.788010 14.130767 0.080595 0.115054 0.618713 v 5.115927 155.756943 14.222025 0.106494 0.274376 0.816658 v 5.901436 155.746292 14.150589 0.990122 0.459755 0.713795 v 6.281554 155.736099 14.096354 0.678179 0.392997 0.927555 v 6.544817 155.955139 13.895157 0.772727 0.563452 0.403215 v 6.178575 155.877792 14.064208 0.134179 0.060454 0.385828 v 6.395612 156.085144 13.905499 0.987200 0.782621 0.844852 v 6.196184 156.175827 14.001778 0.842773 0.954430 0.857185 v 6.030312 155.998108 14.102693 0.204158 0.846206 0.468711 v 5.942231 156.066742 14.014033 0.185529 0.210157 0.896444 v 6.382401 156.401337 13.896639 0.629150 0.962861 0.903670 v 5.984761 156.511032 14.133945 0.472937 0.019344 0.693920 v 5.809195 155.858429 14.196977 0.011464 0.066395 0.191603 v 6.059125 156.551376 14.146997 0.546130 0.913672 0.566979 v 5.653100 156.638138 14.307310 0.656752 0.692949 0.713401 v 5.661443 156.785172 14.473135 0.574723 0.156294 0.253925 v 6.241748 156.717300 14.391874 0.968564 0.591777 0.571419 v 6.340902 156.920578 14.408827 0.464606 0.035192 0.418322 v 6.983486 156.816650 13.925976 0.946374 0.354903 0.770815 v 6.808066 156.679474 14.056618 0.864893 0.740044 0.582705 v 6.566604 156.550262 14.090427 0.795209 0.970019 0.794447 v 6.141683 156.663269 14.360791 0.235164 0.164904 0.338360 v 6.414930 156.428741 14.035322 0.588428 0.822364 0.258029 v 6.732446 156.498932 13.882141 0.267828 0.589779 0.645513 v 6.875341 156.430466 13.626386 0.312928 0.688987 0.515858 v 7.364304 157.097092 13.422500 0.602670 0.547204 0.990477 v 7.087284 157.509705 13.802938 0.939354 0.748743 0.261476 v 7.284768 158.284653 13.239169 0.206997 0.162588 0.009136 v 7.638096 159.252594 12.605486 0.919723 0.354286 0.599487 v 6.999064 159.480057 13.243300 0.350723 0.485434 0.404266 v 7.430304 160.610703 12.683509 0.284688 0.793507 0.897573 v 7.989778 157.999054 12.398499 0.441110 0.293142 0.739183 v 7.597815 156.898575 12.986377 0.540489 0.931372 0.029235 v 7.275516 156.713547 13.394743 0.012274 0.443935 0.617910 v 7.225174 156.496063 13.379011 0.396976 0.076117 0.586101 v 6.781721 156.255814 13.642954 0.435768 0.244005 0.692966 v 6.549984 156.329315 13.785652 0.556684 0.917262 0.634647 v 6.631147 156.398041 13.846372 0.750858 0.026234 0.141114 v 6.844536 155.443298 13.754717 0.872191 0.571503 0.883420 v 7.136202 154.529175 13.767685 0.802573 0.722198 0.328558 v 6.996586 153.991302 13.886387 0.277516 0.067505 0.595560 v 6.460251 153.167999 14.068649 0.945643 0.180762 0.952847 v 6.745692 151.445450 13.562443 0.013058 0.666155 0.748495 v 6.734541 150.742203 13.363414 0.016140 0.119780 0.238686 v 5.660406 150.460175 13.928846 0.447307 0.679153 0.970876 v 5.270828 150.412094 14.043315 0.586101 0.837879 0.029145 v 5.876501 149.313843 13.500364 0.191023 0.994630 0.877380 v 6.638131 150.248215 13.223125 0.188549 0.515867 0.041705 v 7.244344 155.732239 13.414149 0.814254 0.811690 0.448851 v 7.591950 156.110718 12.864388 0.315285 0.218648 0.845810 v 2.229165 150.286194 14.416593 0.564343 0.251464 0.410103 v 1.264169 150.098938 13.647719 0.547393 0.742634 0.014579 v 1.189304 150.089005 13.637535 0.680860 0.105952 0.039299 v 1.365966 150.126556 13.746820 0.886018 0.827092 0.938663 v 1.860616 150.153137 14.363997 0.222607 0.508580 0.539046 v 2.386027 150.211792 14.652159 0.876277 0.893875 0.934299 v 2.192879 150.357620 14.352300 0.715864 0.605622 0.762839 v 3.008631 150.387619 14.553140 0.926620 0.980035 0.804768 v 2.998318 150.273621 14.769510 0.785662 0.379200 0.435203 v 3.005049 149.972977 15.006220 0.719699 0.938641 0.658391 v 3.616289 150.020309 15.025779 0.275873 0.605911 0.582433 v 3.621413 150.338287 14.777668 0.776238 0.737237 0.039464 v 3.837124 150.525970 14.519347 0.562783 0.348204 0.603885 v 4.194534 150.392105 14.601112 0.103933 0.387899 0.877146 v 4.219720 150.199097 14.757112 0.418795 0.507455 0.954468 v 3.529971 149.564835 15.000722 0.160701 0.001086 0.713618 v -1.799178 155.798187 13.182159 0.922650 0.175865 0.251686 v -1.655693 155.640076 13.029943 0.531203 0.796487 0.862806 v -1.548371 155.719391 13.265981 0.358260 0.480378 0.802942 v -1.330265 155.942032 13.622591 0.484117 0.861880 0.071998 v -1.469523 156.120865 13.615322 0.836200 0.330476 0.018463 v -0.876396 156.154968 13.925707 0.575158 0.195339 0.712240 v -1.367533 155.631897 13.244658 0.268614 0.792388 0.641147 v -1.531170 155.562317 13.017117 0.463846 0.734283 0.024153 v -1.303230 155.614410 13.115813 0.055209 0.129704 0.065086 v -1.100294 155.428757 13.260488 0.103290 0.278687 0.441093 v -0.925624 155.285889 13.396000 0.808404 0.821562 0.831096 v -0.679360 151.618896 13.097333 0.766227 0.546707 0.771054 v 0.824092 150.864899 13.902454 0.558344 0.963160 0.700720 v 0.631715 151.485947 14.050144 0.809992 0.204347 0.283494 v -0.763576 152.428345 13.334741 0.161319 0.790880 0.717598 v -1.406914 153.130890 13.032628 0.077365 0.593573 0.537407 v -2.865135 152.087265 6.619402 0.976408 0.214671 0.182733 v -2.666043 151.409225 6.533830 0.969099 0.073440 0.518389 v -2.252527 151.093643 6.707186 0.850619 0.207005 0.478576 v -2.614182 151.076294 6.257028 0.921761 0.071034 0.093386 v -2.423411 151.058319 6.137672 0.107610 0.228276 0.913195 v -3.279877 151.758286 5.950686 0.169934 0.765743 0.139761 v -3.427987 152.194916 6.053395 0.238196 0.901599 0.962733 v -3.451130 154.113205 4.634646 0.005580 0.144295 0.460148 v -4.290304 153.237473 4.600465 0.211439 0.038161 0.652952 v -4.499349 153.785034 4.333598 0.753813 0.744695 0.769797 v -3.693315 154.888092 5.060616 0.536039 0.716321 0.262634 v -3.853859 156.243134 4.413851 0.946038 0.697895 0.217397 v -2.173316 153.874283 2.069453 0.145344 0.499648 0.501451 v -2.815440 156.140930 1.436294 0.655281 0.575846 0.414066 v -3.096234 158.867615 1.452385 0.243325 0.477798 0.413104 v -3.992803 158.981308 4.344418 0.158362 0.732834 0.654519 v -3.898070 156.911194 7.122702 0.994762 0.447804 0.015402 v -3.745588 155.203995 5.750357 0.890786 0.634544 0.900261 v -4.633658 155.351059 4.788877 0.147617 0.647262 0.749569 v -4.622220 154.591187 4.395744 0.041899 0.021987 0.929735 v -4.782397 154.553055 4.491499 0.403678 0.719664 0.585045 v -4.642829 153.735580 4.448400 0.228176 0.875859 0.071652 v -4.574755 154.376282 4.958560 0.660066 0.931526 0.541907 v -3.968862 154.802246 5.872928 0.629814 0.340159 0.368247 v -3.714702 154.663177 6.829178 0.151299 0.541356 0.837402 v -3.496322 154.683151 7.253521 0.113706 0.907392 0.951024 v -3.467314 155.113831 6.626969 0.408932 0.660713 0.113747 v -3.734207 154.908127 7.142612 0.295492 0.131298 0.911246 v -3.995131 155.522324 6.758053 0.562623 0.557466 0.104548 v -4.006106 159.178314 7.223768 0.376010 0.995889 0.539934 v -4.254093 155.861191 6.207341 0.517514 0.349102 0.407722 v -4.438786 155.923309 5.438664 0.950731 0.347994 0.251109 v -4.417146 155.697113 6.223055 0.022016 0.708861 0.407951 v -4.576363 155.790131 5.537744 0.926502 0.552890 0.997448 v -4.784029 155.207474 4.867700 0.832559 0.810912 0.724735 v -4.585762 154.931595 5.165847 0.637068 0.140597 0.078551 v -4.406848 155.192307 5.970726 0.407380 0.267565 0.299811 v -4.104859 155.260391 6.855547 0.497010 0.437920 0.239758 v 1.177476 159.242432 -0.831531 0.308931 0.731897 0.596721 v 1.468874 156.513687 -0.949927 0.975897 0.125047 0.851480 v 4.014209 144.393509 9.312157 0.850748 0.590975 0.551017 v -2.679938 103.591248 -2.500797 0.350470 0.712289 0.568167 v 14.586084 127.920197 1.318483 0.957355 0.851861 0.816990 vt 0.389887 0.679023 vt 0.361250 0.679023 vt 0.361250 0.643346 vt 0.389887 0.711520 vt 0.417280 0.679023 vt 0.417280 0.711520 vt 0.462829 0.679023 vt 0.462829 0.711520 vt 0.497736 0.679023 vt 0.462829 0.643346 vt 0.417280 0.643346 vt 0.389887 0.643346 vt 0.361250 0.608552 vt 0.332124 0.608552 vt 0.332124 0.643346 vt 0.332124 0.679023 vt 0.300832 0.679023 vt 0.300832 0.711520 vt 0.268793 0.711520 vt 0.300832 0.745193 vt 0.268793 0.745193 vt 0.236754 0.745193 vt 0.237523 0.768171 vt 0.205461 0.745193 vt 0.207386 0.768171 vt 0.211930 0.788878 vt 0.178089 0.793325 vt 0.176336 0.768171 vt 0.147699 0.768171 vt 0.176336 0.745193 vt 0.147699 0.745193 vt 0.120305 0.768171 vt 0.120305 0.745193 vt 0.074757 0.768171 vt 0.074757 0.745193 vt 0.039850 0.768171 vt 0.075062 0.788432 vt 0.039850 0.788130 vt 0.074537 0.806870 vt 0.039850 0.804880 vt 0.074782 0.833103 vt 0.039850 0.831457 vt 0.077997 0.873556 vt 0.039850 0.873100 vt 0.070557 0.907868 vt 0.038695 0.909941 vt 0.069402 0.944536 vt 0.046275 0.955402 vt 0.023319 0.958165 vt 0.005547 0.910533 vt 0.005547 0.957849 vt 0.005547 0.972259 vt 0.532039 0.972259 vt 0.514266 0.958165 vt 0.532039 0.957849 vt 0.517620 0.972552 vt 0.532039 0.985538 vt 0.518729 0.985475 vt 0.520046 0.997553 vt 0.506732 0.997553 vt 0.532039 0.997553 vt 0.005547 0.997553 vt 0.005547 0.985538 vt 0.017540 0.997553 vt 0.018857 0.985475 vt 0.019966 0.972552 vt 0.034968 0.973533 vt 0.049659 0.979613 vt 0.072523 0.978576 vt 0.087388 0.943766 vt 0.088928 0.907868 vt 0.094496 0.878628 vt 0.094260 0.845934 vt 0.120305 0.828687 vt 0.120305 0.810919 vt 0.120305 0.792983 vt 0.146621 0.794691 vt 0.172959 0.814302 vt 0.197380 0.808954 vt 0.218050 0.804820 vt 0.239277 0.786193 vt 0.268793 0.768171 vt 0.300062 0.768171 vt 0.332124 0.745193 vt 0.332124 0.711520 vt 0.361250 0.711520 vt 0.361250 0.745193 vt 0.361250 0.768171 vt 0.330200 0.768171 vt 0.325655 0.788878 vt 0.298309 0.786193 vt 0.268793 0.786980 vt 0.241681 0.804366 vt 0.243592 0.816689 vt 0.268793 0.819064 vt 0.268793 0.835685 vt 0.243621 0.834804 vt 0.222851 0.834053 vt 0.220277 0.814643 vt 0.206338 0.835559 vt 0.201664 0.819235 vt 0.167269 0.835695 vt 0.147796 0.833374 vt 0.148087 0.813310 vt 0.120305 0.848588 vt 0.146268 0.854668 vt 0.166494 0.859202 vt 0.186440 0.856002 vt 0.184846 0.835810 vt 0.207231 0.852775 vt 0.223426 0.850418 vt 0.242702 0.852053 vt 0.260621 0.852580 vt 0.268793 0.852871 vt 0.276965 0.852580 vt 0.294883 0.852053 vt 0.293965 0.834804 vt 0.293994 0.816689 vt 0.295904 0.804366 vt 0.319535 0.804820 vt 0.317309 0.814643 vt 0.335922 0.819235 vt 0.331248 0.835559 vt 0.314734 0.834053 vt 0.314159 0.850418 vt 0.330355 0.852775 vt 0.351145 0.856002 vt 0.352740 0.835810 vt 0.370317 0.835695 vt 0.371092 0.859202 vt 0.343882 0.868023 vt 0.356764 0.882681 vt 0.383405 0.868307 vt 0.378401 0.890406 vt 0.581760 0.833506 vt 0.554134 0.822966 vt 0.554134 0.801978 vt 0.554134 0.837116 vt 0.554134 0.858370 vt 0.581760 0.858370 vt 0.604617 0.833506 vt 0.581760 0.804996 vt 0.554134 0.791702 vt 0.391318 0.854668 vt 0.389790 0.833374 vt 0.364627 0.814302 vt 0.340205 0.808954 vt 0.268793 0.808392 vt 0.359497 0.793325 vt 0.389887 0.768171 vt 0.390965 0.794691 vt 0.389498 0.813310 vt 0.417280 0.828687 vt 0.417280 0.848588 vt 0.443326 0.845934 vt 0.433387 0.861927 vt 0.554134 0.965072 vt 0.581760 0.986821 vt 0.554134 0.986821 vt 0.581760 0.965072 vt 0.604617 0.965072 vt 0.604617 0.986821 vt 0.635116 0.986821 vt 0.635116 0.775388 vt 0.635116 0.803807 vt 0.604617 0.775388 vt 0.578168 0.365622 vt 0.589587 0.354664 vt 0.593562 0.364923 vt 0.579033 0.350098 vt 0.569340 0.355262 vt 0.604617 0.858370 vt 0.635116 0.833506 vt 0.635116 0.858370 vt 0.604617 0.881741 vt 0.581760 0.881741 vt 0.581760 0.906893 vt 0.554134 0.906893 vt 0.554134 0.926071 vt 0.581760 0.926071 vt 0.604617 0.906893 vt 0.635116 0.881741 vt 0.562939 0.364610 vt 0.566165 0.375374 vt 0.574006 0.381129 vt 0.583550 0.380512 vt 0.590412 0.374757 vt 0.635116 0.965072 vt 0.604617 0.945774 vt 0.635116 0.945774 vt 0.604617 0.926071 vt 0.635116 0.926071 vt 0.581760 0.945774 vt 0.554134 0.945774 vt 0.448658 0.907868 vt 0.434166 0.907868 vt 0.434166 0.880098 vt 0.434166 0.943766 vt 0.450198 0.943766 vt 0.467028 0.907868 vt 0.443090 0.878628 vt 0.459588 0.873556 vt 0.497736 0.873100 vt 0.497736 0.831457 vt 0.462804 0.833103 vt 0.463049 0.806870 vt 0.417280 0.810919 vt 0.417280 0.792983 vt 0.417280 0.768171 vt 0.389887 0.745193 vt 0.417280 0.745193 vt 0.462829 0.768171 vt 0.462524 0.788432 vt 0.497736 0.788130 vt 0.497736 0.768171 vt 0.462829 0.745193 vt 0.497736 0.745193 vt 0.497736 0.711520 vt 0.532039 0.679023 vt 0.497736 0.643346 vt 0.462829 0.608552 vt 0.417280 0.608552 vt 0.389887 0.608552 vt 0.361250 0.576762 vt 0.332124 0.576762 vt 0.300832 0.576762 vt 0.300832 0.608552 vt 0.300832 0.643346 vt 0.268793 0.643346 vt 0.268793 0.679023 vt 0.236754 0.679023 vt 0.236754 0.711520 vt 0.205461 0.711520 vt 0.176336 0.711520 vt 0.176336 0.679023 vt 0.205461 0.679023 vt 0.176336 0.643346 vt 0.205461 0.643346 vt 0.205461 0.608552 vt 0.176336 0.608552 vt 0.205461 0.576762 vt 0.176336 0.576762 vt 0.205461 0.543774 vt 0.176336 0.543774 vt 0.176336 0.501605 vt 0.205461 0.501605 vt 0.205461 0.460186 vt 0.176336 0.460186 vt 0.147699 0.460186 vt 0.147699 0.501605 vt 0.147699 0.543774 vt 0.147699 0.576762 vt 0.147699 0.608552 vt 0.147699 0.643346 vt 0.147699 0.679023 vt 0.147699 0.711520 vt 0.120305 0.711520 vt 0.120305 0.679023 vt 0.120305 0.643346 vt 0.120305 0.608552 vt 0.120305 0.576762 vt 0.120305 0.543774 vt 0.120305 0.501605 vt 0.120305 0.460186 vt 0.074757 0.501605 vt 0.074757 0.460186 vt 0.039850 0.460186 vt 0.039850 0.501605 vt 0.021640 0.460186 vt 0.021448 0.501605 vt 0.005547 0.501605 vt 0.021634 0.543774 vt 0.005547 0.543774 vt 0.005547 0.576762 vt 0.532039 0.576762 vt 0.517229 0.576762 vt 0.532039 0.543774 vt 0.532039 0.608552 vt 0.497736 0.576762 vt 0.497736 0.608552 vt 0.532039 0.643346 vt 0.462829 0.576762 vt 0.417280 0.576762 vt 0.389887 0.576762 vt 0.361250 0.543774 vt 0.332124 0.543774 vt 0.300832 0.543774 vt 0.284270 0.543774 vt 0.285300 0.576762 vt 0.268793 0.608552 vt 0.236754 0.643346 vt 0.236754 0.608552 vt 0.236754 0.576762 vt 0.236754 0.543774 vt 0.236754 0.501605 vt 0.236754 0.460186 vt 0.255294 0.460186 vt 0.254859 0.501605 vt 0.254176 0.543774 vt 0.253321 0.576762 vt 0.268793 0.576762 vt 0.268793 0.543774 vt 0.268793 0.501605 vt 0.268793 0.460186 vt 0.282813 0.460186 vt 0.283405 0.501605 vt 0.300832 0.501605 vt 0.300832 0.460186 vt 0.332124 0.501605 vt 0.332124 0.460186 vt 0.361250 0.501605 vt 0.389887 0.543774 vt 0.417280 0.543774 vt 0.389887 0.501605 vt 0.389887 0.460186 vt 0.361250 0.460186 vt 0.417280 0.501605 vt 0.462829 0.501605 vt 0.462829 0.543774 vt 0.497736 0.543774 vt 0.497736 0.501605 vt 0.497736 0.460186 vt 0.462829 0.460186 vt 0.417280 0.460186 vt 0.516564 0.460186 vt 0.516824 0.501605 vt 0.517022 0.543774 vt 0.532039 0.501605 vt 0.532039 0.460186 vt 0.005547 0.460186 vt 0.005547 0.679023 vt 0.005547 0.643346 vt 0.039850 0.643346 vt 0.039850 0.608552 vt 0.005547 0.608552 vt 0.039850 0.576762 vt 0.021885 0.576762 vt 0.039850 0.543774 vt 0.074757 0.543774 vt 0.074757 0.576762 vt 0.074757 0.608552 vt 0.074757 0.643346 vt 0.074757 0.679023 vt 0.074757 0.711520 vt 0.039850 0.745193 vt 0.039850 0.711520 vt 0.005547 0.745193 vt 0.005547 0.711520 vt 0.532039 0.745193 vt 0.532039 0.711520 vt 0.532039 0.768171 vt 0.532039 0.787798 vt 0.532039 0.804619 vt 0.497736 0.804880 vt 0.532039 0.831663 vt 0.532039 0.873373 vt 0.005547 0.873373 vt 0.005547 0.831663 vt 0.498891 0.909941 vt 0.532039 0.910533 vt 0.468183 0.944536 vt 0.465063 0.978576 vt 0.491311 0.955402 vt 0.502618 0.973533 vt 0.504825 0.987482 vt 0.495845 0.997553 vt 0.030854 0.997553 vt 0.032761 0.987482 vt 0.045009 0.983366 vt 0.223853 0.982744 vt 0.218153 0.979405 vt 0.219609 0.959883 vt 0.192626 0.977036 vt 0.198278 0.954202 vt 0.177226 0.977036 vt 0.087388 0.978576 vt 0.103420 0.943766 vt 0.103420 0.907868 vt 0.103420 0.880098 vt 0.104199 0.861927 vt 0.554134 0.715484 vt 0.554134 0.734782 vt 0.581760 0.715484 vt 0.581760 0.734782 vt 0.581760 0.756531 vt 0.554134 0.756531 vt 0.581760 0.545098 vt 0.554134 0.545098 vt 0.581760 0.565371 vt 0.554134 0.561412 vt 0.581760 0.574706 vt 0.604617 0.573517 vt 0.604617 0.603216 vt 0.581760 0.603216 vt 0.581760 0.628080 vt 0.604617 0.628080 vt 0.635116 0.603216 vt 0.635116 0.628080 vt 0.635116 0.573517 vt 0.604617 0.545098 vt 0.604617 0.734782 vt 0.604617 0.756531 vt 0.604617 0.715484 vt 0.635116 0.734782 vt 0.635116 0.756531 vt 0.635116 0.545098 vt 0.635116 0.651451 vt 0.604617 0.651451 vt 0.581760 0.651451 vt 0.554134 0.628080 vt 0.554134 0.606826 vt 0.554134 0.592676 vt 0.554134 0.571688 vt 0.155432 0.868307 vt 0.180822 0.882681 vt 0.193704 0.868023 vt 0.207717 0.870168 vt 0.204035 0.895929 vt 0.223025 0.869189 vt 0.239769 0.870149 vt 0.254982 0.869843 vt 0.268793 0.871022 vt 0.282604 0.869843 vt 0.297817 0.870149 vt 0.314561 0.869189 vt 0.329869 0.870168 vt 0.333551 0.895929 vt 0.335748 0.920017 vt 0.316703 0.918501 vt 0.316088 0.896503 vt 0.301497 0.895972 vt 0.300543 0.913217 vt 0.317977 0.959883 vt 0.296255 0.943328 vt 0.291751 0.965154 vt 0.283410 0.936859 vt 0.280601 0.961651 vt 0.288711 0.981660 vt 0.277481 0.980274 vt 0.276532 0.995624 vt 0.268793 0.995624 vt 0.286537 0.995624 vt 0.300109 0.984218 vt 0.305390 0.973067 vt 0.313732 0.982744 vt 0.319433 0.979405 vt 0.487926 0.979613 vt 0.492577 0.983366 vt 0.344960 0.977036 vt 0.339308 0.954202 vt 0.356766 0.916475 vt 0.378401 0.915238 vt 0.359606 0.952898 vt 0.378401 0.951775 vt 0.378401 0.977036 vt 0.360360 0.977036 vt 0.434166 0.978576 vt 0.450198 0.978576 vt 0.554134 0.881741 vt 0.495283 0.989523 vt 0.307450 0.989236 vt 0.305549 0.995800 vt 0.296353 0.995624 vt 0.041740 0.997553 vt 0.042303 0.989523 vt 0.237477 0.984218 vt 0.230136 0.989236 vt 0.232196 0.973067 vt 0.245834 0.965154 vt 0.248874 0.981660 vt 0.256985 0.961651 vt 0.254176 0.936859 vt 0.241331 0.943328 vt 0.237043 0.913217 vt 0.220883 0.918501 vt 0.201838 0.920017 vt 0.180820 0.916475 vt 0.177980 0.952898 vt 0.160436 0.977036 vt 0.103420 0.978576 vt 0.554134 0.676602 vt 0.554134 0.651451 vt 0.581760 0.676602 vt 0.604617 0.676602 vt 0.635116 0.676602 vt 0.635116 0.695781 vt 0.604617 0.695781 vt 0.581760 0.695781 vt 0.554134 0.695781 vt 0.635116 0.715484 vt 0.160436 0.951775 vt 0.160436 0.915238 vt 0.160436 0.890406 vt 0.221497 0.896503 vt 0.236089 0.895972 vt 0.250914 0.887429 vt 0.252272 0.909065 vt 0.268793 0.935260 vt 0.268793 0.907854 vt 0.285313 0.909065 vt 0.286671 0.887429 vt 0.268793 0.962130 vt 0.260105 0.980274 vt 0.261054 0.995624 vt 0.251048 0.995624 vt 0.241233 0.995624 vt 0.232037 0.995800 vt 0.268793 0.979651 vt 0.005547 0.804619 vt 0.005547 0.787798 vt 0.005547 0.768171 vt 0.039850 0.679023 vt 0.635116 0.906893 vt 0.604617 0.803807 vt 0.581760 0.795661 vt 0.581760 0.775388 vt 0.846946 0.272261 vt 0.831937 0.334118 vt 0.781062 0.279834 vt 0.863661 0.323721 vt 0.897177 0.263662 vt 0.765896 0.345383 vt 0.711761 0.272756 vt 0.790884 0.398370 vt 0.811270 0.449134 vt 0.856148 0.399777 vt 0.862262 0.477005 vt 0.818700 0.502190 vt 0.837398 0.570308 vt 0.929456 0.529646 vt 0.903249 0.454898 vt 0.879175 0.388893 vt 0.919067 0.373733 vt 0.902081 0.310139 vt 0.846945 0.272261 vt 0.512091 0.228479 vt 0.405127 0.248892 vt 0.405125 0.210990 vt 0.490154 0.256046 vt 0.405127 0.268069 vt 0.488877 0.294924 vt 0.448173 0.293139 vt 0.455169 0.303581 vt 0.488148 0.306317 vt 0.513922 0.311739 vt 0.550580 0.308374 vt 0.550220 0.321216 vt 0.601085 0.337441 vt 0.593391 0.354979 vt 0.631581 0.356803 vt 0.618446 0.399820 vt 0.662755 0.378634 vt 0.691755 0.424135 vt 0.626372 0.440035 vt 0.705620 0.485462 vt 0.723115 0.454363 vt 0.723511 0.490857 vt 0.885979 0.834181 vt 0.858113 0.844474 vt 0.862920 0.812065 vt 0.878985 0.847260 vt 0.914710 0.840618 vt 0.922602 0.825917 vt 0.889115 0.808801 vt 0.882238 0.793990 vt 0.890163 0.782854 vt 0.906427 0.792305 vt 0.903545 0.797105 vt 0.936813 0.826124 vt 0.952282 0.851479 vt 0.933216 0.856243 vt 0.949307 0.886566 vt 0.917720 0.884693 vt 0.914666 0.933808 vt 0.884352 0.895350 vt 0.875328 0.927073 vt 0.903992 0.956178 vt 0.935523 0.941620 vt 0.948732 0.957635 vt 0.925338 0.971457 vt 0.951982 0.961783 vt 0.971548 0.937875 vt 0.974294 0.977937 vt 0.976518 0.899273 vt 0.967388 0.934526 vt 0.945662 0.918501 vt 0.971637 0.898183 vt 0.960274 0.878222 vt 0.961837 0.854237 vt 0.944890 0.825281 vt 0.957134 0.799406 vt 0.746038 0.445850 vt 0.737640 0.445205 vt 0.707015 0.420355 vt 0.672924 0.368486 vt 0.648189 0.340104 vt 0.600401 0.313639 vt 0.553055 0.279624 vt 0.512092 0.228479 vt 0.570039 0.241567 vt 0.671399 0.323821 vt 0.614062 0.251509 vt 0.726606 0.329159 vt 0.737828 0.375650 vt 0.748403 0.431477 vt 0.755814 0.495416 vt 0.764790 0.532708 vt 0.777225 0.595633 vt 0.856028 0.642658 vt 0.945389 0.601224 vt 0.991255 0.574945 vt 0.970960 0.504542 vt 0.944711 0.434715 vt 0.240214 0.241567 vt 0.257199 0.279624 vt 0.196192 0.251510 vt 0.298161 0.228479 vt 0.240213 0.241567 vt 0.320100 0.256046 vt 0.321377 0.294924 vt 0.362081 0.293139 vt 0.405127 0.279136 vt 0.430878 0.294365 vt 0.457586 0.316595 vt 0.429990 0.312199 vt 0.427156 0.338874 vt 0.405127 0.339459 vt 0.405127 0.358652 vt 0.383098 0.338874 vt 0.386684 0.357298 vt 0.405127 0.363217 vt 0.423570 0.357298 vt 0.420172 0.362449 vt 0.443196 0.361266 vt 0.442876 0.371419 vt 0.428208 0.374629 vt 0.439969 0.379131 vt 0.455005 0.376599 vt 0.454070 0.384474 vt 0.464963 0.388780 vt 0.452749 0.390602 vt 0.451070 0.393931 vt 0.458977 0.391891 vt 0.464547 0.392787 vt 0.472264 0.393755 vt 0.471613 0.381659 vt 0.478295 0.374470 vt 0.459701 0.369790 vt 0.477567 0.347536 vt 0.453128 0.341824 vt 0.483420 0.325380 vt 0.507729 0.336478 vt 0.538006 0.349178 vt 0.565863 0.367144 vt 0.582414 0.406086 vt 0.583489 0.444487 vt 0.639301 0.486237 vt 0.564979 0.486875 vt 0.576609 0.515365 vt 0.586076 0.539006 vt 0.647157 0.542099 vt 0.597607 0.562334 vt 0.657203 0.596013 vt 0.605360 0.599148 vt 0.650834 0.639626 vt 0.691436 0.595762 vt 0.688510 0.641456 vt 0.728101 0.645539 vt 0.727797 0.707687 vt 0.788180 0.671177 vt 0.751307 0.578461 vt 0.740906 0.591295 vt 0.726347 0.579485 vt 0.710409 0.544256 vt 0.731461 0.542237 vt 0.849034 0.926594 vt 0.852579 0.896011 vt 0.861616 0.943863 vt 0.877516 0.956925 vt 0.896028 0.969896 vt 0.927854 0.973502 vt 0.893336 0.995616 vt 0.759373 0.562686 vt 0.987335 0.903384 vt 0.970015 0.877468 vt 0.985446 0.860398 vt 0.717454 0.409647 vt 0.628432 0.299499 vt 0.614062 0.251510 vt 0.614061 0.251509 vt 0.570040 0.241567 vt 0.896197 0.975261 vt 0.875164 0.962603 vt 0.857107 0.977385 vt 0.873563 0.877352 vt 0.868605 0.855197 vt 0.883964 0.873509 vt 0.681590 0.715235 vt 0.656799 0.682029 vt 0.615023 0.767891 vt 0.653594 0.818545 vt 0.585007 0.834695 vt 0.509837 0.812390 vt 0.513964 0.858353 vt 0.544221 0.901373 vt 0.619630 0.856149 vt 0.405127 0.880271 vt 0.405127 0.935621 vt 0.266033 0.901373 vt 0.296290 0.858353 vt 0.225247 0.834695 vt 0.190624 0.856149 vt 0.156660 0.818545 vt 0.195231 0.767891 vt 0.128664 0.715235 vt 0.153455 0.682029 vt 0.121744 0.641456 vt 0.159420 0.639626 vt 0.118818 0.595762 vt 0.153051 0.596013 vt 0.163097 0.542099 vt 0.099845 0.544256 vt 0.104634 0.485462 vt 0.078793 0.542237 vt 0.086743 0.490857 vt 0.054440 0.495416 vt 0.061851 0.431477 vt 0.064216 0.445850 vt 0.098493 0.272756 vt 0.138855 0.323821 vt 0.083648 0.329159 vt 0.181822 0.299499 vt 0.209853 0.313639 vt 0.259674 0.308374 vt 0.296332 0.311739 vt 0.322106 0.306317 vt 0.355085 0.303581 vt 0.326834 0.325380 vt 0.352668 0.316595 vt 0.379376 0.294365 vt 0.405127 0.288004 vt 0.405127 0.314830 vt 0.380264 0.312199 vt 0.357126 0.341824 vt 0.332687 0.347536 vt 0.302525 0.336478 vt 0.260034 0.321216 vt 0.209169 0.337441 vt 0.216863 0.354979 vt 0.272248 0.349178 vt 0.314897 0.359273 vt 0.350553 0.369790 vt 0.331959 0.374470 vt 0.317630 0.386312 vt 0.285344 0.388313 vt 0.281376 0.405341 vt 0.227840 0.406086 vt 0.244391 0.367144 vt 0.191808 0.399820 vt 0.178673 0.356803 vt 0.162065 0.340104 vt 0.137330 0.368486 vt 0.147499 0.378634 vt 0.118499 0.424135 vt 0.103239 0.420355 vt 0.092800 0.409647 vt 0.072426 0.375650 vt 0.072614 0.445205 vt 0.087139 0.454363 vt 0.183882 0.440035 vt 0.226765 0.444487 vt 0.279145 0.428760 vt 0.328971 0.397752 vt 0.332757 0.386732 vt 0.338641 0.381659 vt 0.355249 0.376599 vt 0.367058 0.361266 vt 0.390082 0.362449 vt 0.367378 0.371419 vt 0.382046 0.374629 vt 0.393347 0.372913 vt 0.405272 0.375035 vt 0.391657 0.386501 vt 0.374398 0.387817 vt 0.370285 0.379131 vt 0.357505 0.390602 vt 0.356184 0.384474 vt 0.345291 0.388780 vt 0.337990 0.393755 vt 0.340775 0.397395 vt 0.337108 0.403279 vt 0.355831 0.414709 vt 0.351031 0.431595 vt 0.370353 0.432746 vt 0.362213 0.454506 vt 0.342884 0.453415 vt 0.353866 0.475888 vt 0.330891 0.473759 vt 0.341529 0.503458 vt 0.330783 0.508030 vt 0.319486 0.473594 vt 0.295163 0.506614 vt 0.316350 0.531790 vt 0.281333 0.532432 vt 0.311598 0.557014 vt 0.278488 0.558604 vt 0.286411 0.571665 vt 0.276863 0.574078 vt 0.266550 0.581086 vt 0.259215 0.563214 vt 0.255861 0.590335 vt 0.245543 0.572348 vt 0.224178 0.539006 vt 0.260159 0.531411 vt 0.233645 0.515365 vt 0.170953 0.486237 vt 0.245275 0.486875 vt 0.212647 0.562334 vt 0.224316 0.583590 vt 0.245435 0.595082 vt 0.257013 0.600137 vt 0.263268 0.594784 vt 0.270037 0.587083 vt 0.278810 0.580586 vt 0.288068 0.576955 vt 0.312544 0.576813 vt 0.313763 0.579948 vt 0.290498 0.581717 vt 0.312871 0.588654 vt 0.285693 0.591373 vt 0.304052 0.605893 vt 0.283414 0.603627 vt 0.281439 0.605477 vt 0.291454 0.609479 vt 0.278969 0.611207 vt 0.290161 0.612387 vt 0.316140 0.608927 vt 0.316533 0.611082 vt 0.335482 0.603252 vt 0.316688 0.613863 vt 0.336978 0.605909 vt 0.315210 0.622191 vt 0.290279 0.623391 vt 0.324971 0.638284 vt 0.292673 0.637940 vt 0.290817 0.653012 vt 0.273336 0.636653 vt 0.268608 0.646629 vt 0.249564 0.633157 vt 0.257647 0.612751 vt 0.244614 0.621006 vt 0.244904 0.603608 vt 0.224647 0.610433 vt 0.204894 0.599148 vt 0.201625 0.645823 vt 0.232402 0.661889 vt 0.260333 0.675708 vt 0.292794 0.685736 vt 0.328727 0.656256 vt 0.351643 0.646972 vt 0.344172 0.639021 vt 0.344845 0.628314 vt 0.340014 0.614149 vt 0.358810 0.615083 vt 0.364349 0.628777 vt 0.365421 0.635526 vt 0.373304 0.616429 vt 0.366336 0.604890 vt 0.353319 0.606522 vt 0.339826 0.599338 vt 0.337786 0.598813 vt 0.333607 0.601669 vt 0.331099 0.597283 vt 0.343237 0.590361 vt 0.346008 0.592191 vt 0.360119 0.599332 vt 0.363546 0.589018 vt 0.354843 0.583449 vt 0.345105 0.583763 vt 0.343432 0.579509 vt 0.337717 0.582903 vt 0.338079 0.584338 vt 0.331873 0.581089 vt 0.332215 0.583129 vt 0.339222 0.588442 vt 0.309148 0.569129 vt 0.336334 0.566629 vt 0.345924 0.544236 vt 0.339203 0.526466 vt 0.361943 0.526619 vt 0.366188 0.554941 vt 0.345754 0.572640 vt 0.334882 0.572758 vt 0.365161 0.581317 vt 0.376651 0.559002 vt 0.380546 0.533934 vt 0.369054 0.507280 vt 0.359311 0.510965 vt 0.358519 0.500441 vt 0.364722 0.495873 vt 0.362729 0.482609 vt 0.353543 0.491923 vt 0.363925 0.471717 vt 0.366527 0.457339 vt 0.370307 0.470264 vt 0.377007 0.461974 vt 0.382315 0.475142 vt 0.392766 0.474822 vt 0.397313 0.469761 vt 0.395594 0.482984 vt 0.400492 0.481837 vt 0.398850 0.493907 vt 0.405127 0.480351 vt 0.405127 0.467842 vt 0.405127 0.455158 vt 0.412941 0.469761 vt 0.409762 0.481837 vt 0.414660 0.482984 vt 0.411404 0.493907 vt 0.405127 0.494066 vt 0.405127 0.503610 vt 0.399904 0.501983 vt 0.394334 0.546122 vt 0.395706 0.511525 vt 0.379852 0.504732 vt 0.376570 0.486644 vt 0.379631 0.476955 vt 0.390945 0.492543 vt 0.390802 0.568817 vt 0.381008 0.586797 vt 0.372447 0.595324 vt 0.381323 0.602592 vt 0.386804 0.588956 vt 0.405127 0.570977 vt 0.405127 0.550451 vt 0.415920 0.546122 vt 0.419452 0.568817 vt 0.429708 0.533934 vt 0.414548 0.511525 vt 0.410350 0.501983 vt 0.419309 0.492543 vt 0.430402 0.504732 vt 0.441200 0.507280 vt 0.448311 0.526619 vt 0.450943 0.510965 vt 0.451735 0.500441 vt 0.445532 0.495873 vt 0.433684 0.486644 vt 0.430623 0.476955 vt 0.446329 0.471717 vt 0.447525 0.482609 vt 0.456388 0.475888 vt 0.456711 0.491923 vt 0.468725 0.503458 vt 0.471051 0.526466 vt 0.464330 0.544236 vt 0.444066 0.554941 vt 0.433603 0.559002 vt 0.429246 0.586797 vt 0.423450 0.588956 vt 0.405127 0.588951 vt 0.405127 0.605945 vt 0.382224 0.623455 vt 0.372504 0.653600 vt 0.359769 0.679174 vt 0.334039 0.686500 vt 0.325129 0.716920 vt 0.286122 0.710039 vt 0.315602 0.779154 vt 0.249677 0.759389 vt 0.300417 0.812390 vt 0.215171 0.728435 vt 0.209753 0.687187 vt 0.237218 0.695243 vt 0.405127 0.835847 vt 0.405127 0.797760 vt 0.405127 0.723751 vt 0.405127 0.679288 vt 0.405127 0.655886 vt 0.405127 0.624503 vt 0.428030 0.623455 vt 0.437750 0.653600 vt 0.450485 0.679174 vt 0.476215 0.686500 vt 0.481527 0.656256 vt 0.458611 0.646972 vt 0.444833 0.635526 vt 0.436950 0.616429 vt 0.428931 0.602592 vt 0.437807 0.595324 vt 0.446708 0.589018 vt 0.445093 0.581317 vt 0.464500 0.572640 vt 0.473920 0.566629 vt 0.498656 0.557014 vt 0.493904 0.531790 vt 0.479471 0.508030 vt 0.479363 0.473759 vt 0.467370 0.453415 vt 0.448040 0.454506 vt 0.443727 0.457339 vt 0.439947 0.470264 vt 0.427939 0.475142 vt 0.417488 0.474822 vt 0.433247 0.461974 vt 0.418633 0.452490 vt 0.420111 0.445686 vt 0.405127 0.444980 vt 0.390143 0.445686 vt 0.391621 0.452490 vt 0.373580 0.449392 vt 0.391298 0.431325 vt 0.384050 0.423114 vt 0.386915 0.407892 vt 0.359235 0.405571 vt 0.355734 0.398380 vt 0.359326 0.394928 vt 0.369733 0.397524 vt 0.369387 0.400921 vt 0.383279 0.404006 vt 0.398478 0.408213 vt 0.398857 0.422523 vt 0.399155 0.431304 vt 0.405127 0.433345 vt 0.405127 0.423985 vt 0.405127 0.407034 vt 0.397676 0.402831 vt 0.393368 0.398991 vt 0.405127 0.400167 vt 0.405127 0.402720 vt 0.412578 0.402831 vt 0.411776 0.408213 vt 0.426975 0.404006 vt 0.423339 0.407892 vt 0.440867 0.400921 vt 0.451019 0.405571 vt 0.454423 0.414709 vt 0.426203 0.423114 vt 0.411397 0.422523 vt 0.411099 0.431304 vt 0.418956 0.431325 vt 0.436674 0.449392 vt 0.439901 0.432746 vt 0.459223 0.431595 vt 0.473146 0.403279 vt 0.469479 0.397395 vt 0.454520 0.398380 vt 0.440521 0.397524 vt 0.430028 0.398789 vt 0.416886 0.398991 vt 0.450928 0.394928 vt 0.465416 0.394495 vt 0.481283 0.397752 vt 0.478639 0.425606 vt 0.480569 0.450215 vt 0.528152 0.460096 vt 0.490768 0.473594 vt 0.515091 0.506614 vt 0.528921 0.532432 vt 0.531766 0.558604 vt 0.523843 0.571665 vt 0.501106 0.569129 vt 0.497710 0.576813 vt 0.478381 0.581089 vt 0.475372 0.572758 vt 0.472537 0.582903 vt 0.466822 0.579509 vt 0.465149 0.583763 vt 0.455411 0.583449 vt 0.467017 0.590361 vt 0.464246 0.592191 vt 0.472468 0.598813 vt 0.470428 0.599338 vt 0.450135 0.599332 vt 0.443918 0.604890 vt 0.445905 0.628777 vt 0.466082 0.639021 vt 0.485283 0.638284 vt 0.519437 0.653012 vt 0.517460 0.685736 vt 0.485125 0.716920 vt 0.494652 0.779154 vt 0.560577 0.759389 vt 0.524132 0.710039 vt 0.549921 0.675708 vt 0.541646 0.646629 vt 0.536918 0.636653 vt 0.517581 0.637940 vt 0.519975 0.623391 vt 0.495044 0.622191 vt 0.470240 0.614149 vt 0.465409 0.628314 vt 0.451444 0.615083 vt 0.456935 0.606522 vt 0.473276 0.605909 vt 0.474772 0.603252 vt 0.493566 0.613863 vt 0.520115 0.613995 vt 0.493721 0.611082 vt 0.494114 0.608927 vt 0.476647 0.601669 vt 0.479155 0.597283 vt 0.506202 0.605893 vt 0.497383 0.588654 vt 0.471032 0.588442 vt 0.472175 0.584338 vt 0.478039 0.583129 vt 0.496491 0.579948 vt 0.522186 0.576955 vt 0.533391 0.574078 vt 0.543704 0.581086 vt 0.531444 0.580586 vt 0.540217 0.587083 vt 0.533577 0.590512 vt 0.527259 0.585083 vt 0.524561 0.591373 vt 0.540739 0.597364 vt 0.526840 0.603627 vt 0.519756 0.581717 vt 0.528815 0.605477 vt 0.518800 0.609479 vt 0.520093 0.612387 vt 0.531066 0.612270 vt 0.536550 0.614914 vt 0.552607 0.612751 vt 0.550027 0.607622 vt 0.544135 0.606951 vt 0.531285 0.611207 vt 0.540445 0.602154 vt 0.551247 0.602325 vt 0.553240 0.600137 vt 0.565640 0.621006 vt 0.560690 0.633157 vt 0.577852 0.661889 vt 0.600501 0.687187 vt 0.573036 0.695243 vt 0.595083 0.728435 vt 0.608629 0.645823 vt 0.585607 0.610433 vt 0.565350 0.603608 vt 0.564819 0.595082 vt 0.554393 0.590335 vt 0.546986 0.594784 vt 0.548717 0.599084 vt 0.551039 0.563214 vt 0.550095 0.531411 vt 0.543114 0.513788 vt 0.525278 0.487724 vt 0.531109 0.428760 vt 0.528878 0.405341 vt 0.492624 0.386312 vt 0.477497 0.386732 vt 0.495357 0.359273 vt 0.524910 0.388313 vt 0.564711 0.572348 vt 0.585938 0.583590 vt 0.380226 0.398789 vt 0.344838 0.394495 vt 0.345707 0.392787 vt 0.351277 0.391891 vt 0.359184 0.393931 vt 0.371932 0.393909 vt 0.389543 0.394456 vt 0.381068 0.397824 vt 0.405127 0.398458 vt 0.405127 0.393618 vt 0.405127 0.388623 vt 0.418597 0.386501 vt 0.420711 0.394456 vt 0.429186 0.397824 vt 0.438322 0.393909 vt 0.435856 0.387817 vt 0.416907 0.372913 vt 0.260227 0.607622 vt 0.266119 0.606951 vt 0.259007 0.602325 vt 0.279188 0.612270 vt 0.273704 0.614914 vt 0.290139 0.613995 vt 0.269809 0.602154 vt 0.261537 0.599084 vt 0.269515 0.597364 vt 0.276677 0.590512 vt 0.282995 0.585083 vt 0.282102 0.460096 vt 0.331615 0.425606 vt 0.329685 0.450215 vt 0.284976 0.487724 vt 0.267140 0.513788 vt 0.033023 0.595633 vt 0.045458 0.532708 vt 0.050872 0.562686 vt 0.787811 0.671177 vt 0.776862 0.595633 vt 0.727732 0.645539 vt 0.058947 0.578461 vt 0.082153 0.645539 vt 0.083907 0.579485 vt 0.069348 0.591295 vt 0.082457 0.707687 vt 0.727428 0.707687 vt 0.405126 0.210991 vt 0.298160 0.228479 vt 1.943993 110.732338 vt 1.542073 110.982864 vt 1.456450 110.901825 vt 2.649404 99.925919 vt 2.677207 100.186661 vt 2.388169 99.776688 vn 0.945372 0.300211 0.126926 vn 0.794275 0.212683 0.569079 vn 0.792047 0.184729 0.581805 vn 0.951781 0.291086 0.096561 vn 0.863002 0.371380 -0.342418 vn 0.838313 0.329997 -0.433943 vn 0.638417 0.432508 -0.636647 vn 0.540574 0.354747 -0.762810 vn 0.326823 0.450911 -0.830561 vn 0.677389 0.266579 -0.685598 vn 0.927885 0.240638 -0.284768 vn 0.967528 0.191107 0.165349 vn 0.838099 0.132511 0.529130 vn 0.522813 0.159307 0.837397 vn 0.465560 0.142491 0.873440 vn 0.497147 0.127506 0.858211 vn 0.145054 0.104831 0.983825 vn 0.178381 0.070467 0.981414 vn -0.100925 0.009674 0.994842 vn 0.167150 -0.021027 0.985687 vn -0.038057 -0.060884 0.997406 vn -0.297037 -0.083651 0.951170 vn -0.296487 -0.036103 0.954344 vn -0.573412 -0.019776 0.818995 vn -0.641072 0.042177 0.766289 vn -0.586840 0.018952 0.809442 vn -0.905637 -0.044160 0.421705 vn -0.887265 0.081393 0.453993 vn -0.996979 0.042146 0.064852 vn -0.891903 0.089084 0.443342 vn -0.991882 0.126560 0.009980 vn -0.932035 -0.031190 -0.360942 vn -0.897183 0.072420 -0.435652 vn -0.617725 -0.160161 -0.769860 vn -0.533006 -0.018647 -0.845882 vn -0.108921 -0.217566 -0.969939 vn -0.525864 -0.190191 -0.829005 vn -0.097476 -0.252571 -0.962645 vn -0.558733 -0.166387 -0.812464 vn -0.154546 -0.243721 -0.957427 vn -0.531083 -0.200629 -0.823206 vn -0.197821 -0.159368 -0.967162 vn -0.252388 -0.130589 -0.958739 vn -0.006287 -0.000519 -0.999969 vn 0.001007 0.299539 -0.954070 vn 0.051149 0.367077 -0.928770 vn -0.097964 0.791833 -0.602802 vn -0.207801 0.817560 -0.537004 vn 0.034394 0.470565 -0.881649 vn 0.113132 0.373272 -0.920774 vn 0.138890 0.430372 -0.891873 vn 0.138127 0.415845 -0.898862 vn 0.183599 0.466659 -0.865139 vn 0.368542 0.495163 -0.786737 vn 0.117985 0.315104 -0.941679 vn 0.567888 0.330546 -0.753777 vn 0.456252 0.033723 -0.889187 vn 0.887082 0.121952 -0.445174 vn 0.109409 -0.080966 -0.990661 vn -0.242409 -0.073000 -0.967406 vn -0.369243 0.388104 -0.844386 vn -0.121158 0.545762 -0.829096 vn -0.514573 0.764122 -0.388928 vn -0.343760 0.934965 0.087313 vn -0.278237 0.959899 0.033662 vn -0.194769 0.815210 -0.545396 vn -0.132511 0.271279 -0.953307 vn -0.349834 -0.266274 -0.898160 vn -0.846767 0.058992 -0.528672 vn -0.925596 -0.056063 -0.374310 vn -0.910154 -0.102420 -0.401379 vn -0.914548 -0.099429 -0.392041 vn -0.996582 -0.077212 0.029237 vn -0.960601 -0.162267 0.225532 vn -0.788751 -0.268990 0.552721 vn -0.514603 -0.467055 0.719016 vn -0.326853 -0.007477 0.945006 vn -0.038759 -0.065920 0.997040 vn 0.208075 -0.046480 0.976989 vn 0.446822 0.038728 0.893765 vn 0.490829 0.076449 0.867855 vn 0.825556 0.186468 0.532579 vn 0.808588 0.124790 0.574938 vn 0.784845 0.091586 0.612842 vn 0.513688 0.047334 0.856655 vn 0.466536 -0.062532 0.882260 vn 0.223060 -0.041932 0.973876 vn -0.056429 -0.009888 0.998352 vn -0.268746 -0.376965 0.886349 vn -0.144902 -0.606952 0.781396 vn -0.064119 -0.583697 0.809412 vn -0.076754 -0.046327 0.995941 vn -0.059145 -0.145695 0.987548 vn -0.384350 -0.106174 0.917051 vn -0.498672 -0.602008 0.623585 vn -0.768059 -0.151677 0.622120 vn -0.794916 -0.468673 0.385235 vn -0.986908 -0.117618 0.110294 vn -0.999603 -0.001099 -0.027802 vn -0.994598 -0.089297 -0.052736 vn -0.864681 0.460280 -0.201056 vn -0.920804 0.146062 -0.361614 vn -0.990417 0.078066 0.113742 vn -0.936491 0.109104 0.333232 vn -0.933531 -0.208716 0.291391 vn -0.623280 0.287240 0.727287 vn -0.331156 0.303781 0.893307 vn 0.003113 0.303171 0.952910 vn 0.177007 0.334697 0.925535 vn -0.052736 0.413923 0.908780 vn -0.284555 0.379254 0.880428 vn -0.127903 0.287179 0.949278 vn -0.136204 -0.211768 0.967772 vn -0.037690 -0.655080 0.754570 vn 0.125034 -0.385876 0.913999 vn 0.303415 -0.539354 0.785485 vn 0.230140 -0.726768 0.647145 vn 0.523606 -0.660909 0.537584 vn 0.543229 -0.370464 0.753410 vn 0.168218 -0.248512 0.953887 vn 0.189673 0.206000 0.959990 vn 0.497055 0.132878 0.857448 vn 0.848476 -0.097995 0.520035 vn 0.754997 -0.442854 0.483505 vn 0.888760 -0.324870 0.323283 vn 0.954344 -0.140110 0.263771 vn 0.776360 0.212439 0.593371 vn 0.822993 0.186468 0.536515 vn 0.837886 -0.486373 0.247627 vn 0.888089 -0.141057 0.437452 vn 0.563402 -0.596515 0.571581 vn 0.772271 -0.127506 0.622333 vn 0.666524 -0.038453 0.744469 vn 0.633320 -0.329417 0.700247 vn 0.116855 -0.730277 0.673025 vn 0.650105 -0.722373 0.235511 vn 0.961638 -0.259499 0.088778 vn 0.965453 -0.176458 0.191565 vn 0.809259 -0.371685 0.454848 vn 0.549669 -0.443922 0.707633 vn -0.057588 -0.271554 0.960662 vn 0.776116 -0.126835 0.617664 vn 0.974029 -0.006745 0.226203 vn 0.942503 -0.258644 0.211585 vn 0.947172 -0.272744 0.168706 vn 0.945647 -0.261483 -0.193213 vn 0.985748 -0.060701 0.156774 vn 0.903623 -0.149754 -0.401257 vn -0.051576 0.098575 -0.993774 vn -0.945708 -0.255837 -0.200323 vn -0.653493 0.034639 -0.756127 vn -0.721549 0.101657 -0.684835 vn -0.921201 -0.334605 -0.198401 vn -0.532395 -0.574908 -0.621265 vn -0.435804 -0.880154 -0.187964 vn 0.400861 -0.753044 -0.521683 vn 0.134190 -0.913633 0.383679 vn 0.688009 -0.678915 0.256264 vn 0.522233 -0.467696 0.713065 vn 0.909391 0.029786 0.414808 vn 0.914945 0.224219 0.335551 vn 0.823908 0.523240 -0.217627 vn 0.613727 0.773003 -0.160588 vn 0.263955 0.620136 -0.738731 vn 0.379955 0.595080 -0.708121 vn 0.847438 0.469344 -0.247993 vn 0.938353 -0.339000 -0.067263 vn 0.855403 -0.242531 -0.457625 vn 0.658467 0.048921 -0.750999 vn 0.138859 0.019868 -0.990112 vn -0.249794 -0.225745 -0.941588 vn -0.190344 0.477554 -0.857692 vn 0.344493 0.617206 -0.707358 vn -0.214667 0.412793 -0.885128 vn -0.099887 0.407025 -0.907926 vn 0.120518 0.683309 -0.720084 vn 0.297617 0.944639 -0.137944 vn 0.067171 0.554613 -0.829371 vn -0.080630 0.302316 -0.949767 vn 0.116794 0.032289 -0.992615 vn 0.268990 -0.202094 -0.941679 vn 0.593463 -0.308176 -0.743461 vn 0.647725 -0.304117 -0.698508 vn 0.917051 -0.335215 -0.215888 vn 0.940306 -0.258675 -0.221137 vn 0.972411 -0.091037 -0.214698 vn 0.977325 0.145482 0.153722 vn 0.944487 0.087008 -0.316813 vn 0.746055 -0.232704 -0.623859 vn 0.657186 -0.322184 -0.681356 vn 0.240486 -0.283059 -0.928434 vn 0.262917 -0.249977 -0.931852 vn 0.641407 -0.024049 -0.766808 vn 0.312784 0.007721 -0.949767 vn 0.201117 0.387158 -0.899777 vn 0.010498 0.411176 -0.911466 vn 0.298196 0.244087 -0.922758 vn 0.684286 0.103732 -0.721763 vn 0.919462 0.107517 -0.378185 vn 0.986541 0.124393 0.106052 vn 0.846004 0.127659 0.517624 vn 0.543443 0.130741 0.829157 vn 0.152684 0.137577 0.978637 vn 0.149449 0.136509 0.979278 vn 0.134281 0.093234 0.986541 vn -0.129490 0.064638 0.989441 vn -0.130161 0.061617 0.989563 vn -0.323222 0.066744 0.943937 vn -0.351604 0.009919 0.936064 vn -0.601459 -0.018647 0.798669 vn -0.904935 0.062227 0.420911 vn -0.889981 0.072970 0.450087 vn -0.622272 0.077151 0.778954 vn -0.886746 0.109317 0.449110 vn -0.567156 0.077425 0.819941 vn -0.644765 0.046937 0.762902 vn -0.915891 0.084078 0.392499 vn -0.682485 0.028291 0.730308 vn -0.926695 0.061678 0.370647 vn -0.776330 0.036073 0.629261 vn -0.955504 0.055239 0.289651 vn -0.965972 0.090762 0.242164 vn -0.721519 0.087069 0.686850 vn -0.820887 0.103916 0.561510 vn -0.972961 0.122288 0.195929 vn -0.979888 0.113620 -0.163945 vn -0.982879 0.087497 -0.161992 vn -0.992309 0.073763 -0.099338 vn -0.993469 0.107273 -0.038087 vn -0.991760 0.127262 -0.013184 vn -0.989868 0.135594 0.041688 vn -0.991089 0.129490 0.030793 vn -0.991852 0.126652 -0.011383 vn -0.835963 0.195227 -0.512833 vn -0.889065 0.212531 -0.405377 vn -0.923368 0.186285 -0.335673 vn -0.882046 0.177465 -0.436415 vn -0.873806 0.129093 -0.468764 vn -0.840877 0.104282 -0.531053 vn -0.875576 0.123142 -0.467086 vn -0.788324 0.134831 -0.600269 vn -0.473403 0.163305 -0.865566 vn -0.462966 0.185339 -0.866756 vn -0.017884 0.226875 -0.973754 vn 0.090701 0.170049 -0.981231 vn 0.357006 0.172674 -0.917966 vn 0.316904 0.124027 -0.940275 vn 0.350108 0.094577 -0.931913 vn 0.232887 0.008576 -0.972442 vn 0.209998 -0.031495 -0.977172 vn 0.198798 -0.035554 -0.979369 vn 0.195532 -0.038179 -0.979919 vn 0.124454 0.079836 -0.988983 vn 0.281045 -0.044008 -0.958678 vn 0.324198 0.088565 -0.941801 vn 0.051424 0.239631 -0.969481 vn 0.644002 -0.019776 -0.764763 vn 0.922086 0.032716 -0.385571 vn 0.994324 0.085177 0.063631 vn 0.887600 0.105960 0.448195 vn 0.602405 0.113834 0.790002 vn 0.210700 0.120640 0.970061 vn -0.144780 0.131260 0.980712 vn -0.116825 0.131230 0.984436 vn -0.164281 0.073794 0.983642 vn -0.306681 0.060610 0.949858 vn -0.346843 0.038453 0.937101 vn -0.400189 0.038392 0.915616 vn -0.489181 0.054323 0.870479 vn -0.515549 0.098209 0.851192 vn -0.591571 0.093051 0.800836 vn -0.481613 0.170354 0.859645 vn -0.400128 0.112033 0.909574 vn -0.336924 0.090365 0.937162 vn -0.286019 0.066836 0.955870 vn -0.263741 0.099033 0.959471 vn -0.316202 0.117649 0.941343 vn -0.386364 0.167119 0.907041 vn -0.407361 0.234779 0.882534 vn -0.209174 0.191107 0.959014 vn -0.143040 0.158361 0.976959 vn 0.196570 0.153050 0.968444 vn 0.188482 0.170293 0.967193 vn 0.484787 0.138554 0.863582 vn 0.614277 0.138859 0.776757 vn 0.872646 0.096255 0.478713 vn 0.998321 0.054140 0.019684 vn 0.900601 0.010010 -0.434523 vn 0.998169 0.050996 -0.032350 vn 0.998596 0.049074 0.019196 vn 0.883511 0.083926 0.460799 vn 0.928434 0.038697 -0.369427 vn 0.662282 0.046052 -0.747795 vn 0.652882 -0.025849 -0.756981 vn 0.349406 -0.025941 -0.936583 vn 0.316233 0.091067 -0.944273 vn 0.424055 0.112857 -0.898556 vn 0.679525 0.082736 -0.728935 vn 0.882931 0.055300 -0.466201 vn 0.245582 0.156987 -0.956542 vn 0.264077 0.091342 -0.960143 vn 0.218909 -0.029420 -0.975280 vn 0.364025 0.164556 -0.916715 vn -0.221717 0.266732 -0.937895 vn -0.187628 0.167058 -0.967895 vn -0.050111 0.040071 -0.997925 vn 0.130955 -0.014893 -0.991272 vn -0.057283 0.095492 -0.993774 vn -0.501144 0.129154 -0.855647 vn -0.514939 0.107089 -0.850490 vn -0.587817 0.192511 -0.785730 vn -0.628864 0.246742 -0.737297 vn -0.639607 0.308115 -0.704215 vn -0.506088 0.261940 -0.821711 vn -0.188726 -0.002350 -0.981994 vn -0.156621 0.347179 -0.924589 vn 0.067995 -0.003540 -0.997650 vn 0.024415 0.352336 -0.935514 vn 0.081149 -0.204657 -0.975433 vn 0.077364 -0.245308 -0.966338 vn 0.072970 -0.276864 -0.958098 vn 0.270089 -0.290109 -0.918058 vn 0.079470 -0.175024 -0.981323 vn 0.088839 0.055330 -0.994476 vn 0.148350 0.437696 -0.886776 vn 0.293100 0.900540 -0.321055 vn 0.436964 0.856166 0.275674 vn 0.446638 0.784082 -0.430891 vn 0.728111 0.622974 -0.285836 vn 0.919401 0.287912 -0.267830 vn 0.999603 0.015656 0.022340 vn -0.764611 -0.074953 -0.640095 vn -0.814478 0.403760 -0.416639 vn -0.658742 0.744957 0.105228 vn -0.306742 0.781213 0.543687 vn -0.285592 0.830195 0.478713 vn -0.361095 0.932340 -0.018006 vn -0.498489 0.563189 -0.658986 vn -0.063173 0.137883 -0.988403 vn 0.160894 -0.314737 -0.935423 vn 0.481338 0.756096 -0.443373 vn 0.647328 -0.053133 -0.760338 vn 0.999786 -0.003052 -0.019105 vn 0.689352 0.559130 0.460555 vn -0.433241 0.901242 -0.002686 vn 0.375927 0.119419 0.918882 vn 0.413709 -0.117466 0.902768 vn -0.501053 -0.211005 0.839259 vn -0.659505 0.001679 0.751671 vn -0.910184 -0.014588 0.413923 vn -0.879421 -0.063417 0.471786 vn -0.441664 -0.563158 0.698386 vn -0.806207 -0.567186 0.168126 vn -0.157659 -0.979736 -0.123508 vn 0.334330 -0.724815 0.602344 vn 0.859523 0.071139 0.506088 vn 0.992492 -0.021821 -0.120182 vn 0.651784 -0.035737 -0.757530 vn 0.697562 -0.633778 -0.334208 vn 0.685446 -0.701315 0.195624 vn 0.435835 -0.543596 -0.717277 vn -0.116337 -0.500595 -0.857814 vn -0.470260 -0.625507 -0.622517 vn -0.778802 -0.516465 -0.355907 vn -0.983764 0.031495 -0.176580 vn -0.951201 0.212439 -0.223670 vn -0.847255 0.294198 0.442244 vn -0.695822 0.189947 0.692587 vn -0.749535 -0.101871 0.654042 vn -0.832179 0.141331 0.536149 vn -0.815516 0.308054 0.489883 vn -0.816889 0.367351 0.444624 vn -0.548051 0.551256 0.629078 vn -0.458357 0.621509 0.635273 vn -0.272896 0.574145 0.771905 vn 0.054323 0.577258 0.814722 vn 0.158238 0.542589 0.824915 vn -0.025788 0.575030 0.817682 vn -0.211982 0.579241 0.787072 vn -0.109897 0.588336 0.801080 vn 0.219642 0.515610 0.828181 vn 0.514267 0.452345 0.728599 vn 0.482955 0.532884 0.694784 vn 0.543107 0.522660 0.657125 vn 0.246223 0.641377 0.726615 vn 0.207953 0.648061 0.732627 vn 0.005799 0.664388 0.747337 vn 0.109043 0.630024 0.768853 vn 0.401837 0.685812 0.606739 vn 0.085330 0.607105 0.790002 vn 0.301187 0.401563 0.864864 vn -0.035005 0.578082 0.815210 vn 0.051973 0.349864 0.935331 vn 0.290902 0.015870 0.956603 vn 0.114170 -0.008850 0.993408 vn 0.295297 -0.518082 0.802728 vn -0.071535 -0.457625 0.886227 vn 0.467238 -0.262459 0.844234 vn 0.771844 0.100711 0.627735 vn 0.669485 0.447371 0.592944 vn 0.828974 0.514817 0.218451 vn 0.541307 0.825739 0.158391 vn 0.487197 0.617115 0.617847 vn 0.742790 0.253578 0.619587 vn 0.564470 0.389111 0.727958 vn 0.731803 0.533891 0.423505 vn 0.435224 0.812830 0.387097 vn 0.966002 0.186865 0.178564 vn 0.859859 -0.132939 0.492874 vn -0.955260 -0.206885 -0.211310 vn -0.956877 0.290139 0.011719 vn -0.837764 0.254524 0.483047 vn -0.605518 0.649342 0.460036 vn -0.357646 0.502670 0.787011 vn -0.463149 0.067324 0.883694 vn -0.171789 0.390393 0.904447 vn -0.018647 0.576403 0.816919 vn -0.111728 0.626026 0.771722 vn -0.132847 0.651631 0.746788 vn -0.211035 0.680837 0.701346 vn -0.376751 0.628895 0.680074 vn -0.533860 0.457411 0.711112 vn -0.483108 0.738639 0.470046 vn -0.720115 0.689077 -0.081149 vn -0.592639 0.165990 -0.788171 vn -0.521897 0.060427 -0.850856 vn 0.162633 0.043703 -0.985687 vn 0.019349 0.028260 -0.999390 vn -0.201941 0.693167 0.691885 vn -0.027680 0.667196 0.744346 vn 0.042787 0.618397 0.784661 vn 0.051668 0.611347 0.789666 vn -0.029298 0.563250 0.825739 vn -0.023072 0.598254 0.800928 vn -0.089175 0.625965 0.774712 vn -0.078677 0.630940 0.771813 vn -0.074526 0.281747 0.956572 vn -0.305368 0.011475 0.952147 vn -0.370342 -0.601489 0.707816 vn -0.601428 -0.371868 0.707053 vn -0.907285 -0.321818 0.270547 vn -0.101566 -0.033082 0.994263 vn -0.311899 0.387799 -0.867336 vn -0.550798 -0.763329 0.337474 vn 0.738182 -0.323069 -0.592151 vn 0.319590 -0.324961 -0.890072 vn 0.939940 -0.267403 -0.212012 vn 0.870724 -0.448805 -0.200964 vn 0.887204 -0.352306 -0.297769 vn 0.623127 -0.411451 -0.665120 vn 0.704001 -0.262185 -0.660024 vn 0.942625 -0.197851 -0.268777 vn 0.850459 0.009705 -0.525925 vn 0.382763 -0.027833 -0.923399 vn 0.336558 -0.307962 -0.889859 vn 0.403211 -0.406995 -0.819605 vn 0.134556 -0.426923 -0.894192 vn 0.129612 -0.348064 -0.928434 vn -0.065279 -0.389111 -0.918851 vn -0.509415 -0.493179 -0.705130 vn 0.053774 -0.954711 0.292581 vn 0.425306 -0.892300 0.151189 vn 0.108188 -0.991974 -0.065157 vn 0.564226 -0.822810 0.067782 vn 0.359355 -0.913236 0.191931 vn 0.599475 -0.629139 0.494736 vn 0.737297 -0.570147 0.362377 vn 0.743309 -0.591083 0.313150 vn 0.709189 -0.700919 0.075594 vn 0.816919 -0.450942 0.359478 vn 0.848201 -0.521958 0.089785 vn 0.854885 -0.401288 0.328745 vn 0.894498 -0.439100 0.083895 vn 0.926176 -0.267251 0.265999 vn 0.957091 -0.279641 0.075594 vn 0.953734 -0.231941 0.191260 vn 0.943999 -0.136845 0.300150 vn 0.902676 -0.162450 0.398450 vn 0.735221 -0.438215 0.517075 vn 0.792993 -0.173528 0.583941 vn 0.742607 -0.101474 0.661946 vn 0.953093 -0.100009 0.285653 vn 0.654530 -0.093051 0.750237 vn 0.743675 -0.274422 0.609577 vn 0.687490 -0.333934 0.644795 vn -0.002350 -0.910947 0.412427 vn 0.009919 -0.980041 -0.198401 vn -0.187933 -0.818110 -0.543443 vn 0.638142 -0.759117 0.128300 vn 0.825495 -0.564379 -0.001495 vn 0.901151 -0.383740 0.201575 vn 0.717978 -0.079440 0.691488 vn 0.804712 -0.019288 0.593310 vn 0.659993 -0.087588 0.746117 vn 0.770135 -0.194189 0.607532 vn 0.865963 -0.187445 0.463607 vn 0.810205 -0.357158 0.464736 vn 0.856960 -0.227119 0.462600 vn 0.790796 -0.180029 0.584979 vn 0.932035 0.358684 0.051210 vn 0.782037 0.584796 0.215400 vn 0.108463 0.749260 -0.653310 vn 0.292215 0.362316 -0.885037 vn 0.195227 0.484878 -0.852504 vn 0.387829 -0.078372 -0.918363 vn 0.989410 0.144261 0.014649 vn 0.761467 0.022065 0.647786 vn 0.985961 -0.111515 -0.124088 vn 0.858425 -0.454207 -0.238289 vn 0.391949 -0.524949 -0.755486 vn 0.285440 -0.597339 -0.749443 vn 0.729392 -0.640187 -0.241066 vn 0.928404 -0.357006 0.102756 vn 0.900845 -0.432905 0.032502 vn 0.825861 -0.561663 -0.049654 vn 0.754082 -0.652608 -0.073519 vn 0.648030 -0.706992 0.283151 vn 0.937101 -0.294992 0.186468 vn 0.969207 -0.245399 -0.020081 vn 0.923826 -0.380963 -0.036805 vn 0.880032 -0.457106 -0.128605 vn 0.568255 -0.412458 -0.711966 vn 0.634968 -0.212348 -0.742759 vn 0.998596 0.052614 0.004700 vn 0.928068 0.112156 -0.355083 vn 0.511856 0.081057 -0.855220 vn 0.095523 0.053316 -0.993988 vn 0.108737 -0.078982 -0.990905 vn 0.124088 -0.262520 -0.956877 vn -0.083956 -0.351024 -0.932585 vn -0.141972 -0.462813 -0.874996 vn -0.382794 -0.514420 -0.767327 vn -0.491317 -0.384564 -0.781457 vn -0.721091 -0.516984 -0.461196 vn -0.705191 -0.610157 -0.361095 vn -0.777459 -0.493362 -0.390027 vn -0.522111 -0.845180 0.114017 vn -0.248268 -0.966918 0.058321 vn -0.389660 -0.920469 -0.029115 vn -0.199713 -0.970489 0.135105 vn 0.080996 -0.978637 0.188910 vn 0.282449 -0.748070 0.600482 vn 0.476089 -0.248268 0.843593 vn 0.230354 -0.305063 0.924009 vn 0.194281 0.008789 0.980895 vn -0.093387 -0.072878 0.992950 vn -0.067232 -0.290384 0.954527 vn -0.383374 -0.050325 0.922208 vn -0.271920 -0.536851 0.798608 vn 0.045656 -0.892117 0.449446 vn 0.209571 -0.487564 0.847530 vn 0.267708 -0.842769 0.466903 vn 0.426618 -0.391430 0.815332 vn 0.572039 -0.619465 0.537553 vn 0.467696 -0.426008 0.774438 vn 0.687216 -0.137516 0.713309 vn 0.596728 -0.214789 0.773125 vn 0.698996 0.060396 0.712546 vn 0.427534 0.258309 0.866268 vn 0.586535 0.397626 0.705557 vn 0.565905 0.087039 0.819819 vn 0.401898 0.360912 0.841517 vn 0.379254 0.488052 0.786065 vn 0.067507 -0.402783 0.912778 vn 0.253761 -0.080905 0.963866 vn 0.353465 -0.221015 0.908933 vn 0.409497 -0.230598 0.882656 vn 0.483077 -0.133946 0.865230 vn 0.403821 -0.008850 0.914762 vn 0.678274 -0.240089 0.694418 vn 0.747368 -0.299753 0.592914 vn 0.778680 -0.340251 0.527116 vn 0.799829 -0.397351 0.449782 vn 0.832545 -0.248970 0.494797 vn 0.847285 -0.181555 0.499069 vn 0.931333 -0.113590 0.345958 vn 0.754540 -0.143071 0.640431 vn 0.801843 -0.027345 0.596881 vn 0.800684 0.109684 0.588916 vn 0.935087 -0.005463 0.354350 vn 0.840175 0.178228 0.512162 vn 0.896176 0.064028 0.438978 vn 0.863399 0.011811 0.504349 vn 0.902005 0.003754 0.431654 vn 0.924131 0.016816 0.381634 vn 0.915494 0.043794 0.399884 vn 0.945921 0.046968 0.320902 vn 0.941618 0.118809 0.315012 vn 0.983490 0.150517 0.100284 vn -0.261940 0.902615 -0.341502 vn 0.202429 0.746788 0.633473 vn 0.764580 -0.013184 0.644368 vn 0.891354 -0.115848 0.438185 vn 0.798486 -0.048372 0.600024 vn 0.006623 0.258370 0.966002 vn 0.614582 0.193609 0.764702 vn 0.649129 0.548967 0.526505 vn 0.011963 0.989654 -0.142827 vn 0.290536 -0.512680 -0.807886 vn 0.899564 -0.435286 0.035371 vn 0.849666 -0.479904 0.218390 vn -0.178442 0.901273 0.394757 vn -0.548845 0.713401 0.435591 vn 0.993255 -0.108066 0.041566 vn 0.894406 -0.399030 0.201972 vn 0.918424 -0.293283 0.265450 vn 0.888607 0.115177 0.443892 vn 0.876400 0.112094 0.468307 vn 0.752678 0.330241 0.569536 vn 0.714408 0.387799 0.582385 vn 0.469039 0.614307 0.634480 vn 0.296945 0.600238 0.742637 vn 0.184027 0.753868 0.630696 vn 0.182257 0.778436 0.600665 vn 0.484390 0.648946 0.586657 vn -0.142491 0.743950 0.652852 vn -0.140843 0.807794 0.572375 vn -0.450545 0.713614 0.536363 vn -0.453291 0.688589 0.565966 vn -0.699454 0.494675 0.515763 vn -0.711600 0.526505 0.465163 vn -0.878994 0.224647 0.420515 vn -0.901608 0.160863 0.401440 vn -0.963866 -0.074465 0.255715 vn -0.956389 -0.075533 0.282113 vn -0.966582 -0.148869 0.208655 vn -0.951933 -0.186041 0.243294 vn -0.965819 -0.176641 0.189642 vn -0.959899 -0.125980 0.250404 vn -0.966399 -0.200140 0.161168 vn -0.919004 -0.301187 0.254250 vn -0.912595 -0.348308 0.214026 vn -0.875668 -0.219764 0.429914 vn -0.842097 -0.340953 0.417829 vn -0.939360 -0.305918 -0.154759 vn -0.818110 -0.574358 0.028016 vn -0.951048 -0.294931 0.092196 vn -0.874966 -0.476913 0.083254 vn -0.885342 -0.366741 0.285684 vn -0.764031 -0.233375 0.601428 vn -0.810419 -0.235908 0.536210 vn -0.886135 -0.192419 0.421522 vn -0.827570 -0.560717 0.025941 vn -0.684866 -0.612232 -0.395123 vn -0.120273 -0.577380 -0.807520 vn -0.678335 -0.718345 -0.154241 vn -0.004791 -0.627064 -0.778924 vn -0.320627 -0.503464 -0.802301 vn -0.523240 -0.768456 -0.368358 vn -0.726859 -0.621632 -0.291879 vn -0.802423 -0.557726 -0.212165 vn -0.851924 -0.477798 -0.214179 vn -0.848964 -0.527879 -0.024171 vn -0.744102 -0.667257 0.032411 vn -0.577776 -0.788995 -0.208838 vn -0.554735 -0.830317 -0.052797 vn -0.656789 -0.734428 0.170904 vn -0.664998 -0.713706 0.219886 vn -0.547319 -0.746544 0.378216 vn -0.740715 -0.385388 0.550249 vn -0.574786 -0.355876 0.736839 vn -0.240394 -0.801599 0.547380 vn 0.036988 -0.862362 0.504929 vn -0.037141 -0.497269 0.866787 vn -0.343699 -0.363842 0.865688 vn -0.567675 -0.108310 0.816065 vn -0.608753 -0.245735 0.754326 vn -0.774804 -0.455611 0.438246 vn -0.764733 -0.612903 0.198767 vn -0.726829 -0.683218 -0.070193 vn -0.804987 -0.571245 0.160100 vn -0.783593 -0.500198 0.368389 vn -0.630268 -0.350383 0.692770 vn -0.522263 -0.325968 0.787988 vn -0.475661 -0.305918 0.824702 vn -0.515549 -0.359966 0.777551 vn -0.711722 -0.457503 0.533006 vn -0.707083 -0.374004 0.600085 vn -0.847163 -0.420942 0.324137 vn -0.777062 -0.558824 0.289590 vn -0.887753 -0.452956 0.081698 vn -0.786645 -0.611225 -0.086856 vn -0.669637 -0.714774 -0.201605 vn -0.783746 -0.605365 -0.138615 vn -0.877041 -0.467422 -0.110721 vn -0.906400 -0.422376 0.002289 vn -0.839412 -0.538011 -0.076815 vn -0.782617 -0.607532 -0.135502 vn 0.226539 -0.957884 -0.176397 vn -0.720267 -0.587237 0.369213 vn -0.937834 -0.329508 0.108951 vn -0.875698 -0.357952 0.324015 vn -0.670827 -0.333384 0.662404 vn -0.422254 -0.409680 0.808588 vn -0.258248 -0.299722 0.918393 vn -0.419050 -0.149815 0.895505 vn -0.683218 -0.345866 0.643086 vn -0.492996 -0.485549 0.721885 vn -0.180670 -0.888699 0.421339 vn -0.531480 -0.732444 0.425459 vn -0.517319 -0.526872 0.674337 vn -0.259743 -0.591571 0.763237 vn -0.024445 -0.573565 0.818781 vn -0.340007 0.212165 0.916166 vn -0.642048 0.307199 0.702384 vn -0.773583 -0.287088 0.564867 vn -0.782830 0.257393 0.566454 vn -0.824458 -0.095584 0.557756 vn -0.634358 0.149602 0.758385 vn -0.165624 -0.426649 0.889096 vn -0.190222 -0.831690 0.521592 vn -0.512833 -0.437056 0.738884 vn -0.659108 -0.310221 0.685049 vn -0.617542 -0.153539 0.771386 vn -0.647633 0.064119 0.759209 vn -0.512070 -0.080599 0.855129 vn -0.469863 -0.208167 0.857814 vn -0.640645 -0.213324 0.737571 vn -0.447432 -0.129795 0.884823 vn -0.480178 -0.081362 0.873379 vn -0.463942 -0.013672 0.885739 vn -0.533403 -0.183142 0.825770 vn -0.538285 -0.072237 0.839625 vn -0.488815 0.087588 0.867946 vn -0.544725 0.012085 0.838496 vn -0.407819 0.113742 0.905911 vn -0.557146 -0.074587 0.827021 vn -0.358104 -0.035066 0.933012 vn -0.508133 0.011505 0.861171 vn -0.661031 0.066805 0.747337 vn -0.715659 -0.008515 0.698386 vn -0.709525 -0.101382 0.697317 vn -0.804559 -0.036287 0.592730 vn -0.907285 -0.065157 0.415387 vn -0.727439 -0.008240 0.686117 vn -0.882473 -0.199805 0.425764 vn -0.939451 -0.305124 0.155889 vn -0.822565 -0.304544 0.480209 vn -0.943632 -0.004364 0.330943 vn -0.906949 -0.086428 0.412244 vn -0.786767 -0.265908 0.556993 vn -0.624500 -0.603626 0.495560 vn -0.575884 -0.338023 0.744346 vn -0.624470 0.059236 0.778771 vn -0.542772 0.149968 0.826350 vn -0.359294 -0.088351 0.929014 vn -0.166875 -0.087680 0.982055 vn -0.204077 0.170476 0.963988 vn -0.308115 0.342479 0.887539 vn -0.193732 0.187078 0.963042 vn -0.277749 0.248939 0.927824 vn -0.198981 -0.489547 0.848933 vn -0.218726 -0.606525 0.764367 vn -0.063387 -0.719352 0.691733 vn -0.077303 -0.712638 0.697256 vn -0.033448 -0.769799 0.637379 vn -0.012085 -0.830042 0.557512 vn -0.151891 -0.753960 0.639088 vn -0.095157 -0.940886 0.325053 vn -0.330943 -0.805872 0.490921 vn -0.178991 -0.732749 0.656514 vn -0.224525 -0.676992 0.700888 vn -0.163274 -0.439436 0.883297 vn -0.350688 -0.414686 0.839656 vn -0.338420 -0.361705 0.868679 vn -0.460891 -0.292550 0.837825 vn -0.615711 0.008057 0.787896 vn -0.676534 -0.279336 0.681356 vn -0.867183 -0.016968 0.497665 vn -0.913236 -0.139531 0.382733 vn -0.791070 -0.400464 0.462386 vn -0.876156 -0.275613 0.395398 vn -0.772668 -0.364971 0.519364 vn -0.885830 -0.301492 0.352641 vn -0.930967 -0.171850 0.322062 vn -0.932951 -0.133824 0.334147 vn -0.924986 -0.034242 0.378399 vn -0.847194 0.080691 0.525101 vn -0.602435 0.087710 0.793298 vn -0.405835 -0.000671 0.913938 vn -0.261361 -0.078066 0.962066 vn -0.262795 -0.299142 0.917295 vn -0.254097 -0.694754 0.672811 vn -0.177557 -0.601062 0.779199 vn -0.206305 -0.709677 0.673605 vn -0.192785 -0.591235 0.783105 vn -0.165014 -0.282022 0.945097 vn -0.314493 -0.590320 0.743339 vn -0.351238 -0.640339 0.683035 vn -0.128758 -0.623218 0.771325 vn -0.271828 -0.626301 0.730644 vn -0.513016 -0.732780 0.447005 vn -0.368297 -0.759301 0.536454 vn -0.348674 -0.709861 0.611927 vn -0.634144 -0.642659 0.429914 vn -0.390210 -0.605029 0.693991 vn -0.210700 -0.480911 0.851039 vn -0.581317 -0.188513 0.791498 vn -0.593127 -0.048311 0.803644 vn -0.636067 0.007538 0.771569 vn -0.455000 0.444441 0.771630 vn -0.307474 0.126438 0.943083 vn -0.139348 -0.099246 0.985229 vn -0.048463 -0.037233 0.998108 vn -0.054109 -0.000824 0.998505 vn -0.402448 0.155126 0.902188 vn -0.256142 0.225318 0.940001 vn -0.292550 0.310800 0.904294 vn -0.481979 0.291910 0.826106 vn -0.499405 0.070528 0.863460 vn -0.661184 0.058809 0.747887 vn -0.630757 0.335002 0.699911 vn -0.503708 0.376537 0.777459 vn -0.215827 0.423597 0.879727 vn -0.668264 0.249245 0.700919 vn -0.718406 0.301004 0.627094 vn -0.828059 0.228004 0.512131 vn -0.889615 0.079562 0.449690 vn -0.671407 -0.133213 0.728996 vn -0.818110 -0.016877 0.574786 vn -0.953124 0.159581 0.257027 vn -0.943663 -0.055330 0.326151 vn -0.729789 -0.050661 0.681783 vn -0.708762 -0.613514 0.348155 vn -0.442335 -0.513993 0.734916 vn -0.039430 -0.950530 0.308023 vn -0.280862 -0.918699 0.277627 vn -0.257668 -0.955870 0.140996 vn -0.327219 -0.941496 0.080325 vn -0.429395 -0.828394 0.359600 vn -0.739769 -0.463424 0.487777 vn -0.446699 -0.484542 0.752098 vn -0.577441 -0.028748 0.815882 vn -0.044618 -0.449446 0.892178 vn 0.022919 -0.808130 0.588519 vn 0.025056 -0.816858 0.576281 vn 0.506516 -0.732566 0.454695 vn 0.375988 -0.400281 0.835688 vn 0.705496 -0.315470 0.634602 vn 0.397290 0.071017 0.914914 vn -0.108005 0.071139 0.991577 vn -0.134587 0.427839 0.893765 vn -0.676473 0.280313 0.681021 vn -0.566271 0.468856 0.677816 vn -0.881832 0.221473 0.416242 vn -0.941679 0.154241 0.299020 vn -0.937773 -0.053499 0.343028 vn -0.620411 -0.714133 0.324137 vn -0.902127 0.052919 0.428175 vn -0.671407 0.335185 0.660939 vn -0.736290 0.081027 0.671773 vn -0.587512 -0.395764 0.705802 vn -0.466567 -0.334330 0.818842 vn -0.505173 0.195532 0.840541 vn -0.137852 0.495529 0.857570 vn -0.139988 0.550798 0.822779 vn 0.314219 0.559008 0.767296 vn 0.445235 0.449507 0.774377 vn 0.646626 0.378979 0.661977 vn 0.718619 0.385357 0.578845 vn 0.457106 0.396344 0.796167 vn 0.769494 0.224067 0.598010 vn 0.812830 0.333872 0.477279 vn 0.747887 0.247200 0.616047 vn 0.473556 0.174963 0.863186 vn 0.525651 -0.010651 0.850612 vn 0.673757 0.135838 0.726341 vn 0.831080 0.342265 0.438276 vn 0.842006 0.128697 0.523850 vn 0.673849 -0.581622 0.455611 vn 0.733665 -0.465804 0.494675 vn 0.851405 0.128422 0.508530 vn 0.510514 -0.095462 0.854518 vn 0.574480 0.082827 0.814264 vn 0.303079 -0.001160 0.952940 vn 0.293008 0.151646 0.943968 vn 0.239326 0.365764 0.899380 vn 0.398511 0.440382 0.804498 vn 0.503891 0.426130 0.751305 vn 0.556291 0.213385 0.803095 vn 0.278054 0.275735 0.920133 vn -0.127049 0.303995 0.944151 vn -0.081057 -0.180670 0.980193 vn -0.218421 -0.443403 0.869289 vn -0.196570 -0.125462 0.972411 vn -0.267312 0.087374 0.959624 vn -0.406446 0.135868 0.903470 vn -0.437574 0.120518 0.891049 vn -0.712485 0.084964 0.696493 vn -0.432417 0.278207 0.857662 vn -0.795068 0.161626 0.584582 vn -0.553056 0.513199 0.656270 vn -0.908231 -0.037629 0.416700 vn -0.908963 -0.033937 0.415448 vn -0.860561 0.006226 0.509293 vn -0.138310 0.506485 0.851039 vn -0.128178 0.320719 0.938444 vn -0.120304 0.213080 0.969573 vn -0.111301 0.106815 0.988006 vn -0.094333 -0.064364 0.993439 vn -0.065798 -0.301065 0.951323 vn 0.125431 -0.408185 0.904202 vn 0.020173 -0.103275 0.994446 vn 0.047884 0.119633 0.991638 vn 0.182775 0.196204 0.963347 vn 0.207495 0.062075 0.976257 vn 0.074892 -0.043641 0.996216 vn 0.026734 -0.262398 0.964568 vn 0.272134 -0.530259 0.802942 vn 0.351634 -0.250557 0.901944 vn 0.502487 -0.284158 0.816523 vn 0.437910 -0.084170 0.895047 vn 0.451491 0.363872 0.814661 vn 0.252907 0.453993 0.854335 vn 0.038301 0.344676 0.937925 vn 0.188055 0.174749 0.966460 vn 0.278542 0.166173 0.945921 vn 0.271462 0.061586 0.960448 vn 0.279122 -0.055422 0.958647 vn 0.321726 -0.127110 0.938231 vn 0.337168 0.006317 0.941404 vn 0.381146 -0.429701 0.818567 vn 0.167180 -0.929380 0.329020 vn 0.410810 -0.887417 0.208930 vn 0.486801 -0.858150 0.162999 vn 0.398450 -0.849147 0.346629 vn 0.755638 -0.241615 0.608753 vn 0.455947 -0.270730 0.847804 vn -0.028748 -0.548326 0.835749 vn -0.551805 -0.373913 0.745415 vn -0.797540 -0.400647 0.450972 vn -0.698721 -0.039674 0.714255 vn -0.551866 0.031007 0.833338 vn -0.523179 0.022095 0.851894 vn -0.402448 -0.561205 0.723197 vn -0.439802 -0.699545 0.563189 vn -0.180761 -0.909085 0.375286 vn -0.723502 -0.044923 0.688803 vn -0.094150 -0.935942 0.339305 vn -0.261116 -0.839534 0.476394 vn -0.040895 -0.900662 0.432539 vn -0.191992 -0.529893 0.826014 vn -0.230171 0.032807 0.972564 vn -0.233375 -0.049989 0.971099 vn -0.105960 0.049623 0.993103 vn -0.102908 0.018220 0.994507 vn -0.022309 -0.585772 0.810144 vn -0.123508 -0.906705 0.403241 vn 0.049806 -0.958190 0.281747 vn 0.077425 -0.972839 0.218116 vn 0.047914 -0.899411 0.434462 vn 0.220099 -0.871517 0.438154 vn 0.126072 -0.497330 0.858333 vn 0.133824 -0.882748 0.450301 vn 0.354656 -0.483688 0.800134 vn 0.324107 -0.779626 0.535844 vn 0.450087 -0.608448 0.653584 vn 0.558123 -0.185614 0.808710 vn 0.327860 0.109226 0.938383 vn 0.020600 0.058473 0.998047 vn 0.040590 -0.021943 0.998932 vn 0.357280 0.124088 0.925687 vn 0.536027 0.086734 0.839686 vn 0.457259 0.177252 0.871456 vn 0.469619 -0.042238 0.881832 vn 0.432539 -0.340251 0.834925 vn 0.245491 -0.787072 0.565874 vn 0.281075 -0.861782 0.422224 vn 0.210547 -0.904721 0.370281 vn 0.009827 -0.958129 0.286142 vn 0.088321 -0.954222 0.285653 vn 0.044252 -0.983428 -0.175695 vn 0.326273 -0.333048 0.884640 vn 0.436201 -0.192206 0.879055 vn 0.392865 -0.190741 0.899564 vn 0.500351 -0.183355 0.846156 vn 0.384014 -0.089206 0.918973 vn 0.363720 0.020081 0.931272 vn 0.353191 0.104007 0.929746 vn 0.384808 0.021821 0.922727 vn 0.164830 0.018433 0.986145 vn 0.013398 0.252907 0.967376 vn -0.017792 -0.072390 0.997192 vn -0.144719 -0.047090 0.988342 vn -0.053041 0.440230 0.896298 vn 0.081851 0.166356 0.982635 vn 0.193670 0.510910 0.837519 vn 0.455031 0.119327 0.882412 vn 0.418653 0.055300 0.906430 vn 0.651631 -0.511002 0.560533 vn 0.357555 -0.528520 0.769921 vn 0.550127 -0.623951 0.554949 vn 0.240944 -0.573779 0.782739 vn 0.129185 -0.446120 0.885556 vn 0.329417 -0.570666 0.752159 vn 0.147679 -0.556352 0.817682 vn 0.129490 -0.258980 0.957152 vn 0.224250 -0.304086 0.925840 vn 0.432142 0.115360 0.894375 vn 0.402387 0.190588 0.895383 vn 0.218207 0.187658 0.957671 vn 0.188238 0.341746 0.920713 vn 0.613849 0.305856 0.727714 vn 0.527757 0.211921 0.822504 vn 0.691946 0.238289 0.681478 vn 0.736167 0.147160 0.660573 vn 0.569384 -0.151769 0.807917 vn 0.334025 -0.211158 0.918577 vn 0.252449 -0.352916 0.900937 vn 0.068941 -0.415662 0.906888 vn 0.135807 -0.568987 0.811029 vn 0.249184 -0.643239 0.723960 vn 0.206183 -0.667440 0.715506 vn 0.094974 -0.600330 0.794061 vn 0.211676 -0.632313 0.745201 vn 0.381420 -0.732933 0.563280 vn 0.187994 -0.695120 0.693838 vn 0.193213 -0.706687 0.680593 vn 0.215308 -0.909055 0.356700 vn 0.169744 -0.721030 0.671743 vn 0.398846 -0.680776 0.614338 vn 0.355052 -0.637806 0.683432 vn 0.120090 -0.456893 0.881344 vn -0.043367 0.202490 0.978301 vn 0.175329 0.214331 0.960875 vn -0.042512 -0.089267 0.995086 vn -0.146672 -0.010285 0.989105 vn -0.030274 0.188299 0.981628 vn 0.177435 -0.033357 0.983551 vn 0.313669 0.095645 0.944670 vn 0.471938 0.182806 0.862453 vn 0.326060 0.238929 0.914640 vn 0.432112 0.167394 0.886105 vn 0.191778 0.337504 0.921537 vn 0.149937 0.334605 0.930326 vn 0.031800 0.280648 0.959258 vn 0.245460 -0.447493 0.859890 vn 0.179327 -0.565783 0.804804 vn 0.050172 0.379223 0.923917 vn 0.067415 -0.705954 0.705008 vn 0.078310 -0.696707 0.713034 vn 0.067141 -0.821925 0.565600 vn 0.243751 -0.592090 0.768090 vn 0.432783 -0.248939 0.866421 vn 0.747124 -0.242988 0.618641 vn 0.559984 -0.489761 0.668203 vn 0.352733 -0.690512 0.631458 vn 0.059603 -0.760277 0.646809 vn 0.151280 -0.819422 0.552843 vn 0.475631 -0.704123 0.527207 vn 0.621509 -0.476058 0.622150 vn 0.817042 -0.102268 0.567400 vn 0.827815 0.038697 0.559618 vn 0.818842 0.144261 0.555559 vn 0.796045 0.140599 0.588672 vn 0.722831 0.168340 0.670156 vn 0.795831 0.136814 0.589831 vn 0.855251 0.049226 0.515824 vn 0.840022 -0.124790 0.528001 vn 0.710990 -0.213050 0.670095 vn 0.697165 -0.113956 0.707755 vn 0.562151 0.028779 0.826502 vn 0.472060 -0.230689 0.850826 vn 0.323466 -0.814783 0.481094 vn 0.549181 0.120945 0.826868 vn 0.562853 0.123844 0.817194 vn 0.553911 -0.051973 0.830927 vn 0.439802 -0.085849 0.893948 vn 0.578539 -0.205481 0.789331 vn 0.633839 -0.236702 0.736320 vn 0.411969 -0.264992 0.871792 vn 0.125065 -0.260475 0.957335 vn 0.536973 -0.230903 0.811365 vn 0.668386 -0.316202 0.673208 vn 0.661061 0.113712 0.741630 vn 0.805261 0.088839 0.586200 vn 0.080305 -0.196581 -0.977193 vn 0.125797 -0.946257 0.297891 vn 0.189795 -0.968535 -0.160924 vn 0.156915 -0.188725 -0.969412 vn -0.618152 0.385968 0.684713 vn -0.625416 0.255806 0.737144 vn -0.526048 0.644398 0.554949 vn -0.311502 0.703635 0.638600 vn -0.352702 0.791406 0.499222 vn -0.137700 0.863277 0.485519 vn -0.142735 0.713706 0.685720 vn -0.127049 0.304361 0.944029 vn 0.101199 0.257332 0.960997 vn 0.030519 0.738639 0.673360 vn 0.080172 0.835749 0.543199 vn 0.264870 0.725394 0.635304 vn 0.414441 0.415387 0.809717 vn 0.215918 -0.542863 0.811548 vn -0.571917 -0.605640 0.553209 vn -0.325541 -0.759911 0.562578 vn -0.419935 -0.795801 0.436232 vn -0.267953 -0.644490 0.716086 vn -0.537675 -0.348308 0.767815 vn -0.179022 -0.744896 0.642689 vn -0.090793 -0.844203 0.528245 vn -0.242561 -0.872768 0.423536 vn -0.316843 -0.505112 0.802759 vn -0.435102 0.273324 0.857845 vn -0.396161 0.278664 0.874844 vn -0.611621 -0.297189 0.733177 vn -0.554826 -0.293680 0.778375 vn -0.517655 -0.283944 0.807062 vn -0.582598 -0.190497 0.790094 vn -0.686300 -0.178930 0.704917 vn -0.823756 -0.261849 0.502823 vn -0.720847 -0.478133 0.501724 vn 0.102908 -0.900174 0.423139 vn -0.485397 -0.874142 0.014191 vn 0.452559 -0.752556 -0.478347 vn -0.779656 -0.430372 0.454817 vn -0.758538 -0.237739 0.606677 vn -0.418653 -0.320231 -0.849788 vn -0.014985 -0.543962 -0.838954 vn -0.173498 -0.135838 -0.975402 vn -0.114841 0.453108 -0.883999 vn -0.969390 -0.148839 -0.195227 vn -0.811029 -0.377392 -0.446944 vn -0.713065 -0.150334 -0.684774 vn -0.842067 -0.069063 -0.534928 vn -0.993561 -0.051881 -0.100558 vn -0.980682 -0.150243 0.125187 vn 0.138188 0.943602 -0.300821 vn -0.124302 0.725425 -0.676962 vn -0.176824 0.314280 -0.932707 vn -0.980956 -0.057466 -0.185492 vn -0.898709 -0.304483 -0.315561 vn -0.863796 -0.144292 0.482681 vn -0.820734 -0.357067 0.445906 vn -0.798029 -0.521805 0.301340 vn -0.859035 -0.179418 0.479415 vn -0.470077 0.677938 0.565111 vn -0.250465 0.232063 0.939879 vn 0.296670 0.799982 0.521500 vn -0.989746 -0.078921 0.118778 vn -0.088198 0.910520 0.403912 vn -0.181585 0.969848 -0.162481 vn -0.837611 0.396741 0.375439 vn -0.910337 0.411512 0.043458 vn -0.976196 0.163305 -0.142613 vn -0.838893 -0.346873 0.419416 vn -0.868557 -0.403790 0.287301 vn -0.780572 0.050783 0.622944 vn -0.337016 -0.005829 -0.941465 vn -0.177770 -0.085238 -0.980346 g mesh1.002_mesh1-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1/1/1 2/2/2 3/3/3 f 1/1/1 4/4/4 2/2/2 f 4/4/4 1/1/1 5/5/5 f 5/5/5 6/6/6 4/4/4 f 7/7/7 6/6/6 5/5/5 f 7/7/7 8/8/8 6/6/6 f 8/8/8 7/7/7 9/9/9 f 7/7/7 10/10/10 9/9/9 f 10/10/10 7/7/7 5/5/5 f 10/10/10 5/5/5 11/11/11 f 5/5/5 1/1/1 11/11/11 f 11/11/11 1/1/1 12/12/12 f 12/12/12 1/1/1 3/3/3 f 12/12/12 3/3/3 13/13/13 f 3/3/3 14/14/14 13/13/13 f 3/3/3 15/15/15 14/14/14 f 16/16/16 15/15/15 3/3/3 f 16/16/16 17/17/17 15/15/15 f 18/18/18 17/17/17 16/16/16 f 18/18/18 19/19/19 17/17/17 f 20/20/20 19/19/19 18/18/18 f 21/21/21 19/19/19 20/20/20 f 21/21/21 22/22/22 19/19/19 f 23/23/23 22/22/22 21/21/21 f 23/23/23 24/24/24 22/22/22 f 23/23/23 25/25/25 24/24/24 f 26/26/26 25/25/25 23/23/23 f 27/27/27 25/25/25 26/26/26 f 27/27/27 28/28/28 25/25/25 f 29/29/29 28/28/28 27/27/27 f 29/29/29 30/30/30 28/28/28 f 29/29/29 31/31/31 30/30/30 f 32/32/32 31/31/31 29/29/29 f 32/32/32 33/33/33 31/31/31 f 34/34/34 33/33/33 32/32/32 f 34/34/34 35/35/35 33/33/33 f 34/34/34 36/36/36 35/35/35 f 37/37/37 36/36/36 34/34/34 f 37/37/37 38/38/38 36/36/36 f 39/39/39 38/38/38 37/37/37 f 39/39/39 40/40/40 38/38/38 f 41/41/41 40/40/40 39/39/39 f 41/41/41 42/42/42 40/40/40 f 43/43/43 42/42/42 41/41/41 f 43/43/43 44/44/44 42/42/42 f 45/45/45 44/44/44 43/43/43 f 45/45/45 46/46/46 44/44/44 f 47/47/47 46/46/46 45/45/45 f 48/48/48 46/46/46 47/47/47 f 49/49/49 46/46/46 48/48/48 f 49/49/49 50/50/50 46/46/46 f 49/49/49 51/51/51 50/50/50 f 52/52/52 51/51/51 49/49/49 f 52/53/52 53/54/53 51/55/51 f 52/53/52 54/56/54 53/54/53 f 55/57/55 54/56/54 52/53/52 f 55/57/55 56/58/56 54/56/54 f 57/59/57 56/58/56 55/57/55 f 56/58/56 57/59/57 58/60/58 f 57/59/57 55/57/55 61/61/59 f 61/62/59 55/63/55 62/64/60 f 62/64/60 55/63/55 63/65/61 f 63/65/61 55/63/55 64/66/62 f 55/63/55 52/52/52 64/66/62 f 64/66/62 52/52/52 49/49/49 f 64/66/62 49/49/49 48/48/48 f 64/66/62 48/48/48 65/67/63 f 65/67/63 48/48/48 66/68/64 f 48/48/48 67/69/65 66/68/64 f 48/48/48 47/47/47 67/69/65 f 47/47/47 68/70/66 67/69/65 f 47/47/47 45/45/45 68/70/66 f 68/70/66 45/45/45 69/71/67 f 45/45/45 70/72/68 69/71/67 f 45/45/45 43/43/43 70/72/68 f 70/72/68 43/43/43 71/73/69 f 43/43/43 41/41/41 71/73/69 f 71/73/69 41/41/41 72/74/70 f 41/41/41 39/39/39 72/74/70 f 39/39/39 73/75/71 72/74/70 f 39/39/39 37/37/37 73/75/71 f 37/37/37 74/76/72 73/75/71 f 37/37/37 34/34/34 74/76/72 f 34/34/34 32/32/32 74/76/72 f 74/76/72 32/32/32 29/29/29 f 74/76/72 29/29/29 75/77/73 f 75/77/73 29/29/29 27/27/27 f 75/77/73 27/27/27 76/78/74 f 76/78/74 27/27/27 77/79/75 f 27/27/27 26/26/26 77/79/75 f 77/79/75 26/26/26 78/80/76 f 78/80/76 26/26/26 79/81/77 f 26/26/26 23/23/23 79/81/77 f 79/81/77 23/23/23 80/82/78 f 23/23/23 21/21/21 80/82/78 f 80/82/78 21/21/21 81/83/79 f 81/83/79 21/21/21 20/20/20 f 81/83/79 20/20/20 82/84/80 f 82/84/80 20/20/20 83/85/81 f 20/20/20 18/18/18 83/85/81 f 83/85/81 18/18/18 16/16/16 f 83/85/81 16/16/16 2/2/2 f 2/2/2 16/16/16 3/3/3 f 84/86/82 83/85/81 2/2/2 f 85/87/83 83/85/81 84/86/82 f 85/87/83 82/84/80 83/85/81 f 86/88/84 82/84/80 85/87/83 f 87/89/85 82/84/80 86/88/84 f 81/83/79 82/84/80 87/89/85 f 88/90/86 81/83/79 87/89/85 f 89/91/87 81/83/79 88/90/86 f 89/91/87 80/82/78 81/83/79 f 90/92/88 80/82/78 89/91/87 f 79/81/77 80/82/78 90/92/88 f 91/93/89 79/81/77 90/92/88 f 78/80/76 79/81/77 91/93/89 f 91/93/89 92/94/90 78/80/76 f 93/95/91 92/94/90 91/93/89 f 94/96/92 92/94/90 93/95/91 f 95/97/93 92/94/90 94/96/92 f 96/98/94 92/94/90 95/97/93 f 96/98/94 97/99/95 92/94/90 f 98/100/96 97/99/95 96/98/94 f 99/101/97 97/99/95 98/100/96 f 78/80/76 97/99/95 99/101/97 f 92/94/90 97/99/95 78/80/76 f 78/80/76 99/101/97 77/79/75 f 76/78/74 77/79/75 99/101/97 f 100/102/98 76/78/74 99/101/97 f 101/103/99 76/78/74 100/102/98 f 102/104/100 76/78/74 101/103/99 f 102/104/100 75/77/73 76/78/74 f 73/75/71 75/77/73 102/104/100 f 73/75/71 74/76/72 75/77/73 f 72/74/70 73/75/71 102/104/100 f 72/74/70 102/104/100 101/103/99 f 72/74/70 101/103/99 103/105/101 f 103/105/101 101/103/99 104/106/102 f 104/106/102 101/103/99 105/107/103 f 101/103/99 100/102/98 105/107/103 f 105/107/103 100/102/98 106/108/104 f 100/102/98 107/109/105 106/108/104 f 100/102/98 99/101/97 107/109/105 f 107/109/105 99/101/97 98/100/96 f 107/109/105 98/100/96 106/108/104 f 106/108/104 98/100/96 108/110/106 f 108/110/106 98/100/96 96/98/94 f 108/110/106 96/98/94 109/111/107 f 109/111/107 96/98/94 110/112/108 f 110/112/108 96/98/94 95/97/93 f 110/112/108 95/97/93 94/96/92 f 110/112/108 94/96/92 111/113/109 f 111/113/109 94/96/92 112/114/110 f 112/114/110 94/96/92 113/115/111 f 113/115/111 94/96/92 114/116/112 f 114/116/112 94/96/92 115/117/113 f 94/96/92 116/118/114 115/117/113 f 94/96/92 93/95/91 116/118/114 f 117/119/115 116/118/114 93/95/91 f 118/120/116 116/118/114 117/119/115 f 118/120/116 119/121/117 116/118/114 f 120/122/118 119/121/117 118/120/116 f 121/123/119 119/121/117 120/122/118 f 122/124/120 119/121/117 121/123/119 f 122/124/120 116/118/114 119/121/117 f 115/117/113 116/118/114 122/124/120 f 114/116/112 115/117/113 122/124/120 f 114/116/112 122/124/120 123/125/121 f 123/125/121 122/124/120 124/126/122 f 124/126/122 122/124/120 121/123/119 f 124/126/122 121/123/119 125/127/123 f 126/128/124 125/127/123 121/123/119 f 127/129/125 125/127/123 126/128/124 f 128/130/126 125/127/123 127/129/125 f 128/130/126 129/131/127 125/127/123 f 128/130/126 130/132/128 129/131/127 f 131/133/129 130/132/128 128/130/126 f 131/133/129 132/134/130 130/132/128 f 133/135/131 132/136/130 131/137/129 f 133/135/131 134/138/132 132/136/130 f 133/135/131 135/139/133 134/138/132 f 135/139/133 133/135/131 136/140/134 f 136/140/134 133/135/131 137/141/135 f 137/141/135 133/135/131 138/142/136 f 133/135/131 131/137/129 138/142/136 f 138/142/136 131/137/129 139/143/137 f 139/144/137 131/133/129 128/130/126 f 139/144/137 128/130/126 140/145/138 f 140/145/138 128/130/126 127/129/125 f 140/145/138 127/129/125 141/146/139 f 127/129/125 120/122/118 141/146/139 f 127/129/125 126/128/124 120/122/118 f 126/128/124 121/123/119 120/122/118 f 141/146/139 120/122/118 142/147/140 f 142/147/140 120/122/118 118/120/116 f 118/120/116 88/90/86 142/147/140 f 118/120/116 89/91/87 88/90/86 f 117/119/115 89/91/87 118/120/116 f 117/119/115 90/92/88 89/91/87 f 143/148/141 90/92/88 117/119/115 f 91/93/89 90/92/88 143/148/141 f 93/95/91 91/93/89 143/148/141 f 93/95/91 143/148/141 117/119/115 f 142/147/140 88/90/86 144/149/142 f 88/90/86 87/89/85 144/149/142 f 144/149/142 87/89/85 86/88/84 f 145/150/143 144/149/142 86/88/84 f 146/151/144 144/149/142 145/150/143 f 146/151/144 141/146/139 144/149/142 f 147/152/145 141/146/139 146/151/144 f 140/145/138 141/146/139 147/152/145 f 148/153/146 140/145/138 147/152/145 f 148/153/146 149/154/147 140/145/138 f 150/155/148 149/154/147 148/153/146 f 151/156/149 149/154/147 150/155/148 f 151/157/149 152/158/150 149/159/147 f 153/160/151 152/158/150 151/157/149 f 154/161/152 152/158/150 153/160/151 f 154/161/152 155/162/153 152/158/150 f 156/163/154 155/162/153 154/161/152 f 156/164/154 157/165/155 155/166/153 f 158/167/156 157/168/155 156/169/154 f 158/167/156 159/170/157 157/168/155 f 160/171/158 159/170/157 158/167/156 f 161/172/159 159/173/157 160/174/158 f 161/172/159 137/141/135 159/173/157 f 136/140/134 137/141/135 161/172/159 f 162/175/160 136/140/134 161/172/159 f 162/175/160 163/176/161 136/140/134 f 164/177/162 163/176/161 162/175/160 f 164/177/162 165/178/163 163/176/161 f 165/178/163 164/177/162 166/179/164 f 164/177/162 167/180/165 166/179/164 f 167/180/165 164/177/162 168/181/166 f 168/181/166 164/177/162 162/175/160 f 168/181/166 162/175/160 169/182/167 f 162/175/160 160/174/158 169/182/167 f 160/174/158 162/175/160 161/172/159 f 169/183/167 160/171/158 158/167/156 f 169/183/167 158/167/156 170/184/168 f 170/184/168 158/167/156 171/185/169 f 171/185/169 158/167/156 172/186/170 f 158/167/156 173/187/171 172/186/170 f 158/167/156 156/169/154 173/187/171 f 173/188/171 156/163/154 154/161/152 f 174/189/172 173/188/171 154/161/152 f 174/189/172 172/190/170 173/188/171 f 175/191/173 172/190/170 174/189/172 f 175/191/173 171/192/169 172/190/170 f 171/192/169 175/191/173 168/181/166 f 175/191/173 167/180/165 168/181/166 f 167/180/165 175/191/173 174/189/172 f 167/180/165 174/189/172 176/193/174 f 176/193/174 174/189/172 154/161/152 f 176/193/174 154/161/152 153/160/151 f 151/157/149 176/193/174 153/160/151 f 177/194/175 176/193/174 151/157/149 f 166/179/164 176/193/174 177/194/175 f 166/179/164 167/180/165 176/193/174 f 178/195/176 166/196/164 177/197/175 f 165/198/163 166/196/164 178/195/176 f 165/198/163 178/195/176 179/199/177 f 179/199/177 178/195/176 180/200/178 f 180/200/178 178/195/176 181/201/179 f 178/195/176 177/197/175 181/201/179 f 181/201/179 177/197/175 151/156/149 f 180/200/178 181/201/179 151/202/149 f 180/200/178 151/202/149 182/203/180 f 151/202/149 183/204/181 182/203/180 f 151/202/149 184/205/182 183/204/181 f 151/202/149 150/155/148 184/205/182 f 184/205/182 150/155/148 148/153/146 f 184/205/182 148/153/146 185/206/183 f 185/206/183 148/153/146 186/207/184 f 148/153/146 147/152/145 186/207/184 f 186/207/184 147/152/145 146/151/144 f 186/207/184 146/151/144 187/208/185 f 187/208/185 146/151/144 145/150/143 f 187/208/185 145/150/143 188/209/186 f 188/209/186 145/150/143 189/210/187 f 145/150/143 85/87/83 189/210/187 f 145/150/143 86/88/84 85/87/83 f 189/210/187 85/87/83 84/86/82 f 4/4/4 189/210/187 84/86/82 f 190/211/188 189/210/187 4/4/4 f 188/209/186 189/210/187 190/211/188 f 191/212/189 188/209/186 190/211/188 f 191/212/189 187/208/185 188/209/186 f 192/213/190 187/208/185 191/212/189 f 192/213/190 186/207/184 187/208/185 f 185/206/183 186/207/184 192/213/190 f 185/206/183 192/213/190 193/214/191 f 193/214/191 192/213/190 194/215/192 f 192/213/190 191/212/189 194/215/192 f 191/212/189 195/216/193 194/215/192 f 191/212/189 190/211/188 195/216/193 f 195/216/193 190/211/188 6/6/6 f 6/6/6 190/211/188 4/4/4 f 8/8/8 195/216/193 6/6/6 f 195/216/193 8/8/8 196/217/194 f 196/217/194 8/8/8 197/218/195 f 8/8/8 9/9/9 197/218/195 f 197/218/195 9/9/9 198/219/196 f 9/9/9 199/220/197 198/219/196 f 9/9/9 10/10/10 199/220/197 f 10/10/10 200/221/198 199/220/197 f 200/221/198 10/10/10 201/222/199 f 10/10/10 11/11/11 201/222/199 f 201/222/199 11/11/11 202/223/200 f 11/11/11 12/12/12 202/223/200 f 202/223/200 12/12/12 13/13/13 f 202/223/200 13/13/13 203/224/201 f 13/13/13 204/225/202 203/224/201 f 13/13/13 14/14/14 204/225/202 f 14/14/14 205/226/203 204/225/202 f 14/14/14 206/227/204 205/226/203 f 15/15/15 206/227/204 14/14/14 f 15/15/15 207/228/205 206/227/204 f 17/17/17 207/228/205 15/15/15 f 17/17/17 208/229/206 207/228/205 f 17/17/17 209/230/207 208/229/206 f 19/19/19 209/230/207 17/17/17 f 19/19/19 210/231/208 209/230/207 f 19/19/19 211/232/209 210/231/208 f 22/22/22 211/232/209 19/19/19 f 22/22/22 212/233/210 211/232/209 f 22/22/22 24/24/24 212/233/210 f 30/30/30 212/233/210 24/24/24 f 213/234/211 212/233/210 30/30/30 f 214/235/212 212/233/210 213/234/211 f 214/235/212 215/236/213 212/233/210 f 216/237/214 215/236/213 214/235/212 f 216/237/214 217/238/215 215/236/213 f 216/237/214 218/239/216 217/238/215 f 219/240/217 218/239/216 216/237/214 f 219/240/217 220/241/218 218/239/216 f 221/242/219 220/241/218 219/240/217 f 221/242/219 222/243/220 220/241/218 f 223/244/221 222/243/220 221/242/219 f 224/245/222 222/243/220 223/244/221 f 224/245/222 225/246/223 222/243/220 f 224/245/222 226/247/224 225/246/223 f 227/248/225 226/247/224 224/245/222 f 228/249/226 227/248/225 224/245/222 f 228/249/226 224/245/222 229/250/227 f 229/250/227 224/245/222 230/251/228 f 230/251/228 224/245/222 223/244/221 f 230/251/228 223/244/221 231/252/229 f 231/252/229 223/244/221 221/242/219 f 231/252/229 221/242/219 232/253/230 f 232/253/230 221/242/219 219/240/217 f 232/253/230 219/240/217 233/254/231 f 233/254/231 219/240/217 216/237/214 f 233/254/231 216/237/214 234/255/232 f 234/255/232 216/237/214 214/235/212 f 234/255/232 214/235/212 235/256/233 f 235/256/233 214/235/212 213/234/211 f 235/256/233 213/234/211 31/31/31 f 31/31/31 213/234/211 30/30/30 f 33/33/33 235/256/233 31/31/31 f 236/257/234 235/256/233 33/33/33 f 237/258/235 235/256/233 236/257/234 f 237/258/235 234/255/232 235/256/233 f 238/259/236 234/255/232 237/258/235 f 238/259/236 233/254/231 234/255/232 f 238/259/236 232/253/230 233/254/231 f 239/260/237 232/253/230 238/259/236 f 239/260/237 231/252/229 232/253/230 f 240/261/238 231/252/229 239/260/237 f 240/261/238 230/251/228 231/252/229 f 241/262/239 230/251/228 240/261/238 f 241/262/239 229/250/227 230/251/228 f 242/263/240 229/250/227 241/262/239 f 242/263/240 228/249/226 229/250/227 f 243/264/241 228/249/226 242/263/240 f 244/265/242 243/264/241 242/263/240 f 244/265/242 245/266/243 243/264/241 f 244/265/242 246/267/244 245/266/243 f 247/268/245 246/267/244 244/265/242 f 247/268/245 248/269/246 246/267/244 f 249/270/247 248/269/246 247/268/245 f 249/270/247 250/271/248 248/269/246 f 251/272/249 250/271/248 249/270/247 f 251/272/249 252/273/250 250/271/248 f 253/274/251 252/273/250 251/272/249 f 253/275/251 254/276/252 252/277/250 f 255/278/253 254/276/252 253/275/251 f 255/278/253 256/279/254 254/276/252 f 255/278/253 257/280/255 256/279/254 f 258/281/256 257/280/255 255/278/253 f 199/220/197 257/280/255 258/281/256 f 199/220/197 200/221/198 257/280/255 f 257/280/255 200/221/198 259/282/257 f 259/282/257 200/221/198 260/283/258 f 200/221/198 201/222/199 260/283/258 f 201/222/199 261/284/259 260/283/258 f 201/222/199 202/223/200 261/284/259 f 202/223/200 203/224/201 261/284/259 f 261/284/259 203/224/201 262/285/260 f 203/224/201 263/286/261 262/285/260 f 203/224/201 204/225/202 263/286/261 f 204/225/202 264/287/262 263/286/261 f 205/226/203 264/287/262 204/225/202 f 205/226/203 265/288/263 264/287/262 f 205/226/203 266/289/264 265/288/263 f 206/227/204 266/289/264 205/226/203 f 206/227/204 267/290/265 266/289/264 f 207/228/205 267/290/265 206/227/204 f 207/228/205 208/229/206 267/290/265 f 208/229/206 268/291/266 267/290/265 f 210/231/208 268/291/266 208/229/206 f 210/231/208 217/238/215 268/291/266 f 210/231/208 215/236/213 217/238/215 f 211/232/209 215/236/213 210/231/208 f 211/232/209 212/233/210 215/236/213 f 268/291/266 217/238/215 269/292/267 f 217/238/215 218/239/216 269/292/267 f 269/292/267 218/239/216 270/293/268 f 218/239/216 220/241/218 270/293/268 f 270/293/268 220/241/218 271/294/269 f 220/241/218 222/243/220 271/294/269 f 271/294/269 222/243/220 225/246/223 f 271/294/269 225/246/223 272/295/270 f 272/295/270 225/246/223 273/296/271 f 225/246/223 226/247/224 273/296/271 f 272/295/270 273/296/271 274/297/272 f 275/298/273 272/295/270 274/297/272 f 271/294/269 272/295/270 275/298/273 f 276/299/274 271/294/269 275/298/273 f 270/293/268 271/294/269 276/299/274 f 277/300/275 270/293/268 276/299/274 f 269/292/267 270/293/268 277/300/275 f 267/290/265 269/292/267 277/300/275 f 268/291/266 269/292/267 267/290/265 f 267/290/265 277/300/275 278/301/276 f 278/301/276 277/300/275 279/302/277 f 277/300/275 276/299/274 279/302/277 f 279/302/277 276/299/274 280/303/278 f 276/299/274 275/298/273 280/303/278 f 280/303/278 275/298/273 274/297/272 f 280/303/278 274/297/272 281/304/279 f 280/303/278 281/304/279 282/305/280 f 283/306/281 280/303/278 282/305/280 f 279/302/277 280/303/278 283/306/281 f 265/288/263 279/302/277 283/306/281 f 278/301/276 279/302/277 265/288/263 f 266/289/264 278/301/276 265/288/263 f 267/290/265 278/301/276 266/289/264 f 264/287/262 265/288/263 283/306/281 f 264/287/262 283/306/281 284/307/282 f 284/307/282 283/306/281 285/308/283 f 283/306/281 282/305/280 285/308/283 f 284/307/282 285/308/283 286/309/284 f 286/309/284 285/308/283 287/310/285 f 288/311/286 286/309/284 287/310/285 f 263/286/261 286/309/284 288/311/286 f 264/287/262 286/309/284 263/286/261 f 264/287/262 284/307/282 286/309/284 f 262/285/260 263/286/261 288/311/286 f 289/312/287 262/285/260 288/311/286 f 261/284/259 262/285/260 289/312/287 f 260/283/258 261/284/259 289/312/287 f 260/283/258 289/312/287 290/313/288 f 290/313/288 289/312/287 291/314/289 f 289/312/287 288/311/286 291/314/289 f 291/314/289 288/311/286 292/315/290 f 292/315/290 288/311/286 293/316/291 f 288/311/286 287/310/285 293/316/291 f 294/317/292 291/314/289 292/315/290 f 290/313/288 291/314/289 294/317/292 f 295/318/293 290/313/288 294/317/292 f 296/319/294 290/313/288 295/318/293 f 259/282/257 290/313/288 296/319/294 f 259/282/257 260/283/258 290/313/288 f 259/282/257 296/319/294 297/320/295 f 297/320/295 296/319/294 295/318/293 f 297/320/295 295/318/293 298/321/296 f 298/321/296 295/318/293 299/322/297 f 295/318/293 300/323/298 299/322/297 f 300/323/298 295/318/293 301/324/299 f 295/318/293 294/317/292 301/324/299 f 301/324/299 294/317/292 292/315/290 f 298/321/296 299/322/297 302/325/300 f 303/326/301 298/321/296 302/325/300 f 297/320/295 298/321/296 303/326/301 f 297/320/295 303/326/301 304/327/302 f 304/327/302 303/326/301 250/328/248 f 250/328/248 303/326/301 305/329/303 f 303/326/301 302/325/300 305/329/303 f 250/271/248 305/330/303 248/269/246 f 252/277/250 304/327/302 250/328/248 f 254/276/252 304/327/302 252/277/250 f 254/276/252 256/279/254 304/327/302 f 256/279/254 297/320/295 304/327/302 f 256/279/254 259/282/257 297/320/295 f 257/280/255 259/282/257 256/279/254 f 209/230/207 210/231/208 208/229/206 f 198/219/196 199/220/197 258/281/256 f 198/331/196 258/332/256 306/333/304 f 258/332/256 307/334/305 306/333/304 f 258/332/256 255/335/253 307/334/305 f 255/335/253 308/336/306 307/334/305 f 255/335/253 309/337/307 308/336/306 f 255/335/253 253/274/251 309/337/307 f 253/274/251 251/272/249 309/337/307 f 309/337/307 251/272/249 308/336/306 f 308/336/306 251/272/249 310/338/308 f 251/272/249 249/270/247 310/338/308 f 310/338/308 249/270/247 247/268/245 f 310/338/308 247/268/245 244/265/242 f 310/338/308 244/265/242 311/339/309 f 244/265/242 241/262/239 311/339/309 f 241/262/239 244/265/242 242/263/240 f 311/339/309 241/262/239 312/340/310 f 312/340/310 241/262/239 240/261/238 f 312/340/310 240/261/238 313/341/311 f 313/341/311 240/261/238 239/260/237 f 313/341/311 239/260/237 314/342/312 f 314/342/312 239/260/237 238/259/236 f 314/342/312 238/259/236 237/258/235 f 314/342/312 237/258/235 315/343/313 f 315/343/313 237/258/235 236/257/234 f 315/343/313 236/257/234 316/344/314 f 316/344/314 236/257/234 35/35/35 f 35/35/35 236/257/234 33/33/33 f 317/345/315 316/344/314 35/35/35 f 317/345/315 318/346/316 316/344/314 f 319/347/317 318/346/316 317/345/315 f 319/347/317 320/348/318 318/346/316 f 319/349/317 197/218/195 320/350/318 f 196/217/194 197/218/195 319/349/317 f 194/215/192 196/217/194 319/349/317 f 194/215/192 195/216/193 196/217/194 f 321/351/319 194/215/192 319/349/317 f 322/352/320 194/215/192 321/351/319 f 322/352/320 193/214/191 194/215/192 f 323/353/321 193/214/191 322/352/320 f 323/353/321 324/354/322 193/214/191 f 325/355/323 324/354/322 323/353/321 f 325/355/323 183/204/181 324/354/322 f 182/203/180 183/204/181 325/355/323 f 182/203/180 325/355/323 326/356/324 f 44/44/44 326/357/324 325/358/323 f 46/46/46 326/357/324 44/44/44 f 46/46/46 50/50/50 326/357/324 f 327/359/325 326/356/324 50/360/50 f 327/359/325 182/203/180 326/356/324 f 180/200/178 182/203/180 327/359/325 f 328/361/326 180/200/178 327/359/325 f 179/199/177 180/200/178 328/361/326 f 179/199/177 328/361/326 329/362/327 f 328/361/326 330/363/328 329/362/327 f 330/363/328 328/361/326 327/359/325 f 53/54/53 330/363/328 327/359/325 f 54/56/54 330/363/328 53/54/53 f 330/363/328 54/56/54 331/364/329 f 54/56/54 56/58/56 331/364/329 f 56/58/56 332/365/330 331/364/329 f 56/58/56 58/60/58 332/365/330 f 332/365/330 58/60/58 333/366/331 f 62/64/60 63/65/61 348/367/332 f 348/367/332 63/65/61 349/368/333 f 63/65/61 65/67/63 349/368/333 f 63/65/61 64/66/62 65/67/63 f 65/67/63 350/369/334 349/368/333 f 65/67/63 66/68/64 350/369/334 f 350/370/334 66/371/64 351/372/335 f 66/371/64 67/373/65 351/372/335 f 351/372/335 67/373/65 352/374/336 f 352/374/336 67/373/65 353/375/337 f 67/69/65 68/70/66 353/376/337 f 68/70/66 354/377/338 353/376/337 f 68/70/66 69/71/67 354/377/338 f 354/377/338 69/71/67 355/378/339 f 69/71/67 356/379/340 355/378/339 f 69/71/67 70/72/68 356/379/340 f 357/380/341 356/379/340 70/72/68 f 356/381/340 357/382/341 358/383/342 f 358/383/342 357/382/341 359/384/343 f 357/382/341 360/385/344 359/384/343 f 357/382/341 103/386/101 360/385/344 f 71/73/69 103/105/101 357/380/341 f 71/73/69 72/74/70 103/105/101 f 70/72/68 71/73/69 357/380/341 f 360/387/344 103/388/101 361/389/345 f 103/388/101 104/390/102 361/389/345 f 362/391/346 361/389/345 104/390/102 f 362/391/346 363/392/347 361/389/345 f 362/391/346 364/393/348 363/392/347 f 365/394/349 364/393/348 362/391/346 f 366/395/350 364/393/348 365/394/349 f 367/396/351 364/393/348 366/395/350 f 367/396/351 368/397/352 364/393/348 f 369/398/353 368/397/352 367/396/351 f 370/167/354 368/170/352 369/171/353 f 371/168/355 368/170/352 370/167/354 f 363/392/347 368/397/352 371/399/355 f 363/392/347 364/393/348 368/397/352 f 372/400/356 363/392/347 371/399/355 f 360/387/344 363/392/347 372/400/356 f 360/387/344 361/389/345 363/392/347 f 373/401/357 360/385/344 372/402/356 f 373/401/357 359/384/343 360/385/344 f 358/383/342 359/384/343 373/401/357 f 358/383/342 373/401/357 374/403/358 f 374/403/358 373/401/357 375/404/359 f 375/404/359 373/401/357 376/405/360 f 373/401/357 372/402/356 376/405/360 f 376/406/360 372/400/356 371/399/355 f 376/169/360 371/168/355 370/167/354 f 375/187/359 376/169/360 370/167/354 f 375/187/359 370/167/354 377/186/361 f 377/186/361 370/167/354 378/185/362 f 378/185/362 370/167/354 379/184/363 f 370/167/354 380/183/364 379/184/363 f 370/167/354 369/171/353 380/183/364 f 380/407/364 369/398/353 381/408/365 f 381/408/365 369/398/353 367/396/351 f 381/408/365 367/396/351 366/395/350 f 381/408/365 366/395/350 382/409/366 f 382/409/366 366/395/350 383/410/367 f 366/395/350 365/394/349 383/410/367 f 383/410/367 365/394/349 384/411/368 f 365/394/349 385/412/369 384/411/368 f 385/412/369 365/394/349 386/413/370 f 362/391/346 386/413/370 365/394/349 f 104/390/102 386/413/370 362/391/346 f 104/106/102 105/107/103 386/414/370 f 386/414/370 105/107/103 387/415/371 f 105/107/103 388/416/372 387/415/371 f 105/107/103 106/108/104 388/416/372 f 106/108/104 108/110/106 388/416/372 f 389/417/373 388/416/372 108/110/106 f 389/417/373 387/415/371 388/416/372 f 387/415/371 389/417/373 390/418/374 f 390/418/374 389/417/373 391/419/375 f 389/417/373 108/110/106 391/419/375 f 391/419/375 108/110/106 109/111/107 f 391/419/375 109/111/107 110/112/108 f 391/419/375 110/112/108 392/420/376 f 392/420/376 110/112/108 393/421/377 f 393/421/377 110/112/108 111/113/109 f 393/421/377 111/113/109 112/114/110 f 393/421/377 112/114/110 394/422/378 f 394/422/378 112/114/110 395/423/379 f 395/423/379 112/114/110 113/115/111 f 395/423/379 113/115/111 114/116/112 f 395/423/379 114/116/112 396/424/380 f 396/424/380 114/116/112 397/425/381 f 397/425/381 114/116/112 123/125/121 f 397/425/381 123/125/121 124/126/122 f 397/425/381 124/126/122 398/426/382 f 398/426/382 124/126/122 129/131/127 f 129/131/127 124/126/122 125/127/123 f 130/132/128 398/426/382 129/131/127 f 130/132/128 399/427/383 398/426/382 f 400/428/384 399/427/383 130/132/128 f 401/429/385 399/427/383 400/428/384 f 401/429/385 402/430/386 399/427/383 f 401/429/385 403/431/387 402/430/386 f 401/429/385 404/432/388 403/431/387 f 405/433/389 404/432/388 401/429/385 f 405/433/389 406/434/390 404/432/388 f 407/435/391 406/434/390 405/433/389 f 407/435/391 408/436/392 406/434/390 f 407/435/391 409/437/393 408/436/392 f 410/438/394 409/437/393 407/435/391 f 410/438/394 411/439/395 409/437/393 f 412/440/396 411/439/395 410/438/394 f 412/440/396 413/441/397 411/439/395 f 471/442/398 412/440/396 410/438/394 f 471/442/398 410/438/394 472/443/399 f 472/443/399 410/438/394 407/435/391 f 472/443/399 407/435/391 473/444/400 f 473/444/400 407/435/391 405/433/389 f 405/433/389 474/445/401 473/444/400 f 475/446/402 474/445/401 405/433/389 f 475/447/402 331/364/329 474/448/401 f 475/447/402 330/363/328 331/364/329 f 329/362/327 330/363/328 475/447/402 f 329/449/327 475/446/402 405/433/389 f 329/449/327 405/433/389 476/450/403 f 405/433/389 400/428/384 476/450/403 f 405/433/389 401/429/385 400/428/384 f 476/450/403 400/428/384 477/451/404 f 400/428/384 130/132/128 477/451/404 f 132/134/130 477/451/404 130/132/128 f 134/452/132 477/451/404 132/134/130 f 134/452/132 478/453/405 477/451/404 f 478/453/405 134/452/132 135/454/133 f 479/455/406 478/453/405 135/454/133 f 479/455/406 480/456/407 478/453/405 f 479/457/406 165/198/163 480/458/407 f 165/178/163 479/459/406 163/176/161 f 163/176/161 479/459/406 135/139/133 f 163/176/161 135/139/133 136/140/134 f 165/198/163 179/199/177 480/458/407 f 480/458/407 179/199/177 329/362/327 f 480/456/407 329/449/327 476/450/403 f 480/456/407 476/450/403 478/453/405 f 476/450/403 477/451/404 478/453/405 f 331/364/329 332/365/330 474/448/401 f 332/365/330 481/460/408 474/448/401 f 332/365/330 333/366/331 481/460/408 f 481/461/408 333/462/331 482/463/409 f 349/368/333 502/464/410 348/367/332 f 349/368/333 503/465/411 502/464/410 f 349/368/333 350/369/334 503/465/411 f 350/370/334 504/466/412 503/467/411 f 350/370/334 505/468/413 504/466/412 f 505/468/413 350/370/334 351/372/335 f 506/469/414 505/468/413 351/372/335 f 505/468/413 506/469/414 504/466/412 f 504/466/412 506/469/414 507/470/415 f 507/470/415 506/469/414 508/471/416 f 506/469/414 509/472/417 508/471/416 f 506/469/414 510/473/418 509/472/417 f 351/372/335 510/473/418 506/469/414 f 351/372/335 511/474/419 510/473/418 f 351/372/335 512/475/420 511/474/419 f 351/372/335 513/476/421 512/475/420 f 351/372/335 352/374/336 513/476/421 f 513/476/421 352/374/336 514/477/422 f 352/374/336 515/478/423 514/477/422 f 352/374/336 353/375/337 515/478/423 f 353/375/337 516/479/424 515/478/423 f 353/376/337 354/377/338 516/480/424 f 354/481/338 382/409/366 516/482/424 f 517/483/425 382/409/366 354/481/338 f 517/483/425 381/408/365 382/409/366 f 518/484/426 381/408/365 517/483/425 f 518/484/426 380/407/364 381/408/365 f 379/485/363 380/407/364 518/484/426 f 518/484/426 378/486/362 379/485/363 f 518/484/426 519/487/427 378/486/362 f 520/488/428 519/487/427 518/484/426 f 520/488/428 374/403/358 519/487/427 f 520/488/428 358/383/342 374/403/358 f 355/489/339 358/383/342 520/488/428 f 355/489/339 356/381/340 358/383/342 f 355/489/339 520/488/428 517/483/425 f 517/483/425 520/488/428 518/484/426 f 354/481/338 355/489/339 517/483/425 f 519/487/427 374/403/358 377/490/361 f 377/490/361 374/403/358 375/404/359 f 519/487/427 377/490/361 378/486/362 f 382/409/366 383/410/367 516/482/424 f 515/478/423 516/479/424 383/491/367 f 515/478/423 383/491/367 384/492/368 f 515/478/423 384/492/368 514/477/422 f 514/477/422 384/492/368 385/493/369 f 385/493/369 387/415/371 514/477/422 f 386/414/370 387/415/371 385/493/369 f 513/476/421 514/477/422 387/415/371 f 513/476/421 387/415/371 390/418/374 f 513/476/421 390/418/374 512/475/420 f 512/475/420 390/418/374 521/494/429 f 521/494/429 390/418/374 391/419/375 f 521/494/429 391/419/375 522/495/430 f 522/495/430 391/419/375 392/420/376 f 522/495/430 392/420/376 393/421/377 f 522/495/430 393/421/377 523/496/431 f 524/497/432 523/496/431 393/421/377 f 524/497/432 522/495/430 523/496/431 f 511/474/419 522/495/430 524/497/432 f 512/475/420 522/495/430 511/474/419 f 512/475/420 521/494/429 522/495/430 f 510/473/418 511/474/419 524/497/432 f 510/473/418 524/497/432 509/472/417 f 509/472/417 524/497/432 525/498/433 f 525/498/433 524/497/432 526/499/434 f 524/497/432 394/422/378 526/499/434 f 524/497/432 393/421/377 394/422/378 f 527/500/435 526/499/434 394/422/378 f 525/498/433 526/499/434 527/500/435 f 525/498/433 527/500/435 408/436/392 f 406/434/390 408/436/392 527/500/435 f 406/434/390 527/500/435 404/432/388 f 404/432/388 527/500/435 403/431/387 f 527/500/435 528/501/436 403/431/387 f 527/500/435 395/423/379 528/501/436 f 527/500/435 394/422/378 395/423/379 f 403/431/387 528/501/436 395/423/379 f 403/431/387 395/423/379 396/424/380 f 403/431/387 396/424/380 397/425/381 f 403/431/387 397/425/381 402/430/386 f 402/430/386 397/425/381 399/427/383 f 399/427/383 397/425/381 398/426/382 f 409/437/393 525/498/433 408/436/392 f 529/502/437 525/498/433 409/437/393 f 508/471/416 525/498/433 529/502/437 f 508/471/416 509/472/417 525/498/433 f 530/503/438 508/471/416 529/502/437 f 507/470/415 508/471/416 530/503/438 f 531/504/439 507/470/415 530/503/438 f 532/505/440 507/470/415 531/504/439 f 504/466/412 507/470/415 532/505/440 f 504/466/412 532/505/440 533/506/441 f 482/463/409 471/442/398 472/443/399 f 481/461/408 482/463/409 472/443/399 f 474/445/401 481/461/408 472/443/399 f 474/445/401 472/443/399 473/444/400 f 503/467/411 533/506/441 502/507/410 f 503/467/411 504/466/412 533/506/441 f 531/504/439 530/503/438 413/441/397 f 413/441/397 530/503/438 1146/508/442 f 530/503/438 529/502/437 1146/508/442 f 411/439/395 1146/508/442 529/502/437 f 413/441/397 1146/508/442 411/439/395 f 411/439/395 529/502/437 409/437/393 f 53/54/53 327/359/325 50/360/50 f 51/55/51 53/54/53 50/360/50 f 44/44/44 325/358/323 42/42/42 f 42/42/42 325/358/323 40/40/40 f 325/358/323 323/509/321 40/40/40 f 40/40/40 323/509/321 38/38/38 f 323/509/321 322/510/320 38/38/38 f 38/38/38 322/510/320 36/36/36 f 322/510/320 321/511/319 36/36/36 f 36/36/36 321/511/319 319/347/317 f 36/36/36 319/347/317 317/345/315 f 36/36/36 317/345/315 35/35/35 f 184/205/182 324/354/322 183/204/181 f 184/205/182 185/206/183 324/354/322 f 185/206/183 193/214/191 324/354/322 f 197/218/195 198/219/196 320/350/318 f 320/348/318 198/331/196 318/346/316 f 318/346/316 198/331/196 1147/512/443 f 198/331/196 306/333/304 1147/512/443 f 1147/512/443 306/333/304 314/342/312 f 306/333/304 313/341/311 314/342/312 f 306/333/304 307/334/305 313/341/311 f 307/334/305 312/340/310 313/341/311 f 307/334/305 308/336/306 312/340/310 f 308/336/306 310/338/308 312/340/310 f 312/340/310 310/338/308 311/339/309 f 1147/512/443 314/342/312 315/343/313 f 316/344/314 1147/512/443 315/343/313 f 318/346/316 1147/512/443 316/344/314 f 30/30/30 24/24/24 28/28/28 f 28/28/28 24/24/24 25/25/25 f 4/4/4 84/86/82 2/2/2 f 171/192/169 168/181/166 170/513/168 f 170/513/168 168/181/166 169/182/167 f 137/141/135 1148/514/444 159/173/157 f 137/141/135 138/142/136 1148/514/444 f 1148/514/444 138/142/136 149/515/147 f 149/515/147 138/142/136 139/143/137 f 149/154/147 139/144/137 140/145/138 f 152/516/150 1148/514/444 149/515/147 f 155/166/153 1148/514/444 152/516/150 f 157/165/155 1148/514/444 155/166/153 f 159/173/157 1148/514/444 157/165/155 f 141/146/139 142/147/140 144/149/142 g mesh1.002_mesh1-geometry__02_-_Default1noCulli__02_-_Default1noCulli usemtl _02_-_Default1noCulli__02_-_Default1noCulli f 57/517/57 59/518/445 58/519/58 f 59/518/445 57/517/57 60/520/446 f 60/520/446 57/517/57 61/521/59 f 58/519/58 334/522/447 333/523/331 f 59/518/445 334/522/447 58/519/58 f 59/518/445 335/524/448 334/522/447 f 59/518/445 336/525/449 335/524/448 f 337/526/450 336/525/449 59/518/445 f 338/527/451 336/525/449 337/526/450 f 338/527/451 339/528/452 336/525/449 f 338/527/451 340/529/453 339/528/452 f 340/529/453 338/527/451 341/530/454 f 341/530/454 338/527/451 342/531/455 f 338/527/451 337/526/450 342/531/455 f 342/531/455 337/526/450 343/532/456 f 337/526/450 59/518/445 343/532/456 f 343/532/456 59/518/445 60/520/446 f 343/532/456 60/520/446 344/533/457 f 344/533/457 60/520/446 345/534/458 f 60/520/446 61/521/59 345/534/458 f 345/534/458 61/521/59 346/520/459 f 346/520/459 61/521/59 62/535/60 f 346/520/459 62/535/60 347/518/460 f 347/518/460 62/535/60 348/519/332 f 412/536/396 414/537/461 413/538/397 f 415/539/462 414/537/461 412/536/396 f 415/539/462 416/540/463 414/537/461 f 417/541/464 416/540/463 415/539/462 f 417/541/464 418/542/465 416/540/463 f 417/541/464 419/543/466 418/542/465 f 417/541/464 420/544/467 419/543/466 f 417/541/464 421/545/468 420/544/467 f 422/546/469 421/545/468 417/541/464 f 422/546/469 423/547/470 421/545/468 f 424/548/471 423/547/470 422/546/469 f 424/548/471 425/549/472 423/547/470 f 426/550/473 425/549/472 424/548/471 f 426/550/473 427/551/474 425/549/472 f 428/552/475 427/551/474 426/550/473 f 429/553/476 427/551/474 428/552/475 f 429/553/476 430/554/477 427/551/474 f 429/553/476 431/555/478 430/554/477 f 432/556/479 431/555/478 429/553/476 f 432/556/479 433/557/480 431/555/478 f 434/558/481 433/559/480 432/560/479 f 434/558/481 435/561/482 433/559/480 f 435/561/482 434/558/481 436/562/483 f 436/562/483 434/558/481 437/563/484 f 434/558/481 438/564/485 437/563/484 f 438/564/485 434/558/481 432/560/479 f 432/560/479 439/565/486 438/564/485 f 440/566/487 439/565/486 432/560/479 f 441/567/488 439/565/486 440/566/487 f 442/568/489 439/565/486 441/567/488 f 438/564/485 439/565/486 442/568/489 f 443/569/490 438/564/485 442/568/489 f 443/569/490 437/563/484 438/564/485 f 444/570/491 437/563/484 443/569/490 f 444/570/491 445/571/492 437/563/484 f 446/572/493 445/571/492 444/570/491 f 446/572/493 447/573/494 445/571/492 f 448/574/495 447/573/494 446/572/493 f 447/573/494 448/574/495 449/575/496 f 448/574/495 450/576/497 449/575/496 f 448/574/495 451/577/498 450/576/497 f 452/578/499 451/577/498 448/574/495 f 453/579/500 451/577/498 452/578/499 f 453/579/500 454/580/501 451/577/498 f 453/579/500 455/581/502 454/580/501 f 456/582/503 455/581/502 453/579/500 f 455/581/502 456/582/503 457/583/504 f 457/583/504 456/582/503 458/584/505 f 456/582/503 459/585/506 458/584/505 f 453/579/500 459/585/506 456/582/503 f 459/585/506 453/579/500 452/578/499 f 459/585/506 452/578/499 460/586/507 f 452/578/499 448/574/495 460/586/507 f 448/574/495 446/572/493 460/586/507 f 459/585/506 460/586/507 446/572/493 f 461/587/508 459/585/506 446/572/493 f 458/584/505 459/585/506 461/587/508 f 458/584/505 461/587/508 462/588/509 f 461/587/508 446/572/493 462/588/509 f 462/588/509 446/572/493 444/570/491 f 462/588/509 444/570/491 463/589/510 f 463/589/510 444/570/491 443/569/490 f 463/589/510 443/569/490 464/590/511 f 443/569/490 442/568/489 464/590/511 f 464/590/511 442/568/489 441/567/488 f 464/590/511 441/567/488 440/566/487 f 464/590/511 440/566/487 465/591/512 f 465/592/512 440/593/487 466/594/513 f 440/593/487 432/556/479 466/594/513 f 466/594/513 432/556/479 429/553/476 f 466/594/513 429/553/476 428/552/475 f 466/594/513 428/552/475 467/595/514 f 467/595/514 428/552/475 426/550/473 f 467/595/514 426/550/473 468/596/515 f 468/596/515 426/550/473 424/548/471 f 468/596/515 424/548/471 469/597/516 f 469/597/516 424/548/471 422/546/469 f 469/597/516 422/546/469 470/598/517 f 422/546/469 417/541/464 470/598/517 f 470/598/517 417/541/464 415/539/462 f 470/598/517 415/539/462 412/599/396 f 470/598/517 412/536/396 471/600/398 f 333/523/331 483/601/518 482/602/409 f 333/523/331 484/603/519 483/601/518 f 334/522/447 484/603/519 333/523/331 f 334/522/447 485/604/520 484/603/519 f 334/522/447 486/605/521 485/604/520 f 335/524/448 486/605/521 334/522/447 f 336/525/449 486/605/521 335/524/448 f 336/525/449 487/606/522 486/605/521 f 336/525/449 488/607/523 487/606/522 f 339/528/452 488/607/523 336/525/449 f 339/528/452 489/608/524 488/607/523 f 340/529/453 489/608/524 339/528/452 f 340/529/453 490/609/525 489/608/524 f 490/609/525 340/529/453 491/610/526 f 491/610/526 340/529/453 341/530/454 f 491/610/526 341/530/454 492/611/527 f 492/611/527 341/530/454 493/612/528 f 341/530/454 494/613/529 493/612/528 f 341/530/454 342/531/455 494/613/529 f 342/531/455 344/533/457 494/613/529 f 342/531/455 343/532/456 344/533/457 f 494/613/529 344/533/457 495/531/530 f 495/531/530 344/533/457 496/532/531 f 344/533/457 346/520/459 496/532/531 f 344/533/457 345/534/458 346/520/459 f 496/532/531 346/520/459 347/518/460 f 497/526/532 496/532/531 347/518/460 f 495/531/530 496/532/531 497/526/532 f 495/531/530 497/526/532 498/527/533 f 497/526/532 499/525/534 498/527/533 f 499/525/534 497/526/532 347/518/460 f 347/518/460 500/524/535 499/525/534 f 347/518/460 501/522/536 500/524/535 f 347/518/460 348/519/332 501/522/536 f 348/519/332 502/523/410 501/522/536 f 532/614/440 534/615/537 533/616/441 f 531/617/439 534/615/537 532/618/440 f 531/617/439 535/619/538 534/615/537 f 414/537/461 535/619/538 531/617/439 f 414/537/461 416/540/463 535/619/538 f 416/540/463 536/620/539 535/619/538 f 416/540/463 537/621/540 536/620/539 f 416/540/463 538/622/541 537/621/540 f 418/542/465 538/622/541 416/540/463 f 418/542/465 539/623/542 538/622/541 f 419/543/466 539/623/542 418/542/465 f 540/624/543 539/623/542 419/543/466 f 540/624/543 541/625/544 539/623/542 f 542/626/545 541/625/544 540/624/543 f 542/626/545 543/627/546 541/625/544 f 544/628/547 543/627/546 542/626/545 f 544/628/547 545/629/548 543/627/546 f 544/628/547 546/630/549 545/629/548 f 544/628/547 547/631/550 546/630/549 f 548/632/551 547/631/550 544/628/547 f 548/632/551 549/633/552 547/631/550 f 550/634/553 549/633/552 548/632/551 f 551/635/554 549/633/552 550/634/553 f 551/635/554 552/636/555 549/633/552 f 551/635/554 553/637/556 552/636/555 f 554/638/557 553/637/556 551/635/554 f 554/638/557 555/639/558 553/637/556 f 556/640/559 555/639/558 554/638/557 f 556/640/559 557/641/560 555/639/558 f 556/640/559 558/642/561 557/641/560 f 559/643/562 558/642/561 556/640/559 f 560/644/563 559/643/562 556/640/559 f 560/644/563 556/640/559 561/645/564 f 561/645/564 556/640/559 562/646/565 f 556/640/559 554/638/557 562/646/565 f 562/646/565 554/638/557 563/647/566 f 563/647/566 554/638/557 564/648/567 f 554/638/557 550/634/553 564/648/567 f 550/634/553 554/638/557 551/635/554 f 564/648/567 550/634/553 565/649/568 f 550/634/553 566/650/569 565/649/568 f 550/634/553 548/632/551 566/650/569 f 548/632/551 542/626/545 566/650/569 f 548/632/551 544/628/547 542/626/545 f 566/650/569 542/626/545 540/624/543 f 566/650/569 540/624/543 567/651/570 f 567/651/570 540/624/543 419/543/466 f 420/544/467 567/651/570 419/543/466 f 420/544/467 568/652/571 567/651/570 f 421/545/468 568/652/571 420/544/467 f 423/547/470 568/652/571 421/545/468 f 423/547/470 569/653/572 568/652/571 f 425/549/472 569/653/572 423/547/470 f 425/549/472 570/654/573 569/653/572 f 427/551/474 570/654/573 425/549/472 f 427/551/474 571/655/574 570/654/573 f 427/551/474 430/554/477 571/655/574 f 430/554/477 572/656/575 571/655/574 f 573/657/576 572/656/575 430/554/477 f 573/657/576 574/658/577 572/656/575 f 573/657/576 575/659/578 574/658/577 f 573/657/576 576/660/579 575/659/578 f 577/661/580 576/660/579 573/657/576 f 577/661/580 578/662/581 576/660/579 f 579/663/582 578/662/581 577/661/580 f 579/663/582 580/664/583 578/662/581 f 579/663/582 581/665/584 580/664/583 f 582/666/585 581/665/584 579/663/582 f 582/666/585 583/667/586 581/665/584 f 584/668/587 583/667/586 582/666/585 f 584/668/587 585/669/588 583/667/586 f 586/670/589 585/669/588 584/668/587 f 586/670/589 584/668/587 489/608/524 f 489/608/524 584/668/587 587/671/590 f 587/671/590 584/668/587 588/672/591 f 588/672/591 584/668/587 582/666/585 f 588/672/591 582/666/585 589/673/592 f 589/673/592 582/666/585 590/674/593 f 590/674/593 582/666/585 577/661/580 f 582/666/585 579/663/582 577/661/580 f 590/674/593 577/661/580 431/555/478 f 431/555/478 577/661/580 573/657/576 f 431/555/478 573/657/576 430/554/477 f 591/675/594 590/674/593 431/555/478 f 591/675/594 589/673/592 590/674/593 f 449/575/496 589/676/592 591/677/594 f 449/575/496 450/576/497 589/676/592 f 450/576/497 592/678/595 589/676/592 f 450/576/497 593/679/596 592/678/595 f 451/577/498 593/679/596 450/576/497 f 451/577/498 594/680/597 593/679/596 f 454/580/501 594/680/597 451/577/498 f 454/580/501 595/681/598 594/680/597 f 455/581/502 595/681/598 454/580/501 f 595/681/598 455/581/502 587/682/590 f 455/581/502 457/583/504 587/682/590 f 489/608/524 587/671/590 457/683/504 f 489/608/524 457/683/504 488/607/523 f 457/583/504 458/584/505 488/684/523 f 488/684/523 458/584/505 596/685/599 f 458/584/505 462/588/509 596/685/599 f 462/588/509 463/589/510 596/685/599 f 488/684/523 596/685/599 463/589/510 f 488/684/523 463/589/510 487/686/522 f 487/686/522 463/589/510 464/590/511 f 487/686/522 464/590/511 465/591/512 f 487/606/522 465/592/512 486/605/521 f 486/605/521 465/592/512 597/687/600 f 465/592/512 466/594/513 597/687/600 f 597/687/600 466/594/513 467/595/514 f 597/687/600 467/595/514 483/601/518 f 483/601/518 467/595/514 598/688/601 f 467/595/514 468/596/515 598/688/601 f 598/688/601 468/596/515 469/597/516 f 598/688/601 469/597/516 470/598/517 f 482/689/409 598/688/601 470/598/517 f 483/601/518 598/688/601 482/690/409 f 482/689/409 470/598/517 471/691/398 f 484/603/519 597/687/600 483/601/518 f 484/603/519 485/604/520 597/687/600 f 485/604/520 486/605/521 597/687/600 f 595/681/598 587/682/590 599/692/602 f 587/682/590 600/693/603 599/692/602 f 587/682/590 588/694/591 600/693/603 f 588/694/591 592/678/595 600/693/603 f 588/694/591 589/676/592 592/678/595 f 600/693/603 592/678/595 593/679/596 f 599/692/602 600/693/603 593/679/596 f 599/692/602 593/679/596 594/680/597 f 595/681/598 599/692/602 594/680/597 f 449/575/496 591/677/594 601/695/604 f 591/677/594 433/559/480 601/695/604 f 591/675/594 431/555/478 433/557/480 f 601/695/604 433/559/480 602/696/605 f 602/696/605 433/559/480 435/561/482 f 435/561/482 601/695/604 602/696/605 f 601/695/604 435/561/482 603/697/606 f 603/697/606 435/561/482 445/571/492 f 445/571/492 435/561/482 436/562/483 f 445/571/492 436/562/483 437/563/484 f 447/573/494 603/697/606 445/571/492 f 449/575/496 603/697/606 447/573/494 f 449/575/496 601/695/604 603/697/606 f 490/609/525 586/670/589 489/608/524 f 585/669/588 604/698/607 583/667/586 f 583/667/586 604/698/607 605/699/608 f 604/698/607 606/700/609 605/699/608 f 604/698/607 607/701/610 606/700/609 f 608/702/611 606/700/609 607/701/610 f 608/702/611 609/703/612 606/700/609 f 608/702/611 610/704/613 609/703/612 f 608/702/611 611/705/614 610/704/613 f 612/706/615 611/705/614 608/702/611 f 607/701/610 612/706/615 608/702/611 f 611/705/614 613/707/616 610/704/613 f 611/705/614 614/708/617 613/707/616 f 614/708/617 615/709/618 613/707/616 f 613/707/616 615/709/618 616/710/619 f 616/710/619 615/709/618 617/711/620 f 615/709/618 618/712/621 617/711/620 f 619/713/622 617/711/620 618/712/621 f 619/713/622 620/714/623 617/711/620 f 621/715/624 620/714/623 619/713/622 f 621/715/624 622/716/625 620/714/623 f 623/717/626 622/716/625 621/715/624 f 623/717/626 624/718/627 622/716/625 f 625/719/628 624/718/627 623/717/626 f 625/719/628 626/720/629 624/718/627 f 625/719/628 627/721/630 626/720/629 f 628/722/631 627/721/630 625/719/628 f 628/722/631 629/723/632 627/721/630 f 630/724/633 629/723/632 628/722/631 f 630/724/633 631/725/634 629/723/632 f 632/695/635 631/559/634 630/677/633 f 632/695/635 633/696/636 631/559/634 f 632/695/635 634/561/637 633/696/636 f 632/695/635 635/697/638 634/561/637 f 636/575/639 635/697/638 632/695/635 f 637/573/640 635/697/638 636/575/639 f 637/573/640 638/571/641 635/697/638 f 639/572/642 638/571/641 637/573/640 f 639/572/642 640/570/643 638/571/641 f 641/588/644 640/570/643 639/572/642 f 642/589/645 640/570/643 641/588/644 f 640/570/643 642/589/645 643/569/646 f 642/589/645 644/590/647 643/569/646 f 645/686/648 644/590/647 642/589/645 f 645/686/648 646/591/649 644/590/647 f 645/726/648 647/727/650 646/728/649 f 499/525/534 647/605/650 645/606/648 f 499/525/534 500/524/535 647/605/650 f 500/524/535 501/522/536 647/605/650 f 501/522/536 648/604/651 647/605/650 f 501/522/536 649/603/652 648/604/651 f 501/522/536 502/523/410 649/603/652 f 502/729/410 650/730/653 649/731/652 f 502/729/410 533/616/441 650/730/653 f 650/730/653 533/616/441 651/732/654 f 533/616/441 534/615/537 651/732/654 f 534/615/537 652/733/655 651/732/654 f 534/615/537 653/734/656 652/733/655 f 536/620/539 653/734/656 534/615/537 f 536/620/539 654/735/657 653/734/656 f 536/620/539 655/736/658 654/735/657 f 656/737/659 655/736/658 536/620/539 f 655/736/658 656/737/659 657/738/660 f 657/738/660 656/737/659 658/739/661 f 658/739/661 656/737/659 659/740/662 f 659/740/662 656/737/659 537/621/540 f 537/621/540 656/737/659 536/620/539 f 538/622/541 659/740/662 537/621/540 f 538/622/541 660/741/663 659/740/662 f 539/623/542 660/741/663 538/622/541 f 661/742/664 660/741/663 539/623/542 f 661/742/664 659/740/662 660/741/663 f 662/743/665 659/740/662 661/742/664 f 659/740/662 662/743/665 658/739/661 f 545/629/548 658/739/661 662/743/665 f 663/744/666 658/739/661 545/629/548 f 657/738/660 658/739/661 663/744/666 f 664/745/667 657/738/660 663/744/666 f 665/746/668 657/738/660 664/745/667 f 655/736/658 657/738/660 665/746/668 f 654/735/657 655/736/658 665/746/668 f 666/747/669 654/735/657 665/746/668 f 654/735/657 666/747/669 653/734/656 f 653/734/656 666/747/669 667/748/670 f 667/748/670 666/747/669 668/749/671 f 668/749/671 666/747/669 669/750/672 f 666/747/669 665/746/668 669/750/672 f 669/750/672 665/746/668 670/751/673 f 670/751/673 665/746/668 664/745/667 f 671/752/674 670/751/673 664/745/667 f 672/753/675 670/751/673 671/752/674 f 673/754/676 670/751/673 672/753/675 f 673/754/676 674/755/677 670/751/673 f 675/756/678 674/755/677 673/754/676 f 676/757/679 674/755/677 675/756/678 f 676/757/679 677/758/680 674/755/677 f 678/759/681 677/758/680 676/757/679 f 678/759/681 668/749/671 677/758/680 f 679/760/682 668/749/671 678/759/681 f 679/760/682 667/748/670 668/749/671 f 667/748/670 679/760/682 680/761/683 f 680/761/683 679/760/682 681/762/684 f 681/762/684 679/760/682 682/763/685 f 682/763/685 679/760/682 678/759/681 f 683/764/686 682/763/685 678/759/681 f 684/765/687 682/763/685 683/764/686 f 684/765/687 681/762/684 682/763/685 f 685/766/688 681/762/684 684/765/687 f 685/766/688 650/730/653 681/762/684 f 649/731/652 650/730/653 685/766/688 f 648/767/651 649/731/652 685/766/688 f 647/727/650 648/767/651 685/766/688 f 685/766/688 646/728/649 647/727/650 f 685/766/688 684/765/687 646/728/649 f 646/728/649 684/765/687 686/768/689 f 686/768/689 684/765/687 687/769/690 f 687/769/690 684/765/687 683/764/686 f 687/769/690 683/764/686 629/723/632 f 683/764/686 688/770/691 629/723/632 f 683/764/686 678/759/681 688/770/691 f 678/759/681 676/757/679 688/770/691 f 688/770/691 676/757/679 689/771/692 f 676/757/679 675/756/678 689/771/692 f 689/771/692 675/756/678 690/772/693 f 690/772/693 675/756/678 691/773/694 f 691/773/694 675/756/678 673/754/676 f 691/773/694 673/754/676 692/774/695 f 692/774/695 673/754/676 672/753/675 f 692/774/695 672/753/675 693/775/696 f 693/775/696 672/753/675 694/776/697 f 694/776/697 672/753/675 671/752/674 f 694/776/697 671/752/674 695/777/698 f 671/752/674 664/745/667 695/777/698 f 695/777/698 664/745/667 663/744/666 f 695/777/698 663/744/666 546/630/549 f 546/630/549 663/744/666 545/629/548 f 696/778/699 695/777/698 546/630/549 f 696/778/699 697/779/700 695/777/698 f 696/778/699 698/780/701 697/779/700 f 696/778/699 699/781/702 698/780/701 f 700/782/703 699/781/702 696/778/699 f 701/783/704 699/781/702 700/782/703 f 701/783/704 698/780/701 699/781/702 f 702/784/705 698/780/701 701/783/704 f 702/784/705 703/785/706 698/780/701 f 704/786/707 703/785/706 702/784/705 f 705/787/708 703/785/706 704/786/707 f 694/776/697 703/785/706 705/787/708 f 697/779/700 703/785/706 694/776/697 f 698/780/701 703/785/706 697/779/700 f 694/776/697 695/777/698 697/779/700 f 706/788/709 694/776/697 705/787/708 f 706/788/709 693/775/696 694/776/697 f 707/789/710 693/775/696 706/788/709 f 707/789/710 692/774/695 693/775/696 f 691/773/694 692/774/695 707/789/710 f 708/790/711 691/773/694 707/789/710 f 708/790/711 709/791/712 691/773/694 f 710/792/713 709/791/712 708/790/711 f 709/791/712 710/792/713 711/793/714 f 712/794/715 711/793/714 710/792/713 f 713/795/716 711/793/714 712/794/715 f 713/795/716 714/796/717 711/793/714 f 715/797/718 714/796/717 713/795/716 f 715/797/718 716/798/719 714/796/717 f 717/799/720 716/798/719 715/797/718 f 718/800/721 716/798/719 717/799/720 f 718/800/721 719/801/722 716/798/719 f 718/800/721 720/802/723 719/801/722 f 721/803/724 720/802/723 718/800/721 f 721/803/724 722/804/725 720/802/723 f 723/805/726 722/804/725 721/803/724 f 723/805/726 724/806/727 722/804/725 f 725/807/728 724/806/727 723/805/726 f 726/808/729 724/806/727 725/807/728 f 727/809/730 724/806/727 726/808/729 f 727/809/730 728/810/731 724/806/727 f 729/811/732 728/810/731 727/809/730 f 730/812/733 728/810/731 729/811/732 f 731/813/734 728/810/731 730/812/733 f 731/813/734 732/814/735 728/810/731 f 731/813/734 733/815/736 732/814/735 f 734/816/737 733/815/736 731/813/734 f 734/816/737 735/817/738 733/815/736 f 734/816/737 689/771/692 735/817/738 f 734/816/737 688/770/691 689/771/692 f 629/723/632 688/770/691 734/816/737 f 629/723/632 734/816/737 627/721/630 f 627/721/630 734/816/737 731/813/734 f 627/721/630 731/813/734 736/818/739 f 736/818/739 731/813/734 737/819/740 f 737/819/740 731/813/734 730/812/733 f 737/819/740 730/812/733 738/820/741 f 738/820/741 730/812/733 729/811/732 f 738/820/741 729/811/732 739/821/742 f 739/821/742 729/811/732 740/822/743 f 729/811/732 727/809/730 740/822/743 f 740/822/743 727/809/730 741/823/744 f 741/823/744 727/809/730 742/824/745 f 727/809/730 726/808/729 742/824/745 f 742/824/745 726/808/729 743/825/746 f 743/825/746 726/808/729 725/807/728 f 744/826/747 743/825/746 725/807/728 f 745/827/748 743/825/746 744/826/747 f 745/827/748 746/828/749 743/825/746 f 747/829/750 746/828/749 745/827/748 f 747/829/750 748/830/751 746/828/749 f 749/831/752 748/830/751 747/829/750 f 749/831/752 750/832/753 748/830/751 f 749/831/752 751/833/754 750/832/753 f 752/834/755 751/833/754 749/831/752 f 752/834/755 753/835/756 751/833/754 f 752/834/755 754/836/757 753/835/756 f 755/837/758 754/836/757 752/834/755 f 755/837/758 756/838/759 754/836/757 f 757/839/760 756/838/759 755/837/758 f 757/839/760 758/840/761 756/838/759 f 759/841/762 758/840/761 757/839/760 f 760/842/763 758/840/761 759/841/762 f 760/842/763 761/843/764 758/840/761 f 762/844/765 761/843/764 760/842/763 f 762/844/765 763/845/766 761/843/764 f 764/846/767 763/845/766 762/844/765 f 764/846/767 765/847/768 763/845/766 f 766/848/769 765/847/768 764/846/767 f 767/849/770 765/847/768 766/848/769 f 767/849/770 768/850/771 765/847/768 f 769/851/772 768/850/771 767/849/770 f 769/851/772 739/821/742 768/850/771 f 770/852/773 739/821/742 769/851/772 f 738/820/741 739/821/742 770/852/773 f 771/853/774 738/820/741 770/852/773 f 737/819/740 738/820/741 771/853/774 f 772/854/775 737/819/740 771/853/774 f 772/854/775 736/818/739 737/819/740 f 626/720/629 736/818/739 772/854/775 f 626/720/629 627/721/630 736/818/739 f 626/720/629 772/854/775 624/718/627 f 624/718/627 772/854/775 773/855/776 f 772/854/775 771/853/774 773/855/776 f 773/855/776 771/853/774 769/851/772 f 771/853/774 770/852/773 769/851/772 f 773/855/776 769/851/772 774/856/777 f 774/856/777 769/851/772 767/849/770 f 774/856/777 767/849/770 766/848/769 f 774/856/777 766/848/769 775/857/778 f 775/857/778 766/848/769 764/846/767 f 775/857/778 764/846/767 776/858/779 f 776/858/779 764/846/767 777/859/780 f 777/859/780 764/846/767 762/844/765 f 777/859/780 762/844/765 778/860/781 f 778/860/781 762/844/765 779/861/782 f 762/844/765 780/862/783 779/861/782 f 781/863/784 780/862/783 762/844/765 f 782/864/785 780/862/783 781/863/784 f 783/865/786 780/862/783 782/864/785 f 779/861/782 780/862/783 783/865/786 f 779/861/782 783/865/786 784/866/787 f 784/866/787 783/865/786 785/867/788 f 785/867/788 783/865/786 786/868/789 f 786/868/789 783/865/786 782/864/785 f 782/864/785 787/869/790 786/868/789 f 782/864/785 781/863/784 787/869/790 f 781/863/784 788/870/791 787/869/790 f 781/863/784 759/841/762 788/870/791 f 760/842/763 759/841/762 781/863/784 f 762/844/765 760/842/763 781/863/784 f 788/870/791 759/841/762 757/839/760 f 788/870/791 757/839/760 789/871/792 f 757/839/760 790/872/793 789/871/792 f 755/837/758 790/872/793 757/839/760 f 791/873/794 790/872/793 755/837/758 f 789/871/792 790/872/793 791/873/794 f 792/874/795 789/871/792 791/873/794 f 793/875/796 789/871/792 792/874/795 f 793/875/796 788/870/791 789/871/792 f 794/876/797 788/870/791 793/875/796 f 787/869/790 788/870/791 794/876/797 f 786/868/789 787/869/790 794/876/797 f 786/868/789 794/876/797 795/877/798 f 794/876/797 796/878/799 795/877/798 f 794/876/797 793/875/796 796/878/799 f 792/874/795 796/878/799 793/875/796 f 797/879/800 796/878/799 792/874/795 f 797/879/800 798/880/801 796/878/799 f 797/879/800 799/881/802 798/880/801 f 800/882/803 799/881/802 797/879/800 f 800/882/803 801/883/804 799/881/802 f 800/882/803 802/884/805 801/883/804 f 803/885/806 802/884/805 800/882/803 f 803/885/806 745/827/748 802/884/805 f 803/885/806 747/829/750 745/827/748 f 791/873/794 747/829/750 803/885/806 f 749/831/752 747/829/750 791/873/794 f 755/837/758 749/831/752 791/873/794 f 755/837/758 752/834/755 749/831/752 f 792/874/795 791/873/794 803/885/806 f 803/885/806 797/879/800 792/874/795 f 803/885/806 800/882/803 797/879/800 f 802/884/805 745/827/748 744/826/747 f 802/884/805 744/826/747 801/883/804 f 801/883/804 744/826/747 804/886/807 f 744/826/747 725/807/728 804/886/807 f 804/886/807 725/807/728 723/805/726 f 804/886/807 723/805/726 805/887/808 f 805/887/808 723/805/726 806/888/809 f 723/805/726 721/803/724 806/888/809 f 806/888/809 721/803/724 807/889/810 f 721/803/724 718/800/721 807/889/810 f 807/889/810 718/800/721 717/799/720 f 808/890/811 807/889/810 717/799/720 f 806/888/809 807/889/810 808/890/811 f 809/891/812 806/888/809 808/890/811 f 810/892/813 806/888/809 809/891/812 f 810/892/813 805/887/808 806/888/809 f 798/880/801 805/887/808 810/892/813 f 798/880/801 811/893/814 805/887/808 f 799/881/802 811/893/814 798/880/801 f 799/881/802 801/883/804 811/893/814 f 801/883/804 804/886/807 811/893/814 f 811/893/814 804/886/807 805/887/808 f 796/878/799 798/880/801 810/892/813 f 796/878/799 810/892/813 812/894/815 f 812/894/815 810/892/813 809/891/812 f 812/894/815 809/891/812 813/895/816 f 809/891/812 814/896/817 813/895/816 f 809/891/812 808/890/811 814/896/817 f 808/890/811 815/897/818 814/896/817 f 816/898/819 815/897/818 808/890/811 f 817/899/820 815/897/818 816/898/819 f 817/899/820 818/900/821 815/897/818 f 817/899/820 819/901/822 818/900/821 f 820/902/823 819/901/822 817/899/820 f 715/797/718 819/901/822 820/902/823 f 715/797/718 821/903/824 819/901/822 f 822/904/825 821/903/824 715/797/718 f 822/904/825 823/905/826 821/903/824 f 824/906/827 823/905/826 822/904/825 f 824/906/827 825/907/828 823/905/826 f 824/906/827 826/908/829 825/907/828 f 827/909/830 826/908/829 824/906/827 f 827/909/830 828/910/831 826/908/829 f 829/911/832 828/910/831 827/909/830 f 828/910/831 829/911/832 830/912/833 f 830/912/833 829/911/832 831/913/834 f 831/913/834 829/911/832 827/909/830 f 831/913/834 827/909/830 832/914/835 f 833/915/836 832/914/835 827/909/830 f 834/916/837 832/914/835 833/915/836 f 831/913/834 832/914/835 834/916/837 f 834/916/837 835/917/838 831/913/834 f 836/918/839 835/917/838 834/916/837 f 837/919/840 835/917/838 836/918/839 f 837/919/840 831/913/834 835/917/838 f 837/919/840 838/920/841 831/913/834 f 839/921/842 838/920/841 837/919/840 f 839/921/842 830/912/833 838/920/841 f 839/921/842 840/922/843 830/912/833 f 841/923/844 840/922/843 839/921/842 f 841/923/844 842/924/845 840/922/843 f 814/896/817 842/924/845 841/923/844 f 814/896/817 843/925/846 842/924/845 f 815/897/818 843/925/846 814/896/817 f 815/897/818 844/926/847 843/925/846 f 818/900/821 844/926/847 815/897/818 f 819/901/822 844/926/847 818/900/821 f 819/901/822 821/903/824 844/926/847 f 821/903/824 845/927/848 844/926/847 f 823/905/826 845/927/848 821/903/824 f 825/907/828 845/927/848 823/905/826 f 828/910/831 845/927/848 825/907/828 f 844/926/847 845/927/848 828/910/831 f 844/926/847 828/910/831 846/928/849 f 846/928/849 828/910/831 830/912/833 f 846/928/849 830/912/833 840/922/843 f 842/924/845 846/928/849 840/922/843 f 843/925/846 846/928/849 842/924/845 f 844/926/847 846/928/849 843/925/846 f 825/907/828 826/908/829 828/910/831 f 847/929/850 814/896/817 841/923/844 f 813/895/816 814/896/817 847/929/850 f 848/930/851 813/895/816 847/929/850 f 812/894/815 813/895/816 848/930/851 f 795/877/798 812/894/815 848/930/851 f 795/877/798 796/878/799 812/894/815 f 795/877/798 848/930/851 849/931/852 f 849/931/852 848/930/851 850/932/853 f 850/932/853 848/930/851 851/933/854 f 848/930/851 847/929/850 851/933/854 f 851/933/854 847/929/850 852/934/855 f 852/934/855 847/929/850 841/923/844 f 852/934/855 841/923/844 853/935/856 f 853/935/856 841/923/844 839/921/842 f 854/936/857 853/935/856 839/921/842 f 852/934/855 853/935/856 854/936/857 f 852/934/855 854/936/857 855/937/858 f 855/937/858 854/936/857 856/938/859 f 854/936/857 857/939/860 856/938/859 f 854/936/857 858/940/861 857/939/860 f 854/936/857 839/921/842 858/940/861 f 858/940/861 839/921/842 837/919/840 f 859/941/862 858/940/861 837/919/840 f 857/939/860 858/940/861 859/941/862 f 860/942/863 857/939/860 859/941/862 f 856/938/859 857/939/860 860/942/863 f 861/943/864 856/938/859 860/942/863 f 856/938/859 861/943/864 862/944/865 f 862/944/865 861/943/864 863/945/866 f 863/945/866 861/943/864 864/946/867 f 864/946/867 861/943/864 865/947/868 f 865/947/868 861/943/864 866/948/869 f 861/943/864 860/942/863 866/948/869 f 860/942/863 859/941/862 866/948/869 f 866/948/869 859/941/862 836/918/839 f 859/941/862 837/919/840 836/918/839 f 867/949/870 866/948/869 836/918/839 f 868/950/871 866/948/869 867/949/870 f 868/950/871 869/951/872 866/948/869 f 870/952/873 869/951/872 868/950/871 f 870/952/873 871/953/874 869/951/872 f 872/954/875 871/953/874 870/952/873 f 872/954/875 864/946/867 871/953/874 f 863/945/866 864/946/867 872/954/875 f 862/944/865 863/945/866 872/954/875 f 873/955/876 862/944/865 872/954/875 f 874/956/877 862/944/865 873/955/876 f 875/957/878 862/944/865 874/956/877 f 875/957/878 856/938/859 862/944/865 f 876/958/879 856/938/859 875/957/878 f 855/937/858 856/938/859 876/958/879 f 877/959/880 855/937/858 876/958/879 f 878/960/881 855/937/858 877/959/880 f 878/960/881 852/934/855 855/937/858 f 879/961/882 852/934/855 878/960/881 f 879/961/882 851/933/854 852/934/855 f 880/962/883 851/933/854 879/961/882 f 880/962/883 850/932/853 851/933/854 f 881/963/884 850/932/853 880/962/883 f 881/963/884 785/867/788 850/932/853 f 784/866/787 785/867/788 881/963/884 f 882/964/885 784/866/787 881/963/884 f 882/964/885 778/860/781 784/866/787 f 883/965/886 778/860/781 882/964/885 f 883/965/886 777/859/780 778/860/781 f 884/966/887 777/859/780 883/965/886 f 884/966/887 776/858/779 777/859/780 f 885/967/888 776/858/779 884/966/887 f 885/967/888 886/968/889 776/858/779 f 887/969/890 886/968/889 885/967/888 f 887/969/890 888/970/891 886/968/889 f 889/971/892 888/970/891 887/969/890 f 620/714/623 888/970/891 889/971/892 f 620/714/623 890/972/893 888/970/891 f 622/716/625 890/972/893 620/714/623 f 622/716/625 891/973/894 890/972/893 f 622/716/625 773/855/776 891/973/894 f 622/716/625 624/718/627 773/855/776 f 773/855/776 774/856/777 891/973/894 f 891/973/894 774/856/777 775/857/778 f 891/973/894 775/857/778 892/974/895 f 892/974/895 775/857/778 886/968/889 f 775/857/778 776/858/779 886/968/889 f 892/974/895 886/968/889 888/970/891 f 890/972/893 892/974/895 888/970/891 f 891/973/894 892/974/895 890/972/893 f 620/714/623 889/971/892 617/711/620 f 616/710/619 617/711/620 889/971/892 f 613/707/616 616/710/619 889/971/892 f 613/707/616 889/971/892 893/975/896 f 893/975/896 889/971/892 887/969/890 f 893/975/896 887/969/890 894/976/897 f 894/976/897 887/969/890 895/977/898 f 887/969/890 885/967/888 895/977/898 f 895/977/898 885/967/888 884/966/887 f 895/977/898 884/966/887 883/965/886 f 895/977/898 883/965/886 896/978/899 f 896/978/899 883/965/886 882/964/885 f 896/978/899 882/964/885 897/979/900 f 897/979/900 882/964/885 898/980/901 f 882/964/885 881/963/884 898/980/901 f 898/980/901 881/963/884 880/962/883 f 899/981/902 898/980/901 880/962/883 f 900/982/903 898/980/901 899/981/902 f 897/979/900 898/980/901 900/982/903 f 896/978/899 897/979/900 900/982/903 f 901/983/904 896/978/899 900/982/903 f 895/977/898 896/978/899 901/983/904 f 895/977/898 901/983/904 902/984/905 f 902/984/905 901/983/904 903/985/906 f 901/983/904 904/986/907 903/985/906 f 901/983/904 900/982/903 904/986/907 f 900/982/903 905/987/908 904/986/907 f 900/982/903 899/981/902 905/987/908 f 905/987/908 899/981/902 906/988/909 f 899/981/902 907/989/910 906/988/909 f 899/981/902 880/962/883 907/989/910 f 880/962/883 878/960/881 907/989/910 f 880/962/883 879/961/882 878/960/881 f 907/989/910 878/960/881 877/959/880 f 907/989/910 877/959/880 908/990/911 f 908/990/911 877/959/880 909/991/912 f 909/991/912 877/959/880 910/992/913 f 877/959/880 876/958/879 910/992/913 f 910/992/913 876/958/879 875/957/878 f 910/992/913 875/957/878 911/993/914 f 911/993/914 875/957/878 874/956/877 f 911/993/914 874/956/877 912/994/915 f 912/994/915 874/956/877 913/995/916 f 913/995/916 874/956/877 914/996/917 f 874/956/877 873/955/876 914/996/917 f 914/996/917 873/955/876 915/997/918 f 873/955/876 872/954/875 915/997/918 f 915/997/918 872/954/875 916/998/919 f 872/954/875 870/952/873 916/998/919 f 870/952/873 917/999/920 916/998/919 f 870/952/873 918/1000/921 917/999/920 f 870/952/873 919/1001/922 918/1000/921 f 870/952/873 868/950/871 919/1001/922 f 868/950/871 920/1002/923 919/1001/922 f 868/950/871 867/949/870 920/1002/923 f 920/1002/923 867/949/870 921/1003/924 f 867/949/870 836/918/839 921/1003/924 f 921/1003/924 836/918/839 922/1004/925 f 922/1004/925 836/918/839 834/916/837 f 922/1004/925 834/916/837 923/1005/926 f 923/1005/926 834/916/837 924/1006/927 f 924/1006/927 834/916/837 833/915/836 f 924/1006/927 833/915/836 925/1007/928 f 925/1007/928 833/915/836 926/1008/929 f 926/1008/929 833/915/836 927/1009/930 f 928/1010/931 927/1009/930 833/915/836 f 929/1011/932 927/1009/930 928/1010/931 f 929/1011/932 930/1012/933 927/1009/930 f 929/1011/932 712/794/715 930/1012/933 f 929/1011/932 713/795/716 712/794/715 f 822/904/825 713/795/716 929/1011/932 f 715/797/718 713/795/716 822/904/825 f 824/906/827 822/904/825 929/1011/932 f 929/1011/932 928/1010/931 824/906/827 f 824/906/827 928/1010/931 827/909/830 f 833/915/836 827/909/830 928/1010/931 f 930/1012/933 712/794/715 931/1013/934 f 710/792/713 931/1013/934 712/794/715 f 931/1013/934 710/792/713 932/1014/935 f 932/1014/935 710/792/713 933/1015/936 f 708/790/711 933/1015/936 710/792/713 f 933/1015/936 708/790/711 934/1016/937 f 935/1017/938 934/1016/937 708/790/711 f 936/1018/939 934/1016/937 935/1017/938 f 936/1018/939 937/1019/940 934/1016/937 f 938/1020/941 937/1019/940 936/1018/939 f 938/1020/941 932/1014/935 937/1019/940 f 939/1021/942 932/1014/935 938/1020/941 f 940/1022/943 932/1014/935 939/1021/942 f 940/1022/943 931/1013/934 932/1014/935 f 941/1023/944 931/1013/934 940/1022/943 f 941/1023/944 930/1012/933 931/1013/934 f 927/1009/930 930/1012/933 941/1023/944 f 926/1008/929 927/1009/930 941/1023/944 f 926/1008/929 941/1023/944 942/1024/945 f 942/1024/945 941/1023/944 940/1022/943 f 942/1024/945 940/1022/943 943/1025/946 f 940/1022/943 939/1021/942 943/1025/946 f 943/1025/946 939/1021/942 944/1026/947 f 944/1026/947 939/1021/942 945/1027/948 f 945/1027/948 939/1021/942 938/1020/941 f 946/1028/949 945/1027/948 938/1020/941 f 947/1029/950 945/1027/948 946/1028/949 f 947/1029/950 948/1030/951 945/1027/948 f 949/1031/952 948/1030/951 947/1029/950 f 944/1026/947 948/1030/951 949/1031/952 f 948/1030/951 944/1026/947 945/1027/948 f 949/1031/952 950/1032/953 944/1026/947 f 951/1033/954 950/1032/953 949/1031/952 f 951/1033/954 952/1034/955 950/1032/953 f 953/1035/956 952/1034/955 951/1033/954 f 954/1036/957 952/1034/955 953/1035/956 f 955/1037/958 952/1034/955 954/1036/957 f 956/1038/959 952/1034/955 955/1037/958 f 957/1039/960 952/1034/955 956/1038/959 f 957/1039/960 950/1032/953 952/1034/955 f 957/1039/960 943/1025/946 950/1032/953 f 942/1024/945 943/1025/946 957/1039/960 f 942/1024/945 957/1039/960 958/1040/961 f 958/1040/961 957/1039/960 956/1038/959 f 959/1041/962 958/1040/961 956/1038/959 f 925/1007/928 958/1040/961 959/1041/962 f 925/1007/928 926/1008/929 958/1040/961 f 926/1008/929 942/1024/945 958/1040/961 f 960/1042/963 925/1007/928 959/1041/962 f 960/1042/963 924/1006/927 925/1007/928 f 960/1042/963 923/1005/926 924/1006/927 f 923/1005/926 960/1042/963 919/1001/922 f 919/1001/922 960/1042/963 918/1000/921 f 918/1000/921 960/1042/963 961/1043/964 f 960/1042/963 959/1041/962 961/1043/964 f 961/1043/964 959/1041/962 956/1038/959 f 961/1043/964 956/1038/959 955/1037/958 f 961/1043/964 955/1037/958 962/1044/965 f 962/1044/965 955/1037/958 963/1045/966 f 955/1037/958 964/1046/967 963/1045/966 f 955/1037/958 954/1036/957 964/1046/967 f 964/1046/967 954/1036/957 965/1047/968 f 965/1047/968 954/1036/957 953/1035/956 f 965/1047/968 953/1035/956 966/1048/969 f 953/1035/956 951/1033/954 966/1048/969 f 966/1048/969 951/1033/954 967/1049/970 f 951/1033/954 968/1050/971 967/1049/970 f 951/1033/954 949/1031/952 968/1050/971 f 968/1050/971 949/1031/952 947/1029/950 f 965/1047/968 966/1048/969 558/1051/561 f 964/1046/967 965/1047/968 558/1051/561 f 964/1046/967 558/1051/561 969/1052/972 f 561/645/564 964/1046/967 969/1052/972 f 970/1053/973 964/1046/967 561/645/564 f 963/1045/966 964/1046/967 970/1053/973 f 971/1054/974 963/1045/966 970/1053/973 f 962/1044/965 963/1045/966 971/1054/974 f 917/999/920 962/1044/965 971/1054/974 f 918/1000/921 962/1044/965 917/999/920 f 918/1000/921 961/1043/964 962/1044/965 f 917/999/920 971/1054/974 972/1055/975 f 973/1056/976 972/1055/975 971/1054/974 f 974/1057/977 972/1055/975 973/1056/976 f 974/1057/977 916/998/919 972/1055/975 f 915/997/918 916/998/919 974/1057/977 f 975/1058/978 915/997/918 974/1057/977 f 914/996/917 915/997/918 975/1058/978 f 976/1059/979 914/996/917 975/1058/978 f 913/995/916 914/996/917 976/1059/979 f 977/1060/980 913/995/916 976/1059/979 f 978/1061/981 913/995/916 977/1060/980 f 978/1061/981 979/1062/982 913/995/916 f 980/1063/983 979/1062/982 978/1061/981 f 981/1064/984 979/1062/982 980/1063/983 f 981/1064/984 982/1065/985 979/1062/982 f 983/1066/986 982/1065/985 981/1064/984 f 983/1066/986 984/1067/987 982/1065/985 f 985/1068/988 984/1067/987 983/1066/986 f 985/1068/988 986/1069/989 984/1067/987 f 987/1070/990 986/1069/989 985/1068/988 f 987/1070/990 988/1071/991 986/1069/989 f 989/1072/992 988/1071/991 987/1070/990 f 990/1073/993 988/1071/991 989/1072/992 f 991/1074/994 988/1071/991 990/1073/993 f 991/1074/994 986/1069/989 988/1071/991 f 991/1074/994 909/991/912 986/1069/989 f 992/1075/995 909/991/912 991/1074/994 f 992/1075/995 908/990/911 909/991/912 f 906/988/909 908/990/911 992/1075/995 f 906/988/909 907/989/910 908/990/911 f 993/1076/996 906/988/909 992/1075/995 f 905/987/908 906/988/909 993/1076/996 f 994/1077/997 905/987/908 993/1076/996 f 904/986/907 905/987/908 994/1077/997 f 995/1078/998 904/986/907 994/1077/997 f 903/985/906 904/986/907 995/1078/998 f 996/1079/999 903/985/906 995/1078/998 f 997/1080/1000 903/985/906 996/1079/999 f 997/1080/1000 902/984/905 903/985/906 f 998/1081/1001 902/984/905 997/1080/1000 f 998/1081/1001 895/977/898 902/984/905 f 999/1082/1002 895/977/898 998/1081/1001 f 894/976/897 895/977/898 999/1082/1002 f 893/975/896 894/976/897 999/1082/1002 f 609/703/612 893/975/896 999/1082/1002 f 613/707/616 893/975/896 609/703/612 f 609/703/612 610/704/613 613/707/616 f 609/703/612 999/1082/1002 1000/1083/1003 f 999/1082/1002 1001/1084/1004 1000/1083/1003 f 999/1082/1002 998/1081/1001 1001/1084/1004 f 998/1081/1001 997/1080/1000 1001/1084/1004 f 1001/1084/1004 997/1080/1000 1002/1085/1005 f 997/1080/1000 996/1079/999 1002/1085/1005 f 1002/1085/1005 996/1079/999 1003/1086/1006 f 996/1079/999 1004/1087/1007 1003/1086/1006 f 996/1079/999 1005/1088/1008 1004/1087/1007 f 996/1079/999 995/1078/998 1005/1088/1008 f 1005/1088/1008 995/1078/998 1006/1089/1009 f 995/1078/998 1007/1090/1010 1006/1089/1009 f 995/1078/998 1008/1091/1011 1007/1090/1010 f 995/1078/998 1009/1092/1012 1008/1091/1011 f 995/1078/998 994/1077/997 1009/1092/1012 f 994/1077/997 993/1076/996 1009/1092/1012 f 1009/1092/1012 993/1076/996 1010/1093/1013 f 1010/1093/1013 993/1076/996 992/1075/995 f 1010/1093/1013 992/1075/995 1011/1094/1014 f 1011/1094/1014 992/1075/995 991/1074/994 f 1011/1094/1014 991/1074/994 990/1073/993 f 1008/1091/1011 1011/1094/1014 990/1073/993 f 1008/1091/1011 1010/1093/1013 1011/1094/1014 f 1009/1092/1012 1010/1093/1013 1008/1091/1011 f 1008/1091/1011 990/1073/993 1012/1095/1015 f 1013/1096/1016 1012/1095/1015 990/1073/993 f 1014/1097/1017 1012/1095/1015 1013/1096/1016 f 1007/1090/1010 1012/1095/1015 1014/1097/1017 f 1007/1090/1010 1008/1091/1011 1012/1095/1015 f 1006/1089/1009 1007/1090/1010 1014/1097/1017 f 1006/1089/1009 1014/1097/1017 1015/1098/1018 f 1015/1098/1018 1014/1097/1017 1016/1099/1019 f 1016/1099/1019 1014/1097/1017 1013/1096/1016 f 1016/1099/1019 1013/1096/1016 1017/1100/1020 f 1017/1100/1020 1013/1096/1016 1018/1101/1021 f 1013/1096/1016 989/1072/992 1018/1101/1021 f 1013/1096/1016 990/1073/993 989/1072/992 f 1019/1102/1022 1018/1101/1021 989/1072/992 f 1017/1100/1020 1018/1101/1021 1019/1102/1022 f 1017/1100/1020 1019/1102/1022 1020/1103/1023 f 1020/1103/1023 1019/1102/1022 1021/1104/1024 f 1019/1102/1022 1022/1105/1025 1021/1104/1024 f 1022/1105/1025 1019/1102/1022 987/1070/990 f 1019/1102/1022 989/1072/992 987/1070/990 f 1022/1105/1025 987/1070/990 985/1068/988 f 1022/1105/1025 985/1068/988 1023/1106/1026 f 1023/1106/1026 985/1068/988 983/1066/986 f 1023/1106/1026 983/1066/986 981/1064/984 f 1024/1107/1027 1023/1106/1026 981/1064/984 f 1022/1105/1025 1023/1106/1026 1024/1107/1027 f 1022/1105/1025 1024/1107/1027 1025/1108/1028 f 1024/1107/1027 980/1063/983 1025/1108/1028 f 1024/1107/1027 981/1064/984 980/1063/983 f 1025/1108/1028 980/1063/983 1026/1109/1029 f 1026/1109/1029 980/1063/983 978/1061/981 f 1026/1109/1029 978/1061/981 1027/1110/1030 f 1027/1110/1030 978/1061/981 977/1060/980 f 1028/1111/1031 1027/1110/1030 977/1060/980 f 1028/1111/1031 1029/1112/1032 1027/1110/1030 f 1030/1113/1033 1029/1112/1032 1028/1111/1031 f 1031/1114/1034 1029/1112/1032 1030/1113/1033 f 1031/1114/1034 1032/1115/1035 1029/1112/1032 f 1031/1114/1034 1033/1116/1036 1032/1115/1035 f 1034/1117/1037 1033/1116/1036 1031/1114/1034 f 1035/1118/1038 1033/1116/1036 1034/1117/1037 f 1020/1103/1023 1033/1116/1036 1035/1118/1038 f 1020/1103/1023 1021/1104/1024 1033/1116/1036 f 1033/1116/1036 1021/1104/1024 1036/1119/1039 f 1021/1104/1024 1025/1108/1028 1036/1119/1039 f 1022/1105/1025 1025/1108/1028 1021/1104/1024 f 1036/1119/1039 1025/1108/1028 1026/1109/1029 f 1032/1115/1035 1036/1119/1039 1026/1109/1029 f 1032/1115/1035 1033/1116/1036 1036/1119/1039 f 1032/1115/1035 1026/1109/1029 1029/1112/1032 f 1029/1112/1032 1026/1109/1029 1027/1110/1030 f 1037/1120/1040 1020/1103/1023 1035/1118/1038 f 1038/1121/1041 1020/1103/1023 1037/1120/1040 f 1038/1121/1041 1017/1100/1020 1020/1103/1023 f 1039/1122/1042 1017/1100/1020 1038/1121/1041 f 1039/1122/1042 1016/1099/1019 1017/1100/1020 f 1015/1098/1018 1016/1099/1019 1039/1122/1042 f 1040/1123/1043 1015/1098/1018 1039/1122/1042 f 1041/1124/1044 1015/1098/1018 1040/1123/1043 f 1006/1089/1009 1015/1098/1018 1041/1124/1044 f 1004/1087/1007 1006/1089/1009 1041/1124/1044 f 1005/1088/1008 1006/1089/1009 1004/1087/1007 f 1004/1087/1007 1041/1124/1044 1042/1125/1045 f 1041/1124/1044 1043/1126/1046 1042/1125/1045 f 1041/1124/1044 1040/1123/1043 1043/1126/1046 f 1040/1123/1043 1044/1127/1047 1043/1126/1046 f 1039/1122/1042 1045/1128/1048 1040/1123/1043 f 1045/1128/1048 1039/1122/1042 1038/1121/1041 f 1045/1128/1048 1038/1121/1041 1037/1120/1040 f 1046/1129/1049 1045/1128/1048 1037/1120/1040 f 1045/1128/1048 1046/1129/1049 1044/1127/1047 f 1047/1130/1050 1044/1127/1047 1046/1129/1049 f 1043/1126/1046 1044/1127/1047 1047/1130/1050 f 1048/1131/1051 1043/1126/1046 1047/1130/1050 f 1048/1131/1051 1042/1125/1045 1043/1126/1046 f 1049/1132/1052 1042/1125/1045 1048/1131/1051 f 1049/1132/1052 1050/1133/1053 1042/1125/1045 f 1051/1134/1054 1050/1133/1053 1049/1132/1052 f 1051/1134/1054 1003/1086/1006 1050/1133/1053 f 1051/1134/1054 1002/1085/1005 1003/1086/1006 f 1052/1135/1055 1002/1085/1005 1051/1134/1054 f 1052/1135/1055 1053/1136/1056 1002/1085/1005 f 1052/1135/1055 1054/1137/1057 1053/1136/1056 f 605/699/608 1054/1137/1057 1052/1135/1055 f 605/699/608 606/700/609 1054/1137/1057 f 606/700/609 1000/1083/1003 1054/1137/1057 f 606/700/609 609/703/612 1000/1083/1003 f 1000/1083/1003 1053/1136/1056 1054/1137/1057 f 1053/1136/1056 1000/1083/1003 1001/1084/1004 f 1053/1136/1056 1001/1084/1004 1002/1085/1005 f 605/699/608 1052/1135/1055 1055/1138/1058 f 1055/1138/1058 1052/1135/1055 1051/1134/1054 f 1055/1138/1058 1051/1134/1054 1049/1132/1052 f 1055/1138/1058 1049/1132/1052 1056/1139/1059 f 1056/1139/1059 1049/1132/1052 1057/1140/1060 f 1049/1132/1052 1048/1131/1051 1057/1140/1060 f 1057/1140/1060 1048/1131/1051 1058/1141/1061 f 1058/1141/1061 1048/1131/1051 1059/1142/1062 f 1048/1131/1051 1060/1143/1063 1059/1142/1062 f 1048/1131/1051 1061/1144/1064 1060/1143/1063 f 1048/1131/1051 1047/1130/1050 1061/1144/1064 f 1047/1130/1050 1046/1129/1049 1061/1144/1064 f 1061/1144/1064 1046/1129/1049 1034/1117/1037 f 1046/1129/1049 1035/1118/1038 1034/1117/1037 f 1037/1120/1040 1035/1118/1038 1046/1129/1049 f 1061/1144/1064 1034/1117/1037 1060/1143/1063 f 1034/1117/1037 1030/1113/1033 1060/1143/1063 f 1034/1117/1037 1031/1114/1034 1030/1113/1033 f 1060/1143/1063 1030/1113/1033 1028/1111/1031 f 1060/1143/1063 1028/1111/1031 1059/1142/1062 f 1059/1142/1062 1028/1111/1031 1062/1145/1065 f 1028/1111/1031 977/1060/980 1062/1145/1065 f 1062/1145/1065 977/1060/980 1063/1146/1066 f 977/1060/980 976/1059/979 1063/1146/1066 f 1063/1146/1066 976/1059/979 1064/1147/1067 f 976/1059/979 1065/1148/1068 1064/1147/1067 f 976/1059/979 975/1058/978 1065/1148/1068 f 975/1058/978 974/1057/977 1065/1148/1068 f 1065/1148/1068 974/1057/977 973/1056/976 f 1064/1147/1067 1065/1148/1068 973/1056/976 f 1064/1147/1067 973/1056/976 574/658/577 f 574/658/577 973/1056/976 1066/1149/1069 f 973/1056/976 971/1054/974 1066/1149/1069 f 1066/1149/1069 971/1054/974 970/1053/973 f 1066/1149/1069 970/1053/973 1067/1150/1070 f 1067/1150/1070 970/1053/973 1068/1151/1071 f 970/1053/973 1069/1152/1072 1068/1151/1071 f 970/1053/973 561/645/564 1069/1152/1072 f 561/645/564 562/646/565 1069/1152/1072 f 1069/1152/1072 562/646/565 563/647/566 f 1068/1151/1071 1069/1152/1072 563/647/566 f 1068/1151/1071 563/647/566 1070/1153/1073 f 563/647/566 564/648/567 1070/1153/1073 f 564/648/567 565/649/568 1070/1153/1073 f 1070/1153/1073 565/649/568 568/652/571 f 565/649/568 567/651/570 568/652/571 f 565/649/568 566/650/569 567/651/570 f 569/653/572 1070/1153/1073 568/652/571 f 569/653/572 1071/1154/1074 1070/1153/1073 f 570/654/573 1071/1154/1074 569/653/572 f 570/654/573 571/655/574 1071/1154/1074 f 571/655/574 1067/1150/1070 1071/1154/1074 f 571/655/574 572/656/575 1067/1150/1070 f 572/656/575 1066/1149/1069 1067/1150/1070 f 572/656/575 574/658/577 1066/1149/1069 f 1067/1150/1070 1068/1151/1071 1071/1154/1074 f 1068/1151/1071 1070/1153/1073 1071/1154/1074 f 575/659/578 1064/1147/1067 574/658/577 f 1063/1146/1066 1064/1147/1067 575/659/578 f 576/660/579 1063/1146/1066 575/659/578 f 1062/1145/1065 1063/1146/1066 576/660/579 f 1072/1155/1075 1062/1145/1065 576/660/579 f 1059/1142/1062 1062/1145/1065 1072/1155/1075 f 1058/1141/1061 1059/1142/1062 1072/1155/1075 f 1073/1156/1076 1058/1141/1061 1072/1155/1075 f 1073/1156/1076 1056/1139/1059 1058/1141/1061 f 580/664/583 1056/1139/1059 1073/1156/1076 f 580/664/583 1055/1138/1058 1056/1139/1059 f 581/665/584 1055/1138/1058 580/664/583 f 605/699/608 1055/1138/1058 581/665/584 f 583/667/586 605/699/608 581/665/584 f 580/664/583 1073/1156/1076 578/662/581 f 578/662/581 1073/1156/1076 576/660/579 f 1073/1156/1076 1072/1155/1075 576/660/579 f 1056/1139/1059 1057/1140/1060 1058/1141/1061 f 1050/1133/1053 1003/1086/1006 1004/1087/1007 f 1050/1133/1053 1004/1087/1007 1042/1125/1045 f 909/991/912 910/992/913 986/1069/989 f 986/1069/989 910/992/913 911/993/914 f 986/1069/989 911/993/914 984/1067/987 f 984/1067/987 911/993/914 912/994/915 f 984/1067/987 912/994/915 982/1065/985 f 982/1065/985 912/994/915 979/1062/982 f 979/1062/982 912/994/915 913/995/916 f 916/998/919 917/999/920 972/1055/975 s off f 560/644/1077 561/645/1077 969/1052/1077 s 1 f 919/1001/922 920/1002/923 923/1005/926 f 920/1002/923 921/1003/924 923/1005/926 f 921/1003/924 922/1004/925 923/1005/926 f 943/1025/946 944/1026/947 950/1032/953 f 946/1028/949 938/1020/941 1074/1157/1078 f 1074/1157/1078 938/1020/941 936/1018/939 f 932/1014/935 933/1015/936 937/1019/940 f 937/1019/940 933/1015/936 934/1016/937 f 935/1017/938 708/790/711 1075/1158/1079 f 1075/1158/1079 708/790/711 707/789/710 s off f 1075/1158/1080 707/789/1080 1076/1159/1080 s 1 f 1076/1159/1081 707/789/710 706/788/709 f 1077/1160/1082 1076/1159/1081 706/788/709 f 706/788/709 935/1161/938 1077/1160/1082 f 706/788/709 704/786/707 935/1161/938 f 706/788/709 705/787/708 704/786/707 f 935/1161/938 704/786/707 702/784/705 f 935/1161/938 702/784/705 1078/1162/1083 f 1079/1163/1084 1078/1162/1083 702/784/705 f 1079/1163/1084 1080/1164/1085 1078/1162/1083 f 1081/1165/1086 1080/1164/1085 1079/1163/1084 f 1081/1165/1086 1079/1163/1084 1082/1166/1087 f 1082/1166/1087 1079/1163/1084 701/783/704 f 1079/1163/1084 702/784/705 701/783/704 f 1082/1166/1087 701/783/704 1083/1167/1088 f 1083/1167/1088 701/783/704 700/782/703 f 1084/1168/1089 1083/1167/1088 700/782/703 f 1082/1166/1087 1083/1167/1088 1084/1168/1089 f 1085/1169/1090 1082/1166/1087 1084/1168/1089 f 1085/1169/1090 1081/1165/1086 1082/1166/1087 f 1086/1170/1091 1081/1165/1086 1085/1169/1090 f 1087/1171/1092 1086/1170/1091 1085/1169/1090 f 558/642/561 1086/1170/1091 1087/1171/1092 f 558/642/561 1087/1171/1092 1088/1172/1093 f 1087/1171/1092 1085/1169/1090 1088/1172/1093 f 1085/1169/1090 1084/1168/1089 1088/1172/1093 f 1088/1172/1093 1084/1168/1089 552/636/555 f 1084/1168/1089 1089/1173/1094 552/636/555 f 1084/1168/1089 700/782/703 1089/1173/1094 f 549/633/552 1089/1173/1094 700/782/703 f 552/636/555 1089/1173/1094 549/633/552 f 549/633/552 700/782/703 547/631/550 f 547/631/550 700/782/703 696/778/699 f 547/631/550 696/778/699 546/630/549 f 1088/1172/1093 552/636/555 553/637/556 f 557/641/560 1088/1172/1093 553/637/556 f 557/641/560 558/642/561 1088/1172/1093 f 557/641/560 553/637/556 555/639/558 f 1080/1164/1085 935/1161/938 1078/1162/1083 f 778/860/781 779/861/782 784/866/787 f 785/867/788 849/931/852 850/932/853 f 849/931/852 785/867/788 786/868/789 f 786/868/789 795/877/798 849/931/852 f 871/953/874 864/946/867 869/951/872 f 864/946/867 865/947/868 869/951/872 f 869/951/872 865/947/868 866/948/869 f 838/920/841 830/912/833 831/913/834 f 717/799/720 715/797/718 820/902/823 f 717/799/720 820/902/823 817/899/820 f 816/898/819 717/799/720 817/899/820 f 808/890/811 717/799/720 816/898/819 f 739/821/742 1090/1174/1095 768/850/771 f 1092/1175/1096 1090/1174/1095 1091/1176/1097 f 1093/1177/1098 1090/1174/1095 1092/1175/1096 f 1094/1178/1099 1090/1174/1095 1093/1177/1098 f 768/850/771 1090/1174/1095 1094/1178/1099 f 765/847/768 768/850/771 1094/1178/1099 f 765/847/768 1094/1178/1099 761/843/764 f 761/843/764 1094/1178/1099 1095/1179/1100 f 1095/1179/1100 1094/1178/1099 1093/1177/1098 f 754/836/757 1095/1179/1100 1093/1177/1098 f 756/838/759 1095/1179/1100 754/836/757 f 756/838/759 758/840/761 1095/1179/1100 f 761/843/764 1095/1179/1100 758/840/761 f 754/836/757 1093/1177/1098 753/835/756 f 753/835/756 1093/1177/1098 1092/1175/1096 f 753/835/756 1092/1175/1096 1096/1180/1101 f 1096/1180/1101 1092/1175/1096 1091/1176/1097 f 1096/1180/1101 1091/1176/1097 1097/1181/1102 f 1097/1181/1102 1091/1176/1097 739/821/742 f 740/822/743 1097/1181/1102 739/821/742 f 1098/1182/1103 1097/1181/1102 740/822/743 f 1098/1182/1103 1096/1180/1101 1097/1181/1102 f 750/832/753 1096/1180/1101 1098/1182/1103 f 751/833/754 1096/1180/1101 750/832/753 f 751/833/754 753/835/756 1096/1180/1101 f 750/832/753 1098/1182/1103 748/830/751 f 1098/1182/1103 1099/1183/1104 748/830/751 f 1098/1182/1103 741/823/744 1099/1183/1104 f 740/822/743 741/823/744 1098/1182/1103 f 1099/1183/1104 741/823/744 742/824/745 f 1099/1183/1104 742/824/745 1100/1184/1105 f 1100/1184/1105 742/824/745 743/825/746 f 1100/1184/1105 743/825/746 746/828/749 f 746/828/749 748/830/751 1100/1184/1105 f 1099/1183/1104 1100/1184/1105 748/830/751 f 763/845/766 765/847/768 761/843/764 f 689/771/692 690/772/693 735/817/738 f 735/817/738 690/772/693 1101/1185/1106 f 1101/1185/1106 690/772/693 1102/1186/1107 f 1102/1186/1107 690/772/693 691/773/694 f 1102/1186/1107 691/773/694 709/791/712 f 711/793/714 1102/1186/1107 709/791/712 f 714/796/717 1102/1186/1107 711/793/714 f 714/796/717 1103/1187/1108 1102/1186/1107 f 716/798/719 1103/1187/1108 714/796/717 f 716/798/719 719/801/722 1103/1187/1108 f 719/801/722 1101/1185/1106 1103/1187/1108 f 1104/1188/1109 1101/1185/1106 719/801/722 f 1105/1189/1110 1101/1185/1106 1104/1188/1109 f 1105/1189/1110 735/817/738 1101/1185/1106 f 733/815/736 735/817/738 1105/1189/1110 f 733/815/736 1105/1189/1110 732/814/735 f 722/804/725 732/814/735 1105/1189/1110 f 724/806/727 732/814/735 722/804/725 f 728/810/731 732/814/735 724/806/727 f 722/804/725 1105/1189/1110 1104/1188/1109 f 722/804/725 1104/1188/1109 720/802/723 f 720/802/723 1104/1188/1109 719/801/722 f 1101/1185/1106 1102/1186/1107 1103/1187/1108 f 687/769/690 629/723/632 631/725/634 f 1106/558/1111 687/560/690 631/559/634 f 1107/564/1112 687/560/690 1106/558/1111 f 1107/564/1112 1108/565/1113 687/560/690 f 1109/568/1114 1108/565/1113 1107/564/1112 f 1108/565/1113 1109/568/1114 1110/567/1115 f 1110/567/1115 1109/568/1114 644/590/647 f 1109/568/1114 643/569/646 644/590/647 f 643/569/646 1109/568/1114 1107/564/1112 f 643/569/646 1107/564/1112 1111/563/1116 f 1111/563/1116 1107/564/1112 1106/558/1111 f 1111/563/1116 1106/558/1111 1112/562/1117 f 1112/562/1117 1106/558/1111 634/561/637 f 1106/558/1111 631/559/634 634/561/637 f 631/559/634 633/696/636 634/561/637 f 638/571/641 1112/562/1117 634/561/637 f 638/571/641 1111/563/1116 1112/562/1117 f 640/570/643 1111/563/1116 638/571/641 f 640/570/643 643/569/646 1111/563/1116 f 638/571/641 634/561/637 635/697/638 f 644/590/647 686/566/689 1110/567/1115 f 686/566/689 644/590/647 646/591/649 f 1110/567/1115 686/566/689 1108/565/1113 f 686/566/689 687/560/690 1108/565/1113 f 650/730/653 651/732/654 681/762/684 f 681/762/684 651/732/654 680/761/683 f 651/732/654 652/733/655 680/761/683 f 652/733/655 667/748/670 680/761/683 f 653/734/656 667/748/670 652/733/655 f 669/750/672 677/758/680 668/749/671 f 677/758/680 669/750/672 674/755/677 f 669/750/672 670/751/673 674/755/677 f 543/627/546 545/629/548 662/743/665 f 543/627/546 662/743/665 661/742/664 f 543/627/546 661/742/664 541/625/544 f 541/625/544 661/742/664 539/623/542 f 535/619/538 536/620/539 534/615/537 f 499/525/534 645/606/648 1113/607/1118 f 1113/684/1118 645/686/648 642/589/645 f 1113/684/1118 642/589/645 1114/685/1119 f 642/589/645 641/588/644 1114/685/1119 f 1115/584/1120 1114/685/1119 641/588/644 f 1113/684/1118 1114/685/1119 1115/584/1120 f 1116/583/1121 1113/684/1118 1115/584/1120 f 1117/1190/1122 1113/1191/1118 1116/1192/1121 f 1118/528/1123 1113/607/1118 1117/608/1122 f 1118/528/1123 499/525/534 1113/607/1118 f 498/527/533 499/525/534 1118/528/1123 f 498/527/533 1118/528/1123 1119/529/1124 f 1119/529/1124 1118/528/1123 1117/608/1122 f 1119/529/1124 1117/608/1122 1120/609/1125 f 1120/609/1125 1117/608/1122 1121/670/1126 f 1121/1193/1126 1117/1194/1122 1122/1195/1127 f 1117/1190/1122 1123/1196/1128 1122/1197/1127 f 1117/1190/1122 1116/1192/1121 1123/1196/1128 f 1116/583/1121 1124/581/1129 1123/682/1128 f 1124/581/1129 1116/583/1121 1125/582/1130 f 1116/583/1121 1115/584/1120 1125/582/1130 f 1125/582/1130 1115/584/1120 1126/585/1131 f 1126/585/1131 1115/584/1120 1127/587/1132 f 1115/584/1120 641/588/644 1127/587/1132 f 1127/587/1132 641/588/644 639/572/642 f 1127/587/1132 639/572/642 1126/585/1131 f 1126/585/1131 639/572/642 1128/586/1133 f 1128/586/1133 639/572/642 1129/574/1134 f 639/572/642 637/573/640 1129/574/1134 f 637/573/640 636/575/639 1129/574/1134 f 1129/574/1134 636/575/639 1130/576/1135 f 636/575/639 1131/676/1136 1130/576/1135 f 636/575/639 630/677/633 1131/676/1136 f 636/575/639 632/695/635 630/677/633 f 1131/1198/1136 630/724/633 628/722/631 f 1131/1198/1136 628/722/631 625/719/628 f 1132/1199/1137 1131/1198/1136 625/719/628 f 1132/694/1137 1133/678/1138 1131/676/1136 f 1132/694/1137 1134/693/1139 1133/678/1138 f 1132/694/1137 1123/682/1128 1134/693/1139 f 1123/1196/1128 1132/1199/1137 1122/1197/1127 f 1132/1199/1137 625/719/628 1122/1197/1127 f 1122/1197/1127 625/719/628 623/717/626 f 1122/1197/1127 623/717/626 1135/1200/1140 f 1135/1200/1140 623/717/626 621/715/624 f 1121/1193/1126 1122/1195/1127 1135/1201/1140 f 1123/682/1128 1136/692/1141 1134/693/1139 f 1137/681/1142 1136/692/1141 1123/682/1128 f 1136/692/1141 1137/681/1142 1138/680/1143 f 1138/680/1143 1137/681/1142 1139/580/1144 f 1124/581/1129 1139/580/1144 1137/681/1142 f 1124/581/1129 1140/579/1145 1139/580/1144 f 1125/582/1130 1140/579/1145 1124/581/1129 f 1140/579/1145 1125/582/1130 1126/585/1131 f 1126/585/1131 1141/578/1146 1140/579/1145 f 1126/585/1131 1128/586/1133 1141/578/1146 f 1128/586/1133 1129/574/1134 1141/578/1146 f 1129/574/1134 1142/577/1147 1141/578/1146 f 1130/576/1135 1142/577/1147 1129/574/1134 f 1142/577/1147 1130/576/1135 1143/679/1148 f 1130/576/1135 1133/678/1138 1143/679/1148 f 1130/576/1135 1131/676/1136 1133/678/1138 f 1134/693/1139 1143/679/1148 1133/678/1138 f 1136/692/1141 1143/679/1148 1134/693/1139 f 1136/692/1141 1138/680/1143 1143/679/1148 f 1142/577/1147 1143/679/1148 1138/680/1143 f 1139/580/1144 1142/577/1147 1138/680/1143 f 1140/579/1145 1142/577/1147 1139/580/1144 f 1140/579/1145 1141/578/1146 1142/577/1147 f 1124/581/1129 1137/681/1142 1123/682/1128 f 1144/610/1149 1119/529/1124 1120/609/1125 f 1144/610/1149 1145/530/1150 1119/529/1124 f 492/611/527 1145/530/1150 1144/610/1149 f 492/611/527 493/612/528 1145/530/1150 f 493/612/528 494/613/529 1145/530/1150 f 1145/530/1150 494/613/529 495/531/530 f 1145/530/1150 495/531/530 498/527/533 f 1145/530/1150 498/527/533 1119/529/1124 f 413/1202/397 414/537/461 531/1203/439 g mesh1.002_mesh1-geometry_FrontColorNoCullingID__02_-_Default1noCulli usemtl FrontColorNoCullingID__02_-_Default1noCulli f 1044/1204/1047 1040/1205/1043 1045/1206/1048 f 1091/1207/1097 1090/1208/1095 739/1209/742 o mesh2.002_mesh2-geometry v 14.464293 105.050346 12.381854 0.249350 0.275941 0.803983 v 14.120119 104.720924 12.655781 0.456959 0.384488 0.776129 v 14.352287 104.833862 12.815575 0.060140 0.657326 0.193260 v 14.139097 104.893280 12.253694 0.460536 0.890056 0.471426 v 14.668188 105.166245 11.765583 0.038957 0.630761 0.675243 v 14.301159 105.029549 11.688400 0.027588 0.094658 0.136379 v 14.296476 104.995384 11.620594 0.457663 0.885736 0.990422 v 14.686972 105.187210 11.702331 0.144545 0.064511 0.223738 v 14.208290 105.061501 11.553809 0.140546 0.422337 0.611020 v 14.675278 105.287506 11.671097 0.572488 0.196565 0.877001 v 14.198187 104.940498 11.408686 0.824769 0.089190 0.603800 v 14.719013 105.291031 11.551751 0.344424 0.336152 0.717898 v 14.783831 105.668739 11.067024 0.803496 0.271237 0.813831 v 14.295918 105.435402 10.846335 0.173043 0.660005 0.201162 v 14.565235 105.433273 10.439425 0.263196 0.812551 0.686353 v 14.987776 105.614349 10.592299 0.079741 0.262861 0.479463 v 14.787539 105.418625 10.054109 0.642061 0.340349 0.668223 v 15.165894 105.592041 10.224316 0.404948 0.688277 0.994592 v 15.358431 105.189987 8.701930 0.353181 0.968534 0.719943 v 14.625622 104.711975 10.001063 0.257062 0.152324 0.428670 v 15.065008 104.441391 8.797891 0.801734 0.594814 0.020539 v 15.881762 104.804428 7.534002 0.239232 0.713172 0.626957 v 15.436796 104.041229 8.060878 0.668338 0.789299 0.859733 v 16.325491 104.650978 6.352551 0.731806 0.991006 0.846654 v 15.385363 103.026268 6.909507 0.656185 0.484307 0.823281 v 16.786789 104.552246 5.613751 0.523992 0.198230 0.067773 v 16.200127 103.108749 5.434039 0.254736 0.554242 0.379968 v 16.756855 101.750755 5.783900 0.837265 0.594810 0.225914 v 17.246227 102.292747 4.785725 0.332323 0.736321 0.130695 v 16.686468 101.192863 6.376367 0.585556 0.726011 0.030864 v 17.592201 100.990326 6.158786 0.118035 0.585255 0.070810 v 17.071501 100.993752 7.427652 0.219804 0.459807 0.991004 v 17.742826 100.702400 7.582044 0.224919 0.776826 0.132441 v 16.921211 101.166458 8.239318 0.061910 0.044759 0.209162 v 17.941875 100.468826 9.033165 0.802975 0.305620 0.424870 v 16.831648 101.820457 8.764771 0.260875 0.935492 0.995995 v 17.167473 101.761986 9.421929 0.777681 0.887864 0.808304 v 17.670755 100.946060 10.276978 0.436411 0.319495 0.999068 v 18.282423 100.370667 10.322489 0.232752 0.527025 0.025643 v 17.487703 100.666130 10.824165 0.811964 0.684112 0.764263 v 18.072205 100.184334 10.857527 0.089893 0.244005 0.139130 v 19.480494 101.006973 11.056019 0.271806 0.426282 0.709089 v 19.037512 100.519623 12.174063 0.722138 0.846541 0.110656 v 19.288015 101.824570 11.367976 0.577719 0.537859 0.847667 v 19.582346 102.103706 10.596758 0.469558 0.910007 0.132295 v 19.006737 102.736290 10.158298 0.111172 0.984438 0.781924 v 19.624353 102.233803 9.639626 0.079383 0.850063 0.329831 v 20.015890 102.415497 8.294555 0.815657 0.399166 0.074374 v 19.389301 103.335777 8.374866 0.471246 0.266891 0.265498 v 19.440550 103.935013 7.253840 0.439127 0.036534 0.169205 v 18.407181 104.470886 8.620676 0.962740 0.393626 0.606090 v 18.482357 104.780045 7.504902 0.028285 0.032885 0.195803 v 19.239174 104.488701 6.156708 0.546987 0.558920 0.355412 v 20.232981 103.499161 5.894641 0.431909 0.257641 0.266871 v 18.819664 105.002266 5.153657 0.534374 0.802389 0.785064 v 18.447313 105.130661 5.903827 0.394831 0.706484 0.504487 v 17.462934 104.852318 4.511655 0.759089 0.908111 0.592446 v 19.133213 105.466331 4.798131 0.249671 0.266929 0.386477 v 17.683910 105.422241 4.107553 0.952932 0.929532 0.258780 v 19.409529 105.779083 3.949095 0.630666 0.397565 0.909759 v 18.081202 105.732689 3.394301 0.024197 0.966390 0.491347 v 18.726049 107.186989 1.510656 0.796908 0.387266 0.557650 v 20.219185 107.301712 2.174930 0.035902 0.296965 0.090761 v 20.384058 110.186424 -1.290033 0.596374 0.768979 0.597264 v 18.104855 106.465034 0.673395 0.077880 0.055969 0.525320 v 19.112658 109.339340 -2.275720 0.492152 0.398109 0.469539 v 18.645884 108.233963 -3.101253 0.178874 0.455114 0.827386 v 18.311823 105.565163 0.033612 0.709670 0.916645 0.795495 v 18.961401 104.588509 -0.449981 0.364247 0.268949 0.243812 v 19.347326 107.016159 -3.751511 0.824878 0.396836 0.101723 v 20.446068 106.033577 -4.221688 0.719043 0.244689 0.114481 v 20.087650 103.770035 -0.625943 0.775742 0.718912 0.058972 v 22.585918 105.743576 -3.782887 0.010584 0.742956 0.013041 v 21.419666 103.872307 -0.071629 0.256765 0.149883 0.394201 v 22.296297 104.784615 0.978702 0.704820 0.768944 0.483472 v 23.697681 106.775085 -2.663880 0.597784 0.502746 0.609535 v 24.937294 108.899857 -6.689972 0.368283 0.561704 0.144797 v 23.568001 108.576912 -1.507035 0.013123 0.406018 0.157027 v 25.277176 110.988869 -5.229331 0.988513 0.323066 0.372433 v 25.827656 109.947182 -9.074685 0.409400 0.164384 0.938408 v 26.349358 112.415421 -7.518965 0.722874 0.574825 0.476583 v 27.674576 114.008141 -10.991768 0.010810 0.366312 0.630423 v 24.901798 114.163063 -6.710569 0.270419 0.898669 0.781504 v 26.771791 114.639404 -9.947796 0.014863 0.052786 0.529255 v 27.081446 115.450897 -10.811497 0.335760 0.453104 0.004717 v 27.773497 115.146385 -11.993631 0.675297 0.206258 0.697969 v 27.579361 116.954285 -12.625896 0.120146 0.209434 0.672112 v 27.434685 116.712723 -10.913900 0.099069 0.628038 0.503098 v 26.063404 121.561165 -8.160474 0.040688 0.510479 0.848587 v 25.013317 122.212898 -10.516459 0.154786 0.957338 0.951373 v 23.218201 122.191612 -11.917570 0.711899 0.813154 0.614591 v 26.091486 116.998726 -14.264969 0.652005 0.239000 0.369768 v 24.441574 116.321861 -14.975536 0.902347 0.625501 0.158967 v 26.738129 114.785469 -14.130394 0.217483 0.602835 0.031721 v 26.798029 112.464584 -12.712172 0.330729 0.080451 0.966994 v 24.955269 112.113495 -13.775438 0.156954 0.869159 0.125297 v 24.200657 108.875389 -10.406228 0.146240 0.091599 0.624812 v 23.575998 107.702698 -7.992703 0.442802 0.859677 0.713746 v 21.045986 108.438232 -8.483628 0.983667 0.193223 0.222531 v 19.911373 109.799904 -7.994357 0.829313 0.803264 0.259389 v 19.281622 111.401733 -7.114948 0.334410 0.307339 0.323503 v 20.104015 112.478874 -6.041648 0.384236 0.466782 0.838262 v 21.923914 113.208946 -4.946356 0.818518 0.886131 0.642231 v 20.982714 114.215073 -7.883938 0.315917 0.504776 0.346682 v 22.940773 114.882202 -6.878252 0.147861 0.944800 0.156969 v 24.157854 116.701019 -9.278341 0.744154 0.742209 0.316153 v 22.278507 116.256172 -10.271074 0.956777 0.549632 0.454615 v 23.225630 116.998779 -11.309500 0.132111 0.944066 0.038976 v 24.941729 117.147125 -10.594654 0.581420 0.078687 0.010259 v 26.467625 115.744835 -9.270122 0.061802 0.275763 0.626125 v 25.028229 119.947006 -6.579956 0.632351 0.144938 0.058846 v 23.749752 124.079079 -3.664625 0.329452 0.403093 0.528065 v 24.480017 126.025978 -5.601730 0.276171 0.176265 0.953275 v 22.796314 126.697426 -8.108587 0.074822 0.224482 0.619108 v 20.644075 126.238342 -9.541849 0.521206 0.232760 0.630415 v 21.543886 121.334671 -12.104115 0.095102 0.847741 0.190244 v 20.314146 119.751175 -10.845768 0.346938 0.441618 0.042773 v 22.969610 115.757904 -14.056105 0.957224 0.799460 0.773246 v 23.254978 114.431747 -14.046141 0.033769 0.568754 0.237528 v 25.032078 114.324844 -14.675838 0.890028 0.102575 0.830083 v 22.880554 112.844345 -13.534588 0.800284 0.694394 0.355308 v 21.630129 109.915642 -10.526304 0.606011 0.157268 0.254675 v 20.465849 111.342636 -9.995667 0.172452 0.859555 0.623210 v 19.922859 113.066444 -9.073946 0.810403 0.519028 0.701523 v 21.203882 115.058044 -11.374138 0.435032 0.861402 0.181199 v 22.186852 113.493118 -12.733423 0.738757 0.646451 0.229418 v 22.596348 114.526031 -13.075125 0.394806 0.168310 0.186081 v 21.908489 115.894844 -12.509218 0.621147 0.292596 0.496987 v 22.607267 114.479271 -10.750259 0.714412 0.075436 0.972253 v 24.580343 114.833633 -9.489408 0.155496 0.249200 0.663566 v 22.987251 118.427040 -6.263851 0.088686 0.735095 0.176307 v 20.667173 117.887917 -7.577126 0.457366 0.900032 0.420920 v 18.726746 121.660133 -4.250232 0.232614 0.796217 0.300674 v 21.517990 122.486572 -2.901946 0.021926 0.350942 0.290529 v 19.815361 127.715080 1.038155 0.366080 0.196662 0.157625 v 17.057156 126.934669 0.092806 0.756002 0.696921 0.741858 v 15.900522 127.556145 -1.394675 0.678678 0.803388 0.945640 v 17.844719 122.338249 -5.927274 0.270126 0.254423 0.606926 v 19.915754 118.538971 -9.131099 0.936489 0.175614 0.133705 v 22.363581 115.205719 -12.049644 0.546356 0.392825 0.556435 v 18.056419 123.442551 -7.699194 0.797932 0.360599 0.793265 v 15.797543 128.459488 -2.915301 0.312724 0.742899 0.780829 v 16.832602 130.160095 -4.311499 0.457103 0.180654 0.309409 v 19.126350 125.189880 -9.242449 0.848974 0.823670 0.032071 v 18.144056 131.328949 -5.096590 0.743235 0.956369 0.913080 v 20.546690 131.823029 -4.345401 0.996150 0.164598 0.114171 v 22.299305 131.163284 -1.898016 0.813040 0.665510 0.601000 v 21.619583 129.202042 0.087308 0.690629 0.296222 0.281195 v 23.850922 112.723503 -4.602041 0.584922 0.619676 0.414221 v 22.212337 110.014618 -0.893249 0.080178 0.476052 0.882725 v 21.637085 106.251625 1.849734 0.620432 0.804280 0.251204 v 20.961634 104.845390 3.625033 0.363330 0.156073 0.674380 v 20.686037 104.230614 4.623029 0.763693 0.101578 0.954778 v 20.246078 103.888489 5.078361 0.074945 0.997993 0.209914 v 20.597208 102.706039 5.606171 0.047052 0.226604 0.887770 v 20.126425 103.061897 7.124639 0.778517 0.378673 0.207870 v 20.502363 101.367004 8.138384 0.274626 0.205371 0.990431 v 20.340729 101.144348 9.307891 0.675483 0.199548 0.752838 v 19.808281 101.472984 9.976626 0.930707 0.946272 0.125853 v 20.296646 100.867752 10.179624 0.490670 0.887167 0.588656 v 20.380001 100.082466 9.444341 0.589264 0.200390 0.044594 v 20.073694 100.468216 10.863406 0.885781 0.011127 0.876229 v 19.557009 99.587875 12.230268 0.347400 0.570009 0.759914 v 18.894390 100.076378 12.201337 0.894173 0.738971 0.031814 v 18.119102 99.701820 11.315374 0.747450 0.162209 0.572550 v 18.546732 99.703438 9.912595 0.919331 0.750030 0.425406 v 18.311630 99.128174 10.961419 0.773706 0.769346 0.319540 v 19.073122 99.282188 9.683767 0.342351 0.929666 0.593029 v 18.878014 98.697235 10.945743 0.059969 0.703508 0.063884 v 20.181673 99.711754 10.372591 0.243574 0.933271 0.181966 v 19.762157 98.927689 11.778687 0.138715 0.578499 0.028851 v 20.529718 99.304390 10.123943 0.905128 0.881663 0.344350 v 20.314550 98.639282 10.697563 0.733036 0.693039 0.404161 v 19.830002 99.039619 10.841265 0.099139 0.261916 0.304868 v 19.114519 98.888123 10.101037 0.721523 0.446029 0.566293 v 19.346842 98.736687 9.270179 0.268559 0.373079 0.831611 v 19.317949 98.449097 9.707000 0.753065 0.947754 0.514788 v 19.949066 98.402298 9.040639 0.257142 0.280341 0.210945 v 19.784008 98.046524 9.593040 0.332677 0.449442 0.926943 v 20.712008 98.727837 9.702790 0.393566 0.938955 0.609610 v 20.523418 98.167938 10.315118 0.191538 0.288511 0.810258 v 20.653309 99.527328 9.647765 0.927748 0.151111 0.439337 v 20.729158 99.856735 8.858013 0.465424 0.487682 0.268909 v 20.806173 100.232399 7.915954 0.970186 0.036176 0.961426 v 20.616972 102.034424 6.673915 0.010776 0.460337 0.460276 v 20.869177 101.781677 5.083187 0.865690 0.730063 0.405156 v 20.882994 102.523079 4.400031 0.655585 0.208824 0.488618 v 21.327940 102.671791 3.633265 0.369727 0.930754 0.450220 v 21.479219 103.432327 2.724690 0.553441 0.262559 0.637363 v 20.686388 102.681931 1.816140 0.185167 0.718455 0.060265 v 20.531590 101.850349 2.591698 0.837234 0.768688 0.954188 v 20.402325 101.634064 3.579741 0.085835 0.609968 0.495942 v 20.347729 101.074387 4.479210 0.713015 0.482933 0.304217 v 20.627285 99.491943 6.043058 0.253441 0.988291 0.968072 v 21.037762 100.677727 6.476076 0.092320 0.543463 0.465964 v 20.703901 99.113625 7.440629 0.594288 0.043923 0.539907 v 20.709921 98.855896 8.848630 0.875843 0.266561 0.332793 v 19.510393 98.252777 8.298280 0.287795 0.185042 0.879288 v 18.390574 99.105965 8.487527 0.368585 0.946975 0.903267 v 18.101128 99.315292 7.180578 0.655569 0.640778 0.865446 v 19.294006 98.336197 7.016649 0.561504 0.581387 0.758881 v 19.149717 98.935287 5.677697 0.969303 0.600111 0.354375 v 17.957565 99.743423 5.790806 0.834500 0.338998 0.552707 v 17.808580 101.308250 4.108938 0.214937 0.028001 0.711946 v 19.089920 100.612267 3.905580 0.739673 0.021636 0.156231 v 19.063986 101.632217 2.976880 0.153827 0.641526 0.809247 v 18.212442 102.328850 3.021765 0.573492 0.103922 0.595892 v 18.336636 102.635544 2.415375 0.446965 0.691310 0.175192 v 17.800364 103.567566 2.918286 0.452667 0.419498 0.431212 v 17.762850 103.129593 3.402179 0.176891 0.560364 0.735356 v 17.007746 104.026947 3.846128 0.307556 0.333127 0.239292 v 16.743628 103.412743 4.394147 0.604439 0.639343 0.584022 v 17.217827 104.601181 5.088119 0.450287 0.828128 0.582993 v 17.146492 104.511665 3.473907 0.386440 0.200913 0.051719 v 17.609859 105.187256 2.631779 0.398768 0.715145 0.312833 v 18.146523 104.343002 2.057317 0.858962 0.313809 0.941338 v 18.652338 103.440063 1.530428 0.252667 0.467992 0.042547 v 19.350126 101.793343 2.242566 0.961830 0.873926 0.853468 v 19.556175 102.639160 1.391271 0.677546 0.118887 0.096045 v 18.002535 105.300728 6.571664 0.229618 0.610814 0.108814 v 17.487604 105.497025 7.400110 0.524622 0.973326 0.351242 v 16.788958 105.568161 8.141175 0.162115 0.921834 0.735547 v 15.867619 105.533531 8.957924 0.984993 0.540042 0.290376 v 16.452261 105.471062 9.266381 0.191879 0.676038 0.188031 v 17.194664 105.433632 8.800482 0.845979 0.639975 0.804031 v 17.741911 105.408745 8.396766 0.529733 0.401382 0.056929 v 18.177805 105.252869 7.703630 0.565442 0.458382 0.745183 v 18.083128 104.830368 8.741158 0.780780 0.134858 0.246002 v 17.750082 105.133667 8.867227 0.430053 0.251449 0.271928 v 17.204170 104.588562 9.600844 0.599362 0.486677 0.442881 v 16.836056 104.844086 9.709311 0.601709 0.063423 0.832772 v 15.956671 105.054008 10.687916 0.661521 0.306676 0.393370 v 15.563913 105.618225 10.427876 0.328962 0.897567 0.656812 v 15.412329 105.651146 10.818176 0.657323 0.682066 0.016656 v 15.327091 105.700752 11.272152 0.955121 0.595092 0.568578 v 15.291994 105.206161 11.819250 0.859480 0.262823 0.029286 v 15.147518 105.289650 11.906345 0.194661 0.332985 0.449039 v 15.072454 105.183868 11.911849 0.012564 0.281921 0.357076 v 15.013601 105.202621 11.955791 0.746880 0.883482 0.161530 v 14.822027 105.059341 12.510599 0.826801 0.846936 0.331681 v 14.651320 104.850624 12.855791 0.295784 0.350363 0.793454 v 14.330688 104.794365 12.897525 0.641821 0.600093 0.005629 v 14.155367 104.706856 12.748871 0.916261 0.447072 0.721730 v 14.134493 104.626587 12.804688 0.328427 0.608898 0.713629 v 14.095793 104.640182 12.701291 0.841362 0.460895 0.708862 v 14.109114 104.806259 12.227560 0.176632 0.199917 0.753265 v 14.044613 104.637177 12.656003 0.649267 0.653247 0.599589 v 14.057083 104.796249 12.231788 0.963755 0.368592 0.485924 v 14.015087 104.648155 12.179655 0.362726 0.977232 0.198171 v 14.071575 104.361183 12.016589 0.936726 0.764835 0.507855 v 14.229721 104.300369 11.483368 0.614982 0.779751 0.480023 v 14.454554 104.545807 10.612376 0.284499 0.083269 0.458891 v 14.439205 103.861046 11.815623 0.143193 0.085213 0.716915 v 14.844849 104.146057 10.557146 0.144410 0.810422 0.663858 v 15.342314 104.120178 10.674212 0.838194 0.982013 0.165000 v 14.935291 103.846832 11.931806 0.060339 0.676901 0.223568 v 15.326960 104.089622 12.152041 0.228002 0.049140 0.008294 v 15.730621 104.374107 10.892820 0.706991 0.765718 0.324711 v 15.784843 104.888275 11.116539 0.775373 0.839082 0.497701 v 15.658329 104.630775 10.821303 0.223218 0.508712 0.995075 v 15.758356 105.126091 10.932180 0.913594 0.377745 0.611265 v 15.720373 104.452904 10.829179 0.224584 0.403681 0.868590 v 15.311529 104.194931 10.640058 0.134298 0.710458 0.134291 v 15.284119 104.369675 10.596987 0.785834 0.383669 0.334068 v 14.806870 104.411789 10.440539 0.184543 0.978739 0.723807 v 14.861763 104.232285 10.386028 0.515305 0.687169 0.067798 v 14.481701 104.797699 10.361453 0.531019 0.922659 0.834833 v 15.322893 103.948914 9.250431 0.698934 0.026757 0.526649 v 15.809435 103.868530 9.617620 0.375703 0.145141 0.936137 v 16.513927 104.198410 9.858315 0.029190 0.367214 0.178044 v 16.852695 103.665367 9.779952 0.663563 0.218618 0.625327 v 16.663155 102.844643 9.597917 0.812496 0.693405 0.305366 v 16.690413 103.125702 9.410039 0.514624 0.892818 0.302989 v 16.826254 102.491859 10.438606 0.237721 0.449109 0.302011 v 17.327730 101.765625 10.623763 0.998870 0.665628 0.045487 v 17.213415 101.296333 11.134618 0.211912 0.467424 0.406296 v 16.412752 100.193604 12.718097 0.992919 0.447749 0.172623 v 16.672989 99.603615 12.402351 0.338947 0.901358 0.139412 v 17.238274 99.155930 12.437716 0.080365 0.550964 0.216703 v 18.026680 99.372658 13.838681 0.558479 0.459532 0.536695 v 18.762415 101.200401 12.532406 0.507552 0.873383 0.979449 v 18.488245 102.354408 11.407574 0.139982 0.028767 0.600686 v 18.580662 103.439026 10.707911 0.412610 0.960503 0.393525 v 18.666220 103.481262 9.709291 0.199360 0.275737 0.479437 v 17.887329 104.119400 10.181502 0.785813 0.230333 0.725337 v 17.328550 104.206589 9.715513 0.643975 0.054728 0.712665 v 16.612093 103.276657 10.687922 0.389832 0.760099 0.755223 v 16.428867 102.953491 11.319246 0.187286 0.687852 0.766592 v 16.741461 102.416061 11.079846 0.068085 0.393791 0.723200 v 17.458124 101.833847 11.176476 0.898067 0.364259 0.209732 v 16.070429 101.472984 12.605594 0.073687 0.592682 0.281308 v 16.649853 101.096909 12.647139 0.770261 0.764495 0.952766 v 18.214100 102.402351 12.129841 0.015680 0.175604 0.168939 v 17.211155 101.487930 13.709304 0.592427 0.193933 0.214472 v 17.824293 103.086075 12.363910 0.853789 0.553984 0.319679 v 18.219894 103.417542 11.467854 0.544231 0.288993 0.479206 v 17.481047 103.879677 11.301838 0.098681 0.239710 0.230644 v 18.119419 101.708359 12.470253 0.049499 0.671404 0.937810 v 17.173624 100.437408 14.124945 0.665259 0.876101 0.144833 v 16.981236 100.216202 14.604723 0.403093 0.022152 0.902545 v 16.549929 99.941017 13.489065 0.374382 0.470420 0.541006 v 16.783861 99.495293 13.171376 0.604370 0.681167 0.392346 v 17.167507 99.071465 13.197331 0.178120 0.547169 0.236715 v 17.887270 99.093353 14.304375 0.991278 0.081939 0.224622 v 17.573925 98.844017 14.576316 0.965891 0.367692 0.834737 v 17.533154 99.681290 14.642570 0.717559 0.562288 0.828188 v 17.010592 99.186287 14.965492 0.882059 0.924763 0.080773 v 16.725456 99.888176 14.854200 0.164813 0.576391 0.849335 v 16.126652 98.389565 15.316096 0.696998 0.134527 0.724595 v 15.434835 98.680222 15.266610 0.008111 0.427209 0.274048 v 16.235846 99.712204 13.714726 0.779421 0.004591 0.851422 v 17.958670 100.204971 13.912066 0.033767 0.401517 0.335902 v 16.555851 99.270103 13.356872 0.858128 0.673312 0.214287 v 16.989826 98.790817 13.470738 0.646936 0.073325 0.871911 v 16.222012 97.717506 15.009725 0.835507 0.378094 0.235580 v 16.073133 97.501228 15.137086 0.007346 0.688819 0.433389 v 15.690380 97.992043 15.493093 0.291296 0.580578 0.836459 v 15.226154 98.537903 15.415848 0.981818 0.456359 0.173977 v 15.055473 98.340347 15.353293 0.477622 0.043623 0.454934 v 15.124765 98.599602 14.281322 0.898983 0.061073 0.457618 v 14.876007 98.497597 14.210647 0.164228 0.832335 0.594073 v 15.422283 98.212814 13.932276 0.350952 0.624576 0.442606 v 15.514101 98.342796 13.683782 0.916613 0.231715 0.241042 v 15.807100 97.764450 14.056723 0.478700 0.639668 0.036184 v 15.619850 97.585693 13.961653 0.601468 0.279646 0.142649 v 15.825659 97.396889 15.097612 0.929118 0.500622 0.455521 v 15.274113 97.696480 15.362005 0.398370 0.800892 0.071219 v 14.463449 97.916283 15.106986 0.568305 0.996886 0.241969 v 14.364040 98.042107 14.181646 0.564013 0.386171 0.572862 v 14.645195 97.621567 13.858369 0.549927 0.879601 0.038626 v 15.273935 98.129921 13.848453 0.211853 0.016445 0.866738 v 15.058865 97.190254 13.949065 0.852329 0.490400 0.022740 v 15.213335 96.996964 14.855947 0.234053 0.925372 0.520182 v 14.987844 97.494362 15.272300 0.840008 0.109216 0.927594 v 14.861580 97.387527 15.291052 0.150888 0.392705 0.853914 v 14.436010 97.707458 15.218051 0.404955 0.484938 0.562701 v 13.794680 97.345673 14.869567 0.678441 0.163041 0.230514 v 13.742619 97.448631 14.219182 0.471719 0.898364 0.397893 v 13.972342 97.060989 13.920323 0.191049 0.839702 0.272376 v 14.361067 96.690475 14.012175 0.625905 0.640011 0.634257 v 14.450279 96.541924 14.650094 0.302104 0.037107 0.675175 v 15.039722 96.967293 15.015974 0.233495 0.398610 0.563925 v 14.755869 97.333138 15.183074 0.993706 0.877516 0.746115 v 14.386553 97.576920 15.107586 0.051837 0.974048 0.744551 v 13.847843 97.243805 14.998090 0.971988 0.587614 0.163885 v 13.383316 96.850159 14.722280 0.126629 0.582703 0.849590 v 13.427546 96.794899 14.862071 0.942439 0.595831 0.686022 v 13.439035 96.736893 14.840976 0.130005 0.705426 0.516368 v 13.400337 96.756516 14.741702 0.731309 0.769508 0.338016 v 13.487083 96.979759 14.399333 0.232092 0.859454 0.908083 v 13.601387 96.671616 14.241790 0.128556 0.511864 0.827735 v 13.543629 96.482513 14.745207 0.343744 0.459162 0.163892 v 13.765745 96.308533 14.619379 0.850340 0.694490 0.161113 v 13.905649 96.466629 14.259216 0.549580 0.480239 0.889645 v 13.844561 96.284683 14.567883 0.055382 0.893763 0.136700 v 14.401632 96.564903 14.812718 0.389159 0.951570 0.553355 v 14.875376 96.977646 14.943965 0.340404 0.176141 0.303858 v 14.392031 96.614937 14.818899 0.025074 0.363014 0.753815 v 14.812162 96.956345 14.989884 0.774860 0.432424 0.005250 v 14.695887 97.288353 15.170920 0.156050 0.928074 0.492909 v 14.366421 96.635109 14.913627 0.195201 0.856376 0.912839 v 14.167429 96.879951 15.112634 0.404394 0.674665 0.017014 v 13.932301 97.167343 15.058954 0.965909 0.723110 0.201132 v 14.363388 97.506531 15.140109 0.076340 0.849769 0.972682 v 13.894258 97.225189 14.985531 0.892733 0.990708 0.448519 v 13.512569 96.747681 14.914304 0.363477 0.182120 0.129049 v 13.400042 96.636536 14.805840 0.771849 0.533876 0.628762 v 13.477213 96.657715 14.880691 0.529435 0.996799 0.988876 v 13.516430 96.439720 14.819041 0.232956 0.908233 0.011726 v 13.474777 96.427544 14.743854 0.281758 0.731769 0.073482 v 13.669867 96.305763 14.715532 0.119707 0.092722 0.518962 v 13.728525 96.349617 14.796569 0.723651 0.996244 0.945339 v 13.586428 96.475563 14.891168 0.316326 0.173356 0.165395 v 13.830769 96.357590 14.807771 0.591963 0.394344 0.686080 v 13.783190 96.315010 14.725798 0.645872 0.911465 0.066378 v 13.656708 96.293076 14.643267 0.898670 0.863112 0.294874 v 13.365627 96.649918 14.740701 0.216827 0.335733 0.649309 v 13.840591 96.288506 14.723783 0.339191 0.260362 0.553463 v 13.666149 96.529907 14.925618 0.768320 0.086080 0.379065 v 16.023600 97.911400 13.794735 0.435664 0.929522 0.443762 v 15.256714 98.848579 14.042867 0.524166 0.369088 0.964186 v 17.198370 103.507301 12.270746 0.349920 0.877269 0.089720 v 15.757774 102.063400 12.771153 0.750945 0.760596 0.436714 v 15.973627 101.332619 13.001826 0.845315 0.239336 0.434734 v 16.386154 101.062759 13.106025 0.012062 0.946348 0.875351 v 17.089825 101.287209 14.054517 0.705040 0.277179 0.332214 v 16.101501 100.630371 13.141332 0.229493 0.581243 0.914411 v 16.750429 101.034935 14.111185 0.790856 0.280434 0.298773 v 16.704950 101.841690 14.232040 0.413577 0.017354 0.390229 v 16.169027 101.330643 14.477776 0.753273 0.102205 0.961502 v 15.884645 101.970016 14.217157 0.876514 0.699554 0.738889 v 14.917194 100.929634 14.872257 0.738047 0.205722 0.368025 v 14.604492 100.768318 13.799142 0.041406 0.358852 0.651327 v 15.300686 101.494331 13.234921 0.372607 0.425237 0.321591 v 16.166430 102.285553 14.172639 0.881178 0.651421 0.031591 v 16.340361 102.430359 13.825541 0.238514 0.872105 0.916425 v 17.091702 102.272141 13.559283 0.683409 0.591965 0.161424 v 15.755924 101.744141 13.186656 0.554692 0.428357 0.321606 v 15.636648 101.024277 13.008099 0.722977 0.362383 0.699077 v 14.893343 100.283585 13.585906 0.120605 0.342788 0.395827 v 15.375553 99.936417 13.708995 0.212895 0.699230 0.485910 v 15.693741 100.089859 14.779139 0.913147 0.216130 0.144358 v 15.532129 100.709068 14.878080 0.477521 0.276581 0.673271 v 15.182705 100.355553 15.163162 0.498270 0.533396 0.877292 v 14.701965 100.769341 15.061884 0.553902 0.303339 0.443824 v 14.443485 100.498230 14.094258 0.526975 0.483678 0.478158 v 14.713209 100.091133 13.864754 0.271422 0.733462 0.856248 v 15.120924 99.763885 14.010915 0.168856 0.214765 0.953682 v 15.537130 99.864021 14.959125 0.661786 0.877672 0.304009 v 14.825739 99.455421 13.947857 0.093683 0.751107 0.261091 v 14.410925 99.827682 13.813920 0.232954 0.003075 0.963546 v 14.098913 100.246986 14.041762 0.601993 0.057190 0.048823 v 13.968443 99.411537 14.073940 0.314357 0.967751 0.468990 v 14.370646 99.054459 14.208757 0.788500 0.739715 0.970407 v 15.246805 99.671478 14.917262 0.242985 0.527005 0.882444 v 14.630253 99.157631 15.016358 0.348297 0.534427 0.919020 v 14.423208 99.665443 15.275446 0.879023 0.690562 0.515554 v 14.786119 99.993896 15.205281 0.946011 0.877435 0.397538 v 13.922611 99.928314 15.107771 0.274942 0.059717 0.971991 v 14.480175 100.504463 15.013946 0.999112 0.539987 0.480783 v 13.687117 99.798882 14.297059 0.623807 0.633383 0.132424 v 13.263895 99.304642 14.600314 0.847958 0.638163 0.864880 v 13.468662 98.914879 14.402242 0.260281 0.922927 0.946275 v 13.879364 98.634377 14.520806 0.969437 0.710779 0.438786 v 14.032644 98.662018 15.088462 0.260611 0.005090 0.492510 v 14.508074 99.167603 15.187471 0.135770 0.833555 0.219174 v 14.334328 99.577286 15.339277 0.747548 0.260154 0.372836 v 13.941887 99.784241 15.260606 0.346933 0.042328 0.289936 v 13.378477 99.374481 15.173022 0.124552 0.686360 0.083567 v 13.103165 98.918640 14.926794 0.659331 0.883812 0.736195 v 13.212423 98.626396 14.858948 0.075995 0.432923 0.631392 v 13.520250 98.464409 14.872913 0.518527 0.698966 0.489447 v 13.538101 98.394806 15.188927 0.219893 0.676672 0.860534 v 14.007473 98.726151 15.227386 0.494961 0.443861 0.120647 v 14.356316 99.146576 15.152162 0.705822 0.679979 0.103072 v 14.236687 99.496620 15.280804 0.707036 0.911743 0.322470 v 14.189970 99.453041 15.292438 0.752722 0.012776 0.211694 v 13.901266 99.642159 15.210951 0.128442 0.790921 0.293047 v 13.895205 99.591667 15.260709 0.280539 0.508696 0.194187 v 13.498838 99.306694 15.285000 0.744936 0.981361 0.855308 v 13.457317 99.325325 15.298473 0.980896 0.894802 0.108869 v 13.075567 98.898521 15.248674 0.304482 0.273482 0.680097 v 13.107128 98.824203 15.286634 0.483412 0.451395 0.018484 v 13.258636 98.607529 15.339800 0.686635 0.718901 0.737594 v 13.472075 98.426743 15.239509 0.345871 0.563115 0.170285 v 13.382826 98.416023 15.282155 0.298864 0.941980 0.486724 v 13.401512 98.448029 15.337298 0.823881 0.321143 0.789838 v 13.499992 98.463371 15.324132 0.597591 0.140882 0.147852 v 13.544857 98.525055 15.373890 0.207265 0.385723 0.723316 v 13.455685 98.510979 15.384006 0.091440 0.765113 0.320780 v 13.316288 98.644798 15.456668 0.269445 0.352647 0.573960 v 13.251513 98.591347 15.417366 0.089514 0.748445 0.311810 v 13.207573 98.781197 15.416073 0.673248 0.925076 0.574258 v 13.133581 98.739830 15.371895 0.614741 0.404715 0.681618 v 13.229237 98.868767 15.414663 0.743096 0.734018 0.907898 v 13.157074 98.836853 15.368442 0.832890 0.839457 0.506421 v 13.550516 99.279091 15.355312 0.472726 0.827018 0.372156 v 13.141111 98.892418 15.372832 0.082176 0.844779 0.332525 v 13.092894 98.731789 15.319605 0.489241 0.688021 0.300120 v 13.207260 98.558105 15.364540 0.007939 0.991815 0.591128 v 13.787088 99.071419 15.439004 0.052680 0.674432 0.922617 v 13.381592 98.703499 15.457932 0.855934 0.753060 0.002340 v 13.977985 98.813553 15.300066 0.017096 0.299422 0.559428 v 13.991417 98.770271 15.221371 0.259980 0.414864 0.362815 v 14.311728 99.138046 15.206864 0.300897 0.391315 0.255826 v 13.554258 98.442459 15.319442 0.386020 0.812874 0.674599 v 16.642725 103.228691 9.292672 0.871393 0.263299 0.768062 v 16.180382 103.298470 9.172210 0.798682 0.699071 0.482652 v 15.581366 103.507202 8.439732 0.900374 0.117901 0.602394 v 15.822350 102.454643 7.732079 0.310443 0.893399 0.352200 v 16.459024 101.891808 8.381245 0.791473 0.851082 0.082505 v 15.489075 104.624611 11.960565 0.508822 0.446349 0.543860 v 15.232964 104.660179 12.456723 0.957610 0.089282 0.742883 v 15.046446 104.898911 12.567672 0.760222 0.586487 0.973140 v 14.928265 105.008072 12.559527 0.069633 0.093211 0.645100 v 14.892153 104.996635 12.522141 0.783621 0.573011 0.947419 v 14.670265 104.780472 12.917547 0.578590 0.165155 0.644787 v 14.584873 104.736572 12.974226 0.183446 0.717798 0.903794 v 14.574924 104.809357 12.906798 0.438658 0.353404 0.719311 v 14.322874 104.722710 12.962437 0.191170 0.157251 0.521099 v 14.326815 104.651581 12.995637 0.978087 0.462603 0.089254 v 14.125824 104.558861 12.812625 0.810238 0.099880 0.234727 v 14.094612 104.541924 12.708163 0.329980 0.622584 0.379298 v 14.353060 104.660706 12.920048 0.247013 0.381465 0.906288 v 14.611744 104.677544 12.995557 0.902527 0.422430 0.539373 v 14.704563 104.690842 12.937813 0.347299 0.753324 0.973986 v 14.805925 104.682648 12.927907 0.533700 0.214029 0.280966 v 14.511747 104.263725 12.772556 0.447224 0.820325 0.964128 v 14.035967 104.494598 12.638080 0.116990 0.134439 0.682999 v 14.175524 104.223335 12.525416 0.373309 0.473996 0.067767 v 14.903688 104.410805 12.801369 0.726519 0.401241 0.321471 v 14.734095 104.805557 12.915510 0.592693 0.168983 0.730540 v 20.081770 98.156761 11.224461 0.536012 0.744120 0.801903 v 19.501871 98.291130 11.499538 0.676873 0.976673 0.684158 v 18.849867 98.204170 10.743343 0.946911 0.615526 0.741644 v 18.976194 97.761818 10.422497 0.715234 0.704502 0.606737 v 19.439085 97.463516 10.296282 0.276357 0.045958 0.554864 v 20.111902 97.537125 11.040787 0.950779 0.575547 0.573591 v 19.918024 97.819244 11.578921 0.377590 0.397586 0.616599 v 19.466536 98.197212 11.676090 0.588001 0.322060 0.405988 v 19.035463 98.104736 10.989516 0.235054 0.543523 0.518736 v 19.182066 97.795105 10.642547 0.398324 0.394702 0.064574 v 19.107838 97.750031 10.609126 0.107838 0.049821 0.320307 v 19.552797 97.475937 10.603872 0.924854 0.643874 0.052287 v 20.112606 97.411926 11.194472 0.612493 0.011267 0.537637 v 19.473869 97.339760 10.586689 0.921634 0.984548 0.212241 v 18.649340 97.154755 10.959854 0.583797 0.255585 0.410856 v 19.080141 96.832794 10.884458 0.149537 0.368243 0.509394 v 19.966385 97.318214 11.263241 0.222959 0.645617 0.645072 v 19.430765 96.687981 11.660297 0.763441 0.547260 0.733216 v 19.625584 97.496529 11.724469 0.512614 0.865895 0.070792 v 19.366192 98.035645 11.706785 0.551396 0.542784 0.108574 v 18.857306 97.347923 12.073355 0.998342 0.069811 0.165946 v 18.490173 97.526306 11.316678 0.445939 0.655308 0.243724 v 18.882193 98.035294 11.020181 0.445025 0.061772 0.310458 v 18.685715 97.031792 11.221387 0.845457 0.767290 0.796695 v 19.044954 96.693520 11.193080 0.831294 0.706788 0.056648 v 19.388369 96.501030 11.808396 0.979857 0.400223 0.301370 v 18.870401 96.555328 11.150080 0.580184 0.941877 0.922928 v 18.567453 96.937889 11.204303 0.656055 0.116818 0.745467 v 18.498812 97.308899 11.579938 0.307793 0.649000 0.297167 v 18.754282 97.215508 12.257516 0.266051 0.458822 0.786961 v 18.299887 97.171730 11.541014 0.871912 0.424177 0.286392 v 18.214909 96.613251 11.214972 0.134156 0.188672 0.609110 v 18.532688 96.274811 11.169755 0.802117 0.431994 0.288118 v 19.203283 96.404633 11.808337 0.538985 0.490005 0.760160 v 18.680290 96.037628 11.727061 0.501897 0.573782 0.423827 v 18.538797 96.359787 12.083176 0.863980 0.366634 0.509853 v 18.795637 96.565659 12.120624 0.089711 0.141894 0.682507 v 18.120468 96.642494 12.110645 0.622677 0.291353 0.533538 v 18.455652 96.255013 12.129835 0.609392 0.184219 0.859189 v 18.132368 96.481667 12.169625 0.946357 0.116099 0.990928 v 17.653994 96.263435 11.976260 0.431868 0.751697 0.698010 v 17.619009 96.394218 11.648544 0.113549 0.605353 0.621527 v 17.992323 96.858627 11.539976 0.244287 0.290121 0.897803 v 17.821972 96.179024 11.340118 0.161339 0.240059 0.323301 v 18.610632 97.058502 12.221169 0.898849 0.121991 0.634483 v 19.127945 96.834953 12.146526 0.191146 0.196127 0.746291 v 19.374662 97.178391 11.920855 0.348732 0.758152 0.111610 v 18.111042 95.862617 11.311384 0.895907 0.702570 0.669211 v 18.177082 95.698280 11.617873 0.484036 0.529329 0.589314 v 18.581573 95.996338 11.861835 0.247579 0.389997 0.396697 v 18.372496 96.224426 12.060412 0.873116 0.184367 0.009109 v 18.093517 96.397545 12.081933 0.921301 0.103355 0.639681 v 17.718035 96.176414 12.047664 0.317285 0.890129 0.227818 v 17.388649 95.914909 11.868533 0.986402 0.424388 0.613976 v 17.409479 96.037346 11.636640 0.550405 0.492761 0.075404 v 17.412235 95.843842 11.867814 0.069802 0.756681 0.770871 v 17.501076 95.819626 11.464847 0.089925 0.084191 0.722376 v 17.542908 95.635788 11.811368 0.354137 0.554544 0.987018 v 17.711365 95.520668 11.662881 0.864070 0.305686 0.278516 v 17.748411 95.671143 11.404375 0.705968 0.522946 0.891955 v 17.764460 95.508881 11.611047 0.877032 0.280911 0.241953 v 17.736013 95.516014 11.737981 0.416810 0.102503 0.580169 v 17.780159 95.497528 11.724614 0.231087 0.278632 0.390761 v 18.147007 95.735802 11.758052 0.194571 0.712166 0.549389 v 18.137739 95.741699 11.832862 0.868388 0.894113 0.152716 v 18.419415 95.984718 11.872640 0.921533 0.778003 0.417299 v 18.332905 96.192467 12.054597 0.370706 0.028973 0.604884 v 17.991848 95.896461 12.036670 0.972843 0.953321 0.032281 v 17.793440 96.113670 12.068784 0.714090 0.245116 0.254950 v 18.087130 96.343735 12.100301 0.722232 0.762753 0.069024 v 17.751406 96.163200 12.029113 0.521890 0.792153 0.973867 v 17.443275 95.861488 11.955440 0.334143 0.047993 0.556174 v 17.454365 95.820312 11.930951 0.352788 0.130262 0.392542 v 17.431646 95.749657 11.898561 0.289135 0.600086 0.710090 v 17.397505 95.765587 11.858582 0.158514 0.907587 0.887409 v 17.499430 95.595383 11.813286 0.591295 0.056402 0.208779 v 17.537291 95.597763 11.862945 0.984055 0.321203 0.238716 v 17.654726 95.508659 11.745722 0.360205 0.723993 0.535708 v 17.701281 95.534294 11.801700 0.665393 0.663475 0.012906 v 17.592442 95.617798 11.909360 0.880960 0.144630 0.202335 v 17.774897 95.540466 11.796078 0.199126 0.997920 0.521554 v 17.647873 95.654839 11.929584 0.846946 0.597606 0.971203 v 17.515203 95.821091 11.974012 0.671033 0.546937 0.544597 v 17.494291 95.757935 11.943512 0.749914 0.964251 0.436902 v 17.638042 95.505699 11.693772 0.193643 0.744921 0.101695 v 18.455822 96.006119 11.833717 0.550028 0.306621 0.961649 v 18.159231 95.699760 11.745373 0.820486 0.303883 0.902808 v 19.100885 98.118317 13.050161 0.610545 0.367095 0.775817 v 19.080576 98.907875 13.150065 0.124853 0.291775 0.893050 v 18.343889 99.096008 13.416863 0.498886 0.815353 0.341491 v 17.484453 98.742989 12.603461 0.822889 0.887885 0.434623 v 17.665644 98.152779 12.334543 0.272975 0.280867 0.502903 v 18.218979 97.770683 12.245683 0.454222 0.605897 0.476055 v 19.201290 98.088203 13.144883 0.569493 0.791376 0.156930 v 18.910177 98.635338 13.514727 0.343057 0.638771 0.015247 v 18.375906 99.128448 13.542641 0.805244 0.288345 0.660609 v 17.902044 98.863213 12.616332 0.356474 0.752326 0.647147 v 18.084846 98.463058 12.315017 0.249186 0.757362 0.580563 v 18.495676 98.115143 12.330281 0.673671 0.540865 0.047659 v 18.676750 98.186630 11.985053 0.967893 0.173120 0.126254 v 19.093197 98.083267 13.075956 0.094762 0.477044 0.767755 v 18.617420 98.375771 13.555640 0.378632 0.076122 0.231151 v 18.316236 99.038849 13.448429 0.869276 0.802624 0.623476 v 17.433632 98.130058 13.718717 0.517670 0.834744 0.278067 v 17.197735 98.318031 12.621813 0.377126 0.471423 0.239942 v 17.915817 99.099998 12.348026 0.016745 0.649652 0.408648 v 18.250525 98.693680 11.947891 0.619930 0.585398 0.702227 v 17.434778 97.889893 12.302289 0.971869 0.359231 0.743747 v 17.877216 97.502419 12.297673 0.857350 0.710372 0.561784 v 18.162397 97.260811 13.370554 0.958217 0.570167 0.867059 v 18.108477 97.885902 13.700086 0.474958 0.233897 0.677282 v 17.729111 97.481155 13.939765 0.913850 0.174789 0.262540 v 17.278343 97.966133 13.917846 0.550334 0.308914 0.205550 v 17.078985 98.037605 12.972086 0.415405 0.072682 0.491269 v 17.347515 97.684128 12.670406 0.645939 0.834478 0.647631 v 17.659964 97.281769 12.586068 0.598163 0.158590 0.240785 v 18.046658 97.055504 13.550183 0.837140 0.165696 0.954507 v 17.483284 97.032639 12.577152 0.707792 0.175979 0.604326 v 17.140785 97.531776 12.649638 0.424993 0.829071 0.678300 v 16.783880 97.897285 13.022856 0.165449 0.379936 0.937894 v 16.665905 97.138535 12.640598 0.144353 0.536606 0.198202 v 17.067358 96.677429 12.664666 0.326196 0.030435 0.780634 v 17.808838 96.923058 13.529361 0.375598 0.419813 0.125312 v 17.176514 96.410179 13.444945 0.452905 0.708963 0.975495 v 16.940409 96.844154 13.902794 0.791773 0.759750 0.346841 v 17.323067 97.150574 13.932628 0.417956 0.450033 0.781026 v 16.430775 97.282837 13.802843 0.419276 0.932657 0.436402 v 16.834423 96.746490 13.924434 0.509201 0.875414 0.624819 v 16.424782 97.079811 13.901392 0.147107 0.020796 0.312367 v 15.816147 96.817413 13.592666 0.375586 0.851038 0.410090 v 15.768950 96.967667 13.018676 0.568582 0.785468 0.712199 v 16.354490 97.511620 13.006811 0.409275 0.761032 0.662207 v 17.085621 97.774750 13.875953 0.485758 0.792551 0.387256 v 16.062702 96.628593 12.664219 0.538972 0.715067 0.392808 v 16.433167 96.190399 12.699910 0.626945 0.545445 0.613958 v 16.526110 95.986664 13.251937 0.200846 0.824507 0.790664 v 17.028460 96.373413 13.611676 0.617359 0.300118 0.514166 v 16.734657 96.705849 13.822222 0.941887 0.661212 0.565111 v 16.379656 96.964691 13.788644 0.114775 0.395218 0.205523 v 15.881804 96.706856 13.707667 0.686203 0.682591 0.671614 v 15.459797 96.377113 13.446949 0.692552 0.298414 0.683044 v 15.543787 96.521805 13.129207 0.045666 0.648473 0.991843 v 15.484428 96.282921 13.458040 0.781570 0.699049 0.398137 v 15.712286 96.222328 12.934988 0.561629 0.595114 0.138980 v 15.660398 95.975883 13.420298 0.439209 0.540379 0.313302 v 15.910290 95.784576 13.253642 0.779620 0.489072 0.287407 v 16.016470 95.968674 12.902345 0.738193 0.124122 0.767992 v 15.985489 95.761971 13.194689 0.491743 0.162125 0.192686 v 16.485430 96.000526 13.417961 0.258268 0.954721 0.777520 v 16.870440 96.390373 13.553120 0.447536 0.642179 0.618823 v 16.469585 96.049072 13.429292 0.256811 0.886175 0.799118 v 16.817030 96.367867 13.600907 0.059589 0.898354 0.081841 v 16.682346 96.666595 13.811513 0.624143 0.112865 0.844202 v 16.364441 96.897491 13.818125 0.422148 0.571928 0.178893 v 15.926273 96.684853 13.690055 0.758325 0.945234 0.281163 v 15.513985 96.312546 13.577111 0.063656 0.804617 0.532313 v 15.528214 96.255608 13.551249 0.156237 0.114465 0.233954 v 15.497446 96.162521 13.512783 0.219672 0.109991 0.045479 v 15.460171 96.181793 13.452389 0.409384 0.972717 0.184122 v 15.601442 95.926674 13.420082 0.689126 0.887615 0.006501 v 15.643599 95.931915 13.491813 0.354127 0.986036 0.841403 v 15.825123 95.779121 13.355550 0.352462 0.219306 0.352388 v 15.878647 95.814781 13.434761 0.210772 0.092559 0.198522 v 15.709700 95.958603 13.560102 0.437824 0.327147 0.666184 v 15.974798 95.818413 13.438601 0.635057 0.706298 0.357765 v 15.931490 95.783707 13.357679 0.858570 0.907656 0.500861 v 15.810612 95.771683 13.284191 0.190357 0.407379 0.204353 v 15.989435 95.756157 13.348907 0.533793 0.890549 0.436547 v 16.447533 96.063690 13.526397 0.417548 0.189760 0.207542 v 16.225578 96.304634 13.763895 0.822518 0.081696 0.772257 v 15.970970 96.621330 13.755115 0.449439 0.736445 0.058328 v 15.600859 96.255997 13.618078 0.302017 0.184912 0.097030 v 15.572790 96.172691 13.581543 0.276400 0.144775 0.739713 v 15.780838 96.004761 13.591941 0.476820 0.346215 0.759202 vt 0.842838 0.178799 vt 0.837437 0.183087 vt 0.836889 0.179245 vt 0.842760 0.183394 vt 0.850879 0.178282 vt 0.850172 0.183173 vt 0.851508 0.178210 vt 0.851544 0.184540 vt 0.850744 0.183641 vt 0.852638 0.178106 vt 0.852830 0.186071 vt 0.853937 0.178073 vt 0.860863 0.178232 vt 0.860973 0.184284 vt 0.866608 0.184893 vt 0.867317 0.178475 vt 0.872031 0.185005 vt 0.872213 0.178528 vt 0.889567 0.186381 vt 0.872480 0.194656 vt 0.888193 0.197191 vt 0.905086 0.188276 vt 0.901780 0.200550 vt 0.921865 0.189071 vt 0.919124 0.206430 vt 0.935857 0.185036 vt 0.939017 0.199922 vt 0.939545 0.213644 vt 0.950337 0.219347 vt 0.930718 0.224494 vt 0.938332 0.231096 vt 0.920052 0.236677 vt 0.923241 0.244709 vt 0.909130 0.240084 vt 0.907829 0.258958 vt 0.899586 0.236461 vt 0.889426 0.244437 vt 0.887664 0.261777 vt 0.895025 0.271465 vt 0.879729 0.267707 vt 0.883057 0.273230 vt 0.888495 0.285771 vt 0.881285 0.291958 vt 0.901318 0.087781 vt 0.894843 0.097158 vt 0.888649 0.082814 vt 0.901691 0.101694 vt 0.900746 0.113514 vt 0.911588 0.108111 vt 0.926547 0.116357 vt 0.919041 0.128456 vt 0.934242 0.137437 vt 0.910020 0.141896 vt 0.924464 0.149324 vt 0.949019 0.146482 vt 0.955912 0.134932 vt 0.961960 0.161001 vt 0.941225 0.159382 vt 0.959489 0.178864 vt 0.632098 0.462562 vt 0.621712 0.480258 vt 0.621712 0.462562 vt 0.632098 0.480258 vt 0.643476 0.462562 vt 0.643476 0.480258 vt 0.662016 0.480258 vt 0.662016 0.462562 vt 0.710575 0.480259 vt 0.662016 0.497603 vt 0.710574 0.497604 vt 0.710574 0.514839 vt 0.662016 0.514838 vt 0.662016 0.528756 vt 0.710574 0.528757 vt 0.710575 0.385757 vt 0.662017 0.370712 vt 0.710576 0.370713 vt 0.662017 0.385757 vt 0.710575 0.404873 vt 0.662017 0.404872 vt 0.662017 0.421202 vt 0.710575 0.421203 vt 0.759343 0.421203 vt 0.710575 0.442136 vt 0.759343 0.442136 vt 0.783904 0.421204 vt 0.783904 0.442137 vt 0.812735 0.442137 vt 0.783904 0.462564 vt 0.812734 0.462564 vt 0.827711 0.462564 vt 0.827711 0.442137 vt 0.842607 0.442137 vt 0.842607 0.462564 vt 0.886032 0.462565 vt 0.886033 0.442138 vt 0.886033 0.421205 vt 0.842607 0.421204 vt 0.842607 0.404874 vt 0.827711 0.421204 vt 0.812735 0.421204 vt 0.812735 0.404874 vt 0.783905 0.404873 vt 0.759344 0.404873 vt 0.759344 0.385758 vt 0.759344 0.370713 vt 0.759342 0.528758 vt 0.759343 0.514839 vt 0.759343 0.497605 vt 0.759343 0.480260 vt 0.783904 0.497605 vt 0.783904 0.480260 vt 0.812734 0.480260 vt 0.812734 0.497605 vt 0.827710 0.497605 vt 0.827711 0.480260 vt 0.842607 0.480261 vt 0.886032 0.480261 vt 0.932329 0.480262 vt 0.932329 0.462565 vt 0.932329 0.442138 vt 0.932329 0.421205 vt 0.886033 0.404875 vt 0.886033 0.385760 vt 0.842607 0.385759 vt 0.827711 0.385759 vt 0.827711 0.404874 vt 0.812735 0.385759 vt 0.783905 0.385758 vt 0.783905 0.370714 vt 0.783903 0.528758 vt 0.783904 0.514839 vt 0.812734 0.514840 vt 0.812734 0.528758 vt 0.812735 0.370714 vt 0.827712 0.370714 vt 0.827710 0.528759 vt 0.827710 0.514840 vt 0.842606 0.514840 vt 0.842606 0.497606 vt 0.886032 0.497606 vt 0.886032 0.514841 vt 0.932328 0.514841 vt 0.932329 0.497607 vt 0.993005 0.497607 vt 0.993005 0.514842 vt 0.993005 0.528760 vt 0.932328 0.528760 vt 0.886032 0.528759 vt 0.842606 0.528759 vt 0.842608 0.370714 vt 0.886033 0.370715 vt 0.932330 0.385760 vt 0.932330 0.370716 vt 0.993006 0.370716 vt 0.993006 0.385761 vt 0.993006 0.404876 vt 0.932329 0.404875 vt 0.993006 0.421206 vt 0.993006 0.442139 vt 0.993005 0.462566 vt 0.993005 0.480262 vt 0.759343 0.462563 vt 0.710575 0.462563 vt 0.662017 0.442135 vt 0.643476 0.442135 vt 0.632099 0.442135 vt 0.621712 0.442135 vt 0.972508 0.141505 vt 0.962546 0.125726 vt 0.942201 0.126280 vt 0.934831 0.104175 vt 0.923149 0.095344 vt 0.911762 0.097160 vt 0.914923 0.087812 vt 0.926818 0.082493 vt 0.909238 0.081065 vt 0.901133 0.067913 vt 0.893855 0.073995 vt 0.891278 0.081386 vt 0.885932 0.075977 vt 0.907151 0.275700 vt 0.890900 0.287249 vt 0.898241 0.287970 vt 0.919415 0.283692 vt 0.905550 0.294588 vt 0.916489 0.297672 vt 0.910973 0.303711 vt 0.919804 0.071913 vt 0.908500 0.062014 vt 0.929717 0.065262 vt 0.923837 0.053461 vt 0.917206 0.056528 vt 0.913940 0.065376 vt 0.910506 0.058077 vt 0.928500 0.287096 vt 0.917180 0.301342 vt 0.923339 0.303016 vt 0.938220 0.291090 vt 0.929000 0.306682 vt 0.945755 0.303966 vt 0.938477 0.313889 vt 0.938439 0.062285 vt 0.930458 0.050276 vt 0.931634 0.073127 vt 0.938510 0.080828 vt 0.944071 0.091947 vt 0.950081 0.115832 vt 0.969822 0.114323 vt 0.983376 0.124933 vt 0.632099 0.421202 vt 0.621713 0.421202 vt 0.643476 0.421202 vt 0.643476 0.404872 vt 0.632099 0.404872 vt 0.621713 0.404872 vt 0.993702 0.114117 vt 0.980695 0.101160 vt 0.969288 0.091449 vt 0.958815 0.103777 vt 0.955134 0.081387 vt 0.943241 0.070429 vt 0.941609 0.280236 vt 0.953068 0.293767 vt 0.927623 0.271097 vt 0.937469 0.255556 vt 0.950210 0.269257 vt 0.960878 0.255737 vt 0.949657 0.242412 vt 0.959730 0.231164 vt 0.969837 0.244620 vt 0.984609 0.257784 vt 0.974715 0.269995 vt 0.962396 0.285037 vt 0.994849 0.242262 vt 0.984444 0.228679 vt 0.978415 0.216660 vt 0.621713 0.385757 vt 0.621713 0.370712 vt 0.632099 0.370712 vt 0.632098 0.528756 vt 0.621712 0.528756 vt 0.632098 0.514838 vt 0.621712 0.514838 vt 0.972000 0.205644 vt 0.963062 0.192825 vt 0.951660 0.196999 vt 0.949215 0.180369 vt 0.621712 0.497603 vt 0.632098 0.497603 vt 0.643475 0.497603 vt 0.643475 0.514838 vt 0.643475 0.528756 vt 0.643477 0.370712 vt 0.632099 0.385757 vt 0.643476 0.385757 vt 0.926981 0.165481 vt 0.915046 0.169859 vt 0.903282 0.173553 vt 0.889440 0.177509 vt 0.889684 0.168767 vt 0.899403 0.164887 vt 0.907238 0.160753 vt 0.917457 0.155927 vt 0.906039 0.149134 vt 0.902890 0.155582 vt 0.890615 0.152317 vt 0.887138 0.158510 vt 0.871924 0.163334 vt 0.871968 0.172319 vt 0.866428 0.172176 vt 0.860639 0.172122 vt 0.852414 0.170001 vt 0.851279 0.171766 vt 0.850420 0.172921 vt 0.849847 0.173510 vt 0.842424 0.174228 vt 0.837243 0.175414 vt 0.836051 0.179308 vt 0.836567 0.182346 vt 0.836249 0.183804 vt 0.835453 0.182647 vt 0.842534 0.184382 vt 0.842253 0.184811 vt 0.842046 0.186595 vt 0.843028 0.190302 vt 0.849652 0.192783 vt 0.861522 0.194169 vt 0.845010 0.196949 vt 0.861286 0.200530 vt 0.859931 0.206048 vt 0.843967 0.201699 vt 0.841280 0.206112 vt 0.857091 0.211219 vt 0.853559 0.217120 vt 0.860837 0.213477 vt 0.857180 0.219091 vt 0.864846 0.214024 vt 0.867825 0.208713 vt 0.864364 0.207438 vt 0.865959 0.200537 vt 0.869702 0.202617 vt 0.866499 0.193448 vt 0.884714 0.206468 vt 0.881629 0.214479 vt 0.876243 0.223472 vt 0.861338 0.220981 vt 0.868306 0.227115 vt 0.875768 0.230885 vt 0.882294 0.235085 vt 0.886790 0.229252 vt 0.871093 0.240593 vt 0.875471 0.250784 vt 0.873562 0.264159 vt 0.853736 0.274921 vt 0.858020 0.281663 vt 0.861389 0.288690 vt 0.863367 0.301650 vt 0.883887 0.090971 vt 0.868928 0.071490 vt 0.887265 0.106164 vt 0.890426 0.120010 vt 0.901235 0.125552 vt 0.890344 0.133451 vt 0.890186 0.144323 vt 0.871595 0.140672 vt 0.881625 0.147822 vt 0.868455 0.230245 vt 0.866051 0.233671 vt 0.857998 0.235565 vt 0.862997 0.243713 vt 0.865288 0.252270 vt 0.841825 0.250397 vt 0.844412 0.257290 vt 0.862803 0.264051 vt 0.842902 0.271022 vt 0.876478 0.106680 vt 0.873698 0.116610 vt 0.850496 0.102760 vt 0.881545 0.117935 vt 0.877745 0.129555 vt 0.869938 0.261268 vt 0.875099 0.104913 vt 0.878817 0.099218 vt 0.871558 0.103651 vt 0.859751 0.085810 vt 0.855237 0.098653 vt 0.856788 0.084183 vt 0.850359 0.093684 vt 0.849466 0.278195 vt 0.853005 0.284492 vt 0.856052 0.291261 vt 0.860691 0.303701 vt 0.857300 0.304307 vt 0.861670 0.076748 vt 0.862675 0.067800 vt 0.866070 0.069389 vt 0.855694 0.073258 vt 0.854262 0.082135 vt 0.845071 0.067069 vt 0.837731 0.072047 vt 0.844280 0.091562 vt 0.868683 0.081232 vt 0.844281 0.280675 vt 0.847602 0.287036 vt 0.850809 0.293199 vt 0.840307 0.313590 vt 0.845476 0.058468 vt 0.842098 0.056281 vt 0.838800 0.063495 vt 0.835094 0.070116 vt 0.832058 0.068728 vt 0.827913 0.080558 vt 0.822642 0.078762 vt 0.825883 0.289772 vt 0.829020 0.296255 vt 0.820925 0.291797 vt 0.833049 0.294248 vt 0.832388 0.303196 vt 0.827349 0.304571 vt 0.833830 0.316377 vt 0.837423 0.315709 vt 0.838087 0.055043 vt 0.832857 0.060881 vt 0.823346 0.065548 vt 0.816431 0.073824 vt 0.816624 0.301802 vt 0.813560 0.295711 vt 0.824800 0.297946 vt 0.820364 0.307534 vt 0.824221 0.317478 vt 0.828525 0.059196 vt 0.829214 0.051164 vt 0.826871 0.058547 vt 0.822882 0.063067 vt 0.813789 0.061225 vt 0.809149 0.067054 vt 0.808374 0.306796 vt 0.804827 0.302100 vt 0.811869 0.311399 vt 0.813160 0.318517 vt 0.827037 0.052562 vt 0.819020 0.047608 vt 0.825233 0.057915 vt 0.821760 0.061672 vt 0.814674 0.059677 vt 0.807218 0.057183 vt 0.808517 0.056037 vt 0.806927 0.055441 vt 0.808387 0.055494 vt 0.800807 0.308452 vt 0.797904 0.312819 vt 0.797597 0.311755 vt 0.803523 0.311375 vt 0.799938 0.316050 vt 0.803428 0.317542 vt 0.806460 0.314110 vt 0.804822 0.317821 vt 0.818618 0.049488 vt 0.811000 0.047045 vt 0.824497 0.057638 vt 0.818593 0.051037 vt 0.824482 0.053161 vt 0.817482 0.054980 vt 0.815682 0.058648 vt 0.821450 0.060973 vt 0.809652 0.055449 vt 0.808021 0.054331 vt 0.809116 0.054570 vt 0.809294 0.052111 vt 0.810847 0.050138 vt 0.809862 0.049626 vt 0.811843 0.049801 vt 0.810941 0.049000 vt 0.809762 0.048106 vt 0.811433 0.048672 vt 0.818751 0.049998 vt 0.810875 0.052666 vt 0.810103 0.052397 vt 0.825158 0.052857 vt 0.806143 0.061257 vt 0.837121 0.300519 vt 0.830381 0.287167 vt 0.831812 0.084481 vt 0.869919 0.125744 vt 0.864567 0.136266 vt 0.843603 0.131497 vt 0.839765 0.243029 vt 0.836713 0.251916 vt 0.838153 0.258547 vt 0.839836 0.272903 vt 0.832422 0.258797 vt 0.835985 0.271656 vt 0.844360 0.108641 vt 0.842332 0.100390 vt 0.846452 0.101313 vt 0.836743 0.107059 vt 0.837466 0.115618 vt 0.822861 0.111287 vt 0.820810 0.124045 vt 0.833077 0.128365 vt 0.841212 0.116506 vt 0.844520 0.118064 vt 0.852934 0.111698 vt 0.838832 0.128236 vt 0.834438 0.245019 vt 0.831421 0.252440 vt 0.817994 0.254501 vt 0.819439 0.260940 vt 0.819117 0.273473 vt 0.827251 0.104994 vt 0.825786 0.097670 vt 0.821229 0.103682 vt 0.819876 0.110300 vt 0.816655 0.121302 vt 0.817099 0.247815 vt 0.813208 0.255384 vt 0.812143 0.248987 vt 0.814373 0.262295 vt 0.815823 0.274570 vt 0.809460 0.261920 vt 0.808275 0.255901 vt 0.807027 0.249703 vt 0.801012 0.257115 vt 0.802334 0.263297 vt 0.812164 0.273455 vt 0.802828 0.273007 vt 0.818198 0.096340 vt 0.810357 0.102815 vt 0.809020 0.095848 vt 0.815568 0.103183 vt 0.807853 0.109260 vt 0.816544 0.110477 vt 0.804611 0.118479 vt 0.797163 0.114795 vt 0.799188 0.251371 vt 0.792800 0.259491 vt 0.790761 0.254608 vt 0.811473 0.121600 vt 0.822135 0.096691 vt 0.794681 0.264665 vt 0.793465 0.271039 vt 0.807535 0.097603 vt 0.799742 0.095316 vt 0.808882 0.102694 vt 0.806837 0.107300 vt 0.798933 0.108422 vt 0.792640 0.110625 vt 0.787070 0.262358 vt 0.785531 0.259233 vt 0.789023 0.265624 vt 0.786730 0.268415 vt 0.799880 0.097046 vt 0.793000 0.097002 vt 0.807354 0.102603 vt 0.806047 0.098348 vt 0.799243 0.106866 vt 0.805545 0.106433 vt 0.792478 0.106857 vt 0.781941 0.262214 vt 0.781930 0.261196 vt 0.782803 0.265452 vt 0.785576 0.267796 vt 0.793451 0.098725 vt 0.792714 0.099548 vt 0.792232 0.098263 vt 0.794390 0.099176 vt 0.794030 0.104667 vt 0.792994 0.105061 vt 0.792381 0.104169 vt 0.799795 0.105719 vt 0.793253 0.105510 vt 0.791754 0.105434 vt 0.805115 0.105927 vt 0.806674 0.102566 vt 0.800261 0.102226 vt 0.794268 0.102078 vt 0.800220 0.098396 vt 0.805566 0.098784 vt 0.793794 0.098285 vt 0.830067 0.245754 vt 0.888914 0.225004 vt 0.890604 0.220257 vt 0.896127 0.209563 vt 0.911432 0.216362 vt 0.904746 0.230348 vt 0.866270 0.163984 vt 0.861248 0.161997 vt 0.848684 0.163011 vt 0.842023 0.166889 vt 0.841732 0.170877 vt 0.842032 0.172759 vt 0.842213 0.173209 vt 0.836132 0.174937 vt 0.835344 0.176094 vt 0.835202 0.179360 vt 0.836453 0.176272 vt 0.827846 0.199165 vt 0.828236 0.194431 vt 0.828031 0.200429 vt 0.832936 0.196442 vt 0.832052 0.189846 vt 0.835804 0.186369 vt 0.834918 0.184366 vt 0.836618 0.184563 vt 0.836102 0.191570 vt 0.831817 0.202046 vt 0.841822 0.212613 vt 0.834859 0.208882 vt 0.835689 0.172668 vt 0.835289 0.168686 vt 0.836571 0.174188 vt 0.834792 0.174464 vt 0.920690 0.045745 vt 0.913233 0.044959 vt 0.905398 0.049651 vt 0.918029 0.315254 vt 0.912345 0.312804 vt 0.923716 0.317168 vt 0.931313 0.324482 vt 0.925257 0.039854 vt 0.918597 0.040438 vt 0.912685 0.042775 vt 0.904180 0.046094 vt 0.917003 0.318359 vt 0.911300 0.316790 vt 0.915684 0.321784 vt 0.922806 0.320905 vt 0.931280 0.325858 vt 0.920893 0.324326 vt 0.913150 0.330958 vt 0.918868 0.332026 vt 0.930082 0.327039 vt 0.926590 0.336589 vt 0.923447 0.035698 vt 0.916489 0.035547 vt 0.919148 0.026302 vt 0.924623 0.037810 vt 0.911515 0.040562 vt 0.908151 0.030725 vt 0.900384 0.034973 vt 0.902372 0.042596 vt 0.909721 0.320880 vt 0.907434 0.329170 vt 0.912539 0.334304 vt 0.918669 0.335723 vt 0.927045 0.338452 vt 0.916995 0.339044 vt 0.911775 0.337585 vt 0.906762 0.333148 vt 0.900258 0.031294 vt 0.907885 0.028674 vt 0.897689 0.027819 vt 0.906274 0.337174 vt 0.910817 0.342949 vt 0.915912 0.343735 vt 0.925712 0.340051 vt 0.922350 0.346550 vt 0.917288 0.021845 vt 0.909499 0.019312 vt 0.913811 0.015247 vt 0.911103 0.022403 vt 0.903591 0.020445 vt 0.908822 0.017975 vt 0.904518 0.018876 vt 0.900407 0.014086 vt 0.896705 0.015521 vt 0.896779 0.022669 vt 0.905629 0.342581 vt 0.910284 0.349638 vt 0.905424 0.350047 vt 0.906783 0.026891 vt 0.913143 0.026564 vt 0.918547 0.024052 vt 0.914799 0.031144 vt 0.915117 0.350352 vt 0.918381 0.352681 vt 0.911978 0.014954 vt 0.910415 0.008685 vt 0.908275 0.016928 vt 0.904594 0.017580 vt 0.901648 0.013601 vt 0.898888 0.009020 vt 0.896248 0.010676 vt 0.910303 0.355048 vt 0.908153 0.358795 vt 0.907228 0.355090 vt 0.911261 0.359209 vt 0.914007 0.357749 vt 0.913300 0.354547 vt 0.906431 0.004837 vt 0.905394 0.005907 vt 0.905202 0.004862 vt 0.908045 0.016492 vt 0.908411 0.010358 vt 0.910315 0.014121 vt 0.905656 0.012064 vt 0.902714 0.013402 vt 0.904779 0.017052 vt 0.900177 0.008970 vt 0.899608 0.007871 vt 0.900405 0.008552 vt 0.901122 0.009060 vt 0.903314 0.007938 vt 0.905464 0.006751 vt 0.909252 0.009535 vt 0.905877 0.005950 vt 0.910821 0.014246 vt 0.914827 0.357012 vt 0.894918 0.046717 vt 0.891594 0.055376 vt 0.882337 0.056436 vt 0.873689 0.064273 vt 0.888022 0.304252 vt 0.882654 0.298741 vt 0.894149 0.308048 vt 0.900939 0.317376 vt 0.900274 0.320014 vt 0.893571 0.044482 vt 0.887330 0.049491 vt 0.881188 0.054060 vt 0.871629 0.061580 vt 0.880543 0.303716 vt 0.885779 0.307506 vt 0.891293 0.311962 vt 0.888428 0.315263 vt 0.897824 0.321930 vt 0.891463 0.042198 vt 0.883335 0.044635 vt 0.879151 0.052253 vt 0.869177 0.039362 vt 0.860795 0.048253 vt 0.868009 0.058479 vt 0.883266 0.310477 vt 0.876969 0.306681 vt 0.875063 0.321413 vt 0.880466 0.324949 vt 0.888058 0.334188 vt 0.877424 0.037410 vt 0.880783 0.029961 vt 0.873548 0.032622 vt 0.868061 0.037061 vt 0.859336 0.043512 vt 0.869986 0.317238 vt 0.872277 0.325050 vt 0.867065 0.321389 vt 0.877336 0.329195 vt 0.887412 0.336770 vt 0.874551 0.332745 vt 0.869507 0.328630 vt 0.863489 0.324838 vt 0.865546 0.334278 vt 0.871514 0.338011 vt 0.884877 0.338373 vt 0.878088 0.344928 vt 0.876825 0.025271 vt 0.866278 0.024773 vt 0.870504 0.018138 vt 0.869803 0.028572 vt 0.859518 0.028759 vt 0.865254 0.023689 vt 0.860101 0.026520 vt 0.852956 0.022390 vt 0.847424 0.026138 vt 0.851988 0.034421 vt 0.865778 0.035338 vt 0.855764 0.040053 vt 0.878961 0.027713 vt 0.859597 0.330711 vt 0.861023 0.341720 vt 0.866233 0.344959 vt 0.869986 0.350271 vt 0.868089 0.018572 vt 0.863692 0.011372 vt 0.864112 0.022576 vt 0.859679 0.024929 vt 0.854339 0.021292 vt 0.848975 0.016842 vt 0.846388 0.020204 vt 0.854541 0.346366 vt 0.853664 0.351389 vt 0.852922 0.350553 vt 0.858676 0.347756 vt 0.857362 0.353661 vt 0.861682 0.353551 vt 0.862801 0.349201 vt 0.863096 0.353185 vt 0.862579 0.012936 vt 0.857244 0.008188 vt 0.850614 0.016241 vt 0.849462 0.015104 vt 0.850744 0.015645 vt 0.850870 0.014493 vt 0.856790 0.010987 vt 0.855204 0.010115 vt 0.856380 0.009964 vt 0.855722 0.008719 vt 0.862416 0.013422 vt 0.861832 0.014293 vt 0.865650 0.018200 vt 0.863634 0.022129 vt 0.858908 0.017642 vt 0.855640 0.020648 vt 0.859706 0.024237 vt 0.851874 0.015984 vt 0.851771 0.015027 vt 0.853180 0.012439 vt 0.854353 0.013495 vt 0.857001 0.009836 vt 0.866340 0.018146 vt 0.855109 0.339607 vt -8.460990 60.379379 vt -8.206886 60.027504 vt -8.177965 60.097862 vt 8.822780 60.157089 vt 8.622465 59.762329 vt 8.876925 60.113945 vt 13.984315 33.484772 vt 13.545693 33.495609 vt 13.557876 33.427456 vt -13.842990 35.611324 vt -13.416310 35.555832 vt -13.795394 35.670319 vt 13.732314 41.635761 vt 13.432740 41.596081 vt 13.432357 41.502579 vt 10.591091 70.149979 vt 10.352279 69.962463 vt 10.657739 70.084396 vt 10.596660 96.431725 vt 10.737661 96.324959 vt 10.695921 96.415802 vt 12.362244 50.874660 vt 12.629207 50.493816 vt 12.697278 50.500587 vt 13.274964 38.945854 vt 13.229000 38.919163 vt 13.387772 38.494656 vt 12.961361 33.529961 vt 13.098976 32.857960 vt 13.140035 32.891712 vt 10.274218 91.115471 vt 10.401778 90.998207 vt 10.420089 91.058258 vt 15.043215 95.362648 vt 14.556004 94.944740 vt 15.222637 95.352165 vt 13.853507 96.861801 vt 13.357208 96.495041 vt 13.365824 96.444450 vt -0.005246 71.136879 vt -0.078272 71.101875 vt -0.165084 70.540825 vt 4.350590 98.258423 vt 4.555058 97.919731 vt 4.633071 97.941452 vt 14.941442 84.228706 vt 14.476690 83.901382 vt 14.551892 83.834091 vt 14.951837 85.180748 vt 14.485497 84.776413 vt 14.952966 85.099838 vt 11.537032 92.546165 vt 11.009404 92.179054 vt 11.056707 92.158539 vt 10.781414 93.818336 vt 10.378214 93.334496 vt 10.828910 93.798271 vt 11.280144 94.746971 vt 10.821638 94.290909 vt 10.834367 94.229439 vt 14.309192 89.817635 vt 13.883385 89.283554 vt 14.387814 89.754364 vt 13.999948 96.757965 vt 13.843659 96.646820 vt 13.951166 96.667999 vt 13.024047 85.402336 vt 13.109818 85.415741 vt 13.035783 85.632477 vt 13.689115 53.779064 vt 13.669120 54.006664 vt 13.584809 53.985977 vt 13.883405 66.477402 vt 13.787733 66.666740 vt 13.695630 66.612862 vt 11.872072 80.083267 vt 12.009585 79.921730 vt 12.112242 79.931953 vt 11.414100 52.589828 vt 11.312364 52.572723 vt 11.256871 52.478642 vt 1.277762 34.954334 vt 1.142531 34.941746 vt 1.189699 34.884022 vt 12.364657 46.585289 vt 12.305268 46.809265 vt 12.293865 46.561935 vt -8.850468 94.506126 vt -8.986697 94.304855 vt -8.784489 94.447731 vt -8.904322 94.420799 vt -9.151699 94.235748 vt -9.040214 94.219299 vt -11.453515 96.623665 vt -11.631572 96.456261 vt -11.562709 96.401299 vt -11.518900 96.763405 vt -11.662234 96.489403 vt -11.484176 96.656807 vt 12.775829 94.652481 vt 12.849409 94.638603 vt 12.794418 94.763039 vt 11.944618 85.375519 vt 11.990527 85.132072 vt 12.018049 85.360870 vt 8.311617 29.876398 vt 8.467346 29.885519 vt 8.467771 29.948776 vt 12.984776 96.667610 vt 12.427067 96.337982 vt 12.993793 96.617081 vt 12.741583 96.253860 vt 12.128497 95.948189 vt 12.185697 95.921173 vt -1.656981 58.302326 vt -1.812845 57.709999 vt -1.762474 57.619122 vt 13.401567 96.215141 vt 13.465030 95.939438 vt 13.551427 95.994499 vt 14.073084 91.479324 vt 14.064716 91.249565 vt 14.164513 91.287346 vt 11.400860 85.161392 vt 11.321863 85.096161 vt 11.567871 84.954544 vt 10.660368 86.731979 vt 10.631994 86.656189 vt 10.954362 86.421272 vt 13.749856 97.569511 vt 14.065606 97.280945 vt 14.126808 97.325729 vt 10.312885 89.995880 vt 10.257381 89.944199 vt 10.484790 89.585663 vt 14.327634 90.165489 vt 14.172054 90.142807 vt 13.858109 89.689438 vt 7.517989 100.126396 vt 7.470605 100.081993 vt 7.679803 99.769737 vt 12.330380 92.019043 vt 12.623640 91.819656 vt 12.669532 91.865601 vt 8.438109 66.257118 vt 8.416486 66.189331 vt 8.685714 66.003250 vt 14.627237 74.901558 vt 14.341627 74.456146 vt 14.651048 74.834511 vt 9.095107 100.294472 vt 8.643851 99.975883 vt 8.687460 99.957146 vt -6.309224 98.510368 vt -6.545047 98.329575 vt -6.446133 98.318855 vt 4.028459 61.067886 vt 3.913655 61.110489 vt 3.931307 61.046432 vt 8.799510 79.670860 vt 8.710743 79.651558 vt 8.670444 79.565216 vt 9.568031 96.426865 vt 9.717682 96.284653 vt 9.807284 96.299614 vt 11.939561 87.682671 vt 11.871679 87.619507 vt 12.072275 87.524536 vt 13.927516 98.568817 vt 13.967184 98.378014 vt 14.042761 98.431732 vt 13.965070 98.528076 vt 13.878999 98.486481 vt 14.004469 98.337219 vt 14.193977 97.568817 vt 14.091134 97.438324 vt 14.177069 97.480202 vt 14.296133 85.012596 vt 14.099771 84.459465 vt 14.381691 84.980103 vt 8.925035 99.374161 vt 8.556691 98.959877 vt 8.573243 98.904312 vt 8.355353 99.762405 vt 8.031160 99.329025 vt 8.398997 99.743759 vt 12.722656 93.308640 vt 12.866405 93.244400 vt 12.863041 93.302277 vt 13.491662 94.995811 vt 13.510197 94.898415 vt 13.576399 94.906883 vt -9.795903 90.552467 vt -9.939250 90.324028 vt -9.777518 90.455040 vt -9.659293 89.855782 vt -9.820530 89.724167 vt -9.766180 89.671822 vt -6.329675 98.525833 vt -6.466587 98.334320 vt -6.272655 98.476410 vt 14.236825 65.708870 vt 14.086831 65.876488 vt 14.191666 65.660141 vt 13.860793 74.542923 vt 13.754999 74.738510 vt 13.693391 74.693153 vt 11.955026 86.668877 vt 12.096678 86.497459 vt 12.155069 86.572754 vt 14.094174 94.348129 vt 14.144268 94.158401 vt 14.212454 94.193100 vt 13.778739 92.720879 vt 13.886901 92.537666 vt 13.844940 92.729362 vt 14.652312 73.932625 vt 14.350537 73.548126 vt 14.434138 73.510887 vt 12.250713 97.071533 vt 12.342727 96.845619 vt 12.407582 96.904831 vt 13.054151 98.105659 vt 13.033602 98.017815 vt 13.149135 97.880974 vt 9.101338 98.300018 vt 9.037855 98.239342 vt 9.278923 98.115562 vt -0.050920 78.449059 vt -0.365604 78.028038 vt -0.351800 77.938019 vt 1.437961 80.934807 vt 1.370195 80.995255 vt 1.034846 80.506149 vt -0.723387 89.372421 vt -0.981118 88.973755 vt -0.907505 88.920578 vt 1.322317 96.630188 vt 1.107918 96.938904 vt 1.251752 96.621597 vt -0.157121 89.901726 vt -0.227442 89.891335 vt -0.420165 89.443085 vt 11.951973 96.731445 vt 11.584839 96.350975 vt 11.600670 96.306366 vt 11.020895 95.728928 vt 10.576371 95.396385 vt 11.036303 95.684166 vt 10.654741 96.849701 vt 10.154050 96.540581 vt 10.208461 96.519516 vt 14.392215 45.911674 vt 14.354063 45.955818 vt 14.295015 45.811089 vt 9.191957 57.408825 vt 9.712980 56.998264 vt 9.759926 57.023338 vt 3.365324 58.796097 vt 3.295102 58.824638 vt 2.766390 58.510960 vt 6.938125 71.070847 vt 6.598969 70.793655 vt 6.578622 70.700493 vt 11.444744 70.973648 vt 11.361409 70.917107 vt 11.360862 70.817390 vt 13.257736 55.382694 vt 12.945033 55.283054 vt 13.188460 55.309608 vt 13.022527 73.978523 vt 12.778499 73.958221 vt 12.776807 73.861237 vt 12.086400 92.181671 vt 12.357642 92.200325 vt 12.309743 92.284683 vt 12.822961 101.882309 vt 13.093884 101.908287 vt 13.067163 101.982201 vt 12.866620 103.817566 vt 12.866247 103.748840 vt 13.137600 103.842941 vt 9.073038 104.838890 vt 9.182030 104.856033 vt 9.176656 104.924553 vt -5.391347 53.312393 vt -5.301504 53.056511 vt -5.199717 53.013935 vt -5.479293 53.366909 vt -5.556515 53.344051 vt -5.387825 53.111603 vt -13.340547 17.656225 vt -13.141463 17.450745 vt -13.105744 17.522923 vt 12.688135 96.984390 vt 12.430875 96.894440 vt 12.715661 96.921913 vt 12.907287 92.773567 vt 12.645102 92.758293 vt 12.651335 92.679962 vt 7.995609 86.981514 vt 8.009230 86.914604 vt 8.118314 86.929680 vt -13.297531 17.633982 vt -13.275479 17.526093 vt -13.042585 17.389481 vt 13.618537 74.607079 vt 13.307432 74.436752 vt 13.230067 74.368889 vt 13.055981 104.305473 vt 12.987640 104.302452 vt 12.969307 104.159668 vt 10.624401 64.001595 vt 10.575675 63.980179 vt 10.872732 63.622421 vt 12.881230 52.586823 vt 13.034289 52.108406 vt 13.074604 52.163929 vt 12.682769 103.708878 vt 12.618953 103.683678 vt 12.754676 103.585388 vt 2.995959 100.839607 vt 3.625276 100.631645 vt 3.062109 100.877167 vt 0.985841 86.628029 vt 1.208674 86.424957 vt 1.215383 86.499542 vt -5.641085 62.351681 vt -5.567578 62.367226 vt -5.794451 62.565639 vt 3.659934 23.160139 vt 3.677361 23.206676 vt 3.548326 23.188721 vt 15.122074 92.502365 vt 14.718477 92.268417 vt 14.764106 92.248741 vt -0.767049 60.732559 vt -0.841659 60.744831 vt -0.855953 60.274609 vt -1.695662 75.418571 vt -1.716778 75.045013 vt -1.641710 75.035957 vt 16.863859 90.267563 vt 16.527975 90.073776 vt 16.582449 90.020607 vt 16.882736 91.074554 vt 16.547045 90.825439 vt 16.884001 91.017349 vt 13.784990 86.789040 vt 13.434640 86.527672 vt 13.471901 86.512047 vt 13.153358 89.131516 vt 12.920868 88.772179 vt 13.190841 89.116432 vt 9.921888 82.386375 vt 10.002102 82.282799 vt 10.021733 82.327881 vt 12.937485 95.946350 vt 12.973832 95.852158 vt 13.013388 95.922813 vt 14.108507 96.074722 vt 14.161071 96.058762 vt 14.125189 96.153130 vt 12.065913 74.084190 vt 12.107476 74.268417 vt 12.055941 74.287437 vt 13.738688 73.776955 vt 13.801112 73.779839 vt 13.762624 73.964287 vt 14.166249 37.977837 vt 14.176563 38.165897 vt 14.114274 38.160873 vt 16.438196 50.926250 vt 16.296507 51.047066 vt 16.378389 50.877457 vt 16.414982 52.364521 vt 16.335911 52.519943 vt 16.271051 52.482655 vt 14.615581 71.237648 vt 14.417015 71.350235 vt 14.542040 71.228661 vt 13.892673 77.693336 vt 13.843441 77.644051 vt 14.047186 77.541138 vt 15.962428 91.301476 vt 16.031305 91.085304 vt 16.088772 91.124687 vt 16.244465 89.752647 vt 16.217203 89.684731 vt 16.305099 89.534027 vt 15.778230 92.860542 vt 15.666670 92.787521 vt 15.743754 92.795982 vt 15.715800 93.313393 vt 15.641265 93.312592 vt 15.604035 93.240685 vt 15.974903 93.645164 vt 15.618763 93.339897 vt 15.693297 93.340706 vt 16.144955 94.696373 vt 15.841523 94.345139 vt 16.201698 94.645638 vt 13.684156 90.106331 vt 13.406111 89.768555 vt 13.423233 89.722450 vt -3.678336 60.681759 vt -3.676804 60.265232 vt -3.622738 60.214615 vt 12.968405 42.026463 vt 12.872578 41.932632 vt 12.951640 41.954327 vt 13.470295 43.023144 vt 13.398257 43.005836 vt 13.370124 42.933960 vt -14.997254 18.236189 vt -14.942761 18.174932 vt -14.928212 18.274948 vt -5.667913 33.948902 vt -5.748567 33.888000 vt -5.696026 33.872982 vt 11.026681 32.728348 vt 11.025577 32.918613 vt 10.972424 32.721851 vt -11.192471 91.810699 vt -11.450079 91.728493 vt -11.370812 91.712029 vt -11.231830 91.855171 vt -14.070986 95.888214 vt -14.222600 95.756950 vt -14.179515 95.716080 vt -14.083763 95.967354 vt 15.895675 81.430206 vt 15.818715 81.420677 vt 15.889191 81.245941 vt 15.967819 81.565758 vt 15.963218 81.381439 vt 16.034391 81.404495 vt 13.107097 89.970459 vt 13.094746 89.914589 vt 13.341142 89.757545 vt 16.110559 96.035599 vt 16.349346 95.828011 vt 16.389048 95.860359 vt 11.833025 84.766594 vt 11.800739 84.726837 vt 12.012625 84.495049 vt 5.979960 97.253494 vt 5.730341 97.444046 vt 5.926861 97.231606 vt -0.867450 75.270615 vt -0.914430 75.237587 vt -0.873793 74.853333 vt 16.091070 92.954453 vt 15.786285 92.669373 vt 15.799109 92.631371 vt 15.376079 93.465897 vt 15.015273 93.216316 vt 15.389645 93.428146 vt 17.124796 95.898666 vt 16.815971 95.591660 vt 17.253653 95.888863 vt 16.279768 96.354126 vt 15.871772 95.964226 vt 16.448288 96.337158 vt 15.324058 94.707718 vt 14.914047 94.355026 vt 14.928859 94.304855 vt 0.136135 73.859138 vt 0.069894 73.823715 vt 0.073586 73.321930 vt 5.507284 97.593239 vt 5.191533 97.873856 vt 5.435730 97.570374 vt 11.645545 86.543243 vt 11.599204 86.495865 vt 11.858644 86.162498 vt 15.194614 97.072105 vt 15.497373 96.773209 vt 15.550689 96.812569 vt 11.699844 87.615936 vt 11.676986 87.544579 vt 11.984038 87.299339 vt 15.985688 87.304291 vt 15.542723 86.992256 vt 15.987007 87.229362 vt 13.301128 89.324387 vt 12.816893 89.030441 vt 12.863181 89.005348 vt 12.501411 91.346687 vt 12.158634 90.910431 vt 12.548094 91.322342 vt 9.783461 87.254456 vt 9.900790 87.125786 vt 9.922644 87.186081 vt 13.209686 96.052200 vt 13.280584 96.032661 vt 13.228017 96.154716 vt 11.567734 78.950783 vt 11.612552 79.221008 vt 11.542404 79.243088 vt 13.035908 78.983078 vt 13.119053 78.989151 vt 13.058098 79.256104 vt 13.532085 47.543018 vt 13.536371 47.816601 vt 13.453534 47.807217 vt 15.398338 57.720455 vt 15.212923 57.914993 vt 15.315252 57.661232 vt 15.392078 59.224716 vt 15.291290 59.458763 vt 15.202640 59.415337 vt 13.665044 76.611969 vt 13.833150 76.420448 vt 13.929326 76.425293 vt 13.548158 45.233585 vt 13.452291 45.224491 vt 13.402527 45.135414 vt 0.001862 31.061199 vt -0.126949 31.028395 vt -0.069010 30.983660 vt 11.201356 42.581013 vt 11.182499 42.855991 vt 11.129482 42.567146 vt -10.621209 93.316437 vt -10.807416 93.097084 vt -10.565503 93.263573 vt -10.463736 93.649689 vt -10.755214 93.445099 vt -10.651076 93.431305 vt -12.858312 96.494370 vt -13.060287 96.287666 vt -13.001489 96.238274 vt -12.782778 96.608658 vt -12.961254 96.300743 vt -12.759067 96.507240 vt 6.024398 28.599247 vt 6.036228 28.662916 vt 5.870605 28.612684 vt 14.297214 94.135323 vt 13.759997 93.858749 vt 13.818041 93.830040 vt 15.973365 86.226151 vt 15.530773 85.985901 vt 15.602290 85.914131 vt 15.195488 92.575905 vt 14.800208 92.122337 vt 15.271385 92.508781 vt 12.965125 92.374001 vt 12.567835 91.969635 vt 12.584834 91.907791 vt 14.763447 95.373466 vt 14.616173 95.279488 vt 14.718170 95.289703 vt 14.922017 85.655708 vt 14.922029 85.389191 vt 15.016222 85.418739 vt 15.070126 92.742210 vt 15.031642 92.655121 vt 15.153987 92.431366 vt 14.844934 93.600609 vt 14.935725 93.291718 vt 15.012579 93.339661 vt 13.310709 80.829193 vt 13.241305 80.770981 vt 13.512307 80.594215 vt -1.892520 58.109173 vt -1.963500 57.574100 vt -1.901098 57.498367 vt 14.518498 94.922890 vt 14.036775 94.621651 vt 14.534103 94.872963 vn -0.323954 0.904324 0.277871 vn -0.709891 0.639912 0.294137 vn -0.341350 0.876003 0.340648 vn -0.747917 0.658376 0.084323 vn -0.243171 0.969695 0.022126 vn -0.673025 0.718589 -0.175024 vn -0.406659 0.561418 0.720695 vn -0.631123 0.700400 0.333262 vn -0.371258 0.900754 0.225288 vn -0.284371 0.947172 0.148137 vn -0.880551 0.460433 -0.112217 vn -0.316752 0.911435 0.262551 vn -0.312265 0.927610 0.204901 vn -0.932340 0.298990 -0.203284 vn -0.665700 0.629536 -0.400616 vn -0.174688 0.971068 -0.162694 vn -0.593554 0.719443 -0.360637 vn -0.168340 0.971801 -0.164983 vn -0.634388 0.654561 -0.411176 vn -0.928831 -0.118412 -0.350993 vn -0.927213 -0.090365 -0.363445 vn -0.681204 0.576220 -0.451521 vn -0.972808 -0.040040 -0.228034 vn -0.645741 0.652852 -0.395917 vn -0.959014 -0.125004 -0.254158 vn -0.583026 0.685629 -0.435804 vn -0.849361 -0.021210 -0.527329 vn -0.713950 -0.460402 -0.527512 vn -0.735771 -0.455763 -0.500900 vn -0.634724 -0.714530 -0.294107 vn -0.732231 -0.662679 -0.156987 vn -0.584307 -0.811243 0.021302 vn -0.759087 -0.650044 0.034455 vn -0.675832 -0.702933 0.221564 vn -0.807276 -0.560198 0.185614 vn -0.846400 -0.388714 0.363964 vn -0.855800 -0.491226 0.162053 vn -0.855525 -0.482620 -0.187414 vn -0.892331 -0.443678 -0.082888 vn -0.698569 -0.449904 -0.556383 vn 0.228767 -0.907956 -0.351085 vn 0.831782 0.227149 0.506455 vn 0.905393 -0.343486 0.249519 vn 0.756401 0.436384 0.487228 vn 0.868557 0.400433 0.291910 vn 0.741050 0.586352 0.327097 vn 0.842250 0.497391 0.207739 vn 0.822657 0.474715 0.312815 vn 0.767724 0.545061 0.336894 vn 0.739158 0.611652 0.281930 vn 0.648488 0.665059 0.370312 vn 0.746117 0.634114 0.202826 vn 0.660543 0.732841 0.163091 vn 0.789270 0.574023 0.217933 vn 0.391797 0.807459 0.440992 vn 0.194128 0.980682 -0.023133 vn -0.562487 0.790429 0.242439 vn 0.113376 0.756737 0.643788 vn -0.618000 0.739921 0.265572 vn 0.021455 0.860256 0.509354 vn -0.661641 0.727653 0.180914 vn -0.537767 0.735069 0.412793 vn 0.239937 0.666494 0.705802 vn -0.418378 0.760155 0.497055 vn -0.922788 0.381542 0.053377 vn -0.836421 0.507859 0.206030 vn -0.985046 -0.019410 -0.171117 vn -0.919767 -0.257118 -0.296426 vn -0.773156 -0.482315 -0.411756 vn -0.792047 -0.457198 -0.404431 vn -0.420698 -0.747795 -0.513565 vn -0.231971 -0.829371 -0.508225 vn 0.414960 -0.852351 -0.318217 vn 0.469710 -0.827570 -0.307321 vn 0.903287 -0.404218 0.143651 vn 0.904386 -0.417341 0.088595 vn 0.872890 -0.483627 0.064150 vn 0.842586 0.155065 0.515702 vn 0.898404 0.028840 0.438185 vn 0.820185 -0.567827 -0.069430 vn 0.914701 0.030030 0.402936 vn 0.979034 -0.004669 0.203558 vn 0.551775 0.571337 0.607501 vn 0.711447 0.434980 0.551897 vn 0.849269 0.117771 0.514634 vn 0.999176 0.031739 0.025025 vn 0.919889 0.275979 -0.278542 vn 0.959258 -0.079348 0.271065 vn 0.958708 0.231147 0.165532 vn 0.693197 0.555193 -0.459578 vn 0.282998 0.554552 -0.782495 vn 0.502792 0.343608 -0.793146 vn -0.195746 0.114719 -0.973907 vn 0.681143 -0.167516 -0.712668 vn 0.749992 -0.504257 -0.428022 vn 0.196509 -0.613880 -0.764519 vn 0.235206 -0.822565 -0.517685 vn 0.281961 -0.885708 -0.368694 vn -0.449202 -0.724235 -0.523087 vn -0.841823 -0.340159 -0.419019 vn -0.974731 0.200262 -0.098849 vn -0.760125 0.593585 0.264199 vn -0.212775 0.797327 0.564776 vn -0.661214 0.696554 0.278481 vn -0.145207 0.803919 0.576678 vn 0.074068 0.848720 0.523576 vn -0.590045 0.784539 0.190497 vn 0.036714 0.585894 -0.809534 vn 0.282388 0.887783 -0.363353 vn 0.723258 -0.634877 0.271584 vn -0.624306 -0.774637 -0.100895 vn 0.679006 -0.244118 0.692312 vn 0.774132 -0.154912 0.613727 vn 0.911649 0.406842 -0.057863 vn 0.539171 0.626240 -0.563097 vn -0.082369 0.555071 -0.827693 vn -0.526231 0.226966 -0.819453 vn -0.819300 -0.088412 -0.566485 vn -0.799036 -0.060183 -0.598224 vn -0.589557 -0.153142 -0.793054 vn -0.046632 -0.259926 -0.964476 vn -0.582232 -0.237342 -0.777581 vn -0.525346 -0.566851 -0.634541 vn -0.843715 -0.172246 -0.508347 vn -0.941771 0.295999 -0.159398 vn -0.881771 0.363628 -0.300363 vn -0.774194 -0.081851 -0.627583 vn -0.758904 0.075045 -0.646840 vn 0.471114 0.721610 -0.507248 vn -0.029054 -0.996460 0.078677 vn 0.352458 -0.932676 -0.076357 vn 0.098178 -0.618519 0.779565 vn -0.554521 -0.703238 0.444868 vn -0.525803 -0.665242 0.530015 vn 0.295419 -0.516404 0.803735 vn 0.137577 -0.579455 0.803278 vn -0.455000 -0.647420 0.611377 vn -0.914212 -0.399670 0.066744 vn -0.916318 -0.399792 -0.022523 vn -0.886258 -0.451247 -0.104465 vn -0.878048 0.042238 -0.476699 vn -0.903104 -0.096957 -0.418317 vn -0.938078 -0.108798 -0.328806 vn -0.810450 0.176641 -0.558489 vn -0.670614 0.246040 -0.699789 vn -0.206336 0.581378 -0.787011 vn 0.565477 0.631855 -0.530015 vn 0.946348 0.276009 0.167913 vn 0.724021 -0.206275 0.658193 vn 0.407147 0.638020 0.653523 vn 0.339457 0.635456 0.693472 vn 0.775231 0.271981 0.570055 vn 0.699728 0.468429 0.539384 vn 0.720420 0.306650 0.621998 vn 0.837245 0.334574 0.432508 vn 0.939573 0.311624 0.141636 vn 0.868007 0.421979 0.261666 vn 0.938963 0.263527 0.221076 vn 0.914121 0.343516 0.215217 vn 0.850368 0.426710 0.307840 vn 0.859676 0.384228 0.336589 vn 0.929380 0.254830 0.266915 vn 0.907590 0.162633 0.387036 vn 0.713828 0.358318 0.601642 vn -0.329661 0.799127 0.502670 vn -0.965514 0.188421 -0.179571 vn -0.879879 -0.473708 -0.037324 vn -0.756310 -0.440565 -0.483566 vn -0.821894 -0.560350 0.102268 vn -0.004364 -0.852596 -0.522477 vn 0.899106 0.009064 0.437574 vn 0.868679 -0.493179 0.046175 vn 0.872890 0.252205 0.417615 vn 0.754570 0.238807 0.611194 vn -0.160405 0.652943 0.740196 vn -0.991546 0.119755 -0.049379 vn -0.744163 -0.666738 0.040437 vn -0.757714 -0.411542 -0.506424 vn -0.120640 -0.955321 -0.269784 vn -0.008820 -0.771325 -0.636341 vn 0.857662 -0.510575 -0.060701 vn 0.921964 -0.380963 0.069491 vn 0.941221 0.245216 0.232307 vn 0.971709 0.187048 0.144078 vn 0.967345 0.164769 0.192450 vn 0.944090 0.277993 0.177129 vn 0.996033 0.034150 -0.082003 vn 0.950316 -0.296030 0.096042 vn 0.931730 -0.296823 0.209082 vn 0.970763 -0.121433 0.206946 vn 0.655202 -0.669393 -0.350108 vn 0.552049 -0.773705 -0.310770 vn 0.526231 -0.788781 -0.317545 vn 0.712272 -0.519730 -0.471694 vn 0.738701 -0.545213 -0.396252 vn 0.999725 -0.021363 0.007935 vn 0.869198 -0.487136 -0.084506 vn 0.920743 -0.387402 -0.046175 vn -0.023560 -0.999207 0.031770 vn -0.753288 -0.609760 0.246376 vn -0.801904 -0.596912 -0.024628 vn 0.043794 -0.968841 -0.243660 vn -0.074892 -0.836543 -0.542711 vn -0.784234 -0.547258 -0.292306 vn -0.737236 -0.424940 -0.525224 vn -0.093844 -0.722495 -0.684927 vn -0.294290 -0.794946 -0.530503 vn -0.712241 -0.469314 -0.521928 vn -0.745842 -0.446883 -0.493942 vn -0.850124 -0.266518 -0.454085 vn -0.824610 -0.296823 -0.481491 vn -0.947295 0.104434 -0.302805 vn -0.880306 -0.027314 -0.473586 vn -0.739708 0.649373 -0.176275 vn -0.941008 0.148167 -0.304147 vn -0.958922 0.067568 -0.275399 vn -0.867611 -0.281442 -0.409864 vn -0.692862 -0.485794 -0.532823 vn -0.245460 -0.821497 -0.514634 vn -0.039430 -0.783288 -0.620380 vn 0.030793 0.979492 -0.199072 vn -0.080050 0.982055 -0.170598 vn -0.187414 0.956206 -0.224769 vn -0.113590 0.988647 -0.098148 vn 0.388592 0.874935 0.288858 vn 0.234199 0.915830 0.326151 vn 0.396374 0.900693 0.177770 vn 0.673696 0.718253 0.173742 vn 0.737144 0.496628 0.458205 vn 0.566942 0.601459 0.562822 vn 0.324992 0.575976 0.750053 vn 0.574328 0.284768 0.767479 vn 0.776452 0.318033 0.543962 vn 0.297098 0.951567 0.078768 vn 0.421827 0.903226 0.078738 vn 0.613453 0.698630 0.368114 vn 0.462020 0.795831 0.391339 vn -0.065493 0.835231 0.545946 vn -0.255379 0.928831 0.268349 vn 0.273476 0.944945 0.179571 vn 0.185919 0.880978 0.435072 vn 0.032105 0.817133 0.575488 vn -0.376415 0.783563 0.494247 vn -0.708457 0.557207 0.433088 vn -0.855098 0.320444 0.407514 vn -0.825709 0.306681 0.473403 vn -0.655019 0.744987 0.126072 vn -0.639576 0.735038 0.224982 vn -0.990783 0.111484 -0.076632 vn -0.934141 -0.334941 -0.123081 vn -0.897183 -0.376049 -0.231452 vn -0.776391 -0.429792 -0.460921 vn -0.421461 -0.903897 -0.072665 vn -0.176672 -0.623585 -0.761498 vn 0.376782 -0.809931 -0.449416 vn 0.177099 -0.966002 0.188299 vn 0.703543 -0.616749 0.352947 vn 0.844264 -0.276070 -0.459334 vn 0.992309 0.068636 0.102725 vn 0.689810 -0.121494 0.713706 vn 0.831263 0.261025 0.490738 vn 0.270516 -0.463698 0.843654 vn -0.326548 -0.409528 0.851833 vn 0.365520 -0.259163 -0.893948 vn -0.749077 -0.661275 0.039430 vn -0.617847 -0.736839 0.274331 vn -0.929502 -0.258065 -0.263405 vn -0.725120 -0.687185 0.043733 vn -0.108127 -0.858791 0.500717 vn -0.007660 -0.430158 0.902707 vn -0.448714 0.172185 0.876888 vn -0.968505 -0.200049 0.148015 vn -0.990966 -0.133885 -0.004242 vn -0.905942 -0.414350 -0.086825 vn -0.917447 -0.385693 0.097415 vn -0.944273 0.309793 -0.111209 vn -0.962920 0.259194 -0.074557 vn -0.801111 -0.557237 -0.218299 vn -0.026429 -0.915311 -0.401837 vn 0.886990 -0.439039 0.143010 vn 0.660298 0.424818 0.619251 vn 0.769860 0.292764 0.567064 vn 0.816858 0.504776 0.279122 vn 0.763451 0.594256 0.252907 vn 0.245125 0.922452 0.298257 vn 0.375958 0.620746 0.687979 vn -0.820978 0.550401 0.151646 vn -0.964446 0.063997 -0.256325 vn -0.772881 -0.577013 -0.263985 vn -0.002533 -0.986633 -0.162847 vn -0.670553 -0.529466 -0.519608 vn 0.150304 -0.955412 -0.254067 vn 0.875851 -0.356578 0.325083 vn 0.897824 -0.076968 0.433485 vn 0.589068 0.549547 0.592395 vn 0.717490 0.558763 0.415815 vn 0.027070 0.948759 0.314798 vn -0.267251 0.817927 0.509445 vn -0.133641 0.863002 0.487167 vn -0.224738 0.786645 0.574999 vn -0.972106 0.231941 -0.033937 vn -0.786676 -0.300729 -0.539109 vn -0.146336 -0.884640 -0.442701 vn 0.816309 -0.530869 0.227515 vn 0.718680 -0.532884 0.446638 vn 0.549181 0.227851 0.804010 vn 0.393323 0.074160 0.916379 vn -0.195410 0.630421 0.751213 vn 0.385815 0.067934 0.920042 vn -0.350841 0.762383 0.543718 vn -0.729911 0.580035 -0.361553 vn 0.697836 0.399060 0.594745 vn -0.392895 -0.121342 -0.911527 vn 0.332316 -0.726829 -0.601032 vn 0.759423 -0.627857 0.170293 vn 0.611438 -0.724204 0.318796 vn 0.065737 -0.210028 0.975463 vn -0.429487 0.603229 0.672018 vn -0.592181 0.495956 0.635060 vn -0.808252 0.513871 -0.287423 vn -0.358623 0.757744 -0.545122 vn -0.143254 0.148778 -0.978423 vn -0.603839 -0.293405 -0.741111 vn 0.180517 -0.758568 -0.626057 vn 0.459090 -0.296457 -0.837428 vn 0.428541 -0.830409 0.355968 vn -0.136509 -0.259590 0.955992 vn -0.465926 0.488998 0.737388 vn -0.619282 0.680532 -0.391552 vn -0.149998 0.146153 -0.977813 vn 0.053865 0.304025 -0.951109 vn 0.378155 -0.558702 -0.738090 vn 0.577349 -0.757408 0.304880 vn 0.065554 -0.289224 0.954985 vn 0.078402 -0.204321 0.975738 vn -0.365459 -0.059358 0.928892 vn -0.734306 0.556352 0.388867 vn -0.792779 0.504044 -0.342631 vn -0.308786 0.009705 -0.951079 vn 0.187597 -0.707968 -0.680837 vn 0.436293 -0.899503 -0.022340 vn 0.094119 -0.631092 0.769951 vn -0.297769 -0.470077 0.830836 vn -0.133030 -0.139378 0.981231 vn -0.350780 -0.013550 0.936338 vn -0.954253 0.187719 0.232704 vn -0.510788 -0.143773 0.847560 vn -0.985809 -0.089084 -0.142247 vn -0.775536 0.067476 0.627644 vn -0.937010 0.193304 -0.290841 vn -0.675100 -0.375744 -0.634816 vn -0.410871 -0.086795 -0.907529 vn -0.355480 -0.862026 -0.361187 vn -0.120731 -0.811457 -0.571764 vn 0.001953 -0.994720 -0.102573 vn 0.141484 -0.627918 0.765282 vn 0.124424 -0.166784 0.978088 vn 0.337107 -0.720908 0.605487 vn 0.492813 -0.604816 0.625538 vn -0.043428 -0.296854 0.953917 vn -0.430525 0.235755 0.871212 vn -0.280374 0.356365 0.891263 vn -0.495743 -0.005860 0.868404 vn -0.805750 -0.094943 0.584582 vn -0.585864 -0.205695 0.783837 vn -0.515122 -0.589984 0.621723 vn -0.134800 -0.768059 0.625965 vn -0.135746 -0.927366 0.348582 vn 0.094455 -0.742302 0.663350 vn 0.033998 -0.938627 0.343181 vn -0.042238 -0.727836 0.684439 vn 0.226325 -0.588916 0.775842 vn -0.126530 -0.356548 0.925657 vn -0.274422 -0.455489 0.846858 vn 0.089236 -0.415265 0.905271 vn 0.228278 -0.708243 -0.667989 vn -0.767296 0.547288 -0.334147 vn -0.372417 0.870357 0.322092 vn -0.955168 0.274483 -0.110721 vn -0.585406 -0.458785 -0.668416 vn 0.204413 -0.694113 -0.690207 vn 0.757408 -0.620228 0.203986 vn 0.358287 -0.660726 -0.659536 vn 0.663289 -0.461806 0.588855 vn 0.448897 0.315806 0.835902 vn 0.285775 0.240852 0.927519 vn -0.407239 0.643849 0.647755 vn -0.102786 0.690146 0.716300 vn -0.857082 0.418867 -0.299844 vn -0.686636 0.497177 -0.530351 vn -0.505783 0.777551 0.373577 vn 0.065584 0.841914 0.535569 vn 0.591662 0.465224 0.658376 vn -0.744224 0.349467 -0.569170 vn -0.180944 -0.057405 -0.981811 vn -0.466781 -0.342906 -0.815149 vn 0.293985 -0.844997 -0.446638 vn 0.787713 -0.300272 0.537858 vn 0.418500 0.203528 0.885098 vn 0.250710 0.122013 0.960326 vn -0.566759 0.712729 0.413221 vn -0.628620 0.490219 -0.603687 vn -0.413312 -0.284371 -0.865017 vn 0.345988 -0.588549 -0.730644 vn 0.693319 -0.678121 0.243812 vn 0.399640 -0.653127 -0.643178 vn -0.083834 0.040407 -0.995636 vn -0.680563 0.540147 -0.494980 vn -0.359050 -0.213141 -0.908628 vn 0.307199 -0.752342 -0.582720 vn 0.528611 -0.616169 0.583819 vn 0.732170 -0.553819 0.396435 vn 0.294626 0.059755 0.953734 vn 0.073183 0.079073 0.994171 vn -0.391186 0.677145 0.623218 vn -0.544694 0.524583 0.654286 vn -0.784936 0.451003 -0.424757 vn -0.893368 0.314463 -0.320872 vn -0.468764 -0.317179 -0.824396 vn 0.172246 -0.862209 -0.476302 vn 0.553758 -0.816919 0.160985 vn 0.303781 -0.345134 0.888028 vn 0.255074 0.131016 0.957976 vn -0.209265 0.215094 0.953887 vn -0.726035 0.598315 0.338908 vn -0.987701 0.015625 -0.155400 vn -0.717307 -0.596667 -0.359752 vn -0.112613 -0.952849 -0.281747 vn 0.102573 -0.972930 0.207068 vn 0.340983 -0.340251 0.876309 vn -0.111362 -0.209479 0.971435 vn 0.290017 -0.101199 0.951628 vn -0.193732 0.251808 0.948180 vn 0.031343 0.177282 0.983642 vn -0.923093 0.156865 0.351054 vn -0.970794 -0.221351 0.092410 vn -0.531419 -0.410779 -0.740806 vn -0.306986 -0.951689 -0.002228 vn 0.195868 -0.773339 0.602954 vn 0.023011 -0.775780 0.630543 vn 0.282785 -0.478286 0.831416 vn -0.357555 0.223884 0.906644 vn -0.666951 0.180975 0.722770 vn -0.688498 0.022950 0.724845 vn -0.310495 0.468795 0.826899 vn -0.346629 0.084811 0.934141 vn -0.167547 0.609790 0.774621 vn 0.296060 0.176702 0.938658 vn 0.137822 0.027619 0.990051 vn 0.055696 -0.046663 0.997345 vn 0.523331 -0.450117 0.723502 vn 0.675863 -0.310099 0.668569 vn 0.158300 -0.474410 0.865932 vn -0.613544 -0.471023 0.633747 vn -0.555132 -0.628132 0.545183 vn -0.870754 -0.444563 0.210089 vn -0.806177 -0.537309 0.247597 vn -0.720359 -0.528398 0.449232 vn 0.894375 0.083926 0.439344 vn 0.825312 0.124393 0.550737 vn 0.656606 0.518387 0.547807 vn -0.005005 0.885952 0.463729 vn 0.060976 0.916684 0.394848 vn 0.190191 0.565508 0.802484 vn 0.131932 0.530747 0.837153 vn -0.407483 0.554796 0.725333 vn -0.024598 0.719657 0.693869 vn 0.297739 -0.168432 0.939634 vn 0.050264 -0.893521 0.446150 vn 0.365734 0.023743 0.930387 vn -0.087344 -0.702475 0.706290 vn -0.834742 -0.271615 0.478927 vn -0.722922 -0.404584 0.560045 vn -0.679800 0.583850 0.443800 vn -0.670034 -0.708945 0.219977 vn 0.600299 -0.383374 0.701865 vn -0.058168 0.731559 0.679281 vn 0.757805 0.240181 0.606616 vn -0.089846 0.692465 0.715812 vn -0.897000 0.052980 0.438765 vn -0.825922 -0.508774 -0.242775 vn -0.083834 -0.984405 -0.154546 vn 0.857845 -0.513596 0.016938 vn 0.683554 0.118564 0.720176 vn -0.218329 0.757073 0.615741 vn -0.766564 0.642048 -0.010620 vn -0.785241 -0.619160 0.000671 vn -0.267129 0.335368 -0.903409 vn 0.243660 -0.601520 -0.760765 vn 0.832698 -0.527879 -0.167089 vn 0.202551 -0.465957 -0.861293 vn -0.734275 -0.222205 -0.641438 vn 0.082247 -0.813685 -0.575427 vn 0.727470 -0.664205 0.172002 vn 0.893185 -0.343394 0.290231 vn 0.569536 -0.026246 0.821528 vn -0.201422 0.473983 0.857173 vn 0.145970 0.542955 0.826960 vn -0.908231 0.395917 0.135380 vn -0.734581 0.657735 -0.166570 vn -0.764763 -0.297067 -0.571703 vn 0.069735 -0.490249 -0.868770 vn 0.692343 -0.713309 -0.108676 vn 0.300607 -0.366131 -0.880642 vn -0.204627 0.383831 -0.900418 vn -0.796319 0.554613 -0.241310 vn -0.408673 0.601215 0.686636 vn -0.656667 0.727012 -0.200415 vn -0.355358 0.244606 -0.902127 vn 0.227210 -0.454970 -0.861019 vn 0.513962 -0.802759 0.302316 vn 0.707297 -0.699240 0.103671 vn 0.357494 -0.315256 0.879055 vn 0.149113 -0.340159 0.928465 vn -0.294351 0.377606 0.877895 vn 0.327799 -0.272530 0.904569 vn -0.186804 -0.220893 0.957213 vn -0.679342 0.445906 0.582781 vn -0.795770 0.565935 -0.215430 vn -0.752647 0.633015 -0.181005 vn -0.459426 0.133702 -0.878079 vn -0.412702 0.255684 0.874233 vn 0.486984 -0.114536 0.865841 vn 0.613269 0.040590 0.788781 vn 0.141240 -0.486312 -0.862270 vn 0.479873 -0.847133 -0.228126 vn 0.266030 -0.721946 0.638722 vn -0.133915 -0.616352 0.775964 vn 0.050478 -0.283670 0.957579 vn -0.179113 -0.184851 0.966277 vn -0.908200 0.027833 0.417554 vn -0.966552 0.197516 -0.163518 vn -0.707633 -0.229896 -0.668081 vn -0.978942 -0.203040 0.019959 vn -0.588824 -0.112094 -0.800409 vn -0.458235 -0.726402 -0.512131 vn -0.172887 -0.682363 -0.710227 vn 0.005066 -0.973998 -0.226478 vn 0.110385 -0.970641 0.213599 vn 0.317270 -0.281808 0.905484 vn 0.474136 -0.757714 0.448347 vn 0.645131 -0.613056 0.455947 vn 0.142003 -0.433576 0.889828 vn -0.258980 0.056490 0.964202 vn -0.095523 0.207343 0.973571 vn -0.340465 -0.320170 0.884030 vn -0.647114 -0.134800 0.750328 vn -0.325144 -0.204840 0.923185 vn 0.051088 -0.500870 0.863979 vn 0.223914 -0.814539 0.535112 vn 0.300302 -0.717734 0.628193 vn 0.107883 -0.815943 0.567919 vn 0.275796 -0.532517 0.800195 vn 0.997497 -0.064486 -0.028687 vn 0.724723 0.332041 0.603717 vn 0.218970 0.899136 0.378857 vn -0.666128 0.220588 0.712424 vn -0.814020 -0.569872 -0.112125 vn 0.230598 -0.927549 0.294015 vn 0.551103 0.819849 0.155248 vn 0.543657 0.124485 0.830012 vn 0.483047 0.073244 0.872494 vn 0.823511 -0.408032 0.394055 vn 0.347575 -0.078555 0.934324 vn 0.055025 0.658406 0.750633 vn 0.416333 -0.309275 -0.854976 vn 0.455519 -0.794763 0.401013 vn 0.265572 -0.051210 0.962706 vn -0.547594 0.323588 0.771599 vn -0.072848 0.554796 0.828761 vn -0.880642 0.461592 -0.106510 vn -0.521836 0.724967 -0.449538 vn 0.786370 0.614612 0.061892 vn -0.569628 -0.151677 -0.807733 vn 0.144536 -0.766320 -0.625965 vn 0.808435 -0.487930 0.329112 vn 0.453139 -0.089175 0.886929 vn 0.370708 -0.063540 0.926542 vn -0.437422 0.698721 0.566057 vn -0.687277 0.570849 -0.449141 vn -0.638203 -0.153630 -0.754357 vn 0.108554 -0.377148 -0.919767 vn 0.705466 -0.708701 0.004425 vn 0.335917 -0.434065 -0.835871 vn -0.203711 0.308542 -0.929106 vn -0.584948 0.742454 -0.326365 vn -0.231300 0.226295 -0.946165 vn 0.339732 -0.501846 -0.795404 vn 0.525498 -0.765435 0.371349 vn 0.665944 -0.713401 0.218024 vn 0.257332 -0.281747 0.924314 vn 0.093600 -0.190100 0.977264 vn -0.358745 0.491165 0.793725 vn 0.161351 -0.255104 0.953337 vn -0.315500 -0.125217 0.940611 vn -0.713187 0.519822 0.470199 vn -0.788446 0.530808 -0.310770 vn -0.630940 0.712394 -0.307199 vn -0.456374 0.421247 0.783715 vn -0.332194 0.102237 -0.937620 vn 0.164129 -0.606403 -0.778008 vn 0.458724 -0.881130 -0.114689 vn 0.157353 -0.689779 0.706687 vn -0.264412 -0.550920 0.791528 vn -0.079409 -0.204840 0.975555 vn -0.304941 -0.091800 0.947905 vn -0.948576 0.117954 0.293741 vn -0.946226 0.158574 -0.281899 vn -0.980682 -0.154027 -0.120487 vn -0.682028 -0.310099 -0.662282 vn -0.462233 -0.031129 -0.886196 vn -0.414289 -0.817866 -0.399274 vn -0.189123 -0.734764 -0.651387 vn -0.017335 -0.985351 -0.169469 vn 0.190954 -0.686331 0.701743 vn -0.461837 -0.224464 0.858058 vn -0.740501 -0.029817 0.671377 vn -0.775140 -0.200262 0.599170 vn 0.116245 -0.782495 0.611652 vn -0.147038 -0.947325 0.284433 vn 0.039186 -0.958708 0.281625 vn 0.290414 -0.630818 0.719504 vn 0.384625 -0.743797 0.546587 vn 0.568194 -0.601520 0.561480 vn 0.200568 -0.221198 0.954375 vn 0.012665 -0.370739 0.928648 vn -0.365459 0.154790 0.917844 vn -0.189734 0.304086 0.933531 vn -0.442366 -0.113224 0.889615 vn -0.539567 -0.319315 0.779015 vn -0.493210 -0.655690 0.571612 vn -0.083132 -0.438398 0.894894 vn 0.001801 -0.778344 0.627796 vn 0.156285 -0.485702 0.860012 vn -0.291574 0.056734 0.954833 vn -0.785516 -0.606128 -0.124485 vn -0.408246 -0.566210 -0.716025 vn -0.813990 -0.072359 -0.576312 vn -0.129612 0.335856 0.932920 vn -0.444105 -0.795343 -0.412488 vn 0.049593 -0.536119 0.842647 vn -0.097995 -0.178869 0.978973 vn -0.352062 -0.395611 0.848231 vn -0.443770 0.008057 0.896084 vn -0.876370 -0.324534 -0.355815 vn -0.718497 -0.665822 0.201025 vn 0.428510 -0.280801 0.858760 vn -0.297647 -0.212989 0.930601 vn -0.429731 -0.751640 0.500351 vn 0.278909 -0.583789 0.762474 vn 0.395703 -0.659047 0.639546 vn -0.101566 -0.106693 0.989074 vn -0.679861 -0.289315 0.673818 vn -0.899777 -0.090548 -0.426801 vn -0.818751 -0.490188 -0.298837 vn -0.379589 -0.719657 0.581378 vn -0.062075 -0.969970 0.235084 vn -0.014008 -0.853725 0.520493 vn -0.107944 -0.601764 0.791314 vn -0.425428 -0.397992 0.812738 vn -0.376568 -0.850612 -0.366894 vn -0.225043 -0.013245 0.974242 vn -0.848567 -0.077181 -0.523362 vn -0.781579 -0.605182 -0.151158 vn -0.130528 -0.808161 0.574297 vn -0.233863 -0.533372 0.812891 vn -0.461135 -0.528214 -0.712943 g mesh2.002_mesh2-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1149/1210/1151 1150/1211/1152 1151/1212/1153 f 1149/1210/1151 1152/1213/1154 1150/1211/1152 f 1152/1213/1154 1149/1210/1151 1153/1214/1155 f 1153/1214/1155 1154/1215/1156 1152/1213/1154 f 1156/1216/1157 1157/1217/1158 1155/1218/1159 f 1158/1219/1160 1157/1217/1158 1156/1216/1157 f 1158/1219/1160 1159/1220/1161 1157/1217/1158 f 1160/1221/1162 1159/1220/1161 1158/1219/1160 f 1161/1222/1163 1159/1220/1161 1160/1221/1162 f 1161/1222/1163 1162/1223/1164 1159/1220/1161 f 1161/1222/1163 1163/1224/1165 1162/1223/1164 f 1164/1225/1166 1163/1224/1165 1161/1222/1163 f 1164/1225/1166 1165/1226/1167 1163/1224/1165 f 1166/1227/1168 1165/1226/1167 1164/1225/1166 f 1167/1228/1169 1165/1226/1167 1166/1227/1168 f 1167/1228/1169 1168/1229/1170 1165/1226/1167 f 1167/1228/1169 1169/1230/1171 1168/1229/1170 f 1170/1231/1172 1169/1230/1171 1167/1228/1169 f 1170/1231/1172 1171/1232/1173 1169/1230/1171 f 1172/1233/1174 1171/1232/1173 1170/1231/1172 f 1172/1233/1174 1173/1234/1175 1171/1232/1173 f 1174/1235/1176 1173/1234/1175 1172/1233/1174 f 1175/1236/1177 1173/1234/1175 1174/1235/1176 f 1175/1236/1177 1176/1237/1178 1173/1234/1175 f 1177/1238/1179 1176/1237/1178 1175/1236/1177 f 1177/1238/1179 1178/1239/1180 1176/1237/1178 f 1179/1240/1181 1178/1239/1180 1177/1238/1179 f 1179/1240/1181 1180/1241/1182 1178/1239/1180 f 1181/1242/1183 1180/1241/1182 1179/1240/1181 f 1181/1242/1183 1182/1243/1184 1180/1241/1182 f 1183/1244/1185 1182/1243/1184 1181/1242/1183 f 1182/1243/1184 1183/1244/1185 1184/1245/1186 f 1184/1245/1186 1183/1244/1185 1185/1246/1187 f 1183/1244/1185 1186/1247/1188 1185/1246/1187 f 1187/1248/1189 1186/1247/1188 1183/1244/1185 f 1187/1248/1189 1188/1249/1190 1186/1247/1188 f 1187/1248/1189 1189/1250/1191 1188/1249/1190 f 1190/1251/1192 1189/1250/1191 1187/1248/1189 f 1190/1251/1192 1191/1252/1193 1189/1250/1191 f 1190/1253/1192 1192/1254/1194 1191/1255/1193 f 1193/1256/1195 1192/1254/1194 1190/1253/1192 f 1193/1256/1195 1194/1257/1196 1192/1254/1194 f 1195/1258/1197 1194/1257/1196 1193/1256/1195 f 1196/1259/1198 1194/1257/1196 1195/1258/1197 f 1196/1259/1198 1197/1260/1199 1194/1257/1196 f 1198/1261/1200 1197/1260/1199 1196/1259/1198 f 1198/1261/1200 1199/1262/1201 1197/1260/1199 f 1198/1261/1200 1200/1263/1202 1199/1262/1201 f 1198/1261/1200 1201/1264/1203 1200/1263/1202 f 1202/1265/1204 1201/1264/1203 1198/1261/1200 f 1203/1266/1205 1201/1264/1203 1202/1265/1204 f 1201/1264/1203 1203/1266/1205 1204/1267/1206 f 1203/1266/1205 1205/1268/1207 1204/1267/1206 f 1206/1269/1208 1205/1270/1207 1203/1271/1205 f 1206/1269/1208 1207/1272/1209 1205/1270/1207 f 1208/1273/1210 1207/1272/1209 1206/1269/1208 f 1208/1273/1210 1209/1274/1211 1207/1272/1209 f 1208/1273/1210 1210/1275/1212 1209/1274/1211 f 1211/1276/1213 1210/1275/1212 1208/1273/1210 f 1212/1277/1214 1210/1275/1212 1211/1276/1213 f 1212/1277/1214 1213/1278/1215 1210/1275/1212 f 1214/1279/1216 1213/1278/1215 1212/1277/1214 f 1215/1280/1217 1213/1278/1215 1214/1279/1216 f 1215/1280/1217 1216/1281/1218 1213/1278/1215 f 1215/1280/1217 1217/1282/1219 1216/1281/1218 f 1218/1283/1220 1217/1282/1219 1215/1280/1217 f 1219/1284/1221 1217/1285/1219 1218/1286/1220 f 1219/1284/1221 1220/1287/1222 1217/1285/1219 f 1221/1288/1223 1220/1287/1222 1219/1284/1221 f 1221/1288/1223 1222/1289/1224 1220/1287/1222 f 1221/1288/1223 1223/1290/1225 1222/1289/1224 f 1221/1288/1223 1224/1291/1226 1223/1290/1225 f 1225/1292/1227 1224/1291/1226 1221/1288/1223 f 1225/1292/1227 1226/1293/1228 1224/1291/1226 f 1225/1292/1227 1227/1294/1229 1226/1293/1228 f 1228/1295/1230 1227/1294/1229 1225/1292/1227 f 1228/1295/1230 1229/1296/1231 1227/1294/1229 f 1230/1297/1232 1229/1296/1231 1228/1295/1230 f 1230/1297/1232 1231/1298/1233 1229/1296/1231 f 1230/1297/1232 1232/1299/1234 1231/1298/1233 f 1230/1297/1232 1233/1300/1235 1232/1299/1234 f 1234/1301/1236 1233/1300/1235 1230/1297/1232 f 1235/1302/1237 1233/1300/1235 1234/1301/1236 f 1235/1302/1237 1236/1303/1238 1233/1300/1235 f 1235/1302/1237 1237/1304/1239 1236/1303/1238 f 1235/1302/1237 1238/1305/1240 1237/1304/1239 f 1238/1305/1240 1235/1302/1237 1239/1306/1241 f 1240/1307/1242 1239/1306/1241 1235/1302/1237 f 1239/1306/1241 1240/1307/1242 1241/1308/1243 f 1240/1307/1242 1242/1309/1244 1241/1308/1243 f 1240/1307/1242 1235/1302/1237 1242/1309/1244 f 1242/1309/1244 1235/1302/1237 1234/1301/1236 f 1242/1309/1244 1234/1301/1236 1230/1297/1232 f 1242/1309/1244 1230/1297/1232 1243/1310/1245 f 1243/1310/1245 1230/1297/1232 1228/1295/1230 f 1243/1310/1245 1228/1295/1230 1244/1311/1246 f 1244/1311/1246 1228/1295/1230 1245/1312/1247 f 1228/1295/1230 1246/1313/1248 1245/1312/1247 f 1228/1295/1230 1225/1292/1227 1246/1313/1248 f 1246/1313/1248 1225/1292/1227 1221/1288/1223 f 1246/1313/1248 1221/1288/1223 1247/1314/1249 f 1221/1288/1223 1219/1284/1221 1247/1314/1249 f 1247/1314/1249 1219/1284/1221 1218/1286/1220 f 1247/1314/1249 1218/1286/1220 1248/1315/1250 f 1248/1316/1250 1218/1283/1220 1215/1280/1217 f 1248/1316/1250 1215/1280/1217 1249/1317/1251 f 1249/1317/1251 1215/1280/1217 1250/1318/1252 f 1250/1318/1252 1215/1280/1217 1214/1279/1216 f 1250/1318/1252 1214/1279/1216 1212/1277/1214 f 1251/1319/1253 1250/1318/1252 1212/1277/1214 f 1251/1319/1253 1252/1320/1254 1250/1318/1252 f 1253/1321/1255 1252/1320/1254 1251/1319/1253 f 1254/1322/1256 1252/1320/1254 1253/1321/1255 f 1254/1322/1256 1255/1323/1257 1252/1320/1254 f 1254/1322/1256 1256/1324/1258 1255/1323/1257 f 1257/1325/1259 1256/1324/1258 1254/1322/1256 f 1257/1325/1259 1258/1326/1260 1256/1324/1258 s off f 1233/1300/1261 1258/1326/1261 1257/1325/1261 s 1 f 1236/1303/1238 1258/1326/1260 1233/1300/1235 f 1236/1303/1238 1237/1304/1239 1258/1326/1260 f 1258/1326/1260 1237/1304/1239 1259/1327/1262 f 1237/1304/1239 1260/1328/1263 1259/1327/1262 f 1237/1304/1239 1261/1329/1264 1260/1328/1263 f 1237/1304/1239 1262/1330/1265 1261/1329/1264 f 1238/1305/1240 1262/1330/1265 1237/1304/1239 f 1262/1330/1265 1238/1305/1240 1239/1306/1241 f 1262/1330/1265 1239/1306/1241 1263/1331/1266 f 1263/1331/1266 1239/1306/1241 1264/1332/1267 f 1239/1306/1241 1241/1308/1243 1264/1332/1267 f 1241/1308/1243 1265/1333/1268 1264/1332/1267 f 1265/1333/1268 1241/1308/1243 1266/1334/1269 f 1241/1308/1243 1267/1335/1270 1266/1334/1269 f 1241/1308/1243 1268/1336/1271 1267/1335/1270 f 1241/1308/1243 1242/1309/1244 1268/1336/1271 f 1242/1309/1244 1244/1311/1246 1268/1336/1271 f 1242/1309/1244 1243/1310/1245 1244/1311/1246 f 1268/1336/1271 1244/1311/1246 1269/1337/1272 f 1269/1337/1272 1244/1311/1246 1270/1338/1273 f 1244/1311/1246 1245/1312/1247 1270/1338/1273 f 1245/1312/1247 1246/1313/1248 1270/1338/1273 f 1246/1313/1248 1247/1314/1249 1270/1338/1273 f 1270/1338/1273 1247/1314/1249 1248/1315/1250 f 1270/1338/1273 1248/1315/1250 1271/1339/1274 f 1271/1340/1274 1248/1316/1250 1249/1317/1251 f 1271/1340/1274 1249/1317/1251 1272/1341/1275 f 1272/1341/1275 1249/1317/1251 1252/1320/1254 f 1252/1320/1254 1249/1317/1251 1250/1318/1252 f 1273/1342/1276 1272/1341/1275 1252/1320/1254 f 1273/1342/1276 1271/1340/1274 1272/1341/1275 f 1274/1343/1277 1271/1340/1274 1273/1342/1276 f 1274/1344/1277 1270/1338/1273 1271/1339/1274 f 1269/1337/1272 1270/1338/1273 1274/1344/1277 f 1269/1337/1272 1274/1344/1277 1275/1345/1278 f 1275/1346/1278 1274/1343/1277 1273/1342/1276 f 1275/1346/1278 1273/1342/1276 1276/1347/1279 f 1256/1324/1258 1276/1347/1279 1273/1342/1276 f 1276/1347/1279 1256/1324/1258 1277/1348/1280 f 1256/1324/1258 1278/1349/1281 1277/1348/1280 f 1256/1324/1258 1258/1326/1260 1278/1349/1281 f 1279/1350/1282 1278/1349/1281 1258/1326/1260 f 1278/1349/1281 1279/1350/1282 1277/1348/1280 f 1279/1350/1282 1280/1351/1283 1277/1348/1280 f 1279/1350/1282 1281/1352/1284 1280/1351/1283 f 1282/1353/1285 1281/1352/1284 1279/1350/1282 f 1283/1354/1286 1281/1352/1284 1282/1353/1285 f 1283/1354/1286 1284/1355/1287 1281/1352/1284 f 1281/1352/1284 1284/1355/1287 1285/1356/1288 f 1286/1357/1289 1281/1352/1284 1285/1356/1288 f 1287/1358/1290 1281/1352/1284 1286/1357/1289 f 1287/1358/1290 1280/1351/1283 1281/1352/1284 f 1277/1348/1280 1280/1351/1283 1287/1358/1290 f 1288/1359/1291 1277/1348/1280 1287/1358/1290 f 1276/1347/1279 1277/1348/1280 1288/1359/1291 f 1275/1346/1278 1276/1347/1279 1288/1359/1291 f 1266/1334/1269 1275/1345/1278 1288/1360/1291 f 1266/1334/1269 1267/1335/1270 1275/1345/1278 f 1267/1335/1270 1269/1337/1272 1275/1345/1278 f 1267/1335/1270 1268/1336/1271 1269/1337/1272 f 1266/1334/1269 1288/1360/1291 1265/1333/1268 f 1288/1360/1291 1287/1361/1290 1265/1333/1268 f 1265/1333/1268 1287/1361/1290 1289/1362/1292 f 1287/1361/1290 1286/1363/1289 1289/1362/1292 f 1289/1362/1292 1286/1363/1289 1285/1364/1288 f 1289/1362/1292 1285/1364/1288 1290/1365/1293 f 1289/1362/1292 1290/1365/1293 1291/1366/1294 f 1292/1367/1295 1289/1362/1292 1291/1366/1294 f 1264/1332/1267 1289/1362/1292 1292/1367/1295 f 1264/1332/1267 1265/1333/1268 1289/1362/1292 f 1263/1331/1266 1264/1332/1267 1292/1367/1295 f 1293/1368/1296 1263/1331/1266 1292/1367/1295 f 1262/1330/1265 1263/1331/1266 1293/1368/1296 f 1294/1369/1297 1262/1330/1265 1293/1368/1296 f 1262/1330/1265 1294/1369/1297 1261/1329/1264 f 1261/1329/1264 1294/1369/1297 1295/1370/1298 f 1261/1329/1264 1295/1370/1298 1260/1328/1263 f 1260/1328/1263 1295/1370/1298 1296/1371/1299 f 1296/1371/1299 1282/1353/1285 1260/1328/1263 f 1296/1371/1299 1283/1354/1286 1282/1353/1285 f 1260/1328/1263 1282/1353/1285 1279/1350/1282 f 1260/1328/1263 1279/1350/1282 1259/1327/1262 f 1259/1327/1262 1279/1350/1282 1258/1326/1260 f 1292/1367/1295 1291/1366/1294 1293/1368/1296 f 1256/1324/1258 1273/1342/1276 1255/1323/1257 f 1273/1342/1276 1252/1320/1254 1255/1323/1257 f 1233/1300/1235 1257/1325/1259 1254/1322/1256 f 1254/1322/1256 1232/1299/1234 1233/1300/1235 f 1232/1299/1234 1254/1322/1256 1231/1298/1233 f 1231/1298/1233 1254/1322/1256 1253/1321/1255 f 1253/1321/1255 1251/1319/1253 1231/1298/1233 f 1231/1298/1233 1251/1319/1253 1297/1372/1300 f 1297/1372/1300 1251/1319/1253 1212/1277/1214 f 1297/1372/1300 1212/1277/1214 1298/1373/1301 f 1298/1373/1301 1212/1277/1214 1211/1276/1213 f 1298/1373/1301 1211/1276/1213 1226/1293/1228 f 1226/1293/1228 1211/1276/1213 1299/1374/1302 f 1211/1276/1213 1300/1375/1303 1299/1374/1302 f 1211/1276/1213 1208/1273/1210 1300/1375/1303 f 1300/1375/1303 1208/1273/1210 1206/1269/1208 f 1300/1375/1303 1206/1269/1208 1301/1376/1304 f 1206/1269/1208 1203/1271/1205 1301/1376/1304 f 1203/1271/1205 1302/1377/1305 1301/1376/1304 f 1302/1378/1305 1203/1266/1205 1202/1265/1204 f 1302/1378/1305 1202/1265/1204 1303/1379/1306 f 1303/1379/1306 1202/1265/1204 1304/1380/1307 f 1202/1265/1204 1198/1261/1200 1304/1380/1307 f 1304/1380/1307 1198/1261/1200 1196/1259/1198 f 1304/1380/1307 1196/1259/1198 1305/1381/1308 f 1305/1381/1308 1196/1259/1198 1306/1382/1309 f 1196/1259/1198 1307/1383/1310 1306/1382/1309 f 1196/1259/1198 1195/1258/1197 1307/1383/1310 f 1195/1258/1197 1193/1256/1195 1307/1383/1310 f 1307/1383/1310 1193/1256/1195 1190/1253/1192 f 1308/1384/1311 1307/1383/1310 1190/1253/1192 f 1306/1382/1309 1307/1383/1310 1308/1384/1311 f 1306/1382/1309 1308/1384/1311 1309/1385/1312 f 1309/1385/1312 1308/1384/1311 1310/1386/1313 f 1308/1384/1311 1190/1253/1192 1310/1386/1313 f 1310/1386/1313 1190/1253/1192 1311/1387/1314 f 1190/1253/1192 1312/1388/1315 1311/1387/1314 f 1190/1253/1192 1187/1389/1189 1312/1388/1315 f 1187/1389/1189 1313/1390/1316 1312/1388/1315 f 1314/1391/1317 1313/1392/1316 1187/1248/1189 f 1314/1391/1317 1315/1393/1318 1313/1392/1316 f 1316/1394/1319 1315/1393/1318 1314/1391/1317 f 1316/1394/1319 1317/1395/1320 1315/1393/1318 f 1318/1396/1321 1317/1395/1320 1316/1394/1319 f 1318/1396/1321 1319/1397/1322 1317/1395/1320 f 1318/1398/1321 1310/1386/1313 1319/1399/1322 f 1309/1385/1312 1310/1386/1313 1318/1398/1321 f 1309/1385/1312 1318/1398/1321 1320/1400/1323 f 1320/1400/1323 1318/1398/1321 1321/1401/1324 f 1318/1398/1321 1322/1402/1325 1321/1401/1324 f 1318/1398/1321 1316/1403/1319 1322/1402/1325 f 1316/1403/1319 1323/1404/1326 1322/1402/1325 f 1324/1405/1327 1323/1406/1326 1316/1394/1319 f 1324/1405/1327 1325/1407/1328 1323/1406/1326 f 1326/1408/1329 1325/1407/1328 1324/1405/1327 f 1326/1408/1329 1327/1409/1330 1325/1407/1328 f 1328/1410/1331 1327/1409/1330 1326/1408/1329 f 1328/1410/1331 1329/1411/1332 1327/1409/1330 f 1328/1412/1331 1320/1400/1323 1329/1413/1332 f 1330/1414/1333 1320/1400/1323 1328/1412/1331 f 1309/1385/1312 1320/1400/1323 1330/1414/1333 f 1331/1415/1334 1309/1385/1312 1330/1414/1333 f 1332/1416/1335 1309/1385/1312 1331/1415/1334 f 1332/1416/1335 1305/1381/1308 1309/1385/1312 f 1333/1417/1336 1305/1381/1308 1332/1416/1335 f 1333/1417/1336 1304/1380/1307 1305/1381/1308 f 1303/1379/1306 1304/1380/1307 1333/1417/1336 f 1334/1418/1337 1303/1379/1306 1333/1417/1336 f 1302/1378/1305 1303/1379/1306 1334/1418/1337 f 1335/1419/1338 1302/1378/1305 1334/1418/1337 f 1336/1420/1339 1302/1377/1305 1335/1421/1338 f 1336/1420/1339 1301/1376/1304 1302/1377/1305 f 1337/1422/1340 1301/1376/1304 1336/1420/1339 f 1337/1422/1340 1300/1375/1303 1301/1376/1304 f 1299/1374/1302 1300/1375/1303 1337/1422/1340 f 1223/1290/1225 1299/1374/1302 1337/1422/1340 f 1226/1293/1228 1299/1374/1302 1223/1290/1225 f 1224/1291/1226 1226/1293/1228 1223/1290/1225 f 1223/1290/1225 1337/1422/1340 1338/1423/1341 f 1338/1423/1341 1337/1422/1340 1336/1420/1339 f 1338/1423/1341 1336/1420/1339 1339/1424/1342 f 1336/1420/1339 1335/1421/1338 1339/1424/1342 f 1339/1424/1342 1335/1421/1338 1340/1425/1343 f 1340/1426/1343 1335/1419/1338 1341/1427/1344 f 1335/1419/1338 1334/1418/1337 1341/1427/1344 f 1341/1427/1344 1334/1418/1337 1342/1428/1345 f 1334/1418/1337 1343/1429/1346 1342/1428/1345 f 1334/1418/1337 1333/1417/1336 1343/1429/1346 f 1343/1429/1346 1333/1417/1336 1332/1416/1335 f 1343/1429/1346 1332/1416/1335 1344/1430/1347 f 1344/1430/1347 1332/1416/1335 1331/1415/1334 f 1344/1430/1347 1331/1415/1334 1345/1431/1348 f 1345/1431/1348 1331/1415/1334 1330/1414/1333 f 1345/1431/1348 1330/1414/1333 1328/1412/1331 f 1328/1410/1331 1346/1432/1349 1345/1433/1348 f 1328/1410/1331 1326/1408/1329 1346/1432/1349 f 1326/1408/1329 1324/1405/1327 1346/1432/1349 f 1346/1432/1349 1324/1405/1327 1347/1434/1350 f 1324/1405/1327 1316/1394/1319 1347/1434/1350 f 1316/1394/1319 1314/1391/1317 1347/1434/1350 f 1347/1434/1350 1314/1391/1317 1183/1244/1185 f 1183/1244/1185 1314/1391/1317 1187/1248/1189 f 1181/1242/1183 1347/1434/1350 1183/1244/1185 f 1348/1435/1351 1347/1434/1350 1181/1242/1183 f 1346/1432/1349 1347/1434/1350 1348/1435/1351 f 1346/1432/1349 1348/1435/1351 1349/1436/1352 f 1349/1436/1352 1348/1435/1351 1350/1437/1353 f 1350/1437/1353 1348/1435/1351 1351/1438/1354 f 1351/1438/1354 1348/1435/1351 1179/1240/1181 f 1179/1240/1181 1348/1435/1351 1181/1242/1183 f 1177/1238/1179 1351/1438/1354 1179/1240/1181 f 1352/1439/1355 1351/1438/1354 1177/1238/1179 f 1353/1440/1356 1351/1438/1354 1352/1439/1355 f 1350/1437/1353 1351/1438/1354 1353/1440/1356 f 1341/1441/1344 1350/1437/1353 1353/1440/1356 f 1341/1441/1344 1342/1442/1345 1350/1437/1353 f 1342/1442/1345 1349/1436/1352 1350/1437/1353 f 1344/1443/1347 1349/1436/1352 1342/1442/1345 f 1344/1443/1347 1346/1432/1349 1349/1436/1352 f 1345/1433/1348 1346/1432/1349 1344/1443/1347 f 1342/1428/1345 1343/1429/1346 1344/1430/1347 f 1340/1444/1343 1341/1441/1344 1353/1440/1356 f 1340/1444/1343 1353/1440/1356 1354/1445/1357 f 1355/1446/1358 1354/1445/1357 1353/1440/1356 f 1354/1447/1357 1355/1448/1358 1356/1449/1359 f 1356/1450/1359 1355/1451/1358 1357/1452/1360 f 1357/1452/1360 1355/1451/1358 1358/1453/1361 f 1355/1446/1358 1352/1439/1355 1358/1454/1361 f 1355/1446/1358 1353/1440/1356 1352/1439/1355 f 1358/1454/1361 1352/1439/1355 1177/1238/1179 f 1358/1454/1361 1177/1238/1179 1359/1455/1362 f 1359/1455/1362 1177/1238/1179 1360/1456/1363 f 1360/1456/1363 1177/1238/1179 1175/1236/1177 f 1360/1456/1363 1175/1236/1177 1361/1457/1364 f 1361/1457/1364 1175/1236/1177 1174/1235/1176 f 1204/1267/1206 1361/1457/1364 1174/1235/1176 f 1204/1267/1206 1205/1268/1207 1361/1457/1364 f 1359/1455/1362 1361/1457/1364 1205/1268/1207 f 1359/1455/1362 1360/1456/1363 1361/1457/1364 f 1359/1458/1362 1205/1270/1207 1207/1272/1209 f 1362/1459/1365 1359/1458/1362 1207/1272/1209 f 1358/1453/1361 1359/1458/1362 1362/1459/1365 f 1357/1452/1360 1358/1453/1361 1362/1459/1365 f 1363/1460/1366 1357/1452/1360 1362/1459/1365 f 1364/1461/1367 1357/1452/1360 1363/1460/1366 f 1364/1461/1367 1356/1450/1359 1357/1452/1360 f 1365/1462/1368 1356/1450/1359 1364/1461/1367 f 1365/1463/1368 1366/1464/1369 1356/1449/1359 f 1365/1463/1368 1367/1465/1370 1366/1464/1369 f 1220/1287/1222 1367/1465/1370 1365/1463/1368 f 1222/1289/1224 1367/1465/1370 1220/1287/1222 f 1222/1289/1224 1338/1423/1341 1367/1465/1370 f 1222/1289/1224 1223/1290/1225 1338/1423/1341 f 1338/1423/1341 1339/1424/1342 1367/1465/1370 f 1339/1424/1342 1366/1464/1369 1367/1465/1370 f 1339/1424/1342 1340/1425/1343 1366/1464/1369 f 1340/1425/1343 1354/1447/1357 1366/1464/1369 f 1366/1464/1369 1354/1447/1357 1356/1449/1359 f 1220/1287/1222 1365/1463/1368 1217/1285/1219 f 1217/1282/1219 1365/1462/1368 1364/1461/1367 f 1217/1282/1219 1364/1461/1367 1216/1281/1218 f 1216/1281/1218 1364/1461/1367 1363/1460/1366 f 1216/1281/1218 1363/1460/1366 1213/1278/1215 f 1213/1278/1215 1363/1460/1366 1209/1274/1211 f 1363/1460/1366 1362/1459/1365 1209/1274/1211 f 1209/1274/1211 1362/1459/1365 1207/1272/1209 f 1213/1278/1215 1209/1274/1211 1210/1275/1212 f 1204/1267/1206 1174/1235/1176 1368/1466/1371 f 1368/1466/1371 1174/1235/1176 1172/1233/1174 f 1368/1466/1371 1172/1233/1174 1369/1467/1372 f 1369/1467/1372 1172/1233/1174 1170/1231/1172 f 1369/1467/1372 1170/1231/1172 1370/1468/1373 f 1370/1468/1373 1170/1231/1172 1167/1228/1169 f 1370/1468/1373 1167/1228/1169 1371/1469/1374 f 1371/1469/1374 1167/1228/1169 1166/1227/1168 f 1372/1470/1375 1371/1469/1374 1166/1227/1168 f 1373/1471/1376 1371/1469/1374 1372/1470/1375 f 1373/1471/1376 1370/1468/1373 1371/1469/1374 f 1369/1467/1372 1370/1468/1373 1373/1471/1376 f 1374/1472/1377 1369/1467/1372 1373/1471/1376 f 1368/1466/1371 1369/1467/1372 1374/1472/1377 f 1375/1473/1378 1368/1466/1371 1374/1472/1377 f 1204/1267/1206 1368/1466/1371 1375/1473/1378 f 1204/1267/1206 1375/1473/1378 1200/1263/1202 f 1200/1263/1202 1375/1473/1378 1376/1474/1379 f 1375/1473/1378 1377/1475/1380 1376/1474/1379 f 1375/1473/1378 1374/1472/1377 1377/1475/1380 f 1377/1475/1380 1374/1472/1377 1373/1471/1376 f 1373/1471/1376 1378/1476/1381 1377/1475/1380 f 1372/1470/1375 1378/1476/1381 1373/1471/1376 f 1378/1476/1381 1372/1470/1375 1379/1477/1382 f 1379/1477/1382 1372/1470/1375 1380/1478/1383 f 1372/1470/1375 1381/1479/1384 1380/1478/1383 f 1372/1470/1375 1166/1227/1168 1381/1479/1384 f 1381/1479/1384 1166/1227/1168 1164/1225/1166 f 1381/1479/1384 1164/1225/1166 1382/1480/1385 f 1382/1480/1385 1164/1225/1166 1161/1222/1163 f 1382/1480/1385 1161/1222/1163 1383/1481/1386 f 1383/1481/1386 1161/1222/1163 1384/1482/1387 f 1384/1482/1387 1161/1222/1163 1160/1221/1162 f 1384/1482/1387 1160/1221/1162 1158/1219/1160 f 1384/1482/1387 1158/1219/1160 1385/1483/1388 f 1385/1483/1388 1158/1219/1160 1156/1216/1157 f 1385/1483/1388 1156/1216/1157 1386/1484/1389 f 1387/1485/1390 1153/1214/1155 1388/1486/1391 f 1153/1214/1155 1149/1210/1151 1388/1486/1391 f 1388/1486/1391 1149/1210/1151 1389/1487/1392 f 1389/1487/1392 1149/1210/1151 1151/1212/1153 f 1390/1488/1393 1150/1211/1152 1391/1489/1394 f 1150/1211/1152 1393/1490/1395 1392/1491/1396 f 1152/1213/1154 1393/1490/1395 1150/1211/1152 f 1394/1492/1397 1393/1490/1395 1152/1213/1154 f 1155/1218/1159 1157/1217/1158 1396/1493/1398 f 1157/1217/1158 1397/1494/1399 1396/1493/1398 f 1159/1220/1161 1397/1494/1399 1157/1217/1158 f 1159/1220/1161 1398/1495/1400 1397/1494/1399 f 1159/1220/1161 1399/1496/1401 1398/1495/1400 f 1162/1223/1164 1399/1496/1401 1159/1220/1161 f 1400/1497/1402 1399/1496/1401 1162/1223/1164 f 1400/1497/1402 1401/1498/1403 1399/1496/1401 f 1402/1499/1404 1401/1498/1403 1400/1497/1402 f 1403/1500/1405 1401/1498/1403 1402/1499/1404 f 1403/1500/1405 1404/1501/1406 1401/1498/1403 f 1403/1500/1405 1405/1502/1407 1404/1501/1406 f 1406/1503/1408 1405/1502/1407 1403/1500/1405 f 1406/1503/1408 1407/1504/1409 1405/1502/1407 f 1408/1505/1410 1407/1504/1409 1406/1503/1408 f 1408/1505/1410 1409/1506/1411 1407/1504/1409 f 1409/1506/1411 1408/1505/1410 1410/1507/1412 f 1408/1505/1410 1411/1508/1413 1410/1507/1412 f 1408/1505/1410 1412/1509/1414 1411/1508/1413 f 1408/1505/1410 1406/1503/1408 1412/1509/1414 f 1406/1503/1408 1403/1500/1405 1412/1509/1414 f 1412/1509/1414 1403/1500/1405 1402/1499/1404 f 1413/1510/1415 1412/1509/1414 1402/1499/1404 f 1413/1510/1415 1411/1508/1413 1412/1509/1414 f 1413/1510/1415 1414/1511/1416 1411/1508/1413 f 1415/1512/1417 1414/1511/1416 1413/1510/1415 f 1168/1229/1170 1414/1511/1416 1415/1512/1417 f 1416/1513/1418 1414/1511/1416 1168/1229/1170 f 1417/1514/1419 1414/1511/1416 1416/1513/1418 f 1417/1514/1419 1411/1508/1413 1414/1511/1416 f 1417/1514/1419 1410/1507/1412 1411/1508/1413 f 1418/1515/1420 1410/1507/1412 1417/1514/1419 f 1418/1515/1420 1380/1516/1383 1410/1507/1412 f 1379/1517/1382 1380/1516/1383 1418/1515/1420 f 1379/1517/1382 1418/1515/1420 1419/1518/1421 f 1418/1515/1420 1420/1519/1422 1419/1518/1421 f 1421/1520/1423 1420/1519/1422 1418/1515/1420 f 1184/1245/1186 1420/1519/1422 1421/1520/1423 f 1184/1245/1186 1185/1246/1187 1420/1519/1422 f 1185/1246/1187 1422/1521/1424 1420/1519/1422 f 1185/1246/1187 1423/1522/1425 1422/1521/1424 f 1185/1246/1187 1186/1247/1188 1423/1522/1425 f 1186/1247/1188 1424/1523/1426 1423/1522/1425 f 1186/1247/1188 1188/1249/1190 1424/1523/1426 f 1188/1249/1190 1425/1524/1427 1424/1523/1426 f 1188/1249/1190 1426/1525/1428 1425/1524/1427 f 1188/1249/1190 1427/1526/1429 1426/1525/1428 f 1188/1249/1190 1189/1250/1191 1427/1526/1429 f 1189/1250/1191 1428/1527/1430 1427/1526/1429 f 1191/1252/1193 1428/1527/1430 1189/1250/1191 f 1191/1255/1193 1429/1528/1431 1428/1529/1430 f 1192/1254/1194 1429/1528/1431 1191/1255/1193 f 1192/1254/1194 1430/1530/1432 1429/1528/1431 f 1192/1254/1194 1194/1257/1196 1430/1530/1432 f 1194/1257/1196 1431/1531/1433 1430/1530/1432 f 1432/1532/1434 1431/1531/1433 1194/1257/1196 f 1432/1532/1434 1433/1533/1435 1431/1531/1433 f 1199/1262/1201 1433/1533/1435 1432/1532/1434 f 1199/1262/1201 1434/1534/1436 1433/1533/1435 f 1376/1474/1379 1434/1534/1436 1199/1262/1201 f 1377/1475/1380 1434/1534/1436 1376/1474/1379 f 1377/1475/1380 1378/1476/1381 1434/1534/1436 f 1378/1476/1381 1435/1535/1437 1434/1534/1436 f 1378/1476/1381 1419/1536/1421 1435/1535/1437 f 1379/1517/1382 1419/1518/1421 1378/1537/1381 f 1420/1519/1422 1435/1538/1437 1419/1518/1421 f 1420/1519/1422 1422/1521/1424 1435/1538/1437 f 1422/1521/1424 1436/1539/1438 1435/1538/1437 f 1422/1521/1424 1437/1540/1439 1436/1539/1438 f 1422/1521/1424 1423/1522/1425 1437/1540/1439 f 1438/1541/1440 1437/1540/1439 1423/1522/1425 f 1438/1541/1440 1439/1542/1441 1437/1540/1439 f 1438/1541/1440 1440/1543/1442 1439/1542/1441 f 1441/1544/1443 1440/1543/1442 1438/1541/1440 f 1441/1544/1443 1442/1545/1444 1440/1543/1442 f 1441/1546/1443 1443/1547/1445 1442/1548/1444 f 1444/1549/1446 1443/1547/1445 1441/1546/1443 f 1444/1549/1446 1445/1550/1447 1443/1547/1445 f 1444/1549/1446 1433/1533/1435 1445/1550/1447 f 1431/1531/1433 1433/1533/1435 1444/1549/1446 f 1431/1531/1433 1444/1549/1446 1430/1530/1432 f 1430/1530/1432 1444/1549/1446 1441/1546/1443 f 1430/1551/1432 1441/1544/1443 1438/1541/1440 f 1430/1551/1432 1438/1541/1440 1423/1522/1425 f 1430/1530/1432 1423/1552/1425 1446/1553/1448 f 1423/1552/1425 1424/1554/1426 1446/1553/1448 f 1446/1553/1448 1424/1554/1426 1447/1555/1449 f 1424/1554/1426 1425/1556/1427 1447/1555/1449 f 1447/1555/1449 1425/1556/1427 1448/1557/1450 f 1425/1556/1427 1449/1558/1451 1448/1557/1450 f 1426/1525/1428 1449/1559/1451 1425/1524/1427 f 1426/1525/1428 1450/1560/1452 1449/1559/1451 f 1426/1525/1428 1451/1561/1453 1450/1560/1452 f 1427/1526/1429 1451/1561/1453 1426/1525/1428 f 1452/1562/1454 1451/1561/1453 1427/1526/1429 f 1452/1562/1454 1453/1563/1455 1451/1561/1453 f 1454/1564/1456 1453/1565/1455 1452/1566/1454 f 1454/1564/1456 1455/1567/1457 1453/1565/1455 f 1456/1568/1458 1455/1567/1457 1454/1564/1456 f 1456/1568/1458 1457/1569/1459 1455/1567/1457 f 1456/1568/1458 1458/1570/1460 1457/1569/1459 f 1456/1568/1458 1459/1571/1461 1458/1570/1460 f 1456/1568/1458 1449/1558/1451 1459/1571/1461 f 1449/1558/1451 1456/1568/1458 1448/1557/1450 f 1448/1557/1450 1456/1568/1458 1454/1564/1456 f 1448/1557/1450 1454/1564/1456 1460/1572/1462 f 1460/1572/1462 1454/1564/1456 1452/1566/1454 f 1428/1529/1430 1460/1572/1462 1452/1566/1454 f 1429/1528/1431 1460/1572/1462 1428/1529/1430 f 1429/1528/1431 1447/1555/1449 1460/1572/1462 f 1446/1553/1448 1447/1555/1449 1429/1528/1431 f 1429/1528/1431 1430/1530/1432 1446/1553/1448 f 1460/1572/1462 1447/1555/1449 1448/1557/1450 f 1428/1527/1430 1452/1562/1454 1427/1526/1429 f 1449/1559/1451 1450/1560/1452 1459/1573/1461 f 1459/1573/1461 1450/1560/1452 1461/1574/1463 f 1450/1560/1452 1451/1561/1453 1461/1574/1463 f 1461/1574/1463 1451/1561/1453 1462/1575/1464 f 1453/1563/1455 1462/1575/1464 1451/1561/1453 f 1453/1563/1455 1463/1576/1465 1462/1575/1464 f 1453/1565/1455 1457/1569/1459 1463/1577/1465 f 1455/1567/1457 1457/1569/1459 1453/1565/1455 f 1463/1577/1465 1457/1569/1459 1464/1578/1466 f 1457/1569/1459 1465/1579/1467 1464/1578/1466 f 1466/1580/1468 1465/1579/1467 1457/1569/1459 f 1466/1580/1468 1467/1581/1469 1465/1579/1467 f 1468/1582/1470 1467/1581/1469 1466/1580/1468 f 1468/1582/1470 1469/1583/1471 1467/1581/1469 f 1468/1584/1470 1470/1585/1472 1469/1586/1471 f 1471/1587/1473 1470/1585/1472 1468/1584/1470 f 1472/1588/1474 1470/1585/1472 1471/1587/1473 f 1470/1585/1472 1472/1588/1474 1473/1589/1475 f 1473/1589/1475 1472/1588/1474 1474/1590/1476 f 1464/1591/1466 1474/1590/1476 1472/1588/1474 f 1465/1579/1467 1474/1592/1476 1464/1578/1466 f 1465/1579/1467 1475/1593/1477 1474/1592/1476 f 1467/1581/1469 1475/1593/1477 1465/1579/1467 f 1467/1581/1469 1476/1594/1478 1475/1593/1477 f 1467/1581/1469 1477/1595/1479 1476/1594/1478 f 1467/1581/1469 1469/1583/1471 1477/1595/1479 f 1469/1586/1471 1478/1596/1480 1477/1597/1479 f 1469/1586/1471 1479/1598/1481 1478/1596/1480 f 1469/1586/1471 1470/1585/1472 1479/1598/1481 f 1470/1585/1472 1473/1589/1475 1479/1598/1481 f 1479/1598/1481 1473/1589/1475 1478/1596/1480 f 1478/1596/1480 1473/1589/1475 1480/1599/1482 f 1474/1590/1476 1480/1599/1482 1473/1589/1475 f 1474/1590/1476 1481/1600/1483 1480/1599/1482 f 1482/1601/1484 1481/1602/1483 1474/1592/1476 f 1482/1601/1484 1483/1603/1485 1481/1602/1483 f 1476/1594/1478 1483/1603/1485 1482/1601/1484 f 1476/1594/1478 1484/1604/1486 1483/1603/1485 f 1476/1594/1478 1485/1605/1487 1484/1604/1486 f 1476/1594/1478 1486/1606/1488 1485/1605/1487 f 1476/1594/1478 1477/1595/1479 1486/1606/1488 f 1477/1597/1479 1487/1607/1489 1486/1608/1488 f 1477/1597/1479 1478/1596/1480 1487/1607/1489 f 1478/1596/1480 1480/1599/1482 1487/1607/1489 f 1480/1599/1482 1488/1609/1490 1487/1607/1489 f 1481/1600/1483 1488/1609/1490 1480/1599/1482 f 1481/1600/1483 1489/1610/1491 1488/1609/1490 f 1481/1602/1483 1490/1611/1492 1489/1612/1491 f 1483/1603/1485 1490/1611/1492 1481/1602/1483 f 1483/1603/1485 1491/1613/1493 1490/1611/1492 f 1484/1604/1486 1491/1613/1493 1483/1603/1485 f 1484/1604/1486 1492/1614/1494 1491/1613/1493 f 1484/1604/1486 1493/1615/1495 1492/1614/1494 f 1484/1604/1486 1485/1605/1487 1493/1615/1495 f 1494/1616/1496 1493/1615/1495 1485/1605/1487 f 1494/1616/1496 1495/1617/1497 1493/1615/1495 f 1494/1616/1496 1497/1618/1498 1496/1619/1499 f 1498/1620/1500 1497/1621/1498 1494/1622/1496 f 1499/1623/1501 1497/1621/1498 1498/1620/1500 f 1499/1623/1501 1500/1624/1502 1497/1621/1498 f 1499/1623/1501 1501/1625/1503 1500/1624/1502 f 1502/1626/1504 1501/1625/1503 1499/1623/1501 f 1502/1626/1504 1503/1627/1505 1501/1625/1503 f 1489/1610/1491 1503/1627/1505 1502/1626/1504 f 1489/1612/1491 1504/1628/1506 1503/1629/1505 f 1490/1611/1492 1504/1628/1506 1489/1612/1491 f 1508/1630/1507 1509/1631/1508 1507/1632/1509 f 1508/1630/1507 1510/1633/1510 1509/1631/1508 f 1508/1630/1507 1511/1634/1511 1510/1633/1510 f 1512/1635/1512 1511/1634/1511 1508/1630/1507 f 1496/1619/1499 1514/1636/1513 1511/1634/1511 f 1515/1637/1514 1514/1636/1513 1496/1619/1499 f 1516/1638/1515 1515/1637/1514 1517/1639/1516 f 1520/1640/1517 1517/1639/1516 1519/1641/1518 f 1522/1642/1519 1519/1641/1518 1523/1643/1520 f 1523/1643/1520 1519/1641/1518 1501/1644/1503 f 1497/1618/1498 1515/1637/1514 1496/1619/1499 f 1503/1629/1505 1523/1643/1520 1501/1644/1503 f 1504/1628/1506 1526/1645/1521 1503/1629/1505 f 1506/1646/1522 1509/1631/1508 1523/1643/1520 f 1507/1632/1509 1509/1631/1508 1506/1646/1522 f 1510/1633/1510 1522/1642/1519 1509/1631/1508 f 1510/1633/1510 1527/1647/1523 1522/1642/1519 f 1510/1633/1510 1514/1636/1513 1527/1647/1523 f 1511/1634/1511 1514/1636/1513 1510/1633/1510 f 1514/1636/1513 1516/1638/1515 1521/1648/1524 f 1491/1613/1493 1505/1649/1525 1490/1611/1492 f 1489/1610/1491 1502/1626/1504 1488/1609/1490 f 1488/1609/1490 1502/1626/1504 1499/1623/1501 f 1487/1607/1489 1488/1609/1490 1499/1623/1501 f 1487/1607/1489 1499/1623/1501 1486/1608/1488 f 1486/1608/1488 1499/1623/1501 1498/1620/1500 f 1486/1606/1488 1498/1650/1500 1485/1605/1487 f 1498/1650/1500 1494/1616/1496 1485/1605/1487 f 1476/1594/1478 1482/1601/1484 1475/1593/1477 f 1475/1593/1477 1482/1601/1484 1474/1592/1476 f 1464/1591/1466 1472/1588/1474 1528/1651/1526 f 1471/1587/1473 1528/1651/1526 1472/1588/1474 f 1461/1574/1463 1528/1651/1526 1471/1587/1473 f 1461/1574/1463 1462/1575/1464 1528/1651/1526 f 1462/1575/1464 1463/1576/1465 1528/1651/1526 f 1528/1651/1526 1463/1576/1465 1464/1591/1466 f 1461/1574/1463 1471/1587/1473 1529/1652/1527 f 1471/1587/1473 1468/1584/1470 1529/1652/1527 f 1529/1653/1527 1468/1582/1470 1466/1580/1468 f 1458/1570/1460 1529/1653/1527 1466/1580/1468 f 1459/1571/1461 1529/1653/1527 1458/1570/1460 f 1459/1573/1461 1461/1574/1463 1529/1652/1527 f 1458/1570/1460 1466/1580/1468 1457/1569/1459 f 1433/1533/1435 1435/1535/1437 1445/1550/1447 f 1433/1533/1435 1434/1534/1436 1435/1535/1437 f 1445/1550/1447 1435/1535/1437 1530/1654/1528 f 1530/1654/1528 1435/1535/1437 1436/1655/1438 f 1530/1654/1528 1436/1655/1438 1531/1656/1529 f 1436/1539/1438 1439/1542/1441 1531/1657/1529 f 1437/1540/1439 1439/1542/1441 1436/1539/1438 f 1439/1542/1441 1532/1658/1530 1531/1657/1529 f 1440/1543/1442 1532/1658/1530 1439/1542/1441 f 1440/1543/1442 1533/1659/1531 1532/1658/1530 f 1534/1660/1532 1533/1659/1531 1440/1543/1442 f 1533/1659/1531 1534/1660/1532 1535/1661/1533 f 1534/1660/1532 1536/1662/1534 1535/1661/1533 f 1537/1663/1535 1536/1664/1534 1534/1665/1532 f 1537/1663/1535 1538/1666/1536 1536/1664/1534 f 1539/1667/1537 1538/1666/1536 1537/1663/1535 f 1539/1667/1537 1540/1668/1538 1538/1666/1536 f 1539/1667/1537 1541/1669/1539 1540/1668/1538 f 1539/1667/1537 1542/1670/1540 1541/1669/1539 f 1542/1670/1540 1539/1667/1537 1543/1671/1541 f 1543/1671/1541 1539/1667/1537 1537/1663/1535 f 1537/1663/1535 1544/1672/1542 1543/1671/1541 f 1545/1673/1543 1544/1672/1542 1537/1663/1535 f 1443/1547/1445 1544/1672/1542 1545/1673/1543 f 1443/1547/1445 1530/1654/1528 1544/1672/1542 f 1443/1547/1445 1445/1550/1447 1530/1654/1528 f 1530/1654/1528 1531/1656/1529 1544/1672/1542 f 1544/1672/1542 1531/1656/1529 1543/1671/1541 f 1531/1656/1529 1546/1674/1544 1543/1671/1541 f 1531/1657/1529 1532/1658/1530 1546/1675/1544 f 1546/1675/1544 1532/1658/1530 1547/1676/1545 f 1532/1658/1530 1533/1659/1531 1547/1676/1545 f 1533/1659/1531 1535/1661/1533 1547/1676/1545 f 1547/1676/1545 1535/1661/1533 1548/1677/1546 f 1535/1661/1533 1549/1678/1547 1548/1677/1546 f 1536/1662/1534 1549/1678/1547 1535/1661/1533 f 1536/1662/1534 1550/1679/1548 1549/1678/1547 f 1536/1664/1534 1551/1680/1549 1550/1681/1548 f 1538/1666/1536 1551/1680/1549 1536/1664/1534 f 1538/1666/1536 1540/1668/1538 1551/1680/1549 f 1540/1668/1538 1552/1682/1550 1551/1680/1549 f 1540/1668/1538 1553/1683/1551 1552/1682/1550 f 1540/1668/1538 1541/1669/1539 1553/1683/1551 f 1541/1669/1539 1554/1684/1552 1553/1683/1551 f 1541/1685/1539 1555/1686/1553 1554/1687/1552 f 1548/1677/1546 1555/1686/1553 1541/1685/1539 f 1549/1678/1547 1555/1686/1553 1548/1677/1546 f 1549/1678/1547 1556/1688/1554 1555/1686/1553 f 1557/1689/1555 1556/1688/1554 1549/1678/1547 f 1558/1690/1556 1556/1688/1554 1557/1689/1555 f 1559/1691/1557 1556/1688/1554 1558/1690/1556 f 1555/1686/1553 1556/1688/1554 1559/1691/1557 f 1554/1687/1552 1555/1686/1553 1559/1691/1557 f 1554/1687/1552 1559/1691/1557 1560/1692/1558 f 1560/1692/1558 1559/1691/1557 1561/1693/1559 f 1559/1691/1557 1558/1690/1556 1561/1693/1559 f 1558/1690/1556 1562/1694/1560 1561/1693/1559 f 1563/1695/1561 1562/1694/1560 1558/1690/1556 f 1563/1695/1561 1564/1696/1562 1562/1694/1560 f 1563/1697/1561 1565/1698/1563 1564/1699/1562 f 1566/1700/1564 1565/1698/1563 1563/1697/1561 f 1566/1700/1564 1567/1701/1565 1565/1698/1563 f 1568/1702/1566 1567/1701/1565 1566/1700/1564 f 1569/1703/1567 1567/1701/1565 1568/1702/1566 f 1569/1703/1567 1570/1704/1568 1567/1701/1565 f 1569/1705/1567 1571/1706/1569 1570/1707/1568 f 1569/1705/1567 1561/1693/1559 1571/1706/1569 f 1560/1692/1558 1561/1693/1559 1569/1705/1567 f 1560/1708/1558 1569/1703/1567 1568/1702/1566 f 1560/1708/1558 1568/1702/1566 1553/1683/1551 f 1553/1683/1551 1568/1702/1566 1552/1682/1550 f 1568/1702/1566 1566/1700/1564 1552/1682/1550 f 1552/1682/1550 1566/1700/1564 1563/1697/1561 f 1552/1682/1550 1563/1697/1561 1557/1709/1555 f 1557/1689/1555 1563/1695/1561 1558/1690/1556 f 1552/1682/1550 1557/1709/1555 1550/1681/1548 f 1549/1678/1547 1550/1679/1548 1557/1689/1555 f 1551/1680/1549 1552/1682/1550 1550/1681/1548 f 1553/1683/1551 1554/1684/1552 1560/1708/1558 f 1561/1693/1559 1562/1694/1560 1571/1706/1569 f 1562/1694/1560 1572/1710/1570 1571/1706/1569 f 1564/1696/1562 1572/1710/1570 1562/1694/1560 f 1564/1696/1562 1573/1711/1571 1572/1710/1570 f 1564/1699/1562 1574/1712/1572 1573/1713/1571 f 1564/1699/1562 1575/1714/1573 1574/1712/1572 f 1565/1698/1563 1575/1714/1573 1564/1699/1562 f 1567/1701/1565 1575/1714/1573 1565/1698/1563 f 1575/1714/1573 1567/1701/1565 1576/1715/1574 f 1567/1701/1565 1577/1716/1575 1576/1715/1574 f 1570/1704/1568 1577/1716/1575 1567/1701/1565 f 1570/1704/1568 1578/1717/1576 1577/1716/1575 f 1570/1707/1568 1579/1718/1577 1578/1719/1576 f 1571/1706/1569 1579/1718/1577 1570/1707/1568 f 1572/1710/1570 1579/1718/1577 1571/1706/1569 f 1572/1710/1570 1580/1720/1578 1579/1718/1577 f 1573/1711/1571 1580/1720/1578 1572/1710/1570 f 1573/1711/1571 1581/1721/1579 1580/1720/1578 f 1573/1713/1571 1582/1722/1580 1581/1723/1579 f 1574/1712/1572 1582/1722/1580 1573/1713/1571 f 1584/1724/1581 1583/1725/1582 1574/1712/1572 f 1576/1715/1574 1589/1726/1583 1586/1727/1584 f 1576/1715/1574 1577/1716/1575 1589/1726/1583 f 1577/1716/1575 1590/1728/1585 1589/1726/1583 f 1578/1717/1576 1590/1728/1585 1577/1716/1575 f 1578/1719/1576 1591/1729/1586 1590/1730/1585 f 1579/1718/1577 1591/1729/1586 1578/1719/1576 f 1579/1718/1577 1592/1731/1587 1591/1729/1586 f 1593/1732/1588 1592/1731/1587 1579/1718/1577 f 1596/1733/1589 1595/1734/1590 1593/1735/1588 f 1597/1736/1591 1595/1734/1590 1596/1733/1589 f 1603/1737/1592 1604/1738/1593 1602/1739/1594 f 1605/1740/1595 1604/1738/1593 1603/1737/1592 f 1590/1728/1585 1606/1741/1596 1589/1726/1583 f 1590/1728/1585 1591/1742/1586 1604/1738/1593 f 1591/1742/1586 1602/1739/1594 1604/1738/1593 f 1587/1743/1597 1605/1740/1595 1585/1744/1598 f 1585/1744/1598 1605/1740/1595 1609/1745/1599 f 1605/1740/1595 1603/1737/1592 1609/1745/1599 f 1609/1745/1599 1603/1737/1592 1610/1746/1600 f 1609/1745/1599 1610/1746/1600 1597/1736/1591 f 1609/1745/1599 1597/1736/1591 1611/1747/1601 f 1585/1744/1598 1611/1747/1601 1613/1748/1602 f 1585/1744/1598 1609/1745/1599 1611/1747/1601 f 1581/1723/1579 1596/1733/1589 1593/1735/1588 f 1581/1721/1579 1593/1732/1588 1580/1720/1578 f 1580/1720/1578 1593/1732/1588 1579/1718/1577 f 1582/1722/1580 1614/1749/1603 1581/1723/1579 f 1576/1715/1574 1586/1727/1584 1584/1724/1581 f 1576/1715/1574 1584/1724/1581 1575/1714/1573 f 1575/1714/1573 1584/1724/1581 1574/1712/1572 f 1542/1750/1540 1548/1677/1546 1541/1685/1539 f 1542/1750/1540 1547/1676/1545 1548/1677/1546 f 1546/1675/1544 1547/1676/1545 1542/1750/1540 f 1543/1671/1541 1546/1674/1544 1542/1670/1540 f 1443/1547/1445 1545/1673/1543 1442/1548/1444 f 1545/1673/1543 1537/1663/1535 1442/1548/1444 f 1442/1548/1444 1537/1663/1535 1534/1665/1532 f 1440/1543/1442 1442/1545/1444 1534/1660/1532 f 1200/1263/1202 1376/1474/1379 1199/1262/1201 f 1197/1260/1199 1199/1262/1201 1432/1532/1434 f 1197/1260/1199 1432/1532/1434 1194/1257/1196 f 1184/1245/1186 1421/1520/1423 1615/1751/1604 f 1615/1751/1604 1421/1520/1423 1418/1515/1420 f 1418/1515/1420 1417/1514/1419 1615/1751/1604 f 1615/1751/1604 1417/1514/1419 1616/1752/1605 f 1616/1752/1605 1417/1514/1419 1416/1513/1418 f 1616/1752/1605 1416/1513/1418 1617/1753/1606 f 1171/1232/1173 1617/1753/1606 1416/1513/1418 f 1173/1234/1175 1617/1753/1606 1171/1232/1173 f 1173/1234/1175 1618/1754/1607 1617/1753/1606 f 1178/1239/1180 1618/1754/1607 1173/1234/1175 f 1178/1239/1180 1180/1241/1182 1618/1754/1607 f 1180/1241/1182 1619/1755/1608 1618/1754/1607 f 1180/1241/1182 1182/1243/1184 1619/1755/1608 f 1182/1243/1184 1184/1245/1186 1619/1755/1608 f 1619/1755/1608 1184/1245/1186 1615/1751/1604 f 1616/1752/1605 1619/1755/1608 1615/1751/1604 f 1618/1754/1607 1619/1755/1608 1616/1752/1605 f 1618/1754/1607 1616/1752/1605 1617/1753/1606 f 1176/1237/1178 1178/1239/1180 1173/1234/1175 f 1171/1232/1173 1416/1513/1418 1169/1230/1171 f 1169/1230/1171 1416/1513/1418 1168/1229/1170 f 1380/1516/1383 1409/1506/1411 1410/1507/1412 f 1380/1478/1383 1382/1480/1385 1409/1756/1411 f 1381/1479/1384 1382/1480/1385 1380/1478/1383 f 1382/1480/1385 1383/1481/1386 1409/1756/1411 f 1409/1756/1411 1383/1481/1386 1407/1757/1409 f 1407/1757/1409 1383/1481/1386 1620/1758/1609 f 1383/1481/1386 1384/1482/1387 1620/1758/1609 f 1384/1482/1387 1621/1759/1610 1620/1758/1609 f 1384/1482/1387 1622/1760/1611 1621/1759/1610 f 1384/1482/1387 1385/1483/1388 1622/1760/1611 f 1385/1483/1388 1623/1761/1612 1622/1760/1611 f 1385/1483/1388 1386/1484/1389 1623/1761/1612 f 1387/1485/1390 1388/1486/1391 1624/1762/1613 f 1624/1762/1613 1388/1486/1391 1625/1763/1614 f 1389/1487/1392 1626/1764/1615 1625/1763/1614 f 1391/1489/1394 1392/1491/1396 1628/1765/1616 f 1627/1766/1617 1628/1765/1616 1626/1764/1615 f 1634/1767/1618 1632/1768/1619 1635/1769/1620 f 1635/1769/1620 1632/1768/1619 1636/1770/1621 f 1632/1768/1619 1637/1771/1622 1636/1770/1621 f 1637/1772/1622 1631/1773/1623 1393/1490/1395 f 1393/1490/1395 1631/1773/1623 1392/1491/1396 f 1396/1493/1398 1637/1772/1622 1395/1774/1624 f 1397/1494/1399 1637/1772/1622 1396/1493/1398 f 1398/1495/1400 1637/1772/1622 1397/1494/1399 f 1398/1495/1400 1638/1775/1625 1637/1772/1622 f 1399/1496/1401 1638/1775/1625 1398/1495/1400 f 1399/1496/1401 1401/1498/1403 1638/1775/1625 f 1636/1770/1621 1638/1775/1625 1401/1498/1403 f 1637/1771/1622 1638/1775/1625 1636/1770/1621 f 1404/1501/1406 1636/1770/1621 1401/1498/1403 f 1405/1502/1407 1636/1770/1621 1404/1501/1406 f 1405/1502/1407 1639/1776/1626 1636/1770/1621 f 1620/1777/1609 1639/1776/1626 1405/1502/1407 f 1620/1777/1609 1621/1778/1610 1639/1776/1626 f 1621/1759/1610 1635/1779/1620 1639/1780/1626 f 1621/1759/1610 1622/1760/1611 1635/1779/1620 f 1623/1761/1612 1635/1779/1620 1622/1760/1611 f 1623/1761/1612 1640/1781/1627 1635/1779/1620 f 1625/1763/1614 1634/1782/1618 1635/1779/1620 f 1625/1763/1614 1626/1764/1615 1634/1782/1618 f 1635/1769/1620 1636/1770/1621 1639/1776/1626 f 1407/1504/1409 1620/1777/1609 1405/1502/1407 f 1168/1229/1170 1415/1512/1417 1163/1224/1165 f 1415/1512/1417 1162/1223/1164 1163/1224/1165 f 1415/1512/1417 1400/1497/1402 1162/1223/1164 f 1415/1512/1417 1413/1510/1415 1400/1497/1402 f 1400/1497/1402 1413/1510/1415 1402/1499/1404 f 1168/1229/1170 1163/1224/1165 1165/1226/1167 f 1154/1215/1156 1394/1492/1397 1152/1213/1154 f 1201/1264/1203 1204/1267/1206 1200/1263/1202 f 1305/1381/1308 1306/1382/1309 1309/1385/1312 f 1320/1400/1323 1321/1401/1324 1329/1413/1332 f 1329/1413/1332 1321/1401/1324 1641/1783/1628 f 1322/1402/1325 1641/1783/1628 1321/1401/1324 f 1322/1402/1325 1642/1784/1629 1641/1783/1628 f 1322/1402/1325 1643/1785/1630 1642/1784/1629 f 1322/1402/1325 1323/1404/1326 1643/1785/1630 f 1323/1406/1326 1644/1786/1631 1643/1787/1630 f 1325/1407/1328 1644/1786/1631 1323/1406/1326 f 1325/1407/1328 1327/1409/1330 1644/1786/1631 f 1327/1409/1330 1645/1788/1632 1644/1786/1631 f 1329/1411/1332 1645/1788/1632 1327/1409/1330 f 1329/1411/1332 1646/1789/1633 1645/1788/1632 f 1329/1413/1332 1641/1783/1628 1646/1790/1633 f 1646/1790/1633 1641/1783/1628 1647/1791/1634 f 1642/1784/1629 1647/1791/1634 1641/1783/1628 f 1647/1791/1634 1642/1784/1629 1648/1792/1635 f 1642/1784/1629 1649/1793/1636 1648/1792/1635 f 1643/1785/1630 1649/1793/1636 1642/1784/1629 f 1650/1794/1637 1649/1795/1636 1643/1787/1630 f 1650/1794/1637 1651/1796/1638 1649/1795/1636 f 1650/1794/1637 1652/1797/1639 1651/1796/1638 f 1652/1797/1639 1650/1794/1637 1645/1788/1632 f 1645/1788/1632 1650/1794/1637 1644/1786/1631 f 1643/1787/1630 1644/1786/1631 1650/1794/1637 f 1646/1789/1633 1652/1797/1639 1645/1788/1632 f 1653/1798/1640 1652/1797/1639 1646/1789/1633 f 1654/1799/1641 1652/1797/1639 1653/1798/1640 f 1651/1796/1638 1652/1797/1639 1654/1799/1641 f 1651/1796/1638 1654/1799/1641 1655/1800/1642 f 1654/1799/1641 1656/1801/1643 1655/1800/1642 f 1657/1802/1644 1656/1801/1643 1654/1799/1641 f 1657/1802/1644 1658/1803/1645 1656/1801/1643 f 1657/1804/1644 1659/1805/1646 1658/1806/1645 f 1657/1804/1644 1647/1791/1634 1659/1805/1646 f 1647/1791/1634 1657/1804/1644 1653/1807/1640 f 1653/1798/1640 1657/1802/1644 1654/1799/1641 f 1646/1790/1633 1647/1791/1634 1653/1807/1640 f 1660/1808/1647 1659/1805/1646 1647/1791/1634 f 1660/1808/1647 1661/1809/1648 1659/1805/1646 f 1660/1808/1647 1662/1810/1649 1661/1809/1648 f 1660/1808/1647 1663/1811/1650 1662/1810/1649 f 1663/1811/1650 1660/1808/1647 1648/1792/1635 f 1648/1792/1635 1660/1808/1647 1647/1791/1634 f 1648/1792/1635 1649/1793/1636 1663/1811/1650 f 1649/1795/1636 1651/1796/1638 1663/1812/1650 f 1651/1796/1638 1655/1800/1642 1663/1812/1650 f 1655/1800/1642 1662/1813/1649 1663/1812/1650 f 1655/1800/1642 1664/1814/1651 1662/1813/1649 f 1656/1801/1643 1664/1814/1651 1655/1800/1642 f 1656/1801/1643 1665/1815/1652 1664/1814/1651 f 1666/1816/1653 1665/1815/1652 1656/1801/1643 f 1667/1817/1654 1665/1815/1652 1666/1816/1653 f 1668/1818/1655 1665/1815/1652 1667/1817/1654 f 1664/1814/1651 1665/1815/1652 1668/1818/1655 f 1669/1819/1656 1664/1814/1651 1668/1818/1655 f 1664/1814/1651 1669/1819/1656 1662/1813/1649 f 1662/1810/1649 1669/1820/1656 1670/1821/1657 f 1670/1821/1657 1669/1820/1656 1671/1822/1658 f 1669/1819/1656 1668/1818/1655 1671/1823/1658 f 1671/1823/1658 1668/1818/1655 1672/1824/1659 f 1668/1818/1655 1667/1817/1654 1672/1824/1659 f 1672/1824/1659 1667/1817/1654 1673/1825/1660 f 1674/1826/1661 1673/1825/1660 1667/1817/1654 f 1674/1826/1661 1675/1827/1662 1673/1825/1660 f 1674/1828/1661 1676/1829/1663 1675/1830/1662 f 1677/1831/1664 1676/1829/1663 1674/1828/1661 f 1678/1832/1665 1676/1829/1663 1677/1831/1664 f 1678/1832/1665 1679/1833/1666 1676/1829/1663 f 1678/1832/1665 1680/1834/1667 1679/1833/1666 f 1678/1832/1665 1681/1835/1668 1680/1834/1667 f 1678/1832/1665 1682/1836/1669 1681/1835/1668 f 1683/1837/1670 1682/1836/1669 1678/1832/1665 f 1683/1838/1670 1684/1839/1671 1682/1840/1669 f 1683/1838/1670 1672/1824/1659 1684/1839/1671 f 1671/1823/1658 1672/1824/1659 1683/1838/1670 f 1683/1837/1670 1685/1841/1672 1671/1822/1658 f 1685/1841/1672 1683/1837/1670 1678/1832/1665 f 1685/1841/1672 1678/1832/1665 1677/1831/1664 f 1685/1841/1672 1677/1831/1664 1686/1842/1673 f 1686/1842/1673 1677/1831/1664 1674/1828/1661 f 1686/1842/1673 1674/1828/1661 1666/1843/1653 f 1666/1816/1653 1674/1826/1661 1667/1817/1654 f 1658/1806/1645 1686/1842/1673 1666/1843/1653 f 1658/1806/1645 1687/1844/1674 1686/1842/1673 f 1658/1806/1645 1659/1805/1646 1687/1844/1674 f 1659/1805/1646 1661/1809/1648 1687/1844/1674 f 1661/1809/1648 1686/1842/1673 1687/1844/1674 f 1661/1809/1648 1670/1821/1657 1686/1842/1673 f 1661/1809/1648 1662/1810/1649 1670/1821/1657 f 1670/1821/1657 1685/1841/1672 1686/1842/1673 f 1671/1822/1658 1685/1841/1672 1670/1821/1657 f 1656/1801/1643 1658/1803/1645 1666/1816/1653 f 1672/1824/1659 1673/1825/1660 1684/1839/1671 f 1673/1825/1660 1688/1845/1675 1684/1839/1671 f 1675/1827/1662 1688/1845/1675 1673/1825/1660 f 1675/1827/1662 1689/1846/1676 1688/1845/1675 f 1675/1830/1662 1690/1847/1677 1689/1848/1676 f 1675/1830/1662 1679/1833/1666 1690/1847/1677 f 1675/1830/1662 1676/1829/1663 1679/1833/1666 f 1690/1847/1677 1679/1833/1666 1691/1849/1678 f 1680/1834/1667 1691/1849/1678 1679/1833/1666 f 1680/1834/1667 1692/1850/1679 1691/1849/1678 f 1680/1834/1667 1693/1851/1680 1692/1850/1679 f 1680/1834/1667 1681/1835/1668 1693/1851/1680 f 1681/1835/1668 1694/1852/1681 1693/1851/1680 f 1695/1853/1682 1694/1852/1681 1681/1835/1668 f 1697/1854/1683 1696/1855/1684 1695/1856/1682 f 1697/1854/1683 1698/1857/1685 1696/1855/1684 f 1697/1854/1683 1699/1858/1686 1698/1857/1685 f 1700/1859/1687 1699/1858/1686 1697/1854/1683 f 1701/1860/1688 1702/1861/1689 1699/1862/1686 f 1707/1863/1690 1705/1864/1691 1706/1865/1692 f 1707/1863/1690 1708/1866/1693 1705/1864/1691 f 1707/1863/1690 1709/1867/1694 1708/1866/1693 f 1710/1868/1695 1709/1867/1694 1707/1863/1690 f 1694/1852/1681 1712/1869/1696 1693/1851/1680 f 1696/1870/1684 1713/1871/1697 1694/1852/1681 f 1709/1867/1694 1723/1872/1698 1708/1866/1693 f 1708/1866/1693 1723/1872/1698 1722/1873/1699 f 1708/1866/1693 1722/1873/1699 1721/1874/1700 f 1708/1866/1693 1721/1874/1700 1705/1864/1691 f 1727/1875/1701 1703/1876/1702 1701/1860/1688 f 1689/1848/1676 1727/1875/1701 1701/1860/1688 f 1690/1847/1677 1727/1875/1701 1689/1848/1676 f 1690/1847/1677 1691/1849/1678 1726/1877/1703 f 1689/1846/1676 1701/1878/1688 1700/1859/1687 f 1689/1846/1676 1700/1859/1687 1688/1845/1675 f 1688/1845/1675 1700/1859/1687 1697/1854/1683 f 1684/1839/1671 1688/1845/1675 1697/1854/1683 f 1682/1840/1669 1684/1839/1671 1697/1854/1683 f 1682/1840/1669 1697/1854/1683 1695/1856/1682 f 1695/1853/1682 1681/1835/1668 1682/1836/1669 f 1310/1386/1313 1311/1387/1314 1319/1399/1322 f 1319/1399/1322 1311/1387/1314 1728/1879/1704 f 1311/1387/1314 1729/1880/1705 1728/1879/1704 f 1311/1387/1314 1730/1881/1706 1729/1880/1705 f 1312/1388/1315 1730/1881/1706 1311/1387/1314 f 1312/1388/1315 1731/1882/1707 1730/1881/1706 f 1312/1388/1315 1313/1390/1316 1731/1882/1707 f 1313/1392/1316 1732/1883/1708 1731/1884/1707 f 1315/1393/1318 1732/1883/1708 1313/1392/1316 f 1315/1393/1318 1317/1395/1320 1732/1883/1708 f 1317/1395/1320 1733/1885/1709 1732/1883/1708 f 1319/1397/1322 1733/1885/1709 1317/1395/1320 f 1319/1397/1322 1728/1886/1704 1733/1885/1709 f 1728/1886/1704 1734/1887/1710 1733/1885/1709 f 1734/1888/1710 1728/1879/1704 1735/1889/1711 f 1728/1879/1704 1729/1880/1705 1735/1889/1711 f 1730/1881/1706 1735/1889/1711 1729/1880/1705 f 1735/1889/1711 1730/1881/1706 1736/1890/1712 f 1736/1890/1712 1730/1881/1706 1731/1882/1707 f 1736/1890/1712 1731/1882/1707 1737/1891/1713 f 1737/1892/1713 1731/1884/1707 1738/1893/1714 f 1731/1884/1707 1732/1883/1708 1738/1893/1714 f 1738/1893/1714 1732/1883/1708 1733/1885/1709 f 1738/1893/1714 1733/1885/1709 1739/1894/1715 f 1733/1885/1709 1734/1887/1710 1739/1894/1715 f 1734/1887/1710 1740/1895/1716 1739/1894/1715 f 1734/1887/1710 1741/1896/1717 1740/1895/1716 f 1735/1889/1711 1741/1897/1717 1734/1888/1710 f 1735/1889/1711 1742/1898/1718 1741/1897/1717 f 1743/1899/1719 1742/1898/1718 1735/1889/1711 f 1743/1899/1719 1744/1900/1720 1742/1898/1718 f 1743/1899/1719 1745/1901/1721 1744/1900/1720 f 1743/1899/1719 1746/1902/1722 1745/1901/1721 f 1746/1902/1722 1743/1899/1719 1736/1890/1712 f 1736/1890/1712 1743/1899/1719 1735/1889/1711 f 1746/1902/1722 1736/1890/1712 1737/1891/1713 f 1747/1903/1723 1746/1904/1722 1737/1892/1713 f 1746/1904/1722 1747/1903/1723 1748/1905/1724 f 1747/1903/1723 1740/1895/1716 1748/1905/1724 f 1747/1903/1723 1739/1894/1715 1740/1895/1716 f 1739/1894/1715 1747/1903/1723 1738/1893/1714 f 1747/1903/1723 1737/1892/1713 1738/1893/1714 f 1740/1895/1716 1749/1906/1725 1748/1905/1724 f 1741/1896/1717 1749/1906/1725 1740/1895/1716 f 1741/1896/1717 1750/1907/1726 1749/1906/1725 f 1741/1897/1717 1751/1908/1727 1750/1909/1726 f 1742/1898/1718 1751/1908/1727 1741/1897/1717 f 1742/1898/1718 1744/1900/1720 1751/1908/1727 f 1744/1900/1720 1752/1910/1728 1751/1908/1727 f 1744/1900/1720 1753/1911/1729 1752/1910/1728 f 1744/1900/1720 1745/1901/1721 1753/1911/1729 f 1745/1901/1721 1754/1912/1730 1753/1911/1729 f 1745/1913/1721 1755/1914/1731 1754/1915/1730 f 1748/1905/1724 1755/1914/1731 1745/1913/1721 f 1749/1906/1725 1755/1914/1731 1748/1905/1724 f 1755/1914/1731 1749/1906/1725 1756/1916/1732 f 1757/1917/1733 1756/1916/1732 1749/1906/1725 f 1758/1918/1734 1756/1916/1732 1757/1917/1733 f 1759/1919/1735 1756/1916/1732 1758/1918/1734 f 1755/1914/1731 1756/1916/1732 1759/1919/1735 f 1754/1915/1730 1755/1914/1731 1759/1919/1735 f 1754/1915/1730 1759/1919/1735 1760/1920/1736 f 1760/1920/1736 1759/1919/1735 1761/1921/1737 f 1759/1919/1735 1758/1918/1734 1761/1921/1737 f 1761/1921/1737 1758/1918/1734 1762/1922/1738 f 1763/1923/1739 1762/1922/1738 1758/1918/1734 f 1763/1923/1739 1764/1924/1740 1762/1922/1738 f 1763/1925/1739 1765/1926/1741 1764/1927/1740 f 1766/1928/1742 1765/1926/1741 1763/1925/1739 f 1767/1929/1743 1765/1926/1741 1766/1928/1742 f 1767/1929/1743 1768/1930/1744 1765/1926/1741 f 1767/1929/1743 1769/1931/1745 1768/1930/1744 f 1767/1929/1743 1770/1932/1746 1769/1931/1745 f 1767/1929/1743 1771/1933/1747 1770/1932/1746 f 1767/1929/1743 1772/1934/1748 1771/1933/1747 f 1773/1935/1749 1772/1934/1748 1767/1929/1743 f 1773/1935/1749 1760/1936/1736 1772/1934/1748 f 1760/1936/1736 1773/1935/1749 1753/1911/1729 f 1753/1911/1729 1773/1935/1749 1752/1910/1728 f 1773/1935/1749 1766/1928/1742 1752/1910/1728 f 1773/1935/1749 1767/1929/1743 1766/1928/1742 f 1752/1910/1728 1766/1928/1742 1763/1925/1739 f 1752/1910/1728 1763/1925/1739 1757/1937/1733 f 1757/1917/1733 1763/1923/1739 1758/1918/1734 f 1750/1909/1726 1752/1910/1728 1757/1937/1733 f 1750/1909/1726 1751/1908/1727 1752/1910/1728 f 1749/1906/1725 1750/1907/1726 1757/1917/1733 f 1753/1911/1729 1754/1912/1730 1760/1936/1736 f 1760/1920/1736 1761/1921/1737 1772/1938/1748 f 1772/1938/1748 1761/1921/1737 1774/1939/1750 f 1761/1921/1737 1762/1922/1738 1774/1939/1750 f 1762/1922/1738 1775/1940/1751 1774/1939/1750 f 1764/1924/1740 1775/1940/1751 1762/1922/1738 f 1764/1924/1740 1776/1941/1752 1775/1940/1751 f 1764/1927/1740 1777/1942/1753 1776/1943/1752 f 1764/1927/1740 1768/1930/1744 1777/1942/1753 f 1765/1926/1741 1768/1930/1744 1764/1927/1740 f 1777/1942/1753 1768/1930/1744 1778/1944/1754 f 1769/1931/1745 1778/1944/1754 1768/1930/1744 f 1769/1931/1745 1779/1945/1755 1778/1944/1754 f 1769/1931/1745 1780/1946/1756 1779/1945/1755 f 1769/1931/1745 1770/1932/1746 1780/1946/1756 f 1770/1932/1746 1781/1947/1757 1780/1946/1756 f 1782/1948/1758 1781/1947/1757 1770/1932/1746 f 1782/1949/1758 1783/1950/1759 1781/1951/1757 f 1784/1952/1760 1783/1950/1759 1782/1949/1758 f 1784/1952/1760 1785/1953/1761 1783/1950/1759 f 1784/1952/1760 1786/1954/1762 1785/1953/1761 f 1787/1955/1763 1786/1954/1762 1784/1952/1760 f 1787/1955/1763 1788/1956/1764 1786/1954/1762 f 1776/1941/1752 1788/1956/1764 1787/1955/1763 f 1776/1943/1752 1789/1957/1765 1788/1958/1764 f 1777/1942/1753 1789/1957/1765 1776/1943/1752 f 1781/1947/1757 1796/1959/1766 1780/1946/1756 f 1781/1947/1757 1783/1960/1759 1797/1961/1767 f 1783/1960/1759 1798/1962/1768 1797/1961/1767 f 1805/1963/1769 1802/1964/1770 1806/1965/1771 f 1806/1965/1771 1802/1964/1770 1786/1966/1762 f 1788/1958/1764 1806/1965/1771 1786/1966/1762 f 1791/1967/1772 1809/1968/1773 1806/1965/1771 f 1792/1969/1774 1809/1968/1773 1791/1967/1772 f 1793/1970/1775 1809/1968/1773 1792/1969/1774 f 1793/1970/1775 1810/1971/1776 1809/1968/1773 f 1793/1970/1775 1811/1972/1777 1810/1971/1776 f 1794/1973/1778 1811/1972/1777 1793/1970/1775 f 1811/1972/1777 1797/1961/1767 1812/1974/1779 f 1812/1974/1779 1797/1961/1767 1798/1962/1768 f 1813/1975/1780 1798/1962/1768 1801/1976/1781 f 1810/1971/1776 1814/1977/1782 1805/1963/1769 f 1810/1971/1776 1812/1974/1779 1814/1977/1782 f 1811/1972/1777 1812/1974/1779 1810/1971/1776 f 1810/1971/1776 1805/1963/1769 1809/1968/1773 f 1789/1957/1765 1808/1978/1783 1788/1958/1764 f 1777/1942/1753 1778/1944/1754 1790/1979/1784 f 1776/1941/1752 1787/1955/1763 1775/1940/1751 f 1784/1952/1760 1775/1940/1751 1787/1955/1763 f 1774/1939/1750 1775/1940/1751 1784/1952/1760 f 1771/1980/1747 1774/1939/1750 1784/1952/1760 f 1772/1938/1748 1774/1939/1750 1771/1980/1747 f 1771/1980/1747 1784/1952/1760 1782/1949/1758 f 1771/1933/1747 1782/1948/1758 1770/1932/1746 f 1746/1904/1722 1748/1905/1724 1745/1913/1721 f 1297/1372/1300 1298/1373/1301 1226/1293/1228 f 1227/1294/1229 1297/1372/1300 1226/1293/1228 f 1231/1298/1233 1297/1372/1300 1227/1294/1229 f 1229/1296/1231 1231/1298/1233 1227/1294/1229 g mesh2.002_mesh2-geometry_FrontColorNoCullingID__03_-_Default1noCulli usemtl FrontColorNoCullingID__03_-_Default1noCulli f 1153/1981/1155 1155/1982/1159 1154/1983/1156 f 1156/1984/1157 1155/1985/1159 1153/1986/1155 f 1386/1987/1389 1156/1988/1157 1153/1989/1155 f 1386/1990/1389 1153/1991/1155 1387/1992/1390 f 1389/1993/1392 1151/1994/1153 1390/1995/1393 f 1151/1996/1153 1150/1997/1152 1390/1998/1393 f 1150/1999/1152 1392/2000/1396 1391/2001/1394 f 1394/2002/1397 1395/2003/1624 1393/2004/1395 f 1394/2005/1397 1396/2006/1398 1395/2007/1624 f 1155/2008/1159 1396/2009/1398 1394/2010/1397 f 1494/2011/1496 1496/2012/1499 1495/2013/1497 f 1505/2014/1525 1504/2015/1506 1490/2016/1492 f 1505/2017/1525 1506/2018/1522 1504/2019/1506 f 1505/2020/1525 1507/2021/1509 1506/2022/1522 f 1508/2023/1507 1507/2024/1509 1505/2025/1525 f 1512/2026/1512 1513/2027/1785 1511/2028/1511 f 1492/2029/1494 1513/2030/1785 1512/2031/1512 f 1492/2032/1494 1493/2033/1495 1513/2034/1785 f 1493/2035/1495 1495/2036/1497 1513/2037/1785 f 1513/2038/1785 1495/2039/1497 1496/2040/1499 f 1513/2041/1785 1496/2042/1499 1511/2043/1511 f 1514/2044/1513 1515/2045/1514 1516/2046/1515 f 1518/2047/1786 1517/2048/1516 1515/2049/1514 f 1519/2050/1518 1517/2051/1516 1518/2052/1786 f 1520/2053/1517 1521/2054/1524 1517/2055/1516 f 1521/2056/1524 1520/2057/1517 1522/2058/1519 f 1522/2059/1519 1520/2060/1517 1519/2061/1518 f 1501/2062/1503 1519/2063/1518 1524/2064/1787 f 1519/2065/1518 1518/2066/1786 1524/2067/1787 f 1500/2068/1502 1524/2069/1787 1518/2070/1786 f 1500/2071/1502 1501/2072/1503 1524/2073/1787 f 1525/2074/1788 1500/2075/1502 1518/2076/1786 f 1497/2077/1498 1500/2078/1502 1525/2079/1788 f 1525/2080/1788 1515/2081/1514 1497/2082/1498 f 1525/2083/1788 1518/2084/1786 1515/2085/1514 f 1503/2086/1505 1526/2087/1521 1523/2088/1520 f 1506/2089/1522 1526/2090/1521 1504/2091/1506 f 1506/2092/1522 1523/2093/1520 1526/2094/1521 f 1509/2095/1508 1522/2096/1519 1523/2097/1520 f 1514/2098/1513 1521/2099/1524 1527/2100/1523 f 1516/2101/1515 1517/2102/1516 1521/2103/1524 f 1527/2104/1523 1521/2105/1524 1522/2106/1519 f 1492/2107/1494 1512/2108/1512 1508/2109/1507 f 1492/2110/1494 1508/2111/1507 1491/2112/1493 f 1491/2113/1493 1508/2114/1507 1505/2115/1525 f 1574/2116/1572 1583/2117/1582 1582/2118/1580 f 1584/2119/1581 1585/2120/1598 1583/2121/1582 f 1586/2122/1584 1585/2123/1598 1584/2124/1581 f 1586/2125/1584 1587/2126/1597 1585/2127/1598 f 1586/2128/1584 1588/2129/1789 1587/2130/1597 f 1586/2131/1584 1589/2132/1583 1588/2133/1789 f 1592/2134/1587 1593/2135/1588 1594/2136/1790 f 1593/2137/1588 1595/2138/1590 1594/2139/1790 f 1597/2140/1591 1598/2141/1791 1595/2142/1590 f 1599/2143/1792 1598/2144/1791 1597/2145/1591 f 1599/2146/1792 1600/2147/1793 1598/2148/1791 f 1601/2149/1794 1600/2150/1793 1599/2151/1792 f 1601/2152/1794 1602/2153/1594 1600/2154/1793 f 1603/2155/1592 1602/2156/1594 1601/2157/1794 f 1588/2158/1789 1604/2159/1593 1605/2160/1595 f 1588/2161/1789 1606/2162/1596 1604/2163/1593 f 1589/2164/1583 1606/2165/1596 1588/2166/1789 f 1590/2167/1585 1604/2168/1593 1606/2169/1596 f 1591/2170/1586 1607/2171/1795 1602/2172/1594 f 1591/2173/1586 1592/2174/1587 1607/2175/1795 f 1607/2176/1795 1592/2177/1587 1608/2178/1796 f 1592/2179/1587 1594/2180/1790 1608/2181/1796 f 1595/2182/1590 1608/2183/1796 1594/2184/1790 f 1595/2185/1590 1600/2186/1793 1608/2187/1796 f 1600/2188/1793 1595/2189/1590 1598/2190/1791 f 1602/2191/1594 1608/2192/1796 1600/2193/1793 f 1607/2194/1795 1608/2195/1796 1602/2196/1594 f 1587/2197/1597 1588/2198/1789 1605/2199/1595 f 1603/2200/1592 1599/2201/1792 1610/2202/1600 f 1603/2203/1592 1601/2204/1794 1599/2205/1792 f 1610/2206/1600 1599/2207/1792 1597/2208/1591 f 1611/2209/1601 1597/2210/1591 1596/2211/1589 f 1612/2212/1797 1611/2213/1601 1596/2214/1589 f 1613/2215/1602 1611/2216/1601 1612/2217/1797 f 1583/2218/1582 1585/2219/1598 1613/2220/1602 f 1583/2221/1582 1613/2222/1602 1612/2223/1797 f 1583/2224/1582 1612/2225/1797 1582/2226/1580 f 1612/2227/1797 1614/2228/1603 1582/2229/1580 f 1612/2230/1797 1596/2231/1589 1614/2232/1603 f 1614/2233/1603 1596/2234/1589 1581/2235/1579 f 1386/2236/1389 1624/2237/1613 1623/2238/1612 f 1386/2239/1389 1387/2240/1390 1624/2241/1613 f 1388/2242/1391 1389/2243/1392 1625/2244/1614 f 1389/2245/1392 1627/2246/1617 1626/2247/1615 f 1389/2248/1392 1390/2249/1393 1627/2250/1617 f 1627/2251/1617 1390/2252/1393 1628/2253/1616 f 1391/2254/1394 1628/2255/1616 1390/2256/1393 f 1392/2257/1396 1629/2258/1798 1628/2259/1616 f 1392/2260/1396 1630/2261/1799 1629/2262/1798 f 1631/2263/1623 1630/2264/1799 1392/2265/1396 f 1632/2266/1619 1630/2267/1799 1631/2268/1623 f 1632/2269/1619 1629/2270/1798 1630/2271/1799 f 1633/2272/1800 1629/2273/1798 1632/2274/1619 f 1626/2275/1615 1629/2276/1798 1633/2277/1800 f 1626/2278/1615 1628/2279/1616 1629/2280/1798 f 1626/2281/1615 1633/2282/1800 1634/2283/1618 f 1634/2284/1618 1633/2285/1800 1632/2286/1619 f 1632/2287/1619 1631/2288/1623 1637/2289/1622 f 1393/2290/1395 1395/2291/1624 1637/2292/1622 f 1623/2293/1612 1624/2294/1613 1640/2295/1627 f 1624/2296/1613 1625/2297/1614 1640/2298/1627 f 1640/2299/1627 1625/2300/1614 1635/2301/1620 f 1155/2302/1159 1394/2303/1397 1154/2304/1156 f 1695/2305/1682 1696/2306/1684 1694/2307/1681 f 1701/2308/1688 1699/2309/1686 1700/2310/1687 f 1703/2311/1702 1702/2312/1689 1701/2313/1688 f 1704/2314/1801 1702/2315/1689 1703/2316/1702 f 1704/2317/1801 1705/2318/1691 1702/2319/1689 f 1706/2320/1692 1705/2321/1691 1704/2322/1801 f 1710/2323/1695 1711/2324/1802 1709/2325/1694 f 1692/2326/1679 1711/2327/1802 1710/2328/1695 f 1692/2329/1679 1693/2330/1680 1711/2331/1802 f 1693/2332/1680 1712/2333/1696 1711/2334/1802 f 1694/2335/1681 1713/2336/1697 1712/2337/1696 f 1696/2338/1684 1714/2339/1803 1713/2340/1697 f 1715/2341/1804 1714/2342/1803 1696/2343/1684 f 1716/2344/1805 1714/2345/1803 1715/2346/1804 f 1716/2347/1805 1717/2348/1806 1714/2349/1803 f 1718/2350/1807 1717/2351/1806 1716/2352/1805 f 1719/2353/1808 1717/2354/1806 1718/2355/1807 f 1719/2356/1808 1720/2357/1809 1717/2358/1806 f 1721/2359/1700 1720/2360/1809 1719/2361/1808 f 1722/2362/1699 1720/2363/1809 1721/2364/1700 f 1723/2365/1698 1720/2366/1809 1722/2367/1699 f 1723/2368/1698 1724/2369/1810 1720/2370/1809 f 1723/2371/1698 1714/2372/1803 1724/2373/1810 f 1723/2374/1698 1713/2375/1697 1714/2376/1803 f 1709/2377/1694 1713/2378/1697 1723/2379/1698 f 1711/2380/1802 1713/2381/1697 1709/2382/1694 f 1711/2383/1802 1712/2384/1696 1713/2385/1697 f 1705/2386/1691 1721/2387/1700 1702/2388/1689 f 1721/2389/1700 1718/2390/1807 1702/2391/1689 f 1721/2392/1700 1719/2393/1808 1718/2394/1807 f 1702/2395/1689 1718/2396/1807 1699/2397/1686 f 1699/2398/1686 1718/2399/1807 1725/2400/1811 f 1718/2401/1807 1716/2402/1805 1725/2403/1811 f 1716/2404/1805 1699/2405/1686 1725/2406/1811 f 1699/2405/1686 1716/2404/1805 1698/2407/1685 f 1715/2408/1804 1698/2409/1685 1716/2410/1805 f 1698/2409/1685 1715/2408/1804 1696/2411/1684 f 1724/2412/1810 1714/2413/1803 1717/2414/1806 f 1724/2415/1810 1717/2416/1806 1720/2417/1809 f 1692/2418/1679 1710/2419/1695 1707/2420/1690 f 1692/2421/1679 1707/2422/1690 1691/2423/1678 f 1691/2424/1678 1707/2425/1690 1726/2426/1703 f 1726/2427/1703 1707/2428/1690 1706/2429/1692 f 1726/2430/1703 1706/2431/1692 1704/2432/1801 f 1726/2433/1703 1704/2434/1801 1727/2435/1701 f 1704/2436/1801 1703/2437/1702 1727/2438/1701 f 1726/2439/1703 1727/2440/1701 1690/2441/1677 f 1790/2442/1784 1789/2443/1765 1777/2444/1753 f 1790/2445/1784 1791/2446/1772 1789/2447/1765 f 1790/2448/1784 1792/2449/1774 1791/2450/1772 f 1790/2451/1784 1793/2452/1775 1792/2453/1774 f 1778/2454/1754 1793/2455/1775 1790/2456/1784 f 1779/2457/1755 1793/2458/1775 1778/2459/1754 f 1779/2460/1755 1794/2461/1778 1793/2462/1775 f 1779/2463/1755 1795/2464/1812 1794/2465/1778 f 1779/2466/1755 1780/2467/1756 1795/2468/1812 f 1780/2469/1756 1796/2470/1766 1795/2471/1812 f 1781/2472/1757 1797/2473/1767 1796/2474/1766 f 1799/2475/1813 1798/2476/1768 1783/2477/1759 f 1800/2478/1814 1798/2479/1768 1799/2480/1813 f 1800/2481/1814 1801/2482/1781 1798/2483/1768 f 1802/2484/1770 1801/2485/1781 1800/2486/1814 f 1803/2487/1815 1801/2488/1781 1802/2489/1770 f 1803/2490/1815 1804/2491/1816 1801/2492/1781 f 1804/2493/1816 1803/2494/1815 1805/2495/1769 f 1805/2496/1769 1803/2497/1815 1802/2498/1770 f 1786/2499/1762 1802/2500/1770 1807/2501/1817 f 1802/2502/1770 1800/2503/1814 1807/2504/1817 f 1785/2505/1761 1807/2506/1817 1800/2507/1814 f 1785/2508/1761 1786/2509/1762 1807/2510/1817 f 1799/2511/1813 1785/2512/1761 1800/2513/1814 f 1783/2514/1759 1785/2515/1761 1799/2516/1813 f 1808/2517/1783 1806/2518/1771 1788/2519/1764 f 1791/2520/1772 1806/2521/1771 1808/2522/1783 f 1794/2523/1778 1795/2524/1812 1811/2525/1777 f 1795/2526/1812 1797/2527/1767 1811/2528/1777 f 1795/2529/1812 1796/2530/1766 1797/2531/1767 f 1812/2532/1779 1798/2533/1768 1813/2534/1780 f 1813/2535/1780 1801/2536/1781 1804/2537/1816 f 1812/2538/1779 1813/2539/1780 1804/2540/1816 f 1812/2541/1779 1804/2542/1816 1814/2543/1782 f 1814/2544/1782 1804/2545/1816 1805/2546/1769 f 1809/2547/1773 1805/2548/1769 1806/2549/1771 f 1791/2550/1772 1808/2551/1783 1789/2552/1765 o mesh3.002_mesh3-geometry v 2.759502 49.854477 13.128083 0.610889 0.914906 0.998547 v 6.019373 46.941994 13.872128 0.294332 0.952049 0.191735 v 6.208828 49.751911 15.105515 0.995205 0.755600 0.275695 v 2.987800 47.326714 12.133979 0.494463 0.783713 0.840819 v 2.328891 46.497444 8.571159 0.697930 0.024104 0.301533 v 2.565727 41.120670 11.013445 0.855764 0.888996 0.654451 v 1.703277 40.804485 8.107265 0.922431 0.716962 0.489730 v 2.407414 34.878834 10.433027 0.873954 0.583165 0.424913 v 1.683869 34.863800 7.561617 0.292879 0.990720 0.043769 v 2.881851 25.269854 9.630214 0.809277 0.237662 0.048037 v 2.076193 25.209862 7.527225 0.803008 0.166509 0.193283 v 2.590421 16.360258 9.532231 0.039826 0.366508 0.882939 v 2.075233 16.283272 7.248014 0.917299 0.670688 0.991837 v 1.457615 12.317620 6.806032 0.005036 0.827403 0.955481 v 2.183778 12.200059 9.749415 0.802768 0.147969 0.911841 v 0.519066 10.028041 6.607589 0.724177 0.401579 0.704054 v 1.989855 10.083605 10.110043 0.034189 0.427800 0.468024 v 1.858750 8.108273 10.453289 0.628906 0.148223 0.559527 v 0.383353 7.641015 6.113867 0.810810 0.256453 0.955232 v 0.786078 5.480722 9.716446 0.685029 0.780600 0.938724 v 1.146226 5.862278 5.172698 0.252116 0.734548 0.508363 v 1.145904 4.013375 8.844398 0.580036 0.371752 0.729787 v 5.590180 5.758899 4.311114 0.334127 0.576115 0.493153 v 7.532145 3.864816 7.607518 0.035686 0.585664 0.223689 v 0.791675 -0.038665 14.426815 0.479161 0.683115 0.117604 v 9.746930 -0.248991 11.626535 0.210203 0.094883 0.597967 v 10.006691 -0.246306 16.144320 0.205761 0.919310 0.290142 v 2.772766 -0.074957 19.153418 0.879710 0.983004 0.044034 v 7.743589 -0.184053 21.606955 0.345496 0.459035 0.010952 v 7.728604 1.505342 21.686867 0.286417 0.820035 0.762862 v 9.948030 1.575564 16.233982 0.535375 0.360475 0.719213 v 9.829227 1.794742 11.691698 0.296256 0.918395 0.951633 v 8.305052 5.305810 8.259003 0.140504 0.445239 0.353857 v 7.014859 7.486745 4.826875 0.707171 0.676150 0.173060 v 4.399819 7.568836 1.016162 0.709137 0.332095 0.462542 v 7.338443 9.815405 5.676227 0.466378 0.153128 0.534602 v 4.541306 9.893284 1.718282 0.698530 0.407492 0.812536 v 1.978963 9.973179 2.068274 0.767497 0.128427 0.240552 v 4.163114 12.527092 3.584813 0.801281 0.350184 0.350861 v 5.327218 12.472589 3.558645 0.309641 0.921989 0.350536 v 4.463144 15.991857 4.432394 0.335383 0.891011 0.486632 v 5.804928 15.932101 4.774343 0.878199 0.868999 0.750970 v 5.334484 24.830772 3.496370 0.709768 0.988331 0.049903 v 7.496985 24.774920 4.623347 0.850331 0.756393 0.228899 v 6.244608 34.643181 2.100222 0.439109 0.496072 0.790856 v 9.492472 34.759811 3.703729 0.475383 0.709836 0.147401 v 10.545580 34.805424 7.786570 0.510694 0.568867 0.060146 v 10.017311 39.961830 3.538652 0.970805 0.758403 0.816461 v 11.152124 40.558701 8.411897 0.315965 0.923834 0.064170 v 11.042967 46.032688 8.902078 0.782268 0.566548 0.726994 v 9.844727 43.826683 4.268328 0.827798 0.497589 0.889232 v 6.395250 43.754665 2.957949 0.642497 0.392724 0.718873 v 6.503910 39.419174 1.987234 0.197463 0.504863 0.594217 v 2.873647 40.279263 3.684772 0.570794 0.783222 0.160220 v 3.458283 44.184204 4.224358 0.603012 0.337354 0.275038 v 3.903295 47.593513 5.721985 0.172890 0.362752 0.736634 v 6.415723 46.970875 4.045767 0.522329 0.359833 0.177150 v 3.386899 49.495728 6.299032 0.945979 0.086720 0.918342 v 6.565013 49.172691 5.072248 0.194303 0.655719 0.187583 v 2.990786 51.427696 6.597550 0.488092 0.376475 0.788132 v 6.733424 51.153488 5.282279 0.886981 0.706746 0.302370 v 7.019641 54.688152 5.131136 0.999897 0.501790 0.163877 v 9.321001 51.069496 6.844373 0.986228 0.939132 0.318111 v 10.233814 54.560951 6.622237 0.279388 0.851401 0.588729 v 7.205667 57.407177 4.603292 0.962754 0.244956 0.716846 v 11.190430 57.161182 6.116937 0.868885 0.631061 0.904601 v 8.243504 65.121925 2.325400 0.184822 0.966532 0.621857 v 12.824553 64.835548 3.943112 0.631983 0.870640 0.657569 v 8.862740 73.395996 0.761540 0.976085 0.850485 0.864274 v 13.799772 73.273132 2.537985 0.403752 0.028706 0.846564 v 9.221218 81.724854 0.122624 0.707812 0.352495 0.659804 v 14.519484 81.585533 1.940349 0.605660 0.491956 0.937106 v 9.581932 89.557388 -0.092193 0.529061 0.282725 0.944011 v 14.265760 89.518379 1.754415 0.425182 0.313896 0.511630 v 16.071438 82.014763 8.063378 0.763747 0.436057 0.862247 v 15.760662 89.901627 7.534092 0.924322 0.769244 0.514202 v 14.088310 82.594658 13.659935 0.253407 0.742883 0.419889 v 13.686056 90.410606 13.165543 0.708986 0.851574 0.906136 v 8.653517 83.064201 15.680420 0.606645 0.362340 0.235157 v 8.814587 90.738426 15.012455 0.093210 0.770427 0.048838 v 3.410028 83.145866 13.212968 0.734167 0.645380 0.640340 v 3.959931 90.743889 12.639886 0.315348 0.777579 0.712000 v 2.150623 82.733429 7.481436 0.058090 0.691975 0.421455 v 1.796360 74.394081 7.998072 0.343712 0.728373 0.300978 v 3.451560 73.807373 2.105492 0.233054 0.254149 0.019231 v 3.288513 65.327728 3.543009 0.256412 0.596201 0.912268 v 3.838031 82.136917 1.493255 0.509411 0.436685 0.385796 v 4.539639 89.851662 1.228757 0.627012 0.453686 0.785451 v 2.780801 90.346344 6.831809 0.971218 0.511005 0.668403 v 2.772402 57.595840 5.765893 0.310869 0.458297 0.013992 v 2.774798 54.946072 6.311018 0.007540 0.118064 0.312390 v 1.454790 54.583984 9.746351 0.266844 0.553986 0.704169 v 1.600554 51.902779 9.631261 0.265902 0.307257 0.248902 v 1.940237 49.618992 9.229369 0.773381 0.281969 0.935634 v 2.642264 34.969627 3.757303 0.658758 0.396318 0.015377 v 3.041520 25.025934 4.495539 0.692294 0.249495 0.648749 v 3.221356 16.079327 4.697612 0.720728 0.919390 0.021903 v 2.993927 12.581832 3.611092 0.384649 0.580326 0.076792 v 1.034641 7.647121 1.669261 0.182052 0.357952 0.555509 v 1.766025 6.164786 1.930543 0.006240 0.664525 0.747671 v 3.973812 6.113428 1.502425 0.062122 0.565786 0.162441 v 3.663531 3.371083 2.156626 0.361045 0.350633 0.358507 v 4.569293 3.233161 4.482197 0.836545 0.749671 0.704016 v 2.171172 3.288948 4.946483 0.304259 0.046465 0.012576 v 2.196860 3.405201 2.440599 0.535388 0.594507 0.447226 v 2.469864 -0.099404 2.800305 0.527773 0.056667 0.239659 v 3.612533 -0.125984 2.579475 0.404037 0.868056 0.732683 v 4.327977 -0.138704 4.484915 0.376022 0.732366 0.148607 v 2.478235 -0.095676 4.842392 0.861784 0.423392 0.068731 v 2.515527 51.994511 13.501719 0.231292 0.365362 0.893725 v 6.383063 51.872520 15.479547 0.000718 0.468611 0.503977 v 9.604647 51.600365 13.781809 0.894650 0.995758 0.811563 v 9.629385 49.470112 13.395726 0.038878 0.493451 0.156551 v 9.795408 46.658234 12.382970 0.793308 0.648536 0.108579 v 5.770966 40.964504 12.544323 0.551246 0.816300 0.328633 v 5.452665 34.647171 11.814260 0.233630 0.304728 0.301372 v 4.944695 25.214718 11.235393 0.875154 0.790617 0.028657 v 4.538348 16.333824 11.195582 0.258687 0.375670 0.523620 v 4.353104 12.184816 11.629550 0.315877 0.010230 0.345140 v 4.470004 10.277233 12.110786 0.542074 0.488697 0.492106 v 5.001893 7.957570 12.806405 0.108504 0.634354 0.576346 v 1.845311 6.500121 11.636456 0.753663 0.802721 0.954729 v 1.762262 3.636111 14.914524 0.882792 0.946162 0.489837 v 0.731384 2.008389 14.521910 0.706017 0.039588 0.669260 v 2.814166 1.744587 19.225101 0.877649 0.021676 0.940964 v 5.622376 1.554804 22.344463 0.560744 0.716434 0.094309 v 5.610464 -0.133966 22.269375 0.000980 0.501389 0.442110 v 5.552069 2.339622 21.986986 0.632899 0.409190 0.337480 v 3.063804 2.404200 19.254528 0.241953 0.304839 0.614377 v 5.819885 4.301875 16.699102 0.220855 0.047213 0.083628 v 5.355649 6.186059 14.394445 0.556822 0.483284 0.012638 v 9.592595 3.403557 12.147698 0.597805 0.335287 0.019134 v 8.494408 5.905193 10.388557 0.538484 0.966955 0.093549 v 7.337930 7.962975 9.485003 0.060338 0.018039 0.682324 v 6.780910 9.928238 9.493511 0.548138 0.583161 0.108462 v 6.316817 12.006266 9.660254 0.887520 0.655054 0.268679 v 7.073488 12.284524 6.662208 0.966689 0.157088 0.903460 v 7.278625 15.986759 7.402623 0.401760 0.173841 0.290790 v 8.781808 24.831783 7.708075 0.919746 0.347958 0.806530 v 9.352629 34.506268 10.685962 0.717344 0.416592 0.135385 v 9.974279 40.883560 11.298318 0.335553 0.448885 0.494824 v 10.831039 49.117245 9.573011 0.189374 0.490850 0.290091 v 9.732194 46.843819 5.254848 0.481902 0.616443 0.842788 v 9.456247 49.062656 6.521980 0.337726 0.247786 0.191580 v 10.760628 51.395779 9.994949 0.736871 0.140591 0.811804 v 11.483105 54.028931 10.144659 0.983347 0.433026 0.046587 v 12.315071 57.583195 10.047595 0.222423 0.994602 0.093617 v 14.184769 65.390465 9.415774 0.128410 0.968039 0.656553 v 15.318041 73.695953 8.562652 0.050743 0.700762 0.885141 v 13.375343 74.262077 14.022049 0.386532 0.089228 0.090515 v 8.302660 74.718063 16.118711 0.321280 0.503941 0.132274 v 3.032471 74.796043 13.589769 0.347151 0.658175 0.483637 v 1.821697 66.028664 8.898038 0.567480 0.651571 0.087336 v 1.399701 58.146923 9.593850 0.905218 0.703411 0.976011 v 2.363439 55.176254 13.949736 0.281129 0.071890 0.185166 v 2.458019 53.864346 13.848638 0.548459 0.784538 0.892860 v 6.535645 54.029308 15.764713 0.477804 0.252172 0.210019 v 6.611987 55.141670 15.803013 0.221579 0.012953 0.878258 v 6.790038 58.388351 16.000505 0.167727 0.830286 0.978379 v 2.473841 58.398788 14.126920 0.476411 0.234748 0.023970 v 2.920890 66.381096 13.840610 0.720021 0.949208 0.969119 v 7.736989 66.316612 16.202757 0.328582 0.766792 0.810179 v 12.460232 65.888741 14.240856 0.528680 0.188910 0.185160 v 10.893349 57.964069 14.478023 0.204558 0.085444 0.841378 v 10.205713 54.757774 14.270082 0.306456 0.421048 0.238422 v 9.874107 53.440407 14.145267 0.439299 0.537411 0.350267 v 7.896560 24.987663 9.770073 0.744554 0.148270 0.786483 v 6.353553 16.145924 9.646544 0.525718 0.191595 0.693085 v 9.664277 2.247586 16.366898 0.324511 0.360573 0.763208 v 7.645839 2.290448 21.331627 0.321683 0.827166 0.879862 vt 0.361417 0.289692 vt 0.387721 0.278085 vt 0.388185 0.291526 vt 0.359763 0.275100 vt 0.329997 0.267715 vt 0.360000 0.236762 vt 0.332180 0.232355 vt 0.360243 0.198917 vt 0.334420 0.198917 vt 0.364335 0.142241 vt 0.344672 0.142241 vt 0.369350 0.087159 vt 0.349500 0.087159 vt 0.602125 0.180987 vt 0.626654 0.179310 vt 0.613056 0.191636 vt 0.619411 0.162101 vt 0.593353 0.171914 vt 0.613112 0.147270 vt 0.604672 0.126774 vt 0.578523 0.158172 vt 0.579047 0.116734 vt 0.563233 0.153344 vt 0.567046 0.110913 vt 0.658022 0.285449 vt 0.623045 0.247692 vt 0.658175 0.251969 vt 0.622845 0.291675 vt 0.587916 0.243415 vt 0.587668 0.297900 vt 0.560591 0.296034 vt 0.550585 0.244231 vt 0.528614 0.283135 vt 0.679042 0.026882 vt 0.651725 0.014087 vt 0.653994 0.005531 vt 0.673855 0.036735 vt 0.704631 0.065625 vt 0.693939 0.074569 vt 0.709031 0.107965 vt 0.697042 0.114067 vt 0.716795 0.147781 vt 0.703227 0.153005 vt 0.724197 0.181162 vt 0.691096 0.164918 vt 0.709011 0.194668 vt 0.724476 0.209488 vt 0.700193 0.211352 vt 0.695845 0.203814 vt 0.691069 0.217444 vt 0.681385 0.205398 vt 0.478183 0.142241 vt 0.445347 0.087159 vt 0.470812 0.087159 vt 0.454679 0.142242 vt 0.490898 0.197293 vt 0.452678 0.142241 vt 0.467984 0.198917 vt 0.441022 0.198917 vt 0.471667 0.227859 vt 0.443950 0.232144 vt 0.446724 0.266467 vt 0.471871 0.253406 vt 0.490898 0.250922 vt 0.490898 0.226313 vt 0.304832 0.228244 vt 0.285437 0.227820 vt 0.285437 0.198806 vt 0.304957 0.254859 vt 0.285437 0.252317 vt 0.306819 0.270295 vt 0.285437 0.270283 vt 0.309032 0.282079 vt 0.285437 0.280014 vt 0.310837 0.291567 vt 0.285437 0.289469 vt 0.285437 0.303706 vt 0.490898 0.302315 vt 0.465212 0.290684 vt 0.490898 0.288144 vt 0.466804 0.302854 vt 0.490898 0.319673 vt 0.468599 0.319673 vt 0.490898 0.348037 vt 0.467191 0.348037 vt 0.490898 0.372773 vt 0.467591 0.373180 vt 0.490898 0.396072 vt 0.467959 0.396072 vt 0.490898 0.432228 vt 0.468531 0.432228 vt 0.440927 0.396072 vt 0.440336 0.432228 vt 0.412093 0.396072 vt 0.411463 0.432228 vt 0.389465 0.396072 vt 0.389304 0.432228 vt 0.366309 0.396072 vt 0.366757 0.432228 vt 0.337678 0.396072 vt 0.337411 0.372773 vt 0.310940 0.373180 vt 0.311334 0.348037 vt 0.285437 0.348037 vt 0.285437 0.372773 vt 0.310579 0.396072 vt 0.285437 0.396072 vt 0.310016 0.432228 vt 0.285437 0.432228 vt 0.338095 0.432228 vt 0.285437 0.319673 vt 0.308769 0.319673 vt 0.309969 0.303762 vt 0.333643 0.306497 vt 0.334291 0.294380 vt 0.331877 0.285681 vt 0.308274 0.198917 vt 0.298474 0.142241 vt 0.318593 0.142241 vt 0.323632 0.087159 vt 0.304117 0.087159 vt 0.695835 0.230378 vt 0.705684 0.220046 vt 0.569629 0.198493 vt 0.580783 0.205676 vt 0.548896 0.186666 vt 0.544333 0.178664 vt 0.739906 0.199653 vt 0.728952 0.174969 vt 0.748397 0.193711 vt 0.745367 0.162971 vt 0.728728 0.143492 vt 0.670512 0.255921 vt 0.670392 0.282198 vt 0.532108 0.164989 vt 0.549145 0.146223 vt 0.502808 0.135507 vt 0.760078 0.176503 vt 0.775289 0.134084 vt 0.786210 0.144110 vt 0.762916 0.119564 vt 0.704713 0.259481 vt 0.704623 0.279249 vt 0.515688 0.121255 vt 0.720007 0.263572 vt 0.719951 0.275784 vt 0.597698 0.207154 vt 0.362095 0.298516 vt 0.388380 0.299851 vt 0.414803 0.297962 vt 0.415070 0.288953 vt 0.417628 0.274396 vt 0.387641 0.238278 vt 0.387562 0.198917 vt 0.387655 0.142241 vt 0.386459 0.087159 vt 0.639240 0.174731 vt 0.638952 0.152685 vt 0.639181 0.137383 vt 0.637715 0.108106 vt 0.601214 0.107322 vt 0.597756 0.087870 vt 0.583392 0.081664 vt 0.571315 0.068711 vt 0.603188 0.039185 vt 0.593496 0.029313 vt 0.625740 0.014050 vt 0.621503 0.005386 vt 0.528717 0.260305 vt 0.627991 0.024290 vt 0.610781 0.045341 vt 0.636878 0.078460 vt 0.637296 0.093110 vt 0.676089 0.086106 vt 0.675362 0.104865 vt 0.672673 0.123150 vt 0.663429 0.144840 vt 0.659778 0.158444 vt 0.675889 0.179839 vt 0.665696 0.190842 vt 0.423091 0.087159 vt 0.430049 0.142241 vt 0.414066 0.198917 vt 0.415968 0.237033 vt 0.444665 0.284602 vt 0.470241 0.269190 vt 0.467269 0.281070 vt 0.490898 0.269040 vt 0.490898 0.278756 vt 0.442333 0.293558 vt 0.443291 0.305957 vt 0.443033 0.319673 vt 0.441710 0.348037 vt 0.441306 0.372773 vt 0.412498 0.372777 vt 0.389568 0.372773 vt 0.366021 0.372777 vt 0.337126 0.348037 vt 0.334369 0.319673 vt 0.363089 0.308422 vt 0.362592 0.304452 vt 0.388516 0.307060 vt 0.388655 0.309912 vt 0.388945 0.319673 vt 0.364916 0.319673 vt 0.365715 0.348037 vt 0.389678 0.348037 vt 0.412929 0.348037 vt 0.412512 0.319673 vt 0.414057 0.308206 vt 0.414421 0.303947 vt 0.408038 0.142241 vt 0.404498 0.087159 vt 0.652291 0.179172 vt 0.665640 0.047109 vt 0.650395 0.022355 vn -0.789697 -0.248268 0.560961 vn -0.134617 -0.298624 0.944823 vn -0.030488 -0.260292 0.965026 vn -0.810999 -0.168523 0.560198 vn -0.999939 0.002441 0.009033 vn -0.737602 -0.053163 0.673116 vn -0.997314 0.044618 0.057619 vn -0.820704 -0.057070 0.568468 vn -0.999268 -0.023103 -0.029908 vn -0.792566 -0.031983 0.608936 vn -0.997528 -0.009949 0.069460 vn -0.863155 0.059114 0.501419 vn -0.977599 0.082858 -0.193365 vn -0.969695 0.243416 -0.020112 vn -0.822077 0.174444 0.541948 vn -0.964293 0.262764 0.032929 vn -0.765526 0.162114 0.622608 vn -0.811365 0.221351 0.540971 vn -0.996826 -0.064699 0.045961 vn -0.984436 0.104831 0.140904 vn -0.892727 -0.448958 -0.037965 vn -0.691580 -0.617725 -0.374279 vn 0.752037 -0.589312 -0.295083 vn 0.424268 -0.586963 -0.689505 vn -0.663564 -0.740593 -0.105686 vn 0.774590 -0.520249 -0.359600 vn 0.673910 -0.718528 0.171758 vn -0.022884 -0.999736 0.001915 vn -0.022885 -0.999736 0.001912 vn 0.673330 0.197851 0.712333 vn 0.427534 -0.609668 0.667409 vn 0.970611 0.165685 0.174413 vn 0.970885 0.085177 -0.223823 vn 0.929075 0.077486 -0.361583 vn 0.914212 -0.114933 -0.388501 vn 0.468093 -0.063417 -0.881375 vn 0.972503 0.135899 -0.189001 vn 0.439497 0.378643 -0.814508 vn -0.397076 0.473190 -0.786370 vn -0.020753 0.432691 -0.901273 vn 0.455611 0.283944 -0.843654 vn 0.012818 0.148564 -0.988800 vn 0.643117 -0.001831 -0.765740 vn -0.045198 -0.104923 -0.993439 vn 0.759697 -0.171209 -0.627308 vn 0.013611 -0.085879 -0.996185 vn 0.704489 -0.132145 -0.697256 vn 0.986694 -0.149876 -0.062624 vn 0.800439 0.045656 -0.597644 vn 0.987426 -0.066591 0.143315 vn 0.998810 0.037660 0.030183 vn 0.643300 0.227119 -0.731132 vn -0.019684 0.287484 -0.957579 vn 0.009980 0.087069 -0.996124 vn -0.792749 0.089297 -0.602954 vn -0.672353 0.231391 -0.703116 vn -0.618580 0.223518 -0.753227 vn 0.016968 0.357158 -0.933866 vn -0.643178 0.081790 -0.761315 vn 0.079165 0.219398 -0.972411 vn -0.673574 -0.028382 -0.738548 vn 0.104587 0.022645 -0.994232 vn 0.081149 -0.128941 -0.988311 vn 0.734489 -0.036531 -0.677602 vn 0.700125 -0.275307 -0.658773 vn 0.003601 -0.248909 -0.968505 vn 0.619892 -0.348155 -0.703207 vn 0.035157 -0.241646 -0.969695 vn 0.716056 -0.258827 -0.648244 vn 0.040712 -0.132878 -0.990265 vn 0.734153 -0.147435 -0.662740 vn 0.039521 -0.054262 -0.997742 vn 0.740104 -0.061220 -0.669668 vn 0.151463 -0.022828 -0.988189 vn 0.849574 0.013398 -0.527268 vn 0.998627 -0.022004 0.047304 vn 0.988159 0.052065 0.144139 vn 0.716483 0.033418 0.696768 vn 0.597461 0.079836 0.797876 vn -0.039125 0.071993 0.996612 vn -0.180242 0.093326 0.979156 vn -0.781701 0.081820 0.618213 vn -0.874538 0.103427 0.473769 vn -0.997589 0.058748 -0.036348 vn -0.999451 0.016205 -0.028138 vn -0.698508 -0.068941 -0.712241 vn -0.701132 -0.139561 -0.699179 vn -0.693258 0.004303 -0.720664 vn -0.543474 0.018860 -0.839167 vn -0.987976 0.078372 -0.133183 vn -0.761834 -0.114628 -0.637532 vn -0.673086 -0.119510 -0.729789 vn -0.987915 -0.045351 -0.148045 vn -0.995972 -0.087771 0.017243 vn -0.978607 -0.067598 -0.194220 vn -0.703360 -0.040956 -0.709647 vn -0.829341 -0.040681 -0.557207 vn -0.578112 0.078127 -0.812189 vn -0.602893 0.378002 -0.702536 vn -0.753960 -0.104984 -0.648427 vn -0.650899 -0.329814 -0.683737 vn 0.165471 -0.301004 -0.939146 vn 0.560625 -0.241951 -0.791925 vn 0.860591 -0.139042 0.489914 vn 0.189835 -0.010230 0.981763 vn 0.190086 -0.010590 0.981710 vn -0.646870 -0.226508 -0.728141 vn -0.621601 -0.150914 0.768639 vn -0.667714 -0.684011 -0.293680 vn 0.438368 -0.407361 -0.801172 vn 0.444105 -0.856960 0.261483 vn 0.189445 -0.012767 0.981808 vn 0.189768 -0.012976 0.981743 vn -0.271859 -0.474349 0.837275 vn -0.022885 -0.999736 0.001919 vn -0.022884 -0.999736 0.001919 vn -0.738517 -0.155004 0.656117 vn -0.004089 -0.152104 0.988342 vn 0.709006 -0.154241 0.688070 vn 0.733268 -0.177435 0.656331 vn 0.624287 -0.175512 0.761193 vn 0.007935 -0.165502 0.986175 vn -0.084689 -0.098575 0.991485 vn -0.072237 -0.036256 0.996704 vn -0.167882 0.065828 0.983581 vn 0.172216 0.154271 0.972900 vn 0.096438 0.274514 0.956725 vn 0.113071 0.577105 0.808771 vn -0.668661 0.496536 0.553453 vn -0.642140 0.620106 0.450636 vn -0.959044 0.169897 0.226508 vn -0.831446 0.125645 0.541185 vn -0.578356 -0.707877 0.405408 vn -0.266182 0.107028 0.957945 vn -0.233009 -0.533494 0.813044 vn -0.022882 -0.999736 0.001906 vn -0.213507 0.630818 0.745933 vn -0.657308 0.602069 0.453230 vn 0.113926 0.913846 0.389691 vn 0.132908 0.744346 0.654408 vn 0.852962 0.504501 0.133732 vn 0.817743 0.529252 0.226051 vn 0.920743 0.322092 0.220069 vn 0.860805 0.206946 0.464888 vn 0.908750 0.035096 0.415845 vn 0.958922 0.069918 -0.274850 vn 0.993133 -0.098605 -0.062807 vn 0.974578 -0.173772 0.141179 vn 0.765526 -0.156102 0.624134 vn 0.669118 -0.109165 0.735069 vn 0.990570 0.096072 -0.097629 vn 0.743522 0.307505 -0.593768 vn 0.630360 0.317423 -0.708396 vn 0.991150 -0.130558 0.022950 vn 0.966552 -0.255440 -0.021912 vn 0.965972 -0.258339 -0.010437 vn 0.982757 -0.175207 0.058992 vn 0.992798 -0.105747 0.055910 vn 0.720969 -0.045503 0.691427 vn -0.034333 0.029511 0.998962 vn -0.782342 0.046571 0.621082 vn -0.999146 0.015259 -0.038118 vn -0.999695 0.010437 -0.022217 vn -0.812098 -0.048708 0.581469 vn -0.703177 -0.097507 0.704276 vn -0.004517 -0.130833 0.991363 vn -0.007752 -0.082308 0.996551 vn 0.037416 -0.056154 0.997711 vn -0.706076 0.028291 0.707541 vn -0.783166 0.051912 0.619617 vn -0.024873 0.003052 0.999664 vn 0.711264 -0.088290 0.697348 vn 0.760247 -0.167241 0.627705 vn 0.703452 -0.196600 0.682943 vn 0.715629 -0.217200 0.663808 vn 0.633625 -0.137455 0.761315 vn 0.768731 -0.061342 0.636616 vn 0.815119 0.553575 0.170629 vn 0.606739 0.630848 0.483596 g mesh3.002_mesh3-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1815/2553/1818 1816/2554/1819 1817/2555/1820 f 1815/2553/1818 1818/2556/1821 1816/2554/1819 f 1818/2556/1821 1815/2553/1818 1819/2557/1822 f 1819/2557/1822 1820/2558/1823 1818/2556/1821 f 1821/2559/1824 1820/2558/1823 1819/2557/1822 f 1821/2559/1824 1822/2560/1825 1820/2558/1823 f 1823/2561/1826 1822/2560/1825 1821/2559/1824 f 1823/2561/1826 1824/2562/1827 1822/2560/1825 f 1825/2563/1828 1824/2562/1827 1823/2561/1826 f 1825/2563/1828 1826/2564/1829 1824/2562/1827 f 1827/2565/1830 1826/2564/1829 1825/2563/1828 f 1828/2566/1831 1826/2567/1829 1827/2568/1830 f 1828/2566/1831 1829/2569/1832 1826/2567/1829 f 1830/2570/1833 1829/2569/1832 1828/2566/1831 f 1830/2570/1833 1831/2571/1834 1829/2569/1832 f 1830/2570/1833 1832/2572/1835 1831/2571/1834 f 1833/2573/1836 1832/2572/1835 1830/2570/1833 f 1833/2573/1836 1834/2574/1837 1832/2572/1835 f 1835/2575/1838 1834/2574/1837 1833/2573/1836 f 1835/2575/1838 1836/2576/1839 1834/2574/1837 f 1837/2577/1840 1836/2578/1839 1835/2579/1838 f 1838/2580/1841 1836/2578/1839 1837/2577/1840 f 1838/2580/1841 1839/2581/1842 1836/2578/1839 f 1840/2582/1843 1839/2581/1842 1838/2580/1841 f 1841/2583/1844 1839/2581/1842 1840/2582/1843 s off f 1841/2583/1845 1842/2584/1845 1839/2581/1845 f 1841/2583/1846 1843/2585/1846 1842/2584/1846 s 1 f 1841/2586/1844 1844/2587/1847 1843/2588/1848 f 1841/2586/1844 1845/2589/1849 1844/2587/1847 f 1840/2590/1843 1845/2589/1849 1841/2586/1844 f 1840/2590/1843 1846/2591/1850 1845/2589/1849 f 1838/2592/1841 1846/2591/1850 1840/2590/1843 f 1838/2592/1841 1847/2593/1851 1846/2591/1850 f 1837/2594/1840 1847/2593/1851 1838/2592/1841 f 1837/2594/1840 1848/2595/1852 1847/2593/1851 f 1849/2596/1853 1848/2595/1852 1837/2594/1840 f 1849/2596/1853 1850/2597/1854 1848/2595/1852 f 1849/2596/1853 1851/2598/1855 1850/2597/1854 f 1852/2599/1856 1851/2598/1855 1849/2596/1853 f 1853/2600/1857 1851/2598/1855 1852/2599/1856 f 1853/2600/1857 1854/2601/1858 1851/2598/1855 f 1855/2602/1859 1854/2601/1858 1853/2600/1857 f 1855/2602/1859 1856/2603/1860 1854/2601/1858 f 1857/2604/1861 1856/2605/1860 1855/2606/1859 f 1857/2604/1861 1858/2607/1862 1856/2605/1860 f 1859/2608/1863 1858/2609/1862 1857/2604/1861 f 1860/2610/1864 1858/2609/1862 1859/2608/1863 f 1860/2610/1864 1861/2611/1865 1858/2609/1862 f 1862/2612/1866 1861/2611/1865 1860/2610/1864 f 1862/2612/1866 1863/2613/1867 1861/2611/1865 f 1862/2612/1866 1864/2614/1868 1863/2613/1867 f 1862/2612/1866 1865/2615/1869 1864/2614/1868 f 1865/2615/1869 1862/2612/1866 1866/2616/1870 f 1866/2616/1870 1862/2612/1866 1867/2617/1871 f 1862/2612/1866 1860/2610/1864 1867/2617/1871 f 1867/2617/1871 1860/2610/1864 1859/2608/1863 f 1868/2618/1872 1867/2619/1871 1859/2620/1863 f 1869/2621/1873 1867/2619/1871 1868/2618/1872 f 1869/2621/1873 1866/2622/1870 1867/2619/1871 f 1870/2623/1874 1866/2622/1870 1869/2621/1873 f 1870/2623/1874 1871/2624/1875 1866/2622/1870 f 1872/2625/1876 1871/2624/1875 1870/2623/1874 f 1872/2625/1876 1873/2626/1877 1871/2624/1875 f 1874/2627/1878 1873/2626/1877 1872/2625/1876 f 1874/2627/1878 1875/2628/1879 1873/2626/1877 f 1876/2629/1880 1875/2628/1879 1874/2627/1878 f 1876/2630/1880 1877/2631/1881 1875/2632/1879 f 1876/2630/1880 1878/2633/1882 1877/2631/1881 f 1879/2634/1883 1878/2633/1882 1876/2630/1880 f 1879/2634/1883 1880/2635/1884 1878/2633/1882 f 1881/2636/1885 1880/2635/1884 1879/2634/1883 f 1881/2636/1885 1882/2637/1886 1880/2635/1884 f 1883/2638/1887 1882/2637/1886 1881/2636/1885 f 1883/2638/1887 1884/2639/1888 1882/2637/1886 f 1885/2640/1889 1884/2639/1888 1883/2638/1887 f 1885/2640/1889 1886/2641/1890 1884/2639/1888 f 1887/2642/1891 1886/2641/1890 1885/2640/1889 f 1887/2642/1891 1888/2643/1892 1886/2641/1890 f 1888/2643/1892 1889/2644/1893 1886/2641/1890 f 1888/2643/1892 1890/2645/1894 1889/2644/1893 f 1890/2645/1894 1891/2646/1895 1889/2644/1893 f 1890/2645/1894 1892/2647/1896 1891/2646/1895 f 1892/2647/1896 1893/2648/1897 1891/2646/1895 f 1894/2649/1898 1893/2648/1897 1892/2647/1896 f 1894/2649/1898 1895/2650/1899 1893/2648/1897 f 1896/2651/1900 1895/2650/1899 1894/2649/1898 f 1897/2652/1901 1895/2650/1899 1896/2651/1900 f 1897/2652/1901 1898/2653/1902 1895/2650/1899 f 1899/2654/1903 1898/2653/1902 1897/2652/1901 f 1899/2654/1903 1900/2655/1904 1898/2653/1902 f 1899/2654/1903 1881/2656/1885 1900/2655/1904 f 1899/2654/1903 1883/2657/1887 1881/2656/1885 f 1901/2658/1905 1883/2657/1887 1899/2654/1903 f 1901/2658/1905 1885/2659/1889 1883/2657/1887 f 1902/2660/1906 1885/2659/1889 1901/2658/1905 f 1902/2660/1906 1887/2661/1891 1885/2659/1889 f 1902/2660/1906 1901/2658/1905 1903/2662/1907 f 1901/2658/1905 1897/2652/1901 1903/2662/1907 f 1901/2658/1905 1899/2654/1903 1897/2652/1901 f 1903/2662/1907 1897/2652/1901 1896/2651/1900 f 1900/2655/1904 1881/2656/1885 1879/2663/1883 f 1900/2655/1904 1879/2663/1883 1904/2664/1908 f 1904/2664/1908 1879/2663/1883 1905/2665/1909 f 1879/2663/1883 1876/2629/1880 1905/2665/1909 f 1905/2665/1909 1876/2629/1880 1874/2627/1878 f 1905/2665/1909 1874/2627/1878 1906/2666/1910 f 1874/2627/1878 1907/2667/1911 1906/2666/1910 f 1874/2627/1878 1908/2668/1912 1907/2667/1911 f 1872/2625/1876 1908/2668/1912 1874/2627/1878 f 1870/2623/1874 1908/2668/1912 1872/2625/1876 f 1869/2621/1873 1908/2668/1912 1870/2623/1874 f 1869/2621/1873 1819/2557/1822 1908/2668/1912 f 1868/2618/1872 1819/2557/1822 1869/2621/1873 f 1868/2618/1872 1821/2559/1824 1819/2557/1822 f 1868/2618/1872 1823/2561/1826 1821/2559/1824 f 1868/2618/1872 1909/2669/1913 1823/2561/1826 f 1868/2618/1872 1859/2620/1863 1909/2669/1913 f 1909/2669/1913 1859/2620/1863 1857/2670/1861 f 1909/2669/1913 1857/2670/1861 1910/2671/1914 f 1910/2671/1914 1857/2670/1861 1911/2672/1915 f 1857/2670/1861 1855/2673/1859 1911/2672/1915 f 1911/2674/1915 1855/2602/1859 1912/2675/1916 f 1855/2602/1859 1853/2600/1857 1912/2675/1916 f 1912/2675/1916 1853/2600/1857 1852/2599/1856 f 1852/2676/1856 1830/2570/1833 1912/2677/1916 f 1913/2678/1917 1830/2570/1833 1852/2676/1856 f 1913/2678/1917 1833/2573/1836 1830/2570/1833 f 1913/2678/1917 1835/2575/1838 1833/2573/1836 f 1913/2678/1917 1914/2679/1918 1835/2575/1838 f 1913/2680/1917 1915/2681/1919 1914/2682/1918 f 1913/2680/1917 1849/2596/1853 1915/2681/1919 f 1852/2599/1856 1849/2596/1853 1913/2680/1917 f 1849/2596/1853 1837/2594/1840 1915/2681/1919 f 1915/2681/1919 1837/2594/1840 1916/2683/1920 f 1916/2683/1920 1837/2594/1840 1917/2684/1921 s off f 1837/2577/1922 1918/2685/1922 1917/2686/1922 f 1835/2579/1923 1918/2685/1923 1837/2577/1923 s 1 f 1919/2687/1924 1918/2688/1925 1835/2575/1838 f 1919/2687/1924 1920/2689/1926 1918/2688/1925 f 1919/2690/1924 1921/2691/1927 1920/2692/1926 f 1919/2690/1924 1916/2683/1920 1921/2691/1927 f 1915/2681/1919 1916/2683/1920 1919/2690/1924 f 1914/2682/1918 1915/2681/1919 1919/2690/1924 f 1914/2679/1918 1919/2687/1924 1835/2575/1838 f 1916/2683/1920 1917/2684/1921 1921/2691/1927 f 1921/2691/1927 1917/2684/1921 1922/2693/1928 s off f 1917/2686/1929 1923/2694/1929 1922/2695/1929 f 1918/2685/1930 1923/2694/1930 1917/2686/1930 s 1 f 1920/2689/1926 1923/2696/1931 1918/2688/1925 s off f 1922/2695/1932 1923/2694/1932 1920/2697/1932 f 1922/2695/1933 1920/2697/1933 1921/2698/1933 s 1 f 1912/2677/1916 1830/2570/1833 1828/2566/1831 f 1912/2677/1916 1828/2566/1831 1827/2568/1830 f 1912/2677/1916 1827/2568/1830 1911/2699/1915 f 1910/2671/1914 1911/2672/1915 1827/2565/1830 f 1910/2671/1914 1827/2565/1830 1825/2563/1828 f 1910/2671/1914 1825/2563/1828 1823/2561/1826 f 1909/2669/1913 1910/2671/1914 1823/2561/1826 f 1819/2557/1822 1815/2553/1818 1908/2668/1912 f 1908/2668/1912 1815/2553/1818 1924/2700/1934 f 1924/2700/1934 1815/2553/1818 1817/2555/1820 f 1924/2700/1934 1817/2555/1820 1925/2701/1935 f 1925/2701/1935 1817/2555/1820 1926/2702/1936 f 1926/2702/1936 1817/2555/1820 1927/2703/1937 f 1817/2555/1820 1816/2554/1819 1927/2703/1937 f 1927/2703/1937 1816/2554/1819 1928/2704/1938 f 1816/2554/1819 1929/2705/1939 1928/2704/1938 f 1816/2554/1819 1820/2558/1823 1929/2705/1939 f 1818/2556/1821 1820/2558/1823 1816/2554/1819 f 1820/2558/1823 1930/2706/1940 1929/2705/1939 f 1820/2558/1823 1822/2560/1825 1930/2706/1940 f 1822/2560/1825 1824/2562/1827 1930/2706/1940 f 1930/2706/1940 1824/2562/1827 1931/2707/1941 f 1824/2562/1827 1826/2564/1829 1931/2707/1941 f 1931/2707/1941 1826/2564/1829 1932/2708/1942 f 1826/2567/1829 1829/2569/1832 1932/2709/1942 f 1932/2709/1942 1829/2569/1832 1933/2710/1943 f 1829/2569/1832 1831/2571/1834 1933/2710/1943 f 1933/2710/1943 1831/2571/1834 1934/2711/1944 f 1934/2711/1944 1831/2571/1834 1832/2572/1835 f 1934/2711/1944 1832/2572/1835 1935/2712/1945 f 1832/2572/1835 1936/2713/1946 1935/2712/1945 f 1834/2574/1837 1936/2713/1946 1832/2572/1835 f 1834/2574/1837 1937/2714/1947 1936/2713/1946 f 1834/2574/1837 1938/2715/1948 1937/2714/1947 f 1836/2576/1839 1938/2715/1948 1834/2574/1837 f 1836/2576/1839 1839/2716/1842 1938/2715/1948 f 1839/2716/1842 1939/2717/1949 1938/2715/1948 f 1839/2716/1842 1842/2718/1950 1939/2717/1949 f 1842/2718/1950 1940/2719/1951 1939/2717/1949 f 1842/2718/1950 1941/2720/1952 1940/2719/1951 s off f 1843/2585/1953 1941/2721/1953 1842/2584/1953 s 1 f 1940/2719/1951 1941/2720/1952 1843/2588/1848 f 1940/2719/1951 1843/2588/1848 1844/2587/1847 f 1942/2722/1954 1940/2719/1951 1844/2587/1847 f 1939/2717/1949 1940/2719/1951 1942/2722/1954 f 1939/2717/1949 1942/2722/1954 1943/2723/1955 f 1944/2724/1956 1943/2723/1955 1942/2722/1954 f 1944/2724/1956 1937/2714/1947 1943/2723/1955 f 1944/2724/1956 1945/2725/1957 1937/2714/1947 f 1946/2726/1958 1945/2725/1957 1944/2724/1956 f 1947/2727/1959 1945/2725/1957 1946/2726/1958 f 1947/2727/1959 1935/2712/1945 1945/2725/1957 f 1948/2728/1960 1935/2712/1945 1947/2727/1959 f 1948/2728/1960 1934/2711/1944 1935/2712/1945 f 1948/2728/1960 1949/2729/1961 1934/2711/1944 f 1850/2597/1854 1949/2729/1961 1948/2728/1960 f 1850/2597/1854 1950/2730/1962 1949/2729/1961 f 1850/2597/1854 1951/2731/1963 1950/2730/1962 f 1851/2598/1855 1951/2731/1963 1850/2597/1854 f 1851/2598/1855 1854/2601/1858 1951/2731/1963 f 1854/2601/1858 1856/2603/1860 1951/2731/1963 f 1856/2603/1860 1952/2732/1964 1951/2731/1963 f 1858/2607/1862 1952/2733/1964 1856/2605/1860 f 1858/2607/1862 1953/2734/1965 1952/2733/1964 f 1858/2607/1862 1861/2611/1865 1953/2734/1965 f 1953/2734/1965 1861/2611/1865 1954/2735/1966 f 1861/2611/1865 1863/2613/1867 1954/2735/1966 f 1863/2613/1867 1955/2736/1967 1954/2735/1966 f 1863/2613/1867 1864/2614/1868 1955/2736/1967 f 1864/2614/1868 1928/2704/1938 1955/2736/1967 f 1864/2614/1868 1927/2703/1937 1928/2704/1938 f 1864/2614/1868 1956/2737/1968 1927/2703/1937 f 1957/2738/1969 1956/2737/1968 1864/2614/1868 f 1957/2738/1969 1958/2739/1970 1956/2737/1968 f 1958/2739/1970 1957/2738/1969 1871/2740/1875 f 1871/2740/1875 1957/2738/1969 1865/2615/1869 f 1865/2615/1869 1957/2738/1969 1864/2614/1868 f 1871/2740/1875 1865/2615/1869 1866/2616/1870 f 1873/2741/1877 1958/2739/1970 1871/2740/1875 f 1877/2631/1881 1958/2739/1970 1873/2741/1877 f 1958/2739/1970 1877/2631/1881 1956/2737/1968 f 1877/2631/1881 1959/2742/1971 1956/2737/1968 f 1877/2631/1881 1960/2743/1972 1959/2742/1971 f 1878/2633/1882 1960/2743/1972 1877/2631/1881 f 1878/2633/1882 1961/2744/1973 1960/2743/1972 f 1880/2635/1884 1961/2744/1973 1878/2633/1882 f 1882/2637/1886 1961/2744/1973 1880/2635/1884 f 1882/2637/1886 1962/2745/1974 1961/2744/1973 f 1884/2639/1888 1962/2745/1974 1882/2637/1886 f 1884/2639/1888 1963/2746/1975 1962/2745/1974 f 1886/2641/1890 1963/2746/1975 1884/2639/1888 f 1886/2641/1890 1889/2644/1893 1963/2746/1975 f 1889/2644/1893 1964/2747/1976 1963/2746/1975 f 1889/2644/1893 1891/2646/1895 1964/2747/1976 f 1891/2646/1895 1965/2748/1977 1964/2747/1976 f 1893/2648/1897 1965/2748/1977 1891/2646/1895 f 1893/2648/1897 1966/2749/1978 1965/2748/1977 f 1895/2650/1899 1966/2749/1978 1893/2648/1897 f 1898/2653/1902 1966/2749/1978 1895/2650/1899 f 1898/2653/1902 1967/2750/1979 1966/2749/1978 f 1900/2655/1904 1967/2750/1979 1898/2653/1902 f 1900/2655/1904 1904/2664/1908 1967/2750/1979 f 1904/2664/1908 1968/2751/1980 1967/2750/1979 f 1904/2664/1908 1905/2665/1909 1968/2751/1980 f 1905/2665/1909 1906/2666/1910 1968/2751/1980 f 1968/2751/1980 1906/2666/1910 1969/2752/1981 f 1907/2667/1911 1969/2752/1981 1906/2666/1910 f 1907/2667/1911 1970/2753/1982 1969/2752/1981 f 1907/2667/1911 1924/2700/1934 1970/2753/1982 f 1908/2668/1912 1924/2700/1934 1907/2667/1911 f 1971/2754/1983 1970/2753/1982 1924/2700/1934 f 1972/2755/1984 1970/2753/1982 1971/2754/1983 f 1969/2752/1981 1970/2753/1982 1972/2755/1984 f 1973/2756/1985 1969/2752/1981 1972/2755/1984 f 1974/2757/1986 1969/2752/1981 1973/2756/1985 f 1968/2751/1980 1969/2752/1981 1974/2757/1986 f 1968/2751/1980 1974/2757/1986 1975/2758/1987 f 1975/2758/1987 1974/2757/1986 1976/2759/1988 f 1976/2759/1988 1974/2757/1986 1973/2756/1985 f 1976/2759/1988 1973/2756/1985 1977/2760/1989 f 1977/2760/1989 1973/2756/1985 1978/2761/1990 f 1973/2756/1985 1979/2762/1991 1978/2761/1990 f 1973/2756/1985 1972/2755/1984 1979/2762/1991 f 1972/2755/1984 1980/2763/1992 1979/2762/1991 f 1972/2755/1984 1971/2754/1983 1980/2763/1992 f 1971/2754/1983 1926/2702/1936 1980/2763/1992 f 1971/2754/1983 1925/2701/1935 1926/2702/1936 f 1971/2754/1983 1924/2700/1934 1925/2701/1935 f 1959/2742/1971 1980/2763/1992 1926/2702/1936 f 1959/2742/1971 1960/2743/1972 1980/2763/1992 f 1960/2743/1972 1979/2762/1991 1980/2763/1992 f 1961/2744/1973 1979/2762/1991 1960/2743/1972 f 1961/2744/1973 1978/2761/1990 1979/2762/1991 f 1962/2745/1974 1978/2761/1990 1961/2744/1973 f 1962/2745/1974 1977/2760/1989 1978/2761/1990 f 1963/2746/1975 1977/2760/1989 1962/2745/1974 f 1963/2746/1975 1964/2747/1976 1977/2760/1989 f 1964/2747/1976 1976/2759/1988 1977/2760/1989 f 1965/2748/1977 1976/2759/1988 1964/2747/1976 f 1965/2748/1977 1975/2758/1987 1976/2759/1988 f 1966/2749/1978 1975/2758/1987 1965/2748/1977 f 1967/2750/1979 1975/2758/1987 1966/2749/1978 f 1967/2750/1979 1968/2751/1980 1975/2758/1987 f 1956/2737/1968 1959/2742/1971 1926/2702/1936 f 1956/2737/1968 1926/2702/1936 1927/2703/1937 f 1875/2632/1879 1877/2631/1881 1873/2741/1877 f 1928/2704/1938 1929/2705/1939 1955/2736/1967 f 1929/2705/1939 1930/2706/1940 1955/2736/1967 f 1955/2736/1967 1930/2706/1940 1954/2735/1966 f 1930/2706/1940 1981/2764/1993 1954/2735/1966 f 1930/2706/1940 1931/2707/1941 1981/2764/1993 f 1931/2707/1941 1982/2765/1994 1981/2764/1993 f 1931/2707/1941 1932/2708/1942 1982/2765/1994 f 1932/2709/1942 1933/2710/1943 1982/2766/1994 f 1982/2766/1994 1933/2710/1943 1950/2730/1962 f 1949/2729/1961 1950/2730/1962 1933/2710/1943 f 1949/2729/1961 1933/2710/1943 1934/2711/1944 f 1952/2732/1964 1982/2766/1994 1950/2730/1962 f 1952/2733/1964 1953/2734/1965 1982/2765/1994 f 1953/2734/1965 1981/2764/1993 1982/2765/1994 f 1953/2734/1965 1954/2735/1966 1981/2764/1993 f 1951/2731/1963 1952/2732/1964 1950/2730/1962 f 1848/2595/1852 1850/2597/1854 1948/2728/1960 f 1848/2595/1852 1948/2728/1960 1847/2593/1851 f 1847/2593/1851 1948/2728/1960 1947/2727/1959 f 1847/2593/1851 1947/2727/1959 1946/2726/1958 f 1847/2593/1851 1946/2726/1958 1846/2591/1850 f 1846/2591/1850 1946/2726/1958 1983/2767/1995 f 1983/2767/1995 1946/2726/1958 1944/2724/1956 f 1983/2767/1995 1944/2724/1956 1984/2768/1996 f 1984/2768/1996 1944/2724/1956 1942/2722/1954 f 1942/2722/1954 1844/2587/1847 1984/2768/1996 f 1845/2589/1849 1984/2768/1996 1844/2587/1847 f 1845/2589/1849 1983/2767/1995 1984/2768/1996 f 1846/2591/1850 1983/2767/1995 1845/2589/1849 f 1935/2712/1945 1936/2713/1946 1945/2725/1957 f 1945/2725/1957 1936/2713/1946 1937/2714/1947 f 1938/2715/1948 1943/2723/1955 1937/2714/1947 f 1938/2715/1948 1939/2717/1949 1943/2723/1955 o mesh4.002_mesh4-geometry v -23.099970 80.168877 10.877150 0.300378 0.554706 0.000857 v -22.753090 79.679459 10.933164 0.464533 0.613567 0.492863 v -22.721310 80.142830 11.050349 0.069527 0.813657 0.307638 v -23.054802 79.630112 10.806498 0.484823 0.476637 0.272088 v -23.265965 79.690277 10.568293 0.218037 0.187748 0.373264 v -23.047119 79.528633 10.794429 0.835710 0.844024 0.645096 v -23.210030 79.601730 10.601939 0.937040 0.448654 0.240090 v -23.188145 79.513992 10.542928 0.950617 0.663270 0.562337 v -23.014362 79.438133 10.750944 0.633083 0.281011 0.121447 v -22.974783 79.383194 10.699749 0.339746 0.627388 0.450787 v -22.753298 79.504768 10.852267 0.256227 0.664165 0.372918 v -22.804903 79.593117 10.890083 0.757841 0.658834 0.329632 v -22.694382 79.600143 10.898431 0.812766 0.359105 0.416121 v -22.618214 79.561104 10.835187 0.720001 0.688071 0.943424 v -22.697536 79.472168 10.815004 0.124241 0.887151 0.482568 v -22.963835 79.469963 10.687910 0.362323 0.321668 0.895955 v -23.166698 79.482109 10.481256 0.648830 0.585481 0.472241 v -23.207100 79.573532 10.416230 0.924313 0.205557 0.562403 v -23.256985 79.612946 10.327690 0.344718 0.955241 0.497666 v -23.249035 79.611900 10.503858 0.505202 0.443043 0.865120 v -23.380033 80.156754 10.580820 0.809232 0.262502 0.002245 v -23.037746 80.886566 10.816005 0.579363 0.086696 0.706522 v -22.673214 80.802917 11.034346 0.122110 0.211233 0.276302 v -22.621965 80.131241 11.019915 0.501414 0.221783 0.337281 v -22.640862 79.628159 10.941096 0.965735 0.641386 0.501921 v -22.513597 79.597160 10.856510 0.834424 0.371756 0.455120 v -22.584606 80.107262 11.056170 0.799786 0.591127 0.489639 v -22.612549 80.858086 11.019532 0.942892 0.369595 0.551578 v -23.037346 80.962494 10.817396 0.005008 0.465636 0.053841 v -23.360571 80.874489 10.485935 0.441854 0.997182 0.487682 v -23.359982 80.818008 10.544457 0.443950 0.738502 0.773387 v -23.377230 80.147186 10.481548 0.853052 0.974054 0.941494 v -23.306538 79.642319 10.467535 0.122452 0.247976 0.306732 v -23.424885 80.125008 10.457219 0.628831 0.009209 0.090420 v -23.487770 80.938057 10.492957 0.738383 0.463778 0.656613 v -23.412266 80.119041 10.288231 0.149443 0.572055 0.156538 v -23.283501 80.211746 9.984768 0.789199 0.481289 0.762767 v -23.041420 79.682335 10.076824 0.818487 0.899488 0.720434 v -23.185614 80.777008 9.775826 0.729138 0.770829 0.736851 v -22.746630 80.361153 9.552134 0.423364 0.777952 0.266994 v -23.194237 81.799133 9.746621 0.214731 0.839092 0.004876 v -22.649868 81.838905 9.468864 0.035513 0.165944 0.208772 v -22.115143 81.851791 9.635932 0.584902 0.510752 0.000972 v -22.218067 80.378204 9.729304 0.949280 0.838661 0.671717 v -21.879105 80.341393 10.154340 0.885277 0.580280 0.511974 v -21.784266 81.819199 10.069741 0.162818 0.101324 0.762569 v -22.231434 82.228317 9.831454 0.182436 0.364064 0.666443 v -22.784266 82.200600 9.750146 0.410084 0.513732 0.535630 v -23.282698 82.270096 9.982420 0.638993 0.897442 0.726077 v -22.693367 82.394341 9.655005 0.324723 0.440563 0.007818 v -22.176142 82.364845 9.830067 0.247915 0.542577 0.381480 v -21.775286 83.435875 9.341534 0.369096 0.150929 0.274705 v -21.837484 82.462242 10.232674 0.518091 0.457631 0.680935 v -21.400774 83.640816 9.812459 0.696205 0.363432 0.588279 v -21.749117 83.927071 8.798986 0.430930 0.231894 0.172400 v -20.861904 84.393692 9.414846 0.907124 0.257531 0.649932 v -20.802862 85.088005 9.925656 0.988202 0.459649 0.349764 v -19.948214 85.857368 9.222687 0.913162 0.092098 0.425835 v -21.150650 86.904259 9.494703 0.072049 0.929044 0.910395 v -21.659758 85.716103 10.105327 0.098282 0.716385 0.750283 v -23.069210 86.590378 9.306577 0.995045 0.206574 0.729863 v -22.930662 87.523041 8.467155 0.812642 0.676949 0.546468 v -23.575052 85.767006 8.944626 0.792075 0.293929 0.833212 v -23.577045 86.734428 8.203668 0.091584 0.920897 0.616007 v -23.695705 85.345436 8.696819 0.208453 0.164922 0.152301 v -23.895145 85.753372 8.193790 0.189699 0.012541 0.489768 v -24.109123 84.607292 8.376979 0.322435 0.414829 0.992247 v -23.863977 85.854614 7.556595 0.543072 0.508378 0.546340 v -24.610046 84.306633 7.802557 0.711697 0.646424 0.662929 v -24.334610 84.609138 6.875278 0.068516 0.307806 0.838694 v -24.880682 83.758972 6.932549 0.716252 0.557023 0.240951 v -24.227257 83.953522 6.233846 0.217761 0.397015 0.789186 v -24.500000 82.658195 6.513513 0.178001 0.414293 0.348298 v -24.436838 82.603622 5.593174 0.469550 0.071422 0.683758 v -24.544149 81.284950 5.952405 0.424978 0.648513 0.916115 v -23.986860 81.146935 5.394648 0.541103 0.165190 0.489116 v -23.909718 79.080925 6.045794 0.314630 0.804973 0.331437 v -22.512499 81.713783 5.904556 0.851120 0.677602 0.139969 v -22.585417 79.732483 6.446531 0.386442 0.987002 0.891146 v -22.559822 81.951065 6.594013 0.238229 0.475458 0.246181 v -22.373535 82.345932 5.678788 0.836412 0.930161 0.526770 v -22.496469 82.520424 6.484916 0.409275 0.354909 0.142682 v -21.535254 83.331505 6.033772 0.576343 0.598997 0.225487 v -21.879654 82.442062 5.126422 0.378066 0.745545 0.213502 v -22.745003 81.465309 5.740871 0.302816 0.123470 0.739903 v -23.854342 81.036949 5.419566 0.136425 0.218580 0.759472 v -23.760647 82.437302 5.032125 0.645529 0.386827 0.190073 v -23.835104 80.762070 4.674746 0.308379 0.607160 0.442680 v -23.518435 79.267258 5.866807 0.670953 0.793012 0.738101 v -23.572563 79.400375 5.108414 0.495388 0.443310 0.095007 v -22.977310 79.006477 4.771506 0.419547 0.208177 0.464609 v -23.219099 80.736099 4.147724 0.148667 0.439563 0.974401 v -23.606424 82.468994 4.277602 0.301643 0.344240 0.286860 v -22.865473 82.394279 3.792233 0.754129 0.149403 0.585471 v -22.496469 83.524071 3.801111 0.563068 0.585241 0.041984 v -22.509403 82.417114 3.316215 0.543139 0.394467 0.596435 v -22.621992 81.044090 3.619877 0.536950 0.581755 0.471208 v -22.188511 80.942650 3.176173 0.998250 0.820344 0.148811 v -22.519615 80.278961 3.917944 0.264347 0.469848 0.225210 v -22.043623 79.974785 3.633476 0.714335 0.897645 0.488626 v -21.247488 80.459862 3.890203 0.419001 0.069641 0.559118 v -21.300890 81.353745 3.516716 0.886638 0.698752 0.386230 v -21.292011 80.610176 4.410984 0.972275 0.032586 0.545624 v -21.398455 81.589973 4.065331 0.481651 0.142074 0.744544 v -20.976734 82.593109 3.260706 0.781283 0.525864 0.942549 v -21.091644 82.485893 3.935555 0.705242 0.775204 0.365353 v -20.174618 83.210350 3.647017 0.535146 0.001860 0.448337 v -20.434116 83.178070 4.999077 0.267272 0.964915 0.514785 v -19.665451 84.252815 5.335518 0.556103 0.345129 0.465612 v -19.363169 84.219536 3.861719 0.573454 0.413056 0.038616 v -20.728979 84.714310 3.052295 0.744500 0.207442 0.916744 v -20.107994 86.015434 3.290470 0.505620 0.389096 0.291116 v -18.904394 85.570930 4.263127 0.606166 0.498750 0.063884 v -20.184887 86.952370 3.282197 0.304123 0.733612 0.772256 v -18.830750 86.642715 4.230778 0.310243 0.699084 0.669468 v -19.887354 88.357735 3.290763 0.848806 0.484880 0.199279 v -18.731894 88.308014 4.152417 0.066519 0.003529 0.616647 v -18.322554 89.208328 3.521605 0.310982 0.756244 0.318765 v -18.042578 89.586403 4.742004 0.657281 0.017174 0.605437 v -17.644434 90.944984 4.401053 0.467111 0.283382 0.739304 v -17.912548 90.544624 3.282176 0.940502 0.976805 0.040301 v -17.132551 92.386810 2.597306 0.126790 0.394895 0.679846 v -16.774067 92.697189 3.918086 0.214332 0.756780 0.531276 v -14.501564 97.139725 1.414151 0.383864 0.273218 0.929458 v -14.452837 97.583298 2.990696 0.139802 0.125228 0.463808 v -12.013189 101.440056 0.197347 0.371172 0.530445 0.565441 v -12.037304 102.077377 1.919284 0.265484 0.903434 0.476986 v -11.110245 103.760681 -0.447311 0.311398 0.812716 0.227121 v -11.163906 104.427116 1.346164 0.030506 0.472901 0.852337 v -10.439873 107.967361 0.400492 0.257730 0.378444 0.216543 v -10.022589 107.486031 -1.220358 0.774153 0.438746 0.420075 v -10.258478 109.649742 0.183389 0.946551 0.478996 0.259589 v -9.762453 109.504311 -1.445990 0.186142 0.174552 0.433316 v -9.226643 111.080208 -1.441290 0.110232 0.546170 0.567880 v -9.394062 111.066727 -3.759921 0.052591 0.969267 0.888613 v -8.053656 116.112183 -0.183373 0.113001 0.771905 0.839579 v -8.053673 116.452652 -2.525961 0.442105 0.295848 0.692973 v -9.357735 116.900749 -3.819016 0.241661 0.605224 0.777005 v -7.912046 122.183281 -3.168324 0.511797 0.088890 0.779040 v -7.042928 121.813843 -1.555631 0.101589 0.962610 0.158815 v -7.512548 129.483536 -1.860384 0.463707 0.857062 0.186193 v -10.376890 122.894241 -3.735708 0.424721 0.310751 0.725071 v -11.593777 117.307686 -3.964081 0.549496 0.482709 0.870564 v -13.256376 111.950172 -4.262532 0.598786 0.850216 0.369071 v -10.987413 111.544479 -4.623056 0.375685 0.086341 0.807602 v -11.752462 109.559059 -4.777782 0.111532 0.282310 0.541014 v -10.256292 109.184326 -3.773889 0.306692 0.729266 0.664658 v -10.840105 107.049881 -3.653985 0.235428 0.240836 0.138706 v -12.473793 103.503738 -2.846948 0.745503 0.097048 0.605831 v -13.709780 101.265442 -1.865346 0.741295 0.255605 0.348715 v -16.054054 97.278191 -0.143462 0.738055 0.720355 0.047879 v -18.377695 92.587914 1.889393 0.776375 0.283549 0.758014 v -18.926245 90.693329 2.641669 0.249338 0.791783 0.463749 v -19.316639 89.391548 2.799382 0.445599 0.724882 0.314251 v -21.108719 88.661697 3.612504 0.905569 0.769041 0.308269 v -21.495419 87.450508 3.517566 0.064961 0.968344 0.438545 v -21.362137 86.421768 3.517284 0.914139 0.631682 0.524735 v -21.838598 84.958878 3.506246 0.869511 0.618636 0.925918 v -22.121590 83.979134 3.395907 0.863124 0.627395 0.677045 v -21.411871 83.447922 2.931430 0.459334 0.491410 0.207058 v -21.933496 82.438576 2.854884 0.508387 0.095961 0.248089 v -22.344234 83.146713 3.305948 0.865963 0.530044 0.025312 v -22.576599 85.245178 4.444102 0.216767 0.686274 0.577439 v -23.136099 84.187431 4.343266 0.732998 0.729337 0.772277 v -23.458290 83.326767 4.252421 0.133517 0.163824 0.140131 v -23.559298 83.666191 4.952419 0.103679 0.990326 0.867008 v -24.286034 83.436470 5.448709 0.329381 0.427943 0.007533 v -23.808943 84.287079 5.470467 0.466478 0.632446 0.640879 v -23.195929 85.525200 5.378587 0.431647 0.618563 0.933094 v -22.671795 86.918381 5.271793 0.695831 0.509235 0.875651 v -23.082708 87.074615 6.268327 0.090420 0.957585 0.222509 v -23.633614 85.763550 6.347646 0.724565 0.358551 0.314079 v -23.476355 87.104134 7.435968 0.049530 0.635019 0.992198 v -22.760639 88.395477 7.462635 0.554621 0.348134 0.688466 v -21.062325 87.858734 8.646334 0.377330 0.362084 0.569012 v -20.818665 88.715111 8.040849 0.051559 0.471980 0.441804 v -20.624487 89.574005 7.727313 0.705483 0.579459 0.648828 v -21.732489 89.643318 6.828524 0.146451 0.995763 0.270696 v -21.243439 90.936417 6.586821 0.396828 0.025489 0.511899 v -21.550955 90.493813 4.695247 0.143152 0.605629 0.107601 v -21.796707 89.224602 5.055630 0.283188 0.435026 0.320885 v -20.793423 89.800529 3.025808 0.997562 0.046763 0.018987 v -20.270445 91.121315 2.815304 0.703897 0.584725 0.817866 v -19.910086 93.131325 2.135356 0.549862 0.504757 0.181151 v -17.805731 97.956108 0.012188 0.633555 0.304019 0.650411 v -15.790623 102.059769 -1.769771 0.059199 0.575517 0.052504 v -14.704208 104.249039 -3.000634 0.203139 0.001392 0.135798 v -12.853378 107.346695 -4.371089 0.793333 0.645450 0.405666 v -15.117895 108.579628 -3.018887 0.654452 0.454862 0.638514 v -16.778498 105.787292 -1.554514 0.258317 0.892904 0.308663 v -17.598091 103.270538 -0.405172 0.883298 0.237466 0.307246 v -19.013666 98.933853 1.490870 0.217207 0.529837 0.228679 v -20.507914 93.808601 3.725713 0.879619 0.380314 0.541905 v -20.966768 91.770073 4.288610 0.047923 0.408408 0.804208 v -20.612555 92.201797 6.061234 0.230225 0.657199 0.759346 v -19.973183 90.844551 7.441065 0.248088 0.947428 0.177789 v -19.355841 89.277466 7.443578 0.225371 0.874680 0.919298 v -19.600126 88.307968 7.767462 0.680564 0.076953 0.649421 v -19.598255 87.362221 8.486769 0.405204 0.012664 0.374867 v -19.477619 86.651474 7.652411 0.697480 0.573324 0.766165 v -19.520798 87.393639 6.678987 0.578305 0.555513 0.576292 v -18.932278 88.883827 6.147947 0.232093 0.645218 0.866966 v -18.774023 90.344421 7.128166 0.931286 0.287541 0.780061 v -18.365404 90.008240 5.848332 0.147892 0.470847 0.736202 v -18.258224 91.639000 6.522682 0.838086 0.757051 0.740828 v -17.950169 91.326355 5.455276 0.136594 0.830269 0.382297 v -16.971952 93.133919 5.092734 0.905119 0.316870 0.992141 v -17.546808 93.590607 5.986153 0.384280 0.115696 0.482105 v -14.801329 98.136543 4.394403 0.677037 0.478957 0.631543 v -15.927629 98.715637 4.874739 0.799048 0.197940 0.094413 v -17.631569 99.339653 4.761961 0.984421 0.295263 0.446238 v -18.720881 93.998123 6.238271 0.138312 0.512148 0.747324 v -20.149824 94.204338 5.464005 0.515388 0.725160 0.082254 v -18.991476 99.512573 3.477352 0.802670 0.795991 0.109130 v -19.370266 92.087914 6.781637 0.388455 0.951365 0.248134 v -17.643158 104.085678 1.775540 0.318763 0.148442 0.329112 v -16.356791 104.141983 3.324363 0.751937 0.315237 0.196929 v -14.274197 103.530220 3.889781 0.590982 0.573643 0.009241 v -12.714577 102.877800 3.539901 0.393261 0.060011 0.794481 v -11.952686 105.335129 2.976552 0.920114 0.921307 0.437999 v -11.414400 108.156570 1.979294 0.166122 0.259319 0.715496 v -11.143232 109.558800 1.342507 0.818370 0.886259 0.868616 v -9.812971 111.315857 0.367107 0.742538 0.344521 0.229736 v -8.916426 116.153168 1.771926 0.237018 0.480443 0.466196 v -7.361839 121.461266 0.965102 0.727710 0.827333 0.087448 v -7.105726 129.240906 0.004594 0.411366 0.750825 0.839993 v -7.361300 128.836899 2.389067 0.171418 0.338460 0.926349 v -8.464005 128.915298 3.773743 0.974892 0.797866 0.333761 v -8.388468 121.583145 2.791947 0.207854 0.020735 0.144104 v -10.167938 121.764442 3.714473 0.619829 0.490204 0.263336 v -10.347630 128.976334 4.394796 0.926639 0.986360 0.856728 v -12.968254 129.546570 3.009975 0.874766 0.453681 0.069058 v -13.035040 122.592247 2.534668 0.927779 0.785943 0.084056 v -13.622416 129.851990 0.591427 0.881713 0.139925 0.773632 v -14.121677 122.996590 -0.064219 0.276488 0.352246 0.151817 v -13.034363 116.989868 1.896592 0.274532 0.390890 0.820602 v -14.232649 117.627098 -0.279821 0.482205 0.387782 0.110511 v -14.613068 112.289993 -0.406849 0.091260 0.110375 0.579653 v -13.128387 111.825500 1.014662 0.213771 0.364845 0.292978 v -13.095554 110.317757 1.413991 0.013216 0.376881 0.289982 v -14.703602 110.590446 0.509582 0.346250 0.889589 0.394792 v -14.877123 110.651154 -1.700514 0.990420 0.853069 0.872046 v -15.152487 109.417259 1.474512 0.543451 0.761098 0.085954 v -15.617834 109.130013 -0.918635 0.598535 0.646742 0.449643 v -16.954323 106.526978 0.727934 0.438408 0.904620 0.801893 v -15.838161 106.693771 2.490190 0.335790 0.438142 0.207644 v -13.758307 106.058899 3.229980 0.596673 0.226622 0.853748 v -13.167999 108.972572 2.235780 0.118041 0.749082 0.296352 v -10.887007 111.259056 1.530654 0.493516 0.958466 0.407923 v -10.516222 116.316856 2.676029 0.503354 0.547327 0.483769 v -14.231386 110.200874 -3.606444 0.698223 0.237072 0.018807 v -14.495436 112.405365 -2.436891 0.917439 0.457582 0.176628 v -13.888147 117.855354 -2.730186 0.762216 0.645428 0.303791 v -13.270906 123.369644 -2.750266 0.471992 0.580746 0.048531 v -9.787243 129.784683 -3.008090 0.222965 0.235876 0.039601 v -12.701117 130.221115 -2.104262 0.042906 0.865537 0.435958 v -18.543631 88.621689 5.181212 0.366015 0.473450 0.225711 v -18.659698 87.056137 5.544027 0.618054 0.152136 0.019862 v -19.057007 85.554199 5.653934 0.123106 0.059472 0.878124 v -20.002451 85.813477 6.561892 0.082269 0.232551 0.897326 v -19.797655 85.550636 7.360138 0.835010 0.120627 0.538547 v -20.312395 84.890022 8.695794 0.711618 0.242363 0.243056 v -21.046391 84.118034 7.945985 0.359974 0.464786 0.660161 v -22.022392 83.826492 8.554953 0.516595 0.915322 0.607586 v -22.541142 83.538139 8.975758 0.598416 0.536721 0.835926 v -23.237476 82.773033 9.869303 0.150192 0.779173 0.811446 v -23.443878 82.419548 10.612103 0.617126 0.838309 0.132992 v -23.634846 81.858070 10.659653 0.447385 0.668109 0.686306 v -23.468615 81.043854 10.323876 0.275232 0.304827 0.392527 v -23.096447 81.022430 10.893845 0.747780 0.502984 0.440632 v -23.071814 81.156631 10.866206 0.588633 0.189734 0.774752 v -22.414242 81.020752 11.076035 0.231209 0.831872 0.655193 v -22.582397 80.918205 11.138809 0.495752 0.205937 0.065702 v -22.417484 80.098061 10.997324 0.743243 0.223462 0.679886 v -22.148571 80.185928 10.772624 0.755007 0.513885 0.258923 v -21.954962 80.748955 10.630122 0.622330 0.049971 0.734329 v -22.329826 79.666145 10.570797 0.021700 0.118335 0.652845 v -21.894270 81.769585 10.649060 0.428969 0.793874 0.102586 v -21.943890 82.224586 10.325403 0.639657 0.807612 0.153526 v -22.022713 82.305893 10.844902 0.600793 0.117723 0.785802 v -21.910685 82.878159 10.764807 0.104093 0.251734 0.610128 v -21.442650 84.117592 10.376976 0.533765 0.228848 0.421158 v -22.153770 84.511925 10.635978 0.114761 0.132957 0.768800 v -22.946800 85.686752 9.905704 0.052212 0.284084 0.176249 v -23.356649 85.157967 9.432182 0.100175 0.565782 0.239199 v -23.591400 84.480675 8.737849 0.503750 0.121644 0.047202 v -23.955204 83.097786 8.503020 0.570320 0.372985 0.340413 v -25.089382 83.184837 8.046576 0.683559 0.578019 0.594839 v -25.148510 83.010773 7.208355 0.695013 0.355229 0.459057 v -25.220835 81.953270 7.380832 0.903683 0.829831 0.051424 v -24.711926 81.838287 6.772483 0.550777 0.060012 0.060166 v -24.712330 79.880882 7.313234 0.146893 0.141252 0.497827 v -23.594538 80.312897 7.653627 0.260718 0.419313 0.082133 v -23.470774 82.081032 7.206104 0.682970 0.981163 0.784779 v -23.651390 80.422905 8.306888 0.346906 0.940012 0.754089 v -23.587112 82.387901 7.979179 0.532593 0.767023 0.854757 v -23.135441 82.623016 7.172836 0.132838 0.979663 0.324095 v -23.331127 82.929352 7.958684 0.451452 0.425855 0.869164 v -22.361338 83.476509 7.307891 0.900130 0.258897 0.302944 v -23.019491 83.761002 8.252695 0.669367 0.363665 0.906612 v -21.747219 83.898170 7.571548 0.351965 0.908188 0.494901 v -22.334738 83.754005 8.400124 0.561138 0.618149 0.242401 v -21.126030 84.035667 7.222239 0.531786 0.614056 0.925294 v -23.053684 82.090836 7.124188 0.514145 0.846835 0.174812 v -24.565363 81.550003 6.698475 0.659501 0.976312 0.587310 v -24.436447 79.421631 7.240301 0.204045 0.585085 0.173742 v -24.454111 79.571953 6.439180 0.733138 0.343913 0.744082 v -23.937494 78.614037 6.113401 0.913815 0.020311 0.571186 v -22.874414 79.246124 6.593894 0.642277 0.895269 0.185971 v -22.617611 79.952141 7.105663 0.522842 0.518529 0.836863 v -23.095318 80.064072 7.608613 0.901851 0.469495 0.635639 v -24.496647 78.973816 7.375358 0.176653 0.829668 0.123380 v -24.402826 78.697212 6.691941 0.623398 0.580526 0.367216 v -23.792334 78.266418 6.318703 0.656859 0.343780 0.634965 v -22.695427 78.939629 6.693336 0.591897 0.597551 0.090886 v -22.750275 79.250465 7.245685 0.482370 0.112693 0.977471 v -22.972097 79.473442 7.089101 0.344235 0.435951 0.590137 v -23.380951 79.499603 7.505271 0.160034 0.063401 0.974819 v -24.315762 78.601456 7.494295 0.539124 0.516592 0.402362 v -24.070612 78.104057 6.986979 0.558576 0.139622 0.498382 v -23.413254 77.150230 7.508132 0.709671 0.791108 0.283411 v -23.310802 77.238136 8.217266 0.438394 0.469474 0.548477 v -23.194151 76.962685 8.389999 0.531330 0.062001 0.828601 v -23.073347 76.630989 7.787666 0.620453 0.432156 0.978020 v -22.659935 76.628395 7.225705 0.756139 0.369335 0.661827 v -22.412874 76.513504 7.428703 0.962620 0.826646 0.816856 v -22.579821 76.423553 8.056113 0.227442 0.601615 0.149934 v -22.213217 76.289902 8.253205 0.831146 0.328256 0.756532 v -22.182114 76.603737 8.845345 0.089039 0.416063 0.139495 v -22.904110 76.818283 8.486041 0.664046 0.567438 0.821211 v -21.614098 77.351562 8.854396 0.262656 0.348761 0.826383 v -22.120438 77.712509 8.576693 0.080238 0.787998 0.180210 v -22.416704 77.790802 8.366839 0.560217 0.576352 0.926137 v -22.529516 78.195328 8.285253 0.111285 0.230271 0.599827 v -23.160410 79.235687 7.732556 0.173675 0.190579 0.540603 v -22.058039 78.153099 7.828181 0.765003 0.117797 0.009886 v -22.056578 77.894196 7.228240 0.645293 0.551638 0.850834 v -22.819843 76.928246 7.133730 0.632592 0.199316 0.200308 v -21.986324 77.521484 7.428871 0.004016 0.553762 0.506203 v -22.042370 77.836639 7.919423 0.722431 0.262897 0.567945 v -21.790293 77.802162 8.044468 0.362726 0.421634 0.529038 v -21.640774 77.417374 7.556880 0.766149 0.031360 0.754791 v -21.166023 77.075859 7.901781 0.387246 0.861710 0.337889 v -21.231770 77.358902 8.410342 0.260218 0.764929 0.151695 v -20.657299 76.835861 8.802708 0.534965 0.668841 0.650509 v -20.622520 76.587852 8.338455 0.397474 0.607000 0.354581 v -20.478624 76.283211 9.028132 0.099860 0.017460 0.112360 v -21.021282 76.833229 9.186337 0.632170 0.394651 0.777278 v -21.404434 76.295197 9.190259 0.213620 0.246251 0.558960 v -22.109713 76.380341 8.807701 0.302380 0.311706 0.478182 v -22.109074 76.185417 8.327188 0.058571 0.329964 0.336541 v -21.962755 76.212051 8.385384 0.467812 0.031563 0.939688 v -21.933283 76.367882 8.788329 0.074555 0.346509 0.864656 v -21.443199 76.142265 9.123554 0.881412 0.612238 0.839009 v -20.831339 76.011368 9.349236 0.193820 0.475531 0.151069 v -20.904507 75.879333 9.308973 0.892914 0.381198 0.547105 v -21.440111 76.146805 9.074363 0.067469 0.270793 0.907247 v -21.900434 76.293938 8.787181 0.956653 0.932221 0.262298 v -21.903210 76.181839 8.419891 0.498386 0.705802 0.679384 v -21.465347 76.060913 9.029663 0.541777 0.729182 0.736878 v -20.857141 75.858597 9.274792 0.284755 0.900585 0.243805 v -20.940151 75.823631 9.224151 0.730052 0.786482 0.103685 v -21.401930 75.870735 8.725391 0.251948 0.204046 0.683650 v -21.185379 75.888672 8.434475 0.053928 0.843762 0.405869 v -20.734964 75.697395 8.787898 0.479078 0.410337 0.737232 v -20.863487 75.697121 9.011189 0.424399 0.444162 0.092985 v -20.775599 75.673859 9.056499 0.965693 0.830608 0.246524 v -20.684183 75.683823 8.873076 0.444566 0.063588 0.786308 v -20.678423 75.692055 9.095016 0.376330 0.001654 0.412524 v -20.846243 75.783531 9.217622 0.933919 0.390178 0.731570 v -20.754110 75.812210 9.267436 0.974332 0.903868 0.053441 v -20.605171 75.732658 9.116957 0.636625 0.029570 0.498096 v -20.706814 75.863388 9.293763 0.745416 0.648123 0.339677 v -20.789707 75.938309 9.302579 0.727425 0.220533 0.780980 v -20.740477 76.351120 9.262482 0.358483 0.154313 0.972365 v -20.667486 75.778961 9.076965 0.840182 0.762416 0.508073 v -20.519114 75.747894 8.894691 0.655394 0.004040 0.348412 v -20.554066 75.793327 8.801599 0.991121 0.918956 0.522079 v -20.580126 75.705162 8.897517 0.480825 0.007786 0.727438 v -20.635252 75.722069 8.802970 0.015391 0.782331 0.538291 v -21.119118 75.949295 8.391912 0.292700 0.580386 0.666136 v -21.611031 76.115875 8.171905 0.366197 0.151030 0.401344 v -21.618074 76.173920 8.118155 0.336207 0.786339 0.651301 v -21.086098 75.922554 8.364314 0.726326 0.885058 0.963538 v -20.638130 75.715446 8.742672 0.784332 0.368768 0.337146 v -20.533911 75.828339 8.716865 0.149612 0.746181 0.323654 v -20.470573 76.185059 8.688630 0.271083 0.082539 0.709894 v -20.981663 76.035065 8.291418 0.270551 0.248802 0.667327 v -21.720396 76.140762 7.979994 0.560953 0.497829 0.015272 v -21.698555 76.306221 7.817241 0.253529 0.600493 0.258784 v -20.731726 84.561974 6.305046 0.734430 0.990314 0.858172 v -21.673435 82.419159 4.442668 0.503969 0.800429 0.317846 v -22.237808 81.413109 5.279270 0.528138 0.447944 0.933786 v -22.039976 79.691490 5.759967 0.756092 0.363076 0.624290 v -22.516085 79.822006 6.199456 0.619949 0.818763 0.807842 v -23.532906 79.017090 5.969983 0.381486 0.569654 0.099970 v -23.411449 78.760277 5.328773 0.576994 0.756882 0.765625 v -23.297503 78.870239 6.058109 0.576547 0.234348 0.070212 v -22.478725 79.627548 6.234183 0.938418 0.182585 0.185720 v -22.629438 79.577477 6.048921 0.853940 0.178495 0.128132 v -22.124630 79.704567 5.703496 0.438175 0.570323 0.214179 v -22.266497 79.582138 5.673455 0.236234 0.464866 0.786501 v -22.215040 79.374275 5.200818 0.965140 0.304662 0.023233 v -21.971842 79.370193 5.173601 0.013201 0.630804 0.715954 v -22.956654 78.734512 4.790732 0.299829 0.967542 0.954814 v -22.767683 78.605858 4.961812 0.371122 0.278228 0.735308 v -21.287558 78.714554 5.705262 0.749418 0.604420 0.432942 v -21.369427 78.944122 6.218849 0.320459 0.664098 0.019421 v -21.740210 78.944359 6.652328 0.546136 0.983156 0.791030 v -22.300255 77.965508 6.663888 0.435935 0.520553 0.503722 v -23.019703 78.393242 5.593046 0.324333 0.373449 0.514399 v -22.402567 77.793724 6.011018 0.412330 0.668859 0.065651 v -21.978369 79.567368 5.122886 0.366435 0.210769 0.145405 v -22.189459 81.202202 4.628572 0.194063 0.790028 0.359389 v -22.728903 81.259315 4.193939 0.308635 0.426234 0.242682 v -22.481770 80.249611 4.533565 0.167868 0.068564 0.802321 v -22.338623 79.807053 4.134915 0.856581 0.961570 0.392025 v -21.988710 79.776855 3.685923 0.125075 0.452007 0.672584 v -21.492270 80.327057 3.873488 0.474575 0.280349 0.311402 v -21.281582 80.436813 3.820035 0.814236 0.009347 0.610978 v -21.811411 79.712898 3.822022 0.268159 0.456980 0.048612 v -20.748981 80.076332 4.103232 0.374712 0.001167 0.227122 v -20.772871 80.346329 4.554771 0.560512 0.781398 0.784446 v -21.395775 80.771774 4.224340 0.805786 0.582430 0.182771 v -21.541698 80.571640 4.276182 0.654819 0.121176 0.430433 v -21.706646 80.728912 4.755011 0.821783 0.098253 0.610750 v -21.822626 81.659462 4.499362 0.228685 0.276202 0.576583 v -21.832918 80.557014 4.640749 0.368524 0.759413 0.923075 v -22.414125 80.064049 4.644124 0.649943 0.351325 0.208962 v -22.171406 79.976173 4.716669 0.850152 0.660751 0.206461 v -21.602423 80.692955 4.706306 0.138586 0.636215 0.388668 v -21.068882 80.331749 4.986930 0.670444 0.917318 0.525916 v -21.393803 79.555962 5.067204 0.402479 0.819193 0.501908 v -21.926508 79.580223 4.360628 0.667480 0.695185 0.795250 v -21.108614 79.294472 4.218009 0.178423 0.474208 0.525516 v -21.513668 79.371925 4.573584 0.250262 0.158564 0.135105 v -21.193501 79.166397 4.730601 0.841034 0.002653 0.645496 v -21.021790 79.132477 4.241717 0.410184 0.181215 0.732181 v -20.903179 79.817986 4.154865 0.511505 0.582424 0.625110 v -20.901943 79.208786 4.289092 0.523470 0.725094 0.025547 v -20.904552 79.962936 4.052002 0.982180 0.336493 0.995937 v -20.485863 80.040344 4.156353 0.674099 0.522998 0.203307 v -20.369539 79.466698 4.362173 0.383606 0.965670 0.378035 v -19.911659 80.030106 4.343218 0.719586 0.612879 0.803218 v -20.020945 80.302490 4.644136 0.685550 0.887278 0.465633 v -20.598183 80.326492 4.492947 0.331065 0.302620 0.504728 v -21.062035 80.250984 4.402313 0.635251 0.286101 0.995775 v -20.981775 80.120110 4.520131 0.636630 0.688842 0.623844 v -21.150888 80.079262 4.954565 0.108800 0.113158 0.865059 v -21.309378 79.435852 5.170175 0.150058 0.096524 0.809674 v -21.145462 79.505302 5.147271 0.929223 0.166481 0.335100 v -21.115236 80.260559 4.869144 0.533258 0.479635 0.633316 v -20.685387 80.322258 4.930277 0.658542 0.897937 0.347102 v -20.576271 79.758743 5.163989 0.480908 0.871154 0.531669 v -20.837170 79.271584 4.792645 0.875928 0.355538 0.601505 v -20.565390 79.422089 4.802145 0.852483 0.654050 0.717751 v -20.432520 79.397728 4.843079 0.944244 0.537185 0.058821 v -20.447899 79.647896 5.138264 0.192090 0.282316 0.849056 v -20.361368 79.484253 4.832590 0.359409 0.885236 0.405031 v -20.355682 79.700569 5.070425 0.824747 0.500141 0.896510 v -20.313011 79.499451 4.839662 0.050051 0.461494 0.063235 v -20.307098 79.670555 5.066843 0.455995 0.264586 0.360019 v -19.973019 79.849747 5.145130 0.049955 0.231930 0.791084 v -19.966135 79.861404 5.181650 0.278324 0.406216 0.010606 v -20.004147 79.983391 5.201875 0.870588 0.564976 0.975100 v -20.093349 80.286766 5.047956 0.848444 0.343313 0.064594 v -19.545639 80.265083 4.781099 0.969538 0.666926 0.325121 v -19.554651 80.104584 4.544049 0.792692 0.124856 0.149252 v -19.409487 79.885231 4.685217 0.532588 0.707797 0.860472 v -19.415668 79.923889 4.924414 0.328752 0.858329 0.116042 v -19.519934 80.041275 5.113632 0.983076 0.973747 0.735324 v -19.679810 80.281372 5.029519 0.775818 0.401735 0.479024 v -19.566870 80.082115 5.153631 0.314872 0.314746 0.859858 v -19.552059 79.967651 5.161590 0.675360 0.473973 0.921967 v -19.523335 79.962578 5.123600 0.618055 0.045435 0.210836 v -19.451488 79.971710 5.088862 0.587276 0.217881 0.086690 v -19.557203 79.896416 5.118141 0.256940 0.903699 0.963234 v -19.954399 79.777695 5.129757 0.529039 0.053270 0.806101 v -19.879293 79.599503 4.914822 0.691692 0.119068 0.810642 v -19.489210 79.785439 4.951201 0.359271 0.494356 0.111081 v -19.427923 79.818230 4.955752 0.722668 0.592054 0.720376 v -19.492641 79.906029 5.086392 0.966663 0.332652 0.592552 v -19.380930 79.875984 4.948630 0.805772 0.143142 0.601867 v -19.358154 79.932632 4.935855 0.092801 0.094017 0.876619 v -19.446138 80.026360 5.087206 0.221578 0.280314 0.468355 v -19.357327 79.900879 4.742692 0.323233 0.725668 0.224089 v -19.369127 79.855339 4.769372 0.861445 0.492665 0.527187 v -19.416206 79.798050 4.789938 0.049139 0.671865 0.161572 v -19.461279 79.760933 4.746181 0.965097 0.504693 0.386776 v -19.827255 79.598099 4.636628 0.002579 0.634389 0.294757 v -20.184401 79.497215 4.590926 0.047740 0.634180 0.640858 v -20.221912 79.511551 4.551539 0.402141 0.211643 0.090915 v -20.282017 79.413551 4.494895 0.093023 0.672787 0.726181 v -19.803226 79.631233 4.549764 0.290715 0.330735 0.653374 v -19.826946 79.643379 4.578526 0.365180 0.962081 0.399392 v -19.427666 79.791924 4.679095 0.514447 0.888206 0.971640 v -19.419344 79.815643 4.720213 0.811929 0.901144 0.388948 v -19.428099 79.886055 4.615380 0.057771 0.106330 0.621611 v -19.810991 79.710503 4.452683 0.037037 0.330073 0.582289 v -21.822130 77.729729 5.646976 0.406646 0.021146 0.041878 v -22.014977 77.460503 6.254983 0.736224 0.977942 0.393418 v -21.697001 77.533493 5.712482 0.337306 0.743934 0.057600 v -21.406202 78.482964 5.776667 0.402919 0.318551 0.689793 v -21.612663 78.646255 6.202311 0.435728 0.116701 0.375943 v -21.867825 78.604202 6.649261 0.209741 0.880994 0.058571 v -22.193411 77.770790 6.785807 0.710410 0.540692 0.230314 v -21.957012 77.819206 6.839840 0.391195 0.687314 0.522216 v -21.852629 78.780968 6.725764 0.983259 0.729235 0.943567 v -21.652695 78.875366 6.157003 0.006218 0.467555 0.845243 v -21.361702 78.668907 5.682678 0.035628 0.433138 0.593402 v -21.496986 77.606369 5.828408 0.754231 0.177912 0.388991 v -20.867447 78.634361 5.920341 0.458338 0.493687 0.950374 v -21.087152 78.936073 6.385529 0.761295 0.265270 0.342269 v -21.313866 78.833878 6.918397 0.514267 0.890252 0.651156 v -21.235502 78.033745 7.122942 0.106556 0.073554 0.143796 v -21.556684 77.481087 6.450763 0.159713 0.937140 0.922134 v -21.093618 77.632874 6.614032 0.161932 0.418890 0.831185 v -20.961294 77.622536 6.671791 0.315961 0.382304 0.550251 v -21.064686 77.888283 7.098874 0.225692 0.215950 0.261363 v -20.868359 77.736572 6.691143 0.868608 0.889156 0.366482 v -20.686678 77.719315 6.253703 0.005130 0.035102 0.510671 v -20.622643 77.832626 6.357691 0.535673 0.764223 0.428328 v -20.087324 77.973930 6.462650 0.643882 0.685105 0.603371 v -20.124117 77.983971 6.497004 0.431598 0.497788 0.204451 v -19.636688 78.139565 6.734041 0.179854 0.491911 0.633919 v -19.635365 78.160675 6.792763 0.100293 0.174891 0.981567 v -20.137655 77.910210 6.561389 0.689845 0.948434 0.577334 v -19.694824 78.083870 6.806191 0.821201 0.660575 0.381820 v -19.582298 78.199181 6.873273 0.521882 0.037587 0.700551 v -19.614866 78.260620 6.764588 0.816532 0.819340 0.035491 v -19.561171 78.265343 6.851094 0.137482 0.906190 0.698934 v -19.687391 78.259132 7.099112 0.983245 0.228077 0.402267 v -19.874607 78.743607 6.935209 0.701702 0.706952 0.371062 v -19.786888 78.588501 6.594380 0.274251 0.685199 0.503423 v -20.151056 78.684860 6.259419 0.467395 0.438950 0.207336 v -20.075338 78.102295 6.354148 0.873724 0.188041 0.508155 v -19.622887 78.279259 6.672409 0.747292 0.682387 0.518941 v -20.768503 77.825005 6.078875 0.495659 0.136479 0.854855 v -20.363487 78.978989 6.687317 0.268368 0.488300 0.080206 v -20.567003 78.870781 7.189353 0.417947 0.260211 0.623413 v -20.519890 78.301010 7.348114 0.124664 0.751706 0.722794 v -20.465307 78.142883 7.307750 0.135731 0.620902 0.412488 v -20.929983 77.970001 7.044806 0.261370 0.450189 0.557047 v -20.808554 77.753082 6.713543 0.579198 0.970254 0.851131 v -20.867018 77.929359 7.045814 0.097103 0.913962 0.874143 v -20.436069 78.043587 7.228593 0.996313 0.233591 0.024097 v -20.464350 78.136047 7.257668 0.201966 0.006449 0.496762 v -19.934441 78.272636 7.399709 0.950986 0.618089 0.838972 v -19.952072 78.426430 7.408383 0.151308 0.712029 0.753381 v -20.082899 78.720802 7.256165 0.172624 0.153961 0.489663 v -19.881550 78.379822 7.360821 0.307808 0.906606 0.039838 v -19.887903 78.273529 7.357378 0.666736 0.611533 0.698736 v -19.928995 78.188522 7.329729 0.764459 0.210506 0.698428 v -20.274630 77.850777 6.922225 0.548288 0.685168 0.551877 v -19.787149 78.072731 7.089536 0.090690 0.074246 0.862562 v -19.710291 78.112610 7.115057 0.783266 0.660360 0.752680 v -19.647078 78.120522 6.878314 0.516903 0.371298 0.180509 v -19.648859 78.188751 7.127716 0.323024 0.493751 0.819531 v -19.616941 78.265770 7.127738 0.889312 0.611412 0.427579 v -19.780638 78.363411 7.341747 0.472098 0.344117 0.348760 v -19.787453 78.290909 7.332007 0.099309 0.492169 0.670500 v -19.838606 78.206139 7.306524 0.430751 0.494896 0.097767 v -20.583605 77.802696 6.412159 0.563615 0.469114 0.462510 v -20.570581 84.640533 7.008393 0.273207 0.561319 0.766721 v -23.282686 83.916077 8.411679 0.078917 0.696814 0.552159 v -23.166212 83.966125 9.152246 0.236116 0.165941 0.098122 v -23.244095 84.425522 9.900071 0.863179 0.185456 0.573713 v -23.337746 82.941658 10.532579 0.067231 0.419454 0.836382 v -23.066294 82.488266 10.948999 0.634814 0.999027 0.990142 v -23.162199 81.746239 11.009374 0.187022 0.080237 0.951751 v -22.622169 81.861023 11.357740 0.550864 0.826518 0.329720 v -22.607832 82.443367 11.184399 0.301722 0.787730 0.000616 v -22.567698 82.983147 11.056002 0.888012 0.061347 0.191738 v -22.997538 82.995811 10.851228 0.847381 0.749505 0.789355 v -22.823942 84.534904 10.429995 0.347616 0.640349 0.551925 v -24.029207 82.365021 8.542803 0.290291 0.173486 0.703609 v -25.263041 82.118561 8.091617 0.765658 0.745541 0.467987 v -25.181322 80.118835 8.441781 0.875471 0.573360 0.651497 v -25.125347 80.431679 7.721445 0.079446 0.617827 0.479404 v -25.160721 79.607422 7.871756 0.236683 0.327773 0.508597 v -24.771418 79.510933 7.323428 0.296994 0.694910 0.324636 v -23.764507 79.857651 7.882922 0.321184 0.266663 0.141336 v -23.758425 79.976860 8.353412 0.560724 0.712610 0.747300 v -24.075903 80.556580 8.810664 0.835336 0.614555 0.775077 v -25.267794 79.763397 8.519223 0.197369 0.895639 0.691766 v -25.024954 79.483742 8.624998 0.601875 0.127763 0.677080 v -24.866987 78.985435 8.111547 0.617523 0.034961 0.243983 v -24.560415 79.246925 7.504673 0.115440 0.554431 0.789691 v -24.639355 78.131950 8.369197 0.852923 0.228428 0.638863 v -24.212082 77.851761 7.987743 0.002455 0.070305 0.503683 v -23.262794 78.348610 8.272517 0.103663 0.501810 0.509430 v -23.446997 79.439438 7.958736 0.000555 0.072257 0.003652 v -23.278933 78.486954 8.839183 0.148123 0.483943 0.964050 v -23.489077 79.621315 8.529731 0.762833 0.707304 0.351202 v -24.103300 80.029938 8.699070 0.891890 0.760207 0.447422 v -23.875830 79.658546 8.994174 0.725473 0.798187 0.902285 v -23.675743 78.559586 9.269492 0.207446 0.624180 0.172233 v -24.631155 78.063507 8.992436 0.885932 0.621424 0.675333 v -24.527988 77.590530 8.517833 0.528410 0.594094 0.719611 v -24.149370 77.532997 8.026611 0.546261 0.894572 0.817025 v -23.292578 77.963699 8.410617 0.416434 0.654531 0.160901 v -23.297459 78.132690 8.905478 0.561201 0.924697 0.391617 v -23.661003 78.147766 9.287645 0.152933 0.860187 0.862666 v -24.603586 77.759926 9.107837 0.662069 0.476489 0.560211 v -24.330814 77.548561 9.203376 0.560778 0.869833 0.744206 v -23.350695 77.923500 9.498055 0.492413 0.978588 0.118670 v -22.991137 77.916695 9.073532 0.588250 0.419037 0.405492 v -22.949366 77.727448 8.555919 0.652687 0.711055 0.291628 v -23.910686 77.340988 8.210259 0.440043 0.869306 0.142765 v -22.769997 77.135155 8.776755 0.288238 0.588818 0.681925 v -22.804438 77.319557 9.277390 0.265994 0.384642 0.253471 v -23.147423 77.319550 9.662763 0.600391 0.743816 0.097043 v -23.876188 76.927902 9.459263 0.785060 0.109978 0.279827 v -24.216698 77.194374 8.721462 0.784681 0.536813 0.551420 v -23.950140 76.815216 8.908375 0.954828 0.916781 0.683645 v -23.485464 76.737000 8.541992 0.538838 0.274398 0.134110 v -23.918104 76.684402 8.946796 0.367116 0.719214 0.308440 v -23.586376 76.584373 8.641850 0.778041 0.985586 0.158276 v -23.073555 76.164429 8.860919 0.244549 0.627588 0.923216 v -22.606667 76.483147 9.018345 0.256877 0.344192 0.614969 v -22.601524 76.604271 9.494925 0.722470 0.776265 0.236321 v -22.946476 76.649155 9.816126 0.370035 0.630562 0.477626 v -23.434809 76.340897 9.708879 0.883478 0.286145 0.043277 v -23.899002 76.737137 9.375765 0.233340 0.207895 0.317696 v -23.800047 76.639183 9.003349 0.094040 0.724395 0.046244 v -23.761631 76.665894 9.357679 0.799277 0.660474 0.525028 v -23.513325 76.250305 9.612939 0.649667 0.963531 0.167198 v -23.109709 75.879356 9.778722 0.419511 0.868855 0.447555 v -23.211775 75.812790 9.711574 0.454777 0.049704 0.593095 v -23.501650 76.261757 9.570186 0.426195 0.848686 0.558996 v -23.176682 75.785522 9.675836 0.010995 0.469840 0.684324 v -23.547430 76.213516 9.509879 0.706606 0.790900 0.562201 v -23.763731 76.597244 9.339818 0.994891 0.460789 0.569196 v -23.769083 76.587196 9.025988 0.095489 0.718073 0.734720 v -23.531891 76.103539 9.216069 0.598297 0.820220 0.280916 v -23.311407 76.098213 8.955778 0.349913 0.611904 0.583871 v -23.074051 75.713936 9.213722 0.796179 0.151984 0.929049 v -23.210278 75.715248 9.421732 0.020963 0.357272 0.058367 v -23.155710 75.656029 9.455339 0.045878 0.509070 0.584977 v -23.050674 75.667450 9.285166 0.861842 0.089195 0.411449 v -23.077055 75.626427 9.492914 0.534132 0.476537 0.909955 v -22.963091 75.640450 9.310186 0.517836 0.456435 0.706698 v -23.006575 75.626099 9.521482 0.296624 0.488539 0.979097 v -22.897942 75.651237 9.317122 0.185087 0.656154 0.728863 v -23.032902 75.692413 9.497922 0.084335 0.006338 0.637796 v -22.895557 75.717888 9.246284 0.920307 0.223678 0.812712 v -22.684933 76.018188 9.575258 0.092799 0.222766 0.007716 v -23.097063 75.816345 9.719332 0.299156 0.246531 0.331291 v -22.895794 76.122269 9.782493 0.569178 0.507409 0.483195 v -22.665508 76.009766 9.241856 0.359927 0.357710 0.209369 v -22.854326 75.754593 9.179180 0.002271 0.218898 0.157357 v -23.209553 76.101891 8.899801 0.928828 0.230250 0.337024 v -22.983646 75.701347 9.176030 0.958309 0.696349 0.732180 v -22.987326 75.693016 9.231329 0.027277 0.387594 0.304033 v -23.229698 76.128899 8.931705 0.235458 0.894915 0.334383 v -23.510366 76.543121 8.767832 0.026595 0.734185 0.039546 v -23.533739 76.484901 8.799907 0.451647 0.789228 0.214408 v -23.111025 75.712723 9.657485 0.797618 0.317659 0.933420 v -23.248304 75.799065 9.622831 0.555015 0.753138 0.443473 v -23.187689 75.734383 9.606781 0.940996 0.242670 0.864662 v -23.058035 75.729462 9.692946 0.454060 0.356914 0.736540 v -22.675358 79.539101 10.306497 0.575231 0.220015 0.960806 v -22.042728 87.716782 4.522263 0.154236 0.111494 0.634758 v -22.053453 86.703697 4.450129 0.008180 0.214372 0.555090 v -22.580063 87.901283 5.333773 0.525261 0.315597 0.927257 v -22.803959 88.311005 6.217894 0.112113 0.601687 0.594436 vt 0.842838 0.178799 vt 0.837437 0.183087 vt 0.842760 0.183394 vt 0.836889 0.179245 vt 0.837243 0.175414 vt 0.836453 0.176272 vt 0.836051 0.179308 vt 0.835344 0.176094 vt 0.835202 0.179360 vt 0.836567 0.182346 vt 0.835453 0.182647 vt 0.836249 0.183804 vt 0.834918 0.184366 vt 0.834792 0.174464 vt 0.836132 0.174937 vt 0.835689 0.172668 vt 0.842424 0.174228 vt 0.850879 0.178282 vt 0.850172 0.183173 vt 0.842534 0.184382 vt 0.842253 0.184811 vt 0.836618 0.184563 vt 0.835804 0.186369 vt 0.842213 0.173209 vt 0.849847 0.173510 vt 0.851279 0.171766 vt 0.842032 0.172759 vt 0.850420 0.172921 vt 0.841732 0.170877 vt 0.842023 0.166889 vt 0.835289 0.168686 vt 0.841822 0.212613 vt 0.831817 0.202046 vt 0.834859 0.208882 vt 0.841280 0.206112 vt 0.853559 0.217120 vt 0.857091 0.211219 vt 0.859931 0.206048 vt 0.843967 0.201699 vt 0.845010 0.196949 vt 0.861286 0.200530 vt 0.864364 0.207438 vt 0.860837 0.213477 vt 0.857180 0.219091 vt 0.864846 0.214024 vt 0.867825 0.208713 vt 0.881629 0.214479 vt 0.869702 0.202617 vt 0.884714 0.206468 vt 0.890604 0.220257 vt 0.896127 0.209563 vt 0.901780 0.200550 vt 0.919124 0.206430 vt 0.921865 0.189071 vt 0.905086 0.188276 vt 0.915046 0.169859 vt 0.926981 0.165481 vt 0.907238 0.160753 vt 0.917457 0.155927 vt 0.902890 0.155582 vt 0.906039 0.149134 vt 0.890186 0.144323 vt 0.910020 0.141896 vt 0.890344 0.133451 vt 0.901235 0.125552 vt 0.890426 0.120010 vt 0.900746 0.113514 vt 0.887265 0.106164 vt 0.894843 0.097158 vt 0.883887 0.090971 vt 0.888649 0.082814 vt 0.868928 0.071490 vt 0.883057 0.273230 vt 0.863367 0.301650 vt 0.881285 0.291958 vt 0.861389 0.288690 vt 0.879729 0.267707 vt 0.895025 0.271465 vt 0.887664 0.261777 vt 0.907829 0.258958 vt 0.907151 0.275700 vt 0.890900 0.287249 vt 0.891278 0.081386 vt 0.893855 0.073995 vt 0.885932 0.075977 vt 0.901318 0.087781 vt 0.901133 0.067913 vt 0.882337 0.056436 vt 0.891594 0.055376 vt 0.894918 0.046717 vt 0.908500 0.062014 vt 0.909238 0.081065 vt 0.919804 0.071913 vt 0.926818 0.082493 vt 0.929717 0.065262 vt 0.923837 0.053461 vt 0.930458 0.050276 vt 0.920690 0.045745 vt 0.925257 0.039854 vt 0.938477 0.313889 vt 0.923716 0.317168 vt 0.931313 0.324482 vt 0.929000 0.306682 vt 0.918029 0.315254 vt 0.923339 0.303016 vt 0.938220 0.291090 vt 0.928500 0.287096 vt 0.941609 0.280236 vt 0.927623 0.271097 vt 0.937469 0.255556 vt 0.950210 0.269257 vt 0.962396 0.285037 vt 0.974715 0.269995 vt 0.960878 0.255737 vt 0.984609 0.257784 vt 0.969837 0.244620 vt 0.994849 0.242262 vt 0.984444 0.228679 vt 0.632099 0.385757 vt 0.621713 0.385757 vt 0.621713 0.404872 vt 0.632099 0.370712 vt 0.643477 0.370712 vt 0.643476 0.385757 vt 0.662017 0.385757 vt 0.662017 0.370712 vt 0.710575 0.385757 vt 0.710576 0.370713 vt 0.759344 0.385758 vt 0.759344 0.370713 vt 0.783905 0.385758 vt 0.783905 0.370714 vt 0.812735 0.370714 vt 0.812735 0.385759 vt 0.827712 0.370714 vt 0.827711 0.385759 vt 0.842607 0.385759 vt 0.842607 0.404874 vt 0.886033 0.385760 vt 0.886033 0.404875 vt 0.886033 0.421205 vt 0.932329 0.421205 vt 0.932329 0.404875 vt 0.993006 0.421206 vt 0.932329 0.442138 vt 0.886033 0.442138 vt 0.842607 0.442137 vt 0.842607 0.421204 vt 0.827711 0.421204 vt 0.827711 0.404874 vt 0.812735 0.404874 vt 0.783905 0.404873 vt 0.759344 0.404873 vt 0.710575 0.404873 vt 0.662017 0.404872 vt 0.643476 0.404872 vt 0.632099 0.404872 vt 0.621713 0.421202 vt 0.983376 0.124933 vt 0.993702 0.114117 vt 0.980695 0.101160 vt 0.969822 0.114323 vt 0.969288 0.091449 vt 0.958815 0.103777 vt 0.955134 0.081387 vt 0.944071 0.091947 vt 0.938510 0.080828 vt 0.943241 0.070429 vt 0.953068 0.293767 vt 0.945755 0.303966 vt 0.938439 0.062285 vt 0.931634 0.073127 vt 0.934831 0.104175 vt 0.923149 0.095344 vt 0.914923 0.087812 vt 0.911762 0.097160 vt 0.901691 0.101694 vt 0.888495 0.285771 vt 0.911588 0.108111 vt 0.926547 0.116357 vt 0.942201 0.126280 vt 0.934242 0.137437 vt 0.919041 0.128456 vt 0.924464 0.149324 vt 0.941225 0.159382 vt 0.935857 0.185036 vt 0.949215 0.180369 vt 0.959489 0.178864 vt 0.961960 0.161001 vt 0.632098 0.462562 vt 0.621712 0.462562 vt 0.621712 0.480258 vt 0.632099 0.442135 vt 0.621712 0.442135 vt 0.632099 0.421202 vt 0.643476 0.421202 vt 0.662017 0.421202 vt 0.710575 0.421203 vt 0.759343 0.421203 vt 0.783904 0.421204 vt 0.812735 0.421204 vt 0.812735 0.442137 vt 0.783904 0.442137 vt 0.759343 0.442136 vt 0.710575 0.442136 vt 0.662017 0.442135 vt 0.643476 0.442135 vt 0.643476 0.462562 vt 0.632098 0.480258 vt 0.621712 0.497603 vt 0.963062 0.192825 vt 0.951660 0.196999 vt 0.939017 0.199922 vt 0.939545 0.213644 vt 0.950337 0.219347 vt 0.972000 0.205644 vt 0.621712 0.514838 vt 0.632098 0.497603 vt 0.632098 0.514838 vt 0.643475 0.497603 vt 0.643475 0.514838 vt 0.662016 0.514838 vt 0.662016 0.497603 vt 0.710574 0.514839 vt 0.710574 0.497604 vt 0.710575 0.480259 vt 0.662016 0.480258 vt 0.662016 0.462562 vt 0.710575 0.462563 vt 0.643476 0.480258 vt 0.759343 0.462563 vt 0.759343 0.480260 vt 0.759343 0.497605 vt 0.759343 0.514839 vt 0.759342 0.528758 vt 0.783903 0.528758 vt 0.783904 0.514839 vt 0.812734 0.514840 vt 0.812734 0.528758 vt 0.827710 0.528759 vt 0.827710 0.514840 vt 0.842606 0.528759 vt 0.842608 0.370714 vt 0.886033 0.370715 vt 0.932330 0.385760 vt 0.993006 0.404876 vt 0.993006 0.385761 vt 0.993006 0.370716 vt 0.932330 0.370716 vt 0.993005 0.528760 vt 0.932328 0.514841 vt 0.932328 0.528760 vt 0.993005 0.514842 vt 0.993005 0.497607 vt 0.932329 0.497607 vt 0.993005 0.480262 vt 0.932329 0.480262 vt 0.886032 0.497606 vt 0.886032 0.480261 vt 0.842607 0.480261 vt 0.842606 0.497606 vt 0.827710 0.497605 vt 0.827711 0.480260 vt 0.827711 0.462564 vt 0.812734 0.480260 vt 0.812734 0.462564 vt 0.783904 0.462564 vt 0.783904 0.480260 vt 0.783904 0.497605 vt 0.812734 0.497605 vt 0.842606 0.514840 vt 0.886032 0.514841 vt 0.886032 0.528759 vt 0.827711 0.442137 vt 0.842607 0.462564 vt 0.886032 0.462565 vt 0.932329 0.462565 vt 0.993006 0.442139 vt 0.993005 0.462566 vt 0.710574 0.528757 vt 0.662016 0.528756 vt 0.643475 0.528756 vt 0.632098 0.528756 vt 0.621712 0.528756 vt 0.978415 0.216660 vt 0.959730 0.231164 vt 0.949657 0.242412 vt 0.938332 0.231096 vt 0.930718 0.224494 vt 0.911432 0.216362 vt 0.904746 0.230348 vt 0.888914 0.225004 vt 0.876243 0.223472 vt 0.861338 0.220981 vt 0.871924 0.163334 vt 0.866270 0.163984 vt 0.866428 0.172176 vt 0.860639 0.172122 vt 0.861248 0.161997 vt 0.848684 0.163011 vt 0.852414 0.170001 vt 0.852638 0.178106 vt 0.853937 0.178073 vt 0.852830 0.186071 vt 0.851544 0.184540 vt 0.851508 0.178210 vt 0.842046 0.186595 vt 0.843028 0.190302 vt 0.849652 0.192783 vt 0.836102 0.191570 vt 0.861522 0.194169 vt 0.865959 0.200537 vt 0.866499 0.193448 vt 0.872480 0.194656 vt 0.888193 0.197191 vt 0.889567 0.186381 vt 0.903282 0.173553 vt 0.899403 0.164887 vt 0.890615 0.152317 vt 0.871595 0.140672 vt 0.877745 0.129555 vt 0.881545 0.117935 vt 0.873698 0.116610 vt 0.876478 0.106680 vt 0.850496 0.102760 vt 0.862803 0.264051 vt 0.844412 0.257290 vt 0.842902 0.271022 vt 0.865288 0.252270 vt 0.841825 0.250397 vt 0.862997 0.243713 vt 0.875471 0.250784 vt 0.871093 0.240593 vt 0.889426 0.244437 vt 0.882294 0.235085 vt 0.899586 0.236461 vt 0.886790 0.229252 vt 0.909130 0.240084 vt 0.873562 0.264159 vt 0.875099 0.104913 vt 0.878817 0.099218 vt 0.871558 0.103651 vt 0.859751 0.085810 vt 0.868683 0.081232 vt 0.866070 0.069389 vt 0.860691 0.303701 vt 0.856052 0.291261 vt 0.858020 0.281663 vt 0.853736 0.274921 vt 0.855237 0.098653 vt 0.856788 0.084183 vt 0.861670 0.076748 vt 0.862675 0.067800 vt 0.857300 0.304307 vt 0.850809 0.293199 vt 0.847602 0.287036 vt 0.853005 0.284492 vt 0.849466 0.278195 vt 0.850359 0.093684 vt 0.854262 0.082135 vt 0.855694 0.073258 vt 0.845071 0.067069 vt 0.837731 0.072047 vt 0.835094 0.070116 vt 0.838800 0.063495 vt 0.842098 0.056281 vt 0.838087 0.055043 vt 0.832857 0.060881 vt 0.828525 0.059196 vt 0.823346 0.065548 vt 0.832058 0.068728 vt 0.816431 0.073824 vt 0.822642 0.078762 vt 0.827913 0.080558 vt 0.831812 0.084481 vt 0.844280 0.091562 vt 0.844281 0.280675 vt 0.830381 0.287167 vt 0.833049 0.294248 vt 0.837121 0.300519 vt 0.840307 0.313590 vt 0.837423 0.315709 vt 0.832388 0.303196 vt 0.829020 0.296255 vt 0.825883 0.289772 vt 0.820925 0.291797 vt 0.824800 0.297946 vt 0.827349 0.304571 vt 0.833830 0.316377 vt 0.820364 0.307534 vt 0.816624 0.301802 vt 0.813560 0.295711 vt 0.808374 0.306796 vt 0.811869 0.311399 vt 0.803523 0.311375 vt 0.804827 0.302100 vt 0.809149 0.067054 vt 0.813789 0.061225 vt 0.822882 0.063067 vt 0.826871 0.058547 vt 0.825233 0.057915 vt 0.821760 0.061672 vt 0.814674 0.059677 vt 0.807218 0.057183 vt 0.808517 0.056037 vt 0.815682 0.058648 vt 0.821450 0.060973 vt 0.824497 0.057638 vt 0.809652 0.055449 vt 0.817482 0.054980 vt 0.818593 0.051037 vt 0.811843 0.049801 vt 0.810875 0.052666 vt 0.810847 0.050138 vt 0.810103 0.052397 vt 0.809294 0.052111 vt 0.808021 0.054331 vt 0.809116 0.054570 vt 0.806927 0.055441 vt 0.808387 0.055494 vt 0.806143 0.061257 vt 0.800807 0.308452 vt 0.797904 0.312819 vt 0.799938 0.316050 vt 0.809862 0.049626 vt 0.810941 0.049000 vt 0.818751 0.049998 vt 0.824482 0.053161 vt 0.811000 0.047045 vt 0.809762 0.048106 vt 0.806460 0.314110 vt 0.803428 0.317542 vt 0.804822 0.317821 vt 0.813160 0.318517 vt 0.818618 0.049488 vt 0.819020 0.047608 vt 0.811433 0.048672 vt 0.827037 0.052562 vt 0.829214 0.051164 vt 0.825158 0.052857 vt 0.824221 0.317478 vt 0.845476 0.058468 vt 0.869938 0.261268 vt 0.923241 0.244709 vt 0.919415 0.283692 vt 0.898241 0.287970 vt 0.888022 0.304252 vt 0.882654 0.298741 vt 0.873689 0.064273 vt 0.881188 0.054060 vt 0.887330 0.049491 vt 0.879151 0.052253 vt 0.868009 0.058479 vt 0.871629 0.061580 vt 0.883266 0.310477 vt 0.880543 0.303716 vt 0.876969 0.306681 vt 0.885779 0.307506 vt 0.891293 0.311962 vt 0.888428 0.315263 vt 0.900274 0.320014 vt 0.897824 0.321930 vt 0.880466 0.324949 vt 0.875063 0.321413 vt 0.869986 0.317238 vt 0.860795 0.048253 vt 0.869177 0.039362 vt 0.883335 0.044635 vt 0.877424 0.037410 vt 0.891463 0.042198 vt 0.893571 0.044482 vt 0.894149 0.308048 vt 0.900939 0.317376 vt 0.905550 0.294588 vt 0.916489 0.297672 vt 0.910973 0.303711 vt 0.913940 0.065376 vt 0.917206 0.056528 vt 0.913233 0.044959 vt 0.918597 0.040438 vt 0.924623 0.037810 vt 0.922806 0.320905 vt 0.931280 0.325858 vt 0.920893 0.324326 vt 0.930082 0.327039 vt 0.918868 0.332026 vt 0.913150 0.330958 vt 0.915684 0.321784 vt 0.917003 0.318359 vt 0.912345 0.312804 vt 0.917180 0.301342 vt 0.910506 0.058077 vt 0.905398 0.049651 vt 0.904180 0.046094 vt 0.912685 0.042775 vt 0.911515 0.040562 vt 0.902372 0.042596 vt 0.911300 0.316790 vt 0.909721 0.320880 vt 0.907434 0.329170 vt 0.900384 0.034973 vt 0.908151 0.030725 vt 0.916489 0.035547 vt 0.923447 0.035698 vt 0.919148 0.026302 vt 0.914799 0.031144 vt 0.913143 0.026564 vt 0.918547 0.024052 vt 0.918669 0.335723 vt 0.927045 0.338452 vt 0.926590 0.336589 vt 0.925712 0.340051 vt 0.916995 0.339044 vt 0.915912 0.343735 vt 0.922350 0.346550 vt 0.915117 0.350352 vt 0.910284 0.349638 vt 0.910817 0.342949 vt 0.911775 0.337585 vt 0.912539 0.334304 vt 0.906762 0.333148 vt 0.900258 0.031294 vt 0.907885 0.028674 vt 0.906783 0.026891 vt 0.897689 0.027819 vt 0.906274 0.337174 vt 0.905629 0.342581 vt 0.896779 0.022669 vt 0.903591 0.020445 vt 0.911103 0.022403 vt 0.917288 0.021845 vt 0.909499 0.019312 vt 0.908822 0.017975 vt 0.904518 0.018876 vt 0.908275 0.016928 vt 0.904594 0.017580 vt 0.900407 0.014086 vt 0.901648 0.013601 vt 0.896705 0.015521 vt 0.905424 0.350047 vt 0.910303 0.355048 vt 0.913300 0.354547 vt 0.914007 0.357749 vt 0.911261 0.359209 vt 0.908153 0.358795 vt 0.907228 0.355090 vt 0.896248 0.010676 vt 0.898888 0.009020 vt 0.900177 0.008970 vt 0.900405 0.008552 vt 0.899608 0.007871 vt 0.902714 0.013402 vt 0.904779 0.017052 vt 0.908045 0.016492 vt 0.905656 0.012064 vt 0.901122 0.009060 vt 0.903314 0.007938 vt 0.905464 0.006751 vt 0.908411 0.010358 vt 0.910315 0.014121 vt 0.911978 0.014954 vt 0.910821 0.014246 vt 0.909252 0.009535 vt 0.906431 0.004837 vt 0.905202 0.004862 vt 0.905394 0.005907 vt 0.914827 0.357012 vt 0.918381 0.352681 vt 0.910415 0.008685 vt 0.905877 0.005950 vt 0.913811 0.015247 vt 0.880783 0.029961 vt 0.873548 0.032622 vt 0.878961 0.027713 vt 0.887412 0.336770 vt 0.888058 0.334188 vt 0.877336 0.329195 vt 0.872277 0.325050 vt 0.867065 0.321389 vt 0.859336 0.043512 vt 0.868061 0.037061 vt 0.865778 0.035338 vt 0.855764 0.040053 vt 0.869507 0.328630 vt 0.863489 0.324838 vt 0.874551 0.332745 vt 0.884877 0.338373 vt 0.871514 0.338011 vt 0.865546 0.334278 vt 0.859597 0.330711 vt 0.851988 0.034421 vt 0.859518 0.028759 vt 0.869803 0.028572 vt 0.876825 0.025271 vt 0.866278 0.024773 vt 0.865254 0.023689 vt 0.860101 0.026520 vt 0.864112 0.022576 vt 0.868089 0.018572 vt 0.866340 0.018146 vt 0.862579 0.012936 vt 0.856380 0.009964 vt 0.861832 0.014293 vt 0.862416 0.013422 vt 0.856790 0.010987 vt 0.855204 0.010115 vt 0.855722 0.008719 vt 0.861682 0.353551 vt 0.858676 0.347756 vt 0.857362 0.353661 vt 0.862801 0.349201 vt 0.866233 0.344959 vt 0.869986 0.350271 vt 0.863096 0.353185 vt 0.857244 0.008188 vt 0.857001 0.009836 vt 0.863692 0.011372 vt 0.870504 0.018138 vt 0.878088 0.344928 vt 0.861023 0.341720 vt 0.855109 0.339607 vt 0.847424 0.026138 vt 0.852956 0.022390 vt 0.854339 0.021292 vt 0.859679 0.024929 vt 0.855640 0.020648 vt 0.859706 0.024237 vt 0.863634 0.022129 vt 0.848975 0.016842 vt 0.850614 0.016241 vt 0.846388 0.020204 vt 0.854541 0.346366 vt 0.853664 0.351389 vt 0.850744 0.015645 vt 0.849462 0.015104 vt 0.851874 0.015984 vt 0.858908 0.017642 vt 0.854353 0.013495 vt 0.853180 0.012439 vt 0.855797 0.010956 vt 0.850870 0.014493 vt 0.865650 0.018200 vt 0.920052 0.236677 vt 0.621713 0.370712 vt 0.875768 0.230885 vt 0.868306 0.227115 vt 0.887138 0.158510 vt 0.889684 0.168767 vt 0.871968 0.172319 vt 0.867317 0.178475 vt 0.860863 0.178232 vt 0.860973 0.184284 vt 0.866608 0.184893 vt 0.872031 0.185005 vt 0.872213 0.178528 vt 0.889440 0.177509 vt 0.868455 0.230245 vt 0.881625 0.147822 vt 0.866051 0.233671 vt 0.857998 0.235565 vt 0.869919 0.125744 vt 0.864567 0.136266 vt 0.844520 0.118064 vt 0.852934 0.111698 vt 0.844360 0.108641 vt 0.846452 0.101313 vt 0.839836 0.272903 vt 0.838153 0.258547 vt 0.836713 0.251916 vt 0.839765 0.243029 vt 0.843603 0.131497 vt 0.841212 0.116506 vt 0.837466 0.115618 vt 0.836743 0.107059 vt 0.842332 0.100390 vt 0.827251 0.104994 vt 0.825786 0.097670 vt 0.835985 0.271656 vt 0.819439 0.260940 vt 0.819117 0.273473 vt 0.832422 0.258797 vt 0.817994 0.254501 vt 0.831421 0.252440 vt 0.834438 0.245019 vt 0.838832 0.128236 vt 0.833077 0.128365 vt 0.820810 0.124045 vt 0.822861 0.111287 vt 0.821229 0.103682 vt 0.822135 0.096691 vt 0.815823 0.274570 vt 0.814373 0.262295 vt 0.813208 0.255384 vt 0.817099 0.247815 vt 0.830067 0.245754 vt 0.812143 0.248987 vt 0.819876 0.110300 vt 0.816655 0.121302 vt 0.816544 0.110477 vt 0.811473 0.121600 vt 0.808275 0.255901 vt 0.807027 0.249703 vt 0.809460 0.261920 vt 0.812164 0.273455 vt 0.802334 0.263297 vt 0.801012 0.257115 vt 0.799188 0.251371 vt 0.804611 0.118479 vt 0.807853 0.109260 vt 0.815568 0.103183 vt 0.810357 0.102815 vt 0.818198 0.096340 vt 0.809020 0.095848 vt 0.808882 0.102694 vt 0.807535 0.097603 vt 0.799742 0.095316 vt 0.802828 0.273007 vt 0.794681 0.264665 vt 0.793465 0.271039 vt 0.792800 0.259491 vt 0.790761 0.254608 vt 0.797163 0.114795 vt 0.798933 0.108422 vt 0.806837 0.107300 vt 0.807354 0.102603 vt 0.805545 0.106433 vt 0.799243 0.106866 vt 0.792478 0.106857 vt 0.793253 0.105510 vt 0.806674 0.102566 vt 0.799795 0.105719 vt 0.805115 0.105927 vt 0.800261 0.102226 vt 0.800220 0.098396 vt 0.794390 0.099176 vt 0.794268 0.102078 vt 0.787070 0.262358 vt 0.782803 0.265452 vt 0.785576 0.267796 vt 0.781941 0.262214 vt 0.785531 0.259233 vt 0.792640 0.110625 vt 0.789023 0.265624 vt 0.786730 0.268415 vt 0.793000 0.097002 vt 0.799880 0.097046 vt 0.793794 0.098285 vt 0.792232 0.098263 vt 0.793451 0.098725 vt 0.792714 0.099548 vt 0.806047 0.098348 vt 0.805566 0.098784 vt 0.792994 0.105061 vt 0.791754 0.105434 vt 0.792381 0.104169 vt 0.794030 0.104667 vt 0.832936 0.196442 vt 0.832052 0.189846 vt 0.828236 0.194431 vt 0.831055 0.190660 vt 0.828031 0.200429 vt 0.972508 0.141505 vt 0.962546 0.125726 vt 0.950081 0.115832 vt 0.955912 0.134932 vt 0.949019 0.146482 vt 0.836571 0.174188 vt -13.280798 81.907349 vt -12.966859 81.744247 vt -12.962575 81.846642 vt -4.901785 82.697876 vt -4.853787 82.794609 vt -4.904505 82.892227 vt -6.062336 73.020782 vt -6.030817 73.099609 vt -6.290397 73.208443 vt -24.108358 61.043045 vt -24.380100 60.948093 vt -24.347284 60.869804 vt -23.168671 74.542068 vt -23.426643 74.468399 vt -23.405106 74.365005 vt -22.420420 79.664818 vt -22.742420 79.507454 vt -22.482708 79.574738 vt -21.501467 80.734955 vt -21.828615 80.685127 vt -21.825912 80.582687 vt -24.539267 74.774750 vt -24.593559 74.679634 vt -24.544312 74.582306 vt -24.720654 68.965935 vt -24.853746 68.902687 vt -24.788773 68.866089 vt -24.642443 54.815594 vt -24.697002 54.866425 vt -24.923187 54.676853 vt 20.527197 75.708702 vt 20.827028 75.618347 vt 20.822268 75.706467 vt 15.069846 74.377930 vt 14.780270 74.365578 vt 14.779616 74.277321 vt 15.147603 74.347206 vt 14.783456 74.241791 vt 15.073033 74.254150 vt 22.319008 29.725336 vt 22.637953 29.930254 vt 22.714128 30.008217 vt 6.021642 82.272835 vt 6.082910 82.170525 vt 6.146212 82.206207 vt -3.392055 69.992538 vt -3.604435 70.197769 vt -3.657134 70.147736 vt -24.982498 80.808250 vt -25.033176 80.148163 vt -24.929272 80.136566 vt -25.184652 77.232193 vt -25.189497 76.753197 vt -25.124523 76.671219 vt -17.347164 81.583336 vt -17.477264 81.049355 vt -17.408880 81.077522 vt -24.965441 36.990669 vt -25.106844 37.056370 vt -25.150936 36.996990 vt -13.939616 81.056671 vt -13.817569 81.537354 vt -13.869593 81.561409 vt -14.723388 80.664238 vt -14.729911 79.937370 vt -14.677851 79.913383 vt -25.048264 80.853653 vt -25.110710 80.798485 vt -25.057501 80.126808 vt -21.421728 59.112392 vt -21.000635 59.011219 vt -20.950727 59.077950 vt -20.822660 81.163696 vt -20.823622 81.087761 vt -20.352224 81.059280 vt -15.007541 81.060905 vt -14.545848 81.072983 vt -14.544574 81.148911 vt -14.615086 53.961464 vt -14.572099 53.892414 vt -14.153472 53.976227 vt 3.087521 79.545944 vt 3.150949 80.216942 vt 3.092438 80.273430 vt -18.649740 81.545967 vt -18.599796 81.038437 vt -18.531853 81.007858 vt -21.422457 81.067307 vt -21.475929 81.045052 vt -21.364342 80.560638 vt -20.859776 80.796547 vt -20.930107 80.047058 vt -20.876602 80.069229 vt -15.758815 67.223358 vt -16.313395 67.291840 vt -15.859357 67.130402 vt -2.035691 81.422890 vt -1.993118 80.671852 vt -1.912670 81.483025 vt 23.437548 37.366653 vt 24.005960 37.893520 vt 23.830179 37.865952 vt 8.616843 51.366055 vt 8.577897 51.992306 vt 8.529596 52.003117 vt 9.252394 48.405434 vt 9.300345 48.393166 vt 9.122686 49.002995 vt -18.070995 77.872025 vt -18.045179 77.795334 vt -17.504133 77.642738 vt -1.592973 79.387001 vt -1.229029 79.509552 vt -1.232568 79.590401 vt -18.154575 77.858070 vt -17.659897 77.617889 vt -17.613264 77.706413 vt -19.675653 76.488716 vt -19.718773 76.398422 vt -19.066320 76.185745 vt -20.030107 76.876526 vt -19.473112 76.632156 vt -19.376259 76.668167 vt 13.383660 35.481831 vt 13.636287 35.379208 vt 13.641295 35.480663 vt -6.654805 -8.365225 vt -6.634789 -8.469424 vt -6.437697 -8.412366 vt -22.366480 45.558010 vt -22.520136 45.725204 vt -22.467236 45.524754 vt -22.178465 46.121540 vt -22.370176 46.241550 vt -22.239649 46.060287 vt -21.651302 52.232330 vt -21.682096 52.164497 vt -21.481995 52.059071 vt -21.933920 74.361923 vt -21.905722 74.229233 vt -21.854258 74.283089 vt -21.903875 64.307571 vt -21.952784 64.159195 vt -21.895351 64.135887 vt 5.222324 53.074017 vt 5.261543 53.122009 vt 5.087721 53.741074 vt -17.565931 76.028709 vt -17.691360 75.688889 vt -17.628849 75.615814 vt 3.340878 67.729027 vt 3.153528 67.965942 vt 3.141085 67.854561 vt 3.179656 67.878967 vt 3.233875 67.947433 vt 3.033646 68.072273 vt -12.329519 56.470474 vt -12.559288 56.528862 vt -12.566625 56.441841 vt -12.276855 56.189835 vt -12.209578 56.276009 vt -12.506487 56.248760 vt 15.233047 41.448120 vt 15.276448 41.387516 vt 15.321365 41.512554 vt -8.533902 28.092340 vt -8.771352 28.066711 vt -8.553642 28.020460 vt -9.949520 17.450905 vt -10.164249 17.509457 vt -10.168746 17.422993 vt 15.664044 14.831587 vt 15.758834 14.777785 vt 15.852901 14.811986 vt 23.269117 53.401058 vt 22.737137 53.098820 vt 23.254719 53.322948 vt -7.668017 59.672302 vt -7.655995 59.721519 vt -8.107017 60.134964 vt -4.960114 60.649776 vt -5.442257 61.070023 vt -5.458311 61.021969 vt -3.031946 58.470219 vt -3.542770 58.910431 vt -3.091305 58.457394 vt -3.318071 40.952904 vt -3.409355 40.809219 vt -3.349289 40.800262 vt 16.696817 46.509789 vt 17.111588 46.529202 vt 17.124531 46.603233 vt 17.180601 71.488686 vt 17.215401 71.417297 vt 17.595713 71.498428 vt -10.437354 66.672501 vt -10.133651 66.953621 vt -10.497066 66.718147 vt -21.436953 64.840187 vt -21.348379 64.788948 vt -21.246161 64.825592 vt -16.611483 54.277634 vt -16.569214 54.480591 vt -16.639660 54.554798 vt -13.177969 56.648956 vt -13.159972 56.926968 vt -13.269915 56.692135 vt -21.622169 49.433235 vt -21.709473 49.729713 vt -21.668186 49.410831 vt -18.974735 63.596191 vt -19.011845 63.639744 vt -19.113567 63.347900 vt -22.102947 77.317871 vt -22.490812 77.163521 vt -22.442757 77.132462 vt -12.119361 14.233775 vt -12.264164 13.822655 vt -12.094280 14.203976 vt 8.407323 16.310186 vt 8.603148 15.819048 vt 8.637774 15.940213 vt -14.266129 13.162105 vt -14.572497 12.863295 vt -14.551475 12.830507 vt -16.000809 18.071709 vt -16.046944 18.084570 vt -16.365974 17.785240 vt -11.593095 81.764191 vt -11.643042 81.884987 vt -11.640715 81.769302 vt -18.935415 80.680809 vt -18.942732 80.601746 vt -18.862934 80.610916 vt -18.351240 72.949760 vt -18.430992 72.940193 vt -18.458384 72.870880 vt -21.478188 79.117897 vt -21.908772 78.931801 vt -21.511641 79.051300 vt -21.378986 77.941895 vt -21.828686 77.827087 vt -21.808691 77.753777 vt -22.092714 77.864502 vt -22.433155 77.680252 vt -22.075806 77.790413 vt -18.071188 47.372688 vt -18.262735 47.484516 vt -18.122690 47.325787 vt -17.223572 52.291683 vt -17.348658 52.407093 vt -17.420132 52.394447 vt -13.715596 63.991695 vt -13.892319 64.025307 vt -13.753313 63.927109 vt -13.654475 64.842590 vt -13.804609 64.948738 vt -13.831252 64.875916 vt -10.624310 74.467674 vt -10.803354 74.507584 vt -10.647633 74.409821 vt -10.045069 78.490166 vt -10.220023 78.584106 vt -10.224277 78.529335 vt 21.423227 40.709637 vt 21.460184 40.900852 vt 21.366217 40.725914 vt 21.534981 40.928646 vt -19.859163 80.002586 vt -19.786373 79.933014 vt -19.780779 79.987671 vt 16.433493 2.311489 vt 16.328476 2.073427 vt 16.473440 2.267678 vt 16.319803 2.152127 vt 0.917863 72.905502 vt 0.724840 72.938110 vt 0.890703 72.858734 vt -0.533980 67.203041 vt -0.698285 67.285591 vt -0.713459 67.225090 vt -1.481217 50.679893 vt -1.660182 50.705791 vt -1.508716 50.608021 vt -1.781858 49.605221 vt -1.932562 49.704159 vt -1.947334 49.630840 vt -3.581584 27.337696 vt -3.745150 27.373541 vt -3.550321 27.271770 vt -5.867065 20.552500 vt -5.883842 20.484892 vt -5.681700 20.434368 vt 7.875409 41.703487 vt 8.155315 41.711731 vt 7.856202 41.756355 vt -1.937450 2.308768 vt -2.237119 2.268038 vt -2.238681 2.216882 vt -19.248594 37.934601 vt -19.281847 37.955376 vt -19.632938 37.729897 vt -19.568060 35.432007 vt -19.908785 35.157215 vt -19.876650 35.134743 vt -18.838043 30.929428 vt -19.151180 30.586153 vt -18.828705 30.882147 vt 17.285658 48.556179 vt 17.645647 48.254337 vt 17.684103 48.317162 vt 18.142324 53.423328 vt 18.159569 53.351711 vt 18.515976 53.138569 vt 7.795896 47.056297 vt 7.734661 47.108875 vt 7.782682 46.983833 vt 13.246961 68.168839 vt 13.154365 68.136734 vt 13.222898 68.094101 vt 14.119160 62.008713 vt 14.042029 62.026592 vt 14.027302 61.974552 vt 5.081212 77.564758 vt 4.976224 77.494034 vt 5.018115 77.470200 vt 7.104720 46.187252 vt 7.059463 46.313324 vt 7.051177 46.236820 vt 20.553385 46.190582 vt 20.528040 46.121414 vt 20.868734 45.967319 vt 20.329258 44.141109 vt 20.639849 43.911270 vt 20.691383 43.933811 vt -18.170467 72.144310 vt -18.277231 72.064919 vt -18.205360 72.075066 vt -5.981986 76.909927 vt -6.060046 76.661385 vt -6.006419 76.610451 vt -20.831814 28.352118 vt -20.878057 28.374393 vt -21.300076 28.038624 vt -20.968763 25.818407 vt -21.374475 25.426769 vt -21.329800 25.401499 vt -20.184708 20.576321 vt -20.524796 20.084469 vt -20.163666 20.517557 vt 10.904166 63.844948 vt 10.802372 63.850113 vt 10.794060 63.777676 vt 3.550812 -15.745242 vt 3.473444 -15.811595 vt 3.815094 -15.832639 vt -0.337098 75.908051 vt -0.457584 75.788940 vt -0.398881 75.767746 vt 9.040662 20.383110 vt 9.486972 19.864929 vt 9.477864 20.031254 vt -22.886127 42.405945 vt -23.020880 42.797577 vt -22.944971 42.376152 vt -12.196471 62.899807 vt -11.947727 63.187943 vt -11.982423 63.254375 vt -21.307568 75.460373 vt -21.755302 75.238380 vt -21.289335 75.361069 vt -21.407801 74.769936 vt -21.914968 74.589737 vt -21.854376 74.545631 vt -10.477211 5.101058 vt -10.522665 5.123186 vt -10.489478 4.562965 vt -12.546290 2.243105 vt -12.754499 1.729528 vt -12.711775 1.702503 vt -13.211301 75.516907 vt -13.261633 75.164192 vt -13.182330 75.108345 vt -16.872229 78.879494 vt -16.853344 78.725609 vt -16.790434 78.726494 vt -16.060448 7.160186 vt -16.123280 7.156952 vt -16.396542 6.662013 vt -21.816919 74.980873 vt -22.400045 74.835617 vt -22.374529 74.737938 vt -21.717464 76.573074 vt -22.277285 76.335274 vt -21.761637 76.485161 vt -5.384160 15.659034 vt -5.687891 15.723919 vt -5.681312 15.633886 vt -4.754492 21.752655 vt -4.999167 21.737196 vt -4.693703 21.681036 vt -5.339038 46.912880 vt -5.582036 47.001263 vt -5.583987 46.902634 vt -5.435813 64.705956 vt -5.691222 64.777733 vt -5.698783 64.694710 vt -4.554210 70.919029 vt -4.836420 70.919472 vt -4.580134 70.850891 vt 4.907545 -14.103659 vt 5.176854 -14.174056 vt 5.189714 -14.098816 vt 21.298248 33.546387 vt 21.372538 33.528851 vt 21.423166 33.804314 vt 21.149830 34.255199 vt 21.282768 34.576263 vt 21.188374 34.532608 vt -21.807652 77.128235 vt -21.710119 77.038353 vt -21.704981 77.111641 vt -20.855980 67.502411 vt -20.988501 67.388557 vt -20.895575 67.408150 vt -19.609715 43.009243 vt -19.811665 43.154465 vt -19.902605 43.127113 vt -17.075439 57.944859 vt -16.853191 57.833153 vt -16.814964 57.924095 vt -17.025242 59.195992 vt -17.047201 59.096146 vt -16.786703 59.075665 vt -14.825747 69.958633 vt -14.804604 70.039276 vt -15.070571 70.065598 vt -14.575618 74.771454 vt -14.844608 74.870323 vt -14.841670 74.796913 vt -20.065704 38.901302 vt -20.353678 39.030724 vt -20.125092 38.833321 vt 4.778853 47.048828 vt 4.687734 47.197681 vt 4.697696 47.096138 vt 18.226814 44.045017 vt 18.586111 43.923355 vt 18.226284 44.118408 vt 5.109795 1.761745 vt 4.802361 1.491548 vt 4.837121 1.435493 vt 19.124901 50.551624 vt 19.563044 50.308277 vt 19.624464 50.348457 vt 23.102766 65.727600 vt 23.296207 66.363670 vt 23.171272 66.270592 vt 13.897008 74.596352 vt 13.897177 74.043549 vt 13.940557 74.582253 vt 12.174642 75.223862 vt 12.153668 74.638092 vt 12.199791 74.671631 vt -16.996925 78.631783 vt -17.071316 78.581520 vt -16.684879 78.135597 vt -15.165278 78.626877 vt -14.894351 78.240150 vt -14.818876 78.288765 vt 15.879554 65.857178 vt 16.126783 65.771866 vt 16.128199 65.859116 vt 16.959105 60.826309 vt 17.158522 60.807487 vt 16.915016 60.902912 vt 18.540630 41.365143 vt 18.714703 41.241707 vt 18.737965 41.330780 vt 19.145311 39.476791 vt 19.356520 39.432465 vt 19.187044 39.562145 vt 22.916019 -5.409994 vt 22.890692 -5.624705 vt 22.966583 -5.619797 vt 2.114069 -11.838032 vt 1.934391 -11.986060 vt 2.133392 -11.901556 vt -15.306681 76.267967 vt -15.531266 76.314453 vt -15.537746 76.239594 vt -15.253809 76.373199 vt -15.540181 76.344475 vt -15.315587 76.298042 vt -21.055426 58.724087 vt -21.215376 58.442673 vt -21.167120 58.369671 vt 4.603061 7.450190 vt 4.590902 7.295102 vt 4.642870 7.316085 vt 23.306105 45.939995 vt 23.289036 45.844212 vt 23.353600 45.828709 vt 25.048914 42.279079 vt 25.128967 42.330242 vt 25.136259 42.418324 vt 25.380068 61.340065 vt 25.146841 60.807037 vt 25.462463 61.302536 vt 6.507969 77.048309 vt 6.708241 76.535553 vt 6.763387 76.525551 vt 4.758768 77.718781 vt 5.011839 77.245789 vt 4.792472 77.750679 vt 3.295539 77.411102 vt 3.414363 76.874008 vt 3.447109 76.906883 vt 18.123306 72.439171 vt 18.487347 72.493896 vt 18.489887 72.558449 vt 19.471191 77.817299 vt 19.510464 77.758789 vt 19.836651 77.861588 vt 25.652040 69.435463 vt 25.397581 68.974525 vt 25.679745 69.370674 vt 25.708574 69.620079 vt 25.422039 69.227081 vt 25.506004 69.193199 vt -1.403004 79.924065 vt -1.376065 79.865341 vt -1.046874 79.954231 vt 2.028239 75.877831 vt 2.342114 75.887886 vt 2.360008 75.956551 vt -14.731518 78.890511 vt -14.386044 78.551453 vt -14.716591 78.959885 vt 14.365649 73.156265 vt 14.434658 72.635384 vt 14.477988 72.620621 vt -25.398106 49.771484 vt -25.492441 49.669220 vt -25.453745 49.627327 vt -18.219036 78.373703 vt -17.914734 77.947784 vt -17.825687 77.933861 vt -1.132264 74.645004 vt -1.090567 74.568359 vt -0.939541 74.753502 vt -4.819042 71.704155 vt -4.684138 71.813225 vt -4.686984 71.903267 vt -12.080206 61.351814 vt -12.050611 61.541508 vt -12.156161 61.403828 vt -12.635977 60.993122 vt -12.523940 61.145214 vt -12.610312 61.183388 vt -22.052896 45.977966 vt -22.097242 46.164902 vt -22.128944 45.978676 vt -24.535780 43.427784 vt -24.565491 43.632359 vt -24.622484 43.599228 vt -4.171913 79.476830 vt -4.367951 79.516937 vt -4.194127 79.405045 vt -4.075748 79.368965 vt -4.299883 79.504105 vt -4.271725 79.409370 vt -21.100924 74.569733 vt -21.141153 74.455101 vt -21.077887 74.473625 vt -15.694207 70.871223 vt -15.815965 70.983810 vt -15.784316 70.899467 vt 20.446611 75.716385 vt 20.526869 75.626007 vt 20.821939 75.623764 vt 3.057908 60.271179 vt 3.019642 60.335114 vt 2.881572 60.273376 vt -9.558550 81.101013 vt -9.330141 80.913712 vt -9.309689 81.017326 vn -0.581469 -0.077731 0.809809 vn -0.191382 -0.274178 0.942412 vn -0.101627 -0.094821 0.990265 vn -0.577929 -0.146458 0.802789 vn -0.842830 -0.271798 0.464461 vn -0.789758 -0.423322 0.443892 vn -0.556963 -0.320353 0.766228 vn -0.801660 -0.566759 0.189917 vn -0.473739 -0.604938 0.639973 vn -0.189642 -0.421247 0.886868 vn 0.033662 -0.564440 0.824763 vn 0.065462 -0.510971 0.857082 vn 0.457930 -0.836726 0.300211 vn -0.428724 -0.813074 -0.393780 vn -0.844844 -0.509262 0.163823 vn -0.597247 -0.731468 -0.328929 vn -0.918668 -0.082675 0.386212 vn -0.568499 0.191504 0.800073 vn -0.082064 0.171300 0.981780 vn -0.231239 -0.081149 0.969481 vn -0.275582 -0.165868 0.946837 vn -0.228187 -0.417707 0.879452 vn 0.454299 -0.753960 0.474410 vn -0.859340 -0.070620 0.506455 vn -0.908994 0.192694 0.369518 vn -0.793023 -0.265603 0.548173 vn -0.831538 -0.162023 0.531266 vn -0.636860 -0.043245 0.769738 vn -0.960540 -0.155431 -0.230598 vn -0.759514 -0.221534 -0.611560 vn -0.329569 -0.567431 -0.754570 vn -0.720969 -0.110324 -0.684072 vn -0.078219 -0.290536 -0.953642 vn -0.627308 0.141881 -0.765709 vn -0.057527 0.332194 -0.941435 vn 0.571337 0.119083 -0.812006 vn 0.518998 -0.397595 -0.756645 vn 0.918302 -0.321726 -0.230628 vn 0.931730 0.255684 -0.257820 vn 0.530412 0.343028 -0.775201 vn -0.143071 0.122105 -0.982147 vn -0.742973 0.064791 -0.666158 vn -0.114353 -0.412793 -0.903592 vn 0.522263 -0.431989 -0.735252 vn 0.547777 -0.587970 -0.595141 vn 0.911893 -0.393262 -0.117374 vn 0.895016 -0.445326 0.023896 vn 0.614277 -0.762810 -0.201819 vn 0.785852 -0.602527 0.139073 vn 0.676229 -0.074862 0.732841 vn 0.836848 -0.081179 0.541337 vn 0.158849 0.524918 0.836177 vn 0.124607 0.381787 0.915799 vn -0.545122 0.465194 0.697409 vn -0.528459 0.617634 0.582415 vn -0.870724 0.244514 0.426618 vn -0.879086 0.369518 0.301004 vn -0.861904 0.092959 0.498398 vn -0.939024 0.265481 0.218360 vn -0.800989 0.146825 0.580340 vn -0.933012 0.354320 -0.062441 vn -0.871822 0.392438 0.293069 vn -0.853938 0.432813 -0.288827 vn -0.859920 0.289834 -0.420118 vn -0.882778 0.296487 -0.364391 vn -0.843043 -0.035585 -0.536637 vn -0.900204 0.032411 -0.434248 vn -0.940397 -0.090670 -0.327738 vn -0.303659 -0.248543 -0.919767 vn -0.177007 -0.240944 -0.954222 vn 0.707877 -0.278664 -0.649007 vn 0.856563 -0.292093 -0.425367 vn 0.931272 0.008728 0.364147 vn 0.761498 -0.370952 0.531480 vn 0.792016 -0.321512 0.518937 vn 0.594653 -0.691519 0.410047 vn 0.684927 -0.528123 0.501907 vn 0.410627 0.115604 0.904416 vn -0.683889 0.142766 0.715445 vn -0.816431 -0.008393 -0.577349 vn -0.917600 -0.155431 -0.365825 vn -0.945433 -0.017731 0.325236 vn -0.880184 -0.313578 -0.356243 vn -0.362835 -0.288003 -0.886227 vn -0.076876 -0.244087 -0.966674 vn -0.740959 0.058504 -0.668966 vn -0.640980 -0.043184 -0.766320 vn -0.682913 0.232917 -0.692343 vn -0.755303 0.061861 -0.652425 vn -0.876797 -0.174230 -0.448134 vn -0.232948 -0.314615 -0.920164 vn -0.874996 -0.354320 -0.329814 vn -0.162755 -0.610492 -0.775079 vn 0.652516 -0.745384 -0.136296 vn 0.881436 -0.171911 -0.439833 vn 0.814112 -0.270608 0.513749 vn 0.919340 -0.041017 0.391308 vn 0.846583 -0.382427 -0.370098 vn 0.744072 -0.554460 0.372692 vn 0.710746 -0.504501 -0.490158 vn 0.554582 -0.732231 0.395245 vn 0.741997 -0.529435 0.411237 vn 0.792627 -0.304605 -0.528123 vn 0.040193 0.064486 -0.997101 vn 0.233680 0.030091 -0.971831 vn 0.906339 -0.171209 -0.386242 vn 0.217933 0.004028 -0.975951 vn 0.899167 -0.117008 -0.421644 vn 0.273659 -0.301401 -0.913358 vn 0.846736 -0.378857 -0.373424 vn 0.760369 -0.471816 -0.446303 vn 0.934812 -0.324595 0.144047 vn 0.937254 -0.345408 0.046663 vn 0.673574 -0.397168 -0.623310 vn 0.722221 -0.516984 -0.459426 vn 0.895810 -0.411573 0.167638 vn 0.819117 -0.514206 -0.254189 vn 0.884793 -0.411908 0.217750 vn 0.836421 -0.499741 -0.224982 vn 0.897031 -0.326975 0.297250 vn 0.921110 -0.371044 -0.117801 vn 0.916623 -0.152379 0.369518 vn 0.930906 -0.103763 0.350169 vn 0.981140 -0.190924 0.029054 vn 0.895596 -0.133457 0.424329 vn 0.963713 -0.263253 0.043825 vn 0.942961 -0.287179 0.168187 vn 0.833308 -0.215125 -0.509201 vn 0.958403 -0.228645 0.170812 vn 0.931944 -0.133671 -0.337046 vn 0.320292 0.026551 -0.946928 vn 0.632557 0.015381 -0.774346 vn 0.979522 -0.043245 -0.196478 vn 0.713675 0.082430 -0.695578 vn -0.005341 0.087924 -0.996094 vn -0.190954 0.097415 -0.976745 vn -0.494797 0.109653 -0.862026 vn 0.176092 0.051607 -0.983001 vn 0.034455 -0.109653 -0.993347 vn 0.829279 -0.268990 -0.489822 vn 0.588214 -0.364696 -0.721763 vn 0.426099 -0.469192 -0.773461 vn 0.323008 -0.512680 -0.795465 vn 0.190252 -0.460799 -0.866848 vn 0.143132 -0.421552 -0.895413 vn 0.024079 -0.252449 -0.967284 vn 0.128574 -0.335093 -0.933348 vn -0.488907 -0.029145 -0.871822 vn -0.599719 0.098148 -0.794122 vn -0.471999 0.099979 -0.875881 vn -0.644917 0.229926 -0.728813 vn -0.591815 0.265877 -0.760918 vn -0.066012 0.099216 -0.992859 vn 0.004120 -0.046754 -0.998871 vn -0.668416 0.228889 -0.707663 vn -0.688162 0.287637 -0.666066 vn -0.699911 0.338237 -0.629017 vn -0.813837 0.214606 -0.539964 vn -0.800623 0.253517 -0.542833 vn -0.793664 0.224311 -0.565477 vn -0.771203 0.394116 -0.499863 vn -0.812891 0.321543 -0.485580 vn -0.824488 0.182012 -0.535783 vn -0.903989 0.250343 -0.346538 vn -0.866421 0.350902 -0.355144 vn -0.935301 0.343669 -0.084109 vn -0.634053 0.629505 0.449049 vn 0.066500 0.610340 0.789300 vn 0.094943 0.455794 0.884976 vn -0.239509 0.401440 0.883999 vn -0.828730 0.543382 0.133763 vn -0.769097 0.465957 0.437422 vn -0.937590 0.262917 -0.227454 vn -0.890744 0.251167 -0.378765 vn -0.605701 -0.042085 -0.794549 vn -0.719291 0.041597 -0.693442 vn -0.559832 -0.156407 -0.813685 vn -0.511887 -0.133732 -0.848567 vn -0.455641 -0.204718 -0.866268 vn -0.328837 -0.249825 -0.910733 vn -0.142369 -0.218970 -0.965270 vn -0.765709 0.165227 -0.621570 vn -0.842463 0.125950 -0.523789 vn -0.874172 0.066622 -0.480972 vn -0.926481 0.153935 -0.343394 vn -0.966063 0.165929 -0.197882 vn -0.949065 0.298746 -0.099979 vn -0.643269 0.467025 0.606647 vn -0.076571 0.373028 0.924650 vn 0.627613 -0.003632 0.778497 vn 0.787042 0.201819 0.582904 vn 0.769127 0.303018 0.562639 vn 0.989654 -0.134312 0.049928 vn 0.955535 -0.146855 0.255593 vn 0.876522 -0.220405 0.427900 vn 0.685873 -0.035554 0.726829 vn 0.895962 -0.255898 0.362896 vn 0.761742 -0.087344 0.641926 vn 0.896664 -0.283914 0.339610 vn 0.846797 -0.308847 0.432997 vn 0.428297 0.066805 0.901120 vn 0.721183 -0.193152 0.665242 vn 0.217689 0.132023 0.967040 vn -0.296762 0.329020 0.896451 vn -0.154271 0.305490 0.939604 vn -0.836909 0.332987 0.434370 vn -0.867794 0.352855 0.349834 vn 0.075594 0.336528 0.938627 vn -0.889645 0.360179 0.280679 vn -0.495163 0.369060 0.786493 vn 0.106632 0.189032 0.976135 vn 0.604327 -0.041231 0.795648 vn 0.610309 0.076662 0.788415 vn 0.600269 0.198309 0.774773 vn 0.549181 -0.013367 0.835566 vn 0.825831 -0.272866 0.493454 vn 0.699789 -0.238258 0.673391 vn 0.947264 -0.118229 0.297739 vn 0.999939 0.004761 0.006684 vn 0.922575 -0.073183 0.378796 vn 0.628193 -0.097629 0.771874 vn 0.680685 -0.144597 0.718131 vn 0.006806 -0.138859 0.990265 vn -0.093356 -0.095798 0.990997 vn -0.667226 -0.058565 0.742515 vn -0.783563 -0.040040 0.619983 vn -0.991974 0.041932 0.119053 vn -0.998169 0.048891 0.035127 vn -0.628742 -0.094119 0.771844 vn -0.981719 0.039125 0.186132 vn -0.919797 0.147557 0.363567 vn -0.467147 0.043794 0.883084 vn -0.154942 0.381787 0.911161 vn -0.737907 0.474075 0.480300 vn -0.944578 0.275613 -0.178259 vn -0.620808 0.527299 0.580065 vn -0.911008 0.401379 -0.094485 vn -0.919218 0.376141 0.116184 vn -0.546648 0.384289 0.743950 vn 0.016968 0.291757 0.956328 vn 0.034913 0.422895 0.905484 vn 0.184393 -0.150670 0.971221 vn 0.071871 -0.208258 0.975402 vn -0.711570 0.138890 -0.688711 vn -0.944578 0.081240 -0.318033 vn -0.831782 0.101108 -0.545793 vn -0.629933 0.108463 -0.769005 vn -0.044374 0.104617 -0.993500 vn -0.808832 0.118076 -0.576037 vn 0.964690 -0.212928 0.154820 vn 0.941740 -0.123814 0.312662 vn 0.868954 -0.289499 0.401318 vn 0.843043 -0.469741 0.261818 vn 0.906461 -0.406964 -0.112522 vn 0.744316 -0.661458 0.091586 vn 0.496200 -0.865474 0.068606 vn 0.336100 -0.920408 -0.199622 vn -0.189428 -0.862178 -0.469832 vn -0.863826 -0.120243 -0.489181 vn -0.930265 0.220832 0.292947 vn -0.998901 0.035524 -0.029847 vn -0.992492 0.034181 0.117191 vn -0.582141 0.057466 0.811029 vn -0.585315 -0.009827 0.810724 vn 0.179022 0.003021 0.983825 vn -0.300455 -0.273690 0.913663 vn -0.473281 -0.601215 0.643818 vn 0.479354 -0.178808 0.859188 vn 0.798059 -0.255226 0.545824 vn 0.853755 -0.158208 0.495987 vn 0.793237 -0.603534 0.080477 vn 0.925413 0.029847 0.377758 vn 0.985321 -0.037477 -0.166448 vn 0.839229 -0.026612 0.543107 vn 0.718650 -0.027863 0.694784 vn 0.657796 -0.021271 0.752861 vn 0.027650 0.294992 0.955077 vn -0.482650 0.376049 0.790948 vn -0.869747 0.112918 0.480331 vn -0.741234 -0.242775 0.625751 vn -0.049165 -0.061251 0.996887 vn -0.869106 0.255013 0.423780 vn -0.928129 0.138524 -0.345470 vn -0.951262 -0.045534 -0.304910 vn -0.242836 -0.228614 -0.942717 vn -0.493118 -0.130314 -0.860103 vn 0.786401 -0.295480 -0.542405 vn 0.842555 -0.312510 -0.438612 vn 0.916959 -0.040468 0.396863 vn 0.874813 -0.237190 0.422376 vn 0.634175 -0.438917 0.636494 vn 0.701407 -0.396863 0.591998 vn 0.560442 -0.657796 0.503159 vn 0.277749 -0.867275 0.413099 vn 0.289865 -0.941954 0.169347 vn 0.162420 -0.969604 -0.182836 vn 0.616840 -0.782647 0.083071 vn 0.259316 0.110782 0.959380 vn -0.737571 0.062410 0.672353 vn -0.817957 0.158544 0.552965 vn -0.921110 -0.092410 -0.378155 vn -0.134526 -0.392987 -0.909635 vn 0.904904 -0.152532 -0.397259 vn 0.820978 -0.321757 0.471603 vn 0.263283 0.048219 0.963500 vn -0.781823 -0.001373 0.623463 vn -0.869167 -0.416913 -0.265816 vn -0.221351 -0.557939 -0.799768 vn 0.693533 0.090243 -0.714713 vn 0.772729 0.622974 0.121494 vn 0.826289 0.311960 0.468947 vn 0.229469 0.064730 0.971129 vn -0.801569 -0.200293 0.563341 vn -0.789056 -0.586383 -0.183081 vn -0.789300 -0.584216 -0.188818 vn -0.701590 0.000793 0.712546 vn -0.666402 -0.190344 0.720847 vn -0.551561 -0.833979 -0.014374 vn -0.007416 -0.588946 -0.808100 vn 0.121586 -0.724113 -0.678854 vn -0.417768 -0.894314 0.160100 vn -0.463912 -0.884976 -0.039277 vn -0.619465 -0.298105 0.726188 vn -0.509537 -0.239418 0.826441 vn 0.053896 0.623585 0.779870 vn 0.025910 0.825129 0.564318 vn 0.144536 0.461348 0.875332 vn 0.167364 0.458296 0.872860 vn 0.089663 0.603870 0.791986 vn 0.890072 0.340587 0.302835 vn 0.798029 0.081210 -0.597064 vn -0.007019 -0.420545 -0.907224 vn 0.792718 0.073977 -0.605029 vn 0.571062 0.820429 0.027528 vn 0.420911 0.904935 -0.062044 vn 0.571520 0.491104 -0.657369 vn 0.698630 0.240150 -0.673940 vn 0.608539 0.791375 0.057955 vn 0.738426 0.655690 0.157323 vn 0.833461 0.070376 -0.548021 vn 0.911954 0.110050 0.395184 vn 0.194922 0.444014 0.874538 vn -0.333079 -0.039399 0.942045 vn -0.435652 -0.778710 0.451369 vn -0.542436 -0.839991 -0.011689 vn -0.133122 -0.967101 0.216712 vn -0.508103 -0.834925 0.211310 vn -0.475204 -0.755760 0.450514 vn 0.079562 -0.195471 0.977447 vn -0.276681 -0.797967 0.535386 vn -0.561113 -0.551042 0.617603 vn -0.710166 -0.464400 0.529099 vn -0.585589 -0.809503 -0.041688 vn -0.381146 -0.715476 0.585467 vn -0.422193 -0.904386 0.061800 vn -0.060121 -0.856807 -0.512070 vn 0.006897 -0.957976 -0.286660 vn -0.333506 -0.935942 0.112827 vn 0.134861 -0.987091 -0.086215 vn -0.161718 -0.965972 0.201727 vn 0.163915 -0.925077 0.342540 vn -0.022950 -0.609455 0.792474 vn -0.164373 -0.796808 0.581408 vn 0.510941 -0.105838 0.853053 vn -0.166723 -0.531785 0.830287 vn 0.407636 0.183325 0.894528 vn 0.808222 0.545213 0.222449 vn 0.421613 -0.886990 -0.188208 vn 0.368419 -0.860317 -0.352214 vn -0.218329 -0.918302 -0.330180 vn -0.204352 -0.767449 -0.607654 vn 0.710654 -0.574541 -0.406018 vn 0.932401 -0.356883 -0.056581 vn 0.949248 -0.129887 -0.286325 vn 0.426008 -0.492752 -0.758721 vn -0.155156 -0.950896 -0.267678 vn 0.032929 -0.988891 -0.144841 vn -0.134434 -0.965148 -0.224372 vn 0.067202 -0.615162 -0.785485 vn -0.362774 -0.924589 -0.116123 vn 0.727409 -0.592883 0.345470 vn 0.638050 -0.514847 0.572527 vn 0.902799 -0.078829 0.422712 vn 0.856624 -0.203497 0.474044 vn 0.113834 -0.199683 0.973205 vn -0.680105 -0.033937 0.732292 vn -0.791284 -0.557054 -0.252022 vn -0.628101 -0.327586 0.705771 vn -0.106143 0.776452 0.621143 vn -0.255074 0.772515 0.581469 vn -0.030824 0.967650 -0.250374 vn 0.394971 -0.830409 0.392895 vn 0.376598 0.457411 -0.805567 vn 0.505814 0.469253 -0.723808 vn 0.079470 -0.405499 -0.910611 vn -0.039796 -0.690420 -0.722282 vn 0.920957 -0.222755 -0.319620 vn 0.866939 0.379498 0.323038 vn 0.302591 0.055757 0.951476 vn -0.684011 -0.343699 0.643391 vn -0.671804 -0.739860 -0.035524 vn -0.592273 -0.784539 -0.183447 vn 0.763390 -0.520157 -0.382916 vn 0.877010 -0.179052 -0.445784 vn -0.802210 0.041108 0.595599 vn -0.772912 -0.209693 0.598804 vn -0.699057 -0.707327 -0.104678 vn -0.168218 -0.353801 -0.920042 vn -0.254280 -0.009278 -0.967071 vn 0.263833 0.457747 -0.848994 vn 0.041078 -0.736015 -0.675680 vn 0.953795 -0.281167 -0.105808 vn 0.873775 0.448347 0.188330 vn -0.320078 0.865963 -0.384167 vn -0.221351 -0.951109 0.215339 vn 0.140141 -0.369427 0.918607 vn 0.387524 0.139622 0.911191 vn -0.522355 0.368542 0.768944 vn -0.660451 0.012513 0.750755 vn -0.491470 -0.326426 0.807367 vn -0.151097 0.764122 0.627064 vn 0.563097 0.005921 0.826350 vn -0.515763 -0.486587 0.705100 vn -0.497909 -0.864345 0.070589 vn -0.288888 -0.836360 -0.465835 vn -0.526200 -0.846095 0.084719 vn -0.239051 -0.943449 0.229621 vn 0.045808 -0.659413 -0.750359 vn -0.639424 -0.712516 -0.288858 vn 0.317942 -0.842860 -0.434126 vn -0.525864 0.337260 -0.780816 vn 0.251473 0.293924 -0.922117 vn 0.210120 -0.754173 -0.622120 vn 0.325144 0.335215 -0.884243 vn 0.140172 0.942717 -0.302622 vn -0.008698 0.940153 -0.340556 vn -0.936521 0.154790 -0.314524 vn 0.377514 -0.837703 0.394574 vn 0.073977 -0.082675 0.993805 vn -0.345622 -0.210761 0.914365 vn 0.170141 -0.160405 0.972259 vn -0.283090 0.834162 0.473251 vn -0.116489 0.814753 0.567949 vn -0.108463 -0.282632 0.953063 vn 0.318918 -0.839320 0.440230 vn 0.182897 -0.939817 0.288522 vn 0.047121 -0.936033 0.348643 vn 0.279885 -0.645070 0.710990 vn 0.583178 -0.704031 0.405194 vn 0.205847 -0.810602 0.548173 vn -0.009247 0.155187 0.987823 vn 0.245643 -0.647267 0.721549 vn -0.040864 0.836573 0.546281 vn 0.580584 0.802026 -0.140080 vn 0.661000 0.340190 -0.668813 vn 0.856044 0.353862 -0.376751 vn 0.418500 0.868984 -0.263924 vn 0.695059 0.484115 0.531480 vn 0.358074 0.756096 0.547746 vn 0.458022 0.246406 0.854091 vn 0.441359 -0.545030 0.712821 vn 0.448592 -0.197943 0.871517 vn 0.085940 -0.496902 0.863521 vn -0.124485 -0.541765 0.831233 vn 0.060183 -0.934080 0.351909 vn 0.281564 -0.877255 0.388714 vn 0.335490 -0.530076 0.778710 vn 0.386486 -0.830927 0.400159 vn 0.560015 -0.825617 -0.068422 vn 0.375774 -0.888424 -0.263588 vn 0.161321 -0.937895 -0.307077 vn 0.459120 -0.888211 0.015564 vn 0.293069 -0.934446 0.202185 vn 0.436720 -0.899503 -0.010498 vn 0.810022 -0.214057 -0.545885 vn 0.752922 -0.588031 -0.295450 vn 0.442061 -0.440138 -0.781549 vn 0.625507 -0.779656 0.029054 vn -0.162572 -0.599414 -0.783715 vn -0.358043 -0.932951 0.037446 vn 0.444258 -0.681356 -0.581683 vn -0.369243 -0.593799 -0.714835 vn 0.460646 -0.805200 0.373333 vn -0.890011 0.069979 0.450484 vn -0.763207 -0.205237 0.612659 vn -0.230384 -0.393139 0.890133 vn -0.658834 0.669912 0.342174 vn -0.824824 0.362011 -0.434217 vn -0.339824 0.517869 -0.785028 vn 0.266060 -0.746178 -0.610218 vn 0.361644 0.428846 -0.827815 vn 0.010956 0.986877 -0.161046 vn -0.296579 0.705954 0.643117 vn -0.318064 -0.415571 0.852107 vn 0.066775 -0.944365 0.322001 vn 0.108371 -0.985778 0.128269 vn 0.044923 -0.976074 0.212683 vn 0.151128 -0.748894 0.645192 vn 0.516434 -0.766015 0.382733 vn 0.457961 -0.886593 -0.064394 vn 0.261208 -0.961486 0.085330 vn 0.438551 -0.893918 -0.092563 vn 0.794610 -0.546312 -0.264748 vn 0.415723 -0.839808 -0.349071 vn 0.341990 -0.928281 -0.145909 vn 0.568072 -0.815760 -0.108585 vn 0.870693 -0.480911 -0.102756 vn 0.954253 0.259804 -0.147801 vn 0.659169 0.737266 0.147893 vn 0.337321 0.940672 -0.036439 vn 0.801904 0.426374 -0.418439 vn 0.534135 0.447462 -0.717246 vn 0.565905 -0.318461 -0.760460 vn 0.890988 -0.134465 -0.433607 vn 0.615772 -0.787896 0.000183 vn 0.302683 -0.636189 -0.709647 vn 0.165899 0.978912 -0.118931 vn -0.066713 0.707266 0.703757 vn -0.176336 -0.006714 0.984283 vn 0.118931 -0.753624 0.646413 vn 0.109684 -0.891110 0.440321 vn -0.067751 -0.624287 0.778222 vn -0.279183 -0.658650 0.698691 vn -0.002350 -0.981262 0.192572 vn 0.291726 0.111942 0.949889 vn 0.310007 -0.657125 0.687063 vn 0.323496 0.624775 0.710593 vn 0.589923 0.409619 0.695791 vn 0.283578 -0.331400 0.899838 vn 0.200232 -0.651357 0.731834 vn 0.217994 -0.934385 0.281716 vn 0.324534 -0.889615 0.321268 vn 0.736137 -0.521378 0.431532 vn 0.708426 -0.702078 0.071902 vn 0.454543 -0.305246 0.836756 vn 0.204474 -0.873379 -0.442000 vn 0.775414 -0.622150 -0.107730 vn -0.278481 -0.761895 0.584765 vn -0.844569 -0.530168 -0.074587 vn -0.944365 0.053529 0.324503 vn -0.896390 0.216254 0.386853 vn -0.558702 0.204230 0.803797 vn -0.572863 -0.071780 0.816492 vn 0.323862 -0.028230 0.945647 vn 0.005097 0.200842 0.979583 vn -0.086245 0.246010 0.965392 vn -0.552202 0.281899 0.784570 vn -0.617756 0.275521 0.736473 vn 0.450453 0.005219 0.892758 vn -0.690146 0.117344 0.714072 vn -0.955657 0.104770 0.275124 vn -0.926908 -0.083834 -0.365764 vn -0.905576 -0.284616 -0.314463 vn 0.061495 -0.295236 -0.953429 vn 0.891507 0.114017 -0.438337 vn 0.927091 0.075137 0.367199 vn 0.166723 0.027070 0.985626 vn -0.628956 0.048952 0.775872 vn -0.765435 -0.193365 0.613758 vn -0.897183 -0.383282 -0.219337 vn -0.285134 -0.477432 -0.831080 vn -0.876675 -0.319437 -0.359630 vn -0.384686 -0.290902 -0.875973 vn 0.791101 -0.126011 -0.598529 vn 0.814631 0.129246 -0.565355 vn 0.922849 0.174474 0.343303 vn 0.812952 0.538347 0.221961 vn 0.371624 0.370800 0.851100 vn 0.235969 0.414045 0.879116 vn 0.156743 0.184149 0.970306 vn -0.938780 -0.086398 0.333445 vn -0.825556 -0.511765 -0.237709 vn 0.085177 -0.365093 -0.927061 vn 0.796136 0.278268 -0.537309 vn 0.897122 0.319010 0.305551 vn 0.251289 0.541642 0.802149 vn -0.608631 -0.029878 0.792871 vn -0.663411 -0.306711 0.682455 vn 0.168859 0.455672 0.873959 vn 0.683981 0.715842 0.140294 vn 0.774682 0.172948 -0.608203 vn -0.147954 -0.613910 -0.775353 vn 0.827174 0.024903 -0.561357 vn 0.881436 0.360790 0.304697 vn 0.207068 0.303018 0.930204 vn -0.783105 -0.133030 0.607471 vn -0.775506 -0.624592 -0.091647 vn -0.791223 -0.527940 -0.308481 vn -0.107822 -0.367809 -0.923612 vn -0.839595 -0.485427 -0.243690 vn -0.493698 -0.722678 -0.483718 vn 0.267159 -0.432905 -0.860897 vn 0.855068 -0.165502 -0.491348 vn 0.912992 0.199011 0.356120 vn 0.242744 0.112644 0.963500 vn -0.442427 -0.093936 0.891842 vn -0.777917 -0.586718 0.224891 vn -0.542619 -0.838527 -0.049196 vn -0.835597 -0.548997 -0.018525 vn -0.801843 -0.554735 0.221900 vn -0.125919 -0.443617 0.887295 vn -0.647633 -0.703238 0.293191 vn -0.865017 -0.427015 -0.263375 vn -0.821314 -0.369793 0.434339 vn -0.910123 -0.195410 0.365337 vn -0.769066 -0.612384 -0.182958 vn -0.357830 -0.593982 -0.720481 vn -0.361431 -0.772179 -0.522538 vn -0.706839 -0.693625 -0.138737 vn 0.814295 -0.380596 0.438215 vn 0.926298 0.061739 0.371654 vn 0.689383 -0.714652 -0.118137 vn 0.308542 -0.522629 0.794733 vn 0.334758 -0.215583 0.917295 vn 0.844020 -0.457228 -0.280221 vn 0.448134 -0.726951 -0.520249 vn -0.502457 -0.695059 -0.514176 vn -0.363506 -0.839442 -0.403912 vn 0.012177 -0.835078 -0.549974 vn 0.035707 -0.917997 -0.394940 vn -0.693350 -0.615802 -0.374157 vn -0.441054 -0.415693 -0.795373 vn -0.472304 -0.597949 0.647572 vn -0.368084 -0.708304 0.602313 vn -0.711722 -0.596942 0.370220 vn 0.267983 -0.870907 -0.411878 vn 0.431898 -0.650166 -0.625080 vn -0.813715 0.170751 -0.555559 vn -0.788903 0.128849 -0.600848 vn -0.844997 0.333048 -0.418378 vn -0.857082 0.458327 -0.235206 vn -0.775658 -0.420667 0.470443 vn -0.071078 -0.995361 0.064455 vn 0.575091 -0.804132 -0.150334 vn -0.052797 -0.777642 -0.626453 vn -0.534898 -0.047548 0.843562 vn -0.555010 -0.712516 0.429243 vn 0.765435 -0.427198 0.481216 vn 0.728629 0.254524 0.635823 vn 0.993896 0.091586 0.061068 vn 0.139714 -0.674886 0.724540 vn 0.595019 -0.183630 0.782403 vn 0.556749 -0.725028 0.405316 vn 0.550340 -0.469466 0.690420 vn 0.803430 -0.463179 0.374035 vn 0.856777 0.506943 0.094333 vn 0.563646 0.801508 0.199530 vn 0.915830 0.156896 -0.369610 vn 0.846614 -0.503403 -0.172552 vn 0.722068 -0.689810 0.052248 vn 0.335765 -0.941191 -0.037202 vn 0.753197 0.641713 -0.144353 vn 0.010804 -0.779443 0.626362 vn 0.485092 -0.790857 0.373058 vn 0.904355 0.234809 0.356334 vn 0.509507 0.748100 0.425092 vn 0.434462 -0.581439 0.687826 vn -0.860347 -0.468368 0.200934 vn -0.571368 -0.819178 -0.049684 vn -0.277078 -0.901273 -0.332957 vn -0.274911 -0.955718 0.104801 vn 0.455367 -0.807550 0.374737 vn 0.918210 -0.381359 0.106967 vn -0.545824 -0.614887 -0.569140 vn -0.544877 -0.756737 0.361126 vn 0.677511 -0.251686 0.691061 g mesh4.002_mesh4-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 1985/2769/1997 1986/2770/1998 1987/2771/1999 f 1985/2769/1997 1988/2772/2000 1986/2770/1998 f 1988/2772/2000 1985/2769/1997 1989/2773/2001 f 1989/2773/2001 1991/2774/2002 1990/2775/2003 f 1992/2776/2004 1993/2777/2005 1991/2774/2002 f 1996/2778/2006 1993/2777/2005 1995/2779/2007 f 1986/2770/1998 1995/2779/2007 1997/2780/2008 f 1997/2780/2008 1995/2779/2007 1998/2781/2009 f 2002/2782/2010 2004/2783/2011 2003/2784/2012 f 2002/2782/2010 1992/2776/2004 2004/2783/2011 f 2004/2783/2011 1992/2776/2004 1989/2773/2001 f 2004/2783/2011 1989/2773/2001 2005/2785/2013 f 1989/2773/2001 1985/2769/1997 2005/2785/2013 f 2005/2785/2013 1985/2769/1997 2006/2786/2014 f 2006/2786/2014 1985/2769/1997 1987/2771/1999 f 2006/2786/2014 1987/2771/1999 2007/2787/2015 f 1987/2771/1999 1997/2780/2008 2008/2788/2016 f 2011/2789/2017 2009/2790/2018 2010/2791/2019 f 2016/2792/2020 2005/2785/2013 2015/2793/2021 f 2016/2792/2020 2004/2783/2011 2005/2785/2013 f 2019/2794/2022 2018/2795/2023 2014/2796/2024 f 2020/2797/2025 2018/2795/2023 2019/2794/2022 f 2020/2797/2025 2003/2784/2012 2018/2795/2023 f 2021/2798/2026 2003/2784/2012 2020/2797/2025 f 2021/2798/2026 2022/2799/2027 2003/2784/2012 f 2023/2800/2028 2022/2801/2027 2021/2802/2026 f 2023/2800/2028 2024/2803/2029 2022/2801/2027 f 2025/2804/2030 2024/2803/2029 2023/2800/2028 f 2026/2805/2031 2024/2803/2029 2025/2804/2030 f 2027/2806/2032 2024/2803/2029 2026/2805/2031 f 2027/2806/2032 2028/2807/2033 2024/2803/2029 f 2027/2806/2032 2029/2808/2034 2028/2807/2033 f 2027/2806/2032 2030/2809/2035 2029/2808/2034 f 2027/2806/2032 2031/2810/2036 2030/2809/2035 f 2031/2810/2036 2027/2806/2032 2026/2805/2031 f 2031/2810/2036 2026/2805/2031 2032/2811/2037 f 2032/2811/2037 2026/2805/2031 2025/2804/2030 f 2033/2812/2038 2032/2811/2037 2025/2804/2030 f 2034/2813/2039 2032/2811/2037 2033/2812/2038 f 2034/2813/2039 2035/2814/2040 2032/2811/2037 f 2036/2815/2041 2035/2814/2040 2034/2813/2039 f 2036/2815/2041 2037/2816/2042 2035/2814/2040 f 2036/2815/2041 2038/2817/2043 2037/2816/2042 f 2039/2818/2044 2038/2817/2043 2036/2815/2041 f 2040/2819/2045 2038/2817/2043 2039/2818/2044 f 2040/2819/2045 2041/2820/2046 2038/2817/2043 f 2042/2821/2047 2041/2820/2046 2040/2819/2045 f 2043/2822/2048 2041/2820/2046 2042/2821/2047 f 2043/2822/2048 2044/2823/2049 2041/2820/2046 f 2043/2822/2048 2045/2824/2050 2044/2823/2049 f 2046/2825/2051 2045/2824/2050 2043/2822/2048 f 2046/2825/2051 2047/2826/2052 2045/2824/2050 f 2048/2827/2053 2047/2826/2052 2046/2825/2051 f 2048/2827/2053 2049/2828/2054 2047/2826/2052 f 2050/2829/2055 2049/2828/2054 2048/2827/2053 f 2050/2829/2055 2051/2830/2056 2049/2828/2054 f 2052/2831/2057 2051/2830/2056 2050/2829/2055 f 2052/2831/2057 2053/2832/2058 2051/2830/2056 f 2054/2833/2059 2053/2832/2058 2052/2831/2057 f 2054/2833/2059 2055/2834/2060 2053/2832/2058 f 2056/2835/2061 2055/2834/2060 2054/2833/2059 f 2056/2835/2061 2057/2836/2062 2055/2834/2060 f 2058/2837/2063 2057/2836/2062 2056/2835/2061 f 2058/2837/2063 2059/2838/2064 2057/2836/2062 f 2060/2839/2065 2059/2838/2064 2058/2837/2063 f 2060/2839/2065 2061/2840/2066 2059/2838/2064 f 2062/2841/2067 2061/2842/2066 2060/2843/2065 f 2062/2841/2067 2063/2844/2068 2061/2842/2066 f 2062/2841/2067 2064/2845/2069 2063/2844/2068 f 2065/2846/2070 2064/2845/2069 2062/2841/2067 f 2065/2846/2070 2066/2847/2071 2064/2845/2069 f 2065/2846/2070 2067/2848/2072 2066/2847/2071 f 2067/2848/2072 2065/2846/2070 2068/2849/2073 f 2068/2849/2073 2065/2846/2070 2069/2850/2074 f 2065/2851/2070 2070/2852/2075 2069/2853/2074 f 2071/2854/2076 2070/2852/2075 2065/2851/2070 f 2072/2855/2077 2070/2852/2075 2071/2854/2076 f 2072/2855/2077 2073/2856/2078 2070/2852/2075 f 2072/2855/2077 2074/2857/2079 2073/2856/2078 f 2072/2855/2077 2075/2858/2080 2074/2857/2079 f 2072/2855/2077 2076/2859/2081 2075/2858/2080 f 2077/2860/2082 2076/2859/2081 2072/2855/2077 f 2077/2860/2082 2078/2861/2083 2076/2859/2081 f 2079/2862/2084 2078/2861/2083 2077/2860/2082 f 2080/2863/2085 2078/2861/2083 2079/2862/2084 f 2080/2863/2085 2081/2864/2086 2078/2861/2083 f 2082/2865/2087 2081/2864/2086 2080/2863/2085 f 2082/2865/2087 2083/2866/2088 2081/2864/2086 f 2082/2865/2087 2084/2867/2089 2083/2866/2088 f 2082/2868/2087 2085/2869/2090 2084/2870/2089 f 2086/2871/2091 2085/2869/2090 2082/2868/2087 f 2086/2871/2091 2087/2872/2092 2085/2869/2090 f 2086/2871/2091 2088/2873/2093 2087/2872/2092 f 2089/2874/2094 2088/2873/2093 2086/2871/2091 f 2089/2874/2094 2090/2875/2095 2088/2873/2093 f 2091/2876/2096 2090/2875/2095 2089/2874/2094 f 2091/2876/2096 2092/2877/2097 2090/2875/2095 f 2091/2876/2096 2093/2878/2098 2092/2877/2097 f 2091/2876/2096 2094/2879/2099 2093/2878/2098 f 2095/2880/2100 2094/2879/2099 2091/2876/2096 f 2096/2881/2101 2094/2879/2099 2095/2880/2100 f 2096/2881/2101 2097/2882/2102 2094/2879/2099 f 2098/2883/2103 2097/2882/2102 2096/2881/2101 f 2098/2883/2103 2099/2884/2104 2097/2882/2102 f 2100/2885/2105 2099/2884/2104 2098/2883/2103 f 2100/2885/2105 2101/2886/2106 2099/2884/2104 f 2102/2887/2107 2101/2888/2106 2100/2889/2105 f 2102/2887/2107 2103/2890/2108 2101/2888/2106 f 2102/2887/2107 2104/2891/2109 2103/2890/2108 f 2105/2892/2110 2104/2891/2109 2102/2887/2107 f 2106/2893/2111 2104/2891/2109 2105/2892/2110 f 2106/2893/2111 2107/2894/2112 2104/2891/2109 f 2108/2895/2113 2107/2894/2112 2106/2893/2111 f 2108/2895/2113 2109/2896/2114 2107/2894/2112 f 2110/2897/2115 2109/2896/2114 2108/2895/2113 f 2110/2897/2115 2111/2898/2116 2109/2896/2114 f 2112/2899/2117 2111/2898/2116 2110/2897/2115 f 2112/2899/2117 2113/2900/2118 2111/2898/2116 f 2112/2899/2117 2114/2901/2119 2113/2900/2118 f 2115/2902/2120 2114/2901/2119 2112/2899/2117 f 2115/2902/2120 2116/2903/2121 2114/2901/2119 f 2117/2904/2122 2116/2903/2121 2115/2902/2120 f 2117/2904/2122 2118/2905/2123 2116/2903/2121 f 2119/2906/2124 2118/2905/2123 2117/2904/2122 f 2119/2906/2124 2120/2907/2125 2118/2905/2123 f 2119/2906/2124 2121/2908/2126 2120/2907/2125 f 2122/2909/2127 2121/2908/2126 2119/2906/2124 f 2123/2910/2128 2121/2908/2126 2122/2909/2127 f 2123/2910/2128 2124/2911/2129 2121/2908/2126 f 2123/2910/2128 2125/2912/2130 2124/2911/2129 f 2125/2912/2130 2123/2910/2128 2126/2913/2131 f 2126/2913/2131 2123/2910/2128 2122/2909/2127 f 2126/2913/2131 2122/2909/2127 2127/2914/2132 f 2127/2914/2132 2122/2909/2127 2128/2915/2133 f 2122/2909/2127 2129/2916/2134 2128/2915/2133 f 2122/2909/2127 2119/2906/2124 2129/2916/2134 f 2129/2916/2134 2119/2906/2124 2130/2917/2135 f 2119/2906/2124 2131/2918/2136 2130/2917/2135 f 2131/2918/2136 2119/2906/2124 2117/2904/2122 f 2131/2918/2136 2117/2904/2122 2115/2902/2120 f 2131/2918/2136 2115/2902/2120 2132/2919/2137 f 2132/2919/2137 2115/2902/2120 2112/2899/2117 f 2132/2919/2137 2112/2899/2117 2133/2920/2138 f 2133/2920/2138 2112/2899/2117 2134/2921/2139 f 2134/2921/2139 2112/2899/2117 2110/2897/2115 f 2134/2921/2139 2110/2897/2115 2135/2922/2140 f 2110/2897/2115 2108/2895/2113 2135/2922/2140 f 2135/2922/2140 2108/2895/2113 2106/2893/2111 f 2135/2922/2140 2106/2893/2111 2136/2923/2141 f 2136/2923/2141 2106/2893/2111 2105/2892/2110 f 2136/2923/2141 2105/2892/2110 2137/2924/2142 f 2137/2924/2142 2105/2892/2110 2138/2925/2143 f 2105/2892/2110 2102/2887/2107 2138/2925/2143 f 2138/2925/2143 2102/2887/2107 2100/2889/2105 f 2138/2925/2143 2100/2889/2105 2139/2926/2144 f 2139/2927/2144 2100/2928/2105 2098/2929/2103 f 2139/2927/2144 2098/2929/2103 2140/2930/2145 f 2140/2930/2145 2098/2929/2103 2096/2931/2101 f 2140/2930/2145 2096/2931/2101 2141/2932/2146 f 2141/2932/2146 2096/2931/2101 2095/2933/2100 f 2141/2932/2146 2095/2933/2100 2142/2934/2147 f 2142/2934/2147 2095/2933/2100 2143/2935/2148 f 2095/2933/2100 2144/2936/2149 2143/2935/2148 f 2095/2880/2100 2091/2876/2096 2144/2937/2149 f 2144/2937/2149 2091/2876/2096 2145/2938/2150 f 2091/2876/2096 2089/2874/2094 2145/2938/2150 f 2089/2874/2094 2086/2871/2091 2145/2938/2150 f 2145/2938/2150 2086/2871/2091 2082/2868/2087 f 2145/2939/2150 2082/2865/2087 2080/2863/2085 f 2146/2940/2151 2145/2939/2150 2080/2863/2085 f 2144/2936/2149 2145/2939/2150 2146/2940/2151 f 2143/2935/2148 2144/2936/2149 2146/2940/2151 f 2146/2940/2151 2079/2862/2084 2143/2935/2148 f 2146/2940/2151 2080/2863/2085 2079/2862/2084 f 2143/2935/2148 2079/2862/2084 2142/2934/2147 f 2142/2934/2147 2079/2862/2084 2147/2941/2152 f 2147/2941/2152 2079/2862/2084 2148/2942/2153 f 2148/2942/2153 2079/2862/2084 2149/2943/2154 f 2079/2862/2084 2077/2860/2082 2149/2943/2154 f 2149/2943/2154 2077/2860/2082 2071/2854/2076 f 2077/2860/2082 2072/2855/2077 2071/2854/2076 f 2149/2943/2154 2071/2854/2076 2150/2944/2155 f 2150/2944/2155 2071/2854/2076 2151/2945/2156 f 2151/2945/2156 2071/2854/2076 2058/2837/2063 f 2058/2837/2063 2071/2854/2076 2060/2839/2065 f 2071/2946/2076 2062/2841/2067 2060/2843/2065 f 2071/2946/2076 2065/2846/2070 2062/2841/2067 f 2151/2945/2156 2058/2837/2063 2056/2835/2061 f 2151/2945/2156 2056/2835/2061 2152/2947/2157 f 2153/2948/2158 2152/2947/2157 2056/2835/2061 f 2150/2944/2155 2152/2947/2157 2153/2948/2158 f 2152/2947/2157 2150/2944/2155 2151/2945/2156 f 2148/2942/2153 2150/2944/2155 2153/2948/2158 f 2149/2943/2154 2150/2944/2155 2148/2942/2153 f 2148/2942/2153 2153/2948/2158 2147/2941/2152 f 2147/2941/2152 2153/2948/2158 2154/2949/2159 f 2154/2949/2159 2153/2948/2158 2155/2950/2160 f 2153/2948/2158 2156/2951/2161 2155/2950/2160 f 2153/2948/2158 2056/2835/2061 2156/2951/2161 f 2056/2835/2061 2054/2833/2059 2156/2951/2161 f 2156/2951/2161 2054/2833/2059 2052/2831/2057 f 2155/2950/2160 2156/2951/2161 2052/2831/2057 f 2155/2950/2160 2052/2831/2057 2157/2952/2162 f 2157/2952/2162 2052/2831/2057 2050/2829/2055 f 2157/2952/2162 2050/2829/2055 2048/2827/2053 f 2157/2952/2162 2048/2827/2053 2158/2953/2163 f 2158/2953/2163 2048/2827/2053 2046/2825/2051 f 2159/2954/2164 2158/2953/2163 2046/2825/2051 f 2160/2955/2165 2158/2953/2163 2159/2954/2164 f 2161/2956/2166 2158/2953/2163 2160/2955/2165 f 2161/2956/2166 2162/2957/2167 2158/2953/2163 f 2163/2958/2168 2162/2959/2167 2161/2960/2166 f 2164/2961/2169 2162/2959/2167 2163/2958/2168 f 2164/2961/2169 2165/2962/2170 2162/2959/2167 f 2166/2963/2171 2165/2962/2170 2164/2961/2169 f 2166/2963/2171 2139/2926/2144 2165/2962/2170 f 2166/2963/2171 2138/2925/2143 2139/2926/2144 f 2137/2924/2142 2138/2925/2143 2166/2963/2171 f 2167/2964/2172 2137/2924/2142 2166/2963/2171 f 2168/2965/2173 2137/2924/2142 2167/2964/2172 f 2168/2965/2173 2136/2923/2141 2137/2924/2142 f 2135/2922/2140 2136/2923/2141 2168/2965/2173 f 2169/2966/2174 2135/2922/2140 2168/2965/2173 f 2170/2967/2175 2135/2922/2140 2169/2966/2174 f 2170/2967/2175 2134/2921/2139 2135/2922/2140 f 2171/2968/2176 2134/2921/2139 2170/2967/2175 f 2171/2968/2176 2133/2920/2138 2134/2921/2139 f 2132/2919/2137 2133/2920/2138 2171/2968/2176 f 2172/2969/2177 2132/2919/2137 2171/2968/2176 f 2130/2917/2135 2132/2919/2137 2172/2969/2177 f 2130/2917/2135 2131/2918/2136 2132/2919/2137 f 2130/2917/2135 2172/2969/2177 2173/2970/2178 f 2173/2970/2178 2172/2969/2177 2171/2968/2176 f 2173/2970/2178 2171/2968/2176 2174/2971/2179 f 2174/2971/2179 2171/2968/2176 2175/2972/2180 f 2171/2968/2176 2170/2967/2175 2175/2972/2180 f 2175/2972/2180 2170/2967/2175 2176/2973/2181 f 2170/2967/2175 2169/2966/2174 2176/2973/2181 f 2169/2966/2174 2168/2965/2173 2176/2973/2181 f 2176/2973/2181 2168/2965/2173 2177/2974/2182 f 2168/2965/2173 2167/2964/2172 2177/2974/2182 f 2167/2964/2172 2178/2975/2183 2177/2974/2182 f 2167/2964/2172 2164/2961/2169 2178/2975/2183 f 2167/2964/2172 2166/2963/2171 2164/2961/2169 f 2178/2975/2183 2164/2961/2169 2163/2958/2168 f 2178/2975/2183 2163/2958/2168 2179/2976/2184 f 2179/2976/2184 2163/2958/2168 2180/2977/2185 f 2163/2958/2168 2161/2960/2166 2180/2977/2185 f 2180/2977/2185 2161/2960/2166 2181/2978/2186 f 2161/2956/2166 2160/2955/2165 2181/2979/2186 f 2181/2979/2186 2160/2955/2165 2182/2980/2187 f 2160/2955/2165 2183/2981/2188 2182/2980/2187 f 2160/2955/2165 2159/2954/2164 2183/2981/2188 f 2159/2954/2164 2042/2821/2047 2183/2981/2188 f 2159/2954/2164 2043/2822/2048 2042/2821/2047 f 2159/2954/2164 2046/2825/2051 2043/2822/2048 f 2184/2982/2189 2183/2981/2188 2042/2821/2047 f 2185/2983/2190 2183/2981/2188 2184/2982/2189 f 2185/2983/2190 2182/2980/2187 2183/2981/2188 f 2185/2983/2190 2181/2979/2186 2182/2980/2187 f 2186/2984/2191 2181/2979/2186 2185/2983/2190 f 2186/2985/2191 2187/2986/2192 2181/2978/2186 f 2188/2987/2193 2187/2986/2192 2186/2985/2191 f 2188/2987/2193 2189/2988/2194 2187/2986/2192 f 2190/2989/2195 2189/2988/2194 2188/2987/2193 f 2191/2990/2196 2189/2988/2194 2190/2989/2195 f 2191/2990/2196 2192/2991/2197 2189/2988/2194 f 2193/2992/2198 2192/2991/2197 2191/2990/2196 f 2194/2993/2199 2192/2991/2197 2193/2992/2198 f 2195/2994/2200 2192/2991/2197 2194/2993/2199 f 2195/2994/2200 2196/2995/2201 2192/2991/2197 f 2195/2994/2200 2197/2996/2202 2196/2995/2201 f 2198/2997/2203 2197/2996/2202 2195/2994/2200 f 2176/2973/2181 2197/2996/2202 2198/2997/2203 f 2176/2973/2181 2177/2974/2182 2197/2996/2202 f 2177/2974/2182 2178/2975/2183 2197/2996/2202 f 2178/2975/2183 2179/2976/2184 2197/2996/2202 f 2197/2996/2202 2179/2976/2184 2196/2995/2201 f 2196/2995/2201 2179/2976/2184 2199/2998/2204 f 2179/2976/2184 2180/2977/2185 2199/2998/2204 f 2199/2998/2204 2180/2977/2185 2187/2986/2192 f 2180/2977/2185 2181/2978/2186 2187/2986/2192 f 2199/2998/2204 2187/2986/2192 2189/2988/2194 f 2192/2991/2197 2199/2998/2204 2189/2988/2194 f 2196/2995/2201 2199/2998/2204 2192/2991/2197 f 2176/2973/2181 2198/2997/2203 2200/2999/2205 f 2200/2999/2205 2198/2997/2203 2195/2994/2200 f 2200/2999/2205 2195/2994/2200 2201/3000/2206 f 2201/3000/2206 2195/2994/2200 2202/3001/2207 f 2202/3001/2207 2195/2994/2200 2194/2993/2199 f 2202/3001/2207 2194/2993/2199 2193/2992/2198 f 2202/3001/2207 2193/2992/2198 2203/3002/2208 f 2111/3003/2116 2203/3002/2208 2193/2992/2198 f 2113/3004/2118 2203/3002/2208 2111/3003/2116 f 2113/3004/2118 2204/3005/2209 2203/3002/2208 f 2113/3004/2118 2205/3006/2210 2204/3005/2209 f 2114/3007/2119 2205/3006/2210 2113/3004/2118 f 2116/3008/2121 2205/3006/2210 2114/3007/2119 f 2116/3008/2121 2206/3009/2211 2205/3006/2210 f 2116/3008/2121 2207/3010/2212 2206/3009/2211 f 2118/2905/2123 2207/3011/2212 2116/2903/2121 f 2118/2905/2123 2120/2907/2125 2207/3011/2212 f 2120/2907/2125 2208/3012/2213 2207/3011/2212 f 2120/2907/2125 2209/3013/2214 2208/3012/2213 f 2121/2908/2126 2209/3013/2214 2120/2907/2125 f 2121/2908/2126 2124/2911/2129 2209/3013/2214 f 2124/2911/2129 2210/3014/2215 2209/3013/2214 f 2125/2912/2130 2210/3014/2215 2124/2911/2129 f 2210/3014/2215 2211/3015/2216 2209/3013/2214 f 2209/3013/2214 2211/3015/2216 2212/3016/2217 f 2209/3013/2214 2212/3016/2217 2213/3017/2218 f 2212/3018/2217 2214/3019/2219 2213/3020/2218 f 2215/3021/2220 2214/3019/2219 2212/3018/2217 f 2216/3022/2221 2214/3019/2219 2215/3021/2220 f 2216/3022/2221 2217/3023/2222 2214/3019/2219 f 2218/3024/2223 2217/3023/2222 2216/3022/2221 f 2219/3025/2224 2217/3023/2222 2218/3024/2223 f 2219/3025/2224 2220/3026/2225 2217/3023/2222 f 2221/3027/2226 2220/3026/2225 2219/3025/2224 f 2222/3028/2227 2220/3026/2225 2221/3027/2226 f 2222/3028/2227 2223/3029/2228 2220/3026/2225 f 2222/3028/2227 2224/3030/2229 2223/3029/2228 f 2222/3028/2227 2225/3031/2230 2224/3030/2229 f 2226/3032/2231 2225/3031/2230 2222/3028/2227 f 2226/3032/2231 2227/3033/2232 2225/3031/2230 f 2226/3032/2231 2228/3034/2233 2227/3033/2232 f 2173/2970/2178 2228/3034/2233 2226/3032/2231 f 2173/2970/2178 2229/3035/2234 2228/3034/2233 f 2173/2970/2178 2174/2971/2179 2229/3035/2234 f 2174/2971/2179 2175/2972/2180 2229/3035/2234 f 2175/2972/2180 2200/2999/2205 2229/3035/2234 f 2175/2972/2180 2176/2973/2181 2200/2999/2205 f 2229/3035/2234 2200/2999/2205 2201/3000/2206 f 2229/3035/2234 2201/3000/2206 2230/3036/2235 f 2230/3036/2235 2201/3000/2206 2231/3037/2236 f 2231/3037/2236 2201/3000/2206 2202/3001/2207 f 2231/3037/2236 2202/3001/2207 2203/3002/2208 f 2231/3037/2236 2203/3002/2208 2204/3005/2209 f 2205/3006/2210 2231/3037/2236 2204/3005/2209 f 2232/3038/2237 2231/3037/2236 2205/3006/2210 f 2227/3033/2232 2231/3037/2236 2232/3038/2237 f 2227/3033/2232 2230/3036/2235 2231/3037/2236 f 2229/3035/2234 2230/3036/2235 2227/3033/2232 f 2228/3034/2233 2229/3035/2234 2227/3033/2232 f 2224/3030/2229 2227/3033/2232 2232/3038/2237 f 2225/3031/2230 2227/3033/2232 2224/3030/2229 f 2224/3030/2229 2232/3038/2237 2205/3006/2210 f 2224/3030/2229 2205/3006/2210 2206/3009/2211 f 2233/3039/2238 2224/3030/2229 2206/3009/2211 f 2223/3029/2228 2224/3030/2229 2233/3039/2238 f 2220/3026/2225 2223/3029/2228 2233/3039/2238 f 2220/3026/2225 2233/3039/2238 2234/3040/2239 f 2234/3040/2239 2233/3039/2238 2208/3041/2213 f 2207/3010/2212 2208/3041/2213 2233/3039/2238 f 2207/3010/2212 2233/3039/2238 2206/3009/2211 f 2214/3019/2219 2234/3040/2239 2208/3041/2213 f 2214/3019/2219 2220/3026/2225 2234/3040/2239 f 2217/3023/2222 2220/3026/2225 2214/3019/2219 f 2214/3019/2219 2208/3041/2213 2213/3020/2218 f 2209/3013/2214 2213/3017/2218 2208/3012/2213 f 2235/3042/2240 2173/2970/2178 2226/3032/2231 f 2235/3042/2240 2130/2917/2135 2173/2970/2178 f 2128/2915/2133 2130/2917/2135 2235/3042/2240 f 2128/2915/2133 2129/2916/2134 2130/2917/2135 f 2128/2915/2133 2235/3042/2240 2226/3032/2231 f 2128/2915/2133 2226/3032/2231 2236/3043/2241 f 2236/3043/2241 2226/3032/2231 2222/3028/2227 f 2237/3044/2242 2236/3043/2241 2222/3028/2227 f 2128/2915/2133 2236/3043/2241 2237/3044/2242 f 2237/3044/2242 2127/2914/2132 2128/2915/2133 f 2126/2913/2131 2127/2914/2132 2237/3044/2242 f 2238/3045/2243 2126/2913/2131 2237/3044/2242 f 2239/3046/2244 2126/2913/2131 2238/3045/2243 f 2239/3046/2244 2125/2912/2130 2126/2913/2131 f 2240/3047/2245 2239/3046/2244 2238/3045/2243 f 2238/3045/2243 2219/3025/2224 2240/3047/2245 f 2238/3045/2243 2237/3044/2242 2219/3025/2224 f 2237/3044/2242 2221/3027/2226 2219/3025/2224 f 2237/3044/2242 2222/3028/2227 2221/3027/2226 f 2240/3047/2245 2219/3025/2224 2218/3024/2223 f 2111/3003/2116 2193/2992/2198 2109/3048/2114 f 2109/3048/2114 2193/2992/2198 2107/3049/2112 f 2107/3049/2112 2193/2992/2198 2191/2990/2196 f 2107/3049/2112 2191/2990/2196 2190/2989/2195 f 2107/3049/2112 2190/2989/2195 2104/3050/2109 f 2104/3050/2109 2190/2989/2195 2103/3051/2108 f 2103/3051/2108 2190/2989/2195 2188/2987/2193 f 2103/3051/2108 2188/2987/2193 2241/3052/2246 f 2241/3052/2246 2188/2987/2193 2186/2985/2191 f 2241/3053/2246 2186/2984/2191 2242/3054/2247 f 2242/3054/2247 2186/2984/2191 2185/2983/2190 f 2242/3054/2247 2185/2983/2190 2243/3055/2248 f 2185/2983/2190 2244/3056/2249 2243/3055/2248 f 2244/3056/2249 2185/2983/2190 2245/3057/2250 f 2185/2983/2190 2184/2982/2189 2245/3057/2250 f 2245/3057/2250 2184/2982/2189 2042/2821/2047 f 2245/3057/2250 2042/2821/2047 2246/3058/2251 f 2246/3058/2251 2042/2821/2047 2040/2819/2045 f 2246/3058/2251 2040/2819/2045 2039/2818/2044 f 2246/3058/2251 2039/2818/2044 2247/3059/2252 f 2247/3059/2252 2039/2818/2044 2248/3060/2253 f 2248/3060/2253 2039/2818/2044 2036/2815/2041 f 2036/2815/2041 2249/3061/2254 2248/3060/2253 f 2249/3061/2254 2036/2815/2041 2034/2813/2039 f 2249/3061/2254 2034/2813/2039 2250/3062/2255 f 2250/3062/2255 2034/2813/2039 2033/2812/2038 f 2250/3063/2255 2033/3064/2038 2251/3065/2256 f 2033/3064/2038 2252/3066/2257 2251/3065/2256 f 2025/3067/2030 2252/3066/2257 2033/3064/2038 f 2025/3067/2030 2023/3068/2028 2252/3066/2257 f 2023/3068/2028 2253/3069/2258 2252/3066/2257 f 2023/3068/2028 2021/2798/2026 2253/3069/2258 f 2021/2798/2026 2020/2797/2025 2253/3069/2258 f 2020/2797/2025 2019/2794/2022 2253/3069/2258 f 2254/3070/2259 2253/3069/2258 2019/2794/2022 f 2253/3069/2258 2254/3070/2259 2255/3071/2260 f 2255/3071/2260 2254/3070/2259 2256/3072/2261 f 2256/3072/2261 2254/3070/2259 2257/3073/2262 f 2257/3073/2262 2254/3070/2259 2013/3074/2263 f 2013/3074/2263 2254/3070/2259 2019/2794/2022 f 2013/3074/2263 2019/2794/2022 2014/2796/2024 f 2257/3073/2262 2011/2789/2017 2258/3075/2264 f 2011/2789/2017 2010/2791/2019 2258/3075/2264 f 2259/3076/2265 2258/3075/2264 2010/2791/2019 f 2256/3072/2261 2258/3075/2264 2259/3076/2265 f 2256/3072/2261 2257/3073/2262 2258/3075/2264 f 2256/3072/2261 2259/3076/2265 2260/3077/2266 f 2261/3078/2267 2260/3077/2266 2259/3076/2265 f 2029/2808/2034 2260/3077/2266 2261/3078/2267 f 2029/2808/2034 2262/3079/2268 2260/3077/2266 f 2030/2809/2035 2262/3079/2268 2029/2808/2034 f 2030/2809/2035 2263/3080/2269 2262/3079/2268 f 2031/2810/2036 2263/3080/2269 2030/2809/2035 f 2035/2814/2040 2263/3080/2269 2031/2810/2036 f 2035/2814/2040 2037/2816/2042 2263/3080/2269 f 2037/2816/2042 2264/3081/2270 2263/3080/2269 f 2037/2816/2042 2265/3082/2271 2264/3081/2270 f 2038/2817/2043 2265/3082/2271 2037/2816/2042 f 2038/2817/2043 2266/3083/2272 2265/3082/2271 f 2038/2817/2043 2041/2820/2046 2266/3083/2272 f 2044/2823/2049 2266/3083/2272 2041/2820/2046 f 2044/2823/2049 2267/3084/2273 2266/3083/2272 f 2044/2823/2049 2268/3085/2274 2267/3084/2273 f 2045/2824/2050 2268/3085/2274 2044/2823/2049 f 2045/2824/2050 2269/3086/2275 2268/3085/2274 f 2047/2826/2052 2269/3086/2275 2045/2824/2050 f 2049/2828/2054 2269/3086/2275 2047/2826/2052 f 2049/2828/2054 2270/3087/2276 2269/3086/2275 f 2049/2828/2054 2051/2830/2056 2270/3087/2276 f 2051/2830/2056 2271/3088/2277 2270/3087/2276 f 2053/2832/2058 2271/3088/2277 2051/2830/2056 f 2053/2832/2058 2272/3089/2278 2271/3088/2277 f 2273/3090/2279 2272/3089/2278 2053/2832/2058 f 2273/3090/2279 2274/3091/2280 2272/3089/2278 f 2275/3092/2281 2274/3091/2280 2273/3090/2279 f 2275/3092/2281 2276/3093/2282 2274/3091/2280 f 2275/3094/2281 2277/3095/2283 2276/3096/2282 f 2278/3097/2284 2277/3095/2283 2275/3094/2281 f 2278/3097/2284 2279/3098/2285 2277/3095/2283 f 2278/3097/2284 2280/3099/2286 2279/3098/2285 f 2281/3100/2287 2280/3099/2286 2278/3097/2284 f 2281/3100/2287 2282/3101/2288 2280/3099/2286 f 2283/3102/2289 2282/3101/2288 2281/3100/2287 f 2283/3102/2289 2284/3103/2290 2282/3101/2288 f 2285/3104/2291 2284/3103/2290 2283/3102/2289 f 2285/3104/2291 2286/3105/2292 2284/3103/2290 f 2285/3104/2291 2248/3060/2253 2286/3105/2292 f 2247/3059/2252 2248/3060/2253 2285/3104/2291 f 2247/3059/2252 2285/3104/2291 2287/3106/2293 f 2287/3106/2293 2285/3104/2291 2067/2848/2072 f 2067/2848/2072 2285/3104/2291 2283/3102/2289 f 2067/2848/2072 2283/3102/2289 2066/2847/2071 f 2283/3102/2289 2281/3100/2287 2066/2847/2071 f 2066/2847/2071 2281/3100/2287 2288/3107/2294 f 2281/3108/2287 2289/3109/2295 2288/3110/2294 f 2057/2836/2062 2289/3109/2295 2281/3108/2287 f 2059/2838/2064 2289/3109/2295 2057/2836/2062 f 2059/2838/2064 2290/3111/2296 2289/3109/2295 f 2059/2838/2064 2291/3112/2297 2290/3111/2296 f 2059/2838/2064 2061/2840/2066 2291/3112/2297 f 2291/3112/2297 2061/2840/2066 2292/3113/2298 f 2063/2844/2068 2292/3114/2298 2061/2842/2066 f 2063/2844/2068 2293/3115/2299 2292/3114/2298 f 2063/2844/2068 2294/3116/2300 2293/3115/2299 f 2063/2844/2068 2064/2845/2069 2294/3116/2300 f 2064/2845/2069 2295/3117/2301 2294/3116/2300 f 2064/2845/2069 2288/3107/2294 2295/3117/2301 f 2066/2847/2071 2288/3107/2294 2064/2845/2069 f 2288/3110/2294 2290/3111/2296 2295/3118/2301 f 2288/3110/2294 2289/3109/2295 2290/3111/2296 f 2295/3118/2301 2290/3111/2296 2296/3119/2302 f 2291/3112/2297 2296/3119/2302 2290/3111/2296 f 2291/3112/2297 2297/3120/2303 2296/3119/2302 f 2292/3113/2298 2297/3120/2303 2291/3112/2297 f 2292/3113/2298 2298/3121/2304 2297/3120/2303 f 2293/3115/2299 2298/3122/2304 2292/3114/2298 f 2293/3115/2299 2299/3123/2305 2298/3122/2304 f 2293/3115/2299 2300/3124/2306 2299/3123/2305 f 2293/3115/2299 2301/3125/2307 2300/3124/2306 f 2293/3115/2299 2294/3116/2300 2301/3125/2307 f 2294/3116/2300 2302/3126/2308 2301/3125/2307 f 2295/3117/2301 2302/3126/2308 2294/3116/2300 f 2295/3118/2301 2296/3119/2302 2302/3127/2308 f 2302/3127/2308 2296/3119/2302 2303/3128/2309 f 2297/3120/2303 2303/3128/2309 2296/3119/2302 f 2297/3120/2303 2304/3129/2310 2303/3128/2309 f 2298/3121/2304 2304/3129/2310 2297/3120/2303 f 2305/3130/2311 2304/3129/2310 2298/3121/2304 f 2304/3129/2310 2305/3130/2311 2303/3128/2309 f 2303/3128/2309 2305/3130/2311 2306/3131/2312 f 2305/3130/2311 2307/3132/2313 2306/3131/2312 f 2305/3130/2311 2308/3133/2314 2307/3132/2313 f 2309/3134/2315 2308/3133/2314 2305/3130/2311 f 2310/3135/2316 2308/3133/2314 2309/3134/2315 f 2310/3135/2316 2311/3136/2317 2308/3133/2314 f 2312/3137/2318 2311/3136/2317 2310/3135/2316 f 2313/3138/2319 2311/3136/2317 2312/3137/2318 f 2313/3138/2319 2314/3139/2320 2311/3136/2317 f 2315/3140/2321 2314/3139/2320 2313/3138/2319 f 2316/3141/2322 2314/3139/2320 2315/3140/2321 f 2317/3142/2323 2314/3139/2320 2316/3141/2322 f 2317/3142/2323 2307/3132/2313 2314/3139/2320 f 2318/3143/2324 2307/3132/2313 2317/3142/2323 f 2318/3143/2324 2306/3131/2312 2307/3132/2313 f 2319/3144/2325 2306/3131/2312 2318/3143/2324 f 2319/3144/2325 2303/3128/2309 2306/3131/2312 f 2302/3127/2308 2303/3128/2309 2319/3144/2325 f 2301/3125/2307 2302/3126/2308 2319/3145/2325 f 2300/3124/2306 2301/3125/2307 2319/3145/2325 f 2318/3146/2324 2300/3124/2306 2319/3145/2325 f 2320/3147/2326 2300/3124/2306 2318/3146/2324 f 2321/3148/2327 2300/3124/2306 2320/3147/2326 f 2299/3123/2305 2300/3124/2306 2321/3148/2327 f 2299/3123/2305 2321/3148/2327 2322/3149/2328 f 2321/3148/2327 2309/3150/2315 2322/3149/2328 f 2321/3148/2327 2323/3151/2329 2309/3150/2315 f 2321/3148/2327 2320/3147/2326 2323/3151/2329 f 2323/3151/2329 2320/3147/2326 2324/3152/2330 f 2320/3147/2326 2317/3153/2323 2324/3152/2330 f 2320/3147/2326 2318/3146/2324 2317/3153/2323 f 2324/3152/2330 2317/3153/2323 2316/3154/2322 f 2325/3155/2331 2324/3152/2330 2316/3154/2322 f 2326/3156/2332 2324/3152/2330 2325/3155/2331 f 2326/3156/2332 2323/3151/2329 2324/3152/2330 f 2323/3151/2329 2326/3156/2332 2310/3157/2316 f 2326/3156/2332 2327/3158/2333 2310/3157/2316 f 2326/3156/2332 2328/3159/2334 2327/3158/2333 f 2326/3156/2332 2325/3155/2331 2328/3159/2334 f 2328/3159/2334 2325/3155/2331 2316/3154/2322 f 2328/3159/2334 2316/3154/2322 2315/3160/2321 f 2329/3161/2335 2328/3159/2334 2315/3160/2321 f 2327/3158/2333 2328/3159/2334 2329/3161/2335 f 2327/3158/2333 2329/3161/2335 2330/3162/2336 f 2330/3162/2336 2329/3161/2335 2331/3163/2337 f 2329/3161/2335 2332/3164/2338 2331/3163/2337 f 2329/3161/2335 2315/3160/2321 2332/3164/2338 f 2315/3140/2321 2313/3138/2319 2332/3165/2338 f 2332/3165/2338 2313/3138/2319 2333/3166/2339 f 2313/3138/2319 2334/3167/2340 2333/3166/2339 f 2335/3168/2341 2334/3167/2340 2313/3138/2319 f 2336/3169/2342 2334/3167/2340 2335/3168/2341 f 2337/3170/2343 2334/3167/2340 2336/3169/2342 f 2334/3167/2340 2338/3171/2344 2333/3166/2339 f 2333/3166/2339 2338/3171/2344 2339/3172/2345 f 2338/3171/2344 2340/3173/2346 2339/3172/2345 f 2344/3174/2347 2342/3175/2348 2343/3176/2349 f 2346/3177/2350 2344/3174/2347 2347/3178/2351 f 2347/3178/2351 2344/3174/2347 2343/3176/2349 f 2348/3179/2352 2347/3178/2351 2343/3176/2349 f 2349/3180/2353 2347/3178/2351 2348/3179/2352 f 2349/3180/2353 2350/3181/2354 2347/3178/2351 f 2352/3182/2355 2351/3183/2356 2349/3180/2353 f 2353/3184/2357 2355/3185/2358 2354/3186/2359 f 2358/3187/2360 2345/3188/2361 2355/3185/2358 f 2339/3172/2345 2345/3188/2361 2358/3187/2360 f 2359/3189/2362 2333/3166/2339 2339/3172/2345 f 2332/3165/2338 2333/3166/2339 2359/3189/2362 f 2331/3163/2337 2332/3164/2338 2359/3190/2362 f 2359/3190/2362 2358/3191/2360 2331/3163/2337 f 2331/3163/2337 2358/3191/2360 2360/3192/2363 f 2363/3193/2364 2353/3184/2357 2352/3182/2355 f 2363/3193/2364 2349/3180/2353 2364/3194/2365 f 2348/3179/2352 2364/3194/2365 2349/3180/2353 f 2364/3194/2365 2348/3179/2352 2365/3195/2366 f 2366/3196/2367 2365/3195/2366 2348/3179/2352 f 2370/3197/2368 2362/3198/2369 2364/3194/2365 f 2371/3199/2370 2362/3200/2369 2370/3201/2368 f 2371/3199/2370 2331/3163/2337 2362/3200/2369 f 2330/3162/2336 2331/3163/2337 2371/3199/2370 f 2330/3162/2336 2371/3199/2370 2372/3202/2371 f 2371/3199/2370 2370/3201/2368 2372/3202/2371 f 2370/3197/2368 2368/3203/2372 2372/3204/2371 f 2368/3203/2372 2370/3197/2368 2369/3205/2373 f 2373/3206/2374 2372/3204/2371 2368/3203/2372 f 2372/3204/2371 2373/3206/2374 2374/3207/2375 f 2374/3207/2375 2373/3206/2374 2335/3168/2341 f 2373/3206/2374 2336/3169/2342 2335/3168/2341 f 2367/3208/2376 2336/3169/2342 2373/3206/2374 f 2348/3179/2352 2343/3176/2349 2366/3196/2367 f 2368/3203/2372 2367/3208/2376 2373/3206/2374 f 2374/3207/2375 2335/3168/2341 2312/3137/2318 f 2312/3137/2318 2335/3168/2341 2313/3138/2319 f 2374/3207/2375 2312/3137/2318 2310/3135/2316 f 2327/3158/2333 2374/3209/2375 2310/3157/2316 f 2327/3158/2333 2330/3162/2336 2374/3209/2375 f 2330/3162/2336 2372/3202/2371 2374/3209/2375 f 2362/3200/2369 2331/3163/2337 2360/3192/2363 f 2362/3198/2369 2363/3193/2364 2364/3194/2365 f 2345/3188/2361 2346/3177/2350 2355/3185/2358 f 2350/3181/2354 2346/3177/2350 2347/3178/2351 f 2323/3151/2329 2310/3157/2316 2309/3150/2315 f 2305/3130/2311 2322/3210/2328 2309/3134/2315 f 2322/3210/2328 2305/3130/2311 2298/3121/2304 f 2299/3123/2305 2322/3149/2328 2298/3122/2304 f 2314/3139/2320 2307/3132/2313 2308/3133/2314 f 2311/3136/2317 2314/3139/2320 2308/3133/2314 f 2057/3211/2062 2281/3100/2287 2278/3097/2284 f 2057/3211/2062 2278/3097/2284 2275/3094/2281 f 2057/2836/2062 2275/3092/2281 2273/3090/2279 f 2057/2836/2062 2273/3090/2279 2055/2834/2060 f 2055/2834/2060 2273/3090/2279 2053/2832/2058 f 2067/2848/2072 2375/3212/2377 2287/3106/2293 f 2375/3212/2377 2067/2848/2072 2092/2877/2097 f 2092/2877/2097 2067/2848/2072 2068/2849/2073 f 2092/2877/2097 2068/2849/2073 2376/3213/2378 f 2376/3213/2378 2068/2849/2073 2377/3214/2379 f 2068/2849/2073 2069/2850/2074 2377/3214/2379 f 2069/2850/2074 2378/3215/2380 2377/3214/2379 f 2069/2850/2074 2379/3216/2381 2378/3215/2380 f 2069/2853/2074 2070/2852/2075 2379/3217/2381 f 2070/2852/2075 2073/2856/2078 2379/3217/2381 f 2379/3217/2381 2073/2856/2078 2380/3218/2382 f 2381/3219/2383 2380/3218/2382 2073/2856/2078 f 2382/3220/2384 2380/3218/2382 2381/3219/2383 f 2383/3221/2385 2380/3218/2382 2382/3220/2384 f 2383/3221/2385 2384/3222/2386 2380/3218/2382 f 2385/3223/2387 2384/3224/2386 2383/3225/2385 f 2385/3223/2387 2386/3226/2388 2384/3224/2386 f 2385/3223/2387 2387/3227/2389 2386/3226/2388 f 2388/3228/2390 2387/3227/2389 2385/3223/2387 f 2387/3227/2389 2388/3228/2390 2389/3229/2391 f 2388/3228/2390 2390/3230/2392 2389/3229/2391 f 2388/3228/2390 2391/3231/2393 2390/3230/2392 f 2388/3228/2390 2392/3232/2394 2391/3231/2393 f 2388/3228/2390 2385/3223/2387 2392/3232/2394 f 2392/3232/2394 2385/3223/2387 2383/3225/2385 f 2392/3232/2394 2383/3225/2385 2393/3233/2395 f 2383/3221/2385 2382/3220/2384 2393/3234/2395 f 2393/3234/2395 2382/3220/2384 2394/3235/2396 f 2395/3236/2397 2394/3235/2396 2382/3220/2384 f 2395/3236/2397 2396/3237/2398 2394/3235/2396 f 2396/3237/2398 2395/3236/2397 2390/3238/2392 f 2390/3238/2392 2395/3236/2397 2381/3219/2383 f 2381/3219/2383 2395/3236/2397 2382/3220/2384 f 2390/3238/2392 2381/3219/2383 2389/3239/2391 f 2075/2858/2080 2389/3239/2391 2381/3219/2383 f 2397/3240/2399 2389/3229/2391 2075/3241/2080 f 2397/3240/2399 2387/3227/2389 2389/3229/2391 f 2397/3240/2399 2386/3226/2388 2387/3227/2389 f 2397/3240/2399 2378/3215/2380 2386/3226/2388 f 2398/3242/2400 2378/3215/2380 2397/3240/2399 f 2398/3242/2400 2377/3214/2379 2378/3215/2380 f 2376/3213/2378 2377/3214/2379 2398/3242/2400 f 2376/3213/2378 2398/3242/2400 2078/3243/2083 f 2078/3243/2083 2398/3242/2400 2076/3244/2081 f 2398/3242/2400 2397/3240/2399 2076/3244/2081 f 2076/3244/2081 2397/3240/2399 2075/3241/2080 f 2376/3245/2378 2078/2861/2083 2399/3246/2401 f 2081/2864/2086 2399/3246/2401 2078/2861/2083 f 2081/2864/2086 2083/2866/2088 2399/3246/2401 f 2083/2866/2088 2400/3247/2402 2399/3246/2401 f 2083/2866/2088 2401/3248/2403 2400/3247/2402 f 2084/2867/2089 2401/3248/2403 2083/2866/2088 f 2084/2867/2089 2402/3249/2404 2401/3248/2403 f 2403/3250/2405 2402/3251/2404 2084/2870/2089 f 2404/3252/2406 2402/3251/2404 2403/3250/2405 f 2404/3252/2406 2405/3253/2407 2402/3251/2404 f 2404/3252/2406 2406/3254/2408 2405/3253/2407 f 2406/3254/2408 2404/3252/2406 2407/3255/2409 f 2407/3255/2409 2404/3252/2406 2408/3256/2410 f 2408/3256/2410 2404/3252/2406 2403/3250/2405 f 2403/3250/2405 2409/3257/2411 2408/3256/2410 f 2085/2869/2090 2409/3257/2411 2403/3250/2405 f 2085/2869/2090 2087/2872/2092 2409/3257/2411 f 2087/2872/2092 2410/3258/2412 2409/3257/2411 f 2411/3259/2413 2410/3258/2412 2087/2872/2092 f 2411/3260/2413 2399/3246/2401 2410/3261/2412 f 2376/3245/2378 2399/3246/2401 2411/3260/2413 f 2090/2875/2095 2376/3213/2378 2411/3259/2413 f 2092/2877/2097 2376/3213/2378 2090/2875/2095 f 2090/2875/2095 2411/3259/2413 2088/2873/2093 f 2088/2873/2093 2411/3259/2413 2087/2872/2092 f 2399/3246/2401 2400/3247/2402 2410/3261/2412 f 2410/3261/2412 2400/3247/2402 2412/3262/2414 f 2412/3262/2414 2400/3247/2402 2413/3263/2415 f 2401/3248/2403 2413/3263/2415 2400/3247/2402 f 2414/3264/2416 2413/3263/2415 2401/3248/2403 f 2415/3265/2417 2413/3263/2415 2414/3264/2416 f 2415/3265/2417 2412/3262/2414 2413/3263/2415 f 2408/3256/2410 2412/3266/2414 2415/3267/2417 f 2408/3256/2410 2409/3257/2411 2412/3266/2414 f 2409/3257/2411 2410/3258/2412 2412/3266/2414 f 2407/3255/2409 2408/3256/2410 2415/3267/2417 f 2407/3255/2409 2415/3267/2417 2416/3268/2418 f 2415/3265/2417 2414/3264/2416 2416/3269/2418 f 2416/3269/2418 2414/3264/2416 2417/3270/2419 f 2417/3270/2419 2414/3264/2416 2418/3271/2420 f 2418/3271/2420 2414/3264/2416 2401/3248/2403 f 2405/3272/2407 2418/3271/2420 2401/3248/2403 f 2419/3273/2421 2418/3271/2420 2405/3272/2407 f 2419/3273/2421 2420/3274/2422 2418/3271/2420 f 2419/3273/2421 2421/3275/2423 2420/3274/2422 f 2419/3273/2421 2422/3276/2424 2421/3275/2423 f 2423/3277/2425 2422/3278/2424 2419/3279/2421 f 2423/3277/2425 2424/3280/2426 2422/3278/2424 f 2425/3281/2427 2424/3280/2426 2423/3277/2425 f 2426/3282/2428 2424/3280/2426 2425/3281/2427 f 2426/3282/2428 2427/3283/2429 2424/3280/2426 f 2426/3282/2428 2428/3284/2430 2427/3283/2429 f 2428/3284/2430 2426/3282/2428 2429/3285/2431 f 2429/3285/2431 2426/3282/2428 2430/3286/2432 f 2426/3282/2428 2425/3281/2427 2430/3286/2432 f 2430/3286/2432 2425/3281/2427 2431/3287/2433 f 2425/3281/2427 2423/3277/2425 2431/3287/2433 f 2423/3277/2425 2432/3288/2434 2431/3287/2433 f 2406/3254/2408 2432/3288/2434 2423/3277/2425 f 2406/3254/2408 2407/3255/2409 2432/3288/2434 f 2407/3255/2409 2416/3268/2418 2432/3288/2434 f 2432/3288/2434 2416/3268/2418 2433/3289/2435 f 2433/3290/2435 2416/3269/2418 2417/3270/2419 f 2433/3290/2435 2417/3270/2419 2434/3291/2436 f 2421/3275/2423 2434/3291/2436 2417/3270/2419 f 2435/3292/2437 2434/3291/2436 2421/3275/2423 f 2433/3290/2435 2434/3291/2436 2435/3292/2437 f 2436/3293/2438 2433/3290/2435 2435/3292/2437 f 2431/3287/2433 2433/3289/2435 2436/3294/2438 f 2432/3288/2434 2433/3289/2435 2431/3287/2433 f 2430/3286/2432 2431/3287/2433 2436/3294/2438 f 2430/3286/2432 2436/3294/2438 2437/3295/2439 f 2437/3296/2439 2436/3293/2438 2435/3292/2437 f 2437/3296/2439 2435/3292/2437 2438/3297/2440 f 2438/3297/2440 2435/3292/2437 2439/3298/2441 f 2439/3298/2441 2435/3292/2437 2421/3275/2423 f 2439/3298/2441 2421/3275/2423 2424/3299/2426 f 2424/3299/2426 2421/3275/2423 2422/3276/2424 f 2440/3300/2442 2439/3298/2441 2424/3299/2426 f 2440/3300/2442 2438/3297/2440 2439/3298/2441 f 2441/3301/2443 2438/3297/2440 2440/3300/2442 f 2441/3301/2443 2442/3302/2444 2438/3297/2440 f 2443/3303/2445 2442/3302/2444 2441/3301/2443 f 2443/3303/2445 2444/3304/2446 2442/3302/2444 f 2449/3305/2447 2442/3302/2444 2448/3306/2448 f 2449/3305/2447 2438/3297/2440 2442/3302/2444 f 2450/3307/2449 2438/3297/2440 2449/3305/2447 f 2437/3296/2439 2438/3297/2440 2450/3307/2449 f 2429/3285/2431 2437/3295/2439 2450/3308/2449 f 2429/3285/2431 2430/3286/2432 2437/3295/2439 f 2451/3309/2450 2429/3285/2431 2450/3308/2449 f 2451/3309/2450 2428/3284/2430 2429/3285/2431 f 2451/3309/2450 2452/3310/2451 2428/3284/2430 f 2452/3310/2451 2451/3309/2450 2453/3311/2452 f 2453/3311/2452 2451/3309/2450 2454/3312/2453 f 2451/3309/2450 2455/3313/2454 2454/3312/2453 f 2451/3309/2450 2456/3314/2455 2455/3313/2454 f 2451/3309/2450 2450/3308/2449 2456/3314/2455 f 2450/3307/2449 2449/3305/2447 2456/3315/2455 f 2456/3315/2455 2449/3305/2447 2457/3316/2456 f 2457/3316/2456 2449/3305/2447 2448/3306/2448 f 2457/3316/2456 2448/3306/2448 2458/3317/2457 f 2457/3316/2456 2459/3318/2458 2455/3319/2454 f 2462/3320/2459 2446/3321/2460 2445/3322/2461 f 2463/3323/2462 2462/3320/2459 2445/3322/2461 f 2461/3324/2463 2462/3320/2459 2463/3323/2462 f 2464/3325/2464 2461/3324/2463 2463/3323/2462 f 2473/3326/2465 2464/3325/2464 2463/3323/2462 f 2473/3326/2465 2463/3323/2462 2474/3327/2466 f 2474/3327/2466 2463/3323/2462 2445/3322/2461 f 2474/3327/2466 2445/3322/2461 2475/3328/2467 f 2477/3329/2468 2476/3330/2469 2443/3303/2445 f 2478/3331/2470 2476/3330/2469 2477/3329/2468 f 2482/3332/2471 2453/3333/2452 2481/3334/2472 f 2452/3310/2451 2453/3311/2452 2482/3335/2471 f 2452/3310/2451 2482/3335/2471 2483/3336/2473 f 2482/3332/2471 2478/3331/2470 2483/3337/2473 f 2482/3332/2471 2480/3338/2474 2478/3331/2470 f 2478/3331/2470 2477/3329/2468 2483/3337/2473 f 2483/3337/2473 2477/3329/2468 2427/3339/2429 f 2477/3329/2468 2441/3301/2443 2427/3339/2429 f 2477/3329/2468 2443/3303/2445 2441/3301/2443 f 2427/3339/2429 2441/3301/2443 2440/3300/2442 f 2427/3339/2429 2440/3300/2442 2424/3299/2426 f 2428/3284/2430 2483/3336/2473 2427/3283/2429 f 2452/3310/2451 2483/3336/2473 2428/3284/2430 f 2421/3275/2423 2417/3270/2419 2420/3274/2422 f 2417/3270/2419 2418/3271/2420 2420/3274/2422 f 2406/3254/2408 2423/3277/2425 2419/3279/2421 f 2406/3254/2408 2419/3279/2421 2405/3253/2407 f 2405/3272/2407 2401/3248/2403 2402/3249/2404 f 2085/2869/2090 2403/3250/2405 2084/2870/2089 f 2378/3215/2380 2379/3216/2381 2386/3226/2388 f 2386/3226/2388 2379/3216/2381 2384/3224/2386 f 2379/3217/2381 2380/3218/2382 2384/3222/2386 f 2074/2857/2079 2075/2858/2080 2381/3219/2383 f 2074/2857/2079 2381/3219/2383 2073/2856/2078 f 2484/3340/2475 2396/3237/2398 2390/3238/2392 f 2484/3340/2475 2485/3341/2476 2396/3237/2398 f 2484/3340/2475 2486/3342/2477 2485/3341/2476 f 2391/3231/2393 2486/3343/2477 2484/3344/2475 f 2391/3231/2393 2487/3345/2478 2486/3343/2477 f 2391/3231/2393 2488/3346/2479 2487/3345/2478 f 2391/3231/2393 2392/3232/2394 2488/3346/2479 f 2488/3346/2479 2392/3232/2394 2393/3233/2395 f 2488/3346/2479 2393/3233/2395 2489/3347/2480 f 2393/3234/2395 2394/3235/2396 2489/3348/2480 f 2489/3348/2480 2394/3235/2396 2490/3349/2481 f 2485/3341/2476 2490/3349/2481 2394/3235/2396 f 2491/3350/2482 2490/3349/2481 2485/3341/2476 f 2492/3351/2483 2490/3349/2481 2491/3350/2482 f 2489/3348/2480 2490/3349/2481 2492/3351/2483 f 2493/3352/2484 2489/3347/2480 2492/3353/2483 f 2493/3352/2484 2488/3346/2479 2489/3347/2480 f 2487/3345/2478 2488/3346/2479 2493/3352/2484 f 2494/3354/2485 2487/3345/2478 2493/3352/2484 f 2494/3354/2485 2495/3355/2486 2487/3345/2478 f 2494/3354/2485 2496/3356/2487 2495/3355/2486 f 2496/3356/2487 2494/3354/2485 2497/3357/2488 f 2497/3357/2488 2494/3354/2485 2493/3352/2484 f 2497/3357/2488 2493/3352/2484 2492/3353/2483 f 2497/3357/2488 2492/3353/2483 2498/3358/2489 f 2498/3359/2489 2492/3351/2483 2491/3350/2482 f 2498/3359/2489 2491/3350/2482 2499/3360/2490 f 2499/3360/2490 2491/3350/2482 2500/3361/2491 f 2500/3361/2491 2491/3350/2482 2485/3341/2476 f 2495/3362/2486 2500/3361/2491 2485/3341/2476 f 2501/3363/2492 2500/3361/2491 2495/3362/2486 f 2501/3363/2492 2499/3360/2490 2500/3361/2491 f 2502/3364/2493 2499/3360/2490 2501/3363/2492 f 2502/3364/2493 2503/3365/2494 2499/3360/2490 f 2502/3364/2493 2504/3366/2495 2503/3365/2494 f 2505/3367/2496 2504/3366/2495 2502/3364/2493 f 2505/3367/2496 2506/3368/2497 2504/3366/2495 f 2507/3369/2498 2506/3368/2497 2505/3367/2496 f 2510/3370/2499 2511/3371/2500 2508/3372/2501 f 2510/3370/2499 2512/3373/2502 2511/3371/2500 f 2510/3370/2499 2513/3374/2503 2512/3373/2502 f 2514/3375/2504 2513/3374/2503 2510/3370/2499 f 2514/3376/2504 2517/3377/2505 2516/3378/2506 f 2518/3379/2507 2517/3377/2505 2514/3376/2504 f 2518/3379/2507 2519/3380/2508 2517/3377/2505 f 2519/3380/2508 2518/3379/2507 2520/3381/2509 f 2518/3379/2507 2521/3382/2510 2520/3381/2509 f 2518/3379/2507 2514/3376/2504 2521/3382/2510 f 2521/3383/2510 2514/3375/2504 2510/3370/2499 f 2521/3383/2510 2509/3384/2511 2507/3369/2498 f 2520/3385/2509 2521/3383/2510 2507/3369/2498 f 2520/3385/2509 2507/3369/2498 2505/3367/2496 f 2520/3385/2509 2505/3367/2496 2522/3386/2512 f 2505/3367/2496 2502/3364/2493 2522/3386/2512 f 2522/3386/2512 2502/3364/2493 2501/3363/2492 f 2522/3386/2512 2501/3363/2492 2495/3362/2486 f 2496/3356/2487 2522/3387/2512 2495/3355/2486 f 2519/3380/2508 2522/3387/2512 2496/3356/2487 f 2519/3380/2508 2520/3381/2509 2522/3387/2512 f 2519/3380/2508 2496/3356/2487 2523/3388/2513 f 2523/3388/2513 2496/3356/2487 2497/3357/2488 f 2523/3388/2513 2497/3357/2488 2498/3358/2489 f 2523/3388/2513 2498/3358/2489 2524/3389/2514 f 2524/3390/2514 2498/3359/2489 2499/3360/2490 f 2524/3390/2514 2499/3360/2490 2525/3391/2515 f 2525/3391/2515 2499/3360/2490 2503/3365/2494 f 2525/3391/2515 2503/3365/2494 2526/3392/2516 f 2504/3366/2495 2527/3393/2517 2503/3365/2494 f 2530/3394/2518 2529/3395/2519 2528/3396/2520 f 2533/3397/2521 2526/3392/2516 2532/3398/2522 f 2533/3397/2521 2525/3391/2515 2526/3392/2516 f 2534/3399/2523 2525/3391/2515 2533/3397/2521 f 2524/3390/2514 2525/3391/2515 2534/3399/2523 f 2517/3377/2505 2524/3389/2514 2534/3400/2523 f 2517/3377/2505 2523/3388/2513 2524/3389/2514 f 2517/3377/2505 2519/3380/2508 2523/3388/2513 f 2517/3377/2505 2534/3400/2523 2535/3401/2524 f 2533/3397/2521 2536/3402/2525 2535/3403/2524 f 2537/3404/2526 2530/3394/2518 2538/3405/2527 f 2538/3405/2527 2530/3394/2518 2528/3396/2520 f 2511/3371/2500 2538/3405/2527 2528/3396/2520 f 2512/3373/2502 2538/3405/2527 2511/3371/2500 f 2512/3373/2502 2539/3406/2528 2538/3405/2527 f 2513/3374/2503 2542/3407/2529 2541/3408/2530 f 2517/3377/2505 2535/3401/2524 2516/3378/2506 f 2535/3403/2524 2536/3402/2525 2545/3409/2531 f 2545/3409/2531 2536/3402/2525 2537/3404/2526 f 2539/3406/2528 2537/3404/2526 2538/3405/2527 f 2511/3371/2500 2528/3396/2520 2547/3410/2532 f 2508/3372/2501 2511/3371/2500 2547/3410/2532 f 2495/3362/2486 2485/3341/2476 2486/3342/2477 f 2487/3345/2478 2495/3355/2486 2486/3343/2477 f 2396/3237/2398 2485/3341/2476 2394/3235/2396 f 2391/3231/2393 2484/3344/2475 2390/3230/2392 f 2375/3212/2377 2092/2877/2097 2093/2878/2098 f 2244/3056/2249 2375/3212/2377 2093/2878/2098 f 2375/3212/2377 2244/3056/2249 2548/3411/2533 f 2244/3056/2249 2245/3057/2250 2548/3411/2533 f 2548/3411/2533 2245/3057/2250 2246/3058/2251 f 2548/3411/2533 2246/3058/2251 2247/3059/2252 f 2548/3411/2533 2247/3059/2252 2287/3106/2293 f 2375/3212/2377 2548/3411/2533 2287/3106/2293 f 2244/3056/2249 2093/2878/2098 2243/3055/2248 f 2097/2882/2102 2243/3055/2248 2093/2878/2098 f 2099/2884/2104 2243/3055/2248 2097/2882/2102 f 2099/2884/2104 2242/3054/2247 2243/3055/2248 f 2099/2884/2104 2241/3053/2246 2242/3054/2247 f 2101/2886/2106 2241/3053/2246 2099/2884/2104 f 2101/2888/2106 2103/2890/2108 2241/3412/2246 f 2094/2879/2099 2097/2882/2102 2093/2878/2098 f 2248/3060/2253 2249/3061/2254 2286/3105/2292 f 2286/3105/2292 2249/3061/2254 2284/3103/2290 f 2249/3061/2254 2549/3413/2534 2284/3103/2290 f 2249/3061/2254 2550/3414/2535 2549/3413/2534 f 2550/3414/2535 2249/3061/2254 2250/3062/2255 f 2550/3415/2535 2250/3063/2255 2551/3416/2536 f 2250/3063/2255 2552/3417/2537 2551/3416/2536 f 2250/3063/2255 2251/3065/2256 2552/3417/2537 f 2552/3417/2537 2251/3065/2256 2553/3418/2538 f 2553/3418/2538 2251/3065/2256 2554/3419/2539 f 2251/3065/2256 2252/3066/2257 2554/3419/2539 f 2252/3066/2257 2253/3069/2258 2554/3419/2539 f 2253/3069/2258 2255/3071/2260 2554/3419/2539 f 2554/3419/2539 2255/3071/2260 2256/3072/2261 f 2555/3420/2540 2554/3419/2539 2256/3072/2261 f 2556/3421/2541 2554/3419/2539 2555/3420/2540 f 2553/3418/2538 2554/3419/2539 2556/3421/2541 f 2557/3422/2542 2553/3418/2538 2556/3421/2541 f 2558/3423/2543 2553/3418/2538 2557/3422/2542 f 2558/3423/2543 2552/3417/2537 2553/3418/2538 f 2551/3416/2536 2552/3417/2537 2558/3423/2543 f 2551/3416/2536 2558/3423/2543 2559/3424/2544 f 2559/3424/2544 2558/3423/2543 2267/3084/2273 f 2267/3084/2273 2558/3423/2543 2557/3422/2542 f 2267/3084/2273 2557/3422/2542 2265/3082/2271 f 2557/3422/2542 2556/3421/2541 2265/3082/2271 f 2265/3082/2271 2556/3421/2541 2264/3081/2270 f 2556/3421/2541 2555/3420/2540 2264/3081/2270 f 2264/3081/2270 2555/3420/2540 2262/3079/2268 f 2555/3420/2540 2260/3077/2266 2262/3079/2268 f 2555/3420/2540 2256/3072/2261 2260/3077/2266 f 2263/3080/2269 2264/3081/2270 2262/3079/2268 f 2267/3084/2273 2265/3082/2271 2266/3083/2272 f 2268/3085/2274 2559/3424/2544 2267/3084/2273 f 2269/3086/2275 2559/3424/2544 2268/3085/2274 f 2269/3086/2275 2551/3416/2536 2559/3424/2544 f 2270/3087/2276 2551/3416/2536 2269/3086/2275 f 2270/3087/2276 2550/3415/2535 2551/3416/2536 f 2549/3413/2534 2550/3414/2535 2270/3425/2276 f 2270/3087/2276 2271/3088/2277 2549/3426/2534 f 2549/3413/2534 2271/3427/2277 2284/3103/2290 f 2284/3103/2290 2271/3427/2277 2282/3101/2288 f 2271/3427/2277 2560/3428/2545 2282/3101/2288 f 2271/3088/2277 2561/3429/2546 2560/3430/2545 f 2272/3089/2278 2561/3429/2546 2271/3088/2277 f 2274/3091/2280 2561/3429/2546 2272/3089/2278 f 2274/3091/2280 2562/3431/2547 2561/3429/2546 f 2274/3091/2280 2563/3432/2548 2562/3431/2547 f 2276/3093/2282 2563/3432/2548 2274/3091/2280 f 2276/3093/2282 2564/3433/2549 2563/3432/2548 f 2276/3093/2282 2565/3434/2550 2564/3433/2549 f 2277/3095/2283 2565/3435/2550 2276/3096/2282 f 2277/3095/2283 2566/3436/2551 2565/3435/2550 f 2277/3095/2283 2567/3437/2552 2566/3436/2551 f 2277/3095/2283 2279/3098/2285 2567/3437/2552 f 2279/3098/2285 2568/3438/2553 2567/3437/2552 f 2279/3098/2285 2560/3428/2545 2568/3438/2553 f 2280/3099/2286 2560/3428/2545 2279/3098/2285 f 2282/3101/2288 2560/3428/2545 2280/3099/2286 f 2560/3430/2545 2561/3429/2546 2568/3439/2553 f 2561/3429/2546 2562/3431/2547 2568/3439/2553 f 2568/3439/2553 2562/3431/2547 2569/3440/2554 f 2564/3433/2549 2569/3440/2554 2562/3431/2547 f 2564/3433/2549 2570/3441/2555 2569/3440/2554 f 2564/3433/2549 2571/3442/2556 2570/3441/2555 f 2572/3443/2557 2571/3442/2556 2564/3433/2549 f 2572/3443/2557 2573/3444/2558 2571/3442/2556 f 2572/3443/2557 2574/3445/2559 2573/3444/2558 f 2572/3446/2557 2575/3447/2560 2574/3448/2559 f 2576/3449/2561 2575/3447/2560 2572/3446/2557 f 2576/3449/2561 2577/3450/2562 2575/3447/2560 f 2576/3449/2561 2578/3451/2563 2577/3450/2562 f 2566/3436/2551 2578/3451/2563 2576/3449/2561 f 2566/3436/2551 2567/3437/2552 2578/3451/2563 f 2578/3451/2563 2567/3437/2552 2579/3452/2564 f 2568/3438/2553 2579/3452/2564 2567/3437/2552 f 2568/3439/2553 2569/3440/2554 2579/3453/2564 f 2579/3453/2564 2569/3440/2554 2580/3454/2565 f 2569/3440/2554 2570/3441/2555 2580/3454/2565 f 2580/3454/2565 2570/3441/2555 2581/3455/2566 f 2570/3441/2555 2582/3456/2567 2581/3455/2566 f 2571/3442/2556 2582/3456/2567 2570/3441/2555 f 2571/3442/2556 2573/3444/2558 2582/3456/2567 f 2573/3444/2558 2583/3457/2568 2582/3456/2567 f 2574/3445/2559 2583/3457/2568 2573/3444/2558 f 2574/3445/2559 2584/3458/2569 2583/3457/2568 f 2575/3447/2560 2584/3459/2569 2574/3448/2559 f 2575/3447/2560 2585/3460/2570 2584/3459/2569 f 2575/3447/2560 2586/3461/2571 2585/3460/2570 f 2575/3447/2560 2577/3450/2562 2586/3461/2571 f 2577/3450/2562 2581/3462/2566 2586/3461/2571 f 2577/3450/2562 2580/3463/2565 2581/3462/2566 f 2578/3451/2563 2580/3463/2565 2577/3450/2562 f 2578/3451/2563 2579/3452/2564 2580/3463/2565 f 2586/3461/2571 2581/3462/2566 2587/3464/2572 f 2581/3455/2566 2588/3465/2573 2587/3466/2572 f 2581/3455/2566 2582/3456/2567 2588/3465/2573 f 2583/3457/2568 2588/3465/2573 2582/3456/2567 f 2589/3467/2574 2588/3465/2573 2583/3457/2568 f 2590/3468/2575 2588/3465/2573 2589/3467/2574 f 2587/3466/2572 2588/3465/2573 2590/3468/2575 f 2591/3469/2576 2587/3464/2572 2590/3470/2575 f 2591/3469/2576 2586/3461/2571 2587/3464/2572 f 2591/3469/2576 2585/3460/2570 2586/3461/2571 f 2592/3471/2577 2585/3460/2570 2591/3469/2576 f 2585/3460/2570 2592/3471/2577 2584/3459/2569 f 2592/3471/2577 2593/3472/2578 2584/3459/2569 f 2592/3471/2577 2594/3473/2579 2593/3472/2578 f 2592/3471/2577 2595/3474/2580 2594/3473/2579 f 2592/3471/2577 2591/3469/2576 2595/3474/2580 f 2591/3469/2576 2590/3470/2575 2595/3474/2580 f 2595/3474/2580 2590/3470/2575 2596/3475/2581 f 2590/3468/2575 2589/3467/2574 2596/3476/2581 f 2589/3467/2574 2597/3477/2582 2596/3476/2581 f 2598/3478/2583 2597/3477/2582 2589/3467/2574 f 2598/3478/2583 2599/3479/2584 2597/3477/2582 f 2593/3480/2578 2599/3479/2584 2598/3478/2583 f 2600/3481/2585 2599/3479/2584 2593/3480/2578 f 2599/3479/2584 2600/3481/2585 2601/3482/2586 f 2600/3481/2585 2602/3483/2587 2601/3482/2586 f 2600/3481/2585 2603/3484/2588 2602/3483/2587 f 2600/3485/2585 2604/3486/2589 2603/3487/2588 f 2594/3473/2579 2604/3486/2589 2600/3485/2585 f 2594/3473/2579 2605/3488/2590 2604/3486/2589 f 2594/3473/2579 2595/3474/2580 2605/3488/2590 f 2595/3474/2580 2596/3475/2581 2605/3488/2590 f 2596/3475/2581 2606/3489/2591 2605/3488/2590 f 2596/3476/2581 2597/3477/2582 2606/3490/2591 f 2597/3477/2582 2607/3491/2592 2606/3490/2591 f 2597/3477/2582 2608/3492/2593 2607/3491/2592 f 2601/3482/2586 2608/3492/2593 2597/3477/2582 f 2609/3493/2594 2608/3492/2593 2601/3482/2586 f 2610/3494/2595 2608/3492/2593 2609/3493/2594 f 2608/3492/2593 2611/3495/2596 2607/3491/2592 f 2607/3491/2592 2611/3495/2596 2612/3496/2597 f 2611/3495/2596 2613/3497/2598 2612/3496/2597 f 2618/3498/2599 2616/3499/2600 2617/3500/2601 f 2618/3498/2599 2619/3501/2602 2616/3499/2600 f 2620/3502/2603 2619/3501/2602 2618/3498/2599 f 2621/3503/2604 2619/3501/2602 2620/3502/2603 f 2621/3503/2604 2622/3504/2605 2619/3501/2602 f 2631/3505/2606 2629/3506/2607 2630/3507/2608 f 2631/3505/2606 2632/3508/2609 2629/3506/2607 f 2633/3509/2610 2632/3508/2609 2631/3505/2606 f 2607/3491/2592 2612/3496/2597 2633/3510/2610 f 2606/3490/2591 2607/3491/2592 2633/3510/2610 f 2606/3489/2591 2633/3509/2610 2631/3505/2606 f 2606/3489/2591 2631/3505/2606 2605/3488/2590 f 2604/3486/2589 2605/3488/2590 2631/3505/2606 f 2604/3486/2589 2631/3505/2606 2634/3511/2611 f 2634/3511/2611 2631/3505/2606 2630/3507/2608 f 2635/3512/2612 2634/3511/2611 2630/3507/2608 f 2603/3487/2588 2634/3511/2611 2635/3512/2612 f 2604/3486/2589 2634/3511/2611 2603/3487/2588 f 2603/3484/2588 2635/3513/2612 2636/3514/2613 f 2636/3514/2613 2635/3513/2612 2637/3515/2614 f 2635/3513/2612 2630/3516/2608 2638/3517/2615 f 2630/3516/2608 2626/3518/2616 2638/3517/2615 f 2626/3518/2616 2621/3503/2604 2638/3517/2615 f 2620/3502/2603 2638/3517/2615 2621/3503/2604 f 2602/3483/2587 2636/3514/2613 2640/3519/2617 f 2602/3483/2587 2603/3484/2588 2636/3514/2613 f 2640/3519/2617 2609/3493/2594 2602/3483/2587 f 2641/3520/2618 2620/3502/2603 2618/3498/2599 f 2602/3483/2587 2609/3493/2594 2601/3482/2586 f 2612/3496/2597 2615/3521/2619 2632/3522/2609 f 2632/3522/2609 2615/3521/2619 2642/3523/2620 f 2642/3523/2620 2615/3521/2619 2643/3524/2621 f 2619/3501/2602 2643/3524/2621 2616/3499/2600 f 2619/3501/2602 2622/3504/2605 2643/3524/2621 f 2599/3479/2584 2601/3482/2586 2597/3477/2582 f 2593/3472/2578 2594/3473/2579 2600/3485/2585 f 2593/3480/2578 2598/3478/2583 2583/3457/2568 f 2583/3457/2568 2598/3478/2583 2589/3467/2574 f 2593/3480/2578 2583/3457/2568 2584/3458/2569 f 2566/3436/2551 2576/3449/2561 2565/3435/2550 f 2565/3435/2550 2576/3449/2561 2572/3446/2557 f 2572/3443/2557 2564/3433/2549 2565/3434/2550 f 2563/3432/2548 2564/3433/2549 2562/3431/2547 f 2035/2814/2040 2031/2810/2036 2032/2811/2037 f 2029/2808/2034 2261/3078/2267 2646/3525/2622 f 2261/3078/2267 2010/3526/2019 2646/3525/2622 f 2261/3078/2267 2259/3076/2265 2010/2791/2019 f 2010/3526/2019 2000/3527/2623 2646/3525/2622 f 2010/3526/2019 1998/3528/2009 2000/3527/2623 f 2010/2791/2019 1997/2780/2008 1998/2781/2009 f 2646/3525/2622 2000/3527/2623 2003/3529/2012 f 2646/3525/2622 2003/3529/2012 2022/2801/2027 f 2024/2803/2029 2646/3525/2622 2022/2801/2027 f 2028/2807/2033 2646/3525/2622 2024/2803/2029 f 2029/2808/2034 2646/3525/2622 2028/2807/2033 f 2140/2930/2145 2165/3530/2170 2139/2927/2144 f 2140/2930/2145 2647/3531/2624 2165/3530/2170 f 2140/2930/2145 2648/3532/2625 2647/3531/2624 f 2141/2932/2146 2648/3532/2625 2140/2930/2145 f 2142/2934/2147 2648/3532/2625 2141/2932/2146 f 2142/2934/2147 2147/2941/2152 2648/3532/2625 f 2147/2941/2152 2154/2949/2159 2648/3532/2625 f 2648/3532/2625 2154/2949/2159 2647/3531/2624 f 2647/3531/2624 2154/2949/2159 2649/3533/2626 f 2154/2949/2159 2155/2950/2160 2649/3533/2626 f 2649/3533/2626 2155/2950/2160 2650/3534/2627 f 2650/3534/2627 2155/2950/2160 2157/2952/2162 f 2650/3534/2627 2157/2952/2162 2158/2953/2163 f 2650/3534/2627 2158/2953/2163 2162/2957/2167 f 2162/2957/2167 2649/3533/2626 2650/3534/2627 f 2165/3530/2170 2649/3533/2626 2162/2957/2167 f 2647/3531/2624 2649/3533/2626 2165/3530/2170 f 2003/2784/2012 2017/3535/2628 2018/2795/2023 f 2006/2786/2014 2015/2793/2021 2005/2785/2013 g mesh4.002_mesh4-geometry_FrontColorNoCullingID__03_-_Default1noCulli usemtl FrontColorNoCullingID__03_-_Default1noCulli f 1989/3536/2001 1990/3537/2003 1988/3538/2000 f 1992/3539/2004 1991/3540/2002 1989/3541/2001 f 1994/3542/2629 1993/3543/2005 1992/3544/2004 f 1995/3545/2007 1993/3546/2005 1994/3547/2629 f 1996/3548/2006 1990/3549/2003 1993/3550/2005 f 1986/3551/1998 1990/3552/2003 1996/3553/2006 f 1986/3554/1998 1988/3555/2000 1990/3556/2003 f 1986/3557/1998 1996/3558/2006 1995/3559/2007 f 1998/3560/2009 1995/3561/2007 1999/3562/2630 f 1999/3563/2630 1995/3564/2007 1994/3565/2629 f 1999/3566/2630 1994/3567/2629 2000/3568/2623 f 2001/3569/2631 2000/3570/2623 1994/3571/2629 f 2002/3572/2010 2000/3573/2623 2001/3574/2631 f 2000/3575/2623 2002/3576/2010 2003/3577/2012 f 2002/3578/2010 2001/3579/2631 1992/3580/2004 f 1994/3581/2629 1992/3582/2004 2001/3583/2631 f 2007/3584/2015 1987/3585/1999 2008/3586/2016 f 1987/3587/1999 1986/3588/1998 1997/3589/2008 f 2008/3590/2016 1997/3591/2008 2009/3592/2018 f 2010/3593/2019 2009/3594/2018 1997/3595/2008 f 2009/3596/2018 2011/3597/2017 2008/3598/2016 f 2012/3599/2632 2008/3600/2016 2011/3601/2017 f 2012/3602/2632 2007/3603/2015 2008/3604/2016 f 2006/3605/2014 2007/3606/2015 2012/3607/2632 f 2013/3608/2263 2006/3609/2014 2012/3610/2632 f 2014/3611/2024 2006/3612/2014 2013/3613/2263 f 2014/3614/2024 2015/3615/2021 2006/3616/2014 f 2016/3617/2020 2015/3618/2021 2014/3619/2024 f 2016/3620/2020 2017/3621/2628 2004/3622/2011 f 2016/3623/2020 2018/3624/2023 2017/3625/2628 f 2014/3626/2024 2018/3627/2023 2016/3628/2020 f 2257/3629/2262 2013/3630/2263 2012/3631/2632 f 2012/3632/2632 2011/3633/2017 2257/3634/2262 f 2338/3635/2344 2334/3636/2340 2337/3637/2343 f 2340/3638/2346 2338/3639/2344 2341/3640/2633 f 2341/3641/2633 2338/3642/2344 2337/3643/2343 f 2337/3644/2343 2342/3645/2348 2341/3646/2633 f 2343/3647/2349 2342/3648/2348 2337/3649/2343 f 2342/3650/2348 2344/3651/2347 2341/3652/2633 f 2341/3653/2633 2344/3654/2347 2345/3655/2361 f 2344/3656/2347 2346/3657/2350 2345/3658/2361 f 2349/3659/2353 2351/3660/2356 2350/3661/2354 f 2353/3662/2357 2351/3663/2356 2352/3664/2355 f 2353/3665/2357 2354/3666/2359 2351/3667/2356 f 2356/3668/2634 2355/3669/2358 2353/3670/2357 f 2357/3671/2635 2355/3672/2358 2356/3673/2634 f 2358/3674/2360 2355/3675/2358 2357/3676/2635 f 2339/3677/2345 2340/3678/2346 2345/3679/2361 f 2345/3680/2361 2340/3681/2346 2341/3682/2633 f 2359/3683/2362 2339/3684/2345 2358/3685/2360 f 2360/3686/2363 2358/3687/2360 2357/3688/2635 f 2356/3689/2634 2360/3690/2363 2357/3691/2635 f 2361/3692/2636 2360/3693/2363 2356/3694/2634 f 2361/3695/2636 2362/3696/2369 2360/3697/2363 f 2361/3698/2636 2363/3699/2364 2362/3700/2369 f 2361/3701/2636 2356/3702/2634 2363/3703/2364 f 2363/3704/2364 2356/3705/2634 2353/3706/2357 f 2363/3707/2364 2352/3708/2355 2349/3709/2353 f 2367/3710/2376 2365/3711/2366 2366/3712/2367 f 2368/3713/2372 2365/3714/2366 2367/3715/2376 f 2369/3716/2373 2365/3717/2366 2368/3718/2372 f 2364/3719/2365 2365/3720/2366 2369/3721/2373 f 2370/3722/2368 2364/3723/2365 2369/3724/2373 f 2367/3725/2376 2343/3726/2349 2336/3727/2342 f 2367/3728/2376 2366/3729/2367 2343/3730/2349 f 2343/3731/2349 2337/3732/2343 2336/3733/2342 f 2346/3734/2350 2354/3735/2359 2355/3736/2358 f 2351/3737/2356 2354/3738/2359 2346/3739/2350 f 2351/3740/2356 2346/3741/2350 2350/3742/2354 f 2445/3743/2461 2444/3744/2446 2443/3745/2445 f 2446/3746/2460 2444/3747/2446 2445/3748/2461 f 2447/3749/2637 2444/3750/2446 2446/3751/2460 f 2448/3752/2448 2444/3753/2446 2447/3754/2637 f 2448/3755/2448 2442/3756/2444 2444/3757/2446 f 2458/3758/2457 2448/3759/2448 2447/3760/2637 f 2459/3761/2458 2458/3762/2457 2447/3763/2637 f 2459/3764/2458 2457/3765/2456 2458/3766/2457 f 2455/3767/2454 2459/3768/2458 2460/3769/2638 f 2460/3770/2638 2459/3771/2458 2461/3772/2463 f 2459/3773/2458 2462/3774/2459 2461/3775/2463 f 2459/3776/2458 2447/3777/2637 2462/3778/2459 f 2447/3779/2637 2446/3780/2460 2462/3781/2459 f 2465/3782/2639 2461/3783/2463 2464/3784/2464 f 2465/3785/2639 2466/3786/2640 2461/3787/2463 f 2467/3788/2641 2466/3789/2640 2465/3790/2639 f 2467/3791/2641 2460/3792/2638 2466/3793/2640 f 2468/3794/2642 2460/3795/2638 2467/3796/2641 f 2468/3797/2642 2469/3798/2643 2460/3799/2638 f 2454/3800/2453 2469/3801/2643 2468/3802/2642 f 2469/3801/2643 2454/3800/2453 2455/3803/2454 f 2455/3804/2454 2460/3805/2638 2469/3806/2643 f 2468/3807/2642 2453/3808/2452 2454/3809/2453 f 2453/3808/2452 2468/3807/2642 2470/3810/2644 f 2470/3811/2644 2468/3812/2642 2471/3813/2645 f 2471/3814/2645 2468/3815/2642 2467/3816/2641 f 2471/3817/2645 2467/3818/2641 2472/3819/2646 f 2472/3820/2646 2467/3821/2641 2465/3822/2639 f 2472/3823/2646 2465/3824/2639 2473/3825/2465 f 2465/3826/2639 2464/3827/2464 2473/3828/2465 f 2475/3829/2467 2445/3830/2461 2476/3831/2469 f 2476/3832/2469 2445/3833/2461 2443/3834/2445 f 2478/3835/2470 2479/3836/2647 2476/3837/2469 f 2480/3838/2474 2479/3839/2647 2478/3840/2470 f 2481/3841/2472 2479/3842/2647 2480/3843/2474 f 2481/3844/2472 2474/3845/2466 2479/3846/2647 f 2481/3847/2472 2473/3848/2465 2474/3849/2466 f 2481/3850/2472 2471/3851/2645 2473/3852/2465 f 2453/3853/2452 2471/3854/2645 2481/3855/2472 f 2453/3856/2452 2470/3857/2644 2471/3858/2645 f 2482/3859/2471 2481/3860/2472 2480/3861/2474 f 2473/3862/2465 2471/3863/2645 2472/3864/2646 f 2479/3865/2647 2474/3866/2466 2475/3867/2467 f 2479/3868/2647 2475/3869/2467 2476/3870/2469 f 2460/3871/2638 2461/3872/2463 2466/3873/2640 f 2456/3874/2455 2457/3875/2456 2455/3876/2454 f 2507/3877/2498 2508/3878/2501 2506/3879/2497 f 2509/3880/2511 2508/3881/2501 2507/3882/2498 f 2510/3883/2499 2508/3884/2501 2509/3885/2511 f 2514/3886/2504 2515/3887/2648 2513/3888/2503 f 2515/3889/2648 2514/3890/2504 2516/3891/2506 f 2521/3892/2510 2510/3893/2499 2509/3894/2511 f 2526/3895/2516 2503/3896/2494 2527/3897/2517 f 2528/3898/2520 2527/3899/2517 2504/3900/2495 f 2528/3901/2520 2529/3902/2519 2527/3903/2517 f 2531/3904/2649 2529/3905/2519 2530/3906/2518 f 2531/3907/2649 2527/3908/2517 2529/3909/2519 f 2531/3910/2649 2526/3911/2516 2527/3912/2517 f 2532/3913/2522 2526/3914/2516 2531/3915/2649 f 2534/3916/2523 2533/3917/2521 2535/3918/2524 f 2533/3919/2521 2532/3920/2522 2536/3921/2525 f 2536/3922/2525 2532/3923/2522 2531/3924/2649 f 2536/3925/2525 2531/3926/2649 2530/3927/2518 f 2536/3928/2525 2530/3929/2518 2537/3930/2526 f 2512/3931/2502 2540/3932/2650 2539/3933/2528 f 2541/3934/2530 2540/3935/2650 2512/3936/2502 f 2541/3937/2530 2542/3938/2529 2540/3939/2650 f 2513/3940/2503 2543/3941/2651 2542/3942/2529 f 2515/3943/2648 2543/3944/2651 2513/3945/2503 f 2515/3946/2648 2516/3947/2506 2543/3948/2651 f 2543/3949/2651 2516/3950/2506 2544/3951/2652 f 2516/3952/2506 2535/3953/2524 2544/3954/2652 f 2535/3955/2524 2545/3956/2531 2544/3957/2652 f 2545/3958/2531 2537/3959/2526 2546/3960/2653 f 2540/3961/2650 2546/3962/2653 2537/3963/2526 f 2546/3964/2653 2540/3965/2650 2542/3966/2529 f 2545/3967/2531 2546/3968/2653 2542/3969/2529 f 2542/3970/2529 2543/3971/2651 2545/3972/2531 f 2543/3973/2651 2544/3974/2652 2545/3975/2531 f 2540/3976/2650 2537/3977/2526 2539/3978/2528 f 2512/3979/2502 2513/3980/2503 2541/3981/2530 f 2547/3982/2532 2528/3983/2520 2506/3984/2497 f 2506/3985/2497 2528/3986/2520 2504/3987/2495 f 2508/3988/2501 2547/3989/2532 2506/3990/2497 f 2611/3991/2596 2608/3992/2593 2610/3993/2595 f 2614/3994/2654 2613/3995/2598 2611/3996/2596 f 2614/3997/2654 2615/3998/2619 2613/3999/2598 f 2614/4000/2654 2616/4001/2600 2615/4002/2619 f 2617/4003/2601 2616/4004/2600 2614/4005/2654 f 2621/4006/2604 2623/4007/2655 2622/4008/2605 f 2624/4009/2656 2623/4010/2655 2621/4011/2604 f 2624/4012/2656 2625/4013/2657 2623/4014/2655 f 2626/4015/2616 2625/4016/2657 2624/4017/2656 f 2626/4018/2616 2627/4019/2658 2625/4020/2657 f 2628/4021/2659 2627/4022/2658 2626/4023/2616 f 2628/4024/2659 2629/4025/2607 2627/4026/2658 f 2630/4027/2608 2629/4028/2607 2628/4029/2659 f 2633/4030/2610 2612/4031/2597 2632/4032/2609 f 2635/4033/2612 2638/4034/2615 2637/4035/2614 f 2630/4036/2608 2628/4037/2659 2626/4038/2616 f 2626/4039/2616 2624/4040/2656 2621/4041/2604 f 2639/4042/2660 2638/4043/2615 2620/4044/2603 f 2639/4045/2660 2637/4046/2614 2638/4047/2615 f 2636/4048/2613 2637/4049/2614 2639/4050/2660 f 2640/4051/2617 2636/4052/2613 2639/4053/2660 f 2640/4054/2617 2618/4055/2599 2609/4056/2594 f 2640/4057/2617 2641/4058/2618 2618/4059/2599 f 2640/4060/2617 2639/4061/2660 2641/4062/2618 f 2641/4063/2618 2639/4064/2660 2620/4065/2603 f 2609/4066/2594 2618/4067/2599 2610/4068/2595 f 2618/4069/2599 2617/4070/2601 2610/4071/2595 f 2617/4072/2601 2614/4073/2654 2610/4074/2595 f 2610/4075/2595 2614/4076/2654 2611/4077/2596 f 2612/4078/2597 2613/4079/2598 2615/4080/2619 f 2616/4081/2600 2643/4082/2621 2615/4083/2619 f 2622/4084/2605 2623/4085/2655 2643/4086/2621 f 2623/4087/2655 2644/4088/2661 2643/4089/2621 f 2625/4090/2657 2644/4091/2661 2623/4092/2655 f 2625/4093/2657 2642/4094/2620 2644/4095/2661 f 2627/4096/2658 2642/4097/2620 2625/4098/2657 f 2627/4099/2658 2645/4100/2662 2642/4101/2620 f 2629/4102/2607 2645/4103/2662 2627/4104/2658 f 2629/4105/2607 2632/4106/2609 2645/4107/2662 f 2632/4108/2609 2642/4109/2620 2645/4110/2662 f 2642/4111/2620 2643/4112/2621 2644/4113/2661 f 1998/4114/2009 1999/4115/2630 2000/4116/2623 f 2004/4117/2011 2017/4118/2628 2003/4119/2012 f 1991/4120/2002 1993/4121/2005 1990/4122/2003 o mesh5.002_mesh5-geometry v 1.065412 46.863007 5.382992 0.931173 0.898240 0.157669 v 0.814614 48.721657 7.385002 0.335148 0.875100 0.983499 v -2.291054 45.893768 5.936697 0.318154 0.997836 0.448577 v 2.679973 47.568188 2.108152 0.194219 0.913977 0.453278 v 2.627623 50.117409 4.061530 0.977508 0.324386 0.222775 v 2.944080 47.392677 -2.819180 0.559867 0.960740 0.205589 v 1.804453 49.803410 -0.346304 0.803722 0.671685 0.304520 v 0.379266 47.547161 -4.997488 0.255957 0.181328 0.117596 v 0.862759 44.013824 -7.649930 0.128733 0.751521 0.574162 v 3.980835 44.079376 -4.798885 0.887628 0.694004 0.398278 v 3.730884 42.572792 -0.498188 0.280913 0.155500 0.648424 v 2.272183 41.675362 1.979370 0.694710 0.999349 0.539311 v -1.243184 41.004128 2.394234 0.161085 0.770637 0.927334 v -5.554890 46.383373 3.516229 0.653451 0.936416 0.353408 v -5.030422 41.589325 0.149043 0.610194 0.187019 0.053802 v -5.890252 46.923702 -0.245233 0.263924 0.643702 0.220208 v -5.418642 42.533672 -2.818614 0.050867 0.497286 0.741496 v -3.763315 36.026711 -2.831666 0.827391 0.720749 0.036165 v -0.247471 35.555111 -0.745803 0.106396 0.072347 0.525002 v -1.354787 27.707190 -7.140965 0.718508 0.919347 0.144729 v -1.680997 28.452532 -9.241504 0.472822 0.190791 0.388610 v 0.637760 20.527096 -10.104518 0.706332 0.543893 0.748150 v 1.140435 27.205481 -4.979257 0.583021 0.550364 0.171271 v 2.173983 19.984257 -8.141270 0.350035 0.397748 0.577721 v 2.316846 15.620215 -9.146283 0.447895 0.013011 0.113724 v 0.718561 16.585384 -11.390845 0.972814 0.637323 0.736605 v 0.331270 14.764431 -12.348340 0.277643 0.477198 0.856984 v 1.981766 13.470652 -9.715823 0.330934 0.523869 0.730210 v -0.144927 13.138534 -13.507520 0.916849 0.309920 0.743766 v 1.371705 10.927938 -10.457692 0.568564 0.082999 0.913119 v -1.371160 11.072756 -14.293248 0.792608 0.086278 0.685460 v 0.755974 8.604320 -10.374156 0.245436 0.191963 0.598894 v -2.757455 7.928782 -14.691354 0.672562 0.528721 0.749329 v -0.117119 6.003036 -9.705232 0.977450 0.420874 0.602378 v -3.732631 4.788722 -11.959235 0.492562 0.737164 0.741409 v -2.884295 6.808886 -15.933040 0.991735 0.107709 0.181249 v -3.961456 4.337011 -12.496228 0.695925 0.930505 0.591754 v -2.789244 5.087214 -17.007202 0.708342 0.292172 0.076791 v -3.952054 2.888376 -13.589728 0.431491 0.403682 0.080462 v 5.395082 3.001920 -12.962943 0.329577 0.029302 0.398545 v 2.083164 0.867990 -8.635404 0.543686 0.137890 0.212864 v 2.118197 2.500321 -7.828017 0.092885 0.485409 0.900501 v 5.380334 4.633289 -11.739963 0.074008 0.046054 0.476089 v 6.221921 9.764775 -15.066960 0.820916 0.866649 0.282277 v 6.299401 10.380381 -13.436595 0.247095 0.819665 0.636855 v 6.963306 13.425476 -16.784300 0.481619 0.655866 0.879766 v 7.401298 14.208796 -14.828214 0.372291 0.987619 0.991422 v 7.778485 16.923954 -18.386852 0.678389 0.644326 0.533535 v 7.080629 15.930288 -13.175559 0.796086 0.082080 0.154573 v 6.728287 18.570498 -17.100489 0.158418 0.388895 0.231616 v 4.658382 17.579639 -19.648643 0.842315 0.661885 0.283435 v 5.035581 16.087862 -20.059088 0.461439 0.793687 0.194842 v 7.082665 15.657898 -19.231546 0.535186 0.903990 0.947695 v 6.687053 13.195816 -20.589064 0.873523 0.714456 0.849111 v 5.327042 13.481190 -21.138485 0.922313 0.433689 0.647394 v 5.457089 10.435824 -22.904795 0.321117 0.226722 0.691420 v 6.516754 10.213736 -22.477066 0.251367 0.944319 0.142937 v 6.147977 11.608456 -18.722736 0.335958 0.009137 0.595604 v 2.842790 14.290833 -18.449909 0.752999 0.699191 0.041311 v 3.924245 12.075043 -19.621052 0.485116 0.603471 0.564435 v 4.328603 9.361065 -21.595551 0.222775 0.179877 0.930534 v 6.043979 9.001553 -20.903149 0.095759 0.519947 0.208788 v 1.252736 15.500895 -17.314714 0.923652 0.334992 0.149218 v -0.672402 11.844336 -16.254484 0.243950 0.231414 0.254647 v 0.300191 11.007594 -17.459564 0.815171 0.228045 0.918943 v 0.689855 16.872429 -15.538507 0.688648 0.554007 0.669492 v 0.694903 18.385271 -13.900123 0.888790 0.557743 0.225965 v 0.329850 21.347183 -12.373639 0.082554 0.916943 0.381144 v 0.369846 29.640512 -11.613684 0.578827 0.773556 0.630608 v -4.212138 37.544144 -5.559052 0.533850 0.729690 0.267905 v -3.014394 43.979546 -7.013293 0.641357 0.415778 0.094744 v -2.133489 39.165123 -8.859841 0.215677 0.055020 0.473498 v 1.463649 39.617176 -9.438452 0.134713 0.168125 0.294570 v 2.769568 30.087517 -11.996031 0.560767 0.708901 0.905823 v 4.538390 39.104305 -6.894634 0.561989 0.632018 0.077833 v 4.398211 37.398033 -3.391732 0.281567 0.035950 0.853095 v 2.913495 36.243340 -1.083925 0.315775 0.900369 0.293370 v 3.565072 27.854012 -5.805964 0.779452 0.192776 0.925524 v 4.276612 20.639530 -9.121519 0.258567 0.600923 0.049632 v 4.674654 16.480581 -10.195594 0.188160 0.014638 0.576395 v 4.829677 14.128692 -10.714564 0.731365 0.383657 0.668910 v 4.955949 12.141791 -11.515611 0.321375 0.498113 0.685306 v 4.781144 10.153599 -11.568168 0.274488 0.487153 0.131913 v 4.247407 5.874106 -10.734571 0.805916 0.569955 0.043437 v 1.901814 3.123025 -7.575638 0.845962 0.351731 0.882328 v -1.137416 2.334682 -5.625384 0.822326 0.641707 0.926693 v -3.029823 2.835443 -6.617260 0.190895 0.541480 0.650846 v -3.229736 1.993436 -6.639835 0.039212 0.948957 0.572829 v -3.311244 0.490460 -7.411255 0.012461 0.543696 0.331589 v -1.382085 -0.017659 -6.405430 0.450562 0.747882 0.607899 v -1.325696 1.490345 -5.643540 0.090485 0.980232 0.906818 v 6.084737 18.035185 -12.373723 0.814686 0.803904 0.777814 v 5.356819 19.965424 -15.244996 0.813802 0.174643 0.249105 v 5.360506 21.501345 -11.011344 0.714488 0.500740 0.252200 v 4.921108 22.415771 -13.624866 0.412994 0.294009 0.039897 v 3.798749 22.489388 -14.220621 0.797845 0.284034 0.609529 v 4.741923 29.772703 -10.430540 0.057055 0.459434 0.262771 v 4.896149 28.646963 -7.450671 0.334136 0.945035 0.070791 v 2.423311 22.339239 -14.301302 0.788347 0.818232 0.714671 v 3.123925 20.025797 -15.921424 0.542812 0.868378 0.990224 v 4.237939 19.995674 -15.583945 0.284352 0.557106 0.879039 v 4.326996 18.924524 -17.988382 0.499595 0.194709 0.488294 v -3.336607 47.183186 -4.497360 0.420334 0.394812 0.843333 v -3.711030 49.511936 -2.368996 0.055509 0.068487 0.222638 v -6.020353 49.442341 1.663952 0.290182 0.052532 0.917769 v -5.647087 48.493412 5.637376 0.417900 0.449275 0.451763 v -3.020901 47.977901 8.163345 0.536927 0.652559 0.003033 v 0.791973 50.536583 8.580955 0.284137 0.218591 0.047326 v -3.437904 49.842052 9.251513 0.085649 0.444833 0.195262 v -3.774260 51.977303 10.080604 0.088183 0.390378 0.740386 v -5.886479 50.300034 6.783990 0.035475 0.585112 0.652326 v -6.184033 51.443977 3.027639 0.196608 0.002149 0.996386 v -6.325737 51.950127 7.532138 0.957395 0.214053 0.339032 v -3.891038 53.151119 10.298205 0.168183 0.975915 0.695216 v -6.713203 53.223621 7.799270 0.590505 0.272173 0.845776 v -7.061526 53.857403 3.855558 0.840359 0.898704 0.966645 v -4.008746 52.680843 0.618300 0.422464 0.589563 0.953052 v -3.908734 50.994789 -0.523135 0.558380 0.243672 0.056599 v -0.172095 50.018799 -2.735835 0.219354 0.760256 0.964852 v 1.984682 51.273159 1.068949 0.235964 0.723006 0.086059 v -0.751322 51.598457 -0.977178 0.921598 0.327491 0.479707 v -1.124086 53.317261 -0.027087 0.312804 0.980665 0.261643 v 2.126475 52.890553 2.223279 0.689827 0.989065 0.746145 v -1.185577 54.317223 -0.163120 0.624694 0.344054 0.931345 v 2.538505 54.332512 2.205115 0.080548 0.382065 0.354019 v 2.634266 54.192867 6.396688 0.069267 0.653032 0.842911 v 2.867555 57.068783 6.118881 0.082321 0.940914 0.460472 v 2.658297 57.028812 2.020636 0.135310 0.298107 0.252611 v 2.547400 64.983223 6.326583 0.007593 0.874075 0.579201 v 2.688040 64.986717 0.732040 0.406265 0.964386 0.817955 v 2.707202 73.392990 6.529133 0.386555 0.127905 0.630100 v 2.819846 73.580856 0.384392 0.483697 0.944773 0.346727 v 2.393851 81.737587 6.983870 0.444611 0.175461 0.691851 v 2.503198 81.928329 0.737867 0.959241 0.539486 0.136969 v -1.972188 73.459526 -2.492824 0.842788 0.253638 0.907694 v -1.706243 65.043510 -1.868771 0.707865 0.801195 0.966085 v -1.252247 57.084240 -0.376427 0.129228 0.659649 0.336757 v -4.690138 54.076454 0.317217 0.524961 0.558561 0.491735 v -7.831193 56.694141 3.354552 0.250218 0.892004 0.728375 v -7.536149 56.489216 8.017742 0.744847 0.980126 0.390178 v -4.136406 56.630013 10.691778 0.174507 0.711822 0.687358 v -9.173231 64.414452 8.338767 0.123117 0.684130 0.722486 v -9.434383 64.558723 3.199280 0.349636 0.233508 0.349303 v -6.554118 64.659271 -1.679422 0.217093 0.709732 0.261907 v -5.499686 56.739845 -0.110171 0.627386 0.025743 0.842487 v -7.208968 73.225601 -2.234071 0.441969 0.096489 0.000890 v -10.396976 72.928795 3.107146 0.985613 0.211677 0.014584 v -10.109716 72.768066 8.920127 0.132665 0.738451 0.749894 v -5.217604 64.490440 11.608110 0.661910 0.724686 0.098862 v 0.535172 56.778221 10.148924 0.308405 0.051141 0.266253 v 0.695273 53.489735 9.784801 0.765285 0.583585 0.356516 v 0.668438 52.221092 9.419286 0.946079 0.911065 0.221889 v 2.693751 51.750359 5.348881 0.447620 0.862332 0.561629 v 0.072129 64.742012 10.751061 0.316634 0.302257 0.675371 v -0.086074 73.123154 11.537230 0.010479 0.884719 0.101614 v -0.461985 81.461243 12.119439 0.351693 0.988660 0.704817 v 0.186165 89.277420 11.570992 0.122368 0.081862 0.171336 v 2.011395 89.485664 5.922347 0.135726 0.300236 0.851607 v 0.894845 89.592484 0.136645 0.676448 0.631290 0.843155 v -2.254360 81.809013 -2.156765 0.032624 0.647032 0.206347 v -7.848767 81.561600 -1.964271 0.498150 0.986675 0.939465 v -11.097338 81.259666 3.461542 0.513666 0.959798 0.954135 v -10.810881 81.094627 9.418111 0.677895 0.841547 0.380940 v -5.858409 72.847466 12.421038 0.836840 0.623280 0.799403 v -6.191061 81.188957 12.952019 0.160086 0.591414 0.627702 v -9.535351 88.946106 10.964783 0.003706 0.541143 0.742410 v -10.962400 89.043472 5.114111 0.740007 0.844055 0.492842 v -8.826666 89.261131 -0.469562 0.967177 0.224714 0.502278 v -3.965676 89.467323 -1.764934 0.674437 0.263378 0.310723 v -4.903740 89.050323 13.370448 0.426596 0.781751 0.223033 vt 0.359763 0.275100 vt 0.361417 0.289692 vt 0.387721 0.278085 vt 0.329997 0.267715 vt 0.331877 0.285681 vt 0.304957 0.254859 vt 0.306819 0.270295 vt 0.285437 0.252317 vt 0.285437 0.227820 vt 0.304832 0.228244 vt 0.332180 0.232355 vt 0.360000 0.236762 vt 0.387641 0.238278 vt 0.417628 0.274396 vt 0.415968 0.237033 vt 0.446724 0.266467 vt 0.443950 0.232144 vt 0.414066 0.198917 vt 0.387562 0.198917 vt 0.408038 0.142241 vt 0.430049 0.142241 vt 0.404498 0.087159 vt 0.387655 0.142241 vt 0.386459 0.087159 vt 0.652291 0.179172 vt 0.638952 0.152685 vt 0.639240 0.174731 vt 0.659778 0.158444 vt 0.663429 0.144840 vt 0.639181 0.137383 vt 0.672673 0.123150 vt 0.637715 0.108106 vt 0.675362 0.104865 vt 0.637296 0.093110 vt 0.676089 0.086106 vt 0.636878 0.078460 vt 0.665640 0.047109 vt 0.693939 0.074569 vt 0.673855 0.036735 vt 0.704631 0.065625 vt 0.679042 0.026882 vt 0.587916 0.243415 vt 0.560591 0.296034 vt 0.587668 0.297900 vt 0.550585 0.244231 vt 0.571315 0.068711 vt 0.603188 0.039185 vt 0.593496 0.029313 vt 0.583392 0.081664 vt 0.567046 0.110913 vt 0.579047 0.116734 vt 0.563233 0.153344 vt 0.578523 0.158172 vt 0.548896 0.186666 vt 0.593353 0.171914 vt 0.569629 0.198493 vt 0.739906 0.199653 vt 0.724197 0.181162 vt 0.724476 0.209488 vt 0.728952 0.174969 vt 0.748397 0.193711 vt 0.544333 0.178664 vt 0.532108 0.164989 vt 0.760078 0.176503 vt 0.745367 0.162971 vt 0.775289 0.134084 vt 0.786210 0.144110 vt 0.502808 0.135507 vt 0.549145 0.146223 vt 0.658022 0.285449 vt 0.670512 0.255921 vt 0.658175 0.251969 vt 0.670392 0.282198 vt 0.728728 0.143492 vt 0.716795 0.147781 vt 0.762916 0.119564 vt 0.720007 0.263572 vt 0.704623 0.279249 vt 0.719951 0.275784 vt 0.704713 0.259481 vt 0.515688 0.121255 vt 0.703227 0.153005 vt 0.697042 0.114067 vt 0.709031 0.107965 vt 0.623045 0.247692 vt 0.622845 0.291675 vt 0.691096 0.164918 vt 0.675889 0.179839 vt 0.665696 0.190842 vt 0.423091 0.087159 vt 0.454679 0.142241 vt 0.441022 0.198917 vt 0.471667 0.227859 vt 0.467984 0.198917 vt 0.452678 0.142241 vt 0.490898 0.197293 vt 0.478183 0.142241 vt 0.285437 0.198806 vt 0.308274 0.198917 vt 0.298474 0.142241 vt 0.334420 0.198917 vt 0.360243 0.198917 vt 0.364335 0.142241 vt 0.369350 0.087159 vt 0.626654 0.179310 vt 0.619411 0.162101 vt 0.613112 0.147270 vt 0.604672 0.126774 vt 0.601214 0.107322 vt 0.597756 0.087870 vt 0.610781 0.045341 vt 0.627991 0.024290 vt 0.650395 0.022355 vt 0.651725 0.014087 vt 0.653994 0.005531 vt 0.528614 0.283135 vt 0.528717 0.260305 vt 0.625740 0.014050 vt 0.621503 0.005386 vt 0.602125 0.180987 vt 0.580783 0.205676 vt 0.613056 0.191636 vt 0.597698 0.207154 vt 0.691069 0.217444 vt 0.695835 0.230378 vt 0.705684 0.220046 vt 0.323632 0.087159 vt 0.304117 0.087159 vt 0.318593 0.142241 vt 0.344672 0.142241 vt 0.349500 0.087159 vt 0.470812 0.087159 vt 0.445347 0.087159 vt 0.695845 0.203814 vt 0.681385 0.205398 vt 0.700193 0.211352 vt 0.709011 0.194668 vt 0.490898 0.226313 vt 0.490898 0.250922 vt 0.471871 0.253406 vt 0.470241 0.269190 vt 0.444665 0.284602 vt 0.415070 0.288953 vt 0.388185 0.291526 vt 0.362095 0.298516 vt 0.388380 0.299851 vt 0.388516 0.307060 vt 0.414803 0.297962 vt 0.442333 0.293558 vt 0.414421 0.303947 vt 0.388655 0.309912 vt 0.414057 0.308206 vt 0.443291 0.305957 vt 0.465212 0.290684 vt 0.467269 0.281070 vt 0.490898 0.269040 vt 0.285437 0.270283 vt 0.309032 0.282079 vt 0.285437 0.280014 vt 0.490898 0.278756 vt 0.490898 0.288144 vt 0.285437 0.289469 vt 0.310837 0.291567 vt 0.285437 0.303706 vt 0.309969 0.303762 vt 0.333643 0.306497 vt 0.334369 0.319673 vt 0.308769 0.319673 vt 0.337126 0.348037 vt 0.311334 0.348037 vt 0.337411 0.372773 vt 0.310940 0.373180 vt 0.337678 0.396072 vt 0.310579 0.396072 vt 0.285437 0.372773 vt 0.285437 0.348037 vt 0.285437 0.319673 vt 0.490898 0.319673 vt 0.490898 0.302315 vt 0.466804 0.302854 vt 0.443033 0.319673 vt 0.412512 0.319673 vt 0.388945 0.319673 vt 0.412929 0.348037 vt 0.441710 0.348037 vt 0.467191 0.348037 vt 0.468599 0.319673 vt 0.490898 0.348037 vt 0.490898 0.372773 vt 0.467591 0.373180 vt 0.441306 0.372773 vt 0.412498 0.372777 vt 0.389678 0.348037 vt 0.364916 0.319673 vt 0.363089 0.308422 vt 0.362592 0.304452 vt 0.334291 0.294380 vt 0.365715 0.348037 vt 0.366021 0.372777 vt 0.366309 0.396072 vt 0.366757 0.432228 vt 0.338095 0.432228 vt 0.310016 0.432228 vt 0.285437 0.396072 vt 0.490898 0.396072 vt 0.467959 0.396072 vt 0.440927 0.396072 vt 0.412093 0.396072 vt 0.389568 0.372773 vt 0.389465 0.396072 vt 0.411463 0.432228 vt 0.440336 0.432228 vt 0.468531 0.432228 vt 0.490898 0.432228 vt 0.285437 0.432228 vt 0.389304 0.432228 vn 0.651265 -0.417127 0.633869 vn 0.636769 -0.482681 0.601215 vn -0.093142 -0.667531 0.738701 vn 0.960021 -0.042848 0.276498 vn 0.997833 -0.014130 0.063997 vn 0.802942 0.489731 -0.339702 vn 0.762505 0.505814 -0.403333 vn 0.219337 0.667409 -0.711600 vn 0.230018 0.495865 -0.837367 vn 0.916288 0.296457 -0.269234 vn 0.942473 -0.031343 0.332743 vn 0.554949 -0.356700 0.751488 vn -0.244575 -0.559679 0.791772 vn -0.779870 -0.437391 0.447707 vn -0.817774 -0.385876 0.426954 vn -0.974700 0.073305 -0.211127 vn -0.982482 -0.089267 -0.163518 vn -0.882138 -0.377117 0.282052 vn -0.157384 -0.505142 0.848537 vn -0.790185 -0.421308 0.445021 vn -0.961028 -0.184362 -0.205817 vn -0.893246 -0.262062 0.365246 vn -0.164708 -0.451064 0.877132 vn -0.048891 -0.301096 0.952330 vn -0.381756 -0.207221 0.900693 vn -0.979034 -0.043733 0.198828 vn -0.938261 0.047426 0.342601 vn -0.326060 -0.222327 0.918821 vn -0.956755 0.230720 0.177038 vn -0.317972 0.023347 0.947783 vn -0.875790 0.363262 0.317789 vn -0.310953 0.234901 0.920896 vn -0.881741 0.420911 0.212928 vn -0.201025 0.664357 0.719840 vn -0.836360 0.500626 0.223212 vn -0.897488 0.296915 -0.326029 vn -0.983215 0.181860 0.013123 vn -0.662221 -0.153935 -0.733299 vn -0.701804 -0.633900 -0.324931 vn 0.699362 -0.629048 -0.339305 vn 0.452498 -0.873714 0.178411 vn 0.699057 -0.216041 0.681600 vn 0.884457 -0.063387 0.462233 vn 0.786035 -0.344340 -0.513352 vn 0.919675 -0.097537 0.380322 vn 0.899472 -0.422742 -0.110477 vn 0.962371 -0.174627 0.208167 vn 0.884213 0.221809 -0.410993 vn 0.911710 0.126774 0.390728 vn 0.547838 0.780297 -0.301645 vn -0.247383 0.503159 -0.827998 vn 0.067843 0.335368 -0.939634 vn 0.805139 0.080447 -0.587573 vn 0.806116 0.189642 -0.560503 vn -0.352855 0.333476 -0.874203 vn -0.223518 0.195105 -0.954955 vn 0.750664 -0.435896 -0.496414 vn 0.437300 -0.638874 0.632923 vn -0.407582 -0.574419 0.709873 vn -0.407368 -0.574186 0.710184 vn -0.941313 -0.318400 0.111911 vn -0.634449 -0.220588 -0.740776 vn -0.448042 -0.795587 -0.407697 vn 0.072323 -0.800574 -0.594854 vn 0.072323 -0.800574 -0.594853 vn 0.097903 -0.903439 0.417371 vn -0.407159 -0.576372 0.708531 vn -0.406870 -0.576275 0.708776 vn -0.793695 0.222999 -0.565905 vn -0.827265 0.362835 -0.428877 vn -0.231544 -0.035340 -0.972167 vn -0.906095 0.308969 -0.288919 vn -0.865230 0.231269 -0.444807 vn -0.936399 -0.010132 -0.350719 vn -0.554888 0.131535 -0.821436 vn -0.922117 -0.076235 -0.379254 vn -0.622059 0.330241 -0.709891 vn -0.486770 0.195044 -0.851436 vn 0.244697 0.334819 -0.909940 vn 0.304239 0.308878 -0.901089 vn 0.865169 0.225684 -0.447768 vn 0.967528 -0.048250 0.248054 vn 0.656606 -0.315348 0.685110 vn 0.607715 -0.312449 0.730094 vn 0.708396 -0.184027 0.681387 vn 0.650075 -0.091647 0.754295 vn 0.569262 -0.217811 0.792749 vn 0.642659 -0.193335 0.741325 vn 0.499252 0.000916 0.866421 vn 0.513474 0.222968 0.828608 vn 0.553697 0.298776 0.777245 vn 0.070925 0.267830 0.960845 vn -0.691366 0.484298 0.536119 vn -0.825373 -0.012421 0.564409 vn -0.598834 -0.757164 0.260903 vn 0.016999 -0.836299 0.547990 vn 0.048891 -0.315195 0.947752 vn 0.929838 0.153630 0.334269 vn 0.768426 0.551042 -0.325358 vn 0.991363 0.078890 0.104617 vn 0.765862 0.330973 -0.551256 vn 0.242683 0.463118 -0.852412 vn 0.945585 0.153569 -0.286782 vn 0.944823 -0.085116 0.316233 vn -0.417402 0.307199 -0.855190 vn -0.242500 0.593341 -0.767541 vn 0.233253 0.755730 -0.611866 vn -0.254372 0.770959 -0.583819 vn -0.466536 0.540513 -0.700095 vn -0.600513 0.533525 -0.595538 vn -0.947295 0.154057 -0.280801 vn -0.859035 -0.389691 0.331919 vn -0.217078 -0.618915 0.754845 vn 0.545640 -0.391186 0.741081 vn -0.269295 -0.459151 0.846522 vn -0.282174 -0.361370 0.888668 vn -0.854579 -0.348949 0.384564 vn -0.962004 -0.095584 -0.255715 vn -0.863826 -0.339366 0.372295 vn -0.291116 -0.223212 0.930265 vn -0.865108 -0.266427 0.424940 vn -0.906949 -0.302805 -0.292734 vn -0.542680 0.095614 -0.834468 vn -0.467360 0.584704 -0.663045 vn 0.171026 0.708884 -0.684225 vn 0.804559 0.374615 -0.460738 vn 0.153386 0.607044 -0.779687 vn 0.180822 0.198370 -0.963286 vn 0.861080 0.090091 -0.500412 vn 0.213691 -0.138615 -0.966979 vn 0.857509 -0.132420 -0.497085 vn 0.982543 -0.098758 0.157445 vn 0.961058 -0.013459 0.275979 vn 0.914243 -0.051180 -0.401898 vn 0.967772 -0.002167 0.251686 vn 0.874142 -0.066927 -0.480972 vn 0.965209 -0.002472 0.261391 vn 0.874355 0.004791 -0.485244 vn 0.973022 0.031159 0.228492 vn 0.854488 0.080782 -0.513108 vn 0.246864 -0.007691 -0.968993 vn 0.247902 -0.118259 -0.961516 vn 0.277871 -0.126316 -0.952239 vn -0.473525 -0.295419 -0.829737 vn -0.919218 -0.259285 -0.296213 vn -0.901944 -0.220374 0.371319 vn -0.330821 -0.150273 0.931639 vn -0.880367 -0.161901 0.445723 vn -0.957976 -0.156682 -0.240211 vn -0.493149 -0.157994 -0.855464 vn -0.379101 -0.243110 -0.892819 vn -0.511063 -0.047548 -0.858211 vn -0.965484 -0.089938 -0.244362 vn -0.888211 -0.115268 0.444685 vn -0.262856 -0.121891 0.957091 vn 0.472579 -0.059542 0.879238 vn 0.616749 -0.135685 0.775353 vn 0.489059 -0.264412 0.831202 vn 0.959777 -0.115696 0.255684 vn 0.571734 -0.042879 0.819269 vn 0.570635 -0.048341 0.819758 vn 0.595813 -0.023316 0.802759 vn 0.777978 0.032228 0.627400 vn 0.992431 0.112247 0.049623 vn 0.678579 0.131657 -0.722587 vn 0.220130 0.057466 -0.973754 vn -0.542375 0.021729 -0.839839 vn -0.976287 -0.023072 -0.215094 vn -0.872097 -0.036500 0.487930 vn -0.253975 -0.095798 0.962432 vn -0.219581 -0.053713 0.974090 vn -0.727012 0.028779 0.685995 vn -0.997131 0.071688 -0.023133 vn -0.744987 0.084994 -0.661611 vn 0.021302 0.111332 -0.993530 vn 0.006104 -0.003388 0.999969 g mesh5.002_mesh5-geometry__03_-_Default1noCulli__03_-_Default1noCulli usemtl _03_-_Default1noCulli__03_-_Default1noCulli s 1 f 2651/4123/2663 2652/4124/2664 2653/4125/2665 f 2652/4124/2664 2651/4123/2663 2654/4126/2666 f 2654/4126/2666 2655/4127/2667 2652/4124/2664 f 2656/4128/2668 2655/4127/2667 2654/4126/2666 f 2656/4128/2668 2657/4129/2669 2655/4127/2667 f 2656/4128/2668 2658/4130/2670 2657/4129/2669 f 2658/4130/2670 2656/4128/2668 2659/4131/2671 f 2656/4128/2668 2660/4132/2672 2659/4131/2671 f 2660/4132/2672 2656/4128/2668 2654/4126/2666 f 2660/4132/2672 2654/4126/2666 2661/4133/2673 f 2661/4133/2673 2654/4126/2666 2662/4134/2674 f 2654/4126/2666 2651/4123/2663 2662/4134/2674 f 2651/4123/2663 2653/4125/2665 2662/4134/2674 f 2653/4125/2665 2663/4135/2675 2662/4134/2674 f 2664/4136/2676 2663/4135/2675 2653/4125/2665 f 2664/4136/2676 2665/4137/2677 2663/4135/2675 f 2666/4138/2678 2665/4137/2677 2664/4136/2676 f 2667/4139/2679 2665/4137/2677 2666/4138/2678 f 2668/4140/2680 2665/4137/2677 2667/4139/2679 f 2665/4137/2677 2668/4140/2680 2669/4141/2681 f 2668/4140/2680 2670/4142/2682 2669/4141/2681 f 2671/4143/2683 2670/4142/2682 2668/4140/2680 f 2672/4144/2684 2670/4142/2682 2671/4143/2683 f 2672/4144/2684 2673/4145/2685 2670/4142/2682 f 2672/4144/2684 2674/4146/2686 2673/4145/2685 f 2672/4147/2684 2675/4148/2687 2674/4149/2686 f 2676/4150/2688 2675/4148/2687 2672/4147/2684 f 2677/4151/2689 2675/4148/2687 2676/4150/2688 f 2677/4151/2689 2678/4152/2690 2675/4148/2687 f 2679/4153/2691 2678/4152/2690 2677/4151/2689 f 2679/4153/2691 2680/4154/2692 2678/4152/2690 f 2681/4155/2693 2680/4154/2692 2679/4153/2691 f 2681/4155/2693 2682/4156/2694 2680/4154/2692 f 2683/4157/2695 2682/4156/2694 2681/4155/2693 f 2683/4157/2695 2684/4158/2696 2682/4156/2694 f 2684/4158/2696 2683/4157/2695 2685/4159/2697 f 2686/4160/2698 2685/4159/2697 2683/4157/2695 f 2686/4160/2698 2687/4161/2699 2685/4159/2697 f 2688/4162/2700 2687/4161/2699 2686/4160/2698 f 2688/4162/2700 2689/4163/2701 2687/4161/2699 f 2690/4164/2702 2689/4165/2701 2688/4166/2700 f 2690/4164/2702 2691/4167/2703 2689/4165/2701 f 2690/4168/2702 2692/4169/2704 2691/4170/2703 f 2690/4168/2702 2693/4171/2705 2692/4169/2704 f 2694/4172/2706 2693/4171/2705 2690/4168/2702 f 2694/4172/2706 2695/4173/2707 2693/4171/2705 f 2696/4174/2708 2695/4173/2707 2694/4172/2706 f 2696/4174/2708 2697/4175/2709 2695/4173/2707 f 2698/4176/2710 2697/4175/2709 2696/4174/2708 f 2698/4176/2710 2699/4177/2711 2697/4175/2709 f 2698/4176/2710 2700/4178/2712 2699/4177/2711 f 2698/4179/2710 2701/4180/2713 2700/4181/2712 f 2701/4180/2713 2698/4179/2710 2702/4182/2714 f 2698/4179/2710 2703/4183/2715 2702/4182/2714 f 2703/4184/2715 2698/4176/2710 2696/4174/2708 f 2704/4185/2716 2703/4184/2715 2696/4174/2708 f 2702/4182/2714 2703/4183/2715 2704/4186/2716 f 2702/4182/2714 2704/4186/2716 2705/4187/2717 f 2705/4187/2717 2704/4186/2716 2706/4188/2718 f 2704/4186/2716 2707/4189/2719 2706/4188/2718 f 2707/4190/2719 2704/4185/2716 2708/4191/2720 f 2704/4185/2716 2696/4174/2708 2708/4191/2720 s off f 2709/4192/2721 2708/4193/2721 2696/4194/2721 f 2709/4192/2722 2710/4195/2722 2708/4193/2722 s 1 f 2705/4187/2717 2710/4196/2723 2709/4197/2724 f 2706/4188/2718 2710/4196/2723 2705/4187/2717 f 2706/4188/2718 2711/4198/2725 2710/4196/2723 s off f 2707/4199/2726 2711/4200/2726 2706/4201/2726 f 2707/4199/2727 2712/4202/2727 2711/4200/2727 s 1 f 2707/4190/2719 2708/4191/2720 2712/4203/2728 s off f 2710/4195/2729 2712/4202/2729 2708/4193/2729 f 2710/4195/2730 2711/4200/2730 2712/4202/2730 s 1 f 2702/4182/2714 2705/4187/2717 2709/4197/2724 f 2701/4180/2713 2702/4182/2714 2709/4197/2724 f 2701/4180/2713 2709/4197/2724 2713/4204/2731 f 2713/4204/2731 2709/4197/2724 2714/4205/2732 f 2709/4197/2724 2715/4206/2733 2714/4205/2732 f 2709/4192/2724 2694/4207/2706 2715/4208/2733 f 2709/4192/2724 2696/4194/2708 2694/4207/2706 f 2715/4208/2733 2694/4207/2706 2690/4164/2702 f 2715/4208/2733 2690/4164/2702 2688/4166/2700 f 2715/4206/2733 2688/4162/2700 2686/4160/2698 f 2714/4205/2732 2715/4206/2733 2686/4160/2698 f 2714/4205/2732 2686/4160/2698 2683/4157/2695 f 2714/4205/2732 2683/4157/2695 2681/4155/2693 f 2714/4205/2732 2681/4155/2693 2679/4153/2691 f 2713/4204/2731 2714/4205/2732 2679/4153/2691 f 2713/4204/2731 2679/4153/2691 2716/4209/2734 f 2716/4209/2734 2679/4153/2691 2677/4151/2689 f 2716/4209/2734 2677/4151/2689 2676/4150/2688 f 2716/4209/2734 2676/4150/2688 2717/4210/2735 f 2717/4210/2735 2676/4150/2688 2718/4211/2736 f 2718/4211/2736 2676/4150/2688 2672/4147/2684 f 2718/4212/2736 2672/4144/2684 2671/4143/2683 f 2718/4212/2736 2671/4143/2683 2719/4213/2737 f 2719/4213/2737 2671/4143/2683 2720/4214/2738 f 2671/4143/2683 2668/4140/2680 2720/4214/2738 f 2720/4214/2738 2668/4140/2680 2667/4139/2679 f 2721/4215/2739 2720/4214/2738 2667/4139/2679 f 2722/4216/2740 2720/4214/2738 2721/4215/2739 f 2719/4217/2737 2720/4214/2738 2722/4216/2740 f 2723/4218/2741 2719/4217/2737 2722/4216/2740 f 2723/4218/2741 2724/4219/2742 2719/4217/2737 f 2723/4220/2741 2725/4221/2743 2724/4222/2742 f 2660/4132/2672 2725/4221/2743 2723/4220/2741 f 2725/4221/2743 2660/4132/2672 2726/4223/2744 f 2660/4132/2672 2661/4133/2673 2726/4223/2744 f 2726/4223/2744 2661/4133/2673 2727/4224/2745 f 2727/4224/2745 2661/4133/2673 2662/4134/2674 f 2662/4134/2674 2669/4141/2681 2727/4224/2745 f 2662/4134/2674 2663/4135/2675 2669/4141/2681 f 2665/4137/2677 2669/4141/2681 2663/4135/2675 f 2727/4224/2745 2669/4141/2681 2728/4225/2746 f 2669/4141/2681 2673/4145/2685 2728/4225/2746 f 2670/4142/2682 2673/4145/2685 2669/4141/2681 f 2728/4225/2746 2673/4145/2685 2729/4226/2747 f 2673/4145/2685 2674/4146/2686 2729/4226/2747 f 2729/4227/2747 2674/4149/2686 2730/4228/2748 f 2674/4149/2686 2675/4148/2687 2730/4228/2748 f 2730/4228/2748 2675/4148/2687 2731/4229/2749 f 2675/4148/2687 2678/4152/2690 2731/4229/2749 f 2731/4229/2749 2678/4152/2690 2732/4230/2750 f 2678/4152/2690 2680/4154/2692 2732/4230/2750 f 2732/4230/2750 2680/4154/2692 2733/4231/2751 f 2680/4154/2692 2682/4156/2694 2733/4231/2751 f 2733/4231/2751 2682/4156/2694 2734/4232/2752 f 2682/4156/2694 2684/4158/2696 2734/4232/2752 f 2684/4158/2696 2735/4233/2753 2734/4232/2752 f 2735/4233/2753 2684/4158/2696 2736/4234/2754 f 2684/4158/2696 2737/4235/2755 2736/4234/2754 f 2684/4158/2696 2685/4159/2697 2737/4235/2755 f 2687/4161/2699 2737/4235/2755 2685/4159/2697 f 2687/4161/2699 2738/4236/2756 2737/4235/2755 f 2689/4163/2701 2738/4236/2756 2687/4161/2699 f 2689/4163/2701 2739/4237/2757 2738/4236/2756 f 2691/4167/2703 2739/4238/2757 2689/4165/2701 f 2691/4167/2703 2740/4239/2758 2739/4238/2757 f 2741/4240/2759 2740/4241/2758 2691/4170/2703 f 2741/4240/2759 2739/4237/2757 2740/4241/2758 f 2738/4236/2756 2739/4237/2757 2741/4240/2759 f 2736/4234/2754 2738/4236/2756 2741/4240/2759 f 2737/4235/2755 2738/4236/2756 2736/4234/2754 f 2692/4169/2704 2736/4234/2754 2741/4240/2759 f 2735/4233/2753 2736/4234/2754 2692/4169/2704 f 2693/4171/2705 2735/4233/2753 2692/4169/2704 f 2693/4171/2705 2734/4232/2752 2735/4233/2753 f 2695/4173/2707 2734/4232/2752 2693/4171/2705 f 2695/4173/2707 2733/4231/2751 2734/4232/2752 f 2695/4173/2707 2732/4230/2750 2733/4231/2751 f 2697/4175/2709 2732/4230/2750 2695/4173/2707 f 2697/4175/2709 2699/4177/2711 2732/4230/2750 f 2699/4177/2711 2731/4229/2749 2732/4230/2750 f 2699/4177/2711 2730/4228/2748 2731/4229/2749 f 2699/4177/2711 2742/4242/2760 2730/4228/2748 f 2743/4243/2761 2742/4242/2760 2699/4177/2711 f 2743/4243/2761 2744/4244/2762 2742/4242/2760 f 2743/4243/2761 2745/4245/2763 2744/4244/2762 f 2746/4246/2764 2745/4247/2763 2743/4248/2761 f 2724/4222/2742 2745/4249/2763 2746/4250/2764 f 2724/4222/2742 2747/4251/2765 2745/4249/2763 f 2725/4221/2743 2747/4251/2765 2724/4222/2742 f 2747/4251/2765 2725/4221/2743 2726/4223/2744 f 2747/4251/2765 2726/4223/2744 2748/4252/2766 f 2748/4252/2766 2726/4223/2744 2728/4225/2746 f 2728/4225/2746 2726/4223/2744 2727/4224/2745 f 2729/4226/2747 2748/4252/2766 2728/4225/2746 f 2744/4253/2762 2748/4252/2766 2729/4226/2747 f 2744/4253/2762 2747/4251/2765 2748/4252/2766 f 2745/4249/2763 2747/4251/2765 2744/4253/2762 f 2742/4242/2760 2744/4244/2762 2729/4227/2747 f 2742/4242/2760 2729/4227/2747 2730/4228/2748 f 2724/4219/2742 2746/4254/2764 2749/4255/2767 f 2746/4246/2764 2750/4256/2768 2749/4257/2767 f 2746/4246/2764 2751/4258/2769 2750/4256/2768 f 2746/4246/2764 2743/4248/2761 2751/4258/2769 f 2700/4181/2712 2751/4258/2769 2743/4248/2761 f 2700/4181/2712 2752/4259/2770 2751/4258/2769 f 2700/4181/2712 2701/4180/2713 2752/4259/2770 f 2701/4180/2713 2716/4209/2734 2752/4259/2770 f 2701/4180/2713 2713/4204/2731 2716/4209/2734 f 2752/4259/2770 2716/4209/2734 2717/4210/2735 f 2752/4259/2770 2717/4210/2735 2750/4256/2768 f 2750/4256/2768 2717/4210/2735 2749/4257/2767 f 2749/4257/2767 2717/4210/2735 2718/4211/2736 f 2719/4213/2737 2749/4255/2767 2718/4212/2736 f 2724/4219/2742 2749/4255/2767 2719/4213/2737 f 2752/4259/2770 2750/4256/2768 2751/4258/2769 f 2700/4178/2712 2743/4243/2761 2699/4177/2711 f 2692/4169/2704 2741/4240/2759 2691/4170/2703 f 2660/4132/2672 2723/4220/2741 2659/4131/2671 f 2659/4260/2671 2723/4218/2741 2722/4216/2740 f 2659/4260/2671 2722/4216/2740 2721/4215/2739 f 2658/4261/2670 2659/4260/2671 2721/4215/2739 f 2658/4261/2670 2721/4215/2739 2753/4262/2771 f 2721/4215/2739 2666/4138/2678 2753/4262/2771 f 2721/4215/2739 2667/4139/2679 2666/4138/2678 f 2753/4262/2771 2666/4138/2678 2754/4263/2772 f 2754/4263/2772 2666/4138/2678 2755/4264/2773 f 2666/4138/2678 2756/4265/2774 2755/4264/2773 f 2666/4138/2678 2664/4136/2676 2756/4265/2774 f 2653/4125/2665 2756/4265/2774 2664/4136/2676 f 2653/4125/2665 2757/4266/2775 2756/4265/2774 f 2652/4124/2664 2757/4266/2775 2653/4125/2665 f 2758/4267/2776 2757/4266/2775 2652/4124/2664 f 2758/4267/2776 2759/4268/2777 2757/4266/2775 f 2760/4269/2778 2759/4268/2777 2758/4267/2776 f 2761/4270/2779 2759/4268/2777 2760/4269/2778 f 2761/4270/2779 2757/4266/2775 2759/4268/2777 f 2756/4265/2774 2757/4266/2775 2761/4270/2779 f 2755/4264/2773 2756/4265/2774 2761/4270/2779 f 2755/4264/2773 2761/4270/2779 2762/4271/2780 f 2762/4271/2780 2761/4270/2779 2763/4272/2781 f 2760/4269/2778 2763/4272/2781 2761/4270/2779 f 2764/4273/2782 2763/4272/2781 2760/4269/2778 f 2765/4274/2783 2763/4272/2781 2764/4273/2782 f 2766/4275/2784 2763/4272/2781 2765/4274/2783 f 2762/4271/2780 2763/4272/2781 2766/4275/2784 f 2767/4276/2785 2762/4271/2780 2766/4275/2784 f 2767/4276/2785 2755/4264/2773 2762/4271/2780 f 2768/4277/2786 2755/4264/2773 2767/4276/2785 f 2754/4263/2772 2755/4264/2773 2768/4277/2786 f 2769/4278/2787 2754/4263/2772 2768/4277/2786 f 2769/4278/2787 2753/4262/2771 2754/4263/2772 f 2769/4278/2787 2658/4261/2670 2753/4262/2771 f 2658/4130/2670 2769/4279/2787 2657/4129/2669 f 2769/4279/2787 2770/4280/2788 2657/4129/2669 f 2770/4280/2788 2769/4279/2787 2771/4281/2789 f 2771/4282/2789 2769/4278/2787 2768/4277/2786 f 2767/4276/2785 2771/4282/2789 2768/4277/2786 f 2772/4283/2790 2771/4282/2789 2767/4276/2785 f 2772/4284/2790 2773/4285/2791 2771/4281/2789 f 2774/4286/2792 2773/4285/2791 2772/4284/2790 f 2775/4287/2793 2773/4285/2791 2774/4286/2792 f 2775/4287/2793 2776/4288/2794 2773/4285/2791 f 2775/4287/2793 2777/4289/2795 2776/4288/2794 f 2778/4290/2796 2777/4289/2795 2775/4287/2793 f 2778/4290/2796 2779/4291/2797 2777/4289/2795 f 2780/4292/2798 2779/4291/2797 2778/4290/2796 f 2780/4292/2798 2781/4293/2799 2779/4291/2797 f 2782/4294/2800 2781/4293/2799 2780/4292/2798 f 2782/4294/2800 2783/4295/2801 2781/4293/2799 f 2782/4294/2800 2784/4296/2802 2783/4295/2801 f 2784/4296/2802 2782/4294/2800 2785/4297/2803 f 2782/4294/2800 2786/4298/2804 2785/4297/2803 f 2782/4294/2800 2780/4292/2798 2786/4298/2804 f 2786/4298/2804 2780/4292/2798 2787/4299/2805 f 2780/4292/2798 2778/4290/2796 2787/4299/2805 f 2787/4299/2805 2778/4290/2796 2775/4287/2793 f 2787/4299/2805 2775/4287/2793 2774/4286/2792 f 2787/4300/2805 2774/4301/2792 2788/4302/2806 f 2774/4301/2792 2767/4276/2785 2788/4302/2806 f 2774/4301/2792 2772/4283/2790 2767/4276/2785 f 2788/4302/2806 2767/4276/2785 2766/4275/2784 f 2788/4302/2806 2766/4275/2784 2789/4303/2807 f 2789/4303/2807 2766/4275/2784 2765/4274/2783 f 2789/4303/2807 2765/4274/2783 2790/4304/2808 f 2791/4305/2809 2790/4304/2808 2765/4274/2783 f 2792/4306/2810 2790/4304/2808 2791/4305/2809 f 2793/4307/2811 2790/4304/2808 2792/4306/2810 f 2793/4307/2811 2789/4303/2807 2790/4304/2808 f 2794/4308/2812 2789/4303/2807 2793/4307/2811 f 2794/4308/2812 2795/4309/2813 2789/4303/2807 f 2786/4310/2804 2795/4309/2813 2794/4308/2812 f 2786/4310/2804 2787/4300/2805 2795/4309/2813 f 2787/4300/2805 2788/4302/2806 2795/4309/2813 f 2795/4309/2813 2788/4302/2806 2789/4303/2807 f 2785/4311/2803 2786/4310/2804 2794/4308/2812 f 2785/4311/2803 2794/4308/2812 2796/4312/2814 f 2796/4312/2814 2794/4308/2812 2793/4307/2811 f 2796/4312/2814 2793/4307/2811 2797/4313/2815 f 2797/4313/2815 2793/4307/2811 2792/4306/2810 f 2797/4313/2815 2792/4306/2810 2798/4314/2816 f 2798/4314/2816 2792/4306/2810 2799/4315/2817 f 2799/4315/2817 2792/4306/2810 2791/4305/2809 f 2799/4315/2817 2791/4305/2809 2800/4316/2818 f 2800/4316/2818 2791/4305/2809 2801/4317/2819 f 2791/4305/2809 2764/4273/2782 2801/4317/2819 f 2791/4305/2809 2765/4274/2783 2764/4273/2782 f 2801/4317/2819 2764/4273/2782 2802/4318/2820 f 2764/4273/2782 2760/4269/2778 2802/4318/2820 f 2802/4318/2820 2760/4269/2778 2758/4267/2776 f 2803/4319/2821 2802/4318/2820 2758/4267/2776 f 2803/4319/2821 2801/4317/2819 2802/4318/2820 f 2803/4319/2821 2776/4288/2794 2801/4317/2819 f 2773/4285/2791 2776/4288/2794 2803/4319/2821 f 2773/4285/2791 2803/4319/2821 2655/4127/2667 f 2655/4127/2667 2803/4319/2821 2758/4267/2776 f 2655/4127/2667 2758/4267/2776 2652/4124/2664 f 2770/4280/2788 2773/4285/2791 2655/4127/2667 f 2773/4285/2791 2770/4280/2788 2771/4281/2789 f 2657/4129/2669 2770/4280/2788 2655/4127/2667 f 2777/4289/2795 2801/4317/2819 2776/4288/2794 f 2777/4289/2795 2800/4316/2818 2801/4317/2819 f 2777/4289/2795 2804/4320/2822 2800/4316/2818 f 2777/4289/2795 2779/4291/2797 2804/4320/2822 f 2779/4291/2797 2805/4321/2823 2804/4320/2822 f 2779/4291/2797 2781/4293/2799 2805/4321/2823 f 2781/4293/2799 2806/4322/2824 2805/4321/2823 f 2781/4293/2799 2783/4295/2801 2806/4322/2824 f 2783/4295/2801 2807/4323/2825 2806/4322/2824 f 2808/4324/2826 2807/4323/2825 2783/4295/2801 f 2784/4296/2802 2808/4324/2826 2783/4295/2801 f 2809/4325/2827 2808/4324/2826 2784/4296/2802 f 2809/4325/2827 2784/4296/2802 2810/4326/2828 f 2784/4296/2802 2785/4297/2803 2810/4326/2828 f 2810/4327/2828 2785/4311/2803 2796/4312/2814 f 2810/4327/2828 2796/4312/2814 2811/4328/2829 f 2796/4312/2814 2797/4313/2815 2811/4328/2829 f 2811/4328/2829 2797/4313/2815 2812/4329/2830 f 2797/4313/2815 2798/4314/2816 2812/4329/2830 f 2812/4329/2830 2798/4314/2816 2813/4330/2831 f 2813/4330/2831 2798/4314/2816 2814/4331/2832 f 2814/4331/2832 2798/4314/2816 2799/4315/2817 f 2814/4331/2832 2799/4315/2817 2804/4320/2822 f 2804/4320/2822 2799/4315/2817 2800/4316/2818 f 2805/4321/2823 2814/4331/2832 2804/4320/2822 f 2815/4332/2833 2814/4331/2832 2805/4321/2823 f 2815/4332/2833 2813/4330/2831 2814/4331/2832 f 2816/4333/2834 2813/4330/2831 2815/4332/2833 f 2817/4334/2835 2813/4330/2831 2816/4333/2834 f 2812/4329/2830 2813/4330/2831 2817/4334/2835 f 2818/4335/2836 2812/4329/2830 2817/4334/2835 f 2811/4328/2829 2812/4329/2830 2818/4335/2836 f 2819/4336/2837 2811/4328/2829 2818/4335/2836 f 2819/4336/2837 2810/4327/2828 2811/4328/2829 f 2809/4325/2827 2810/4326/2828 2819/4337/2837 f 2820/4338/2838 2816/4333/2834 2815/4332/2833 f 2820/4338/2838 2815/4332/2833 2806/4322/2824 f 2806/4322/2824 2815/4332/2833 2805/4321/2823 f 2807/4323/2825 2820/4338/2838 2806/4322/2824 o mesh6.002_mesh6-geometry v 0.952249 166.664627 1.150621 0.000494 0.270406 0.793426 v 2.922750 164.442917 -1.119759 0.097325 0.422360 0.442986 v -0.842853 165.797806 1.060976 0.185310 0.386550 0.269007 v 3.254126 164.625732 -1.097020 0.751028 0.499319 0.500411 v 2.798072 167.562683 2.681816 0.802396 0.647687 0.316926 v 0.594728 167.475632 4.229268 0.028763 0.260916 0.494020 v -0.008813 167.062485 3.371047 0.740327 0.490172 0.076600 v -0.654566 166.854553 3.315115 0.212918 0.894748 0.762353 v -1.261482 166.352661 3.835398 0.468278 0.243634 0.436634 v -1.857574 165.416718 1.514300 0.118047 0.247361 0.597642 v -2.087371 163.089539 -0.549018 0.506336 0.861025 0.986256 v 0.277861 163.733627 -1.356241 0.908835 0.197064 0.279806 v 1.294104 161.151428 -2.577470 0.861715 0.997226 0.001822 v 4.333144 161.618439 -2.048550 0.869816 0.037674 0.122378 v 4.968101 161.737228 -2.130720 0.137075 0.557911 0.584612 v 5.794397 165.835800 0.658040 0.702859 0.982195 0.539132 v 7.910389 162.474380 -0.372808 0.924938 0.160126 0.689324 v 6.147132 166.147110 1.701562 0.372439 0.043810 0.802898 v 6.659536 166.713196 4.063804 0.084001 0.298576 0.689967 v 9.672674 163.372681 3.937915 0.898013 0.516247 0.021611 v 9.441824 162.711884 7.809521 0.571566 0.323768 0.311825 v 6.726227 166.409744 7.501751 0.764886 0.310873 0.714657 v 3.564687 167.686569 7.069901 0.803068 0.080010 0.175214 v 3.364160 167.966827 4.687578 0.083619 0.695267 0.665705 v 0.569306 167.584000 5.443505 0.928947 0.525325 0.718566 v -0.678713 166.895416 5.209417 0.334834 0.683973 0.271854 v -0.381636 166.948654 4.509987 0.291548 0.796176 0.861970 v -0.346097 165.780869 4.512315 0.890698 0.123288 0.483339 v -0.940640 166.019882 5.210444 0.730351 0.052769 0.481826 v -1.690396 165.907562 4.892072 0.947986 0.193954 0.324438 v -2.618442 164.925476 2.317681 0.535368 0.518572 0.219913 v -3.027941 164.656647 4.156948 0.029828 0.662170 0.693679 v -3.251989 162.911270 0.835450 0.312617 0.329361 0.561359 v -3.845345 162.375519 2.856782 0.006949 0.691973 0.847392 v -3.334926 160.414673 -0.214732 0.256828 0.361060 0.802439 v -4.186530 159.704529 1.902502 0.911536 0.378827 0.726965 v -4.070109 156.717346 1.290385 0.784437 0.535528 0.168562 v -2.897321 157.199585 -0.478341 0.681503 0.516268 0.463356 v -3.476790 152.919678 1.176384 0.830025 0.657302 0.924800 v -2.064037 153.305038 -0.107857 0.096926 0.767613 0.940959 v -0.528439 153.502945 -1.159677 0.510232 0.412297 0.274799 v -1.167485 157.477432 -1.515507 0.014050 0.755391 0.219370 v 1.287430 157.734421 -2.405726 0.005600 0.940964 0.069294 v 1.455140 153.973190 -1.914220 0.403152 0.012672 0.670831 v 1.668498 157.787598 -2.307133 0.499935 0.106841 0.825713 v 2.197411 154.077713 -1.761864 0.617216 0.902334 0.072684 v 2.621093 154.107773 -2.154175 0.154715 0.098061 0.422167 v 2.013180 157.811295 -2.651693 0.664141 0.641306 0.055937 v 4.973742 158.122833 -2.067859 0.157314 0.531645 0.526807 v 5.513166 154.414307 -1.506820 0.535740 0.175850 0.502638 v 6.211007 154.485031 -1.456485 0.023875 0.178754 0.380637 v 5.825596 158.204132 -2.173264 0.831081 0.252942 0.629271 v 8.774929 158.499146 -0.228761 0.491875 0.560090 0.104204 v 9.246075 154.789337 -0.176962 0.144386 0.479548 0.323094 v 10.024909 158.465927 1.085978 0.041597 0.127255 0.524843 v 8.862111 162.945969 0.945908 0.471908 0.139074 0.106877 v 11.101372 158.380493 2.988486 0.066775 0.650013 0.628188 v 11.347771 158.577164 3.870791 0.130274 0.646009 0.969078 v 10.974083 158.399918 6.205528 0.629020 0.416088 0.724604 v 10.338795 158.590561 6.448398 0.028527 0.383541 0.666226 v 10.363827 154.220566 6.016535 0.136009 0.840863 0.094914 v 10.586603 154.358643 5.580417 0.310635 0.934967 0.190753 v 11.803740 154.616959 3.765705 0.453763 0.181093 0.534568 v 11.703991 154.702530 3.346620 0.063670 0.856412 0.417161 v 11.530537 154.625046 2.661009 0.692087 0.263859 0.187328 v 10.446751 154.720566 1.070175 0.281202 0.257860 0.786401 v 9.526866 150.959167 0.224326 0.143992 0.310424 0.655610 v 10.650084 150.874435 1.080957 0.573188 0.309917 0.336813 v 11.764175 150.600586 2.208116 0.333117 0.690938 0.689857 v 12.135641 150.352142 3.319436 0.850325 0.601521 0.750486 v 12.492697 150.401932 4.131432 0.283858 0.147428 0.261298 v 11.352518 150.223206 5.659115 0.248315 0.820162 0.990720 v 10.338442 150.061172 5.763003 0.192836 0.002114 0.082299 v 11.030848 146.170349 4.087914 0.037708 0.210286 0.565035 v 12.120697 146.189285 3.993695 0.689657 0.896194 0.769511 v 11.327604 143.354294 2.479425 0.488964 0.509045 0.547682 v 12.572586 143.594666 2.582050 0.569303 0.291168 0.723049 v 12.765692 141.635010 1.290413 0.103729 0.816391 0.612176 v 14.351784 141.835709 1.386125 0.050188 0.846873 0.961845 v 14.115622 143.775146 2.041753 0.827209 0.165997 0.675428 v 13.197094 146.533554 3.137904 0.799436 0.571693 0.480593 v 12.709496 146.762924 2.429228 0.112031 0.077318 0.753377 v 12.344797 147.000259 1.533721 0.687603 0.178481 0.140190 v 11.477039 147.076996 0.691585 0.440057 0.445832 0.634912 v 13.758713 144.091324 0.275788 0.006716 0.561093 0.627922 v 12.570005 144.158905 -0.645870 0.097218 0.180758 0.446301 v 14.607658 142.057526 -1.329357 0.383491 0.812947 0.498653 v 13.332136 141.776001 -2.442925 0.796309 0.375970 0.293102 v 10.608683 144.064026 -1.641574 0.770953 0.819976 0.022816 v 12.063677 141.545914 -3.109065 0.629765 0.089504 0.208411 v 10.067883 143.952026 -1.359646 0.955254 0.117453 0.396566 v 11.189451 141.153305 -3.190599 0.595931 0.387554 0.258369 v 9.676632 147.060898 -0.054871 0.796694 0.606373 0.898750 v 10.008381 147.072281 -0.077086 0.234861 0.965798 0.383199 v 9.246979 150.946838 0.403177 0.321795 0.794805 0.810633 v 6.536397 150.668335 -1.078904 0.418991 0.868928 0.922349 v 7.042891 147.185623 -1.167786 0.604257 0.667902 0.955859 v 9.816891 143.981033 -1.449712 0.385487 0.705664 0.990144 v 7.483727 144.355942 -2.461379 0.895502 0.512440 0.826222 v 10.897297 141.396698 -3.354432 0.002382 0.968711 0.689895 v 8.332613 140.596375 -5.200831 0.641164 0.514462 0.823433 v 7.291770 140.494614 -4.517756 0.528172 0.160389 0.523278 v 6.630108 144.133514 -2.281785 0.486649 0.889356 0.553950 v 6.417978 147.006775 -1.234160 0.918954 0.126373 0.015591 v 5.868474 150.623184 -0.792162 0.380393 0.028216 0.716707 v 5.519224 150.575195 -1.230669 0.011017 0.371579 0.847931 v 5.690027 146.983597 -1.451331 0.279959 0.193140 0.228301 v 6.629760 144.110580 -1.943298 0.636479 0.838150 0.704442 v 5.924864 144.138321 -2.821553 0.982459 0.707572 0.102094 v 3.361278 146.861786 -1.651230 0.244003 0.840084 0.303729 v 3.493952 143.907806 -2.916632 0.661336 0.069766 0.682201 v 6.356894 140.248413 -5.287416 0.909400 0.848506 0.089597 v 6.952900 140.603561 -4.408078 0.786254 0.222091 0.282060 v 3.684473 140.592896 -5.264726 0.630998 0.480034 0.546223 v 2.971224 143.938492 -2.501124 0.077816 0.653346 0.863691 v 2.857200 146.803604 -1.291891 0.347784 0.381193 0.346825 v 2.440155 150.271378 -1.170349 0.169814 0.783775 0.997168 v 2.923138 150.306992 -1.574988 0.272911 0.541740 0.307739 v 1.695916 150.172485 -1.394676 0.784004 0.709198 0.765444 v 2.106385 146.771515 -1.676145 0.319894 0.824636 0.934597 v 2.179486 143.919266 -2.998786 0.427624 0.237829 0.989749 v 2.974093 140.669815 -4.962276 0.280780 0.803032 0.387090 v 1.785406 140.930023 -5.580451 0.966140 0.951138 0.952669 v 0.428356 143.425644 -2.131388 0.867781 0.387746 0.392131 v -0.241373 140.832703 -4.651491 0.878026 0.947007 0.176230 v 0.321998 146.434174 -1.052249 0.145141 0.527352 0.369272 v -0.223777 149.881866 -0.589293 0.133704 0.246319 0.369949 v -0.014351 146.408920 -1.109466 0.966583 0.713599 0.030830 v -0.086830 143.738815 -2.292901 0.076208 0.398292 0.515316 v -0.300387 140.807510 -4.067845 0.812375 0.685589 0.953501 v -1.486969 140.955597 -4.724149 0.741268 0.470561 0.556096 v -1.315904 143.717606 -1.642772 0.401025 0.970362 0.973921 v -2.456632 141.106796 -3.887427 0.753305 0.818552 0.005763 v -2.950455 143.540253 -0.991478 0.379755 0.231545 0.233781 v -3.654307 141.059448 -3.085082 0.058949 0.972567 0.760514 v -3.404066 140.747223 -1.755290 0.781959 0.654389 0.916939 v -3.160561 143.525467 -0.474564 0.277909 0.339109 0.366736 v -2.777545 145.810608 0.777880 0.912902 0.414626 0.357172 v -3.608510 145.655991 1.509796 0.282250 0.173975 0.116609 v -4.389335 143.329620 0.062068 0.634935 0.226555 0.792599 v -4.318823 140.931229 -2.127275 0.281572 0.187302 0.631554 v -5.247340 140.924622 -1.514880 0.408017 0.661350 0.707428 v -3.062035 143.060089 1.275035 0.588063 0.818126 0.680556 v -4.010948 140.884323 -0.897361 0.044727 0.615557 0.700287 v -2.649420 140.718155 -1.182732 0.805567 0.824642 0.799058 v -1.224878 142.704361 1.230431 0.611340 0.305734 0.046131 v -1.202937 145.528580 2.856030 0.482411 0.276892 0.252275 v -2.549901 145.551575 2.570186 0.694913 0.960425 0.705978 v -2.660502 148.783661 4.107594 0.267937 0.843633 0.550176 v -1.638388 148.835007 4.546227 0.611900 0.375183 0.271817 v -2.741462 152.880905 4.755881 0.943390 0.293079 0.382532 v -3.226010 152.948685 4.318304 0.106472 0.248637 0.472748 v -4.178280 152.795746 2.653337 0.248360 0.745925 0.668186 v -3.898711 149.023361 2.700411 0.315403 0.056550 0.081231 v -3.409560 152.900269 1.519676 0.552743 0.984008 0.294627 v -2.868019 149.251175 1.938287 0.006180 0.332872 0.028496 v -2.988763 149.273193 1.379673 0.892592 0.944219 0.468615 v -2.555025 146.015030 0.258616 0.903340 0.904357 0.185701 v -1.272348 146.206100 -0.472728 0.256835 0.582110 0.690169 v -1.517645 149.576874 0.366016 0.614447 0.565466 0.110140 v -4.566880 156.668427 2.522875 0.653964 0.689233 0.859767 v -4.296511 156.685501 4.671166 0.826582 0.153929 0.988827 v -4.096963 157.053192 5.327032 0.666155 0.337427 0.344632 v -4.412139 158.730713 5.140775 0.990181 0.333513 0.795101 v -4.211813 158.527603 5.583789 0.443023 0.966094 0.914570 v -4.367506 161.606720 6.066491 0.417274 0.501733 0.478098 v -3.935951 162.201401 3.315901 0.637976 0.589764 0.318135 v -4.603067 159.417542 2.655875 0.225708 0.541065 0.106388 v -3.616430 164.141647 6.065329 0.397890 0.683022 0.238821 v -4.312357 161.187622 8.543404 0.525602 0.227583 0.047590 v -4.610613 158.336411 6.619516 0.629669 0.845232 0.049430 v -4.239020 158.413849 6.441634 0.039578 0.479992 0.801364 v -3.432119 155.299362 7.035094 0.775094 0.710602 0.702668 v -4.340198 155.372772 7.055972 0.905367 0.702751 0.482650 v -3.732692 152.575073 7.277250 0.672335 0.698648 0.398146 v -3.083506 152.633652 7.093493 0.268268 0.986867 0.876379 v -3.103450 148.992950 7.382050 0.026809 0.770825 0.073622 v -2.627533 149.032898 7.124268 0.303906 0.675941 0.817847 v -2.390181 145.741013 7.346636 0.015599 0.036062 0.066179 v -1.776176 145.795609 7.152622 0.750812 0.231369 0.954304 v -2.293913 143.973221 7.488521 0.555147 0.624704 0.001837 v -1.458605 144.085022 7.328742 0.311113 0.038530 0.432991 v -2.002689 143.010788 9.649933 0.886124 0.469358 0.312035 v -2.565417 145.411865 9.145588 0.038852 0.373535 0.862443 v -2.540581 145.365005 9.661364 0.465565 0.352513 0.300205 v -3.169832 148.850235 8.836635 0.386234 0.354706 0.968120 v -3.928790 152.595932 8.641289 0.292842 0.582930 0.163440 v -3.333008 148.810867 9.346764 0.993448 0.803173 0.990838 v -2.834714 148.612656 10.753381 0.501478 0.617946 0.243166 v -2.047971 145.183243 10.956940 0.114150 0.522351 0.518518 v -2.347167 142.882462 9.933563 0.269723 0.537614 0.075422 v -1.737903 142.333450 11.210282 0.080000 0.490508 0.707369 v -1.364698 141.877365 11.863955 0.337650 0.426523 0.490076 v -1.708638 144.972916 11.990174 0.940446 0.104008 0.184601 v -0.667216 141.732819 12.281958 0.340921 0.141333 0.960593 v -1.179229 144.975235 12.255507 0.594658 0.992435 0.314308 v -2.376514 148.486771 11.806852 0.749065 0.707801 0.501839 v -3.684613 152.198044 10.582484 0.842056 0.061293 0.936007 v -4.099309 152.590912 8.999268 0.411414 0.348790 0.603512 v -4.424788 155.603424 8.710351 0.545974 0.633882 0.164046 v -4.314401 155.301544 10.404662 0.344763 0.526064 0.632411 v -3.101120 151.982224 12.042240 0.427815 0.243957 0.138209 v -2.004737 148.482742 12.089945 0.436822 0.203311 0.294801 v -0.963471 148.504547 13.318388 0.870220 0.452109 0.081859 v -0.204562 144.968475 13.441857 0.982896 0.786413 0.608572 v -0.424245 141.513245 12.699578 0.835301 0.510139 0.993969 v 0.569242 141.464172 13.782682 0.563713 0.163197 0.125405 v -1.707117 151.911469 13.335287 0.213405 0.234686 0.148815 v -2.101895 155.022263 13.396454 0.331292 0.519765 0.118516 v -3.590499 155.077377 12.137799 0.715791 0.083391 0.510602 v -4.244743 157.685120 10.436031 0.639320 0.951721 0.694920 v -3.633386 157.046967 12.209133 0.245723 0.799405 0.497988 v -2.194350 156.662308 13.533577 0.483984 0.226760 0.720002 v -2.078919 158.084366 13.628831 0.549358 0.764065 0.702984 v -3.519984 158.959686 12.224716 0.531476 0.920415 0.916690 v -4.023646 160.070343 10.527104 0.188695 0.202464 0.420562 v -4.629349 158.102570 8.532425 0.108550 0.610049 0.311891 v -3.809696 163.352890 8.678376 0.136576 0.764693 0.008683 v -3.654581 162.337875 10.766259 0.746898 0.025497 0.016653 v -2.941876 161.006744 12.452823 0.186111 0.237878 0.726122 v -1.587879 159.725937 13.770112 0.309354 0.215289 0.183870 v -1.100165 161.034363 13.979580 0.877055 0.034054 0.853368 v -2.089022 162.526245 12.865102 0.517933 0.301557 0.569203 v -2.518354 163.909821 11.160952 0.343880 0.250884 0.509822 v -1.714667 164.106384 11.030537 0.285284 0.629511 0.014441 v -1.792620 165.178665 9.017491 0.788872 0.673722 0.583635 v -1.516692 166.070206 9.238461 0.514935 0.293041 0.472635 v -1.463383 165.054108 11.386950 0.312251 0.030989 0.408317 v -1.380525 163.073669 13.312671 0.793650 0.402180 0.868182 v -1.656715 162.646622 12.960269 0.743920 0.438558 0.987527 v 0.259828 161.741348 14.664869 0.876324 0.886621 0.935995 v 0.303970 161.009811 14.867201 0.586302 0.187880 0.722563 v 2.590508 161.878677 15.424895 0.382539 0.999364 0.400196 v 0.206505 163.660736 13.878725 0.275325 0.723393 0.434853 v 0.259842 165.796890 12.104006 0.465643 0.281260 0.909294 v 0.309181 166.927673 9.659490 0.934139 0.125530 0.486318 v 0.544880 167.550278 6.617947 0.581883 0.066236 0.570145 v -0.991918 166.756531 6.101154 0.769784 0.631444 0.211438 v -1.278400 165.782852 6.033715 0.303776 0.560223 0.094950 v -1.954810 165.782761 5.964993 0.428496 0.712799 0.092767 v -2.517789 165.040817 8.978069 0.612145 0.603956 0.834657 v 3.539229 167.621643 7.263761 0.025822 0.036560 0.079105 v 3.298007 167.061142 10.183917 0.335418 0.990162 0.829377 v 2.874713 165.684830 12.589637 0.151391 0.173471 0.577842 v 2.731436 163.908005 14.421481 0.353955 0.949873 0.656159 v 5.573400 162.835922 14.224036 0.919492 0.117698 0.063144 v 5.193399 161.036011 15.148129 0.901139 0.644231 0.980201 v 2.470869 160.682098 15.519842 0.077753 0.659050 0.422966 v 4.681659 160.077789 15.362487 0.511826 0.357634 0.333264 v 6.408251 158.849258 14.671009 0.454503 0.564894 0.124419 v 6.987121 159.307129 14.331409 0.702932 0.901259 0.630503 v 7.411326 157.263321 14.038965 0.191173 0.896897 0.259138 v 7.841569 157.466660 13.712534 0.109213 0.357330 0.663966 v 7.855001 155.534042 13.506948 0.866106 0.815165 0.895819 v 8.144629 155.680038 13.345031 0.459535 0.622912 0.807007 v 7.981776 153.496536 13.215283 0.305964 0.088327 0.491730 v 7.660239 160.712601 12.822173 0.281035 0.906262 0.887207 v 6.974180 159.513306 14.114456 0.375141 0.865366 0.535921 v 8.565445 157.709534 12.880681 0.241074 0.678616 0.449391 v 8.473078 157.606979 13.124937 0.432437 0.405542 0.825080 v 8.122072 157.479675 13.184669 0.193945 0.824343 0.003853 v 8.926531 155.959503 12.361616 0.261076 0.161409 0.710134 v 8.926235 155.868240 12.415504 0.301996 0.486284 0.903941 v 9.340557 153.951065 9.891556 0.444806 0.631303 0.550911 v 9.176422 156.201385 12.166245 0.535643 0.274337 0.301822 v 10.066151 158.000854 11.481832 0.140556 0.908830 0.670802 v 10.383574 154.110779 11.654117 0.040052 0.974601 0.616968 v 9.566811 154.063461 12.711990 0.059676 0.961380 0.776835 v 8.498428 153.962585 12.830959 0.552327 0.942955 0.937937 v 9.557641 150.117798 12.678202 0.038319 0.522949 0.968435 v 8.431192 149.958618 12.771866 0.265160 0.162761 0.577979 v 9.678875 147.378723 12.757962 0.600227 0.719917 0.245519 v 8.515881 147.076843 12.899855 0.955107 0.008877 0.554122 v 9.951422 143.225662 12.671919 0.246193 0.406648 0.479981 v 8.854898 142.580338 13.234712 0.349290 0.583405 0.154777 v 10.539917 147.655914 11.892432 0.357122 0.042464 0.199913 v 11.141340 143.875870 11.963791 0.698187 0.319106 0.162628 v 9.964102 143.403122 13.010489 0.428822 0.016171 0.842586 v 9.928305 144.442078 10.642144 0.295267 0.730801 0.854347 v 9.748837 147.535065 10.471134 0.764327 0.422895 0.630468 v 10.497869 150.233734 11.771708 0.413579 0.533638 0.898363 v 9.739944 150.153534 10.562199 0.929756 0.982803 0.188368 v 10.148777 147.565430 10.141268 0.789574 0.428872 0.453897 v 9.679384 143.967468 10.334719 0.144476 0.033767 0.670286 v 10.204525 144.414459 10.158258 0.386710 0.801848 0.780868 v 10.082893 148.108429 8.588425 0.956822 0.884797 0.492240 v 10.258326 150.361969 8.792558 0.144965 0.640248 0.127110 v 9.845105 150.310867 8.444443 0.585174 0.679363 0.698975 v 9.526314 148.043793 8.275502 0.653020 0.898968 0.293402 v 10.183268 145.306793 8.173228 0.712366 0.122602 0.832814 v 9.580824 145.271378 7.867381 0.715777 0.740343 0.678859 v 10.227299 154.001633 8.613784 0.568566 0.403577 0.972168 v 10.429865 154.032379 8.953675 0.406143 0.205900 0.387495 v 9.859665 156.720596 8.423961 0.229139 0.071724 0.493801 v 10.348045 157.125122 8.774871 0.936154 0.037950 0.543438 v 10.426277 154.070740 10.264295 0.653364 0.719056 0.751233 v 10.122454 157.932617 10.284369 0.137497 0.579454 0.125640 v 10.150768 158.641785 8.563310 0.094561 0.363706 0.863391 v 8.982430 162.313812 10.853350 0.294653 0.371302 0.331114 v 9.506796 162.532959 7.999679 0.666494 0.514984 0.739060 v 6.272612 165.579758 10.734651 0.578718 0.687496 0.038047 v 6.692496 166.214188 7.744567 0.607414 0.838087 0.900179 v 9.739854 158.667740 8.140957 0.662505 0.035549 0.922336 v 5.818473 164.139618 13.042003 0.833510 0.368422 0.713714 v 9.934439 157.963989 10.712018 0.029321 0.333472 0.300350 v 10.348436 154.077698 10.710623 0.142192 0.079136 0.848037 v 10.148823 150.213226 10.189767 0.157457 0.985838 0.248438 v 3.441775 140.490753 -4.422523 0.436075 0.741879 0.562748 v 14.325743 141.693222 -0.649398 0.802038 0.316440 0.214079 v 13.459976 143.867493 1.202213 0.287512 0.443098 0.319004 v 13.586300 143.795929 1.412354 0.542070 0.024411 0.446620 v 14.721355 141.780930 -0.095243 0.311124 0.607897 0.565699 v 15.739809 141.858505 0.826023 0.172985 0.674882 0.477986 v 1.013351 161.106995 -2.291179 0.691748 0.487274 0.458081 v -1.827358 160.669266 -1.339251 0.843300 0.644908 0.387107 vt -2.463109 0.650729 vt -2.463558 0.563173 vt -2.373443 0.650731 vt 0.354054 1.912290 vt 0.333771 1.819441 vt 0.378839 1.818533 vt -2.550449 0.560388 vt -2.564688 0.697012 vt -2.624807 0.697052 vt -2.612620 0.769468 vt -2.581828 0.769472 vt -2.463123 0.698262 vt -2.374175 0.698262 vt -2.855901 1.607822 vt -2.793762 1.690004 vt -2.854887 1.690003 vt -2.793705 1.607819 vt -2.793714 1.532495 vt -2.857061 1.532476 vt -2.372533 0.563277 vt -2.374507 0.499604 vt -2.463560 0.499746 vt 0.378784 1.750039 vt 0.333994 1.750540 vt -2.626461 0.560629 vt -2.550083 0.499724 vt -2.626446 0.499727 vt -2.665589 0.499727 vt -2.665605 0.560629 vt -2.731901 0.560101 vt -2.732049 0.627828 vt -2.834209 0.559572 vt -2.834221 0.498868 vt -2.977791 0.498554 vt -2.977797 0.559548 vt -2.977803 0.628639 vt -2.834208 0.628643 vt -2.834220 0.628635 vt -2.824912 0.718724 vt -2.732111 0.718735 vt -2.824899 0.783280 vt -2.732233 0.783579 vt -2.598114 0.811583 vt -2.375268 0.750399 vt -2.463090 0.750170 vt -2.819541 1.826156 vt -1.739334 1.814037 vt -1.739268 1.706816 vt -1.668487 1.814252 vt -1.668442 1.705934 vt -1.739636 1.633204 vt -1.669037 1.633213 vt -1.739641 1.566507 vt -1.668132 1.566497 vt -1.739356 1.524493 vt -1.668221 1.524493 vt -1.681686 1.478040 vt -1.739349 1.478077 vt -1.702212 1.418091 vt -1.739272 1.418139 vt -1.825044 1.418227 vt -1.825057 1.478054 vt -2.855851 1.436203 vt -2.793705 1.386653 vt -2.793705 1.436203 vt -2.855659 1.386797 vt 0.519797 1.683077 vt 0.527950 1.588816 vt 0.525738 1.683121 vt 0.519816 1.588990 vt 0.493505 1.588981 vt 0.493671 1.683119 vt -2.463563 0.451559 vt -2.375280 0.394275 vt -2.375255 0.451524 vt -2.463563 0.394308 vt 0.378679 1.670801 vt 0.334501 1.578217 vt 0.378692 1.576659 vt 0.334232 1.671301 vt -2.626446 0.452019 vt -2.549251 0.395255 vt -2.549692 0.451863 vt -2.626462 0.395759 vt -2.665590 0.452019 vt -2.731867 0.451704 vt -2.663826 0.395759 vt -2.731904 0.499375 vt -2.834229 0.451131 vt 0.143786 1.735482 vt 0.124364 1.844476 vt 0.091613 1.732997 vt -2.833867 0.451075 vt -2.944967 0.451067 vt -2.984907 0.450968 vt -2.984903 0.392762 vt -2.944995 0.392771 vt -2.834000 0.392796 vt 0.091595 1.642934 vt 0.067934 1.640262 vt 0.143786 1.641960 vt -2.834156 0.392794 vt -2.731714 0.393208 vt -2.666289 0.346729 vt -2.731600 0.344691 vt -2.834173 0.345212 vt 0.143324 1.521587 vt 0.087499 1.522187 vt 0.036129 1.522164 vt -2.944999 0.345239 vt -2.834010 0.345346 vt -2.984907 0.345013 vt -2.984911 0.270836 vt -2.944976 0.271058 vt -2.984913 0.195765 vt -2.944945 0.196837 vt -2.984921 0.133246 vt -2.944965 0.133941 vt -2.833978 0.197342 vt -2.834006 0.271120 vt 0.035388 1.428105 vt 0.087552 1.428381 vt 0.143336 1.427850 vt -2.834184 0.271118 vt -2.731429 0.271118 vt -2.834193 0.197869 vt -2.731212 0.198351 vt -2.834190 0.135993 vt -2.731541 0.134997 vt -2.666304 0.198494 vt -2.665609 0.134467 vt -2.630138 0.198362 vt -2.630205 0.134318 vt -2.629981 0.271304 vt -2.665520 0.271282 vt -2.629955 0.346724 vt -2.549606 0.346706 vt -2.549549 0.271345 vt -2.630014 0.198451 vt -2.549309 0.199565 vt -2.630234 0.134903 vt -2.548728 0.133490 vt 0.334465 1.256431 vt 0.334819 1.147781 vt 0.375281 1.148495 vt 0.375310 1.256479 vt 0.375304 1.374475 vt 0.334319 1.374464 vt 0.375367 1.498608 vt 0.334284 1.498384 vt -2.646033 0.395759 vt 0.417989 1.565796 vt 0.404787 1.487745 vt 0.422890 1.487768 vt 0.404724 1.363612 vt 0.422603 1.363614 vt 0.404726 1.245631 vt 0.422667 1.245631 vt -2.463429 0.271353 vt -2.463427 0.199603 vt -2.375309 0.271321 vt -2.375240 0.198969 vt -2.463426 0.133329 vt 0.422701 1.136653 vt 0.404741 1.138168 vt -2.375335 0.134120 vt 0.519794 1.268200 vt 0.493770 1.267827 vt 0.493136 1.161193 vt 0.520070 1.386766 vt 0.493306 1.386801 vt 0.519910 1.510208 vt 0.493350 1.510604 vt -2.375303 0.346611 vt -2.463421 0.346856 vt 0.528025 1.509684 vt 0.528269 1.386719 vt 0.528260 1.268128 vt 0.518339 1.161749 vt 0.527932 1.161557 vt -2.855633 1.218787 vt -2.855661 1.162954 vt -2.793740 1.217727 vt -2.793743 1.163305 vt -2.793740 1.280879 vt -2.855632 1.280917 vt -2.855653 1.345339 vt -2.793707 1.345418 vt 0.619936 1.427020 vt 0.594762 1.308664 vt 0.618965 1.307230 vt 0.592139 1.230125 vt 0.618909 1.230289 vt 0.581000 1.143521 vt 0.616274 1.143263 vt -1.825045 1.224423 vt -1.825012 1.171487 vt -1.739137 1.224909 vt -1.738959 1.170947 vt -1.701568 1.224693 vt -1.701688 1.171142 vt -1.666371 1.171710 vt -1.665724 1.224664 vt -1.665980 1.272064 vt -1.633971 1.272431 vt -1.634013 1.224955 vt -1.666089 1.171261 vt -1.634000 1.171199 vt -1.497598 1.224955 vt -1.497605 1.171199 vt -1.413546 1.225039 vt -1.413545 1.170437 vt -1.375414 1.170251 vt -1.375487 1.224617 vt -1.375166 1.272714 vt -1.413545 1.272858 vt -1.497620 1.272431 vt -1.413545 1.345498 vt -1.374969 1.345914 vt -1.374874 1.417735 vt -1.413545 1.417742 vt -1.497634 1.417930 vt -1.497647 1.345930 vt -1.666094 1.418062 vt -1.633918 1.345930 vt -1.633943 1.417930 vt -1.666033 1.345125 vt -1.701865 1.344672 vt -1.701604 1.271988 vt -1.739182 1.271614 vt -1.825045 1.271226 vt -1.739304 1.344251 vt -1.825058 1.344093 vt -1.633977 1.478138 vt -1.497617 1.478446 vt -1.413544 1.478639 vt -1.387826 1.478744 vt -1.413544 1.524693 vt -1.384910 1.524692 vt -1.417123 1.565879 vt -1.497811 1.565559 vt -1.497288 1.524692 vt -1.634630 1.524493 vt -1.634113 1.567340 vt -1.496837 1.634129 vt -1.430463 1.634311 vt -0.620650 1.625443 vt -0.620634 1.510871 vt -0.676796 1.510972 vt -0.620647 1.457854 vt -0.591002 1.456032 vt -0.591648 1.397122 vt -0.620563 1.397305 vt -0.620470 1.333959 vt -0.591666 1.334407 vt -0.620470 1.283293 vt -0.591576 1.283343 vt -0.620470 1.210619 vt -0.591498 1.210619 vt -0.620471 1.148685 vt -0.591416 1.148603 vt -0.676409 1.148054 vt -0.674931 1.210689 vt 0.285364 1.329540 vt 0.274282 1.250142 vt 0.251746 1.335495 vt 0.281562 1.379641 vt -0.674931 1.283085 vt -0.674931 1.333696 vt 0.282076 1.529999 vt 0.249673 1.378296 vt -0.674908 1.283016 vt -0.674871 1.210702 vt -0.737321 1.283147 vt -0.736376 1.210617 vt -0.678495 1.147988 vt -0.729749 1.148203 vt -0.788808 1.148849 vt -0.790769 1.210497 vt -0.821725 1.148536 vt -0.822991 1.210493 vt -0.794718 1.283377 vt -0.737617 1.333466 vt -0.674829 1.333464 vt 0.243449 1.530031 vt 0.259920 1.608232 vt -0.676909 1.397763 vt -0.735322 1.397722 vt -0.812623 1.333006 vt -0.822341 1.283380 vt -0.911067 1.283483 vt -0.911100 1.210470 vt -0.824290 1.148987 vt -0.911167 1.149106 vt -0.911034 1.333511 vt -0.910950 1.396247 vt -0.812830 1.396917 vt -0.736659 1.458403 vt -0.812579 1.457221 vt -0.910866 1.456184 vt -0.910815 1.510800 vt -0.812624 1.510745 vt -0.742048 1.510862 vt -0.676877 1.457732 vt -0.674929 1.625493 vt -0.745745 1.625613 vt -0.812969 1.625642 vt -0.910645 1.625561 vt -0.910635 1.697862 vt -0.812785 1.697664 vt -0.747058 1.698278 vt -0.750051 1.789610 vt -0.676876 1.790150 vt -1.510699 0.817020 vt -1.623167 0.817889 vt -1.510699 0.741583 vt -1.623167 0.741774 vt -1.772027 0.817788 vt -1.854554 0.735333 vt -1.772055 0.735328 vt -1.854476 0.817666 vt -0.806746 1.790262 vt -0.852865 1.791595 vt -1.938104 0.735335 vt -1.938919 0.683228 vt -0.368967 1.745210 vt -0.378932 1.814640 vt -0.394226 1.742139 vt -0.368854 1.684687 vt -1.854553 0.683260 vt -1.938901 0.616302 vt -1.772057 0.683236 vt -1.510700 0.690962 vt -1.623165 0.690964 vt -1.408642 0.697378 vt -1.408535 0.741407 vt -2.854098 0.718587 vt -2.977807 0.783239 vt -2.977808 0.718566 vt -2.854088 0.783059 vt -2.977798 0.817795 vt -2.854088 0.817075 vt -2.824899 0.817372 vt -2.732252 0.818480 vt -1.493053 1.803956 vt -1.496840 1.705934 vt -1.453622 1.706579 vt -0.620663 1.697106 vt -0.676850 1.697003 vt -0.620646 1.790394 vt -1.408535 0.816082 vt -1.380023 0.636407 vt -1.408591 0.637672 vt -1.510701 0.635353 vt -1.623159 0.635353 vt -1.772061 0.616344 vt -1.854554 0.616379 vt -1.854554 0.511354 vt -1.938900 0.513213 vt -0.394250 1.684742 vt -0.368611 1.611489 vt -0.394319 1.611930 vt -0.394250 1.457876 vt -0.368537 1.457977 vt -0.394320 1.397638 vt -0.368774 1.398216 vt -0.394318 1.316296 vt -0.369444 1.315343 vt -0.384437 1.207227 vt -1.854520 0.450366 vt -1.938972 0.453626 vt -1.857489 0.355416 vt -1.938565 0.354994 vt -1.958974 0.355057 vt -1.938568 0.271962 vt -1.958996 0.271872 vt -1.938578 0.157968 vt -1.857477 0.271361 vt -1.634492 0.515013 vt -1.624545 0.428039 vt -1.552856 0.427946 vt -1.553475 0.361938 vt -1.624217 0.362015 vt -1.747856 0.614169 vt -1.764792 0.548641 vt -1.730884 0.548280 vt -1.731063 0.463147 vt -1.764870 0.462419 vt -1.731036 0.393150 vt -1.764866 0.392812 vt -1.731085 0.311002 vt -1.764818 0.311091 vt -1.624515 0.276882 vt -1.624470 0.206885 vt -1.553752 0.206971 vt -1.554342 0.124745 vt -1.622333 0.124839 vt -1.510609 0.124713 vt -1.510654 0.207671 vt -1.553393 0.277120 vt -1.510637 0.278234 vt -1.479796 0.207686 vt -1.510639 0.124720 vt -1.479804 0.124600 vt -1.408537 0.208532 vt -1.408537 0.279326 vt -1.380331 0.280018 vt -1.380329 0.208746 vt -1.408537 0.124482 vt -1.380327 0.124481 vt -1.380333 0.361280 vt -1.408537 0.361591 vt -1.380336 0.427980 vt -1.408537 0.428044 vt -1.479780 0.361576 vt -1.479773 0.427956 vt -1.408534 0.453080 vt -1.510701 0.515013 vt -1.408527 0.515013 vt -1.510700 0.571680 vt -1.408479 0.564988 vt -1.380089 0.565674 vt -1.380390 0.514997 vt -1.380351 0.453268 vt -1.623148 0.571703 vt -1.772068 0.513242 vt -1.510658 0.427954 vt -1.510619 0.361625 vt -1.479789 0.278364 vt 0.519644 1.161110 vt 0.143361 1.178114 vt 0.143391 1.275189 vt 0.089078 1.178467 vt 0.088637 1.274447 vt 0.035784 1.274776 vt 0.087642 1.274526 vt 0.087155 1.178540 vt 0.036548 1.178089 vt -2.834004 0.134531 vt 0.498637 1.762181 vt 0.511813 1.761916 vt -2.857056 1.477484 vt -2.793706 1.477414 vt -1.825054 1.524493 vt -1.825048 1.566520 vt -1.825046 1.633210 vt 0.501530 1.863507 vt -3.154820 45.448380 vt -4.087114 44.562412 vt -3.407222 44.562752 vn -0.221137 0.817499 -0.531754 vn -0.109897 0.498795 -0.859706 vn -0.404584 0.752556 -0.519547 vn -0.004669 0.555406 -0.831538 vn 0.068361 0.937010 -0.342509 vn -0.345683 0.924497 -0.160558 vn -0.523850 0.840114 -0.140416 vn -0.393323 0.892972 0.218787 vn -0.392071 0.917020 0.072878 vn -0.622822 0.676168 -0.393475 vn -0.568529 0.435804 -0.697684 vn -0.352702 0.400403 -0.845698 vn -0.352763 0.115177 -0.928587 vn 0.013520 0.161992 -0.986694 vn 0.200049 0.211554 -0.956664 vn 0.363933 0.681845 -0.634510 vn 0.605762 0.392346 -0.692129 vn 0.554765 0.736808 -0.386395 vn 0.537797 0.839503 -0.077151 vn 0.856655 0.472701 -0.206610 vn 0.907651 0.380840 0.176305 vn 0.510147 0.788781 0.342845 vn 0.183935 0.964507 0.189337 vn 0.062349 0.997253 -0.039521 vn -0.307871 0.949889 -0.053591 vn -0.753594 0.620533 -0.216803 vn -0.824549 0.442701 -0.352275 vn -0.561083 0.808069 0.179418 vn -0.512467 0.850917 -0.115207 vn -0.557665 0.829249 0.036103 vn -0.756890 0.636525 -0.148015 vn -0.871426 0.480270 -0.099521 vn -0.832026 0.363353 -0.419141 vn -0.938383 0.276101 -0.207770 vn -0.807306 0.087985 -0.583483 vn -0.916288 0.114383 -0.383770 vn -0.917844 -0.079043 -0.388958 vn -0.647267 -0.124119 -0.752068 vn -0.861446 -0.169897 -0.478530 vn -0.579363 -0.189550 -0.792688 vn -0.416181 -0.160863 -0.894894 vn -0.432936 -0.063417 -0.899167 vn -0.101199 -0.068972 -0.992462 vn 0.060945 -0.131108 -0.989471 vn -0.328288 -0.138218 -0.934385 vn -0.250191 -0.169866 -0.953154 vn -0.316202 -0.171117 -0.933103 vn -0.186224 -0.076876 -0.979461 vn 0.051759 -0.078372 -0.995575 vn 0.269723 -0.116184 -0.955870 vn 0.153478 -0.114048 -0.981536 vn 0.232276 -0.047578 -0.971465 vn 0.609485 0.079287 -0.788781 vn 0.458632 -0.020875 -0.888363 vn 0.814722 0.163182 -0.556383 vn 0.768395 0.377819 -0.516465 vn 0.890896 0.230689 -0.391217 vn 0.986145 0.165471 -0.010895 vn 0.795556 -0.076479 0.601001 vn 0.307413 -0.168615 0.936491 vn 0.612476 -0.037385 0.789575 vn 0.894467 0.028901 0.446150 vn 0.946379 0.147496 0.287393 vn 0.956359 0.109348 -0.270821 vn 0.887234 0.107242 -0.448592 vn 0.746055 0.046663 -0.664205 vn 0.264229 0.043428 -0.963469 vn 0.700980 0.144688 -0.698325 vn 0.891354 0.164495 -0.422376 vn 0.908322 0.185888 -0.374645 vn 0.977416 0.099155 0.186468 vn 0.576586 -0.060488 0.814783 vn 0.133763 -0.217200 0.966887 vn 0.107852 -0.408124 0.906522 vn 0.410627 -0.319346 0.854030 vn 0.046571 -0.503922 0.862453 vn 0.245979 -0.407971 0.879208 vn 0.027894 -0.548173 0.835871 vn 0.249031 -0.364605 0.897214 vn 0.910977 0.371838 0.178381 vn 0.964629 0.081576 0.250587 vn 0.862300 0.315531 -0.396008 vn 0.857509 0.333872 -0.391369 vn 0.564348 0.360637 -0.742576 vn 0.888150 0.435072 -0.147862 vn 0.430189 0.573504 -0.697104 vn 0.757500 0.557451 -0.339702 vn 0.347148 0.621967 -0.701865 vn -0.011505 0.485214 -0.874294 vn -0.123936 0.468947 -0.874477 vn -0.381207 0.339702 -0.859798 vn -0.145054 0.500290 -0.853603 vn 0.106357 0.264595 -0.958464 vn 0.101444 0.305979 -0.946593 vn -0.043245 0.001068 -0.999054 vn 0.173864 -0.020051 -0.984558 vn 0.148442 0.252327 -0.956175 vn 0.396405 0.495987 -0.772515 vn 0.003357 0.507431 -0.861660 vn 0.361400 0.625538 -0.691397 vn -0.107364 0.569536 -0.814905 vn -0.414502 0.443739 -0.794519 vn -0.285379 0.387402 -0.876614 vn 0.193487 0.244118 -0.950224 vn 0.179418 -0.010529 -0.983703 vn 0.446394 0.046236 -0.893613 vn 0.272500 0.209998 -0.938932 vn 0.595233 0.361797 -0.717460 vn 0.380718 0.471999 -0.795129 vn -0.299905 0.191748 -0.934477 vn -0.289102 0.452162 -0.843745 vn 0.240669 0.552507 -0.797967 vn 0.670217 0.457259 -0.584521 vn -0.564318 0.423200 -0.708792 vn -0.160253 0.447584 -0.879727 vn -0.115848 0.216285 -0.969420 vn -0.274819 -0.097507 -0.956511 vn -0.124607 -0.059786 -0.990387 vn -0.058565 -0.021577 -0.998047 vn 0.141240 0.285562 -0.947874 vn 0.011902 0.517716 -0.855434 vn 0.458571 0.539018 -0.706473 vn -0.121403 0.680532 -0.722556 vn -0.037812 0.505936 -0.861721 vn -0.324686 0.700980 -0.634938 vn -0.226753 0.218940 -0.949004 vn -0.401624 -0.041169 -0.914853 vn -0.144047 0.270821 -0.951781 vn 0.037355 0.503769 -0.863002 vn 0.486373 0.426344 -0.762627 vn -0.099094 0.675283 -0.730827 vn -0.404096 0.563677 -0.720359 vn -0.393445 0.678945 -0.619800 vn -0.770775 0.445357 -0.455550 vn -0.855373 0.453658 -0.249977 vn -0.980255 0.180944 -0.079592 vn -0.674245 0.466384 -0.572558 vn -0.799890 0.277108 -0.532304 vn -0.993530 0.109409 -0.029420 vn -0.943754 0.330576 0.005005 vn -0.420667 0.604846 -0.676138 vn -0.887631 -0.106540 0.448042 vn -0.317362 -0.511948 0.798212 vn -0.167699 -0.658956 0.733238 vn -0.033601 -0.726341 0.686483 vn -0.101169 -0.620045 0.777978 vn -0.154210 -0.462325 0.873165 vn -0.484115 -0.353771 0.800287 vn -0.654805 -0.220527 0.722892 vn -0.309488 -0.348491 0.884732 vn -0.660543 -0.224128 0.716544 vn -0.829737 -0.182195 0.527543 vn -0.992340 -0.119602 0.030305 vn -0.934111 -0.030488 -0.355632 vn -0.954711 -0.152440 -0.255470 vn -0.935087 -0.036561 -0.352489 vn -0.924009 -0.036897 -0.380535 vn -0.801874 0.239174 -0.547502 vn -0.496445 0.283486 -0.820460 vn -0.572771 -0.012207 -0.819605 vn -0.993316 -0.076510 -0.086337 vn -0.930815 -0.189978 0.312174 vn -0.900052 -0.201086 0.386608 vn -0.980651 -0.030732 0.193213 vn -0.924039 -0.119358 0.363109 vn -0.981475 0.134434 -0.136357 vn -0.966887 0.251228 -0.044282 vn -0.987426 0.109653 -0.113681 vn -0.859615 0.510666 -0.015412 vn -0.981506 0.167211 0.093142 vn -0.804773 -0.095035 -0.585864 vn -0.390179 -0.194678 -0.899899 vn -0.178289 -0.141026 -0.973785 vn -0.862941 -0.171087 -0.475387 vn -0.720145 -0.168493 -0.673025 vn -0.336283 -0.066317 -0.939390 vn -0.801935 -0.154790 -0.576983 vn -0.412427 -0.082217 -0.907254 vn -0.793786 -0.155950 -0.587848 vn -0.252144 -0.103427 -0.962127 vn -0.621143 -0.114994 -0.775170 vn -0.169164 -0.131962 -0.976684 vn -0.984466 -0.175512 0.000244 vn -0.976562 -0.207831 -0.055422 vn -0.975677 -0.180090 0.124912 vn -0.969848 -0.196875 -0.143559 vn -0.949553 -0.193365 -0.246864 vn -0.975494 -0.216132 -0.041017 vn -0.926420 -0.189795 0.325053 vn -0.929106 -0.110935 0.352763 vn -0.923887 -0.048647 0.379528 vn -0.897488 -0.058779 0.437086 vn -0.824122 -0.092502 0.558763 vn -0.758690 -0.119541 0.640370 vn -0.486984 -0.078188 0.869869 vn -0.642537 -0.098849 0.759819 vn -0.767815 -0.154668 0.621693 vn -0.936155 -0.191015 0.295083 vn -0.981903 -0.170965 -0.081362 vn -0.995422 -0.089480 -0.033143 vn -0.966186 -0.094699 0.239723 vn -0.788141 -0.167852 0.592120 vn -0.678610 -0.159978 0.716819 vn -0.756432 -0.152104 0.636097 vn -0.757378 -0.108829 0.643818 vn -0.753075 -0.092044 0.651448 vn -0.735618 -0.097232 0.670339 vn -0.702109 -0.156407 0.694632 vn -0.655934 -0.108432 0.746971 vn -0.818690 -0.074435 0.569353 vn -0.966704 0.017792 0.255257 vn -0.838038 0.016114 0.545335 vn -0.668599 -0.045167 0.742210 vn -0.672109 0.056887 0.738243 vn -0.805872 0.105075 0.582629 vn -0.958831 0.110569 0.261513 vn -0.995849 0.006439 0.090609 vn -0.894345 0.420850 0.151708 vn -0.862148 0.322489 0.390698 vn -0.716788 0.168279 0.676656 vn -0.643483 0.114048 0.756890 vn -0.587695 0.198340 0.784387 vn -0.515519 0.497940 0.697317 vn -0.427595 0.745933 0.510605 vn -0.719626 0.558245 0.412854 vn -0.671285 0.710410 0.211249 vn -0.779077 0.607410 0.155034 vn -0.698630 0.569353 0.433210 vn -0.731864 0.309854 0.606891 vn -0.648305 0.436720 0.623646 vn -0.420911 0.265816 0.867244 vn -0.372509 0.180517 0.910276 vn -0.082247 0.301950 0.949736 vn -0.330363 0.532792 0.779077 vn -0.267953 0.784692 0.558916 vn -0.327006 0.893399 0.308023 vn -0.232307 0.962371 0.140812 vn -0.767327 0.637532 -0.068545 vn -0.627888 0.778283 -0.003235 vn -0.436140 0.892300 0.116428 vn -0.510422 0.818628 0.263131 vn 0.159276 0.925199 0.344371 vn 0.141179 0.921445 0.361888 vn 0.081576 0.743187 0.664052 vn 0.020081 0.587390 0.809015 vn 0.418226 0.473373 0.775201 vn 0.396954 0.186377 0.898679 vn -0.011078 0.111332 0.993713 vn 0.247475 0.083743 0.965239 vn 0.453352 0.019013 0.891110 vn 0.528764 0.020325 0.848506 vn 0.582110 -0.027863 0.812616 vn 0.583483 -0.051637 0.810450 vn 0.555956 -0.084902 0.826838 vn 0.519517 -0.088046 0.849879 vn 0.519913 -0.089236 0.849513 vn 0.692923 0.277505 0.665426 vn 0.667959 0.183325 0.721244 vn 0.703330 0.142827 0.696341 vn 0.644490 -0.044130 0.763329 vn 0.528550 -0.140934 0.837092 vn 0.827448 -0.084841 0.555040 vn 0.950804 0.155187 0.268075 vn 0.932310 -0.187841 0.309000 vn 0.737754 -0.258522 0.623554 vn 0.926023 0.181341 0.331004 vn 0.965056 0.047639 0.257576 vn 0.534043 0.041871 0.844386 vn 0.102878 -0.013337 0.994598 vn 0.417096 0.017060 0.908689 vn 0.090762 0.021210 0.995636 vn 0.410474 0.059023 0.909940 vn 0.216132 0.044923 0.975311 vn 0.269509 0.043519 0.962004 vn 0.407971 0.098331 0.907651 vn 0.990509 0.074068 0.115513 vn 0.918302 0.143406 0.368908 vn 0.640034 0.094333 0.762505 vn 0.818567 0.066164 -0.570544 vn 0.999908 -0.007721 0.008820 vn 0.994171 0.021119 0.105655 vn 0.969817 -0.060701 0.236030 vn 0.853542 -0.020264 0.520615 vn 0.482681 -0.015870 0.875637 vn 0.928739 0.025391 0.369793 vn 0.869747 0.026887 -0.492691 vn 0.934202 -0.027802 -0.355602 vn 0.595599 -0.005554 -0.803217 vn 0.469253 0.093875 -0.878048 vn 0.732139 0.122440 -0.670003 vn 0.441755 0.139134 -0.886258 vn 0.796777 0.010010 -0.604175 vn 0.949797 -0.011414 -0.312632 vn 0.703726 -0.008789 -0.710379 vn 0.919706 0.024903 -0.391736 vn 0.989349 0.022309 0.143773 vn 0.965392 0.143468 0.217780 vn 0.966887 0.124332 -0.222785 vn 0.873592 0.347270 0.340861 vn 0.880886 0.449446 0.148198 vn 0.595782 0.721427 0.352855 vn 0.555437 0.743248 0.372845 vn 0.686666 -0.027863 -0.726402 vn 0.507462 0.601856 0.616627 vn 0.982086 0.140904 0.124973 vn 0.989349 -0.012391 0.144932 vn 0.946135 -0.060945 0.317911 vn -0.961364 0.021699 -0.274392 vn 0.926633 0.077120 0.367931 vn 0.956542 0.253883 0.143254 vn 0.649709 0.546525 -0.528336 vn 0.509323 0.696432 -0.505509 vn 0.812159 0.463332 0.354534 vn -0.386639 0.033113 -0.921598 vn -0.513321 0.144597 -0.845912 g mesh6.002_mesh6-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 2821/4339/2839 2822/4340/2840 2823/4341/2841 f 2821/4342/2839 2824/4343/2842 2822/4344/2840 f 2824/4345/2842 2821/4346/2839 2825/4347/2843 f 2825/4347/2843 2821/4346/2839 2826/4348/2844 f 2821/4346/2839 2827/4349/2845 2826/4348/2844 f 2821/4339/2839 2823/4341/2841 2827/4350/2845 f 2827/4350/2845 2823/4341/2841 2828/4351/2846 f 2823/4352/2841 2829/4353/2847 2828/4354/2846 f 2823/4352/2841 2830/4355/2848 2829/4353/2847 f 2823/4352/2841 2831/4356/2849 2830/4355/2848 f 2823/4352/2841 2832/4357/2850 2831/4356/2849 f 2822/4340/2840 2832/4358/2850 2823/4341/2841 f 2822/4340/2840 2833/4359/2851 2832/4358/2850 f 2822/4340/2840 2834/4360/2852 2833/4359/2851 f 2824/4343/2842 2834/4361/2852 2822/4344/2840 f 2824/4343/2842 2835/4362/2853 2834/4361/2852 f 2836/4363/2854 2835/4364/2853 2824/4345/2842 f 2836/4363/2854 2837/4365/2855 2835/4364/2853 f 2837/4366/2855 2836/4367/2854 2838/4368/2856 f 2838/4368/2856 2836/4367/2854 2825/4369/2843 f 2836/4363/2854 2824/4345/2842 2825/4347/2843 f 2839/4370/2857 2838/4368/2856 2825/4369/2843 f 2838/4368/2856 2839/4370/2857 2840/4371/2858 f 2840/4371/2858 2839/4370/2857 2841/4372/2859 f 2839/4370/2857 2842/4373/2860 2841/4372/2859 f 2842/4373/2860 2839/4370/2857 2843/4374/2861 f 2839/4370/2857 2844/4375/2862 2843/4374/2861 f 2839/4370/2857 2825/4369/2843 2844/4376/2862 f 2844/4376/2862 2825/4369/2843 2845/4377/2863 f 2825/4369/2843 2826/4378/2844 2845/4377/2863 f 2826/4378/2844 2846/4379/2864 2845/4377/2863 f 2826/4378/2844 2847/4380/2865 2846/4379/2864 f 2826/4348/2844 2827/4349/2845 2847/4381/2865 f 2827/4350/2845 2848/4382/2866 2847/4383/2865 f 2827/4350/2845 2828/4351/2846 2848/4382/2866 f 2848/4384/2866 2828/4354/2846 2829/4353/2847 f 2848/4385/2866 2829/4386/2847 2849/4387/2867 f 2849/4387/2867 2829/4386/2847 2850/4388/2868 f 2851/4389/2869 2850/4388/2868 2829/4386/2847 f 2850/4388/2868 2851/4389/2869 2852/4390/2870 f 2853/4391/2871 2852/4390/2870 2851/4389/2869 f 2853/4391/2871 2854/4392/2872 2852/4390/2870 f 2855/4393/2873 2854/4392/2872 2853/4391/2871 f 2855/4393/2873 2856/4394/2874 2854/4392/2872 f 2855/4393/2873 2857/4395/2875 2856/4394/2874 f 2858/4396/2876 2857/4395/2875 2855/4393/2873 f 2858/4396/2876 2859/4397/2877 2857/4395/2875 f 2858/4396/2876 2860/4398/2878 2859/4397/2877 f 2858/4396/2876 2861/4399/2879 2860/4398/2878 f 2862/4400/2880 2861/4399/2879 2858/4396/2876 f 2863/4401/2881 2861/4402/2879 2862/4403/2880 f 2863/4401/2881 2864/4404/2882 2861/4402/2879 f 2865/4405/2883 2864/4406/2882 2863/4407/2881 f 2865/4405/2883 2866/4408/2884 2864/4406/2882 f 2865/4405/2883 2867/4409/2885 2866/4408/2884 f 2868/4410/2886 2867/4409/2885 2865/4405/2883 f 2869/4411/2887 2867/4412/2885 2868/4413/2886 f 2869/4411/2887 2870/4414/2888 2867/4412/2885 f 2869/4415/2887 2871/4416/2889 2870/4417/2888 f 2872/4418/2890 2871/4416/2889 2869/4415/2887 f 2873/4419/2891 2871/4420/2889 2872/4421/2890 f 2873/4419/2891 2874/4422/2892 2871/4420/2889 f 2873/4423/2891 2875/4424/2893 2874/4425/2892 f 2873/4423/2891 2876/4426/2894 2875/4424/2893 f 2837/4366/2855 2876/4426/2894 2873/4423/2891 f 2838/4368/2856 2876/4426/2894 2837/4366/2855 f 2876/4426/2894 2838/4368/2856 2840/4371/2858 f 2876/4426/2894 2840/4371/2858 2875/4424/2893 f 2875/4424/2893 2840/4371/2858 2877/4427/2895 f 2877/4428/2895 2840/4429/2858 2878/4430/2896 f 2878/4431/2896 2840/4371/2858 2841/4372/2859 f 2878/4431/2896 2841/4372/2859 2879/4432/2897 f 2841/4372/2859 2880/4433/2898 2879/4432/2897 f 2880/4433/2898 2881/4434/2899 2879/4432/2897 f 2882/4435/2900 2879/4432/2897 2881/4434/2899 f 2878/4431/2896 2879/4432/2897 2882/4435/2900 f 2883/4436/2901 2878/4431/2896 2882/4435/2900 f 2884/4437/2902 2878/4430/2896 2883/4438/2901 f 2885/4439/2903 2878/4430/2896 2884/4437/2902 f 2885/4439/2903 2877/4428/2895 2878/4430/2896 f 2875/4424/2893 2877/4427/2895 2885/4440/2903 f 2886/4441/2904 2875/4424/2893 2885/4440/2903 f 2874/4425/2892 2875/4424/2893 2886/4441/2904 f 2874/4425/2892 2886/4441/2904 2887/4442/2905 f 2886/4441/2904 2888/4443/2906 2887/4442/2905 f 2886/4441/2904 2885/4440/2903 2888/4443/2906 f 2888/4443/2906 2885/4440/2903 2889/4444/2907 f 2889/4445/2907 2885/4439/2903 2884/4437/2902 f 2889/4445/2907 2884/4437/2902 2890/4446/2908 f 2890/4446/2908 2884/4437/2902 2891/4447/2909 f 2884/4437/2902 2883/4438/2901 2891/4447/2909 f 2883/4436/2901 2892/4448/2910 2891/4449/2909 f 2883/4436/2901 2882/4435/2900 2892/4448/2910 f 2882/4435/2900 2881/4434/2899 2892/4448/2910 f 2881/4434/2899 2893/4450/2911 2892/4448/2910 f 2892/4448/2910 2893/4450/2911 2894/4451/2912 f 2892/4448/2910 2894/4451/2912 2895/4452/2913 f 2895/4452/2913 2894/4451/2912 2896/4453/2914 f 2895/4452/2913 2896/4453/2914 2897/4454/2915 f 2897/4454/2915 2896/4453/2914 2898/4455/2916 f 2897/4454/2915 2898/4455/2916 2899/4456/2917 f 2900/4457/2918 2897/4454/2915 2899/4456/2917 f 2901/4458/2919 2897/4454/2915 2900/4457/2918 f 2901/4458/2919 2895/4452/2913 2897/4454/2915 f 2891/4449/2909 2895/4452/2913 2901/4458/2919 f 2895/4452/2913 2891/4449/2909 2892/4448/2910 f 2901/4459/2919 2890/4446/2908 2891/4447/2909 f 2902/4460/2920 2890/4446/2908 2901/4459/2919 f 2889/4445/2907 2890/4446/2908 2902/4460/2920 f 2903/4461/2921 2889/4445/2907 2902/4460/2920 f 2888/4443/2906 2889/4444/2907 2903/4462/2921 f 2888/4443/2906 2903/4462/2921 2904/4463/2922 f 2905/4464/2923 2904/4463/2922 2903/4462/2921 f 2904/4463/2922 2905/4464/2923 2906/4465/2924 f 2907/4466/2925 2906/4465/2924 2905/4464/2923 f 2906/4465/2924 2907/4466/2925 2908/4467/2926 f 2906/4465/2924 2908/4467/2926 2909/4468/2927 f 2909/4468/2927 2908/4467/2926 2910/4469/2928 f 2909/4468/2927 2910/4469/2928 2911/4470/2929 f 2911/4470/2929 2910/4469/2928 2912/4471/2930 f 2913/4472/2931 2909/4468/2927 2911/4470/2929 f 2914/4473/2932 2909/4468/2927 2913/4472/2931 f 2914/4473/2932 2906/4465/2924 2909/4468/2927 f 2904/4463/2922 2906/4465/2924 2914/4473/2932 f 2887/4442/2905 2904/4463/2922 2914/4473/2932 f 2887/4442/2905 2888/4443/2906 2904/4463/2922 f 2887/4442/2905 2914/4473/2932 2915/4474/2933 f 2915/4474/2933 2914/4473/2932 2913/4472/2931 f 2915/4474/2933 2913/4472/2931 2916/4475/2934 f 2916/4475/2934 2913/4472/2931 2917/4476/2935 f 2917/4476/2935 2913/4472/2931 2918/4477/2936 f 2917/4476/2935 2918/4477/2936 2919/4478/2937 f 2919/4478/2937 2918/4477/2936 2920/4479/2938 f 2919/4478/2937 2920/4479/2938 2921/4480/2939 f 2919/4481/2937 2921/4482/2939 2922/4483/2940 f 2919/4481/2937 2922/4483/2940 2923/4484/2941 f 2924/4485/2942 2919/4481/2937 2923/4484/2941 f 2917/4486/2935 2919/4481/2937 2924/4485/2942 f 2925/4487/2943 2917/4486/2935 2924/4485/2942 f 2916/4488/2934 2917/4486/2935 2925/4487/2943 f 2871/4416/2889 2916/4488/2934 2925/4487/2943 f 2874/4422/2892 2916/4475/2934 2871/4420/2889 f 2874/4422/2892 2915/4474/2933 2916/4475/2934 f 2874/4489/2892 2887/4442/2905 2915/4474/2933 f 2871/4416/2889 2925/4487/2943 2870/4417/2888 f 2870/4490/2888 2925/4491/2943 2926/4492/2944 f 2924/4493/2942 2926/4492/2944 2925/4491/2943 f 2926/4492/2944 2924/4493/2942 2927/4494/2945 f 2924/4493/2942 2928/4495/2946 2927/4494/2945 f 2929/4496/2947 2927/4494/2945 2928/4495/2946 f 2927/4497/2945 2929/4498/2947 2930/4499/2948 f 2930/4499/2948 2929/4498/2947 2931/4500/2949 f 2929/4498/2947 2932/4501/2950 2931/4500/2949 f 2932/4502/2950 2929/4496/2947 2933/4503/2951 f 2933/4503/2951 2929/4496/2947 2928/4495/2946 f 2931/4500/2949 2932/4501/2950 2934/4504/2952 f 2935/4505/2953 2931/4506/2949 2934/4507/2952 f 2936/4508/2954 2931/4506/2949 2935/4505/2953 f 2930/4509/2948 2931/4506/2949 2936/4508/2954 f 2937/4510/2955 2930/4509/2948 2936/4508/2954 f 2938/4511/2956 2930/4509/2948 2937/4510/2955 f 2938/4512/2956 2927/4497/2945 2930/4499/2948 f 2926/4513/2944 2927/4497/2945 2938/4512/2956 f 2870/4414/2888 2926/4513/2944 2938/4512/2956 f 2870/4414/2888 2938/4512/2956 2867/4412/2885 f 2867/4409/2885 2938/4511/2956 2937/4510/2955 f 2867/4409/2885 2937/4510/2955 2866/4408/2884 f 2866/4408/2884 2937/4510/2955 2864/4406/2882 f 2864/4406/2882 2937/4510/2955 2939/4514/2957 f 2937/4510/2955 2936/4508/2954 2939/4514/2957 f 2939/4514/2957 2936/4508/2954 2940/4515/2958 f 2936/4508/2954 2935/4505/2953 2940/4515/2958 f 2940/4515/2958 2935/4505/2953 2941/4516/2959 f 2935/4505/2953 2942/4517/2960 2941/4516/2959 f 2941/4516/2959 2942/4517/2960 2943/4518/2961 f 2941/4519/2959 2943/4520/2961 2944/4521/2962 f 2943/4520/2961 2945/4522/2963 2944/4521/2962 f 2946/4523/2964 2941/4519/2959 2944/4521/2962 f 2940/4524/2958 2941/4519/2959 2946/4523/2964 f 2939/4525/2957 2940/4524/2958 2946/4523/2964 f 2939/4525/2957 2946/4523/2964 2947/4526/2965 f 2947/4527/2965 2946/4528/2964 2948/4529/2966 f 2946/4528/2964 2944/4530/2962 2948/4529/2966 f 2948/4529/2966 2944/4530/2962 2949/4531/2967 f 2949/4531/2967 2944/4530/2962 2950/4532/2968 f 2949/4531/2967 2950/4532/2968 2951/4533/2969 f 2949/4534/2967 2951/4535/2969 2952/4536/2970 f 2952/4536/2970 2951/4535/2969 2953/4537/2971 f 2952/4536/2970 2953/4537/2971 2954/4538/2972 f 2953/4537/2971 2955/4539/2973 2954/4538/2972 f 2955/4539/2973 2956/4540/2974 2954/4538/2972 f 2956/4540/2974 2957/4541/2975 2954/4538/2972 f 2954/4538/2972 2957/4541/2975 2958/4542/2976 f 2957/4541/2975 2959/4543/2977 2958/4542/2976 f 2959/4543/2977 2957/4541/2975 2960/4544/2978 f 2957/4541/2975 2961/4545/2979 2960/4544/2978 f 2960/4544/2978 2961/4545/2979 2962/4546/2980 f 2960/4547/2978 2962/4548/2980 2963/4549/2981 f 2963/4549/2981 2962/4548/2980 2964/4550/2982 f 2965/4551/2983 2963/4549/2981 2964/4550/2982 f 2966/4552/2984 2963/4549/2981 2965/4551/2983 f 2967/4553/2985 2963/4549/2981 2966/4552/2984 f 2968/4554/2986 2963/4549/2981 2967/4553/2985 f 2968/4554/2986 2960/4547/2978 2963/4549/2981 f 2960/4547/2978 2968/4554/2986 2959/4555/2977 f 2959/4555/2977 2968/4554/2986 2969/4556/2987 f 2970/4557/2988 2969/4556/2987 2968/4554/2986 f 2971/4558/2989 2969/4556/2987 2970/4557/2988 f 2972/4559/2990 2969/4556/2987 2971/4558/2989 f 2973/4560/2991 2969/4556/2987 2972/4559/2990 f 2973/4560/2991 2974/4561/2992 2969/4556/2987 f 2975/4562/2993 2974/4563/2992 2973/4564/2991 f 2975/4562/2993 2976/4565/2994 2974/4563/2992 f 2977/4566/2995 2976/4565/2994 2975/4562/2993 f 2978/4567/2996 2976/4565/2994 2977/4566/2995 f 2978/4567/2996 2958/4542/2976 2976/4565/2994 f 2954/4538/2972 2958/4542/2976 2978/4567/2996 f 2978/4567/2996 2952/4536/2970 2954/4538/2972 f 2979/4568/2997 2952/4536/2970 2978/4567/2996 f 2979/4568/2997 2949/4534/2967 2952/4536/2970 f 2948/4569/2966 2949/4534/2967 2979/4568/2997 f 2980/4570/2998 2948/4569/2966 2979/4568/2997 f 2947/4571/2965 2948/4569/2966 2980/4570/2998 f 2860/4398/2878 2947/4571/2965 2980/4570/2998 f 2861/4399/2879 2947/4571/2965 2860/4398/2878 f 2861/4402/2879 2939/4525/2957 2947/4526/2965 f 2864/4404/2882 2939/4525/2957 2861/4402/2879 f 2860/4398/2878 2980/4570/2998 2859/4397/2877 f 2859/4397/2877 2980/4570/2998 2977/4566/2995 f 2980/4570/2998 2979/4568/2997 2977/4566/2995 f 2977/4566/2995 2979/4568/2997 2978/4567/2996 f 2859/4397/2877 2977/4566/2995 2975/4562/2993 f 2859/4397/2877 2975/4562/2993 2857/4395/2875 f 2857/4395/2875 2975/4562/2993 2973/4564/2991 f 2857/4395/2875 2973/4564/2991 2981/4572/2999 f 2981/4573/2999 2973/4560/2991 2972/4559/2990 f 2981/4573/2999 2972/4559/2990 2982/4574/3000 f 2982/4574/3000 2972/4559/2990 2971/4558/2989 f 2982/4574/3000 2971/4558/2989 2983/4575/3001 f 2982/4574/3000 2983/4575/3001 2984/4576/3002 f 2984/4576/3002 2983/4575/3001 2985/4577/3003 f 2984/4576/3002 2985/4577/3003 2986/4578/3004 f 2987/4579/3005 2984/4576/3002 2986/4578/3004 f 2988/4580/3006 2984/4576/3002 2987/4579/3005 f 2988/4580/3006 2982/4574/3000 2984/4576/3002 f 2981/4573/2999 2982/4574/3000 2988/4580/3006 f 2856/4394/2874 2981/4572/2999 2988/4581/3006 f 2857/4395/2875 2981/4572/2999 2856/4394/2874 f 2856/4394/2874 2988/4581/3006 2854/4392/2872 f 2988/4581/3006 2987/4582/3005 2854/4392/2872 f 2854/4392/2872 2987/4582/3005 2852/4390/2870 f 2987/4579/3005 2986/4578/3004 2852/4583/2870 f 2852/4583/2870 2986/4578/3004 2989/4584/3007 f 2989/4585/3007 2986/4586/3004 2990/4587/3008 f 2986/4586/3004 2991/4588/3009 2990/4587/3008 f 2986/4586/3004 2992/4589/3010 2991/4588/3009 f 2992/4589/3010 2993/4590/3011 2991/4588/3009 f 2991/4588/3009 2993/4590/3011 2994/4591/3012 f 2994/4591/3012 2993/4590/3011 2995/4592/3013 f 2993/4590/3011 2996/4593/3014 2995/4592/3013 f 2996/4593/3014 2997/4594/3015 2995/4592/3013 f 2996/4593/3014 2998/4595/3016 2997/4594/3015 f 2998/4595/3016 2999/4596/3017 2997/4594/3015 f 2998/4595/3016 3000/4597/3018 2999/4596/3017 f 3000/4597/3018 3001/4598/3019 2999/4596/3017 f 3000/4597/3018 3002/4599/3020 3001/4598/3019 f 2999/4596/3017 3001/4598/3019 3003/4600/3021 f 2999/4596/3017 3003/4600/3021 3004/4601/3022 f 3004/4602/3022 3003/4603/3021 3005/4604/3023 f 3006/4605/3024 3004/4602/3022 3005/4604/3023 f 2997/4594/3015 3004/4601/3022 3006/4606/3024 f 2999/4596/3017 3004/4601/3022 2997/4594/3015 f 2995/4592/3013 2997/4594/3015 3006/4606/3024 f 2995/4592/3013 3006/4606/3024 3007/4607/3025 f 3007/4608/3025 3006/4605/3024 3008/4609/3026 f 3006/4605/3024 3005/4604/3023 3008/4609/3026 f 3008/4610/3026 3005/4611/3023 3009/4612/3027 f 3005/4611/3023 3010/4613/3028 3009/4612/3027 f 3005/4611/3023 3011/4614/3029 3010/4613/3028 f 3011/4614/3029 3012/4615/3030 3010/4613/3028 f 3010/4613/3028 3012/4615/3030 3013/4616/3031 f 3010/4613/3028 3013/4616/3031 3014/4617/3032 f 3014/4617/3032 3013/4616/3031 3015/4618/3033 f 3016/4619/3034 3014/4617/3032 3015/4618/3033 f 3017/4620/3035 3014/4617/3032 3016/4619/3034 f 3009/4612/3027 3014/4617/3032 3017/4620/3035 f 3009/4612/3027 3010/4613/3028 3014/4617/3032 f 3018/4621/3036 3009/4612/3027 3017/4620/3035 f 3008/4610/3026 3009/4612/3027 3018/4621/3036 f 3019/4622/3037 3008/4610/3026 3018/4621/3036 f 3007/4608/3025 3008/4609/3026 3019/4623/3037 f 3007/4608/3025 3019/4623/3037 3020/4624/3038 f 3020/4625/3038 3019/4622/3037 3021/4626/3039 f 3019/4622/3037 3018/4621/3036 3021/4626/3039 f 3021/4626/3039 3018/4621/3036 3022/4627/3040 f 3018/4621/3036 3017/4620/3035 3022/4627/3040 f 3022/4627/3040 3017/4620/3035 3023/4628/3041 f 3017/4620/3035 3016/4619/3034 3023/4628/3041 f 3023/4628/3041 3016/4619/3034 3024/4629/3042 f 3016/4619/3034 3025/4630/3043 3024/4629/3042 f 3016/4619/3034 3026/4631/3044 3025/4630/3043 f 3026/4631/3044 3027/4632/3045 3025/4630/3043 f 3023/4628/3041 3024/4629/3042 3028/4633/3046 f 3022/4627/3040 3023/4628/3041 3028/4633/3046 f 3029/4634/3047 3022/4627/3040 3028/4633/3046 f 3030/4635/3048 3022/4627/3040 3029/4634/3047 f 3021/4626/3039 3022/4627/3040 3030/4635/3048 f 3021/4626/3039 3030/4635/3048 3031/4636/3049 f 3031/4636/3049 3030/4635/3048 3032/4637/3050 f 3032/4637/3050 3030/4635/3048 3033/4638/3051 f 3033/4638/3051 3030/4635/3048 3029/4634/3047 f 3034/4639/3052 3032/4637/3050 3033/4638/3051 f 3035/4640/3053 3032/4637/3050 3034/4639/3052 f 3036/4641/3054 3032/4637/3050 3035/4640/3053 f 3031/4636/3049 3032/4637/3050 3036/4641/3054 f 3037/4642/3055 3031/4636/3049 3036/4641/3054 f 3037/4642/3055 3020/4625/3038 3031/4636/3049 f 2994/4591/3012 3020/4625/3038 3037/4642/3055 f 2994/4591/3012 3007/4607/3025 3020/4625/3038 f 2994/4591/3012 2995/4592/3013 3007/4607/3025 f 2991/4588/3009 2994/4591/3012 3037/4642/3055 f 2991/4588/3009 3037/4642/3055 2990/4587/3008 f 3037/4642/3055 3036/4641/3054 2990/4587/3008 f 2990/4587/3008 3036/4641/3054 3038/4643/3056 f 3038/4643/3056 3036/4641/3054 3039/4644/3057 f 3036/4641/3054 3035/4640/3053 3039/4644/3057 f 3039/4644/3057 3035/4640/3053 3040/4645/3058 f 3040/4645/3058 3035/4640/3053 3041/4646/3059 f 3041/4646/3059 3035/4640/3053 3034/4639/3052 f 3042/4647/3060 3040/4645/3058 3041/4646/3059 f 3043/4648/3061 3040/4645/3058 3042/4647/3060 f 3039/4644/3057 3040/4645/3058 3043/4648/3061 f 3039/4644/3057 3043/4648/3061 3044/4649/3062 f 3045/4650/3063 3044/4649/3062 3043/4648/3061 f 3045/4650/3063 3046/4651/3064 3044/4649/3062 f 3046/4652/3064 3045/4653/3063 3047/4654/3065 f 3047/4654/3065 3045/4653/3063 3048/4655/3066 f 3045/4656/3063 3049/4657/3067 3048/4658/3066 f 3045/4656/3063 3050/4659/3068 3049/4657/3067 f 3050/4660/3068 3045/4650/3063 3043/4648/3061 f 3050/4661/3068 3043/4648/3061 3042/4647/3060 f 3050/4659/3068 3042/4662/3060 3049/4657/3067 f 3049/4657/3067 3042/4662/3060 3051/4663/3069 f 3051/4664/3069 3042/4665/3060 3052/4666/3070 f 3053/4667/3071 3051/4664/3069 3052/4666/3070 f 3054/4668/3072 3051/4663/3069 3053/4669/3071 f 3054/4668/3072 3049/4657/3067 3051/4663/3069 f 3048/4658/3066 3049/4657/3067 3054/4668/3072 f 3055/4670/3073 3048/4658/3066 3054/4668/3072 f 3056/4671/3074 3048/4655/3066 3055/4672/3073 f 3056/4671/3074 3047/4654/3065 3048/4655/3066 f 3057/4673/3075 3047/4654/3065 3056/4671/3074 f 3057/4673/3075 3058/4674/3076 3047/4654/3065 f 2845/4675/2863 3058/4676/3076 3057/4677/3075 f 2845/4675/2863 2846/4678/2864 3058/4676/3076 f 2846/4678/2864 3059/4679/3077 3058/4676/3076 f 2846/4678/2864 2849/4680/2867 3059/4679/3077 f 2847/4380/2865 2849/4681/2867 2846/4379/2864 f 2847/4380/2865 2848/4682/2866 2849/4681/2867 f 2849/4683/2867 2850/4684/2868 3060/4685/3078 f 2850/4684/2868 2989/4584/3007 3060/4685/3078 f 2850/4684/2868 2852/4583/2870 2989/4584/3007 f 3060/4686/3078 2989/4585/3007 3038/4643/3056 f 2989/4585/3007 2990/4587/3008 3038/4643/3056 f 3060/4686/3078 3038/4643/3056 3061/4687/3079 f 3038/4643/3056 3039/4644/3057 3061/4687/3079 f 3061/4687/3079 3039/4644/3057 3044/4649/3062 f 3046/4651/3064 3061/4687/3079 3044/4649/3062 f 3059/4688/3077 3061/4687/3079 3046/4651/3064 f 3059/4688/3077 3060/4686/3078 3061/4687/3079 f 3059/4689/3077 3046/4652/3064 3058/4674/3076 f 3058/4674/3076 3046/4652/3064 3047/4654/3065 f 2844/4375/2862 2845/4675/2863 3057/4677/3075 f 2843/4374/2861 2844/4375/2862 3057/4677/3075 f 2843/4690/2861 3057/4673/3075 3062/4691/3080 f 3062/4691/3080 3057/4673/3075 3063/4692/3081 f 3063/4692/3081 3057/4673/3075 3056/4671/3074 f 3063/4692/3081 3056/4671/3074 3055/4672/3073 f 3063/4692/3081 3055/4672/3073 3064/4693/3082 f 3055/4670/3073 3054/4668/3072 3064/4694/3082 f 3064/4694/3082 3054/4668/3072 3065/4695/3083 f 3065/4695/3083 3054/4668/3072 3053/4669/3071 f 3065/4695/3083 3053/4669/3071 3066/4696/3084 f 3066/4696/3084 3053/4669/3071 3067/4697/3085 f 3053/4667/3071 3068/4698/3086 3067/4699/3085 f 3053/4667/3071 3052/4666/3070 3068/4698/3086 f 3067/4699/3085 3068/4698/3086 3069/4700/3087 f 3067/4699/3085 3069/4700/3087 3070/4701/3088 f 3067/4699/3085 3070/4701/3088 3071/4702/3089 f 3071/4702/3089 3070/4701/3088 3072/4703/3090 f 3071/4702/3089 3072/4703/3090 3073/4704/3091 f 3073/4704/3091 3072/4703/3090 3074/4705/3092 f 3073/4704/3091 3074/4705/3092 3075/4706/3093 f 3075/4706/3093 3074/4705/3092 3076/4707/3094 f 3066/4696/3084 3067/4697/3085 3077/4708/3095 f 3077/4708/3095 3067/4697/3085 3078/4709/3096 f 3077/4708/3095 3078/4709/3096 3079/4710/3097 f 3079/4710/3097 3078/4709/3096 3080/4711/3098 f 3078/4709/3096 3081/4712/3099 3080/4711/3098 f 3080/4711/3098 3081/4712/3099 3082/4713/3100 f 3082/4713/3100 3081/4712/3099 3083/4714/3101 f 3084/4715/3102 3082/4713/3100 3083/4714/3101 f 3084/4715/3102 3085/4716/3103 3082/4713/3100 f 3079/4710/3097 3082/4713/3100 3085/4716/3103 f 3082/4713/3100 3079/4710/3097 3080/4711/3098 f 3077/4717/3095 3079/4718/3097 3086/4719/3104 f 3086/4719/3104 3079/4718/3097 3087/4720/3105 f 3087/4720/3105 3079/4718/3097 3088/4721/3106 f 3079/4722/3097 3089/4723/3107 3088/4724/3106 f 3088/4724/3106 3089/4723/3107 3090/4725/3108 f 3089/4723/3107 3091/4726/3109 3090/4725/3108 f 3090/4725/3108 3091/4726/3109 3092/4727/3110 f 3091/4726/3109 3093/4728/3111 3092/4727/3110 f 3092/4727/3110 3093/4728/3111 3094/4729/3112 f 3093/4728/3111 3095/4730/3113 3094/4729/3112 f 3090/4731/3108 3092/4732/3110 3096/4733/3114 f 3096/4733/3114 3092/4732/3110 3097/4734/3115 f 3092/4732/3110 3098/4735/3116 3097/4734/3115 f 3099/4736/3117 3096/4733/3114 3097/4734/3115 f 3100/4737/3118 3096/4733/3114 3099/4736/3117 f 3100/4737/3118 3101/4738/3119 3096/4733/3114 f 3100/4737/3118 3102/4739/3120 3101/4738/3119 f 3102/4739/3120 3100/4737/3118 3103/4740/3121 f 3103/4740/3121 3100/4737/3118 3104/4741/3122 f 3103/4740/3121 3104/4741/3122 3105/4742/3123 f 3106/4743/3124 3103/4740/3121 3105/4742/3123 f 3106/4743/3124 3107/4744/3125 3103/4740/3121 f 3107/4744/3125 3106/4743/3124 3108/4745/3126 f 3108/4745/3126 3106/4743/3124 3109/4746/3127 f 3106/4743/3124 3110/4747/3128 3109/4746/3127 f 3110/4747/3128 3106/4743/3124 3105/4742/3123 f 3109/4746/3127 3110/4747/3128 3111/4748/3129 f 3112/4749/3130 3107/4744/3125 3108/4745/3126 f 3112/4749/3130 3113/4750/3131 3107/4744/3125 f 3114/4751/3132 3113/4750/3131 3112/4749/3130 f 3115/4752/3133 3113/4750/3131 3114/4751/3132 f 3115/4752/3133 3116/4753/3134 3113/4750/3131 f 3115/4752/3133 3117/4754/3135 3116/4753/3134 f 3118/4755/3136 3117/4754/3135 3115/4752/3133 f 3118/4755/3136 3119/4756/3137 3117/4754/3135 f 3120/4757/3138 3119/4756/3137 3118/4755/3136 f 3120/4757/3138 3121/4758/3139 3119/4756/3137 f 3122/4759/3140 3121/4758/3139 3120/4757/3138 f 3122/4759/3140 3063/4692/3081 3121/4758/3139 f 3122/4759/3140 3062/4691/3080 3063/4692/3081 f 2842/4760/2860 3062/4691/3080 3122/4759/3140 f 2842/4760/2860 2843/4690/2861 3062/4691/3080 f 2842/4760/2860 3122/4759/3140 2841/4761/2859 f 3122/4759/3140 3120/4757/3138 2841/4761/2859 f 2841/4761/2859 3120/4757/3138 3118/4755/3136 f 2841/4761/2859 3118/4755/3136 3123/4762/3141 f 3123/4762/3141 3118/4755/3136 3115/4752/3133 f 3123/4762/3141 3115/4752/3133 3114/4751/3132 f 3121/4758/3139 3063/4692/3081 3124/4763/3142 f 3124/4763/3142 3063/4692/3081 3064/4693/3082 f 3064/4694/3082 3066/4696/3084 3124/4764/3142 f 3064/4694/3082 3065/4695/3083 3066/4696/3084 f 3077/4708/3095 3124/4764/3142 3066/4696/3084 f 3124/4763/3142 3077/4717/3095 3119/4756/3137 f 3119/4756/3137 3077/4717/3095 3086/4719/3104 f 3125/4765/3143 3119/4756/3137 3086/4719/3104 f 3117/4754/3135 3119/4756/3137 3125/4765/3143 f 3116/4753/3134 3117/4754/3135 3125/4765/3143 f 3116/4753/3134 3125/4765/3143 3126/4766/3144 f 3126/4766/3144 3125/4765/3143 3086/4719/3104 f 3126/4766/3144 3086/4719/3104 3087/4720/3105 f 3102/4739/3120 3126/4766/3144 3087/4720/3105 f 3126/4766/3144 3102/4739/3120 3127/4767/3145 f 3127/4767/3145 3102/4739/3120 3103/4740/3121 f 3107/4744/3125 3127/4767/3145 3103/4740/3121 f 3107/4744/3125 3113/4750/3131 3127/4767/3145 f 3113/4750/3131 3116/4753/3134 3127/4767/3145 f 3127/4767/3145 3116/4753/3134 3126/4766/3144 f 3102/4739/3120 3087/4720/3105 3101/4738/3119 f 3087/4720/3105 3088/4721/3106 3101/4738/3119 f 3088/4721/3106 3090/4731/3108 3101/4738/3119 f 3101/4738/3119 3090/4731/3108 3096/4733/3114 f 3121/4758/3139 3124/4763/3142 3119/4756/3137 f 3020/4625/3038 3021/4626/3039 3031/4636/3049 f 2976/4565/2994 2958/4542/2976 2974/4563/2992 f 2974/4563/2992 2958/4542/2976 2959/4543/2977 f 2959/4555/2977 2969/4556/2987 2974/4561/2992 f 2970/4557/2988 2968/4554/2986 2967/4553/2985 f 2934/4507/2952 3128/4768/3146 2935/4505/2953 f 2907/4769/2925 2905/4770/2923 3129/4771/3147 f 3129/4771/3147 2905/4770/2923 3130/4772/3148 f 2905/4770/2923 2903/4461/2921 3130/4772/3148 f 3130/4772/3148 2903/4461/2921 2902/4460/2920 f 2900/4773/2918 2902/4460/2920 2901/4459/2919 f 3131/4774/3149 2902/4460/2920 2900/4773/2918 f 3132/4775/3150 3131/4774/3149 2900/4773/2918 f 3133/4776/3151 3132/4775/3150 2900/4773/2918 f 2900/4457/2918 2899/4456/2917 3133/4777/3151 f 2837/4365/2855 2873/4419/2891 2835/4364/2853 f 2835/4364/2853 2873/4419/2891 2872/4421/2890 f 2835/4362/2853 2872/4418/2890 2869/4415/2887 f 2835/4362/2853 2869/4415/2887 2834/4361/2852 f 2834/4360/2852 2869/4411/2887 2868/4413/2886 f 2834/4360/2852 2868/4413/2886 2833/4359/2851 f 2833/4778/2851 2868/4410/2886 2865/4405/2883 f 2833/4778/2851 2865/4405/2883 3134/4779/3152 f 3134/4779/3152 2865/4405/2883 2863/4407/2881 f 3134/4780/3152 2863/4401/2881 2862/4403/2880 f 3134/4780/3152 2862/4403/2880 3135/4781/3153 f 3135/4782/3153 2862/4400/2880 2855/4393/2873 f 2855/4393/2873 2862/4400/2880 2858/4396/2876 f 2853/4391/2871 3135/4782/3153 2855/4393/2873 f 3135/4782/3153 2853/4391/2871 2831/4783/2849 f 2831/4783/2849 2853/4391/2871 2830/4784/2848 f 2853/4391/2871 2851/4389/2869 2830/4784/2848 f 2829/4386/2847 2830/4784/2848 2851/4389/2869 f 2832/4357/2850 3135/4781/3153 2831/4356/2849 f 2832/4357/2850 3134/4780/3152 3135/4781/3153 f 2833/4778/2851 3134/4779/3152 2832/4785/2850 g mesh6.002_mesh6-geometry_FrontColorNoCullingID__01_-_Default1noCulli usemtl FrontColorNoCullingID__01_-_Default1noCulli f 2849/4786/2867 3060/4787/3078 3059/4788/3077 o mesh7.002_mesh7-geometry v -3.863532 155.682526 4.511417 0.170050 0.828235 0.754281 v -4.286595 158.423111 6.900631 0.863706 0.537666 0.616989 v -4.180688 158.521591 5.283511 0.385109 0.437491 0.866818 v -3.423157 154.537964 7.208103 0.497867 0.940225 0.246301 v -4.367506 161.606720 6.066491 0.527452 0.785190 0.350170 vt 0.110143 2.715881 vt 0.215065 2.785608 vt 0.118081 2.788776 vt 0.224880 2.711631 vt 0.170875 2.860480 vn -0.988342 -0.152104 -0.000519 vn -0.992981 -0.115879 -0.023072 vn -0.995300 -0.067446 -0.069277 vn -0.974944 -0.211158 0.069582 vn -0.996734 -0.043123 -0.067904 g mesh7.002_mesh7-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3136/4789/3154 3137/4790/3155 3138/4791/3156 f 3136/4789/3154 3139/4792/3157 3137/4790/3155 f 3138/4791/3156 3137/4790/3155 3140/4793/3158 o mesh8.002_mesh8-geometry v 8.274948 155.466537 0.140714 0.812036 0.187802 0.279572 v 9.835814 152.771271 4.336011 0.503954 0.146339 0.183369 v 8.227585 152.180206 2.018665 0.256454 0.991791 0.266884 v 9.885041 156.447601 2.973511 0.918810 0.923453 0.301262 v 8.085245 158.266296 -0.284072 0.888658 0.590304 0.309943 v 9.905888 158.379395 2.666312 0.039045 0.674799 0.759298 v 7.986635 161.289764 -0.268936 0.842656 0.476008 0.044424 v 3.467669 161.296249 -1.719421 0.265838 0.191783 0.988667 v 4.247242 157.873398 -1.617078 0.999777 0.793309 0.278983 v 4.696880 154.791000 -1.049771 0.516530 0.712262 0.157015 v 4.802830 151.656647 1.097425 0.894915 0.724771 0.589612 v 8.584236 149.055847 3.135569 0.220538 0.839432 0.918477 v 10.267157 149.835953 4.718748 0.439464 0.598889 0.504648 v 10.862501 146.959854 3.422649 0.474592 0.383455 0.924355 v 8.515314 146.717270 2.319582 0.836149 0.732442 0.613739 v 11.351784 144.652252 2.183694 0.931714 0.592494 0.669227 v 9.096628 144.509567 1.265262 0.070641 0.708774 0.002442 v 12.441652 143.036255 0.912035 0.894594 0.641583 0.955707 v 9.814597 142.776962 -0.376795 0.788042 0.459534 0.474295 v 11.084911 141.550552 -2.548959 0.169767 0.141941 0.849619 v 13.628132 141.831177 -0.697943 0.412198 0.113545 0.404171 v 9.485686 142.373016 -0.292807 0.959314 0.562587 0.421627 v 10.522850 141.305389 -2.268642 0.583615 0.425577 0.394817 v 8.678350 144.322388 1.572363 0.451076 0.885135 0.438411 v 5.272475 148.913177 2.191992 0.625627 0.596599 0.667402 v 5.445008 146.424164 1.773892 0.310799 0.102327 0.164014 v 8.545259 144.216583 1.393624 0.029353 0.257640 0.955379 v 5.800116 144.320709 0.941007 0.307052 0.956711 0.216536 v 9.072182 142.623138 -0.506162 0.249447 0.509907 0.219579 v 6.441443 142.308228 -1.216898 0.865649 0.094604 0.259016 v 9.716212 140.997879 -2.845092 0.555523 0.406406 0.569784 v 7.384087 140.766571 -4.125468 0.532839 0.103840 0.898011 v 6.627053 140.783844 -3.444259 0.487494 0.325565 0.193207 v 5.994019 142.082748 -1.381671 0.543363 0.017436 0.586388 v 5.622348 144.099548 0.747578 0.646106 0.466891 0.630696 v 2.919452 142.236053 -1.484652 0.419240 0.801311 0.613067 v 3.435072 140.934265 -4.357613 0.867896 0.878113 0.238250 v 6.345874 140.536392 -4.162138 0.066263 0.886002 0.081119 v 2.589487 140.691666 -3.887124 0.599121 0.352241 0.747007 v 2.491659 141.882660 -1.352894 0.358407 0.228891 0.564094 v 2.384855 143.929382 0.424549 0.174293 0.127556 0.594407 v 2.053732 146.327484 1.495527 0.644303 0.344786 0.134298 v 1.748028 148.733475 2.026909 0.688161 0.186337 0.945910 v 1.068702 151.436859 0.911819 0.716286 0.879922 0.045387 v 0.472207 154.654083 -1.097850 0.515135 0.720760 0.475447 v -0.380799 157.385818 -1.594100 0.912267 0.150129 0.399665 v -1.155300 160.353760 -1.197721 0.408877 0.038401 0.158071 v -3.402240 159.515686 1.292338 0.362100 0.917712 0.118875 v -2.997260 157.058289 1.355405 0.147681 0.352031 0.461619 v -2.649977 155.164154 1.700008 0.392454 0.618444 0.457501 v -2.372484 151.510880 2.511762 0.125179 0.647697 0.751716 v -1.976365 148.569626 3.119467 0.821753 0.037485 0.185677 v -1.649068 146.395294 2.146311 0.463859 0.529755 0.994235 v 0.079185 146.204758 1.694959 0.566165 0.227003 0.177235 v 2.119385 143.895966 0.641830 0.917211 0.109668 0.621791 v 1.901617 142.228546 -1.285433 0.497027 0.246120 0.910037 v 2.178280 140.692932 -3.508977 0.235049 0.412391 0.279238 v 1.540781 140.739563 -3.953609 0.456994 0.088385 0.798915 v -0.689761 140.744400 -3.577973 0.271338 0.012034 0.064819 v -0.130675 142.761963 -0.620819 0.882513 0.415777 0.855156 v -0.108594 143.811462 0.817905 0.631396 0.837856 0.827904 v -0.423108 143.982483 0.824245 0.300844 0.879809 0.197564 v -0.329893 142.499924 -0.530329 0.753155 0.723566 0.828715 v -0.908558 142.896011 -0.870964 0.864533 0.307911 0.869907 v -2.482156 142.718338 -0.393535 0.224291 0.018254 0.761748 v -3.210301 141.335632 -2.618592 0.942106 0.452306 0.491756 v -1.843272 141.204910 -3.497918 0.130667 0.357699 0.561733 v -0.873975 140.929489 -3.304158 0.195141 0.603548 0.209288 v -1.409928 143.987274 1.414325 0.875444 0.745521 0.713230 v 9.813368 160.868759 2.634991 0.053298 0.833039 0.046117 vt 1.449784 0.594845 vt 1.610980 0.516207 vt 1.449492 0.516096 vt 1.613561 0.595318 vt 1.450199 0.651507 vt 1.622192 0.650854 vt 1.450401 0.716360 vt 1.294702 0.716852 vt 1.294702 0.651626 vt 1.294702 0.594662 vt 1.294702 0.516048 vt 1.449327 0.444677 vt 1.610425 0.444729 vt 1.612866 0.389546 vt 1.449182 0.389485 vt 1.613450 0.330179 vt 1.474464 0.329648 vt 1.613756 0.286047 vt 1.491997 0.282598 vt 1.499509 0.235528 vt 1.615596 0.232841 vt 1.455550 0.271323 vt 1.466242 0.231810 vt 1.449541 0.325320 vt 1.296023 0.444646 vt 1.295592 0.389435 vt 1.432169 0.326117 vt 1.303197 0.329620 vt 1.428874 0.270800 vt 1.310298 0.275041 vt 1.414331 0.217142 vt 1.313338 0.222733 vt 1.291003 0.224108 vt 1.286301 0.269829 vt 1.293144 0.324067 vt 1.157307 0.277863 vt 1.171500 0.232139 vt 1.284943 0.226629 vt 1.136505 0.228320 vt 1.134456 0.269904 vt 1.150850 0.323961 vt 1.149097 0.389461 vt 1.149030 0.444646 vt 1.148919 0.516097 vt 1.148799 0.594845 vt 1.148669 0.651507 vt 1.148605 0.716360 vt -0.395750 0.776369 vt -0.623513 0.890353 vt -0.395797 0.888410 vt -0.623610 0.778370 vt -0.395651 0.678478 vt -0.623724 0.682425 vt -0.395560 0.542431 vt -0.623725 0.545756 vt -0.395477 0.418991 vt -0.623924 0.422263 vt -0.395427 0.323654 vt -0.623939 0.323883 vt -0.506553 0.320154 vt -0.411150 0.244344 vt -0.392767 0.244348 vt -0.410760 0.159178 vt -0.391750 0.158849 vt -0.391356 0.070257 vt -0.412268 0.070621 vt -0.485229 0.070099 vt -0.498996 0.159282 vt -0.507882 0.244851 vt -0.529315 0.245475 vt -0.507501 0.159170 vt -0.536038 0.159071 vt -0.623491 0.159227 vt -0.622894 0.069216 vt -0.536046 0.070583 vt -0.510026 0.070268 vt -0.623793 0.246413 vt 1.629622 0.715673 vn 0.644398 -0.213630 -0.734184 vn 0.848415 -0.143040 -0.509598 vn 0.582537 -0.301614 -0.754723 vn 0.869503 -0.094272 -0.484817 vn 0.629109 -0.024110 -0.776940 vn 0.850307 -0.012238 -0.526109 vn 0.706168 0.024628 -0.707572 vn 0.179632 0.002503 -0.983703 vn 0.151677 -0.051332 -0.987091 vn 0.180059 -0.351726 -0.918607 vn 0.173315 -0.436933 -0.882626 vn 0.430128 0.049471 -0.901395 vn 0.706870 0.112430 -0.698325 vn 0.404981 0.414624 -0.814875 vn 0.139470 0.349712 -0.926389 vn 0.290567 0.560350 -0.775597 vn -0.217170 0.540147 -0.813044 vn 0.214026 0.798730 -0.562304 vn -0.264901 0.684988 -0.678640 vn -0.239113 0.768059 -0.594043 vn 0.241432 0.853816 -0.461165 vn -0.629078 0.435255 -0.644002 vn -0.551897 0.577349 -0.601672 vn -0.646352 0.279458 -0.709983 vn 0.147557 -0.067843 -0.986694 vn 0.149388 0.304025 -0.940855 vn 0.146794 0.518632 -0.842280 vn 0.096957 0.642720 -0.759911 vn 0.091525 0.783441 -0.614673 vn -0.080355 0.803888 -0.589282 vn 0.099246 0.863155 -0.495010 vn -0.165136 0.848262 -0.503128 vn -0.330393 0.765801 -0.551653 vn -0.026673 0.803735 -0.594348 vn 0.085360 0.586657 -0.805292 vn -0.283517 0.777581 -0.561174 vn -0.087924 0.887692 -0.451949 vn 0.150456 0.871944 -0.465865 vn -0.565020 0.727134 -0.389813 vn -0.167913 0.756920 -0.631519 vn -0.251625 0.592730 -0.765069 vn -0.142644 0.370678 -0.917722 vn -0.135105 -0.082339 -0.987396 vn -0.215003 -0.421827 -0.880795 vn -0.338786 -0.424451 -0.839656 vn -0.390667 -0.145207 -0.908994 vn -0.300821 -0.007935 -0.953642 vn -0.728050 -0.117527 -0.675344 vn -0.698904 -0.240852 -0.673391 vn -0.580584 -0.330424 -0.744102 vn -0.358531 -0.298929 -0.884335 vn -0.242378 0.113071 -0.963561 vn -0.247414 0.427686 -0.869381 vn -0.071108 0.423200 -0.903226 vn -0.258370 0.565172 -0.783441 vn 0.076785 0.803186 -0.590747 vn 0.398328 0.777154 -0.487136 vn 0.164098 0.851772 -0.497513 vn -0.024079 0.851405 -0.523942 vn -0.020478 0.796960 -0.603656 vn 0.087680 0.559771 -0.823969 vn -0.004517 0.620899 -0.783837 vn 0.569048 0.594836 -0.567705 vn 0.179510 0.814570 -0.551561 vn -0.245705 0.853908 -0.458724 vn -0.228309 0.856075 -0.463637 vn 0.055483 0.830439 -0.554308 vn 0.508835 0.673025 -0.536699 vn -0.416364 0.578906 -0.701041 vn 0.847804 0.024842 -0.529710 g mesh8.002_mesh8-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3141/4794/3159 3142/4795/3160 3143/4796/3161 f 3141/4794/3159 3144/4797/3162 3142/4795/3160 f 3144/4797/3162 3141/4794/3159 3145/4798/3163 f 3145/4798/3163 3146/4799/3164 3144/4797/3162 f 3145/4798/3163 3147/4800/3165 3146/4799/3164 f 3148/4801/3166 3147/4800/3165 3145/4798/3163 f 3148/4801/3166 3145/4798/3163 3149/4802/3167 f 3145/4798/3163 3141/4794/3159 3149/4802/3167 f 3149/4802/3167 3141/4794/3159 3150/4803/3168 f 3141/4794/3159 3143/4796/3161 3150/4803/3168 f 3150/4803/3168 3143/4796/3161 3151/4804/3169 f 3143/4796/3161 3152/4805/3170 3151/4804/3169 f 3143/4796/3161 3153/4806/3171 3152/4805/3170 f 3143/4796/3161 3142/4795/3160 3153/4806/3171 f 3153/4806/3171 3154/4807/3172 3152/4805/3170 f 3152/4805/3170 3154/4807/3172 3155/4808/3173 f 3154/4807/3172 3156/4809/3174 3155/4808/3173 f 3155/4808/3173 3156/4809/3174 3157/4810/3175 f 3158/4811/3176 3157/4810/3175 3156/4809/3174 f 3158/4811/3176 3159/4812/3177 3157/4810/3175 f 3158/4811/3176 3160/4813/3178 3159/4812/3177 f 3161/4814/3179 3160/4813/3178 3158/4811/3176 f 3160/4813/3178 3162/4815/3180 3159/4812/3177 f 3162/4815/3180 3160/4813/3178 3163/4816/3181 f 3157/4810/3175 3159/4812/3177 3162/4815/3180 f 3157/4810/3175 3162/4815/3180 3164/4817/3182 f 3155/4808/3173 3157/4810/3175 3164/4817/3182 f 3152/4805/3170 3155/4808/3173 3165/4818/3183 f 3165/4818/3183 3155/4808/3173 3166/4819/3184 f 3155/4808/3173 3167/4820/3185 3166/4819/3184 f 3166/4819/3184 3167/4820/3185 3168/4821/3186 f 3169/4822/3187 3168/4821/3186 3167/4820/3185 f 3169/4822/3187 3170/4823/3188 3168/4821/3186 f 3171/4824/3189 3170/4823/3188 3169/4822/3187 f 3171/4824/3189 3172/4825/3190 3170/4823/3188 f 3172/4825/3190 3173/4826/3191 3170/4823/3188 f 3173/4826/3191 3174/4827/3192 3170/4823/3188 f 3170/4823/3188 3174/4827/3192 3168/4821/3186 f 3174/4827/3192 3175/4828/3193 3168/4821/3186 f 3174/4827/3192 3176/4829/3194 3175/4828/3193 f 3174/4827/3192 3177/4830/3195 3176/4829/3194 f 3178/4831/3196 3177/4830/3195 3174/4827/3192 f 3177/4830/3195 3179/4832/3197 3176/4829/3194 f 3176/4829/3194 3179/4832/3197 3180/4833/3198 f 3181/4834/3199 3176/4829/3194 3180/4833/3198 f 3175/4828/3193 3176/4829/3194 3181/4834/3199 f 3182/4835/3200 3175/4828/3193 3181/4834/3199 f 3166/4819/3184 3175/4828/3193 3182/4835/3200 f 3166/4819/3184 3168/4821/3186 3175/4828/3193 f 3183/4836/3201 3166/4819/3184 3182/4835/3200 f 3165/4818/3183 3166/4819/3184 3183/4836/3201 f 3184/4837/3202 3165/4818/3183 3183/4836/3201 f 3151/4804/3169 3165/4818/3183 3184/4837/3202 f 3151/4804/3169 3152/4805/3170 3165/4818/3183 f 3185/4838/3203 3151/4804/3169 3184/4837/3202 f 3150/4803/3168 3151/4804/3169 3185/4838/3203 f 3186/4839/3204 3150/4803/3168 3185/4838/3203 f 3149/4802/3167 3150/4803/3168 3186/4839/3204 f 3187/4840/3205 3149/4802/3167 3186/4839/3204 f 3148/4801/3166 3149/4802/3167 3187/4840/3205 f 3186/4841/3204 3188/4842/3206 3187/4843/3205 f 3186/4841/3204 3189/4844/3207 3188/4842/3206 f 3186/4841/3204 3185/4845/3203 3189/4844/3207 f 3189/4844/3207 3185/4845/3203 3190/4846/3208 f 3185/4845/3203 3184/4847/3202 3190/4846/3208 f 3190/4846/3208 3184/4847/3202 3191/4848/3209 f 3191/4848/3209 3184/4847/3202 3183/4849/3201 f 3191/4848/3209 3183/4849/3201 3192/4850/3210 f 3183/4849/3201 3182/4851/3200 3192/4850/3210 f 3192/4850/3210 3182/4851/3200 3193/4852/3211 f 3193/4852/3211 3182/4851/3200 3194/4853/3212 f 3182/4851/3200 3195/4854/3213 3194/4853/3212 f 3182/4851/3200 3181/4855/3199 3195/4854/3213 f 3181/4855/3199 3196/4856/3214 3195/4854/3213 f 3181/4855/3199 3180/4857/3198 3196/4856/3214 f 3180/4857/3198 3197/4858/3215 3196/4856/3214 f 3197/4858/3215 3198/4859/3216 3196/4856/3214 f 3196/4856/3214 3198/4859/3216 3199/4860/3217 f 3196/4856/3214 3199/4860/3217 3200/4861/3218 f 3195/4854/3213 3196/4856/3214 3200/4861/3218 f 3195/4854/3213 3200/4861/3218 3201/4862/3219 f 3194/4853/3212 3195/4854/3213 3201/4862/3219 f 3194/4853/3212 3201/4862/3219 3202/4863/3220 f 3202/4863/3220 3201/4862/3219 3203/4864/3221 f 3204/4865/3222 3202/4863/3220 3203/4864/3221 f 3202/4863/3220 3204/4865/3222 3205/4866/3223 f 3204/4865/3222 3206/4867/3224 3205/4866/3223 f 3204/4865/3222 3207/4868/3225 3206/4867/3224 f 3208/4869/3226 3207/4868/3225 3204/4865/3222 f 3208/4869/3226 3204/4865/3222 3203/4864/3221 f 3202/4863/3220 3205/4866/3223 3209/4870/3227 f 3193/4852/3211 3202/4863/3220 3209/4870/3227 f 3193/4852/3211 3194/4853/3212 3202/4863/3220 f 3147/4800/3165 3210/4871/3228 3146/4799/3164 o mesh9.002_mesh9-geometry v 10.762648 146.448700 3.420037 0.837765 0.362274 0.178073 v 11.062708 145.077621 2.630148 0.448057 0.900391 0.899696 v 9.779861 144.121918 2.803067 0.273891 0.300133 0.717549 v 11.747141 143.565933 1.421198 0.516306 0.709373 0.299937 v 10.284569 142.616928 1.439458 0.240573 0.878406 0.803984 v 11.393469 141.732422 -0.132967 0.783297 0.440054 0.690270 v 12.952496 142.558853 0.138975 0.941360 0.515327 0.082906 v 9.420206 145.891693 3.696944 0.333791 0.983558 0.995033 v 7.218154 143.855499 2.374655 0.114655 0.318239 0.083324 v 10.402884 142.455994 1.648466 0.714808 0.076449 0.408581 v 7.737208 142.137741 0.877865 0.577786 0.074097 0.325909 v 8.740107 141.044525 -1.191738 0.438171 0.478312 0.932451 v 11.217224 141.831345 0.012690 0.387679 0.118302 0.523512 v 6.999944 145.699097 3.382024 0.927001 0.296698 0.908252 v 4.630083 145.695206 2.878069 0.733409 0.015202 0.093200 v 4.812004 143.632782 1.843351 0.725762 0.027603 0.889471 v 7.505755 142.061813 0.749501 0.837465 0.080645 0.494791 v 5.123206 142.014969 0.238689 0.707411 0.562940 0.815134 v 8.225356 141.068787 -1.393118 0.165963 0.830325 0.653032 v 5.654455 140.667511 -2.193355 0.580913 0.793247 0.688794 v 1.897249 145.619263 2.829151 0.242675 0.278343 0.064506 v 2.072418 143.533508 1.787344 0.864548 0.670642 0.674264 v 2.330404 141.917252 0.208742 0.877926 0.699533 0.870416 v 4.854086 141.873550 0.206921 0.295797 0.779771 0.720467 v 2.162254 140.783539 -2.142097 0.940786 0.393524 0.565890 v 5.006162 140.702362 -2.294566 0.254119 0.980930 0.034721 v -0.504927 145.485657 2.846910 0.224603 0.254866 0.819329 v -0.380665 143.634247 1.808361 0.996227 0.164949 0.090318 v -0.822077 142.059540 0.323816 0.581382 0.448819 0.109853 v 2.032388 141.828171 0.131505 0.399358 0.347231 0.943382 v -1.338122 141.055725 -1.731715 0.435899 0.404766 0.128674 v 1.674468 140.725540 -2.177709 0.333331 0.095994 0.292370 v -1.467879 146.049942 2.195851 0.736600 0.295157 0.095746 v -1.676256 144.409119 1.294553 0.683161 0.027227 0.668503 v -2.025026 143.258179 -0.335742 0.269857 0.717405 0.557903 v -1.236679 142.313629 0.131972 0.030645 0.018787 0.108837 v -3.051848 142.299744 -1.997965 0.508766 0.250204 0.418892 v -1.523277 141.406311 -1.728539 0.168430 0.572832 0.860501 v -1.448423 148.631027 3.371287 0.947936 0.541374 0.277660 v -0.465225 148.679520 4.660615 0.680269 0.466692 0.467333 v -1.630292 151.076126 3.326250 0.832008 0.573539 0.674419 v -1.402645 150.660858 4.723782 0.878901 0.836883 0.669459 v -2.784653 155.161697 2.058482 0.469120 0.740066 0.494099 v -2.950806 153.558975 4.454322 0.398599 0.528422 0.356142 v 1.961034 150.128433 4.214216 0.920107 0.376409 0.209411 v 1.541426 151.465668 3.827176 0.757409 0.790772 0.057507 v 4.486214 150.057205 4.225947 0.220924 0.633599 0.060571 v 3.872620 151.631668 4.018527 0.800408 0.054005 0.070338 v 6.316078 150.751862 4.712617 0.755404 0.224955 0.076411 v 6.180413 151.940643 4.298479 0.095849 0.208231 0.342811 v 8.991473 151.799789 5.469871 0.491235 0.448500 0.585219 v 9.731884 154.857529 5.742830 0.275626 0.923811 0.295450 v 9.668891 152.181076 4.059576 0.215468 0.084429 0.560689 v 10.270647 149.184311 4.498265 0.705186 0.593161 0.399087 v 9.000010 148.385498 5.112952 0.760346 0.469958 0.984014 v 6.760811 147.984619 4.777401 0.640787 0.986492 0.443919 v 4.382504 147.775543 4.303027 0.416294 0.171155 0.045944 v 1.800546 147.768585 4.050845 0.738066 0.431902 0.704349 v 9.943370 156.464890 3.351595 0.907152 0.258523 0.678468 vt 0.628988 0.471809 vt 0.629376 0.310818 vt 0.550484 0.310810 vt 0.630448 0.165326 vt 0.550481 0.165023 vt 0.550645 0.047429 vt 0.631569 0.045246 vt 0.550485 0.471809 vt 0.428951 0.310804 vt 0.550483 0.165486 vt 0.429690 0.165434 vt 0.430640 0.044059 vt 0.551789 0.048565 vt 0.428909 0.471809 vt 0.330174 0.471809 vt 0.330161 0.311676 vt 0.429009 0.165383 vt 0.330183 0.165431 vt 0.429201 0.044625 vt 0.330259 0.041836 vt 0.222027 0.471809 vt 0.222043 0.310800 vt 0.222041 0.165484 vt 0.330078 0.165317 vt 0.222023 0.044682 vt 0.330012 0.042418 vt 0.111695 0.471809 vt 0.111615 0.310811 vt 0.111553 0.165619 vt 0.222161 0.165414 vt 0.111557 0.047376 vt 0.222306 0.044385 vt 0.026622 0.471809 vt 0.025960 0.310817 vt 0.025024 0.165333 vt 0.111079 0.165146 vt 0.024205 0.053528 vt 0.110622 0.050836 vt 0.026900 0.614817 vt 0.111812 0.613557 vt 0.027139 0.777549 vt 0.111766 0.776547 vt 0.027181 0.886968 vt 0.111548 0.886884 vt 0.221972 0.774580 vt 0.221920 0.886184 vt 0.330167 0.773932 vt 0.330167 0.885952 vt 0.429014 0.774553 vt 0.428921 0.886184 vt 0.550484 0.775006 vt 0.550482 0.886884 vt 0.628549 0.777498 vt 0.628705 0.614823 vt 0.550486 0.613599 vt 0.429036 0.613473 vt 0.330177 0.613256 vt 0.221983 0.613565 vt 0.627982 0.886968 vn -0.406598 0.352886 -0.842677 vn -0.416852 0.413068 -0.809656 vn -0.233833 0.481033 -0.844905 vn -0.362987 0.574206 -0.733818 vn -0.394452 0.594409 -0.700736 vn -0.321757 0.647542 -0.690725 vn -0.221198 0.655049 -0.722434 vn -0.067476 0.469924 -0.880093 vn 0.116276 0.550615 -0.826594 vn 0.034181 0.788049 -0.614643 vn 0.079257 0.794305 -0.602283 vn -0.035585 0.903073 -0.427961 vn -0.096957 0.912748 -0.396802 vn 0.123325 0.519944 -0.845210 vn 0.098148 0.506455 -0.856624 vn 0.056520 0.595782 -0.801111 vn 0.101840 0.780114 -0.617237 vn 0.072726 0.844081 -0.531205 vn 0.040712 0.896023 -0.442091 vn 0.013398 0.875851 -0.482315 vn -0.015625 0.470382 -0.882321 vn 0.000427 0.582476 -0.812830 vn 0.005371 0.770837 -0.636982 vn 0.010041 0.842311 -0.538865 vn 0.009186 0.902982 -0.429548 vn 0.003113 0.905698 -0.423841 vn 0.362163 0.443709 -0.819697 vn 0.447615 0.503098 -0.739219 vn 0.024384 0.767785 -0.640217 vn 0.028565 0.840999 -0.540239 vn 0.038270 0.896695 -0.440962 vn 0.034211 0.899777 -0.434950 vn 0.614246 0.358013 -0.703177 vn 0.558000 0.487869 -0.671255 vn 0.686666 0.407483 -0.601978 vn 0.675375 0.461837 -0.574908 vn 0.639912 0.537797 -0.548845 vn 0.509751 0.739708 -0.439253 vn 0.738456 0.229041 -0.634144 vn 0.439619 0.354289 -0.825343 vn 0.934538 0.253670 -0.249458 vn 0.593616 0.265328 -0.759728 vn 0.917936 0.368633 0.146519 vn 0.224006 -0.043947 -0.973571 vn -0.085696 -0.120212 -0.989013 vn -0.068667 -0.245949 -0.966826 vn 0.135380 -0.077029 -0.987762 vn 0.171331 -0.144475 -0.974548 vn 0.238868 -0.081729 -0.967589 vn 0.303720 -0.199530 -0.931608 vn -0.267617 -0.016907 -0.963347 vn -0.740745 0.144475 -0.656026 vn -0.951262 0.022797 -0.307505 vn -0.652852 0.026368 -0.757012 vn -0.167821 0.238533 -0.956511 vn 0.143834 0.264962 -0.953459 vn 0.117008 0.288949 -0.950133 vn -0.051759 0.277169 -0.959410 vn -0.997131 0.055452 -0.050874 g mesh9.002_mesh9-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3211/4872/3229 3212/4873/3230 3213/4874/3231 f 3212/4873/3230 3214/4875/3232 3213/4874/3231 f 3213/4874/3231 3214/4875/3232 3215/4876/3233 f 3214/4875/3232 3216/4877/3234 3215/4876/3233 f 3214/4875/3232 3217/4878/3235 3216/4877/3234 f 3211/4872/3229 3213/4874/3231 3218/4879/3236 f 3218/4879/3236 3213/4874/3231 3219/4880/3237 f 3213/4874/3231 3220/4881/3238 3219/4880/3237 f 3219/4880/3237 3220/4881/3238 3221/4882/3239 f 3220/4881/3238 3222/4883/3240 3221/4882/3239 f 3223/4884/3241 3222/4883/3240 3220/4881/3238 f 3218/4879/3236 3219/4880/3237 3224/4885/3242 f 3224/4885/3242 3219/4880/3237 3225/4886/3243 f 3225/4886/3243 3219/4880/3237 3226/4887/3244 f 3219/4880/3237 3227/4888/3245 3226/4887/3244 f 3227/4888/3245 3228/4889/3246 3226/4887/3244 f 3229/4890/3247 3228/4889/3246 3227/4888/3245 f 3229/4890/3247 3230/4891/3248 3228/4889/3246 f 3225/4886/3243 3226/4887/3244 3231/4892/3249 f 3231/4892/3249 3226/4887/3244 3232/4893/3250 f 3226/4887/3244 3233/4894/3251 3232/4893/3250 f 3226/4887/3244 3234/4895/3252 3233/4894/3251 f 3234/4895/3252 3235/4896/3253 3233/4894/3251 f 3236/4897/3254 3235/4896/3253 3234/4895/3252 f 3231/4892/3249 3232/4893/3250 3237/4898/3255 f 3237/4898/3255 3232/4893/3250 3238/4899/3256 f 3238/4899/3256 3232/4893/3250 3239/4900/3257 f 3232/4893/3250 3240/4901/3258 3239/4900/3257 f 3240/4901/3258 3241/4902/3259 3239/4900/3257 f 3240/4901/3258 3242/4903/3260 3241/4902/3259 f 3238/4899/3256 3243/4904/3261 3237/4898/3255 f 3243/4904/3261 3238/4899/3256 3244/4905/3262 f 3238/4899/3256 3245/4906/3263 3244/4905/3262 f 3245/4906/3263 3238/4899/3256 3246/4907/3264 f 3247/4908/3265 3245/4906/3263 3246/4907/3264 f 3246/4907/3264 3248/4909/3266 3247/4908/3265 f 3249/4910/3267 3237/4898/3255 3243/4904/3261 f 3237/4898/3255 3249/4910/3267 3250/4911/3268 f 3251/4912/3269 3250/4911/3268 3249/4910/3267 f 3251/4912/3269 3252/4913/3270 3250/4911/3268 f 3253/4914/3271 3252/4913/3270 3251/4912/3269 f 3253/4914/3271 3254/4915/3272 3252/4913/3270 f 3254/4915/3272 3255/4916/3273 3252/4913/3270 f 3254/4915/3272 3256/4917/3274 3255/4916/3273 f 3256/4917/3274 3257/4918/3275 3255/4916/3273 f 3258/4919/3276 3257/4918/3275 3256/4917/3274 f 3258/4919/3276 3259/4920/3277 3257/4918/3275 f 3260/4921/3278 3259/4920/3277 3258/4919/3276 f 3260/4921/3278 3261/4922/3279 3259/4920/3277 f 3262/4923/3280 3261/4922/3279 3260/4921/3278 f 3263/4924/3281 3261/4922/3279 3262/4923/3280 f 3263/4924/3281 3264/4925/3282 3261/4922/3279 f 3261/4922/3279 3264/4925/3282 3265/4926/3283 f 3264/4925/3282 3211/4872/3229 3265/4926/3283 f 3265/4926/3283 3211/4872/3229 3218/4879/3236 f 3265/4926/3283 3218/4879/3236 3266/4927/3284 f 3266/4927/3284 3218/4879/3236 3224/4885/3242 f 3266/4927/3284 3224/4885/3242 3267/4928/3285 f 3267/4928/3285 3224/4885/3242 3225/4886/3243 f 3267/4928/3285 3225/4886/3243 3268/4929/3286 f 3268/4929/3286 3225/4886/3243 3231/4892/3249 f 3250/4911/3268 3268/4929/3286 3231/4892/3249 f 3252/4913/3270 3268/4929/3286 3250/4911/3268 f 3252/4913/3270 3255/4916/3273 3268/4929/3286 f 3255/4916/3273 3267/4928/3285 3268/4929/3286 f 3255/4916/3273 3257/4918/3275 3267/4928/3285 f 3257/4918/3275 3266/4927/3284 3267/4928/3285 f 3259/4920/3277 3266/4927/3284 3257/4918/3275 f 3259/4920/3277 3265/4926/3283 3266/4927/3284 f 3261/4922/3279 3265/4926/3283 3259/4920/3277 f 3250/4911/3268 3231/4892/3249 3237/4898/3255 f 3269/4930/3287 3263/4924/3281 3262/4923/3280 o mesh10.002_mesh10-geometry v 10.481647 158.417465 5.890192 0.087468 0.605793 0.166935 v 10.001469 158.534271 8.498263 0.431098 0.566372 0.731428 v 9.834290 156.493515 8.585245 0.742975 0.637143 0.083312 v 9.441824 162.711884 7.809521 0.579565 0.314589 0.440999 v 10.647091 156.499130 5.901974 0.871632 0.503921 0.559298 vt 0.362241 2.768412 vt 0.245931 2.772480 vt 0.255329 2.709453 vt 0.299178 2.824075 vt 0.346708 2.708301 vn 0.974670 0.057039 0.216193 vn 0.982879 0.043336 0.178991 vn 0.971374 0.005768 0.237465 vn 0.972259 0.158574 0.171880 vn 0.953612 0.084017 0.289041 g mesh10.002_mesh10-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 3270/4931/3288 3271/4932/3289 3272/4933/3290 f 3270/4931/3288 3273/4934/3291 3271/4932/3289 f 3270/4931/3288 3272/4933/3290 3274/4935/3292 ================================================ FILE: examples/models/female02/readme.txt ================================================ Model by Reallusion iClone from Google 3d Warehouse: http://sketchup.google.com/3dwarehouse/details?mid=2c6fd128fca34052adc5f5b98d513da1 ================================================ FILE: examples/models/male02/Male02_bin.js ================================================ { "metadata" : { "formatVersion" : 3.1, "sourceFile" : "male02.obj", "generatedBy" : "OBJConverter", "vertices" : 2746, "faces" : 5004, "normals" : 2769, "uvs" : 3275, "materials" : 5 }, "materials": [ { "DbgColor" : 15658734, "DbgIndex" : 0, "DbgName" : "male-02-1noCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15597568, "DbgIndex" : 1, "DbgName" : "orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 60928, "DbgIndex" : 2, "DbgName" : "FrontColorNoCullingID_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 238, "DbgIndex" : 3, "DbgName" : "_01_-_Default1noCulli__01_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15658496, "DbgIndex" : 4, "DbgName" : "FrontColorNoCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }], "buffers": "Male02_bin.bin" } ================================================ FILE: examples/models/male02/Male02_dds.js ================================================ { "metadata" : { "formatVersion" : 3.1, "sourceFile" : "male02.obj", "generatedBy" : "OBJConverter", "vertices" : 2746, "faces" : 5004, "normals" : 2769, "colors" : 0, "uvs" : 3275, "materials" : 5 }, "scale" : 100.000000, "materials": [ { "DbgColor" : 15658734, "DbgIndex" : 0, "DbgName" : "male-02-1noCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.dds", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15597568, "DbgIndex" : 1, "DbgName" : "orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.dds", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 60928, "DbgIndex" : 2, "DbgName" : "FrontColorNoCullingID_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.dds", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 238, "DbgIndex" : 3, "DbgName" : "_01_-_Default1noCulli__01_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.dds", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15658496, "DbgIndex" : 4, "DbgName" : "FrontColorNoCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.dds", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }], "vertices": [464,15985,579,166,15790,583,160,15767,622,436,15989,532,660,16185,304,346,16107,578,564,16375,504,690,16282,-18,723,16468,173,558,16341,-309,578,16366,-309,326,16350,-459,339,16384,-494,682,16062,-444,707,16308,-10,694,16199,305,652,15719,623,403,15306,1015,-73,15603,661,-48,15646,591,-39,15796,561,-210,15786,446,-122,15926,496,-224,15997,334,-388,15981,232,-376,16113,96,-388,16097,236,-339,16037,397,-308,16009,497,-227,15980,575,67,15995,528,-131,16006,635,-26,16032,641,142,16089,651,17,16114,849,313,16209,682,158,16226,872,423,16339,701,541,16555,670,594,16609,569,769,16687,257,773,16731,16,900,17155,-257,967,17093,154,919,17536,-238,682,17186,-566,663,17590,-533,313,17545,-711,329,17163,-703,366,16780,-512,554,16779,-409,699,16775,-252,660,16522,-187,530,16535,-384,307,16528,-462,53,16336,-493,37,16361,-506,-233,16274,-355,-253,16298,-359,50,16056,-674,390,16052,-625,718,16097,-498,411,16088,-684,887,15729,-660,1190,15788,-267,897,16076,-186,848,16049,-168,783,15987,195,813,16010,229,1061,15584,807,1144,15836,310,1163,15775,319,1682,15576,457,1835,15502,-43,1196,15725,-305,1555,15210,-546,1775,15185,-439,2215,15322,91,2025,15047,-279,2500,15128,230,2132,15370,565,1495,15461,889,1035,15169,1200,989,14613,1495,328,14576,1438,-275,14609,1243,-150,15277,880,-661,15295,627,-230,15763,480,-607,15707,165,-440,15976,249,-443,16188,-108,-437,15975,-248,-482,15997,-242,-254,16038,-569,-280,16064,-615,56,16091,-739,-452,15776,-858,37,15721,-969,474,15725,-848,896,15688,-674,974,15240,-812,1636,14559,-596,1800,14565,-497,1902,14549,-392,1981,14504,-227,2211,14891,-81,2566,14802,220,2590,14853,631,2508,15147,649,1951,15289,943,1264,15143,1230,1201,14640,1456,1146,14107,1524,958,14029,1655,295,13993,1644,-342,14007,1442,-863,14565,1005,-1319,14629,582,-1246,15134,402,-1033,15557,62,-791,15809,-379,-810,15748,-383,-432,15713,-891,-1000,15586,-945,-569,15181,-1273,39,15680,-985,482,15671,-870,526,15236,-978,1082,14524,-849,1605,14032,-443,1746,14073,-284,1823,14202,-137,1951,14213,-3,1999,14661,-127,2286,14756,-64,2577,14566,214,2635,14570,612,2419,14525,935,2336,14840,972,2244,15088,985,1875,14945,1170,1661,15088,1229,1434,14667,1377,1345,14142,1409,1334,14011,1431,1153,13952,1554,956,13917,1662,289,13867,1664,-353,13864,1475,-960,13981,1187,-1475,14005,772,-930,13981,1105,-1561,14042,553,-1559,13925,569,-1642,13957,357,-1624,13532,466,-1700,13559,274,-1680,12759,541,-1569,13590,-329,-1605,12756,4,-1281,13567,-887,-1331,12753,-542,-1146,12753,-668,-1085,13550,-957,-1062,13974,-1136,-854,13946,-1179,-852,14054,-1214,-642,14016,-1247,-628,14555,-1362,8,14516,-1230,62,15232,-1138,557,14521,-1045,1043,13988,-786,1604,13941,-401,1730,13967,-248,1859,13994,-91,1986,14016,56,1817,14093,656,1998,14288,61,1955,14424,-200,1590,14310,-82,2043,14156,-229,2382,14261,-137,2334,14514,-101,2626,14324,180,2638,14496,603,2446,14239,895,2104,14127,1041,2064,14402,1086,1997,14704,1145,1697,14517,1070,1578,14636,1299,1563,14154,1312,1540,14030,1330,1489,13589,1369,1316,13560,1469,1144,13530,1568,980,13501,1663,341,13434,1715,-319,13417,1593,-946,13425,1316,-967,13855,1207,-1476,13894,783,-1547,13505,659,-1586,12761,705,-1599,11836,783,-1615,11834,249,-1429,11831,-318,-1263,11829,-480,-1096,11828,-642,-960,12754,-795,-929,11826,-804,-775,12754,-922,-123,12759,-881,-259,11823,-843,366,12762,-811,239,11821,-824,719,11819,-692,825,12767,-626,1347,11817,-454,1425,12774,-312,1518,12776,-108,1650,13558,-153,1554,13539,-305,975,13497,-710,431,13492,-882,-45,13487,-1050,-669,13518,-1110,21,13885,-1136,530,13885,-952,536,13972,-972,1037,13895,-767,1772,13578,52,1879,13596,227,1833,13998,698,1648,14290,994,1515,14384,427,1393,14227,287,1379,14218,721,1517,13954,279,1500,13939,676,1676,13520,261,1664,13495,628,1869,12866,211,1880,12847,580,2061,12427,-2,2031,12396,489,2136,12067,42,2355,12220,-314,2416,12022,-317,2455,11810,-279,2793,11758,-317,2754,12020,-386,2682,12264,-413,3043,12067,-235,2979,12319,-283,3172,12145,78,3133,12363,25,2893,12554,-293,3068,12600,5,2688,13088,-251,2376,13020,-336,2587,12492,-401,2268,12438,-276,2070,12937,-184,1849,13584,-115,1699,14031,-98,2195,13676,-283,2529,13750,-191,2744,13781,129,2732,13754,550,2559,13693,873,2222,13603,1043,1888,13529,951,1754,14026,976,1667,14299,994,2077,12876,871,2221,12433,784,2034,12201,265,2139,12295,587,2065,11783,404,2171,11674,68,2465,11578,-194,2798,11551,-230,3070,11589,-62,3074,11800,-154,3176,11679,244,3191,11921,147,3097,12243,462,3024,12603,418,2885,13118,39,2876,13089,487,2695,13027,804,2388,12945,956,2531,12499,879,2420,12335,761,2171,11872,711,2089,11315,574,2208,11200,221,2252,10614,451,2510,10532,226,2487,11111,-22,2823,10503,181,2810,11085,-52,3075,11123,111,3181,11209,406,3067,11321,752,3050,11798,611,2776,11883,844,2768,12305,719,2443,11910,879,2195,11400,870,2147,10718,771,2264,10113,630,2524,10028,396,2548,9563,516,2847,9478,500,2831,9996,342,3069,10030,489,3071,10537,334,3146,10116,781,3158,10623,626,3053,10727,946,2795,10809,1172,2783,11413,1004,2482,10839,1217,2460,11438,1034,2235,10804,1064,2151,10218,955,2274,9702,716,2600,9682,628,2400,9783,775,2576,9499,667,2809,9429,644,2817,9619,614,2968,9619,739,2968,9429,775,2990,9499,1008,2996,9682,955,3058,9478,673,3099,9564,970,2956,9703,1277,3033,10221,1106,2774,10306,1339,2466,10338,1393,2229,10305,1246,2130,9841,1023,2294,9885,999,2357,9612,834,2601,9625,1027,2235,9725,1081,2258,9795,1314,2416,9795,1444,2649,9725,1422,2691,9885,1326,2473,9948,1340,2322,9948,1215,2382,9927,1494,2682,9841,1477,2172,9926,1320,2890,9784,1179,2869,9612,1255,2844,12570,737,1752,13622,846,1446,12787,1408,1281,12787,1500,1116,12787,1593,950,12786,1685,310,12783,1761,-304,12778,1691,-871,12772,1444,-1468,13478,858,-1397,12765,1034,-836,12771,1312,-1492,12763,869,-1498,11837,925,-1480,11360,1049,-1598,11362,911,-1674,11363,377,-1499,11359,-222,-1351,11355,-387,-1410,11093,-334,-1273,11088,-512,-1524,10441,-334,-1391,10414,-501,-1136,11084,-690,-1254,10388,-670,-420,11061,-789,-355,11336,-790,152,11326,-803,650,11317,-702,1326,11305,-509,1457,11818,-249,1612,12778,95,1706,12780,299,1659,12785,910,1508,11824,1262,1369,11825,1366,1230,11826,1471,1091,11827,1575,427,11831,1766,-161,11834,1779,-720,11836,1590,-1295,11837,1208,-696,11835,1434,-1396,11837,1066,-1361,11358,1188,-1468,11095,1129,-1597,11099,995,-1711,11103,462,-1547,11097,-155,-1659,10469,-168,-1691,10137,-180,-1562,10086,-343,-1702,9762,-250,-1547,9664,-403,-1436,10036,-509,-1396,9565,-556,-1305,9989,-678,-1243,9468,-711,-1423,9137,-632,-1273,9057,-754,-544,9278,-872,-571,9814,-880,-22,9789,-916,1,10254,-886,525,9763,-880,547,10228,-850,91,11044,-824,598,11028,-744,1303,11005,-584,1444,11303,-320,1568,11818,-44,1678,11819,160,1684,11821,757,1579,11303,1189,1438,11306,1305,1298,11308,1420,1157,11311,1536,518,11324,1759,-75,11335,1808,-653,11346,1656,-1243,11356,1326,-1339,11091,1264,-1524,10447,1200,-1673,10474,1060,-1794,10490,476,-1827,10189,413,-1907,9852,275,-2055,9345,182,-1756,9302,-401,-2189,8795,148,-1887,8757,-440,-2102,7840,-494,-2403,7877,95,-2413,7851,674,-2197,8769,730,-2286,7815,860,-2059,8728,922,-2160,7778,1046,-1930,8693,1106,-2034,7742,1231,-1797,8657,1291,-1129,8520,1695,-1311,7593,1652,241,8353,1782,329,7423,1734,1176,7450,1562,992,8375,1641,208,8710,1804,-1053,8902,1715,-1679,9110,1322,-1808,9177,1139,-1472,9533,1391,-961,9275,1739,-46,9268,1803,829,9136,1716,917,8756,1676,1695,8522,1289,1955,7614,1189,1844,8570,1118,1569,8972,1338,1714,9050,1170,1989,8618,949,1871,9139,994,2145,8673,773,2003,9220,829,2045,9283,252,1877,9764,348,1679,9653,-225,1676,9988,-173,1543,9945,-340,1536,10302,-331,1399,10287,-499,1424,11002,-394,1561,11301,-132,1678,11299,56,1746,11299,676,1616,10996,1135,1475,11000,1258,1335,11005,1381,1195,11009,1503,572,11030,1748,-23,11049,1822,-611,11068,1696,-1210,11087,1399,-1372,10417,1343,-1578,10097,1176,-1720,10147,1032,-1878,9820,870,-2066,9320,762,-1949,9252,944,-1618,9629,1216,-1268,9990,1478,-626,9817,1746,-22,9789,1814,580,9760,1746,1229,9871,1481,1215,10273,1489,611,10225,1750,-2,10254,1817,-616,10281,1749,-1215,10387,1486,-1424,10042,1329,-1759,9729,1035,1370,10288,1350,1387,9910,1336,1524,9498,1251,1368,9400,1413,1675,9604,1087,1541,9955,1190,1523,10307,1210,1675,10323,1070,1690,9995,1048,1807,9700,934,1802,10055,450,1672,10318,-163,1545,10998,-205,1666,10994,-15,1775,10991,614,1798,10336,493,1259,10274,-669,1272,9870,-678,1410,9906,-508,1524,9565,-387,1796,9270,-359,2190,8738,195,2381,7764,678,2239,7714,849,2097,7664,1019,2424,7827,104,2179,7826,-512,1943,8734,-420,2001,7797,-658,1754,8691,-554,1824,7769,-803,1574,8659,-696,1646,7740,-949,1392,8624,-837,560,8479,-957,713,7554,-1030,-80,8504,-971,-64,8866,-960,506,8863,-925,-45,9268,-936,496,9236,-894,1216,9387,-712,1370,9474,-549,1623,9181,-493,1450,9095,-630,1277,9005,-765,-578,8904,-899,-588,8508,-897,-717,7572,-926,-123,7559,-983,-1529,7734,-873,-1329,8642,-806,-1512,8678,-681,-1720,7769,-747,-1911,7805,-620,-1698,8714,-556,-1586,9217,-514,-542,10278,-852,-436,11314,1545,-916,11335,1368,-451,10981,1552,-964,11004,1373,-1263,11351,1068,-1311,11020,1073,-1401,11357,507,-1449,11027,507,-1263,11351,-49,-1311,11020,-87,-1606,10410,420,-1421,10403,-151,-1653,10137,384,-1480,10072,-163,-1711,9856,308,-1518,9727,-215,-1770,9679,201,-1587,9469,-334,-1858,9319,173,-1627,9171,-352,-1994,8751,145,-1687,8708,-375,-2190,7847,105,-1854,7804,-504,-2331,6931,51,-2009,6891,-563,-2433,6185,-26,-2130,6150,-647,-2481,5798,-97,-2183,5763,-707,-2531,5435,-167,-2226,5398,-771,-2568,5023,-272,-2264,5062,-837,-2705,4188,-409,-2425,4154,-972,-2779,3259,-487,-2515,3228,-1022,-2913,2546,-554,-2600,2679,-1083,-3070,1969,-615,-2770,2053,-1123,-3090,1373,-705,-2813,1236,-1223,-3194,802,-799,-2754,587,-1378,-3204,678,-795,-2746,478,-1380,-2524,1122,-641,-3391,768,-143,-3183,830,394,-2878,828,576,-2468,762,448,-2865,929,559,-3171,931,376,-3381,887,-152,-3209,1479,-106,-2966,1546,326,-2650,1403,462,-2459,881,437,-2020,670,-88,-2014,794,-94,-2329,1264,281,-1998,1145,-226,-2098,1495,292,-1849,1445,-257,-2039,2054,282,-1766,2026,-243,-1766,1514,-764,-1717,2038,-843,-1482,2962,-139,-1458,2985,-739,-1911,2169,-1168,-1731,3062,-1098,-2203,2299,-1247,-1939,1683,-1155,-1961,1124,-1160,-2344,1171,-1323,-2189,494,-1400,-1797,492,-1166,-1858,1061,-829,-1686,580,-739,-1690,471,-750,-1816,369,-1157,-2199,371,-1385,-2139,3155,-1207,-1596,3978,-1030,-1262,3888,-660,-1126,4801,-532,-1449,4888,-881,-1990,4068,-1136,-1860,4982,-991,-1366,5214,-811,-1071,5133,-462,-1017,5496,-394,-1273,5569,-743,-1801,5313,-927,-1727,5672,-865,-1209,5952,-682,-948,5879,-331,-787,6611,-235,-1085,6694,-606,-1669,6058,-805,-1563,6803,-734,-908,7603,-572,-571,7517,-169,-352,8477,-120,-678,8514,-480,-1398,7715,-702,-1233,8605,-577,-627,8753,-524,-305,8662,-110,-278,8781,-105,-598,8907,-552,-67,8791,-131,-71,8706,375,161,8760,-128,49,8636,401,190,8638,-144,100,8528,418,247,8448,-172,184,8368,438,604,7469,-339,593,7385,345,865,6569,-456,830,6496,233,1046,5847,-583,1018,5775,106,1129,5470,-665,1128,5233,-1,1196,5113,-751,1147,4926,-80,1263,4787,-837,1255,4649,-210,1426,3886,-1011,1405,3822,-385,1643,2992,-1130,1613,2929,-533,1927,2057,-1270,1921,2005,-671,2012,1511,-1293,2015,1427,-715,2156,1132,-717,2112,1069,-1342,1977,567,-1315,2180,486,-1709,2200,363,-1696,2623,378,-1836,2613,501,-1852,3153,499,-1712,3158,608,-1707,3468,705,-1041,3455,828,-1046,3121,1272,-1574,2670,1205,-1750,2265,1146,-1651,2220,1710,-1618,2148,2210,-1567,1946,3095,-1456,1790,4003,-1342,2361,3200,-1521,2191,4105,-1405,2718,3264,-1298,2607,4184,-1196,2930,3263,-740,2834,4184,-609,2420,5079,-1018,2033,5005,-1214,1615,4900,-1149,1520,5219,-1065,1962,5331,-1134,2370,5410,-935,2671,5007,-431,2617,5410,-304,2315,5770,-851,1877,5684,-1056,1416,5568,-984,1340,5946,-904,1196,6679,-792,1807,6064,-977,1682,6802,-868,2250,6150,-772,2109,6883,-651,2494,6148,-124,2372,6886,-7,1934,7788,-548,1500,7707,-792,987,7581,-710,623,8469,-530,1253,8566,-613,1737,8678,-376,2212,7795,92,1997,8692,172,1671,9140,-329,1157,8816,-605,558,8707,-559,530,8862,-582,1099,8970,-597,1625,9435,-296,1850,9255,223,1751,9608,264,1498,9633,-194,1028,9318,-699,509,9159,-751,-55,9056,-488,-556,9202,-725,-43,9315,-754,497,9698,-760,1022,9770,-651,1467,9948,-150,1010,10220,-579,495,10176,-716,-22,9781,-760,-549,9747,-760,-1050,9384,-689,-1126,9033,-580,-1160,8866,-579,-1065,9867,-651,-491,10221,-720,0,10199,-718,30,10959,-478,417,10942,-478,45,11292,-427,432,11274,-427,929,10919,-489,912,11252,-427,1373,10898,-87,1354,11232,-49,1511,10892,507,1492,11226,507,1373,10898,1073,1354,11232,1068,1025,10914,1373,1007,11248,1368,512,10937,1552,528,11270,1545,30,10959,1552,45,11292,1545,-128,11833,1562,451,11831,1610,346,12782,1629,372,13434,1624,324,13993,1562,357,14576,1356,-256,14608,1189,-833,14564,923,-316,14007,1371,-282,13416,1480,-915,13425,1229,-257,12777,1518,-5,10199,1534,-499,10221,1533,-1065,10326,1393,-1471,10397,1009,-1517,10115,991,-1625,9843,902,-1711,9632,815,-1834,9285,764,-1979,8719,734,-2164,7815,660,-2306,6902,554,-2423,6160,453,-2468,5880,436,-2508,5670,425,-2597,5153,400,-2609,4796,219,-2725,4165,157,-2810,3238,87,-2915,2673,13,-3081,2068,-25,-2660,2319,396,-2624,1805,488,-2357,2186,477,-2168,3077,544,-2576,3171,435,-2434,4084,533,-2040,3994,639,-1753,2996,370,-1563,3899,469,-1299,3866,-32,-1175,4705,101,-1083,4991,221,-1074,5303,281,-981,5853,362,-813,6584,458,-597,7482,533,-254,8417,503,-188,8558,455,-172,8655,426,-68,8780,956,-359,8765,985,-55,9056,1394,-936,9116,1411,-32,9571,1489,-692,9616,1502,-1263,9745,1330,-1444,9466,1209,-1544,9142,1184,-1671,8634,1157,-1875,7732,1090,-2023,6819,996,-2119,6074,885,-2191,5635,818,-2240,5342,764,-2336,4925,736,-2365,4647,603,-1953,4553,714,-1470,4535,524,-1441,4889,710,-1371,5267,732,-1301,5602,751,-1242,5890,770,-1084,6622,882,-876,7526,999,-694,8436,1064,-517,8626,1029,-985,8881,1379,-1097,8517,1328,-1345,7613,1230,-1545,6710,1124,-1659,5969,1008,-1731,5574,953,-1807,5141,881,-1901,4826,852,-1119,10044,1378,-542,9941,1513,-17,9902,1513,505,9892,1514,608,9530,1494,823,8980,1370,222,8725,956,416,8536,959,873,8749,1331,619,8310,953,811,7406,845,1045,6509,684,1240,5788,537,1306,5502,505,1383,5170,471,1461,4795,432,1513,4455,226,1621,3825,139,1835,2933,0,2143,2001,-121,2211,1444,-142,2403,1238,-155,2152,782,-614,1986,458,-1325,2160,659,-607,2744,1133,-1047,2478,756,14,2849,832,228,2837,933,209,2468,875,2,2692,1375,80,2654,1774,118,2441,2124,110,2230,3007,217,2079,3914,358,1977,4466,461,1907,4728,611,1806,5039,652,1715,5466,744,1633,5855,818,1496,6586,970,1265,7480,1120,992,8383,1264,1447,9010,1190,1343,9333,1225,1179,9624,1344,1079,9938,1384,1052,10226,1402,486,10177,1536,1466,10265,1018,1487,9981,1001,1560,9720,939,1629,10004,403,1604,10273,433,1434,10282,-133,1675,9743,345,1641,9521,864,1773,9182,807,1928,8621,753,1581,8507,1143,1810,7611,1033,1981,6709,894,2099,5973,745,2185,5541,656,2243,5252,589,2349,4840,542,2395,4572,396,2480,4015,295,2645,3112,152,2747,2265,66,3025,1526,1,3175,945,96,3186,844,116,3507,793,-363,3496,911,-374,3335,1479,-393,3209,2047,-330,3254,1988,-923,3083,2557,-840,2818,2721,-1386,3001,2102,-1450,3312,1394,-1010,2444,2349,-1610,3030,2647,-267,2909,3204,-167,2803,4124,-45,2670,4747,46,2635,5092,248,2555,5768,-215,2536,5605,298,2491,5813,319,2440,6091,350,2302,6823,487,2136,7726,639,-355,10977,-478,-1002,10311,-585,-868,11000,-489,-340,11309,-427,-820,11331,-427,-1054,11349,-717,-1203,11352,-552,28,13978,-1156,-647,13919,-1221,-890,13534,-1027,-792,15129,-1314,-865,14558,-1409,-1062,14093,-1181,-1115,14208,-1132,-1516,13976,-532,-1724,13989,145,-1646,14078,335,-1513,14618,461,-1443,15053,262,-1289,15422,-38,-1181,15588,-454,-1571,15440,-958,-1248,15087,-1316,-1045,14618,-1433,-1144,14316,-1181,-1463,14077,-576,-1732,14114,117,-1607,14560,265,-1592,14977,159,-1599,15277,-149,-1845,15020,-266,-1693,14819,27,-1610,14500,-139,-1879,14675,-340,-1869,15221,-570,-1961,14830,-714,-1900,14432,-462,-2046,14465,-792,-1856,14056,-603,-2042,14234,-888,-1927,13556,-844,-2088,13712,-1122,-2006,12957,-1163,-1712,12851,-1042,-1823,12487,-1329,-2122,12530,-1388,-2174,13108,-1430,-2292,12680,-1694,-2179,12570,-1653,-2375,12410,-1839,-2290,12803,-2061,-2342,12571,-2150,-2391,12332,-2168,-2428,12091,-2075,-2199,12260,-2394,-2243,11919,-2264,-1888,12214,-2471,-1835,12564,-2469,-1533,12494,-2360,-1483,12753,-2276,-1295,12618,-1960,-1188,13068,-1698,-1372,13253,-2031,-1783,12838,-2394,-2144,12593,-2389,-2091,12857,-2311,-1971,13371,-2069,-2170,13286,-1814,-2090,13883,-1490,-2005,14395,-1276,-1992,14624,-1185,-1910,14915,-1103,-1818,15270,-977,-1602,15441,-540,-1527,15026,-1351,-1172,14601,-1478,-1228,14559,-1480,-1145,14496,-1226,-1179,14341,-797,-1447,14326,-189,-1539,14409,-49,-1550,14508,103,-1162,14127,-362,-844,14155,-646,-911,13907,-828,-1175,13863,-534,-1528,14163,-313,-1524,13914,-469,-1603,13437,-705,-1407,12839,-1125,-1515,12467,-1411,-1547,12555,-1633,-1860,12618,-1560,-1879,12487,-1284,-2193,12396,-1362,-2401,12165,-1562,-2432,11860,-1827,-2254,11644,-2014,-1933,11857,-2337,-1577,12211,-2369,-1370,12261,-2088,-1317,12497,-1607,-1208,12924,-1380,-1052,13520,-1083,-1055,13670,-1403,-1214,13847,-1728,-1666,13358,-2152,-1547,13966,-1866,-1076,14275,-1516,-911,14069,-1205,-838,14318,-1065,-977,14530,-1311,-1412,14423,-1631,-1874,13980,-1777,-1751,14469,-1538,-1660,14751,-1479,-1633,14861,-1429,-1330,14675,-1435,-1277,13424,-793,-1360,12405,-1845,-1395,12195,-1540,-1574,12410,-1352,-1621,12086,-977,-1919,12161,-910,-2225,12076,-983,-2437,11828,-1197,-2463,11541,-1446,-2287,11335,-1626,-1949,11567,-2082,-1989,11260,-1692,-1634,11658,-2004,-1684,11345,-1619,-1415,11916,-1781,-1474,11585,-1412,-1445,11879,-1156,-1532,11463,-690,-1690,11671,-510,-1967,11741,-448,-2259,11647,-528,-2454,11424,-721,-2477,11159,-951,-2319,10951,-1132,-2041,10881,-1194,-1750,10975,-1113,-1555,11197,-921,-1595,10860,-511,-1566,11131,-276,-1713,11340,-94,-1980,11407,-35,-2265,11307,-121,-2458,11078,-319,-2487,10807,-553,-2340,10598,-735,-2073,10531,-795,-1789,10631,-709,-1761,10281,-164,-1598,10603,-99,-1596,10953,6,-1755,11199,113,-2016,11246,179,-2278,11077,180,-2441,10756,114,-2443,10405,8,-2284,10159,-98,-2023,10112,-164,-2238,10325,-150,-2352,10505,-73,-2349,10761,4,-2345,10714,187,-2352,10428,101,-2235,10230,18,-2051,10291,-198,-2040,10195,-31,-2012,10657,88,-2217,10977,241,-2231,10997,52,-2017,11118,244,-2042,11122,53,-1821,11082,195,-1855,11088,5,-1705,10884,111,-1712,10599,26,-1840,10336,-28,-1862,10416,-197,-1743,10651,-149,-1741,10908,-72,-1617,11928,-2265,-417,16175,-87,-343,16389,-204,-58,16479,-437,86,16741,-519,-147,16701,-458,-408,16624,-213,-495,16570,-138,-500,16353,-19,-458,16221,80,-549,16123,406,-548,16023,595,-534,15953,751,-439,15943,846,-323,15950,915,-167,16018,892,-116,16129,960,-286,16052,989,-235,16208,1032,-328,16153,1023,-282,16298,1047,-375,16258,1023,-380,16333,1078,-454,16318,1062,-460,16377,1046,-553,16366,1000,-459,16375,997,-530,16362,970,-549,16371,996,-489,16387,1043,-370,16361,1033,-407,16373,1076,-337,16367,1066,-328,16390,1085,-390,16411,1093,-513,16432,1078,-586,16401,1043,-597,16455,1059,-637,16434,981,-610,16389,949,-573,16377,909,-629,16365,831,-661,16377,877,-682,16415,865,-689,16395,803,-670,16372,807,-696,16365,731,-681,16362,753,-666,16303,747,-664,16214,698,-634,16158,785,-612,16057,734,-624,16137,563,-603,16237,277,-589,16547,-57,-582,16562,-153,-615,16783,-108,-738,16743,159,-647,16430,194,-739,16409,438,-678,16263,450,-718,16339,616,-712,16366,693,-726,16443,742,-671,16500,865,-616,16528,986,-642,16477,991,-572,16510,1027,-521,16526,1060,-588,16564,1049,-626,16585,983,-660,16616,885,-670,16673,875,-678,16621,952,-668,16610,973,-653,16617,1033,-644,16589,1080,-627,16585,1099,-604,16588,1111,-515,16583,1070,-556,16616,1109,-605,16623,1186,-495,16607,1109,-471,16618,1114,-576,16649,1185,-649,16666,1207,-636,16614,1166,-697,16661,1191,-689,16725,1181,-725,16667,1148,-690,16615,1124,-668,16605,1153,-715,16625,1100,-722,16652,1072,-687,16696,942,-650,16754,974,-721,16709,1054,-725,16723,1125,-652,16784,1135,-678,16774,1082,-637,16872,1036,-641,16801,934,-649,16767,875,-757,16745,641,-779,16574,621,-751,16422,616,-792,16609,433,-768,16924,248,-806,16776,439,-784,16904,513,-726,16860,670,-622,16913,766,-580,16977,874,-595,16962,984,-568,16975,1032,-609,16886,1082,-558,16871,1098,-594,16773,1148,-625,16721,1203,-559,16707,1181,-457,16692,1121,-398,16669,1087,-411,16612,1079,-391,16496,1084,-520,16475,1086,-259,16436,1106,-257,16359,1073,-283,16356,1064,-294,16357,1057,-297,16364,1041,-310,16360,1045,-385,16363,1050,-304,16349,1062,-216,16358,1080,-141,16330,1066,8,16252,986,37,16397,1045,-132,16413,1099,-126,16564,1130,-148,16736,1116,-401,16763,1068,-459,16798,1076,-497,16752,1093,-516,16961,1045,-554,17042,1014,-594,17039,967,-607,17035,888,-587,17040,831,-587,16987,790,-629,16989,737,-740,16916,682,-745,16960,668,-737,16967,657,-606,16997,721,-741,17053,663,-793,16993,533,-801,16976,527,-806,16953,524,-800,16986,394,-742,17129,104,-658,17132,-38,-613,17039,-139,-565,16811,-286,-576,16629,-259,-569,16751,-375,-481,16762,-381,-490,16630,-250,-460,16977,-316,-545,17161,-289,-557,17111,-204,-614,17114,-240,-613,17148,-356,-543,17154,-341,-587,17084,-473,-518,17084,-462,-568,16901,-493,-495,16898,-474,-728,17527,239,-850,17207,434,-847,17124,456,-811,17056,368,-812,17048,448,-810,17033,499,-799,17061,574,-756,17063,682,-675,17056,738,-658,17076,745,-744,17097,668,-798,17099,572,-819,17167,621,-741,17156,735,-644,17093,799,-590,16988,767,-662,17117,880,-636,17144,983,-578,17148,1047,-498,17037,1042,-418,17032,1035,-412,16974,1005,-299,16908,1018,-182,16852,1095,-14,16892,1114,-19,16941,1138,-188,16908,1113,-23,16964,1134,-173,16951,1115,-164,16958,1104,-30,16982,1129,-168,17044,1111,-258,16991,993,-268,16983,1019,-306,16984,989,-256,17050,1065,-330,16983,991,-266,17070,1050,-182,17054,1130,-67,17050,1146,-171,17089,1116,-322,17088,1051,-235,17148,1130,-395,17113,1088,-276,17197,1159,-494,17225,1079,-501,17142,1088,-568,17233,1035,-627,17227,975,-758,17204,782,-833,17244,643,-796,17370,585,-746,17566,518,-606,17338,942,-541,17339,1004,-503,17538,959,-578,17545,884,-541,17791,733,-407,17790,840,-412,17542,1014,-466,17336,1052,-73,17359,1150,-15,17555,1088,-270,17787,945,-104,18038,724,-241,18058,634,209,18159,58,-363,18041,523,-39,18108,-96,235,17921,-502,-158,17815,-496,524,17968,-349,742,17914,-106,418,18101,261,184,17983,737,34,17792,959,248,17512,1002,83,17193,1163,-122,17234,1198,-105,17157,1178,-65,17088,1145,7,17021,1137,57,17035,1127,60,17111,1164,375,17112,977,135,17042,1107,106,16972,1101,238,16909,1034,59,16763,1115,59,16596,1098,252,16416,896,484,16531,781,314,16728,981,494,17115,861,630,17093,722,387,17710,838,494,17829,677,744,17610,497,864,17395,409,1025,17507,112,829,17801,275,557,17962,479,899,17142,345,713,16959,599,711,17142,690,777,16743,601,760,17134,676,792,17126,740,898,17062,685,871,17063,621,909,16879,660,792,16730,688,706,16792,706,679,17094,769,580,17021,791,545,16765,797,576,16545,751,649,16612,639,679,16610,721,873,16877,594,-53,17523,-729,-87,17109,-669,-255,17160,-556,-304,17413,-503,-356,17626,-361,-466,17844,-72,-599,17725,68,-629,17802,441,-446,17993,245,-287,17975,-179,-368,17037,1002,-608,16007,843,-515,15997,944,-394,16004,1010,-430,16113,1031,-533,16118,970,-617,16116,884,-591,16214,883,-522,16229,958,-433,16212,1006,-451,16249,1029,-542,16248,984,-563,16311,1012,-638,16321,918,-608,16251,906,-620,16262,832,-671,16337,851,-620,16380,921,-643,16367,849,-656,16365,776,-655,16369,762,-672,16363,763,-673,16355,773,3564,421,1379,3084,333,1415,3093,46,1411,3364,537,774,3858,417,610,3209,688,312,3764,531,128,3778,83,122,3590,358,-283,3435,717,-231,3265,765,-700,3148,1240,-682,2911,1239,-1186,2568,1190,-1102,2398,1189,-1459,2688,1227,-1455,2954,762,-1235,3337,295,-766,3598,83,-286,3228,64,305,3868,80,606,2814,43,956,2614,42,509,2600,490,514,2804,381,960,3575,61,1375,3921,362,1120,3929,76,1116,3060,835,-40,2805,1184,-492,2376,1128,-494,2210,1138,-1015,2210,1159,-1361,2340,746,-1508,2663,756,-1528,3019,336,-1257,3027,77,-1260,2691,71,-1587,2571,61,-1109,2856,64,-607,2095,44,-951,2319,45,-429,2849,278,-604,2312,259,-426,3071,64,-112,2483,44,83,2475,319,86,2561,687,58,2374,734,-404,2143,733,-966,2087,303,-948,2068,308,-1415,2076,49,-1418,2337,59,-1569,2329,318,-1566,2683,329,-1584,2119,738,-1376,3344,81,-769,-3814,403,1550,-3814,43,1547,-3352,41,1687,-4104,333,1220,-4105,46,1218,-3935,50,732,-3934,387,735,-3491,522,1001,-3243,675,582,-3742,501,283,-3025,824,268,-3348,695,1,-2670,1191,-108,-2977,1233,-351,-2344,1180,-670,-2668,1220,-808,-2122,1171,-994,-2407,1203,-1037,-2314,750,-1097,-2003,749,-1008,-1952,1148,-868,-2005,1139,-526,-2248,1144,-41,-2556,690,474,-2688,494,913,-2980,382,1305,-3351,328,1689,-2981,44,1302,-2688,47,909,-2469,49,521,-2468,325,524,-2197,267,59,-2274,740,62,-1866,315,-402,-1928,744,-436,-1816,747,-831,-1969,321,-1057,-1746,319,-853,-1747,60,-855,-1969,62,-1060,-2297,59,-661,-1866,56,-404,-2198,53,57,-2683,270,-231,-2683,56,-232,-3125,273,-495,-3125,59,-496,-2709,62,-908,-2709,321,-906,-2311,63,-1154,-2310,322,-1152,-2662,749,-874,-3081,745,-419,-3477,332,-78,-3478,56,-80,-3001,53,203,-3244,50,577,-3491,47,997,-3742,53,280,829,17364,-414,787,17721,-207,923,17380,-256,744,17351,-516,587,17757,-426,636,17359,-599,779,16950,-623,889,16970,-561,992,16947,-405,1029,16950,-297,1027,16898,-101,991,17320,-78,916,17690,66,1036,17325,50,902,17683,260,975,17329,376,751,17730,537,782,17355,623,881,17098,514,817,17034,530,840,16764,493,913,16767,467,854,16654,476,925,16662,457,942,16531,476,892,16516,489,1001,16377,514,1056,16847,292,1071,16875,59,1107,16647,-131,1149,16618,-1,1223,16544,-257,1278,16506,-160,1476,16309,-248,1118,16629,210,1128,16624,37,1265,16514,35,1195,16511,-10,1446,16368,-3,966,16612,423,1090,16619,277,1062,16499,382,1111,16528,281,1306,16416,151,1131,16632,-130,1124,16689,-335,1056,16727,-464,984,16717,-603,860,16682,-680,855,16538,-816,991,16533,-746,991,16552,-745,1006,16364,-989,1099,16593,-599,1158,16588,-520,1321,16396,-608,1189,16535,-403,652,16955,-729,806,16713,-708,621,16730,-834,726,16568,-876,634,16522,-871,576,16399,-1115,495,16755,-911,435,16562,-997,364,16580,-1070,255,16580,-1029,201,16439,-1251,344,16764,-857,480,16978,-816,417,17386,-668,326,17728,-567,339,17370,-717,382,16956,-810,198,16934,-884,169,16766,-886,-14,16486,-1035,-89,16517,-1041,-267,16301,-1201,-206,16477,-995,8,16731,-854,-27,16920,-818,120,17321,-741,28,17703,-626,-30,17312,-759,-242,16938,-703,-201,16727,-796,-336,16531,-952,-236,16546,-992,-510,16410,-1045,-286,17344,-609,-156,17699,-566,-387,17748,-350,-484,17374,-365,-396,17133,-547,-365,16931,-596,-334,16652,-702,-241,16650,-788,-421,16526,-765,-376,16554,-792,-604,16285,-858,-478,16521,-675,-317,16631,-634,-392,16888,-545,-402,17109,-507,891,16985,-473,903,17340,-271,953,16993,-284,785,16988,-588,674,17356,-545,693,16989,-660,683,16576,-627,857,16527,-512,923,16530,-396,930,16583,-290,1003,16546,-92,1015,17000,-36,1006,17324,56,1022,17011,119,945,17330,352,1019,17027,321,919,17056,466,782,17355,623,851,17063,514,728,16607,512,840,16597,477,690,16437,494,793,16429,486,810,16341,441,730,16306,470,810,16138,562,958,16579,334,889,16420,448,989,16477,247,993,16379,349,1029,16374,272,1192,16212,291,1015,16558,100,1040,16457,-200,1089,16462,-71,1099,16329,-173,1131,16335,-93,1220,16138,-112,1040,16473,181,1073,16466,15,1114,16370,147,1112,16372,51,1264,16217,97,1008,16455,-272,966,16450,-407,856,16448,-506,1017,16187,-442,1061,16188,-394,1076,16192,-301,1116,16027,-307,813,16443,-668,694,16442,-747,757,16179,-774,844,16179,-734,864,16181,-658,822,15995,-760,549,16536,-680,646,16442,-779,424,16446,-825,633,16178,-878,509,16181,-890,572,16032,-948,270,16447,-884,315,16184,-938,239,16185,-955,225,16077,-988,164,16187,-945,104,16455,-819,335,16583,-788,433,16999,-741,353,17348,-700,365,17002,-781,228,16590,-754,102,16590,-851,125,17019,-808,9,17339,-721,19,17028,-780,30,16565,-782,-72,16458,-861,-14,16194,-906,-97,16196,-908,-95,15971,-975,-180,16200,-876,-191,16464,-794,-187,16614,-637,-396,16472,-734,-443,16279,-849,-358,16275,-888,-479,16155,-947,-181,17053,-673,-262,17348,-589,-484,17374,-365,-346,17070,-600,-293,16599,-619,-458,16478,-598,-352,16473,-664,-469,16283,-694,-402,16281,-715,-426,16081,-783,-408,16286,-600,-423,16481,-500,-308,16605,-553,-390,17080,-521,-374,16610,-538,-384,16459,-505,-379,16439,-543,-528,16306,-458,-375,16617,-445,-375,16448,-415,-382,16443,-489,-491,16264,-244,-52,17311,-642,81,16923,-752,-153,16899,-674,389,16943,-680,285,17370,-614,566,16971,-627,605,17396,-453,753,16966,-488,607,16415,-532,867,16936,-307,836,17361,-184,603,17396,-455,944,17296,135,1011,16909,-26,992,16881,219,886,17233,425,725,17178,692,929,16878,429,875,16845,437,803,16285,273,931,16311,205,1005,16098,140,935,16038,143,1196,15871,-11,1044,16105,58,901,16333,73,883,16364,-105,904,16384,-200,817,16399,-332,771,16405,-388,835,16185,-467,927,16171,-357,1001,16154,-240,969,16133,-121,983,16106,11,1243,15893,-166,1102,15999,-233,1100,16011,-294,1039,16021,-385,1302,15893,-407,976,16022,-424,897,16036,-540,822,16053,-673,648,16193,-601,405,16413,-629,431,16194,-727,640,16058,-802,507,16055,-858,674,15831,-1008,259,16186,-789,438,16053,-888,286,16037,-882,390,15860,-1117,146,16024,-888,205,15840,-1108,117,16172,-810,229,16406,-691,158,16401,-700,0,16386,-705,-20,16156,-811,79,16023,-921,-29,16013,-925,-43,15897,-1158,-89,16000,-891,-104,16135,-721,-69,16366,-637,-230,16335,-559,-224,16109,-663,-216,15897,-980,-358,16314,-515,-331,16100,-606,-296,16108,-691,-322,15875,-858,-311,16046,-585,-357,16296,-422,-341,16897,-562,-541,17197,-296,-320,17251,-517,-336,16863,-508,1038,15859,-755,1128,15838,-592,851,17921,-204,761,17907,-328,614,18156,-82,945,17680,-302,997,17678,-242,1056,17625,4,947,17902,53,670,18152,117,394,18242,183,354,18255,75,574,18155,-144,585,17897,-475,676,17680,-599,853,17703,-442,970,17368,-416,1106,17396,-307,1060,17337,-68,1059,17606,174,919,17876,207,678,18137,239,358,18226,307,244,18193,247,279,18197,138,284,18245,21,434,18161,-244,536,17905,-500,561,17688,-659,726,17320,-661,894,17359,-559,950,17087,-586,934,17120,-666,826,17092,-705,1050,16897,-803,585,17334,-749,710,17125,-705,626,17122,-799,749,16901,-913,381,17396,-866,534,17120,-897,436,17134,-947,475,16945,-1051,335,17136,-902,237,17369,-821,344,17712,-779,328,17929,-603,311,18176,-275,270,17916,-588,244,17693,-732,-28,17682,-748,28,17385,-855,225,17154,-881,78,17167,-913,178,16945,-1096,12,17133,-856,-103,17372,-758,-98,17655,-700,14,17952,-574,104,18170,-278,-29,17939,-543,-275,17667,-624,-252,17376,-706,-198,17063,-750,-114,17075,-795,-132,16864,-901,-399,17382,-650,-346,17234,-730,-262,17247,-759,-296,17106,-863,-365,17193,-704,-418,17362,-610,-422,17661,-538,-425,17618,-468,-351,17971,-338,-393,17951,-284,-489,17626,-424,-545,17380,-499,-567,17370,-441,-730,17134,-502,-487,17597,-341,-604,17346,-370,-594,17372,-435,-719,17132,-370,-436,17957,-219,-574,17602,-300,-679,17202,-273,-712,17224,-179,-738,16941,-133,-760,16976,-67,-799,16747,63,-826,16781,118,-887,16571,334,-813,16806,170,-765,17012,30,-743,17231,-79,-661,17542,-141,-740,17528,-21,-788,17218,33,-801,17045,107,-799,17021,39,-846,16823,198,-601,17922,0,-786,17564,197,-826,17267,264,-797,17237,39,-885,17005,297,-862,16968,164,-925,16770,351,-829,17588,247,-887,17273,275,-869,17033,330,-865,17267,357,-812,17576,316,-854,17623,434,-909,17295,451,-903,16927,560,-883,17269,566,-830,17565,583,-719,17782,623,-742,17900,465,-538,17992,657,-556,18002,804,-714,17788,797,-833,17542,614,-844,17503,719,-879,17261,628,-525,17884,926,-681,17673,925,-836,17533,766,-795,17461,871,-875,17334,717,-829,17309,775,-877,17069,678,-513,17883,995,-652,17638,1019,-756,17431,897,-754,17398,970,-839,17143,807,-503,17883,1079,-654,17623,1107,-743,17393,980,-727,17383,1062,-835,17081,883,-639,17369,1086,-481,17602,1109,-392,17793,1082,-309,18055,913,-340,18048,841,-109,18118,696,-142,18149,660,-80,18118,635,-141,18144,607,-91,18206,535,-18,18140,571,43,18141,503,-37,18240,462,27,18269,372,119,18201,422,115,18267,258,203,18192,313,175,18259,186,236,18251,99,192,18272,-7,72,18291,47,-70,18190,-190,-194,17983,-465,-224,18178,-87,-236,18191,-37,-330,18145,77,-534,17913,-105,-392,18097,179,-696,17911,202,-723,17907,257,-705,17867,322,-559,18093,504,-489,18114,346,-288,18190,437,-199,18225,331,-136,18261,244,-32,18288,125,-339,18184,557,-368,18110,624,-376,18132,756,313,18212,394,537,18133,507,632,18126,369,844,17850,386,794,17829,549,748,17832,571,615,17829,694,454,18116,603,233,18206,492,145,18173,575,83,18176,651,7,18131,692,-65,18106,708,-81,18115,738,-52,18137,695,-96,18100,954,-15,18133,923,-36,18025,1110,19,18052,1092,42,17917,1229,-28,18144,685,41,18094,924,128,18116,886,151,17932,1088,206,17958,1057,197,17755,1201,-88,18001,950,-185,18023,980,-239,17994,921,-361,17800,1124,-455,17602,1173,-534,17414,1104,-540,17407,1163,-599,17196,1069,-418,17628,1242,-495,17393,1243,-582,17135,1132,-341,17368,1217,-264,17585,1193,-197,17759,1126,-312,17812,1191,-100,17770,1116,-136,17557,1200,-211,17345,1238,-364,17194,1210,69,17836,1126,29,18076,930,118,18013,896,177,18047,832,253,18092,802,317,18059,699,490,17836,827,410,17898,933,323,17846,988,196,17812,1049,59,17596,1219,-73,17341,1231,45,17334,1262,0,17141,1210,95,17324,1194,159,17544,1135,348,17543,1060,328,17230,1122,181,17300,1157,172,16992,1213,478,17549,1013,516,17506,908,415,17168,1102,296,17001,1150,430,17123,990,711,17525,785,824,17499,690,798,17264,784,647,17290,820,662,16988,902,570,17008,922,487,16740,1045,864,17493,614,863,17269,731,809,17285,761,855,17071,937,915,17496,572,937,17311,677,889,17302,704,967,17114,865,998,17550,353,1061,17317,316,1121,17350,123,1113,17151,-61,1160,17192,56,1113,17126,167,1254,16955,-61,975,17341,534,1034,17349,339,1040,17214,440,1033,17259,324,1135,17073,278,586,17097,955,421,16810,1097,1146,17149,-241,1138,17168,-368,1077,17143,-460,1236,16913,-559,895,17086,-566,818,17364,-481,937,17091,-442,687,17347,-590,783,17061,-625,966,16880,-678,987,16885,-584,1012,16734,-788,892,16859,-709,588,17757,-426,922,17367,-343,807,17718,-232,1014,17371,-229,955,17686,55,1073,17330,20,930,17682,282,1038,17314,271,970,17315,435,877,17341,595,769,17730,552,780,17357,655,548,17431,877,547,17796,771,481,17154,935,608,16994,810,530,16859,943,456,16910,971,362,16629,1034,606,16868,866,521,16642,910,469,16676,969,375,16471,1008,771,17046,656,867,17041,540,1066,17106,291,1084,16859,254,1016,16860,393,1184,16626,268,1086,17066,-30,1117,17015,116,1175,16878,-46,1178,16854,55,1289,16726,-76,1053,17127,-232,1004,17101,-358,1145,16915,-315,1052,17030,-109,1164,16917,-229,1298,16767,-360,1133,16891,-377,563,17364,-707,404,17371,-775,428,17100,-846,574,17088,-845,659,17060,-750,661,16888,-959,569,16894,-953,749,16676,-993,709,16866,-894,272,17134,-883,258,16979,-988,356,16951,-954,247,16839,-1165,187,16975,-957,125,17142,-872,23,17346,-793,242,17376,-798,340,17726,-585,65,17697,-673,-183,17699,-588,-206,17333,-701,68,17081,-826,-126,17039,-779,60,16895,-917,-54,16875,-876,43,16744,-1050,-348,17335,-594,-214,17125,-716,-427,17064,-530,-231,16880,-748,-330,16879,-673,-279,16648,-875,-480,17362,-465,-403,17748,-364,-529,17377,-368,-544,17058,-331,-650,17028,-213,-731,17153,31,-739,16882,11,-690,16841,-117,-717,16665,2,-744,16699,80,-770,16493,172,-775,16921,82,-807,16651,179,-672,17449,-76,-559,17813,-92,2216,8858,1665,2119,8931,1730,2140,8884,1642,2180,8913,1769,2287,8901,1680,2248,8947,1758,2400,9094,1580,2311,9160,1699,2320,9185,1694,2419,9114,1571,2295,9074,1528,2178,9106,1520,2307,9094,1514,2185,9125,1503,2238,9254,1364,2175,9477,1466,2130,9203,1606,2128,9179,1617,2220,9175,1678,2224,9200,1670,2283,9492,1563,2354,9684,1370,2216,9638,1261,2495,9799,1268,2360,9781,1180,2544,9887,1209,2426,9873,1126,2435,10110,1016,2436,10058,869,2406,9817,980,2473,9766,876,2517,10017,773,2555,9963,627,2489,9704,727,2618,9657,650,2694,9928,565,2617,10234,555,2765,10212,507,2832,9923,593,2903,10219,552,2936,9935,660,3009,10234,617,2975,9980,828,3013,10290,800,2901,10347,968,2902,10041,986,2687,10397,1094,2694,10126,1145,2535,10389,1044,2565,10139,1114,2440,10360,934,2463,10313,786,2558,10281,698,2698,9869,1224,2661,9779,1309,2563,9677,1450,2439,9456,1639,2545,9260,1561,2349,9205,1471,2409,9012,1610,2332,9024,1529,2425,9324,1149,2500,8973,1380,2483,9240,1024,2589,8885,1216,2536,9193,887,2665,8837,1038,2705,9100,766,2752,8809,890,2820,9087,805,2602,9545,672,2754,9532,687,2757,9639,662,2863,9649,731,2873,9545,759,2933,9682,882,2463,9597,756,2439,9609,924,2359,9717,1021,2258,9468,1133,2873,9763,1066,2887,9662,1103,2684,9328,1471,2673,8927,1499,2525,9016,1637,2412,8716,1662,2347,8713,1605,2425,8663,1487,2347,8687,1610,2420,8638,1494,2516,8656,1520,2558,8907,1449,2423,8639,1405,2487,8584,1287,2416,8613,1408,2479,8560,1293,2570,8565,1326,2656,8840,1274,2532,8632,1234,2593,8599,1127,2523,8607,1235,2583,8575,1133,2678,8562,1155,2750,8811,1094,2638,8706,1053,2686,8650,952,2626,8682,1053,2671,8628,956,2746,8610,979,2827,8768,917,2921,9099,897,2890,8758,994,2902,9185,1095,2945,9581,920,2830,9257,1267,2778,8852,1327,2585,8610,1511,2487,8636,1478,2603,8657,1585,2505,8706,1686,2501,8680,1689,2411,8690,1666,2333,8444,1654,2391,8416,1546,2326,8419,1654,2383,8392,1548,2458,8396,1568,2511,8630,1526,2595,8632,1591,2442,8413,1714,2375,8434,1701,2367,8409,1700,2221,8225,1618,2242,8185,1661,2304,8156,1541,2353,8155,1586,2309,8174,1670,2504,8359,1622,2448,8372,1569,2516,8382,1622,2268,8204,1529,2433,8389,1713,2480,8611,1480,2352,8378,1445,2411,8345,1342,2339,8357,1444,2397,8324,1342,2467,8308,1366,2561,8540,1330,2649,8556,1395,2637,8532,1399,2576,8584,1511,2391,8356,1502,2377,8335,1499,2179,8210,1385,2189,8165,1419,2254,8135,1311,2291,8112,1359,2251,8133,1430,2497,8262,1421,2442,8293,1516,2457,8312,1520,2513,8281,1423,2452,8288,1365,2232,8189,1300,2597,8620,1300,2587,8595,1301,2444,8430,1240,2497,8401,1156,2429,8409,1236,2480,8382,1154,2335,8287,1111,2348,8222,1111,2535,8330,1168,2552,8348,1171,2668,8538,1158,2749,8546,1216,2860,8820,1148,2689,8584,1337,2762,8624,1135,2695,8672,1099,2681,8650,1097,2517,8559,1027,2569,8528,950,2603,8482,978,2730,8590,983,2789,8588,1043,2772,8568,1045,2746,8604,1132,2544,8519,1069,2524,8504,1063,2498,8542,1022,2548,8513,946,2581,8467,974,2629,8442,1031,2587,8470,1099,2566,8456,1091,2354,8408,990,2373,8461,967,2412,8436,909,2400,8377,920,2607,8428,1026,2403,8378,1018,2429,8354,968,2677,8560,1337,2480,8400,1298,2464,8381,1293,2300,8305,1164,2295,8260,1208,2388,8196,1156,2349,8220,1221,2577,8295,1222,2521,8329,1316,2538,8347,1322,2596,8312,1226,2736,8523,1219,-1737,10726,1062,-1751,10612,1019,-1667,10719,1037,-1819,10645,983,-1797,10736,1015,-1886,10699,777,-1773,10662,780,-1780,10665,754,-1900,10706,753,-1824,10839,834,-1730,10846,831,-1829,10852,812,-1729,10858,807,-1908,11004,567,-1742,10997,509,-1623,10827,783,-1612,10936,479,-1801,10971,262,-1640,10900,220,-1652,10669,290,-1696,10708,564,-1657,10694,752,-1655,10693,779,-1626,10818,808,-1669,10623,1004,-1817,10725,665,-2026,10789,680,-2017,10969,321,-2135,10736,570,-2021,10941,122,-2231,10692,92,-2228,10513,472,-2278,10496,42,-2258,10328,404,-2200,10353,-35,-2228,10124,336,-2110,10070,296,-2096,9930,599,-2177,9963,648,-2043,9873,762,-2104,9894,810,-2090,9884,830,-2030,9864,783,-1941,9813,885,-1978,9816,943,-1957,9808,953,-1920,9805,896,-1735,9755,928,-1771,9762,977,-1711,9834,962,-1730,9852,908,-1890,9902,942,-1856,9907,893,-1752,9788,880,-1883,9824,853,-1903,9833,841,-1964,9882,752,-1976,9892,731,-2016,9953,567,-1990,10073,273,-1965,10097,656,-1856,10255,302,-1795,10412,-98,-1776,10551,-1,-1830,10456,-197,-1822,10612,-151,-1902,10613,-476,-1888,10750,-400,-1923,10873,-704,-1902,10994,-598,-1831,11079,-525,-1822,10851,-351,-1844,10984,-275,-1845,11197,-422,-1979,11038,-254,-1965,11264,-364,-2120,11048,-202,-2124,11273,-355,-2299,10849,-271,-2301,11135,-475,-2347,10705,-359,-2368,10985,-605,-2318,10846,-726,-2283,10570,-454,-2199,10816,-752,-2171,10530,-490,-2055,10808,-760,-2029,10532,-508,-1952,10357,-203,-1928,10306,-104,-2079,10298,-76,-2197,10398,-134,-2273,10531,-59,-2224,10728,-9,-2063,10929,1,-1856,10934,72,-1910,10940,-30,-1718,10864,24,-1790,10875,-77,-1708,10701,-27,-1811,10552,389,-1788,10648,847,-1867,10673,923,-1983,10666,950,-2102,10483,905,-2148,10295,822,-2180,10126,716,-2103,9988,853,-2087,9974,869,-1957,9890,978,-1935,9880,986,-1760,9818,999,-1911,9913,932,-1875,9918,882,-1945,9995,790,-2012,9993,829,-2025,10008,811,-1955,10010,771,-2060,10102,701,-1993,9993,909,-1910,10019,868,-1980,9981,929,-1898,10008,888,-1858,9896,1043,-2055,9996,981,-1907,9897,1107,-1885,9887,1117,-1837,9886,1055,-1649,9828,1104,-1696,9832,1149,-1625,9934,1149,-1676,9902,1181,-1853,9987,1164,-1875,10000,1155,-2021,10113,1044,-2070,10008,963,-2035,10128,1028,-1933,10133,998,-1945,10148,980,-1860,10111,944,-1872,10126,926,-1942,10275,741,-2017,10272,807,-1951,10136,1053,-1870,10146,1010,-1939,10124,1073,-1858,10135,1030,-1773,10014,1226,-2020,10144,1130,-1825,10023,1289,-1804,10012,1301,-1753,10003,1240,-1553,9911,1354,-1600,9925,1396,-1518,10024,1407,-1580,10000,1429,-1774,10113,1346,-1794,10126,1335,-1989,10272,1175,-2035,10155,1111,-2002,10286,1158,-1898,10294,1132,-1910,10309,1114,-1827,10265,1077,-1838,10279,1058,-1920,10471,789,-1978,10459,884,-1899,10345,1090,-1979,10357,1159,-1962,10345,1176,-1884,10332,1108,-1734,10227,1215,-1780,10230,1282,-1759,10217,1292,-1714,10214,1227,-1511,10095,1319,-1560,10110,1362,-1471,10213,1378,-1531,10192,1404,-1709,10320,1328,-1729,10334,1318,-1898,10470,1206,-1911,10485,1190,-1831,10508,1145,-1770,10493,1088,-1819,10360,1040,-1805,10348,1058,-1760,10478,1107,-1820,10493,1163,-1678,10365,1276,-1642,10358,1222,-1682,10252,1167,-1663,10238,1181,-1625,10343,1234,-1659,10350,1288,-1462,10218,1318,-1493,10130,1273,-1837,10394,363,-1763,10728,-128,-2090,10346,-175,-1719,10037,1181,-1688,10146,1229,-1734,10160,1288,-1715,10147,1301,-1670,10134,1244,-1701,10026,1196,-1530,9941,1309,-1500,10029,1352,-1808,9937,997,-1778,10026,1040,-1821,10035,1102,-1801,10022,1112,-1759,10012,1052,-1789,9926,1010,-1642,9877,1059,-1624,9934,1086], "morphTargets": [], "normals": [-0.25394,0.751,0.60945,-0.30662,0.53325,0.78841,-0.30985,0.68603,0.65825,-0.086215,0.4492,0.88925,0.27006,0.70663,0.65398,-0.27909,0.88955,0.36158,-0.87704,0.42463,0.22465,-0.53768,0.59184,0.60048,-0.17402,0.88394,0.43394,0.18259,0.832,-0.52385,0.30805,0.92093,-0.23862,0.55022,0.83068,0.084628,0.18134,0.83325,0.52226,0.11319,0.63854,0.76119,-0.16382,0.54457,0.82254,-0.25825,0.67428,0.69179,-0.25733,0.67736,0.68914,-0.033753,0.8919,0.45091,3.1e-05,0.5338,-0.84558,-0.23258,0.95529,0.1825,-0.49001,0.82067,-0.29389,-0.09827,0.91702,-0.38649,-0.016785,0.99966,0.019684,0.16001,0.9808,-0.11121,0.18644,0.82449,-0.53423,0.54295,0.45146,-0.70803,0.82949,0.50023,-0.24833,0.093173,0.99005,0.10526,0.032868,0.9982,0.049898,0.48839,0.80312,0.34117,-0.21168,0.93103,0.29719,0.21039,0.79028,0.57546,0.71215,0.66332,0.22977,0.7329,0.66561,0.14054,0.33421,0.92535,0.17881,0.44185,0.83157,-0.3365,0.69884,0.56615,-0.43712,0.4684,0.4406,-0.76577,0.53334,0.36103,-0.76495,0.57213,0.74673,-0.33909,0.71569,0.10636,-0.69024,0.81781,0.44999,-0.35865,0.42918,0.8862,0.17447,0.17551,0.82034,0.54424,-0.022217,0.58501,0.81069,-0.020844,0.34895,0.93689,-0.20014,0.40541,0.89193,-0.30976,0.44652,0.83941,-0.29911,0.50676,0.8085,-0.42158,0.53398,0.73287,-0.19739,0.68712,0.69918,-0.58461,0.63277,0.50771,-0.20997,0.75143,0.62548,-0.48875,0.82678,0.27839,-0.60701,0.79257,-0.057436,-0.047029,0.93265,0.35768,-0.074252,0.99716,0.010895,-0.16037,0.98691,0.016419,-0.068575,0.97861,-0.19379,-0.49095,0.48833,-0.72143,0.028993,0.44679,-0.89416,0.30976,0.4015,-0.86187,0.48219,0.41603,-0.77093,0.38609,0.21043,-0.89813,0.50917,-0.064608,-0.85821,0.66848,-0.17994,-0.72161,0.73113,-0.35487,-0.58263,0.91714,-0.32722,-0.22742,0.73635,-0.043214,-0.67516,0.8869,0.16092,-0.433,0.94266,0.18619,0.27696,0.72127,0.58418,0.37208,0.31797,0.71584,0.6216,0.085086,0.55843,0.82516,0.21827,0.24403,0.94485,0.44841,0.1427,0.88235,0.13898,0.15116,0.97867,-0.14505,0.22578,0.96329,-0.3289,0.29872,0.89587,-0.46031,0.403,0.79098,-0.56212,0.35942,0.74486,-0.53548,0.53209,0.65581,-0.55824,0.76827,0.31315,-0.71252,0.64376,-0.279,-0.67379,0.66359,-0.32499,-0.27552,0.55452,-0.78521,-0.18061,0.83993,-0.5117,0.059603,0.41249,-0.90899,0.10663,0.40339,-0.90875,0.31831,0.32823,-0.88931,0.33052,0.15342,-0.93121,0.40272,-0.039979,-0.91443,0.63271,-0.27039,-0.72561,0.78304,-0.24403,-0.57207,0.77917,-0.24628,-0.57637,0.91614,-0.27485,-0.29176,0.62126,-0.097842,-0.77743,0.52483,0.15885,-0.83621,0.90066,0.14686,-0.40889,0.97183,0.058321,0.22828,0.63653,0.009308,0.77117,0.62053,0.1037,0.77724,0.47749,0.36543,0.799,0.3679,0.094699,0.92502,0.30625,0.34175,0.88845,0.33976,0.12381,0.93231,0.42305,0.053194,0.90451,0.48604,0.088839,0.86938,0.50502,0.085055,0.85888,0.24494,0.057161,0.96783,-0.10141,0.10761,0.98898,-0.32582,0.1919,0.92572,-0.51988,0.23994,0.81982,-0.71331,0.20011,0.67165,-0.44285,0.2584,0.85852,-0.87509,0.13016,0.46611,-0.92792,0.046693,0.36982,-0.92813,0.045412,0.3694,-0.91568,0.075076,0.39476,-0.98935,0.000427,0.14548,-0.98785,0.006653,0.15519,-0.95123,-0.085665,-0.29624,-0.95926,-0.085208,-0.26933,-0.70144,-0.19282,-0.68612,-0.78271,-0.12366,-0.60994,-0.54796,-0.17801,-0.81732,-0.36021,-0.30201,-0.88263,-0.43486,-0.29203,-0.8518,-0.25935,-0.29402,-0.91992,-0.14505,-0.31172,-0.93902,-0.031678,-0.22938,-0.97281,0.13614,-0.03946,-0.9899,0.24955,-0.025422,-0.96802,0.245,0.20701,-0.94714,0.33708,-0.053499,-0.93994,0.43846,-0.20026,-0.87613,0.63335,-0.27308,-0.72405,0.78256,-0.29078,-0.55046,0.79403,-0.23402,-0.56099,0.97198,-0.029237,-0.23319,0.91723,0.31272,0.24665,0.4933,0.83071,0.25794,-0.21958,0.44243,-0.86947,-0.5649,0.57652,-0.59032,-0.060976,0.075259,-0.99527,0.5157,0.22135,-0.82766,0.49528,0.23276,-0.83694,0.90988,0.21821,-0.35273,0.96759,0.10291,0.23057,0.63735,0.026337,0.77007,0.11527,-0.072207,0.99069,0.138,-0.11936,0.98318,0.17026,-0.099826,0.98032,0.31953,-0.35658,0.87789,0.66475,-0.11771,0.73769,0.77505,0.066897,0.62831,0.70397,-0.001556,0.7102,0.67376,0.001953,0.73891,0.50517,0.027192,0.86257,0.49269,0.016663,0.87002,0.15665,0.033357,0.98706,-0.10407,0.12238,0.987,-0.29148,0.18128,0.93921,-0.48521,0.15317,0.86084,-0.5425,0.16425,0.82382,-0.80254,0.087039,0.5902,-0.91684,0.056551,0.39518,-0.86874,0.067965,0.49052,-0.94067,0.047151,0.33595,-0.98859,0.023408,-0.14872,-0.85727,0.001373,-0.51482,-0.68425,-0.039674,-0.72814,-0.68456,-0.002411,-0.72893,-0.52596,-0.13434,-0.83981,-0.35789,-0.054689,-0.93213,-0.19401,-0.15949,-0.96793,0.11359,-0.13745,-0.98395,-0.000671,-0.075198,-0.99716,0.22349,-0.047517,-0.97354,0.13004,-0.043458,-0.99054,0.31474,0.012574,-0.94907,0.38908,-0.057894,-0.91937,0.68178,0.03946,-0.73046,0.72433,-0.089908,-0.68352,0.89456,-0.090609,-0.43763,0.85461,-0.20667,-0.47633,0.7018,-0.20426,-0.68242,0.44468,-0.1688,-0.8796,0.30396,-0.19761,-0.93194,0.17621,-0.24338,-0.95376,-0.18155,-0.24354,-0.95273,0.23234,-0.23734,-0.9432,0.33403,-0.2396,-0.91156,0.33711,-0.19425,-0.9212,0.42741,-0.22187,-0.87637,0.83752,-0.25495,-0.4832,0.95843,-0.23344,-0.16385,0.95013,0.024842,0.31077,0.77929,0.18793,0.5978,-0.07358,0.99408,0.079592,-0.95279,0.227,-0.20148,-0.88342,-0.4294,0.18745,-0.90027,-0.35078,-0.25776,-0.86343,-0.36882,0.34416,-0.92102,-0.29289,-0.25675,-0.89889,-0.31779,0.30161,-0.9245,-0.26411,-0.27476,-0.8948,-0.34648,0.28147,-0.90875,-0.24805,-0.33558,-0.95554,-0.23753,0.17466,-0.85031,-0.10443,-0.51579,-0.54976,-0.15052,-0.82162,-0.44981,-0.21491,-0.86685,-0.4272,-0.30686,-0.85046,0.18815,-0.30158,-0.93466,0.14286,-0.14566,-0.97894,0.05829,-0.012299,-0.9982,0.73507,-0.021241,-0.67763,0.66887,0.12314,-0.73308,0.9751,0.10462,-0.19541,0.9476,0.21085,-0.23994,0.58916,0.23008,-0.77453,0.9313,0.29176,-0.21793,0.54265,0.23954,-0.80505,-0.098148,0.067263,-0.99289,-0.033418,0.066103,-0.99722,-0.60509,-0.095004,-0.79043,-0.67156,-0.14142,-0.72729,-0.67663,-0.17759,-0.71456,-0.63479,-0.1955,-0.74749,-0.089541,0.054445,-0.99448,0.54082,0.22291,-0.81106,0.92764,0.24158,-0.28471,0.9545,0.15308,0.25584,0.66649,0.06708,0.74245,0.099887,-0.049898,0.99374,-0.53038,-0.2071,0.82205,-0.46818,-0.21662,0.85666,-0.18802,-0.44536,0.87536,-0.52394,-0.28962,0.80099,-0.55061,-0.39897,0.73321,-0.99853,0.043184,0.031617,-0.77306,-0.1279,0.62123,-0.99716,-0.070009,-0.02707,-0.82223,-0.1905,-0.53627,-0.44639,-0.29765,-0.84387,0.20936,-0.35292,-0.91192,0.78256,-0.23145,-0.57793,0.77056,-0.18244,-0.61064,0.99972,-0.022126,-0.000763,0.99881,-0.002808,-0.04828,0.89428,0.19068,0.4048,0.9238,0.16941,0.3433,0.92151,0.28376,-0.26508,0.93655,0.20982,0.28077,0.67238,0.078402,0.73601,0.12168,-0.12287,0.98492,0.10923,-0.39415,0.9125,-0.17283,-0.07944,0.98172,-0.78649,0.14011,0.60146,-0.99759,-0.06241,0.029695,-0.84378,-0.23707,-0.48146,-0.84503,-0.2226,-0.48613,-0.44618,-0.32893,-0.83227,-0.42857,-0.34672,-0.83432,0.20576,-0.33344,-0.92001,0.21924,-0.34944,-0.91092,0.78802,-0.22037,-0.57482,0.99982,-0.016205,-0.007355,0.84579,0.16337,0.50783,0.84371,0.14234,0.51753,0.40593,0.27378,0.87188,0.45274,0.11542,0.88412,-0.21598,0.27644,0.93643,-0.78903,0.14612,0.5967,-0.99875,-0.049013,0.009613,-0.84085,-0.16663,-0.51497,-0.4492,-0.27616,-0.84964,-0.51485,-0.85455,-0.067995,-0.30033,-0.92392,-0.23695,0.2053,-0.29728,-0.93243,0.81954,-0.1926,-0.53963,0.80215,-0.20429,-0.56105,0.99741,-0.040345,0.059328,0.99951,-0.027528,0.014008,0.84655,0.14036,0.51341,0.44621,0.26469,0.85485,0.42552,0.27393,0.86245,-0.20673,0.30348,0.93011,-0.22211,0.28819,0.93146,-0.80291,0.17219,0.57064,-0.99869,0.009339,-0.050295,-0.60112,-0.78893,0.1272,-0.27366,-0.93414,-0.22895,-0.49706,-0.86114,-0.10648,-0.54363,-0.64363,-0.53865,-0.042695,-0.7449,-0.66579,0.15235,-0.97458,-0.16416,0.37568,-0.89642,0.23499,0.58788,-0.73293,-0.3423,0.76104,-0.59554,0.25706,0.25806,-0.80254,0.53786,0.062197,-0.9758,-0.20954,0.28883,-0.9509,0.11112,0.25282,-0.87835,0.40565,0.83743,0.090793,0.53893,0.44658,0.21561,0.86834,-0.20313,0.29975,0.93213,-0.81826,0.21528,0.53295,-0.61058,-0.7105,0.3498,-0.64556,-0.76333,0.023103,-0.80712,-0.51213,-0.29362,-0.24537,-0.92126,0.30174,-0.94809,-0.31471,0.045106,-0.7965,-0.09183,0.59761,-0.19318,-0.10068,0.97595,0.32328,-0.28944,0.90094,-0.17719,-0.60048,0.77975,-0.58657,-0.50206,0.63549,-0.74664,-0.61394,0.25605,-0.13456,-0.69442,0.70684,0.11274,-0.78961,0.60314,-0.44719,-0.65313,0.61107,0.072054,-0.72274,0.68734,0.60582,-0.45763,0.65078,0.65581,-0.12989,0.74365,0.93225,-0.069704,0.35499,0.73803,-0.029817,0.67406,0.50899,-0.03296,0.8601,0.50905,-0.022095,0.86041,0.22474,-0.019837,0.97421,0.017182,0.045778,0.99878,-0.27021,0.098086,0.95776,-0.50526,0.081515,0.85907,-0.70104,0.098575,0.70626,-0.63772,0.078463,0.76623,-0.39097,0.073,0.91748,-0.87002,0.040345,0.49129,-0.82281,0.075625,0.56322,-0.76952,0.141,0.62285,-0.90701,0.13251,0.39967,-0.99304,0.097049,-0.066347,-0.88098,0.040437,-0.47136,-0.74474,0.025422,-0.66686,-0.77682,0.083285,-0.62416,-0.77004,0.11585,-0.62734,-0.76833,0.1153,-0.62954,-0.7668,0.12407,-0.62978,-0.48805,0.06653,-0.87023,-0.77105,0.11213,-0.62679,-0.51369,0.085421,-0.85369,-0.10999,0.052889,-0.99249,-0.060183,-0.046602,-0.99707,0.073183,0.020447,-0.9971,0.23991,0.052004,-0.96939,0.62172,0.07355,-0.77975,0.88021,0.025727,-0.47383,0.893,-0.095218,-0.43983,0.97769,-0.064974,-0.19959,0.96664,-0.064028,0.24796,0.78735,-0.023133,0.61605,0.58824,-0.035676,0.80785,0.58861,-0.015473,0.80822,0.35987,-0.071139,0.93027,0.13337,0.009461,0.991,-0.18784,0.045106,0.98114,-0.44069,0.058657,0.89572,-0.57271,0.077059,0.8161,-0.26685,0.070223,0.96115,-0.81295,0.065615,0.5786,-0.75665,0.1156,0.64351,-0.72314,0.15766,0.67241,-0.87201,0.15552,0.46406,-0.991,0.13037,-0.029633,-0.91153,0.11356,-0.39521,-0.89084,0.13807,-0.43281,-0.87017,0.14573,-0.47066,-0.75591,0.097964,-0.64727,-0.79165,0.20719,-0.57476,-0.63927,0.16254,-0.75158,-0.76675,0.064302,-0.63869,-0.67385,0.093905,-0.73284,-0.53163,0.038057,-0.8461,-0.45601,0.06531,-0.88754,-0.55834,0.17505,-0.81091,-0.37901,0.14341,-0.91418,-0.155,0.048097,-0.98672,-0.15494,0.032655,-0.98737,-0.006561,0.036042,-0.9993,0.004639,0.068178,-0.99765,0.1601,0.041536,-0.98621,0.17237,0.073824,-0.98224,0.032594,0.082064,-0.99606,0.20002,0.096408,-0.97501,0.6151,0.09714,-0.78243,0.85208,0.064089,-0.51943,0.87954,0.046663,-0.47346,0.95972,0.056887,-0.27506,0.98422,0.038148,0.17261,0.81951,0.019013,0.57271,0.63253,-0.025513,0.7741,0.63292,-0.008728,0.77413,0.4995,-0.009888,0.86624,0.20554,0.013367,0.97854,-0.10822,0.03769,0.99341,-0.37648,0.076815,0.92322,-0.61437,0.11765,0.78017,-0.71337,0.12162,0.69015,-0.68831,0.099734,0.7185,-0.89096,0.12357,0.4369,-0.99112,0.13205,-0.014954,-0.97793,0.20402,-0.044618,-0.95163,0.26719,-0.15158,-0.93686,0.26719,-0.22556,-0.70077,0.25465,-0.66634,-0.93323,0.23823,-0.2689,-0.65828,0.20505,-0.72427,-0.70791,0.20731,-0.67516,-0.9432,0.23319,-0.23655,-0.957,0.21253,0.19733,-0.91614,0.19584,0.34971,-0.79754,0.15662,0.58254,-0.7911,0.15274,0.59227,-0.79861,0.16135,0.57979,-0.78945,0.16114,0.59227,-0.66057,0.11737,0.74151,-0.63085,0.10895,0.76818,-0.29499,0.008423,0.95544,-0.21052,-0.011017,0.97751,0.063356,-0.047121,0.99686,0.072481,-0.045106,0.99634,0.27381,-0.023316,0.96149,0.3151,-0.017029,0.94888,0.045503,-0.036653,0.99826,-0.37828,0.039918,0.9248,-0.67562,0.15503,0.72072,-0.75903,0.18436,0.62438,-0.62676,0.14939,0.76473,-0.27741,0.0524,0.95929,0.010559,0.000214,0.99994,0.29078,0.01944,0.95657,0.36891,-0.001129,0.92944,0.56874,0.067049,0.81976,0.59716,0.077883,0.7983,0.73177,0.13059,0.6689,0.61751,0.11038,0.77874,0.70458,0.14618,0.69436,0.73058,0.12137,0.6719,0.71535,0.13651,0.68526,0.87613,0.18162,0.44652,0.87939,0.23337,0.41493,0.93966,0.31437,-0.13465,0.95673,0.27619,-0.091464,0.80499,0.24128,-0.54198,0.88534,0.095553,-0.455,0.76467,0.049104,-0.64251,0.78567,0.058138,-0.61586,0.78579,0.041078,-0.61708,0.83154,0.072787,-0.55065,0.85104,0.081881,-0.51866,0.93881,0.071169,-0.33696,0.99078,0.069948,0.11582,0.83483,0.006256,0.5504,0.65676,-0.020325,0.75378,0.65746,-0.007416,0.75341,0.52626,-0.005921,0.85028,0.23759,-0.003235,0.97134,-0.057344,0.024293,0.99805,-0.3184,0.07828,0.9447,-0.5667,0.11478,0.81588,-0.68014,0.087283,0.72784,-0.70824,0.063234,0.70312,-0.87246,0.11121,0.47581,-0.89309,0.20792,0.39885,-0.9158,0.23878,0.32286,-0.77477,0.16959,0.60903,-0.71618,0.16886,0.67714,-0.55718,0.1135,0.82256,-0.23753,0.040712,0.97052,-0.000824,-0.011933,0.99991,0.24598,0.001434,0.96927,0.54988,0.047578,0.83386,0.53847,-0.005432,0.84262,0.25065,-0.006653,0.96805,-0.01471,0.008026,0.99985,-0.26246,0.041505,0.96402,-0.53404,0.066012,0.84286,-0.68786,0.09122,0.72005,-0.74694,0.14719,0.64833,0.67284,0.001099,0.73977,0.68065,0.036164,0.73168,0.68252,0.11881,0.72112,0.58229,0.090884,0.80785,0.70553,0.11087,0.69994,0.69366,0.019135,0.72002,0.67553,-0.007172,0.73727,0.85842,0.006989,0.51283,0.87124,0.048189,0.48845,0.87133,0.18482,0.45448,0.98917,0.14591,-0.014222,0.91122,0.062624,-0.40706,0.82952,0.095676,-0.55019,0.94302,0.068239,-0.32557,0.99725,0.045289,0.058596,0.99954,0.027985,0.008637,0.53032,0.059877,-0.84564,0.53209,0.018555,-0.84646,0.76763,0.022401,-0.64046,0.64415,0.20624,-0.73653,0.7217,0.33906,-0.60344,0.94903,0.26719,-0.16715,0.93085,0.20997,0.29899,0.73659,0.12745,0.66417,0.73959,0.13291,0.65978,0.95679,0.25886,-0.13239,0.8179,0.26405,-0.51116,0.68252,0.26011,-0.683,0.56941,0.24226,-0.78552,0.55104,0.25172,-0.79556,0.58278,0.25431,-0.77178,0.55495,0.27192,-0.78616,0.3451,0.19843,-0.91732,0.30818,0.21784,-0.92602,0.069948,0.092105,-0.99329,0.012757,0.063082,-0.99792,-0.065004,0.039003,-0.9971,-0.037843,0.046083,-0.9982,0.11292,0.10825,-0.98767,-0.023164,0.061434,-0.99783,0.14533,0.068392,-0.987,0.44777,0.11475,-0.88672,0.66842,0.14765,-0.72893,0.51842,0.28281,-0.80697,0.54213,0.25962,-0.79916,0.3629,0.21485,-0.9067,-0.13944,0.062258,-0.98825,-0.11524,0.0365,-0.99264,-0.098666,0.03531,-0.99448,-0.075442,0.015442,-0.99701,-0.23395,0.10694,-0.96634,-0.33848,0.13181,-0.93167,-0.53035,0.18369,-0.8276,-0.52309,0.17905,-0.83322,-0.52132,0.18058,-0.83401,-0.50856,0.18024,-0.84195,-0.50871,0.20252,-0.83676,-0.15055,0.079287,-0.98541,-0.17493,0.05942,0.98276,-0.42119,0.060152,0.90497,-0.14573,0.009369,0.98926,-0.48106,0.076937,0.87329,-0.78402,0.12366,0.60823,-0.84472,0.14466,0.51521,-0.98599,0.14634,0.079958,-0.98044,0.19681,0.001221,-0.88962,0.17054,-0.42363,-0.82961,0.21509,-0.51521,-0.97949,0.19944,-0.027863,-0.82797,0.19703,-0.52498,-0.97436,0.21653,-0.060976,-0.8291,0.19483,-0.524,-0.94946,0.28929,-0.12171,-0.75069,0.30415,-0.58641,-0.92526,0.34053,-0.16697,-0.70592,0.22312,-0.67217,-0.95383,0.22861,-0.19477,-0.66732,0.13935,-0.73159,-0.9501,0.20896,-0.23154,-0.64373,0.16834,-0.74648,-0.95511,0.19025,-0.227,-0.648,0.19013,-0.73751,-0.96194,0.1616,-0.22025,-0.65142,0.16291,-0.74099,-0.96789,0.16981,-0.18528,-0.63866,0.18876,-0.74593,-0.9555,0.17478,-0.23753,-0.62905,0.20756,-0.74911,-0.95444,0.15305,-0.25608,-0.6285,0.21641,-0.74706,-0.95343,0.17866,-0.24296,-0.63201,0.22712,-0.7409,-0.95657,0.15162,-0.24888,-0.64889,0.163,-0.74319,-0.95581,0.15088,-0.25221,-0.67135,0.15738,-0.7242,-0.93646,0.23762,-0.25797,-0.71435,0.22211,-0.66356,-0.93466,0.20319,-0.29167,-0.62767,0.14939,-0.764,-0.9107,0.17151,-0.37568,-0.56157,0.15369,-0.81298,-0.88906,0.11814,-0.44224,-0.47478,0.076357,-0.87677,-0.70794,-0.64116,-0.29615,-0.28425,-0.73046,-0.62093,-0.12259,-0.9751,0.1847,-0.79241,-0.60994,0.001099,-0.69692,-0.5276,0.48567,-0.30729,-0.5121,0.80203,0.24946,-0.60381,0.75707,-0.064669,0.17872,0.98175,-0.73214,0.24116,0.63701,-0.98102,0.18979,0.039277,-0.95029,0.22779,0.21219,-0.60311,0.25974,0.75417,-0.044069,0.10437,0.99353,0.59111,0.047121,0.80517,0.52394,-0.64831,0.55239,0.84906,0.028962,0.52745,0.61318,-0.11423,0.78161,0.91681,-0.15677,0.36717,0.60222,-0.27616,0.74902,0.91943,-0.24046,0.31107,0.69512,-0.16169,0.70043,0.93436,-0.21458,0.2844,0.97885,-0.1814,-0.094363,0.95483,-0.17853,-0.23743,0.92914,-0.2616,0.26121,0.93603,-0.18949,-0.29646,0.62972,-0.075411,-0.77312,0.54131,-0.035554,-0.84005,0.10272,0.039094,-0.99393,0.69311,-0.062136,-0.7181,0.69137,0.06473,-0.71957,0.083956,0.12885,-0.9881,0.23136,0.035188,-0.9722,0.79467,0.037111,-0.60588,0.98965,0.10761,-0.094821,0.9949,0.090091,0.044679,0.63933,-0.67162,0.37431,0.63576,-0.75198,-0.17405,0.20447,-0.77602,-0.59661,-0.10294,0.093936,-0.99023,0.52412,0.015992,-0.85147,0.93658,-0.12854,-0.32594,0.92773,-0.11441,-0.35524,0.53331,0.054872,-0.84411,-0.04178,0.11728,-0.99219,-0.014649,0.17365,-0.98468,0.55394,0.041261,-0.83151,0.93576,-0.065645,-0.34642,0.9447,-0.11331,-0.30769,0.56972,0.026276,-0.82141,-0.009369,0.17832,-0.98392,-0.004852,0.16196,-0.98676,0.56053,0.01178,-0.82803,0.94281,-0.14264,-0.30122,0.93121,-0.17472,-0.3198,0.53758,-0.03943,-0.84225,-0.008667,0.12485,-0.99213,-0.031739,0.072176,-0.99686,0.52287,-0.064394,-0.84994,0.90661,-0.20853,-0.3668,0.86395,-0.22712,-0.44942,0.49089,-0.1088,-0.86438,-0.064119,0.093112,-0.99356,-0.11969,0.060549,-0.99094,0.45735,-0.2002,-0.86642,0.86654,-0.21161,-0.45195,0.566,-0.69665,-0.44081,0.21284,-0.51866,-0.82803,-0.048311,-0.93374,-0.35463,-0.045259,-0.99124,-0.12381,-0.61006,-0.64708,-0.45723,-0.72326,-0.69021,-0.020966,-0.84826,-0.23545,-0.47429,-0.88565,-0.45152,0.10828,-0.84597,-0.24763,-0.47218,-0.87219,-0.44206,0.20939,-0.87063,-0.23026,-0.43471,-0.92859,-0.30888,0.20554,-0.89557,-0.16962,-0.41127,-0.94525,-0.2754,0.17499,-0.90851,-0.13425,-0.39567,-0.93814,-0.25898,0.22971,-0.91024,-0.10541,-0.4004,-0.96341,-0.18616,0.19279,-0.89868,-0.053468,-0.43526,-0.95297,-0.24757,0.17469,-0.8891,-0.10083,-0.44645,-0.93985,-0.29969,0.16373,-0.90036,-0.11698,-0.41905,-0.95926,-0.22822,0.16648,-0.90149,-0.17972,-0.39369,-0.94461,-0.28846,0.15638,-0.92102,-0.18091,-0.34489,-0.95236,-0.25214,0.17139,-0.9523,-0.18754,-0.24067,-0.94443,-0.2681,0.19007,-0.95798,-0.19159,0.21332,-0.96457,0.050447,-0.25889,-0.98703,0.039583,-0.15546,-0.65386,-0.002045,-0.75658,-0.56233,-0.76705,-0.30882,-0.049806,-0.77557,-0.62926,-0.0253,0.031098,-0.99918,0.43214,-0.71661,-0.54744,0.64248,0.10035,-0.7597,0.77288,-0.61922,-0.13855,0.95676,0.15107,-0.24854,0.67284,0.2074,-0.7101,0.082827,0.15235,-0.98483,-0.55507,0.058443,-0.82974,-0.58931,-0.013306,-0.80776,-0.55779,-0.023072,-0.82961,-0.46116,0.0141,-0.88717,-0.44389,0.0665,-0.89358,0.19184,0.16031,-0.96823,0.13074,0.18308,-0.97433,0.73223,0.21229,-0.64708,0.71154,0.21888,-0.66765,0.97223,0.17771,-0.15213,0.97269,0.1782,-0.14869,0.69344,0.28254,-0.66277,0.10208,0.23853,-0.96573,-0.45436,0.10471,-0.88461,-0.47566,0.089938,-0.875,0.096652,0.24308,-0.96515,0.69069,0.27222,-0.66994,0.96854,0.20478,-0.14136,0.97119,0.18012,-0.15595,0.69158,0.2635,-0.67248,0.092715,0.2269,-0.96948,-0.49126,0.074007,-0.86782,-0.48073,0.060945,-0.87472,-0.45525,0.009033,-0.89029,0.097629,0.19028,-0.97684,0.12079,0.13871,-0.98291,0.70116,0.24464,-0.66967,0.71386,0.21866,-0.66521,0.97778,0.1923,-0.083285,0.97522,0.18635,-0.11911,0.69979,0.25401,-0.66762,0.1391,0.17118,-0.97534,-0.44572,-0.021577,-0.89489,-0.44407,-0.0665,-0.89349,0.15091,0.13205,-0.97967,0.67834,0.22742,-0.69863,0.96823,0.21619,-0.12543,0.96371,0.2331,-0.12983,0.6943,0.20048,-0.69118,0.17334,0.069735,-0.98236,-0.43016,-0.16056,-0.88833,-0.24122,-0.48683,-0.8395,0.26945,-0.082705,-0.95944,0.708,0.31993,-0.62957,0.96329,0.25303,-0.089541,0.89666,0.43687,-0.071505,0.72921,0.39552,-0.55837,0.37639,0.073,-0.92355,-0.024628,-0.34376,-0.93872,-0.033143,-0.68734,-0.72555,-0.003296,-0.36882,-0.92947,-0.021027,-0.27201,-0.96203,0.083102,0.04059,-0.9957,0.47868,0.12784,-0.86859,0.8471,0.14982,-0.50981,0.45534,0.17627,-0.87268,0.10184,0.1948,-0.97552,0.004151,0.058107,-0.99829,-0.086184,0.020356,-0.99606,-0.37953,0.021516,-0.92489,-0.26814,-0.1254,-0.95517,-0.1655,0.005646,-0.98618,-0.47206,0.13331,-0.8714,-0.080355,0.20139,-0.9762,0.012909,0.20069,-0.97955,0.012635,0.25153,-0.96774,0.036348,0.19968,-0.97916,0.006867,0.15177,-0.98837,0.000244,0.16273,-0.98666,0.36146,0.16578,-0.91751,0.46629,0.16834,-0.86843,0.84786,0.13614,-0.51238,0.90139,0.089297,-0.42363,0.99469,0.10269,0.00238,0.99518,0.056459,0.079958,0.85403,0.065218,0.51607,0.79202,0.052187,0.60823,0.48509,0.033998,0.87377,0.42161,-0.072115,0.9039,0.14515,-0.003021,0.98938,0.12015,-0.092349,0.98843,0.000702,0.015564,0.99988,-0.049898,-0.003845,0.99872,-0.18796,-0.012726,0.98209,-0.02588,-0.074679,0.99686,-0.11594,0.003906,0.99323,-0.14905,0.04593,0.98773,-0.21473,0.2154,0.95261,-0.23063,0.36482,0.90204,-0.31812,0.39054,0.86383,-0.44243,0.36354,0.81979,-0.33204,0.26399,0.90555,-0.30757,0.11331,0.94473,-0.44807,0.10993,0.88717,-0.27024,0.034059,0.96216,-0.004303,-0.041932,0.99908,-0.13797,-0.023103,0.99014,-0.46461,0.057009,0.88363,-0.8544,0.14429,0.49916,-0.86239,0.16215,0.47957,-0.88739,0.19779,0.4164,-0.89792,0.23405,0.37272,-0.9079,0.22855,0.35139,-0.92419,0.19059,0.33088,-0.9378,0.14124,0.31712,-0.94259,0.10123,0.31812,-0.93738,0.10797,0.33109,-0.90167,0.11777,0.41606,-0.92062,0.1435,0.36302,-0.96264,0.019623,0.26997,-0.96228,0.046815,0.26795,-0.96118,0.11676,0.24992,-0.95364,0.094333,0.28568,-0.94159,0.16675,0.29255,-0.94491,0.21189,0.24937,-0.60585,0.093936,0.78997,-0.033174,-0.072268,0.99683,0.16633,-0.046266,0.98495,0.065554,-0.10544,0.99225,-0.5772,0.010041,0.81652,-0.61293,-0.003388,0.79009,0.024476,-0.12085,0.99234,0.62905,-0.23743,0.7402,0.63121,-0.19593,0.75042,0.94211,-0.20057,0.26862,0.92383,-0.27241,0.26884,0.9353,-0.21946,0.27747,0.94348,-0.15644,0.29209,0.91543,-0.22404,0.3343,0.92416,-0.24775,0.29072,0.91842,-0.26289,0.29554,0.90191,-0.36241,0.23484,0.9379,-0.32798,0.11295,0.7532,-0.65743,-0.0206,-0.035585,-0.95178,0.30467,0.42857,-0.69298,0.5797,-0.025513,-0.65545,0.75478,-0.025086,-0.25178,0.96744,-6.1e-05,-0.12738,0.99185,-0.15778,-0.040468,0.98663,-0.54552,0.055483,0.83624,-0.59844,0.058779,0.79897,-0.57247,0.0983,0.81399,-0.56053,0.078463,0.82437,-0.57054,0.036439,0.82043,-0.59194,-0.017396,0.80578,-0.58687,-0.029908,0.80911,-0.57778,-0.029542,0.81564,-0.53798,0.019379,0.84271,-0.56908,-0.12708,0.81237,-0.67,-0.17243,0.72201,-0.034944,-0.26078,0.96475,0.62749,-0.31202,0.71334,0.60204,-0.29963,0.74007,0.63036,-0.17155,0.75707,0.65246,-0.19385,0.73257,0.61113,-0.21491,0.76174,0.63167,-0.24097,0.73681,0.65291,-0.22059,0.72457,0.63845,-0.29054,0.7127,0.62178,-0.36515,0.6928,0.076449,-0.15143,0.9855,0.090732,-0.12189,0.98837,0.073458,-0.12552,0.98935,0.086337,-0.1507,0.98477,0.092105,-0.15372,0.98379,0.065096,-0.1511,0.98636,0.029633,-0.13138,0.99087,0.016419,-0.27036,0.96258,-0.47694,0.069796,0.87613,-0.11524,-0.026368,0.99298,-0.005005,-0.072176,0.99738,0.11152,-0.050233,0.99246,0.14493,-0.086428,0.98566,-0.005737,-0.30558,0.95215,-0.42521,-0.73711,0.52516,-0.60122,-0.46461,0.65011,-0.13007,-0.22202,0.96631,-0.66637,-0.36946,0.6476,-0.72069,-0.27537,0.63616,-0.69115,-0.30326,0.65597,-0.67046,-0.27757,0.68804,-0.71361,-0.249,0.65477,-0.69424,-0.22813,0.68261,-0.66228,-0.3545,0.66002,-0.68496,-0.36537,0.6303,-0.69405,-0.25202,0.67434,-0.69024,-0.29276,0.66167,-0.75369,-0.21528,0.62096,-0.67281,-0.32923,0.6625,-0.73339,-0.13523,0.66619,-0.94,0.009339,0.34098,-0.68517,-0.69234,0.22611,-0.61159,-0.66829,0.42344,0.11115,-0.97259,0.20414,-0.38881,-0.6184,0.68291,0.14176,-0.51228,0.84701,-0.14731,0.17756,0.97299,-0.74923,0.05182,0.66024,-0.16617,0.082644,0.9826,-0.12735,-0.13474,0.98264,-0.2606,-0.11292,0.9588,-0.15464,-0.17155,0.97296,-0.11347,-0.18647,0.97586,-0.049379,-0.32362,0.94488,-0.10016,-0.3336,0.93738,-0.11829,-0.1969,0.97323,-0.15284,-0.21668,0.96417,-0.17945,-0.21943,0.95895,-0.1662,-0.21873,0.96152,-0.14927,-0.19453,0.96945,-0.17045,-0.18818,0.96722,0.50484,0.053072,0.86157,0.54204,0.008332,0.8403,0.51811,-0.006836,0.85525,0.47221,0.013092,0.88138,0.46413,0.010834,0.88568,0.1308,-0.035249,0.99075,0.86126,0.062471,0.50429,0.86456,0.08652,0.49498,0.875,0.14887,0.46065,0.98834,0.14777,-0.036103,0.99371,0.11054,-0.016541,0.84976,0.12626,-0.51179,0.9462,0.31657,-0.066866,0.85632,0.24,0.45723,0.8677,0.21714,0.44707,0.88659,0.17811,0.42683,0.48744,0.029603,0.87262,0.49364,-0.011872,0.86956,0.51564,-0.06415,0.8544,0.51048,-0.076907,0.85641,0.50081,-0.077059,0.86209,0.4579,-0.030457,0.88845,0.49412,-0.17429,0.85171,0.60369,-0.21244,0.76836,0.53774,-0.048921,0.84167,0.4995,-0.037599,0.86547,0.48515,0.042756,0.87335,0.46303,0.22919,0.85617,0.57909,0.24329,0.7781,0.59008,-0.51405,0.62249,0.79025,-0.5887,0.16996,0.94754,0.20624,0.24415,0.90741,0.21836,0.35899,0.91464,0.2085,0.34629,0.95602,0.23167,-0.17966,0.95199,0.26441,-0.15406,0.7684,0.27332,-0.57863,0.69649,0.21232,-0.68539,0.95288,0.20432,-0.22416,0.015595,0.11112,-0.99368,0.90774,0.15735,0.38884,0.92163,0.085665,0.37843,0.93203,0.11054,0.34504,0.93265,0.039552,0.35853,0.93332,0.012268,0.35881,0.97018,0.20057,-0.13602,0.88082,0.12928,0.4554,0.85751,0.099857,0.50465,0.90103,0.096103,0.42293,0.90753,0.090304,0.41011,0.90197,0.13062,0.41148,-0.017182,0.2045,-0.9787,-0.43309,0.21479,-0.87536,-0.34297,0.20048,-0.91769,0.014466,0.16208,-0.98666,-0.44914,0.20985,-0.86843,-0.49754,0.006867,-0.8674,-0.73382,0.052034,-0.67733,0.22434,-0.18058,-0.95761,-0.022858,-0.25132,-0.96762,-0.35063,-0.26753,-0.89746,0.024781,0.40529,-0.91385,0.06476,-0.090365,-0.99377,-0.54939,-0.36055,-0.75375,-0.83462,-0.14945,-0.53014,-0.91006,0.048616,-0.41154,-0.99817,-0.026002,0.054567,-0.92227,0.082034,0.3777,-0.76363,0.26157,0.59023,-0.6711,0.47401,0.56996,-0.51476,0.76168,0.39344,-0.37907,0.92322,0.062807,-0.29994,0.83639,-0.45875,0.012848,0.47609,-0.87927,0.017548,-0.17243,-0.98486,-0.67083,-0.47642,-0.56832,-0.88949,0.25535,-0.37886,-0.93024,0.28782,-0.22751,-0.95541,0.20472,0.21268,-0.83883,0.21549,0.49989,-0.63536,0.63097,0.44514,-0.87973,0.13379,0.45619,-0.88421,-0.23945,0.40098,-0.72686,-0.47609,0.49492,-0.86721,-0.12732,0.48134,-0.87817,0.44176,0.18332,-0.97876,0.17203,0.11142,-0.78408,-0.22669,0.57771,-0.98325,0.040498,0.17759,-0.70611,-0.2736,0.6531,-0.97894,-0.037019,0.20069,-0.70659,-0.24778,0.6628,-0.96841,-0.001068,0.24927,-0.67229,-0.26664,0.69057,-0.15522,-0.52879,0.83441,-0.22733,-0.94012,0.25385,-0.60909,-0.73367,0.30113,-0.95791,0.039583,0.28425,-0.95413,-0.063021,0.29258,-0.79134,0.11216,0.60094,-0.94894,0.23481,0.21052,-0.9129,0.33344,-0.23527,-0.89019,0.27641,-0.36213,-0.90661,0.12091,-0.40425,-0.95764,-0.057405,-0.28211,-0.53612,-0.060854,-0.84191,-0.58467,-0.38704,-0.71294,0.026002,-0.17835,-0.98361,0.073244,0.13016,-0.98877,0.62777,0.009919,-0.77831,0.67269,0.14457,-0.72564,0.95694,-0.099673,-0.27253,0.95819,-0.081759,-0.27412,0.70366,0.17176,-0.68941,0.11216,0.32609,-0.93866,-0.515,0.23292,-0.82491,-0.51204,0.412,-0.75365,-0.52577,0.45451,-0.71896,-0.9299,0.29673,-0.21723,-0.93335,0.26682,-0.24006,-0.91049,0.24091,-0.33607,-0.88986,0.26554,-0.37095,-0.84164,0.39058,-0.37288,-0.67544,0.63418,-0.3762,-0.51485,0.84484,0.14527,-0.23133,0.54021,-0.80908,0.22645,-0.028565,-0.97357,-0.67,-0.71325,-0.20576,-0.81585,0.50029,0.28996,-0.31672,0.94369,0.095492,0.049898,0.99872,0.005524,-0.97525,-0.015076,-0.22056,-0.99832,0.044679,-0.036683,0.45567,-0.38731,0.80145,0.9266,0.016724,0.37565,0.87597,-0.41874,0.23936,0.42146,-0.54155,0.72735,-0.29234,-0.49275,0.81958,-0.20533,-0.46599,0.86059,-0.14216,-0.4482,0.88253,0.48448,-0.55022,0.68004,0.10129,-0.91903,0.38084,0.71441,-0.67077,0.19916,0.75246,-0.36506,0.54817,-0.001007,0.82702,0.56212,-0.60256,0.6563,0.45402,-0.94073,0.28745,0.17982,-0.96655,-0.15418,-0.20481,-0.61409,-0.54637,-0.56947,-0.002136,-0.51985,-0.85424,0.52709,-0.24711,-0.81304,0.90762,-0.31364,-0.27897,0.67064,-0.65087,0.35572,0.91141,-0.34626,0.22224,0.90487,-0.37397,0.20325,0.94617,-0.13184,-0.2956,0.70745,0.13312,-0.69408,0.1287,0.40019,-0.90731,0.12244,0.40519,-0.90597,0.70244,0.18116,-0.68825,0.94504,-0.1435,-0.29377,0.8428,0.53703,-0.035279,0.54949,0.82141,-0.15274,0.14695,0.49355,-0.85717,-0.53099,0.45656,-0.71383,-0.43593,0.44276,-0.7835,-0.39262,0.36461,-0.84432,-0.42683,0.35475,-0.83181,-0.10678,0.4893,-0.86554,0.50581,-0.50313,0.70067,0.33226,-0.84347,0.42201,0.97501,0.11658,0.18912,0.61418,0.63164,0.47301,0.61937,0.54347,0.56655,-0.014801,0.74892,0.66246,-0.62661,0.60543,0.49068,-0.94681,0.26951,0.17563,-0.96832,-0.16651,-0.18601,-0.62151,-0.59532,-0.50917,0.010254,-0.73009,-0.68325,0.014405,-0.79016,-0.61269,0.62444,-0.609,-0.489,0.62493,-0.65258,-0.42848,0.92972,-0.32643,-0.17032,0.94064,-0.31913,-0.11536,0.96304,0.11066,0.24552,0.96857,0.11203,0.22202,0.63836,0.55449,0.53383,-0.029817,0.75897,0.65044,-0.64464,0.59062,0.48537,-0.94824,0.25269,0.19224,-0.97278,-0.16526,-0.16227,-0.63897,-0.57683,-0.50887,0.029237,-0.77917,-0.62609,0.64101,-0.63381,-0.43281,0.94256,-0.309,-0.12662,0.95132,-0.26841,-0.15131,0.97333,0.14432,0.17826,0.6354,0.58467,0.50435,-0.053957,0.78866,0.61242,-0.66094,0.60021,0.45042,-0.95129,0.24183,0.19108,-0.97644,-0.17441,-0.12693,-0.64128,-0.609,-0.46672,0.056429,-0.79833,-0.59954,0.6617,-0.61135,-0.434,0.59355,-0.45323,0.66497,0.5587,-0.25105,0.79043,0.43754,-0.098575,0.89377,0.23298,0.023072,0.9722,-0.01471,0.028718,0.99945,-0.20063,-0.096683,0.97485,-0.29771,-0.2974,0.90713,-0.27931,-0.57485,0.7691,0.039003,-0.81381,0.57976,0.44536,-0.70412,0.553,-0.36161,-0.53258,0.76522,-0.37785,-0.2223,0.89877,-0.27104,-0.003601,0.96255,-0.76952,-0.047304,0.6368,-0.74923,-0.4615,0.47502,-0.34794,-0.90396,0.24857,0.003784,-0.7813,0.6241,0.35722,-0.9169,0.17783,0.18558,-0.28608,0.94003,-0.62008,0.33052,0.71151,-0.087619,0.22422,0.97058,-0.18982,0.68108,0.70714,0.33604,0.32841,0.88272,0.50966,0.63369,0.58193,0.63854,0.050111,0.76794,0.88015,0.16236,0.446,0.89737,-0.24619,0.36616,0.76037,-0.59075,0.26981,0.41703,-0.65276,0.6324,0.56917,-0.44407,0.69195,0.64769,-0.24082,0.7228,0.54305,-0.50636,-0.66982,-0.50325,0.78988,0.35041,-0.35261,0.69176,0.63015,-0.3245,0.52815,0.78466,0.4836,-0.47636,0.73428,0.86767,-0.26734,0.41911,0.81201,-0.40352,0.42161,-0.33696,0.22065,0.91528,-0.44493,-0.1604,0.88104,-0.73269,-0.62755,0.26325,-0.97122,-0.23737,-0.018097,-0.51778,-0.82629,-0.22159,-0.34022,-0.90725,-0.2472,-0.18137,-0.962,-0.20392,-0.076571,-0.99036,0.1153,0.10263,-0.62133,0.77676,0.21775,-0.966,0.13913,0.29798,-0.90234,0.31141,0.32197,-0.81304,0.485,0.45088,-0.77071,0.45018,0.48662,-0.66188,0.57015,0.53053,-0.53017,0.66137,0.69515,-0.4807,0.53447,0.67214,-0.73397,0.097354,0.89926,-0.41838,0.12745,0.92093,-0.3375,0.19477,0.9378,-0.29908,-0.17609,0.90054,-0.29142,-0.32252,0.97266,-0.23176,0.01471,0.8999,0.22034,-0.37629,0.60118,-0.1981,-0.77413,0.57115,0.38609,-0.72433,0.15076,0.23161,-0.96103,0.088839,-0.27912,-0.95611,0.29292,-0.31721,-0.90197,0.58495,-0.2956,-0.75524,0.79775,-0.32487,-0.50792,0.86935,-0.17338,-0.46272,0.54418,-0.15226,-0.82501,0.11875,-0.15497,-0.98074,-0.77786,-0.096103,-0.62102,-0.40165,-0.058901,-0.91388,-0.062258,-0.28394,-0.95679,-0.4185,-0.31724,-0.85098,-0.3495,-0.39946,-0.84747,-0.27116,-0.71966,-0.63915,-0.66048,-0.48909,-0.56966,-0.65471,-0.65728,-0.37318,-0.56041,-0.75545,-0.33943,-0.53008,-0.78832,-0.31223,-0.44371,-0.88067,-0.16584,-0.096377,-0.98984,0.10431,0.25187,-0.89117,0.37727,0.41652,-0.80264,0.42689,0.38319,-0.54915,0.74267,0.31654,-0.46477,0.8269,0.065859,-0.3245,0.94357,0.00705,-0.11051,0.99384,-0.073977,-0.27088,0.95975,-0.029786,-0.39155,0.91965,0.014588,0.18738,0.98215,-0.2804,-0.18824,0.94122,-0.13156,0.77261,0.62108,-0.36586,0.79476,0.48421,0.007904,0.90988,0.41475,-0.59371,0.2479,0.76553,-0.19562,-0.95279,0.23219,-0.1659,-0.89663,0.41044,-0.23331,-0.69631,0.67873,-0.14136,-0.74099,0.65645,-0.11185,-0.919,0.378,-0.030122,-0.36036,0.93231,-0.027406,-0.055635,0.99805,-0.23209,-0.41121,0.88147,-0.46019,-0.67507,0.57656,-0.60811,0.13745,0.78182,-0.80633,-0.4026,0.43324,-0.37465,-0.89352,0.24744,-0.38707,0.91586,0.10642,-0.61486,-0.69048,0.38093,-0.61626,-0.73388,0.28568,-0.96246,-0.041536,0.26817,-0.90371,-0.34724,0.25034,-0.35673,-0.91531,0.18687,-0.82269,-0.43049,0.37126,-0.79165,-0.41572,0.44768,-0.91803,-0.25822,0.30088,-0.93725,-0.30943,0.16047,-0.96774,-0.095828,0.23289,-0.88748,-0.44667,-0.11313,-0.82354,-0.53099,-0.1995,-0.78002,-0.51042,-0.36192,-0.78726,-0.45308,-0.41819,-0.62746,-0.68706,-0.36638,-0.94531,-0.083621,-0.31526,-0.92242,-0.1428,-0.35878,-0.88482,-0.30839,-0.34922,-0.93347,-0.30708,-0.1851,-0.8967,-0.42573,-0.12107,-0.93051,-0.35939,0.070223,-0.9064,-0.32557,0.26905,-0.91971,-0.20389,0.33546,-0.91656,0.017518,0.39949,-0.87265,0.12015,0.47331,-0.90228,0.13019,0.41099,-0.61202,0.087954,0.78591,-0.24503,0.11069,0.96316,-0.43318,-0.72082,0.54106,-0.7383,-0.66988,0.078249,-0.93551,-0.27406,0.22282,-0.98321,0.10395,0.14975,-0.82095,-0.52843,-0.21629,-0.41597,-0.90936,-0.001129,-0.51793,-0.85427,-0.044069,-0.49828,-0.86633,-0.034242,-0.19282,-0.95422,0.22858,0.13779,-0.87591,0.46236,0.090579,-0.68236,0.72536,0.15229,-0.86438,0.4792,0.15418,-0.77639,0.61107,0.084872,-0.9169,0.3899,0.39888,-0.5468,0.73611,0.39445,-0.19913,0.89706,-0.049226,-0.18848,0.98083,-0.11399,-0.7582,0.64196,-0.56667,-0.40376,0.71822,-0.56191,0.39354,0.72756,-0.94293,-0.17502,0.28321,-0.60918,-0.75075,0.25538,-0.29865,-0.88156,0.36558,-0.64464,-0.76437,-0.012574,-0.96948,-0.17859,-0.16782,-0.9267,0.19456,-0.32142,-0.85827,0.46199,-0.22333,-0.9443,0.27363,-0.18262,-0.84484,0.5248,0.10379,-0.45549,0.66091,0.59639,-0.85009,0.52596,-0.026093,-0.90268,0.41688,0.10636,-0.96625,0.25046,-0.060213,-0.9255,0.28874,0.245,-0.93374,0.11356,0.33943,-0.97986,-0.078616,0.18339,-0.94952,-0.30195,0.084902,-0.96838,-0.17078,-0.18165,-0.98325,-0.050417,-0.17499,-0.99805,0.033784,0.051973,-0.98633,-0.13382,0.095859,-0.88391,-0.044099,0.4655,-0.80639,0.23716,0.5417,-0.99557,0.083407,-0.043001,-0.96664,0.19855,0.16175,-0.52556,0.50694,0.68319,-0.50026,0.56972,0.652,0.12357,0.40132,0.90753,0.24131,0.50938,0.82598,0.11408,0.51024,0.85241,0.41121,0.25315,0.87567,0.54006,0.17243,0.82376,0.095157,0.08768,0.99158,0.005646,-0.28822,0.95752,-0.16474,0.006165,0.9863,-0.17722,0.11924,0.9769,-0.10605,-0.21613,0.97058,-0.16855,-0.44032,0.88183,-0.24989,-0.42396,0.87048,-0.6231,0.23569,0.74575,-0.5457,-0.12513,0.82858,-0.088198,0.87787,0.47066,0.11698,0.94638,0.30107,-0.11359,0.43321,0.8941,-0.047182,-0.33848,0.93979,0.15079,-0.37562,0.9144,0.32685,-0.44414,0.83419,0.40007,-0.32716,0.85608,0.14225,-0.31834,0.93722,0.05829,-0.094272,0.99384,-0.10053,0.10096,0.98978,-0.007691,0.27482,0.96145,0.2974,0.23136,0.92627,0.43336,0.44243,0.78512,0.081301,0.18268,0.9798,-0.61467,0.03061,0.78817,-0.86111,-0.19291,0.47035,-0.92904,-0.36869,-0.030183,-0.88952,-0.4568,0.007691,-0.89087,-0.016266,0.45393,-0.46052,0.74074,0.48903,-0.78289,0.00238,0.62212,-0.6523,0.56969,0.49989,-0.66478,0.56716,0.48613,-0.73928,0.1247,0.66173,-0.66347,-0.5685,0.4864,-0.9487,-0.024445,0.31516,-0.87503,0.30207,0.37822,-0.97165,-0.15961,0.17438,-0.96716,-0.21107,-0.14139,-0.94018,-0.038972,-0.33839,-0.87405,0.075777,-0.47984,-0.97006,0.17319,-0.17008,-0.99335,-0.060976,-0.097568,-0.53465,-0.61916,-0.57509,-0.81698,-0.38066,-0.43312,0.7243,-0.31654,-0.61251,0.36042,-0.70998,-0.60494,0.14948,-0.079012,-0.98559,0.3715,0.9284,-0.006592,-0.82067,0.40309,-0.40492,-0.77053,0.56685,0.29145,-0.6961,0.69997,-0.15943,0.53615,0.80444,-0.25568,-0.71432,0.42113,-0.55885,0.68038,0.37263,-0.63103,-0.098331,-0.26985,-0.95785,0.62477,-0.14438,-0.76733,-0.91827,0.27262,-0.28709,-0.99493,0.080355,-0.060244,-0.96347,-0.26743,0.012543,-0.95416,-0.24628,-0.1699,-0.98541,-0.14014,0.096225,-0.95608,-0.23435,0.17594,-0.89843,-0.2617,0.35249,-0.72689,-0.20826,0.65438,-0.61708,-0.58513,0.52611,-0.66775,-0.11118,0.73598,-0.81835,-0.15821,0.55248,-0.91595,-0.25086,0.31312,-0.8814,-0.35966,0.30613,-0.71639,-0.59432,0.3654,-0.68944,-0.64071,0.33778,-0.92892,0.25806,0.26545,-0.84002,-0.50636,0.19477,-0.87713,-0.21296,0.4304,-0.61272,-0.10681,0.78301,-0.25086,-0.20209,0.94668,0.24763,-0.38636,0.88845,0.28468,0.064058,0.95645,-0.32524,0.22987,0.91723,-0.23783,-0.053835,0.96979,0.14368,-0.15085,0.97803,0.063509,-0.17518,0.98245,-0.41334,-0.003143,0.91055,-0.14884,0.29109,0.94504,-0.31584,0.56459,0.76253,-0.29951,0.56163,0.77126,-0.075991,-0.037599,0.99637,-0.32142,-0.57366,0.75338,-0.46004,0.12049,0.87967,-0.34861,0.73904,0.5764,-0.027253,0.24448,0.96924,-0.3715,-0.58879,0.71779,-0.22443,-0.026307,0.97412,-0.55385,-0.11289,0.82491,-0.46217,-0.21226,0.86099,-0.12882,-0.27332,0.95325,-0.34022,-0.16541,0.92566,-0.17237,-0.64846,0.74145,-0.19172,-0.60219,0.77496,0.00531,-0.51906,0.8547,-0.2681,-0.16489,0.94916,-0.35423,0.19654,0.91424,-0.20863,-0.22303,0.95221,-0.58974,0.27055,0.76089,-0.79708,0.20325,0.56862,-0.85864,-0.15598,0.48823,-0.95566,0.07297,0.28526,-0.89572,0.35072,0.27323,-0.90295,0.36213,0.23133,-0.75921,0.30241,0.57625,-0.579,0.32401,0.74816,-0.56911,0.36592,0.73632,-0.71542,0.39149,0.57866,-0.68578,0.58055,0.43883,-0.4767,0.62032,0.62282,-0.38026,0.38643,0.84027,-0.36894,0.29649,0.88086,-0.041139,0.33775,0.94031,0.001465,0.34843,0.93732,-0.2483,0.5739,0.78036,-0.061495,0.86325,0.50096,-0.26743,0.8938,0.36,0.076571,0.99393,-0.078829,-0.4547,0.86923,0.19398,-0.23795,0.92605,-0.29286,0.073519,0.73702,-0.67183,-0.42283,0.59365,-0.68465,0.39808,0.77221,-0.49513,0.64757,0.72842,-0.22367,0.35911,0.91702,0.17334,0.31346,0.74746,0.58568,0.19062,0.55669,0.80853,0.50618,0.25111,0.82504,0.30119,0.060793,0.9516,-0.043458,0.059206,0.99728,-0.089846,-0.37156,0.92404,-0.086215,-0.26334,0.96081,0.056825,-0.24961,0.96667,0.14301,-0.15714,0.97714,0.21641,-0.28519,0.93371,0.55538,-0.061525,0.82928,0.39149,-0.26655,0.8807,0.36766,-0.23118,0.90075,0.40718,-0.071383,0.91055,0.19227,0.015809,0.9812,0.40776,-0.19153,0.89276,0.54741,-0.32994,0.76904,0.58797,-0.47383,0.65554,0.5689,-0.16526,0.8056,0.67867,0.052339,0.73254,0.59923,0.38163,0.70373,0.53969,0.38316,0.7496,0.63759,0.41603,0.64833,0.75628,0.22987,0.61251,0.81668,0.085482,0.5707,0.95245,0.15635,0.26142,0.7777,0.57558,0.25269,0.52535,0.73653,0.42601,0.87268,-0.13495,0.46925,0.91824,-0.09064,-0.38548,-0.066164,0.935,-0.34837,0.41243,-0.31187,-0.85592,0.13309,0.81051,-0.57036,0.33656,0.68438,0.64675,0.72317,0.39952,0.56334,0.45399,0.37602,-0.80773,0.94784,-0.28568,-0.14124,0.61104,-0.40226,0.68172,0.33433,-0.080996,0.93893,-0.085116,0.55648,0.82647,0.40339,0.15247,0.90222,0.53334,-0.10593,0.83923,0.49452,-0.70406,0.5096,0.48592,-0.71191,-0.50697,0.6758,-0.63753,0.36985,0.58992,-0.14389,-0.79449,-0.48152,0.17795,-0.85815,-0.25446,-0.2132,-0.94327,-0.66921,-0.11167,-0.73461,-0.7499,0.10913,-0.65246,-0.77309,0.25294,-0.58162,-0.7756,0.43739,-0.45509,-0.8507,0.40419,-0.33598,-0.81997,0.57201,0.019562,-0.62999,0.76177,-0.15094,-0.52669,0.75243,-0.39543,0.19962,-0.47319,0.85803,-0.79318,-0.58232,0.17801,-0.52327,-0.53896,0.66002,0.008759,-0.59438,0.8041,-0.28257,-0.058901,0.95743,-0.61467,0.029603,0.7882,-0.86114,-0.050172,0.50581,-0.86044,-0.10324,0.49895,-0.53575,-0.50502,0.67666,-0.27705,-0.11203,0.95428,-0.18043,-0.59267,0.78497,-0.49312,-0.61022,0.62001,-0.61211,-0.11716,0.78201,-0.84838,-0.17969,0.49788,-0.72866,-0.58443,0.35697,-0.89209,-0.37861,0.24653,-0.95267,0.202,0.22709,-0.55593,0.77902,0.28983,-0.30262,0.95273,-0.02646,-0.41865,0.88284,0.21281,-0.67351,-0.12333,0.72878,-0.56758,0.23487,0.78909,-0.83151,0.44407,0.33369,0.23966,0.64803,0.72289,-0.3834,0.63515,0.67046,-0.4279,-0.305,0.85076,0.013428,0.97354,0.228,0.789,0.61428,-0.010224,0.079897,0.95276,0.29292,0.74694,0.65581,-0.10929,0.86697,-0.41975,-0.26853,0.88446,0.18876,-0.42668,0.71905,0.69463,0.020966,0.8789,0.23689,-0.41398,0.4937,0.86947,0.015412,0.49296,0.80895,-0.3202,-0.12858,0.98991,0.059587,-0.12858,0.98991,0.059588,-0.12858,0.98991,0.059587,0.45003,0.45558,-0.76803,0.78948,0.1391,-0.59777,0.92807,-0.20188,-0.31288,0.49355,-0.79632,-0.34962,0.030881,-0.99945,-0.012282,0.030886,-0.99945,-0.012269,0.030885,-0.99945,-0.012268,0.030886,-0.99945,-0.012268,-0.63897,-0.73086,0.23978,-0.51079,-0.81991,0.25846,-0.79873,0.43138,0.41939,-0.66057,0.56816,0.49071,0.32276,-0.71715,0.61763,0.78607,0.33644,0.51851,0.92346,-0.32862,0.19794,0.46928,-0.87954,-0.078341,0.12519,0.91113,0.39256,0.042817,0.89862,0.43657,-0.12857,0.9899,0.059572,-0.65624,0.65129,0.38096,-0.67574,0.72829,0.11362,-0.12858,0.98991,0.059588,-0.20331,0.8417,-0.50014,-0.6852,0.49046,-0.53841,-0.28794,0.13803,-0.94763,0.35649,0.1344,-0.92456,0.74859,0.087008,-0.65728,0.58361,-0.68612,-0.43428,0.40986,-0.56307,-0.71758,0.030893,-0.99945,-0.012273,0.030894,-0.99945,-0.012273,0.31505,-0.001913,0.94907,0.31505,-0.001912,0.94907,-0.08794,-0.92772,-0.36277,-0.049104,-0.96701,-0.24989,-0.6856,-0.71807,0.11945,-0.88748,-0.24869,0.38795,0.030885,-0.99942,-0.012268,0.030889,-0.99945,-0.01226,-0.95859,0.10349,0.26524,-0.69665,0.52278,0.49126,-0.91769,0.10389,0.3834,-0.9686,0.14011,0.20524,-0.97442,0.046144,0.21989,-0.92654,0.080508,-0.36741,-0.74078,-0.52236,-0.42235,-0.65133,-0.73513,0.18784,-0.36338,0.068728,-0.92907,-0.15326,-0.55934,-0.81463,0.2096,0.079501,-0.97452,-0.86621,0.17338,-0.46861,-0.91859,-0.033212,0.39381,0.31505,-0.001912,0.94907,0.83981,0.032596,-0.5419,-0.40724,0.64428,0.6473,-0.36326,-0.81307,0.45485,0.24155,-0.28925,0.92624,-0.88815,0.31675,0.33287,-0.93548,-0.35328,-0.002899,-0.001317,-0.99996,-0.008362,-0.41804,-0.89258,-0.16886,-0.7839,0.59206,-0.18683,-0.087924,0.97379,0.20966,-0.16629,0.95144,0.25889,-0.72253,0.63433,-0.27485,-0.23377,0.90667,0.35105,-0.72344,0.67745,-0.13282,-0.14856,0.89865,0.4127,-0.4966,0.86297,-0.092837,0.10404,0.99365,0.04239,0.10406,0.99367,0.042409,0.10406,0.99367,0.042408,-0.31117,0.42244,-0.85128,0.27439,0.83517,-0.47658,-0.16044,0.11258,-0.98059,0.47408,0.14756,-0.86801,0.73687,0.53545,-0.41261,0.61067,0.76717,0.19608,0.56349,0.66988,0.48341,0.56441,0.53456,0.62899,0.67751,0.45525,0.57765,0.52367,0.58846,0.61599,0.21253,0.64849,0.73092,0.46406,-0.80425,0.37117,0.59087,-0.71175,0.37974,0.66207,-0.69823,0.2722,0.87548,0.13126,0.46507,0.78872,-0.22221,0.57314,0.8114,0.12055,0.57189,0.90222,0.07419,0.42479,0.89993,0.17972,0.39726,0.93231,0.22395,-0.28388,0.55385,0.074709,-0.82925,0.98166,0.10462,-0.15931,0.828,-0.5034,-0.24686,0.34043,-0.55843,-0.75643,-0.001321,-0.99996,-0.008369,-0.001322,-0.99996,-0.008369,0.61431,-0.7159,0.33174,0.81219,-0.005942,0.58336,-0.51273,-0.006499,0.85853,-0.51273,-0.0065,0.85853,-0.70326,0.006864,-0.7109,-0.59069,0.063295,-0.80438,-0.45766,-0.704,-0.54305,-0.83279,-0.22898,-0.50398,-0.23005,-0.57738,-0.78335,0.00412,0.069369,-0.99756,-0.65313,0.10154,-0.75039,-0.77831,0.22059,-0.58782,-0.77584,0.16224,-0.60967,-0.38521,-0.81127,-0.4398,0.12729,-0.96637,-0.22343,-0.001312,-0.99994,-0.008362,-0.001319,-0.99996,-0.00836,-0.001318,-0.99996,-0.008362,-0.77706,-0.44487,-0.4452,-0.001309,-0.99996,-0.008376,-0.43483,0.79174,-0.42894,0.1886,-0.9265,-0.32562,0.1886,-0.9265,-0.32562,0.71166,0.34638,-0.61116,0.755,0.40513,-0.51555,0.90307,0.28556,-0.32075,0.66262,0.34401,-0.66524,0.57137,0.40281,-0.71499,0.48085,0.32954,-0.81249,0.55269,0.29756,-0.77844,0.67528,0.3564,-0.64571,0.84951,0.31407,-0.42384,0.9389,0.31971,-0.12726,0.9664,0.19974,-0.16175,0.92892,0.19993,-0.31156,0.91855,0.32972,-0.21802,0.97775,0.19312,-0.081668,0.92886,0.29444,0.22468,0.90634,0.15818,0.39177,0.8236,0.25663,0.50572,0.69048,0.012879,0.7232,0.59966,-0.059969,0.79797,0.37651,-0.15519,0.9133,0.33006,-0.10123,0.93851,0.51268,-0.043214,0.85748,0.25837,0.03885,0.96524,0.24937,0.054506,0.96686,0.19407,0.20347,0.95962,0.17432,0.21857,0.96011,0.14939,0.28764,0.94598,0.87817,0.096255,0.46849,0.97803,0.2046,-0.039705,0.85858,0.4872,-0.15943,0.75469,0.64794,-0.10285,0.64833,0.75906,-0.058718,0.65072,0.75591,-0.071505,0.67864,0.72781,-0.098483,0.89932,0.43397,0.053407,0.7705,0.58864,-0.24451,0.51729,0.71169,-0.47526,0.41566,0.61067,-0.67397,0.39265,0.6592,-0.64126,0.74755,0.17502,0.64067,0.77969,0.2266,0.58367,0.7474,0.39879,0.5313,0.76907,0.40959,0.49062,0.65789,0.57665,0.48436,0.93387,0.34916,0.077059,0.86126,0.4843,-0.15384,0.83276,0.39857,-0.3842,0.39805,0.5006,-0.7687,0.34892,0.49898,-0.79324,0.31871,0.68197,-0.65825,-0.5454,0.59365,-0.59169,-0.99688,0.022597,-0.07566,-0.84802,0.32331,-0.41984,-0.99678,0.022682,-0.076893,-0.56249,0.66115,-0.49645,0.64821,0.68044,-0.34172,0.73071,0.65624,-0.18809,0.71145,0.68194,-0.16959,0.8815,0.47124,0.029511,0.51308,0.31846,-0.79705,0.56688,0.37736,-0.73226,0.42354,0.30631,-0.85247,-0.024079,0.60631,-0.79482,-0.33332,0.57738,-0.74532,-0.44145,0.83987,-0.31571,0.2494,0.44993,-0.85751,0.66829,0.10733,-0.73608,0.32212,0.53673,-0.77981,-0.20695,0.77346,-0.59905,0.34129,0.56484,-0.75127,0.010895,0.33006,-0.94388,0.079073,0.3556,-0.93127,0.32469,0.32966,-0.8865,0.33039,0.37864,-0.86453,0.2418,0.30873,-0.91989,0.16501,0.27305,-0.94772,0.052248,0.18219,-0.98184,-0.1117,0.36204,-0.92541,0.20402,0.39174,-0.89715,-0.12165,0.63503,-0.76281,-0.11252,0.65041,-0.75118,-0.39766,0.72063,-0.56789,-0.30808,0.47722,-0.82299,-0.27506,0.14261,-0.95077,0.052644,0.27885,-0.95886,-0.004913,0.34132,-0.93991,-0.2606,0.23423,-0.93658,-0.52687,0.17801,-0.83105,-0.2328,0.53191,-0.81414,-0.28031,0.77673,-0.56398,-0.31587,0.81069,-0.4929,-0.31196,0.82,-0.47981,-0.62477,0.19541,-0.75594,-0.46083,0.31465,-0.8298,-0.68026,0.26701,-0.68258,-0.8479,0.089297,-0.52254,-0.8767,0.019593,-0.48057,-0.83377,0.023438,-0.55159,-0.81188,0.45088,-0.37083,-0.6299,0.59404,-0.50029,-0.62078,0.68773,-0.37629,-0.62227,0.7391,-0.25773,-0.65267,0.64821,-0.39213,-0.67873,0.72011,-0.14383,-0.98135,0.19083,0.022523,-0.92083,-0.038209,-0.38804,-0.9747,-0.092898,-0.20316,0.82211,0.067415,-0.56529,0.87848,0.21281,-0.42775,0.96707,0.035218,-0.25196,0.6928,0.1446,-0.70647,0.59212,0.29041,-0.75167,0.44505,0.089877,-0.89096,0.52513,0.28446,-0.80203,0.81912,0.12729,-0.55928,0.94931,-0.22611,-0.21824,0.96399,0.13922,-0.22642,0.97281,0.15238,-0.17423,0.98303,0.05649,-0.17432,0.99557,0.081454,-0.046419,0.99847,0.054201,0.009522,0.93466,0.15632,0.31925,0.93536,0.006897,0.35356,0.67727,-0.034791,0.73489,0.72982,-0.021912,0.68328,0.55507,-0.163,0.81564,0.37889,-0.11463,0.9183,0.53285,-0.045747,0.84493,0.19587,-0.16327,0.96692,0.062014,-0.21622,0.97436,0.18235,0.001556,0.98321,0.24165,0.23853,0.94058,0.091403,0.51085,0.85476,0.89624,0.049318,0.44081,0.82174,0.19813,0.53429,0.84259,0.30598,0.4431,0.73589,0.56249,0.37687,0.76022,0.56667,0.31764,0.66518,0.69759,0.26618,0.95132,0.30619,0.034089,0.79437,0.56218,-0.23002,0.78897,0.51878,-0.32917,0.85812,0.36421,-0.36183,0.84719,0.38133,-0.36991,0.83358,0.41298,-0.3668,0.8717,0.46232,0.16242,0.88885,0.44728,0.099033,0.8349,0.54848,0.045534,0.83593,0.54878,-0.004364,0.71386,0.70028,0.001801,0.87259,0.41038,-0.26484,0.79641,0.37779,-0.47221,0.91388,0.022858,-0.40529,0.70791,0.11313,-0.69713,0.88012,0.17859,-0.43983,0.93722,0.2794,-0.20856,0.89401,0.063723,-0.44346,0.7524,0.32951,-0.57033,0.50072,0.42787,-0.75243,0.45747,0.18577,-0.86959,0.76177,0.12146,-0.63631,0.96222,0.091464,-0.25635,0.76721,-0.004273,-0.64138,0.32307,0.38087,-0.86633,0.12906,0.64013,-0.75732,0.21821,0.48491,-0.84686,0.1305,0.33445,-0.93332,0.098666,0.3346,-0.93716,0.097598,0.40071,-0.91098,0.091983,0.42357,-0.90115,0.25947,0.24732,-0.93353,0.046937,0.27195,-0.96115,0.047243,0.28864,-0.95624,-0.19123,0.30735,-0.93216,0.047182,0.26093,-0.96417,0.037233,0.38429,-0.92242,0.30454,0.051393,-0.95108,0.32032,0.23197,-0.91846,0.26582,0.089328,-0.95987,0.24564,0.058473,-0.96759,0.045808,0.14838,-0.98785,-0.066103,0.098605,-0.99292,-0.19309,0.20484,-0.95953,-0.40019,0.05063,-0.91501,-0.49571,0.42711,-0.75619,-0.19706,0.3477,-0.91665,0.099002,0.22471,-0.96936,-0.15534,0.23588,-0.95926,-0.15241,0.28163,-0.94732,-0.38221,0.23731,-0.89306,-0.29719,0.60607,-0.73779,-0.34678,0.30113,-0.88827,-0.19596,0.62938,-0.75195,-0.27458,0.60451,-0.74777,-0.30168,0.63533,-0.71084,-0.29838,0.64379,-0.70461,-0.43416,0.093112,-0.89599,-0.57854,0.071017,-0.81253,-0.67699,0.16752,-0.71664,-0.76266,0.052614,-0.64461,-0.66671,0.28639,-0.68807,-0.85678,0.36836,-0.36082,-0.38774,0.44829,-0.80538,-0.85064,0.14927,-0.50404,-0.27924,0.32633,-0.90304,-0.93551,-0.047151,-0.35008,-0.83917,-0.28434,0.46358,-0.87909,0.46309,0.1127,-0.72802,0.054018,-0.6834,-0.83477,-0.041597,-0.54897,-0.81732,-0.054964,-0.57353,0.85794,-0.45588,-0.23676,0.90475,-0.31553,0.28602,0.7289,-0.56063,0.39287,-0.99979,-0.01764,-0.008881,-0.97452,0.21992,0.043519,-0.94137,0.32987,0.070376,-0.82604,0.56178,0.044862,-0.13684,0.21433,-0.9671,-0.19855,0.023011,-0.9798,-0.44926,0.050325,-0.89196,0.21674,0.0665,-0.97394,0.24006,0.23295,-0.94238,0.43806,0.084017,-0.89499,0.49516,0.29023,-0.81887,0.73995,0.10489,-0.66442,0.60881,0.1045,-0.78637,0.84851,0.05768,-0.52602,0.85479,0.22456,-0.46785,0.74041,0.30577,-0.59856,0.97525,0.19761,-0.098941,0.98145,-0.03531,-0.18842,0.98321,0.03473,0.17896,0.9252,0.058565,0.37486,0.80047,-0.044984,0.59764,0.6899,-0.18406,0.70006,0.34788,-0.37666,0.85852,0.39964,-0.26072,0.87878,0.9227,-0.0618,0.38047,0.73064,0.098544,0.67559,0.30613,-0.32472,0.89486,0.65221,0.040132,0.75695,0.79913,0.43455,0.41533,0.98706,0.15912,-0.018464,0.98602,0.11499,0.1203,0.95154,0.20768,-0.22666,0.82195,0.15329,-0.54848,0.71923,0.24522,-0.65004,0.65963,0.50029,-0.56084,0.74432,0.45769,-0.48625,0.85742,0.51329,-0.036653,0.87185,0.47279,0.12763,0.82635,0.56239,0.028382,0.66369,0.74349,0.081912,0.74117,0.64858,0.17316,0.65096,0.75344,-0.092441,0.61879,0.72021,-0.31367,0.494,0.86917,-0.021119,0.68279,0.59044,-0.43031,0.68148,0.64592,-0.34397,0.60628,0.69561,-0.38533,0.44166,0.54302,-0.71413,0.37022,0.19227,-0.90881,0.3112,0.63295,-0.70885,0.28092,0.73165,-0.62105,0.26282,0.70247,-0.66137,0.27607,0.66814,-0.69088,0.12326,0.51173,-0.85025,0.000275,0.69143,-0.7224,-0.063753,0.65209,-0.75543,-0.10886,0.77187,-0.62633,0.008972,0.59639,-0.80261,-0.041932,0.76025,-0.64824,0.023896,0.46474,-0.8851,0.19269,0.23905,-0.95166,0.10047,0.13965,-0.98508,-0.003815,0.15815,-0.9874,0.042451,0.6534,-0.75579,-0.056398,0.7257,-0.68566,-0.25886,0.7608,-0.59508,-0.23566,0.87466,-0.42357,-0.53011,0.6624,-0.52928,-0.43895,0.57802,-0.68786,-0.1301,-0.26743,-0.95474,-0.4825,0.17026,-0.85916,-0.45683,0.57341,-0.68004,-0.41524,0.75158,-0.5125,-0.76272,0.007538,-0.64666,-0.97055,0.081942,-0.22645,-0.86319,0.38493,-0.32661,-0.99677,0.037019,-0.070956,-0.94104,-0.27915,0.19101,-0.99338,-0.081332,0.080813,-0.79934,0.32594,-0.50472,-0.18574,0.50954,-0.84014,-0.58675,0.081362,-0.80563,-0.17905,0.82705,0.53279,0.596,0.76699,-0.23768,0.579,0.75576,-0.30586,0.72457,0.5822,-0.36875,0.56832,0.63552,-0.52257,0.48054,0.85156,-0.20945,0.73498,0.41755,-0.53423,0.85162,0.37352,-0.36772,0.94934,0.30787,-0.062716,0.79016,0.61171,-0.037355,0.55541,0.83105,0.029054,0.032105,0.99713,0.068239,-0.021851,0.99945,0.024232,0.34031,0.86331,-0.37263,0.44264,0.66832,-0.5978,0.49474,0.44514,-0.74636,0.72274,0.40385,-0.56078,0.73168,0.30531,-0.60942,0.89196,0.32466,-0.31459,0.97858,0.19578,-0.063326,0.94272,0.28053,0.18043,0.80334,0.54546,0.2389,0.49474,0.85174,0.17243,0.093387,0.98428,0.14979,0.10233,0.98743,0.12033,0.032716,0.9657,0.25751,0.19742,0.97992,-0.027314,0.29524,0.84594,-0.44401,0.38484,0.65978,-0.64538,0.47682,0.39253,-0.78646,0.48695,0.23219,-0.84198,0.67556,0.30888,-0.66945,0.9321,0.30567,-0.19425,0.67,0.50645,-0.54271,0.2599,0.45506,-0.85165,0.62126,0.61766,-0.48213,0.57744,0.26289,-0.77291,0.6281,0.35697,-0.69137,0.65703,0.45485,-0.60112,0.58324,0.60585,-0.54103,0.15714,0.29457,-0.94259,0.48881,0.41191,-0.76897,0.041383,0.39702,-0.91687,0.044404,0.48738,-0.87204,-0.36549,0.25651,-0.89474,-0.12213,0.26356,-0.95685,-0.063662,0.42427,-0.90329,0.024689,0.68197,-0.73095,0.11145,0.87497,-0.47111,-0.11301,0.69768,-0.70739,-0.19147,0.46352,-0.86514,-0.20844,0.39647,-0.89404,-0.29612,0.21158,-0.93139,0.21204,0.41984,-0.88244,-0.26936,0.36677,-0.89044,-0.28279,0.52812,-0.80065,-0.65941,0.10736,-0.74404,-0.45299,0.14115,-0.88025,-0.52763,0.3487,-0.77459,-0.28272,0.64879,-0.70647,-0.10385,0.86261,-0.49507,-0.36656,0.62999,-0.68462,-0.36995,0.35273,-0.85946,-0.33311,0.25846,-0.90673,-0.43236,0.2143,-0.87585,-0.4799,0.28092,-0.83111,-0.46968,0.42921,-0.77145,-0.67608,0.16953,-0.71703,-0.583,0.32182,-0.74599,-0.35099,0.49928,-0.79214,-0.66302,0.39757,-0.63427,-0.86965,0.038026,-0.49214,-0.95419,0.0159,-0.29875,-0.82504,0.29533,-0.4817,-0.84014,0.30161,-0.4507,-0.73946,0.55641,-0.37889,-0.73357,0.54289,-0.40876,-0.87051,0.39808,-0.28935,-0.7774,0.43941,-0.45003,-0.85873,0.44942,-0.2461,-0.7839,0.59029,-0.19245,-0.81808,0.31532,-0.48091,-0.90451,0.41932,0.077364,-0.90326,0.4275,0.036256,-0.87979,0.47182,0.057619,-0.69259,0.54286,-0.47493,-0.7839,0.25071,-0.56795,-0.81384,0.1073,-0.57106,-0.93777,0.11496,-0.32762,-0.94556,0.017609,-0.3249,-0.96423,0.044649,-0.26121,-0.92892,-0.070284,-0.36347,-0.97903,0.13639,-0.15119,-0.97958,0.1218,-0.15979,-0.94281,0.3206,0.091128,-0.98141,0.18903,-0.032319,-0.94259,0.10105,-0.31819,-0.83322,0.27238,-0.48112,-0.92227,0.18332,-0.34025,-0.9274,-0.007599,-0.37391,-0.97632,0.090701,-0.19636,-0.97854,0.18055,-0.098941,-0.98248,0.16175,-0.09241,-0.76614,0.54128,-0.34638,-0.87353,0.18726,-0.44926,-0.79571,0.021912,-0.60524,-0.97159,0.16684,-0.16779,-0.97049,0.15439,-0.18506,-0.97064,0.13123,-0.20151,-0.97259,0.1203,-0.19886,-0.93396,0.20392,-0.29341,-0.94388,0.028382,-0.32899,-0.84649,-0.176,-0.5024,-0.98737,0.061068,-0.14615,-0.96078,0.27256,-0.050569,-0.96078,0.26826,-0.070162,-0.99631,0.080447,-0.029267,-0.99557,-0.042787,-0.083407,-0.96344,0.10508,0.24638,-0.93503,0.24268,0.2584,-0.84658,0.50139,0.17841,-0.8554,0.51589,0.046022,-0.63265,0.73037,0.25742,-0.62062,0.70843,0.33601,-0.82656,0.4695,0.3104,-0.94272,0.33338,0.008667,-0.95859,0.28465,0.005524,-0.98596,0.16117,-0.042879,-0.62975,0.62465,0.46168,-0.80282,0.40907,0.4337,-0.84484,0.2349,0.48064,-0.85681,0.066897,0.51125,-0.84451,-0.061525,0.53194,-0.80114,-0.12964,0.58425,-0.79559,-0.082858,0.60012,-0.75503,0.63103,0.17801,-0.88995,0.41072,0.19806,-0.93335,0.27775,0.22736,-0.94235,0.2963,0.15537,-0.96295,0.23679,0.12897,-0.56026,0.67058,0.48619,-0.61754,0.2581,0.74297,-0.95041,0.26878,0.15629,-0.6083,-0.01062,0.7936,-0.7535,-0.11325,0.6476,-0.28693,-0.16852,0.94299,-0.54109,0.2295,0.80902,-0.14042,0.44578,0.88403,0.057772,0.79687,0.60134,-0.32102,0.84753,0.42259,0.031037,0.9686,0.24662,0.1789,0.96127,0.20951,0.030824,0.97983,0.19739,0.047975,0.90857,0.41493,0.14948,0.85351,0.49913,-0.006928,0.96628,0.25733,0.12687,0.92254,0.36436,0.016968,0.93069,0.36537,0.15644,0.92584,0.34401,0.088687,0.948,0.30564,0.30372,0.93115,0.20161,0.21662,0.96701,0.13385,0.36204,0.91119,0.19648,0.47218,0.85647,0.20847,0.16687,0.97986,-0.10959,0.027497,0.99194,-0.1236,-0.21741,0.89978,-0.37825,-0.34275,0.69659,-0.63027,-0.4229,0.83715,-0.34687,-0.49052,0.83169,-0.26002,-0.5504,0.82482,-0.12925,-0.70037,0.55742,-0.44578,-0.52568,0.83273,-0.17365,-0.71877,0.60457,-0.34327,-0.86779,0.48662,-0.1005,-0.85678,0.51195,0.061586,-0.57817,0.81399,0.055696,-0.53887,0.83688,-0.095798,-0.26511,0.9628,0.051698,-0.38423,0.92306,0.016724,-0.30293,0.95059,0.067751,-0.19248,0.97705,-0.090915,-0.23563,0.86679,0.43947,-0.29203,0.93408,0.2053,-0.32362,0.9212,0.21586,0.013825,0.99191,0.12604,0.44319,0.75411,0.4846,0.59725,0.74151,0.30564,0.81371,0.44694,0.37156,0.65828,0.447,0.60564,0.59206,0.40587,0.69622,0.62355,0.46358,0.62948,0.34474,0.77014,0.53667,0.033052,0.96814,0.24812,-0.045015,0.97281,0.22706,-0.022645,0.99188,0.1251,-0.11844,0.92868,0.35142,-0.14072,0.95291,0.26853,-0.22547,0.96771,0.11261,-0.33558,0.94198,0.004028,-0.28944,0.93258,0.21552,-0.26719,0.8995,0.34562,-0.18049,0.81155,0.55568,-0.18427,0.78411,0.59261,-0.10547,0.69921,0.70708,-0.28327,0.94195,0.18003,-0.09415,0.91028,0.40312,-0.001679,0.84063,0.54155,0.10367,0.68685,0.71932,0.10184,0.65804,0.74603,0.17957,0.56359,0.80627,0.018921,0.76632,0.64214,-0.000671,0.8088,0.58803,-0.33961,0.79934,0.49568,-0.72262,0.56969,0.39146,-0.86123,0.41984,0.28626,-0.94342,0.31883,0.091037,-0.92178,0.29224,0.25468,-0.95389,0.29411,-0.059816,-0.32862,0.29725,0.89645,-0.28364,-0.02942,0.95846,-0.47456,-0.20902,0.85501,-0.011017,-0.011719,0.99985,0.14945,0.16898,0.97421,0.32209,0.3343,0.88568,-0.40996,0.62859,0.66088,-0.10242,0.48061,0.87091,-0.10269,0.26301,0.95929,-0.14588,0.10099,0.9841,-0.16654,-0.017335,0.98587,0.18299,0.51885,0.83502,-0.005982,0.83636,0.54814,0.38917,0.73693,0.55266,0.027375,0.74642,0.66488,0.2649,0.81078,0.52193,0.35987,0.83837,0.40937,0.70791,0.47841,0.51958,0.53414,0.46254,0.7076,0.22907,0.52602,0.81903,0.45354,0.37867,0.80676,0.2516,0.2118,0.94433,-0.20734,0.028993,0.97781,0.40321,-0.080142,0.91156,0.28123,-0.30909,0.90848,0.77248,-0.20301,0.60167,0.54131,0.11454,0.83297,0.35939,0.21992,0.90689,0.31312,0.13993,0.93933,0.29099,0.13614,0.94696,0.30204,0.16306,0.93924,0.67717,0.17405,0.71493,0.8366,0.045839,0.54585,0.76281,-0.11264,0.63671,0.6321,-0.24143,0.73629,0.66372,-0.002411,0.74795,0.51643,0.24796,0.81961,0.70791,0.30622,0.63643,0.39988,0.19043,0.89654,0.26057,0.20286,0.94388,0.26926,0.28623,0.91952,0.26997,0.29698,0.91589,0.27412,0.32893,0.90368,0.63439,0.34419,0.6921,0.66573,0.37205,0.64678,0.53313,0.43126,0.72781,0.5168,0.60732,0.60335,0.77215,0.35075,0.5298,0.39302,0.53655,0.74673,0.31321,0.56844,0.76074,0.2469,0.68895,0.68145,0.88623,0.27073,0.37583,0.93521,0.12568,0.331,0.97806,0.2082,-0.007508,0.82388,0.38908,-0.41203,0.95105,0.30869,-0.014161,0.91903,0.067324,0.38832,0.92782,0.37291,-0.007172,0.92032,0.21775,0.32484,0.97406,0.14069,0.17713,0.96145,0.24696,0.1207,0.97092,0.23707,0.03296,0.88275,0.45384,0.12143,0.25776,0.29872,0.91885,0.25843,0.30662,0.91604,0.96756,0.24329,0.067721,0.87262,0.37379,-0.31431,0.62923,0.43599,-0.64339,0.79928,0.52461,-0.29307,0.69829,0.42,-0.57958,0.70925,0.38411,-0.59108,0.84747,0.34156,-0.40632,0.60717,0.34983,-0.71337,0.30869,0.42058,-0.85308,0.537,0.55437,-0.63579,0.87213,0.42491,-0.2425,0.57497,0.59771,-0.55867,0.17493,0.54723,-0.81848,0.56008,0.46293,-0.687,0.75051,0.33393,-0.57024,0.7228,0.4391,-0.53356,0.86196,0.31056,-0.40065,0.91501,0.37736,-0.14249,0.98447,0.17539,-0.001465,0.90774,0.2823,0.31025,0.95929,0.20566,0.19346,0.87393,0.10398,0.47475,0.75835,0.091922,0.64531,0.71337,0.23405,0.66051,0.64742,0.064547,0.75939,0.71001,0.12915,0.69222,0.71737,0.1959,0.66854,0.65331,0.052705,0.75521,0.71313,0.10349,0.69332,0.62883,0.05826,0.77532,0.39793,0.083499,0.9136,0.39241,0.073916,0.91681,0.7037,0.082522,0.70568,0.70144,-0.1503,0.69665,0.69585,-0.15793,0.70058,0.68612,-0.17997,0.70486,0.66417,-0.056276,0.74542,0.82147,0.000305,0.57021,0.83847,0.021058,0.54451,0.83892,0.24021,0.4883,0.8356,0.37025,0.40577,0.83135,0.38194,0.40361,0.96689,0.25516,0.001831,0.93374,0.35685,-0.027161,0.89035,0.45332,0.041932,0.88211,0.46373,0.082614,0.80715,0.5797,0.11142,0.93875,0.23398,-0.25288,0.81213,0.43535,-0.38841,0.75729,0.61724,-0.21326,0.92743,0.37336,0.020173,0.63994,0.75204,-0.15766,0.62526,0.72884,-0.27891,0.6874,0.6212,-0.3762,0.43626,0.41746,-0.79708,0.2928,0.40263,-0.86724,0.24796,0.4044,-0.88031,0.39476,0.47114,-0.78875,0.75112,0.44346,-0.489,0.49916,0.47652,-0.72369,-0.014863,0.37501,-0.92688,0.43483,0.31446,-0.84381,0.78893,0.44801,-0.42048,0.097385,0.39924,-0.91165,0.070009,0.584,-0.80871,0.40721,0.56575,-0.71697,0.058748,0.781,-0.62172,-0.35456,0.55052,-0.75573,-0.16263,0.40831,-0.89822,-0.20942,0.28449,-0.93551,0.075625,0.39293,-0.91644,0.26704,0.4818,-0.83459,-0.049135,0.38624,-0.92108,-0.51167,0.30815,-0.80197,-0.44227,0.17933,-0.87875,-0.31675,0.22413,-0.92163,-0.31288,0.32069,-0.89398,-0.34342,0.47774,-0.80856,-0.36586,0.50157,-0.7839,-0.35273,0.64156,-0.68114,-0.63744,0.14185,-0.75732,-0.64287,0.078921,-0.76186,-0.70461,0.087008,-0.70418,-0.60155,0.30812,-0.73699,-0.55919,0.38798,-0.7326,-0.52934,0.49101,-0.69182,-0.78051,0.15079,-0.60665,-0.78799,0.28248,-0.54701,-0.86407,0.11573,-0.48985,-0.83645,-0.032655,-0.54701,-0.89532,0.044374,-0.44319,-0.90875,0.068392,-0.41163,-0.9274,-0.014435,-0.3737,-0.93979,-0.030915,-0.34031,-0.94653,-0.063814,-0.31617,-0.94858,-0.05475,-0.31169,-0.94589,-0.025666,-0.32337,-0.88836,0.004334,-0.45909,-0.89941,-0.050508,-0.4341,-0.85495,0.17988,-0.4865,-0.81866,0.23334,-0.5247,0.09653,-0.9267,-0.36314,-0.76614,-0.28788,0.57457,-0.76363,-0.51286,-0.39216,-0.044984,-0.30271,0.95199,0.65014,-0.68804,0.32234,0.59407,-0.19056,0.78149,0.85775,-0.50185,0.11118,0.20222,0.19352,0.95999,0.3994,-0.076479,0.91357,0.69732,-0.69954,-0.15604,0.2356,-0.62014,-0.74825,-0.38447,-0.44423,-0.8092,0.23502,-0.5974,-0.76672,-0.73437,-0.3123,-0.60259,-0.79638,-0.45036,-0.40361,-0.96542,0.25703,0.043367,-0.84289,0.29084,0.45265,-0.99411,0.10639,0.020356,-0.38234,0.36393,0.8493,-0.32173,0.33637,0.88504,-0.41642,0.57204,0.70663,-0.35575,0.77715,0.51906,-0.77731,0.62371,0.081942,-0.27479,0.72939,0.62645,-0.76095,0.63396,0.13788,-0.38502,0.51552,0.7655,-0.89297,0.39891,0.20844,-0.90484,0.1959,0.37794,-0.95328,-0.015015,-0.30168,-0.94757,0.15769,-0.27784,-0.90139,0.041566,-0.43092,-0.86871,-0.017365,-0.49498,-0.79073,-0.017457,-0.6119,-0.87963,0.058931,-0.47194,-0.34117,-0.17896,-0.92279,-0.13361,-0.21439,-0.96756,-0.72133,-0.021363,-0.69225,0.063082,-0.19257,-0.97925,0.39064,-0.2757,-0.87826,0.4673,-0.23261,-0.8529,0.76077,-0.29209,-0.57955,0.90957,-0.22791,-0.34739,0.98221,-0.12339,0.14142,0.94882,-0.090732,0.30247,0.77618,0.009583,0.63042,0.74365,0.10559,0.66018,0.30903,0.13895,0.94083,0.12626,0.24247,0.96188,-0.44877,0.17216,0.87689,-0.42821,0.27213,0.86172,-0.87991,0.1189,0.45998,-0.91491,-0.039583,-0.40169,-0.82437,-0.032655,-0.56508,0.34532,0.40446,0.84683,0.3404,0.5923,0.73025,0.2548,0.56587,0.78408,0.13138,0.33421,0.93329,0.70864,-0.10208,0.69814,-0.26298,0.25443,0.93063,-0.52632,0.26487,0.80795,-0.94085,-0.24265,-0.23633,-0.69774,-0.44704,-0.55968,-0.75109,-0.24735,-0.61208,-0.91684,-0.30369,-0.25907,-0.82855,-0.20661,-0.52037,-0.86227,-0.35041,-0.36561,-0.78948,-0.21671,-0.57421,-0.42106,-0.36875,-0.82867,-0.20316,-0.33131,-0.92135,0.3961,-0.23215,-0.88836,-0.10514,-0.21216,-0.97156,0.3581,-0.20435,-0.91101,0.24915,-0.26655,-0.93103,0.74395,-0.23142,-0.62685,0.8359,-0.10044,-0.53954,0.99054,-0.026337,-0.13459,-0.77325,-0.15204,-0.61556,-0.94858,-0.079989,-0.30622,-0.87295,0.12345,-0.47185,-0.83062,-0.10355,-0.5471,0.89453,0.13916,0.42476,0.84149,0.20432,0.50008,0.71483,0.13184,0.6867,0.73168,-0.042726,0.68026,0.056673,0.26661,0.96213,-0.37999,0.15958,0.9111,-0.91375,0.064333,0.40107,-0.53182,-0.21067,-0.82022,-0.992,0.03766,-0.1203,-0.11417,-0.22123,-0.9685,0.4337,-0.32704,-0.83959,-0.77682,0.040223,0.62841,-0.90664,0.26545,0.32786,-0.56288,-0.001129,-0.8265,-0.95743,0.23499,-0.16749,-0.091464,-0.17744,-0.97986,0.44584,-0.32859,-0.83257,-0.71661,0.061312,0.69475,-0.8732,0.30189,0.38252,-0.618,0.012879,-0.78604,-0.92071,0.35084,-0.17072,-0.18513,-0.07239,-0.98004,0.36088,-0.34312,-0.86718,-0.54753,-0.01883,0.83654,-0.80096,0.32508,0.50273,-0.58003,0.068667,-0.81167,-0.80694,0.57131,-0.14972,-0.056185,-0.040834,-0.99756,0.36299,-0.46339,-0.80837,0.48277,-0.36934,-0.79403,0.89871,-0.12604,-0.41996,0.91955,-0.37345,-0.12217,0.98938,-0.043733,0.13849,0.99744,0.031159,0.063967,0.89676,0.007263,0.44243,0.83218,-0.17341,0.52663,0.52632,-0.14643,0.83755,-0.46355,0.19593,0.8641,0.92105,-0.30158,-0.24625,0.44917,0.069369,0.89071,0.10691,0.096438,0.98956,-0.53456,0.17231,0.82736,-0.91015,0.19895,0.36332,-0.59481,-0.002075,-0.80383,-0.91403,0.38151,-0.13767,-0.098392,0.055788,-0.99356,0.42045,-0.24168,-0.87451,0.47566,-0.28623,-0.83172,0.9628,-0.2468,0.10977,0.46651,-0.14002,0.87335,-0.37434,0.13691,0.91711,-0.56298,0.17075,0.80862,-0.99402,-0.063265,0.088931,-0.51207,-0.58525,0.62865,0.030732,-0.6357,-0.77129,0.31684,-0.94815,0.023957,0.29328,-0.66115,0.69051,0.85815,-0.51073,0.051881,0.49092,-0.23566,-0.83871,0.89145,-0.38383,-0.24067,-0.65288,0.09714,-0.75118,0.11313,-0.16294,0.9801,-0.58721,0.25355,0.76867,-0.87442,0.39064,0.28764,-0.53447,0.1518,-0.83142,-0.74419,0.64599,-0.16974,0.001892,0.13593,-0.99069,0.42912,-0.30415,-0.85046,0.50212,-0.33549,-0.79702,0.8648,-0.42695,-0.26417,0.90555,-0.4236,0.022797,0.11048,0.000549,0.99387,-0.41762,0.17063,0.89242,-0.56267,0.26124,0.78429,-0.98071,0.19492,0.013764,-0.69744,-0.50243,0.51094,-0.072604,-0.57878,-0.81222,0.013031,-0.99683,-0.078402,0.037416,-0.807,0.58931,0.67382,-0.73888,0.002045,-0.012665,-0.3173,0.94821,0.45509,-0.34053,0.82272,0.803,-0.54412,-0.24308,0.48418,-0.33207,-0.80947,-0.49931,0.33,-0.80108,-0.45363,0.21274,0.86541,-0.55864,0.27186,0.78356,-0.82873,0.47874,0.28977,-0.47993,0.29304,-0.8269,-0.67449,0.71496,-0.184,-0.013337,0.25382,-0.96713,-0.4214,0.463,-0.77975,-0.15882,-0.4489,-0.87933,0.42836,-0.29307,-0.85473,0.34861,-0.25819,-0.90097,0.42433,-0.3246,-0.8453,0.84036,-0.44612,-0.30778,0.88107,-0.24198,0.40635,0.55443,-0.19657,0.80865,0.51088,-0.3787,0.77172,-0.43303,0.19578,0.87982,-0.46336,0.25953,0.84728,-0.68776,0.59911,0.40989,-0.27171,0.42229,-0.86474,0.41865,-0.4123,-0.80914,0.44612,-0.48408,-0.75274,0.76766,-0.60134,-0.22141,0.69262,-0.72118,0.011414,-0.064516,-0.12888,0.98953,-0.4474,0.26081,0.85543,-0.52596,0.33406,0.78213,-0.56847,0.80724,-0.15854,0.15061,0.09299,-0.98419,0.45012,-0.45476,-0.76849,0.59832,-0.77004,-0.22141,0.1908,-0.53468,0.82321,-0.2537,-0.21827,0.94232,-0.85284,-0.20988,0.47807,-0.86047,0.50334,-0.078768,-0.33479,0.46376,-0.82025,-0.10611,-0.4915,-0.86438,0.44673,-0.89438,0.022034,-0.19666,-0.76055,0.61873,-0.15879,-0.98724,-0.009735,0.051454,-0.056001,0.9971,-0.46257,0.19202,0.86554,-0.60277,0.3054,0.73714,-0.93109,0.35801,-0.069765,-0.81393,-0.37385,0.44462,-0.1207,-0.9881,-0.095065,-0.12647,-0.82577,0.54961,0.567,-0.82339,-0.021973,-0.1486,-0.33903,0.92895,0.34867,-0.44108,0.82693,0.734,-0.62432,-0.26728,0.85162,-0.52394,-0.014222,-0.21552,0.41969,0.88168,-0.077273,-0.92968,0.36006,0.57079,0.25834,0.77938,-0.75854,-0.35368,0.54723,-0.77917,0.31404,0.54244,-0.77148,-0.61898,0.14716,0.021851,-0.99014,-0.13828,-0.17817,-0.9505,-0.25449,-0.83541,-0.41923,0.35536,-0.57445,0.63155,0.52068,0.13074,0.87802,0.46037,-0.40425,0.66005,0.63314,0.18928,0.88021,0.43516,-0.27165,0.888,0.37095,0.23215,0.96496,0.12223,0.8891,0.40596,0.21134,0.94855,0.31404,-0.039949,0.1666,0.96954,-0.17939,0.73263,0.61531,-0.2909,0.92947,-0.36244,-0.068575,0.87048,-0.48476,0.085238,0.67742,-0.72301,-0.13517,0.69466,-0.70778,-0.12821,0.84884,0.43663,0.29795,0.79016,-0.55226,0.26569,-0.096622,0.99503,-0.023194,-0.82702,0.36824,0.42473,-0.46443,0.88494,0.03412,-0.86984,0.4358,0.23106,-0.47182,0.88104,-0.032929,-0.88525,0.44755,0.12644,-0.96463,0.16102,0.20863,-0.99991,-0.005158,-0.010071,-0.99268,-0.10343,0.062319,-0.78546,-0.53883,-0.30442,-0.77309,-0.57399,-0.26985,-0.23093,-0.85263,-0.46864,-0.25892,-0.90417,-0.33967,-0.85745,-0.51207,0.050203,-0.21549,-0.94018,-0.26374,-0.79708,-0.54778,0.25404,-0.66408,-0.71642,0.21378,-0.14084,-0.93371,-0.32905,-0.21195,-0.93304,-0.29063,-0.58605,-0.62459,0.51613,-0.34269,-0.84768,0.40489,-0.17277,-0.92053,-0.35032,0.36286,-0.88876,-0.27995,0.28004,-0.67693,0.68065,0.73989,0.3654,0.56481,0.77819,0.53255,-0.3328,0.26139,0.86172,0.43486,0.47945,0.79562,-0.37025,0.42637,-0.10111,-0.89886,0.23371,-0.40596,-0.88348,0.43562,-0.52095,-0.734,0.55983,-0.55733,-0.61312,0.6288,-0.62673,-0.46019,0.43046,-0.82312,-0.37031,0.58461,-0.76397,-0.27299,0.91485,-0.38508,-0.12119,0.9389,-0.33586,0.075014,0.81307,-0.49947,-0.29896,0.97711,-0.1883,-0.09888,0.87973,-0.26005,-0.39802,0.90774,-0.1966,-0.37052,0.84036,-0.33778,-0.42384,0.93426,-0.17606,-0.31004,0.83944,-0.32395,-0.43626,0.93612,-0.18885,-0.29661,0.97284,-0.12391,-0.19547,0.96268,-0.07889,-0.25886,0.82028,0.50706,0.2645,0.71087,0.35191,0.60894,0.33488,0.70495,0.62517,0.33576,0.44026,0.8327,-0.28318,0.63653,0.71734,-0.47313,0.49498,0.72875,-0.84976,0.30174,0.43223,-0.88949,0.25657,0.37803,-0.9874,-0.14344,0.066775,-0.99771,-0.016297,0.065249,-0.81686,-0.44292,-0.36946,-0.65767,-0.63799,-0.40046,-0.27866,-0.67367,-0.68444,-0.27006,-0.77816,-0.567,0.13321,-0.6621,-0.73745,0.25425,-0.7358,-0.62761,0.37995,-0.76852,-0.51476,0.17093,-0.85534,-0.48903,-0.3246,-0.83587,-0.44261,-0.69069,-0.68014,-0.24555,-0.98984,-0.13587,0.04178,-0.88305,0.39152,0.25864,-0.32862,0.90323,0.27598,0.17539,0.97165,-0.15848,0.30033,0.9462,0.1204,0.75747,0.56169,-0.33268,0.84478,0.49358,-0.20661,0.91348,-0.21802,-0.34349,0.83471,-0.5428,0.092563,0.99228,-0.11466,0.046815,0.37333,0.84503,0.38273,-0.22211,0.83776,0.49876,-0.84622,0.27287,0.45759,-0.92309,0.051515,0.38105,-0.91745,-0.079897,0.38972,-0.53746,0.42634,0.72753,-0.47255,0.40611,0.78213,-0.32597,0.4069,0.8533,-0.10889,0.30985,0.94452,0.1424,-0.09827,0.98489,0.23008,0.86465,0.44655,0.67858,0.69552,-0.23606,0.78924,0.61306,-0.035096,0.19608,0.83709,0.51067,0.22181,0.79766,0.56078,0.84039,0.52959,0.11518,0.33476,0.468,0.81783,-0.21601,-0.9031,-0.37111,0.60442,-0.58074,-0.54531,-0.15085,-0.87997,-0.45039,0.52959,-0.50221,-0.68358,-0.19053,-0.88726,-0.42003,-0.67443,-0.72027,0.16218,-0.60427,-0.62581,0.49312,-0.39088,-0.85659,0.3368,-0.12021,-0.85583,-0.50307,0.42021,-0.87118,-0.25382,0.2526,-0.71413,0.65279,0.71779,0.24097,0.65319,0.10053,-0.18006,0.97848,-0.133,0.23066,0.96387,-0.29426,0.3556,0.88708,-0.41053,0.43052,0.8038,-0.82867,-0.49174,0.26731,-0.49269,0.49977,0.71233,0.32185,0.83148,0.45277,0.33195,0.82446,0.45833,0.82644,0.53529,-0.17435,0.87017,0.48866,-0.063173,0.95093,-0.28968,-0.10868,0.5678,0.64126,0.5161,-0.27665,-0.89334,-0.35408,0.5374,-0.64031,-0.54875,-0.23676,-0.89587,-0.3759,0.46797,-0.56859,-0.6765,-0.26011,-0.9057,-0.33467,-0.67885,-0.70366,0.20972,-0.64473,-0.58513,0.49184,-0.5327,-0.77612,0.33735,-0.19388,-0.89868,-0.39341,0.28919,-0.9566,-0.034822,0.033235,-0.68633,0.72649,0.55983,0.21049,0.80139,-0.1511,-0.090701,0.98434,-0.28172,0.29557,0.91281,-0.34492,0.37684,0.85964,-0.42003,0.45619,0.78448,-0.84411,-0.45222,0.28791,-0.50584,0.53636,0.67556,0.31123,0.84994,0.42509,0.35328,0.82983,0.43187,0.81973,0.52608,-0.22636,0.88577,0.45671,-0.082461,0.89502,-0.41966,-0.15085,0.66564,0.59542,0.44984,-0.28193,-0.89117,-0.35533,-0.83694,-0.34031,0.42857,-0.6737,-0.6852,0.27677,-0.25175,-0.86694,-0.43013,-0.30558,-0.86447,-0.39909,-0.62017,-0.53041,0.57793,-0.56688,-0.75631,0.32646,-0.27018,-0.84329,-0.46455,0.24366,-0.95776,-0.15262,0.0253,-0.72533,0.68792,0.63466,0.17081,0.75365,-0.093905,-0.086306,0.99182,-0.18772,0.33302,0.92401,-0.21598,0.399,0.89111,-0.27531,0.50099,0.82046,-0.36753,0.61782,0.69509,0.3289,0.79968,0.5023,0.92258,0.38292,-0.047029,0.44594,-0.69768,-0.56066,0.39439,-0.54973,-0.73635,0.82998,0.52055,-0.20026,0.3361,0.80654,0.48631,0.34764,0.80734,0.47676,0.75662,0.58702,-0.28791,0.33958,-0.45177,-0.82495,0.29395,-0.38905,-0.87304,0.69765,0.62697,-0.3466,0.35432,0.80505,0.47572,0.94977,0.30662,-0.062105,0.64672,-0.24433,-0.72249,0.96902,-0.18583,0.16254,0.92144,-0.033815,-0.38694,-0.1984,-0.87771,-0.43614,0.42418,-0.49251,-0.75991,0.7452,0.58904,-0.31251,0.29237,0.85592,0.42647,0.28419,0.84884,0.44569,0.67922,0.63564,-0.36686,0.37739,-0.44301,-0.8132,0.69619,-0.29459,-0.65459,0.94366,0.33061,0.013276,0.46052,-0.40965,-0.78744,0.73565,0.60808,-0.29835,0.32328,0.8403,0.43516,0.3354,0.84408,0.41832,0.58736,0.70016,-0.4059,0.32221,-0.30409,-0.89648,0.55437,-0.10813,-0.82519,0.87664,0.4301,-0.21558], "colors": [], "uvs": [[0.64067,0.46973,0.63056,0.46508,0.63182,0.46174,0.63786,0.4721,0.64292,0.49328,0.51612,0.98118,0.51688,0.98426,0.50258,0.98898,0.52866,0.98349,0.52866,0.98038,0.51307,0.9612,0.50187,0.98577,0.48863,0.99104,0.4925,0.99379,0.64547,0.49328,0.65457,0.46339,0.65053,0.43366,0.62077,0.45302,0.62077,0.45826,0.033936,0.98118,0.033174,0.98426,0.021389,0.98349,0.047475,0.98898,0.048187,0.98577,0.036977,0.9612,0.021389,0.98038,0.021389,0.96005,0.52866,0.96005,0.51276,0.95843,0.52866,0.95695,0.50539,0.93312,0.48107,0.94126,0.49606,0.96469,0.49859,0.9676,0.48638,0.97858,0.65342,0.49328,0.30708,0.95962,0.30883,0.92974,0.30882,0.95963,0.33464,0.92498,0.33036,0.95963,0.46741,0.97067,0.48167,0.97747,0.46744,0.96604,0.33238,0.95963,0.34638,0.95963,0.463,0.93832,0.45499,0.96609,0.47945,0.93966,0.46717,0.90086,0.45481,0.9003,0.44655,0.93698,0.44246,0.89974,0.4301,0.93564,0.44255,0.96613,0.36039,0.95963,0.34789,0.92458,0.33953,0.89554,0.30474,0.8983,0.343,0.86074,0.30757,0.85753,0.27503,0.86026,0.27503,0.8983,0.62077,0.43366,0.59169,0.43366,0.60973,0.46174,0.58698,0.46339,0.60088,0.46973,0.59608,0.49328,0.58813,0.49328,0.24335,0.9596,0.24123,0.95963,0.24123,0.92974,0.051466,0.9676,0.068379,0.97747,0.063677,0.97858,0.053991,0.96469,0.037292,0.95843,0.068986,0.94126,0.044663,0.93312,0.021389,0.95695,0.021389,0.93034,0.52866,0.93034,0.50474,0.92983,0.50287,0.9003,0.46519,0.86598,0.45349,0.86716,0.4418,0.86835,0.4301,0.86953,0.4301,0.89918,0.57804,0.90167,0.59341,0.90167,0.57804,0.92272,0.59341,0.8776,0.57804,0.8776,0.4301,0.96618,0.37439,0.95963,0.36114,0.92418,0.35115,0.89544,0.35346,0.86191,0.35385,0.83247,0.34358,0.82965,0.30884,0.82668,0.27503,0.82813,0.24248,0.85753,0.24595,0.8983,0.20705,0.86074,0.21053,0.89554,0.21541,0.92498,0.2197,0.95963,0.082644,0.97067,0.082614,0.96604,0.070606,0.93966,0.087055,0.93832,0.08288,0.90086,0.045308,0.92983,0.021389,0.92672,0.52866,0.92672,0.52866,0.90132,0.49827,0.86476,0.4672,0.83414,0.45483,0.83546,0.44247,0.83678,0.4301,0.83809,0.57804,0.94233,0.59341,0.94233,0.57804,0.96339,0.59341,0.92272,0.6112,0.90167,0.6112,0.8776,0.6112,0.85521,0.59341,0.85521,0.57804,0.85521,0.37439,0.92378,0.37439,0.89524,0.36277,0.89534,0.36392,0.86308,0.36412,0.83528,0.36316,0.82119,0.35303,0.81872,0.34291,0.81626,0.30889,0.81251,0.27503,0.81236,0.24122,0.82668,0.20648,0.82965,0.55687,0.37782,0.5557,0.34673,0.58768,0.34417,0.19621,0.83247,0.19702,0.81872,0.18689,0.82119,0.18785,0.8071,0.17787,0.80921,0.18047,0.76779,0.1485,0.81117,0.15231,0.76779,0.12047,0.81085,0.11975,0.76779,0.10774,0.76779,0.1084,0.80997,0.10799,0.82337,0.095777,0.82227,0.095218,0.83546,0.08285,0.83414,0.084863,0.86598,0.051781,0.86476,0.047187,0.9003,0.021389,0.90132,0.021389,0.86409,0.52866,0.86409,0.50137,0.83262,0.46649,0.82117,0.45427,0.82227,0.44206,0.82337,0.42984,0.82447,0.40443,0.83809,0.59341,0.96339,0.57804,0.99589,0.6112,0.94233,0.6112,0.96339,0.62976,0.94233,0.62976,0.92272,0.6112,0.92272,0.62976,0.90167,0.62976,0.8776,0.62976,0.85521,0.62976,0.8343,0.6112,0.8343,0.59341,0.8343,0.57804,0.8343,0.59341,0.81475,0.57804,0.81475,0.37439,0.86425,0.37439,0.83809,0.37329,0.82365,0.37218,0.80921,0.3622,0.8071,0.35222,0.80498,0.34223,0.80287,0.30895,0.79834,0.27503,0.7966,0.2411,0.79834,0.24116,0.81251,0.20715,0.81626,0.19783,0.80498,0.19011,0.76779,0.18154,0.72061,0.15317,0.72061,0.12141,0.72061,0.10918,0.72061,0.096937,0.72061,0.095729,0.76779,0.084698,0.72061,0.083719,0.76779,0.049312,0.76779,0.049215,0.72061,0.021389,0.76779,0.021389,0.72061,0.52866,0.76779,0.50084,0.72061,0.52866,0.72061,0.50074,0.76779,0.46535,0.72061,0.46633,0.76779,0.45432,0.76779,0.45371,0.80909,0.46578,0.80821,0.50004,0.80629,0.52866,0.80483,0.021389,0.80483,0.05001,0.80629,0.084273,0.80821,0.049346,0.81945,0.021389,0.81849,0.021389,0.83215,0.52866,0.83215,0.50071,0.81945,0.52866,0.81849,0.44165,0.80997,0.42959,0.81085,0.40299,0.82463,0.57804,0.76337,0.59341,0.7933,0.57804,0.7933,0.59341,0.76337,0.6112,0.76337,0.6112,0.7933,0.62976,0.76337,0.62976,0.7933,0.66447,0.76337,0.66447,0.7933,0.7109,0.76337,0.7109,0.7933,0.74467,0.76337,0.74467,0.7933,0.7725,0.76337,0.75992,0.96339,0.77354,0.99589,0.74467,0.99589,0.77197,0.96339,0.78583,0.96339,0.78763,0.94233,0.77131,0.94233,0.75791,0.94233,0.77121,0.92272,0.75764,0.92272,0.77099,0.90167,0.75854,0.90167,0.74467,0.92272,0.74467,0.90167,0.7109,0.92272,0.7109,0.94233,0.74467,0.94233,0.74467,0.96339,0.7109,0.99589,0.7109,0.96339,0.66447,0.99589,0.66447,0.96339,0.62976,0.99589,0.62976,0.96339,0.6112,0.99589,0.59341,0.99589,0.66447,0.94233,0.66447,0.92272,0.66447,0.90167,0.66447,0.8776,0.66447,0.85521,0.66447,0.8343,0.66447,0.81475,0.62976,0.81475,0.6112,0.81475,0.7109,0.81475,0.74467,0.81475,0.76984,0.7933,0.76828,0.81475,0.80073,0.7933,0.80073,0.76337,0.80073,0.96339,0.80073,0.99589,0.80073,0.94233,0.80073,0.92272,0.78757,0.92272,0.80073,0.90167,0.7849,0.90167,0.76968,0.8776,0.74467,0.8776,0.7109,0.90167,0.7109,0.8776,0.7109,0.85521,0.7109,0.8343,0.74467,0.8343,0.76819,0.8343,0.80073,0.81475,0.83487,0.7933,0.83487,0.76337,0.87787,0.76337,0.83487,0.99589,0.87787,0.96339,0.87787,0.99589,0.83487,0.96339,0.87787,0.94233,0.83487,0.94233,0.83487,0.92272,0.83487,0.90167,0.83487,0.87852,0.80073,0.87732,0.80073,0.85521,0.76892,0.85521,0.80073,0.8343,0.83487,0.81475,0.87787,0.7933,0.91431,0.76337,0.91431,0.96339,0.91431,0.99589,0.94831,0.96339,0.94831,0.94233,0.91431,0.94233,0.91431,0.92272,0.87787,0.92272,0.91431,0.90167,0.87787,0.90167,0.87787,0.87812,0.87787,0.85521,0.83487,0.85521,0.87787,0.8343,0.83487,0.8343,0.87787,0.81475,0.91431,0.7933,0.94831,0.76337,0.94831,0.99589,0.96312,0.96339,0.96312,0.99589,0.98674,0.96339,0.98674,0.94233,0.96312,0.94233,0.96312,0.92272,0.98674,0.92272,0.98674,0.90167,0.96312,0.90167,0.94831,0.92272,0.94831,0.90167,0.94831,0.87756,0.91431,0.87787,0.91431,0.85521,0.91431,0.8343,0.91431,0.81475,0.94831,0.7933,0.96312,0.76337,0.96312,0.7933,0.98674,0.76337,0.98674,0.99589,0.69239,0.14767,0.69239,0.16904,0.6724,0.1647,0.71238,0.16469,0.72473,0.15331,0.72473,0.13923,0.71238,0.12785,0.96312,0.85521,0.98674,0.8343,0.98674,0.85521,0.96312,0.8343,0.98674,0.81475,0.96312,0.81475,0.94831,0.8343,0.94831,0.85521,0.94831,0.81475,0.98674,0.7933,0.96312,0.87749,0.98674,0.87738,0.69239,0.1235,0.6724,0.12785,0.66004,0.13924,0.66005,0.15331,0.74467,0.85521,0.40155,0.81117,0.36958,0.76779,0.35994,0.76779,0.3503,0.76779,0.34065,0.76779,0.30631,0.76779,0.27503,0.76779,0.24374,0.76779,0.20782,0.80287,0.2094,0.76779,0.55557,0.31969,0.55835,0.28348,0.59035,0.28325,0.19976,0.76779,0.1907,0.72061,0.1908,0.69595,0.18139,0.69595,0.15331,0.69595,0.12092,0.69595,0.10935,0.69595,0.10926,0.68198,0.09777,0.68198,0.10742,0.64782,0.096562,0.64747,0.086277,0.68198,0.085705,0.64712,0.049196,0.68198,0.04939,0.69595,0.021389,0.69595,0.50066,0.69595,0.52866,0.69595,0.46383,0.69595,0.45311,0.72061,0.44231,0.76779,0.4303,0.76779,0.39774,0.76779,0.36851,0.72061,0.35936,0.72061,0.3502,0.72061,0.34105,0.72061,0.30538,0.72061,0.27503,0.72061,0.24467,0.72061,0.209,0.72061,0.55968,0.23612,0.59193,0.236,0.19985,0.72061,0.20021,0.69595,0.19124,0.68198,0.18169,0.68198,0.15367,0.68198,0.12076,0.68198,0.11828,0.64817,0.11805,0.63092,0.10739,0.62962,0.11765,0.61121,0.10642,0.60811,0.096737,0.62833,0.095186,0.605,0.086083,0.62703,0.083952,0.6019,0.093566,0.58367,0.08197,0.58234,0.047627,0.59791,0.048557,0.62291,0.021389,0.62479,0.021389,0.64734,0.52866,0.64734,0.5015,0.62291,0.52866,0.62479,0.50085,0.64555,0.52866,0.68198,0.50086,0.68198,0.46377,0.68198,0.45226,0.69595,0.44088,0.72061,0.42864,0.72061,0.39688,0.72061,0.36867,0.69595,0.35925,0.69595,0.34984,0.69595,0.34043,0.69595,0.30568,0.69595,0.27503,0.69595,0.24438,0.69595,0.20962,0.69595,0.2008,0.68198,0.19128,0.64649,0.18103,0.64747,0.15194,0.64783,0.1513,0.63081,0.15051,0.61127,0.14968,0.58653,0.11676,0.58633,0.14923,0.55879,0.11623,0.55879,0.1157,0.51821,0.14877,0.51821,0.17764,0.51821,0.17802,0.55879,0.18852,0.51821,0.18878,0.55879,0.19941,0.51821,0.19953,0.55879,0.21029,0.51821,0.21029,0.55879,0.24541,0.55879,0.24572,0.51821,0.27503,0.55879,0.27503,0.51821,0.30434,0.51821,0.30464,0.55879,0.27503,0.57538,0.24511,0.57777,0.21029,0.58176,0.19966,0.58331,0.21132,0.60153,0.24574,0.59332,0.27503,0.59254,0.30431,0.59332,0.30494,0.57777,0.33976,0.55879,0.33976,0.51821,0.35052,0.55879,0.33976,0.58176,0.35039,0.58331,0.36128,0.55879,0.36102,0.58487,0.37204,0.55879,0.37165,0.58643,0.40037,0.58653,0.39955,0.61127,0.4324,0.61121,0.43201,0.63092,0.44266,0.62962,0.44263,0.64782,0.45349,0.64747,0.45228,0.68198,0.4407,0.69595,0.42913,0.69595,0.39674,0.69595,0.36836,0.68198,0.35881,0.68198,0.34926,0.68198,0.3397,0.68198,0.3056,0.68198,0.27503,0.68198,0.24446,0.68198,0.21035,0.68198,0.20153,0.6455,0.19047,0.62877,0.18024,0.63062,0.17919,0.61114,0.1784,0.58643,0.18903,0.58487,0.20061,0.60473,0.21092,0.62507,0.24505,0.61836,0.27503,0.61789,0.305,0.61836,0.33914,0.62507,0.33826,0.64452,0.30574,0.64034,0.27503,0.64002,0.24431,0.64034,0.21179,0.64452,0.20069,0.62692,0.1899,0.60793,0.34852,0.6455,0.34936,0.62692,0.34944,0.60473,0.33874,0.60153,0.36015,0.60793,0.35959,0.62877,0.35877,0.64649,0.36902,0.64747,0.36981,0.63062,0.37086,0.61114,0.39875,0.63081,0.43178,0.64817,0.44079,0.68198,0.4293,0.68198,0.39638,0.68198,0.39811,0.64783,0.46435,0.64712,0.46397,0.62703,0.45332,0.62833,0.44363,0.60811,0.43329,0.58633,0.40082,0.55879,0.37242,0.51821,0.36153,0.51821,0.35064,0.51821,0.40128,0.51821,0.43436,0.51821,0.43383,0.55879,0.44539,0.51821,0.44514,0.55879,0.45642,0.51821,0.45645,0.55879,0.46745,0.51821,0.46777,0.55879,0.50155,0.55879,0.50188,0.51821,0.52866,0.55879,0.52866,0.58119,0.50122,0.58022,0.52866,0.59775,0.50243,0.59791,0.4661,0.6019,0.45487,0.605,0.44489,0.585,0.45649,0.58367,0.46808,0.58234,0.021389,0.59775,0.048832,0.58022,0.021389,0.58119,0.048502,0.55879,0.021389,0.55879,0.048172,0.51821,0.021389,0.51821,0.52866,0.51821,0.0826,0.51821,0.082285,0.55879,0.093599,0.55879,0.093632,0.51821,0.10466,0.51821,0.10491,0.55879,0.10516,0.585,0.021389,0.68198,0.049202,0.64555,0.59689,0.20915,0.57122,0.20872,0.20227,0.5024,0.23377,0.48641,0.23265,0.5024,0.20291,0.48641,0.17757,0.5024,0.17773,0.48641,0.14849,0.5024,0.14766,0.48641,0.11541,0.5024,0.11591,0.48641,0.14567,0.4516,0.11532,0.45159,0.14548,0.43814,0.11588,0.436,0.14548,0.42507,0.11693,0.42034,0.1463,0.41539,0.11908,0.40633,0.14694,0.39988,0.11942,0.39403,0.14805,0.37464,0.11974,0.37377,0.15163,0.33083,0.12144,0.33083,0.15426,0.28924,0.12371,0.28924,0.15494,0.25787,0.1243,0.25542,0.15429,0.24041,0.12408,0.23776,0.15363,0.22377,0.12352,0.22123,0.15173,0.20491,0.12278,0.20622,0.15075,0.16561,0.12287,0.16561,0.15039,0.12452,0.12248,0.12452,0.14957,0.091528,0.12085,0.099164,0.14891,0.064733,0.1214,0.070962,0.14987,0.042155,0.12176,0.042155,0.15223,0.017017,0.12094,0.017017,0.15253,0.005452,0.12167,0.005452,0.59513,0.14743,0.59079,0.17508,0.61896,0.17049,0.56575,0.16924,0.5518,0.15142,0.55188,0.13619,0.56424,0.12381,0.21927,0.017017,0.22035,0.005452,0.23812,0.005452,0.2008,0.017017,0.20131,0.005452,0.17956,0.017017,0.17945,0.005452,0.17876,0.044294,0.20035,0.046968,0.21991,0.043759,0.23873,0.017017,0.26611,0.005452,0.26611,0.017017,0.23845,0.042155,0.26579,0.042155,0.23896,0.055818,0.26566,0.061564,0.23703,0.081157,0.26552,0.084612,0.047472,0.056462,0.018685,0.083405,0.018824,0.059244,0.047114,0.081762,0.018676,0.12452,0.047771,0.12452,0.070598,0.084544,0.071091,0.12452,0.092453,0.088122,0.070867,0.063295,0.07021,0.042155,0.095603,0.042155,0.095076,0.017017,0.070864,0.017017,0.046596,0.042155,0.018951,0.042155,0.047691,0.017017,0.019271,0.017017,0.04801,0.005452,0.070931,0.005452,0.095809,0.005452,0.63052,0.13481,0.63088,0.1526,0.61842,0.12229,0.59018,0.11954,0.019271,0.005452,0.099991,0.12452,0.071516,0.16561,0.048337,0.16561,0.048076,0.20456,0.07132,0.20443,0.099204,0.16561,0.10057,0.20496,0.071151,0.21894,0.047851,0.21904,0.047562,0.23513,0.070935,0.23509,0.10073,0.21966,0.10029,0.23603,0.070976,0.25264,0.047617,0.25233,0.048062,0.28924,0.069615,0.28924,0.10046,0.25378,0.10101,0.28924,0.068338,0.33083,0.046246,0.33083,0.041383,0.36822,0.061609,0.37282,0.098848,0.33083,0.092553,0.37345,0.058648,0.38216,0.038683,0.37554,0.035635,0.38183,0.055705,0.39002,0.014029,0.38334,0.014029,0.37248,0.5119,0.38183,0.53351,0.37248,0.53351,0.38334,0.53102,0.36842,0.50885,0.37554,0.5293,0.36474,0.50616,0.36822,0.52827,0.36333,0.50129,0.33083,0.52827,0.33083,0.49948,0.28924,0.52827,0.28924,0.49992,0.25233,0.52827,0.25155,0.49998,0.23513,0.52827,0.22824,0.49969,0.21904,0.52827,0.21529,0.49946,0.20456,0.52849,0.20221,0.4992,0.16561,0.52861,0.16561,0.49977,0.12452,0.52886,0.12452,0.50042,0.081762,0.52885,0.083405,0.50007,0.056462,0.52871,0.059244,0.52859,0.042155,0.50094,0.042155,0.49985,0.017017,0.47667,0.017017,0.47661,0.005452,0.45173,0.005452,0.45246,0.017017,0.42586,0.005452,0.42659,0.017017,0.39501,0.005452,0.39531,0.017017,0.42578,0.042155,0.45193,0.042155,0.47733,0.042155,0.47667,0.063295,0.47694,0.084544,0.47645,0.12452,0.47602,0.16561,0.44755,0.12452,0.44833,0.16561,0.42506,0.12452,0.42467,0.16561,0.39714,0.12452,0.39679,0.16561,0.42476,0.20622,0.44696,0.20496,0.47622,0.20443,0.47639,0.21894,0.44681,0.21966,0.42402,0.22123,0.3958,0.20491,0.3939,0.22377,0.42346,0.23776,0.44725,0.23603,0.4766,0.23509,0.47656,0.25264,0.47792,0.28924,0.44708,0.25378,0.44653,0.28924,0.42324,0.25542,0.42383,0.28924,0.39259,0.25787,0.39328,0.28924,0.4261,0.33083,0.44869,0.33083,0.4792,0.33083,0.48593,0.37282,0.45498,0.37345,0.4278,0.37377,0.3959,0.33083,0.39949,0.37464,0.42812,0.39403,0.45863,0.38637,0.48889,0.38216,0.49183,0.39002,0.4607,0.39302,0.42846,0.40633,0.4006,0.39988,0.40124,0.41539,0.43061,0.42034,0.46499,0.40956,0.49206,0.40215,0.53351,0.39616,0.014029,0.39616,0.055483,0.40215,0.014029,0.40744,0.53351,0.40744,0.49592,0.42631,0.46705,0.42986,0.43166,0.436,0.46616,0.45011,0.496,0.44785,0.53351,0.42803,0.014029,0.42803,0.051618,0.42631,0.082545,0.40956,0.086837,0.39302,0.088911,0.38637,0.080492,0.42986,0.051533,0.44785,0.014029,0.44872,0.014029,0.48641,0.53351,0.48641,0.53351,0.44872,0.49579,0.48641,0.53351,0.5024,0.49448,0.5024,0.46435,0.48641,0.46507,0.5024,0.43163,0.48641,0.43212,0.5024,0.39988,0.48641,0.39905,0.5024,0.36981,0.48641,0.36997,0.5024,0.34463,0.48641,0.34527,0.5024,0.31377,0.48641,0.31488,0.5024,0.27377,0.48641,0.27377,0.5024,0.62122,0.20904,0.62122,0.23591,0.65051,0.236,0.64555,0.20915,0.68276,0.23612,0.67122,0.20872,0.68409,0.28348,0.65209,0.28325,0.68687,0.31969,0.65486,0.316,0.68674,0.34673,0.65476,0.34417,0.68557,0.37782,0.65329,0.37511,0.65124,0.41636,0.62122,0.37603,0.62119,0.41636,0.59161,0.41636,0.58915,0.37511,0.62122,0.34465,0.62122,0.3149,0.58757,0.316,0.62122,0.28302,0.27377,0.45003,0.23407,0.44967,0.20512,0.45259,0.17605,0.45294,0.17613,0.43965,0.17595,0.42673,0.17563,0.41683,0.17533,0.40101,0.17486,0.37553,0.17554,0.33083,0.17609,0.28924,0.17616,0.25864,0.17715,0.24619,0.17798,0.23697,0.17982,0.2137,0.17524,0.19655,0.17612,0.16561,0.17743,0.12452,0.1762,0.098264,0.17587,0.068995,0.20111,0.084044,0.2178,0.063127,0.2176,0.082473,0.21777,0.12452,0.19758,0.12452,0.1979,0.16561,0.21693,0.16561,0.23899,0.12452,0.26551,0.12452,0.24027,0.16561,0.26576,0.16561,0.018925,0.16561,0.019044,0.20221,0.019271,0.21529,0.019271,0.22824,0.019271,0.25155,0.019271,0.28924,0.019271,0.33083,0.019271,0.36333,0.018237,0.36474,0.016521,0.36842,0.27377,0.38567,0.27192,0.37399,0.27377,0.37716,0.24954,0.38538,0.27377,0.40388,0.23034,0.40543,0.27377,0.42295,0.23076,0.42341,0.20252,0.42504,0.1993,0.41391,0.20114,0.39933,0.19783,0.37594,0.19785,0.33083,0.19905,0.28924,0.20011,0.25881,0.19986,0.23895,0.19954,0.22584,0.19906,0.20695,0.19726,0.19343,0.21766,0.19267,0.24184,0.194,0.26588,0.19907,0.23881,0.21093,0.26611,0.21275,0.24114,0.22737,0.26611,0.22694,0.24285,0.24212,0.26611,0.25186,0.24397,0.25498,0.24386,0.28924,0.26611,0.28924,0.24263,0.33083,0.26611,0.33083,0.24319,0.37033,0.26611,0.36333,0.24581,0.37915,0.26875,0.3698,0.22643,0.39375,0.22253,0.37561,0.221,0.33083,0.22091,0.28924,0.22195,0.25756,0.22152,0.23987,0.22083,0.22032,0.21845,0.20617,0.20483,0.43988,0.23221,0.43769,0.27377,0.43649,0.31533,0.43769,0.31678,0.42341,0.3172,0.40543,0.298,0.38538,0.27562,0.37399,0.27878,0.3698,0.30173,0.37915,0.3211,0.39375,0.30435,0.37033,0.28143,0.36333,0.28143,0.33083,0.30491,0.33083,0.28143,0.28924,0.30367,0.28924,0.28143,0.25186,0.30357,0.25498,0.30468,0.24212,0.28143,0.22694,0.30639,0.22737,0.28143,0.21275,0.30873,0.21093,0.28166,0.19907,0.3057,0.194,0.28178,0.16561,0.30727,0.16561,0.28203,0.12452,0.30855,0.12452,0.28202,0.084612,0.31051,0.081157,0.28188,0.061564,0.30858,0.055818,0.28175,0.042155,0.30908,0.042155,0.28143,0.017017,0.52827,0.017017,0.49953,0.005452,0.52827,0.005452,0.32826,0.017017,0.30942,0.005452,0.32719,0.005452,0.30881,0.017017,0.32763,0.043759,0.32974,0.063127,0.32993,0.082473,0.32977,0.12452,0.33061,0.16561,0.32988,0.19267,0.32909,0.20617,0.32671,0.22032,0.32601,0.23987,0.32559,0.25756,0.32662,0.28924,0.32654,0.33083,0.325,0.37561,0.3464,0.39933,0.34824,0.41391,0.34502,0.42504,0.3427,0.43988,0.34242,0.45259,0.31347,0.44967,0.37148,0.45294,0.37141,0.43965,0.37159,0.42673,0.40205,0.43814,0.40187,0.4516,0.43222,0.45159,0.40206,0.42507,0.37191,0.41683,0.37221,0.40101,0.37268,0.37553,0.34971,0.37594,0.34969,0.33083,0.34849,0.28924,0.34743,0.25881,0.34767,0.23895,0.348,0.22584,0.34848,0.20695,0.35028,0.19343,0.34964,0.16561,0.34996,0.12452,0.34643,0.084044,0.34719,0.046968,0.34673,0.017017,0.34623,0.005452,0.36798,0.017017,0.36808,0.005452,0.36878,0.044294,0.37167,0.068995,0.39863,0.064733,0.39796,0.091528,0.42669,0.099164,0.42614,0.070962,0.39767,0.042155,0.45509,0.088122,0.37134,0.098264,0.37011,0.12452,0.37142,0.16561,0.37229,0.19655,0.36772,0.2137,0.39324,0.24041,0.36956,0.23697,0.37039,0.24619,0.37138,0.25864,0.37145,0.28924,0.372,0.33083,0.28143,0.005452,0.014029,0.5024,0.051746,0.48641,0.081374,0.45011,0.083187,0.48641,0.053057,0.5024,0.082473,0.5024,0.086224,0.69595,0.097789,0.69595,0.048683,0.83262,0.083562,0.82117,0.096337,0.80909,0.095238,0.9003,0.096559,0.86716,0.10759,0.83678,0.12021,0.82447,0.14706,0.82463,0.17677,0.82365,0.18594,0.83528,0.19659,0.86191,0.19891,0.89544,0.20216,0.92458,0.20367,0.95963,0.21767,0.95963,0.09506,0.96609,0.1035,0.93698,0.10759,0.89974,0.10826,0.86835,0.11995,0.83809,0.14563,0.83809,0.17567,0.83809,0.18613,0.86308,0.18729,0.89534,0.18891,0.92418,0.17567,0.92378,0.17567,0.89524,0.57804,0.60692,0.59341,0.58601,0.57804,0.58601,0.59341,0.60692,0.57804,0.62931,0.59341,0.62931,0.6112,0.60692,0.6112,0.62931,0.62976,0.60692,0.62976,0.62931,0.66447,0.60692,0.66447,0.62931,0.7109,0.60692,0.7109,0.58601,0.74467,0.58601,0.74467,0.60692,0.7109,0.62931,0.74467,0.62931,0.76892,0.60692,0.76968,0.62931,0.74467,0.65338,0.75854,0.65338,0.77099,0.65338,0.7849,0.65338,0.77121,0.67443,0.78757,0.67443,0.77131,0.69404,0.75791,0.69404,0.75992,0.7151,0.74467,0.7151,0.74467,0.7476,0.7109,0.7476,0.7109,0.7151,0.74467,0.69404,0.75764,0.67443,0.74467,0.67443,0.7109,0.67443,0.7109,0.65338,0.66447,0.65338,0.62976,0.65338,0.6112,0.65338,0.59341,0.65338,0.57804,0.65338,0.10751,0.96613,0.11995,0.93564,0.11995,0.96618,0.11995,0.89918,0.11995,0.86953,0.57804,0.69404,0.57804,0.7151,0.59341,0.69404,0.59341,0.7151,0.57804,0.7476,0.59341,0.7476,0.59341,0.51508,0.57804,0.51508,0.57804,0.54501,0.59341,0.54501,0.59341,0.56646,0.57804,0.56646,0.17567,0.86425,0.6112,0.56646,0.6112,0.54501,0.62976,0.54501,0.62976,0.56646,0.6112,0.58601,0.62976,0.58601,0.66447,0.58601,0.7109,0.56646,0.74467,0.56646,0.76828,0.56646,0.76819,0.58601,0.80073,0.58601,0.80073,0.60692,0.80073,0.62904,0.80073,0.65338,0.80073,0.67443,0.78763,0.69404,0.77197,0.7151,0.77354,0.7476,0.7725,0.51508,0.74467,0.51508,0.74467,0.54501,0.7109,0.54501,0.7109,0.51508,0.66447,0.54501,0.66447,0.51508,0.66447,0.7476,0.66447,0.7151,0.7109,0.69404,0.66447,0.69404,0.62976,0.7151,0.62976,0.7476,0.6112,0.7476,0.6112,0.7151,0.62976,0.69404,0.66447,0.67443,0.62976,0.67443,0.6112,0.67443,0.59341,0.67443,0.57804,0.67443,0.6112,0.69404,0.6112,0.51508,0.62976,0.51508,0.66447,0.56646,0.76984,0.54501,0.80073,0.54501,0.80073,0.56646,0.83487,0.56646,0.83487,0.58601,0.83487,0.60692,0.83487,0.63023,0.83487,0.65338,0.83487,0.67443,0.80073,0.69404,0.83487,0.69404,0.80073,0.7151,0.83487,0.7151,0.80073,0.7476,0.80073,0.51508,0.83487,0.51508,0.83487,0.54501,0.87787,0.54501,0.87787,0.56646,0.87787,0.58601,0.87787,0.60692,0.87787,0.62983,0.87787,0.65338,0.87787,0.67443,0.87787,0.69404,0.87787,0.7151,0.83487,0.7476,0.87787,0.7476,0.87787,0.51508,0.91431,0.51508,0.91431,0.54501,0.91431,0.56646,0.91431,0.58601,0.91431,0.60692,0.91431,0.62959,0.91431,0.65338,0.91431,0.67443,0.91431,0.69404,0.91431,0.7151,0.91431,0.7476,0.94831,0.7151,0.94831,0.7476,0.94831,0.51508,0.94831,0.54501,0.94831,0.56646,0.94831,0.58601,0.94831,0.60692,0.94831,0.62927,0.94831,0.65338,0.94831,0.67443,0.94831,0.69404,0.96312,0.67443,0.96312,0.65338,0.96312,0.6292,0.98674,0.62909,0.98674,0.65338,0.98674,0.67443,0.96312,0.69404,0.98674,0.69404,0.98674,0.60692,0.96312,0.60692,0.98674,0.58601,0.96312,0.58601,0.98674,0.56646,0.96312,0.56646,0.98674,0.54501,0.98674,0.7151,0.96312,0.7151,0.96312,0.7476,0.98674,0.7476,0.96312,0.51508,0.96312,0.54501,0.98674,0.51508,0.78583,0.7151,0.18967,0.95963,0.17567,0.95963,0.061418,0.99104,0.057549,0.99379,0.59863,0.49328,0.60369,0.4721,0.61099,0.46508,0.73471,0.31732,0.66669,0.35452,0.65253,0.32005,0.77219,0.40117,0.81002,0.28203,0.83414,0.35215,0.8729,0.25411,0.50565,0.29679,0.50565,0.26614,0.56073,0.28582,0.45057,0.28582,0.50565,0.32233,0.45265,0.32748,0.35876,0.32005,0.3446,0.35452,0.38392,0.37284,0.42781,0.36018,0.46647,0.35658,0.50565,0.34712,0.55864,0.32748,0.54482,0.35658,0.58348,0.36018,0.62737,0.37284,0.61069,0.42188,0.68041,0.40749,0.6575,0.45015,0.74277,0.43666,0.80418,0.49612,0.82625,0.47086,0.87262,0.42738,0.91615,0.39512,0.72225,0.23488,0.80079,0.13417,0.79752,0.18077,0.72774,0.16914,0.669,0.23305,0.72751,0.30082,0.65621,0.28903,0.79671,0.2332,0.80579,0.26927,0.96584,0.36744,0.9164,0.31834,0.96487,0.29106,0.99591,0.33761,0.045451,0.36744,0.015383,0.33761,0.046422,0.29106,0.094891,0.31834,0.13839,0.25411,0.086385,0.22418,0.92491,0.22418,0.27658,0.31733,0.2391,0.40117,0.27658,0.31733,0.20127,0.28203,0.17716,0.35215,0.095144,0.39512,0.13867,0.42738,0.18504,0.47086,0.20711,0.49612,0.26852,0.43666,0.33088,0.40749,0.4006,0.42188,0.43272,0.40402,0.46937,0.387,0.50565,0.3839,0.54192,0.387,0.57857,0.40402,0.5949,0.44586,0.56112,0.42952,0.57637,0.47208,0.55516,0.45521,0.56678,0.4949,0.54401,0.48364,0.54863,0.50043,0.53367,0.49944,0.53202,0.51065,0.50565,0.51356,0.53055,0.51579,0.50565,0.51518,0.50565,0.51669,0.52848,0.52273,0.5488,0.51179,0.54785,0.52117,0.56256,0.51526,0.56505,0.52103,0.55539,0.52856,0.52662,0.53435,0.50565,0.52409,0.50565,0.54227,0.48467,0.53435,0.48281,0.52273,0.48074,0.51579,0.4625,0.51179,0.46344,0.52117,0.4559,0.52856,0.44624,0.52103,0.44873,0.51526,0.43567,0.50906,0.4406,0.50789,0.44451,0.4949,0.43492,0.47208,0.45613,0.45521,0.45017,0.42952,0.41639,0.44586,0.35379,0.45015,0.24202,0.50716,0.2127,0.51802,0.22443,0.58782,0.28773,0.58808,0.31255,0.498,0.37159,0.51167,0.3847,0.47093,0.41438,0.5004,0.42807,0.50936,0.43072,0.53028,0.44769,0.54969,0.48301,0.55663,0.48285,0.54477,0.50565,0.5534,0.52828,0.55663,0.50565,0.56799,0.47895,0.56752,0.45047,0.57717,0.44371,0.59792,0.46093,0.58135,0.47448,0.57553,0.48333,0.57664,0.49684,0.57386,0.50565,0.57433,0.51445,0.57386,0.53234,0.56752,0.52796,0.57664,0.52576,0.58254,0.53681,0.57553,0.55036,0.58135,0.53339,0.59254,0.51861,0.59461,0.51321,0.58252,0.50565,0.59386,0.50565,0.60721,0.49268,0.59461,0.49808,0.58252,0.50565,0.58162,0.48553,0.58254,0.4779,0.59254,0.45982,0.60143,0.46859,0.61802,0.47497,0.60207,0.48824,0.60878,0.50565,0.62456,0.48658,0.62193,0.48498,0.64348,0.46147,0.63262,0.4495,0.62362,0.39994,0.6137,0.39662,0.56183,0.40811,0.52278,0.35594,0.56566,0.30238,0.64409,0.34919,0.61724,0.36475,0.64668,0.40531,0.64375,0.43792,0.65846,0.46395,0.66968,0.48893,0.6614,0.50565,0.6618,0.50565,0.64677,0.52631,0.64348,0.52472,0.62193,0.52305,0.60878,0.53632,0.60207,0.55147,0.60143,0.56759,0.59792,0.56082,0.57717,0.5636,0.54969,0.52844,0.54477,0.58057,0.53028,0.57562,0.50906,0.57069,0.50789,0.56773,0.50857,0.56435,0.5094,0.56244,0.50806,0.54754,0.5068,0.56449,0.50539,0.58322,0.50936,0.59691,0.5004,0.62659,0.47093,0.6397,0.51167,0.60318,0.52278,0.61467,0.56183,0.61135,0.6137,0.56179,0.62362,0.54982,0.63262,0.5427,0.61802,0.52236,0.6614,0.50565,0.68783,0.48641,0.68524,0.4659,0.68746,0.45657,0.69083,0.44886,0.67604,0.43419,0.6751,0.4068,0.65597,0.40378,0.66724,0.40374,0.66912,0.43742,0.67897,0.40327,0.6896,0.37141,0.6747,0.3683,0.66944,0.36724,0.66252,0.33758,0.66909,0.2702,0.69558,0.23404,0.68905,0.21106,0.66065,0.1814,0.59381,0.18558,0.54367,0.15534,0.58205,0.13891,0.57123,0.17311,0.53186,0.7912,0.040598,0.74114,0.064226,0.82293,0.052815,0.68948,0.043955,0.69144,0.056586,0.16404,0.7016,0.18315,0.68297,0.18975,0.68191,0.15505,0.68142,0.14596,0.69567,0.13167,0.66219,0.11763,0.66514,0.13053,0.61889,0.11657,0.61267,0.75767,0.007312,0.71108,0.012955,0.69153,0.032394,0.30872,0.79868,0.34134,0.72229,0.35101,0.70605,0.33109,0.68866,0.3492,0.68776,0.36211,0.68523,0.3792,0.69317,0.40363,0.69401,0.42801,0.69567,0.43398,0.69897,0.4053,0.70135,0.37952,0.70006,0.38474,0.71595,0.42121,0.71452,0.44729,0.70141,0.44628,0.67713,0.46376,0.71033,0.48685,0.71806,0.50565,0.71717,0.52488,0.68524,0.54539,0.68746,0.54734,0.66968,0.57337,0.65846,0.60598,0.64375,0.64655,0.64668,0.64405,0.66252,0.60449,0.65597,0.64299,0.66944,0.60752,0.66724,0.60755,0.66912,0.63988,0.6747,0.60802,0.6896,0.57387,0.67897,0.5771,0.6751,0.56501,0.67713,0.58328,0.69567,0.56243,0.67604,0.57731,0.69897,0.60766,0.69401,0.63209,0.69317,0.60599,0.70135,0.564,0.70141,0.59008,0.71452,0.54753,0.71033,0.58465,0.72703,0.52093,0.73918,0.52444,0.71806,0.50565,0.74429,0.49036,0.73918,0.42664,0.72703,0.38767,0.73351,0.38157,0.76246,0.38085,0.8049,0.49104,0.76365,0.50565,0.76438,0.50565,0.80546,0.48251,0.80505,0.45773,0.8551,0.50565,0.85391,0.52878,0.80505,0.52025,0.76365,0.62972,0.76246,0.63044,0.8049,0.55356,0.8551,0.57004,0.91251,0.50565,0.91146,0.50565,0.983,0.44125,0.91251,0.36381,0.97848,0.60464,0.21903,0.53929,0.1649,0.51088,0.20598,0.61788,0.15854,0.58376,0.26308,0.64748,0.97848,0.65275,0.9063,0.63319,0.84908,0.70257,0.79868,0.66995,0.72229,0.62362,0.73351,0.62655,0.71595,0.63177,0.70006,0.64918,0.68523,0.66209,0.68776,0.66028,0.70605,0.74109,0.69558,0.6802,0.68866,0.67371,0.66909,0.70891,0.64409,0.66211,0.61724,0.65535,0.56566,0.69874,0.498,0.76927,0.50716,0.72356,0.58808,0.77725,0.68905,0.82154,0.68191,0.7315,0.8414,0.75385,0.87359,0.58811,0.084389,0.63728,0.11485,0.67491,0.129,0.67425,0.18198,0.57117,0.12392,0.74883,0.90947,0.71627,0.13401,0.85624,0.68142,0.86534,0.69567,0.84725,0.7016,0.87962,0.66219,0.89366,0.66514,0.88077,0.61889,0.85595,0.58205,0.82989,0.59381,0.82814,0.68297,0.80023,0.66065,0.78687,0.58782,0.79859,0.51802,0.83818,0.53186,0.82571,0.54367,0.87238,0.57123,0.82809,0.082222,0.85503,0.058733,0.89472,0.61267,0.27979,0.8414,0.25744,0.87359,0.3781,0.84908,0.35854,0.9063,0.26247,0.90947,0.55472,0.69083,0.47562,0.41748,0.50565,0.41841,0.53567,0.41748,0.53256,0.44439,0.50565,0.44246,0.47873,0.44439,0.48071,0.47087,0.50565,0.47486,0.53058,0.47087,0.53047,0.48154,0.50565,0.4824,0.50565,0.49901,0.47762,0.49944,0.48082,0.48154,0.46728,0.48364,0.46266,0.50043,0.47928,0.51065,0.46375,0.5068,0.44886,0.50806,0.44694,0.5094,0.44356,0.50857,0.4468,0.50539,-4.0855,113.65,-4.7065,112.58,-4.4707,112.59,0.77676,0.13585,0.78208,0.16208,0.76952,0.17236,0.81597,0.13348,0.8096,0.10029,0.84803,0.13181,0.84008,0.094491,0.82921,0.068416,0.86283,0.076523,0.87302,0.10101,0.90339,0.087924,0.9195,0.10986,0.95167,0.095964,0.95498,0.11422,0.95578,0.13706,0.98048,0.14172,0.9755,0.12368,0.97236,0.087202,0.93951,0.071184,0.89275,0.059736,0.85648,0.059589,0.69938,0.08375,0.69878,0.049489,0.67304,0.081736,0.7281,0.079284,0.72696,0.013681,0.7281,0.079283,0.69812,0.011255,0.83476,0.20131,0.80378,0.19117,0.84422,0.17428,0.81311,0.17175,0.76521,0.047881,0.75782,0.020303,0.72696,0.013681,0.75623,0.13625,0.78049,0.11206,0.76717,0.10244,0.75775,0.072694,0.79865,0.081588,0.87435,0.13174,0.91414,0.13312,0.92176,0.15834,0.95623,0.16094,0.97759,0.15515,0.9876,0.18351,0.98213,0.21097,0.9741,0.18047,0.99027,0.081565,0.96368,0.060841,0.98325,0.054504,0.92743,0.046694,0.92083,0.031595,0.94866,0.019875,0.59248,0.069253,0.59199,0.040881,0.56771,0.056934,0.62556,0.046896,0.59199,0.040881,0.59147,0.011237,0.62556,0.046896,0.62498,0.013484,0.63822,0.046666,0.63764,0.013254,0.67247,0.048945,0.67183,0.012328,0.86145,0.20925,0.86747,0.19231,0.87594,0.16818,0.89705,0.20907,0.90658,0.18072,0.94192,0.19727,0.93049,0.2222,0.9576,0.23325,0.95214,0.24858,0.92394,0.23728,0.56511,0.019317,0.5618,0.036835,0.97588,0.23821,0.9709,0.25427,0.95464,0.035111,0.97012,0.012124,0.97583,0.027771,0.96614,0.20724,0.95343,0.17204,0.89107,0.22148,0.63875,0.077065,0.62609,0.077296,0.88692,0.047327,0.77676,0.13585,0.75623,0.13625,0.76952,0.17236,0.78049,0.11206,0.76717,0.10244,0.76521,0.047881,0.75775,0.072694,0.7281,0.079284,0.79865,0.081588,0.8096,0.10029,0.81597,0.13348,0.84803,0.13181,0.84008,0.094491,0.87435,0.13174,0.87302,0.10101,0.91414,0.13312,0.9195,0.10986,0.95578,0.13706,0.95498,0.11422,0.98048,0.14172,0.9755,0.12368,0.97236,0.087202,0.99027,0.081565,0.96368,0.060841,0.98325,0.054504,0.9876,0.18351,0.9741,0.18047,0.98213,0.21097,0.97759,0.15515,0.95623,0.16094,0.92176,0.15834,0.87594,0.16818,0.84422,0.17428,0.81311,0.17175,0.78208,0.16208,0.80378,0.19117,0.83476,0.20131,0.86145,0.20925,0.86747,0.19231,0.89705,0.20907,0.90658,0.18072,0.93049,0.2222,0.94192,0.19727,0.95343,0.17204,0.96614,0.20724,0.97588,0.23821,0.9576,0.23325,0.95214,0.24858,0.9709,0.25427,0.56511,0.019317,0.59199,0.040881,0.5618,0.036835,0.59147,0.011237,0.92394,0.23728,0.89107,0.22148,0.63822,0.046666,0.62498,0.013484,0.63764,0.013254,0.62556,0.046896,0.63875,0.077065,0.62609,0.077296,0.89275,0.059736,0.92083,0.031595,0.88692,0.047327,0.92743,0.046694,0.94866,0.019875,0.95464,0.035111,0.97012,0.012124,0.97583,0.027771,0.93951,0.071184,0.90339,0.087924,0.86283,0.076523,0.85648,0.059589,0.67247,0.048945,0.67304,0.081736,0.69878,0.049489,0.67183,0.012328,0.69812,0.011255,0.72696,0.013681,0.72757,0.04879,0.75782,0.020303,0.69938,0.08375,0.82921,0.068416,0.95167,0.095964,0.56771,0.056934,0.59248,0.069253,0.59199,0.040881,0.62556,0.046896,-1.2139,-1.176,-1.2439,-1.0919,-1.2742,-1.1759,-1.1504,-1.176,-1.1505,-1.0914,-4.1649,-0.066553,-4.1978,-0.17021,-4.1378,-0.17009,-4.1971,-0.25909,-1.1504,-1.247,-1.2133,-1.247,-1.2741,-1.247,-1.6415,-1.2543,-1.6604,-1.1832,-1.6887,-1.2543,-1.6886,-1.1832,-1.7463,-1.2543,-1.7468,-1.1832,-1.7483,-1.0989,-1.6885,-1.0988,-2.1742,-1.1358,-2.2337,-1.0337,-2.2297,-1.1357,-2.3126,-1.0338,-2.3135,-1.1357,-2.8399,-1.0347,-2.8779,-1.0347,-2.8394,-1.1357,-2.9263,-1.0348,-2.9262,-1.1357,-3.464,-0.98981,-3.4925,-1.0915,-3.418,-1.0915,-3.4908,-1.1781,-3.4175,-1.1781,-3.4911,-1.2902,-3.4162,-1.2901,-3.4173,-1.3869,-3.4896,-1.3869,-3.437,-1.4891,-2.8388,-1.2223,-2.926,-1.2223,-2.2303,-1.2223,-2.3133,-1.2223,-2.1748,-1.2223,-2.1759,-1.3344,-2.2327,-1.3343,-2.1781,-1.4305,-2.2326,-1.4302,-2.1999,-1.5368,-2.3131,-1.3343,-2.3127,-1.4304,-2.2726,-1.5368,-2.9258,-1.3344,-2.839,-1.3344,-2.9043,-1.431,-2.8395,-1.4312,-2.8933,-1.5347,-1.7452,-1.3463,-1.6912,-1.3464,-1.6414,-1.3465,-1.2743,-1.339,-1.2118,-1.3391,-1.1505,-1.3391,-1.1506,-1.4186,-1.2133,-1.4186,-1.2742,-1.4184,-1.2118,-1.5031,-1.6414,-1.4261,-1.6925,-1.4261,-1.6925,-1.5107,-1.7467,-1.4259,-4.139,-0.25912,-4.1964,-0.38268,-4.1382,-0.38289,-4.1961,-0.47918,-4.1398,-0.4792,-4.1691,-0.55413,-3.8738,-0.25892,-3.875,-0.38295,-3.8242,-0.3828,-3.8728,-0.47939,-3.8254,-0.47946,-3.7765,-0.47953,-3.8291,-0.55409,-3.7638,-0.38429,-3.816,-0.25908,-3.8154,-0.17103,-3.876,-0.17025,-3.8196,-0.078534,-3.8738,-0.07849,-3.7915,-0.17042,-3.7694,-0.25923,-2.423,-0.2594,-2.4225,-0.38697,-2.3451,-0.25939,-2.3445,-0.38712,-2.4117,-0.47976,-2.3438,-0.4799,-2.3453,-0.55424,-2.2724,-0.47999,-2.27,-0.38799,-2.2719,-0.25966,-2.3451,-0.16913,-2.4209,-0.16966,-2.3453,-0.078458,-2.4203,-0.078489,-2.2724,-0.16931,-2.9182,-0.13416,-2.9182,-0.23122,-2.8235,-0.23136,-2.9182,-0.32606,-2.8378,-0.3262,-2.8556,-0.41873,-2.9096,-0.41869,-2.8787,-0.49312,-2.823,-0.13424,-2.8748,-0.017112,-2.9184,-0.017268,-2.8222,-0.016925,-2.7646,-0.016563,-2.7646,-0.13425,-2.7612,-0.23137,-2.7616,-0.32584,-2.8082,-0.32631,-2.7621,-0.41836,-2.794,-0.41842,-2.7628,-0.49315,-2.7355,-0.41865,-2.7355,-0.32713,-2.7357,-0.23183,-2.7354,-0.13434,-2.7505,-0.016563,-1.6584,0.84315,-1.6884,0.92725,-1.7187,0.84317,-1.5949,0.84314,-1.595,0.92769,-3.8427,1.9526,-3.8757,1.8489,-3.8157,1.849,-3.875,1.76,-1.5949,0.77208,-1.6578,0.7721,-1.7186,0.77211,-1.7748,0.76482,-1.7936,0.83588,-1.8219,0.76484,-1.8218,0.83588,-1.8795,0.76485,-1.88,0.83591,-1.8218,0.92033,-1.8815,0.92024,-2.2532,0.83596,-2.2829,0.91973,-2.3088,0.83598,-2.3917,0.91968,-2.3926,0.83596,-2.8394,0.83599,-2.8399,0.91893,-2.9262,0.83599,-2.9263,0.91886,-3.464,0.95575,-3.4925,0.87226,-3.418,0.87227,-3.4908,0.80123,-3.4175,0.80122,-3.4911,0.70919,-3.4162,0.70923,-3.4173,0.62978,-3.4896,0.62984,-3.437,0.54589,-2.926,0.76494,-2.8388,0.76493,-2.9258,0.67292,-2.839,0.67287,-2.9258,0.59365,-2.8395,0.59346,-2.8933,0.50847,-2.3093,0.76495,-2.3923,0.76493,-2.2539,0.76492,-2.255,0.67293,-2.2909,0.67299,-2.256,0.63873,-2.2774,0.64139,-2.2572,0.59401,-2.3922,0.673,-2.3117,0.67302,-2.3917,0.59409,-2.3117,0.5943,-2.3112,0.50678,-1.8784,0.67276,-1.8244,0.67266,-1.7746,0.67263,-1.7746,0.59299,-1.8258,0.59299,-1.8799,0.59325,-1.8257,0.50838,-1.7188,0.68006,-1.6563,0.68002,-1.595,0.67998,-1.5951,0.60054,-1.6578,0.6005,-1.7187,0.6007,-1.6563,0.51598,-3.8168,1.76,-3.8742,1.6364,-3.816,1.6362,-3.874,1.5399,-3.8177,1.5399,-3.8469,1.465,-3.7904,1.7602,-3.7917,1.6362,-3.7409,1.6363,-3.7894,1.5397,-3.742,1.5396,-3.7458,1.465,-3.6932,1.5396,-3.6804,1.6348,-3.7327,1.76,-3.732,1.8481,-3.7926,1.8489,-3.7363,1.9406,-3.7904,1.9406,-3.7082,1.8487,-3.686,1.7599,-3.2656,1.7597,-3.3435,1.7597,-3.343,1.6321,-3.2657,1.85,-3.3414,1.8495,-3.2658,1.9406,-3.3408,1.9406,-3.1929,1.8498,-3.1924,1.7594,-3.265,1.632,-3.31,1.5393,-3.2644,1.5392,-3.2658,1.4649,-3.1929,1.5391,-3.1905,1.6311,-2.9182,1.659,-2.9182,1.5642,-2.8235,1.6589,-2.8378,1.5641,-2.8556,1.4715,-2.9096,1.4716,-2.8787,1.3971,-2.9182,1.7561,-2.823,1.756,-2.9184,1.873,-2.8222,1.8733,-2.7646,1.8737,-2.7646,1.756,-2.7612,1.6589,-2.7616,1.5644,-2.8082,1.564,-2.7621,1.4719,-2.794,1.4718,-2.7628,1.3971,-2.7355,1.4716,-2.7355,1.5631,-2.7357,1.6584,-2.7354,1.7559,-2.5947,1.7557,-2.6085,1.6575,-2.5743,1.6576,-2.6048,1.5634,-2.5769,1.5626,-2.5911,1.4713,-2.534,1.6584,-2.5034,1.6579,-2.5164,1.7558,-2.4995,1.5624,-2.5302,1.5629,-2.5194,1.4714,-2.7505,1.8737,-2.9118,-0.071953,-2.9117,-0.18036,-2.823,-0.18044,-3.1743,-0.00921,-3.2318,-0.093788,-3.1465,-0.093383,-3.2314,-0.009239,-3.7848,-0.009281,-3.8277,-0.094342,-3.7725,-0.094779,-3.826,-0.00924,-4.1649,0.00183,-4.1978,-0.094306,-4.1378,-0.094188,-4.1971,-0.17673,-3.826,-0.17657,-2.8222,-0.071636,-2.7646,-0.071301,-2.7646,-0.18044,-2.7505,-0.071301,-2.7354,-0.18053,-2.7357,-0.27094,-2.7612,-0.27051,-2.7621,-0.44394,-2.7355,-0.4442,-2.7628,-0.5133,-2.817,-0.44235,-2.8235,-0.27051,-2.9117,-0.27037,-3.1741,-0.17701,-3.1145,-0.17726,-3.2334,-0.17702,-3.782,-0.17672,-3.7465,-0.17686,-3.7883,-0.29146,-3.7423,-0.29284,-3.2331,-0.29533,-3.1737,-0.29547,-3.1131,-0.29628,-2.9117,-0.35833,-2.8378,-0.35846,-2.8721,-0.51327,-3.1332,-0.38157,-3.1732,-0.38152,-3.2248,-0.38139,-3.1743,-0.45046,-3.752,-0.38117,-3.7892,-0.38111,-3.8253,-0.38105,-3.827,-0.2916,-4.1964,-0.29135,-4.139,-0.17676,-4.1382,-0.29155,-4.1837,-0.38085,-4.1468,-0.38086,-4.1691,-0.45036,-3.8095,-0.45032,-3.7706,-0.45032,-3.1279,-0.38158,-1.7187,-3.4155,-1.6584,-3.4155,-1.719,-3.3379,-1.7186,-3.481,-1.7748,-3.4878,-1.7936,-3.4222,-1.8219,-3.4878,-1.8218,-3.4222,-1.8795,-3.4878,-1.88,-3.4222,-1.8218,-3.3443,-1.8815,-3.3444,-1.8808,-3.2536,-1.8213,-3.2536,-1.6578,-3.3379,-1.6596,-3.2531,-1.5949,-3.4155,-1.5949,-3.4811,-1.6578,-3.4811,-1.7188,-3.566,-1.7746,-3.5728,-1.8244,-3.5728,-1.8784,-3.5727,-2.4982,-3.5726,-2.4971,-3.4877,-2.6149,-3.4877,-2.6144,-3.4221,-2.4964,-3.4221,-2.4978,-3.3448,-2.6141,-3.3449,-2.6122,-3.2536,-2.696,-3.2536,-2.6954,-3.1113,-2.6154,-3.1113,-1.8525,-3.1113,-1.5951,-3.253,-1.6175,-3.1115,-1.595,-3.3375,-3.6348,-2.3916,-3.5748,-2.3915,-3.6018,-2.3028,-3.6341,-2.4677,-3.5759,-2.4677,-3.6333,-2.5735,-1.6563,-3.566,-1.595,-3.5661,-1.7187,-3.6392,-1.6578,-3.6394,-1.616,-3.6394,-1.6563,-3.7174,-3.5752,-2.5737,-3.6331,-2.6562,-3.5768,-2.6562,-3.606,-2.7204,-4.0939,-2.4675,-4.0952,-2.5738,-4.0444,-2.5736,-4.0729,-2.6564,-4.0455,-2.6564,-4.0493,-2.7203,-3.9967,-2.6565,-3.9839,-2.5749,-4.0362,-2.4677,-4.0355,-2.3923,-4.0961,-2.3916,-4.0398,-2.313,-4.0116,-2.3917,-3.9895,-2.4678,-3.5412,-2.4679,-3.5407,-2.5772,-3.4633,-2.4679,-3.4627,-2.5773,-3.5299,-2.6567,-3.462,-2.6568,-3.4635,-2.7205,-3.3905,-2.6569,-3.3881,-2.5781,-3.3901,-2.4682,-3.4633,-2.3906,-3.5391,-2.3911,-3.4635,-2.313,-3.3906,-2.3908,-2.9182,-2.471,-2.9182,-2.5542,-2.8235,-2.5543,-2.9182,-2.6354,-2.8378,-2.6355,-2.8556,-2.7148,-2.9096,-2.7147,-2.8787,-2.7785,-2.8082,-2.6356,-2.7616,-2.6352,-2.7621,-2.7144,-2.794,-2.7145,-2.7628,-2.7785,-2.7355,-2.7147,-2.7355,-2.6363,-2.7612,-2.5543,-2.7357,-2.5547,-2.7646,-2.4711,-2.7354,-2.4712,-2.5947,-2.4714,-2.6085,-2.5555,-2.5743,-2.5554,-2.6048,-2.6361,-2.5769,-2.6367,-2.5911,-2.715,-2.534,-2.5547,-2.5034,-2.5551,-2.5164,-2.4713,-2.4995,-2.6369,-2.5302,-2.6365,-2.5194,-2.7149,-1.9386,-2.5482,-1.8771,-2.4788,-1.9388,-2.4788,-1.8769,-2.5482,-1.9388,-2.6159,-1.8768,-2.6157,-1.9384,-2.6563,-1.8767,-2.6562,-1.9382,-2.681,-1.8767,-2.681,-1.8763,-2.7336,-1.829,-2.6809,-1.8253,-2.6554,-1.8197,-2.6161,-1.8077,-2.5484,-1.7868,-2.6805,-1.7167,-2.5488,-1.7172,-2.6804,-1.7352,-2.7004,-1.7769,-2.7047,-1.7651,-2.7336,-1.7158,-2.4789,-0.98584,0.40061,-0.89447,0.40053,-0.98587,0.48549,-0.89504,0.30964,-0.9858,0.30974,-0.8948,0.21507,-0.98541,0.21699,-0.94338,0.14261,-0.83849,0.40059,-0.83665,0.30973,-0.79859,0.4006,-0.79849,0.30978,-0.79864,0.21801,-0.75845,0.30973,-0.75774,0.40053,-0.66257,0.40045,-0.6626,0.30961,-0.59992,0.40045,-0.60013,0.30963,-0.6004,0.21455,-0.52117,0.30956,-0.52021,0.40043,-0.52048,0.48562,-0.59966,0.48555,-0.5207,0.58417,0.031395,0.36519,0.072822,0.48898,0.031355,0.48903,0.072825,0.36536,0.031573,0.25168,0.056998,0.25328,0.054325,0.20277,0.12584,0.48898,0.12483,0.3651,0.072739,0.25428,0.12614,0.25316,0.072739,0.21454,0.10284,0.2139,0.072739,0.16318,0.16822,0.36464,0.18748,0.48893,0.16794,0.48899,0.18731,0.36439,0.16818,0.25507,0.19018,0.25516,0.18878,0.21279,0.21299,0.48884,0.21259,0.36406,0.21218,0.25526,0.21305,0.16299,0.26449,0.25499,0.26453,0.36425,0.26455,0.4889,0.21338,0.65682,0.1677,0.65684,0.21406,0.87581,0.12649,0.87438,0.075171,0.87402,0.12602,0.65686,0.072739,1.04,0.032381,0.87347,-0.59783,0.91732,-0.66247,0.84591,-0.5984,0.84515,-0.66254,0.91758,-0.98572,0.91895,-0.89371,0.84509,-0.89428,0.91827,-0.98579,0.84436,-1.716,-2.1024,-1.8066,-2.1824,-1.7148,-2.1834,-1.8068,-2.1035,-1.8805,-2.182,-1.8806,-2.1037,-2.7658,-2.1105,-2.8226,-2.1893,-2.7651,-2.1904,-2.8233,-2.1105,-2.9182,-2.191,-2.9182,-2.1119,-3.5369,-2.1909,-3.4658,-2.1206,-3.4955,-2.0584,-3.4639,-2.1962,-3.5385,-2.313,-2.9182,-2.3232,-2.9184,-2.3709,-2.8221,-2.3226,-2.8222,-2.3706,-2.823,-2.4711,-2.7646,-2.3703,-2.7505,-2.3703,-1.9393,-2.3956,-1.877,-2.3957,-1.8075,-2.3957,-1.8079,-2.4788,-1.7168,-2.3953,-0.98599,0.58453,-0.89445,0.48554,-0.79862,0.48559,-0.83858,0.48563,-0.75847,0.48569,-0.66256,0.48559,-0.59928,0.58437,-0.66246,0.58449,-0.66249,0.67021,-0.986,0.66987,-0.89463,0.58452,-0.89398,0.67029,-1.716,-2.318,-1.8074,-2.3168,-1.8805,-2.3169,-1.9064,-2.3169,-2.7648,-2.3236,-0.59914,0.67032,-0.52118,0.67086,0.032427,0.65684,0.075171,0.65684,-0.79876,0.58445,-4.0939,-2.313,-4.0554,-2.1023,-2.9268,-3.2536,-2.8416,-3.1111,-2.9267,-3.1111,-2.841,-3.2536,-2.9263,-3.3456,-2.8399,-3.3456,-2.6973,-3.3449,-2.6982,-3.4221,-2.9262,-3.4221,-2.8394,-3.4221,-3.464,-3.3116,-3.4925,-3.3886,-3.418,-3.3886,-3.6244,-3.3114,-3.6719,-3.3887,-3.624,-3.3887,-3.6721,-3.3114,-3.6248,-3.251,-3.6713,-3.251,-3.6247,-3.1121,-3.6712,-3.1121,-3.8389,-3.2467,-3.8394,-3.1136,-3.9073,-3.2467,-3.9073,-3.1136,-0.56505,-0.17544,-0.56517,-0.033588,-0.61349,-0.17557,-0.61353,-0.031376,-0.67271,-0.17512,-0.6727,-0.036608,0.72759,0.87565,0.66172,0.99858,0.66206,0.87425,0.61316,0.87386,0.92747,0.97662,0.86223,0.97518,0.86336,0.82983,0.8619,0.82938,0.86192,0.97789,0.81303,0.90527,0.81323,0.65678,0.8618,0.65682,0.81356,0.51442,0.86209,0.51437,0.83778,0.37086,0.92752,0.82977,0.86896,0.65681,0.92778,0.6568,0.92782,0.51446,0.89534,0.3713,0.61337,0.65678,0.40334,0.65689,0.35803,0.87558,0.35805,0.65689,0.30958,0.65686,0.26453,0.65676,0.3095,0.4885,0.32819,0.48849,0.30948,0.36372,0.33374,0.3638,0.30955,0.25296,0.33805,0.25305,0.32983,0.21526,0.35799,0.36388,0.35796,0.25311,0.35789,0.16308,0.40338,0.25351,0.40333,0.36413,0.4033,0.48866,0.35812,0.48848,0.4686,0.65662,0.45764,0.4883,0.48718,0.48849,0.46296,0.36334,0.49796,0.3637,0.47209,0.2551,0.49669,0.25444,0.49303,0.16359,0.66223,0.51437,0.6137,0.51442,0.61296,0.37037,0.66193,0.65682,0.72791,0.6568,-0.7417,-0.29614,-0.78554,-0.17477,-0.816,-0.29475,-0.61374,-0.2981,-0.67271,-0.29614,-0.56448,-0.29879,-3.9074,-3.325,-3.8357,-3.325,-3.9079,-3.3906,-0.56424,-0.41626,-0.61413,-0.41628,-0.67274,-0.41626,-0.74148,-0.41626,-0.81591,-0.41625,0.72796,0.51446,0.66286,0.37135,0.61237,0.24702,0.66245,0.24477,0.66258,0.13852,0.70324,0.24497,0.7281,0.37124,-0.81583,-0.57837,-0.74141,-0.57707,-0.7422,-0.70727,-0.8158,-0.7071,-0.78145,-0.78969,-0.61407,-0.57618,-0.67275,-0.57707,-0.67273,-0.70755,-0.56452,-0.57631,-0.6136,-0.70776,-0.61356,-0.79184,-0.56575,-0.70766,-3.8323,-3.4756,-3.9072,-3.4756,-3.9072,-3.5483,-3.8325,-3.3905,-3.6723,-3.4542,-3.6244,-3.4542,-3.6307,-3.5391,-3.6723,-3.5391,-3.6336,-3.6118,-3.6727,-3.6121,-3.6386,-3.6575,-3.5617,-3.4542,-3.5632,-3.5391,-3.6245,-3.5391,-3.5947,-3.6118,-3.4908,-3.4542,-3.4175,-3.4542,-3.4173,-3.6124,-3.4896,-3.6123,-3.437,-3.6898,-2.926,-3.4877,-2.8388,-3.4877,-2.6979,-3.4877,-2.6978,-3.5725,-2.6173,-3.5725,-2.5003,-3.6454,-2.6173,-3.6451,-2.6831,-3.6453,-2.6168,-3.7259,-2.9258,-3.5726,-2.839,-3.5726,-2.9258,-3.6457,-2.8395,-3.6459,-2.8933,-3.7243,-3.8347,-3.5482,-3.8771,-3.6267,-1.8642,-3.6461,-1.8258,-3.6463,-1.7746,-3.6463,-1.8257,-3.7244,0.31178,1.6521,0.32932,1.8548,0.27374,1.6521,0.36963,1.8574,0.35874,1.6521,0.30692,1.573,0.28193,1.573,0.30633,1.4643,0.34358,1.573,0.36963,1.9914,0.24946,1.8574,0.25038,1.9914,0.2164,1.8548,0.15806,1.9914,0.15919,1.8574,-1.842,1.7928,-1.8415,1.9395,-1.7937,1.9458,-1.7982,1.7894,-1.7791,1.7909,-1.7293,1.7852,-1.7183,1.9451,-1.2822,1.9453,-1.2382,1.7936,-1.2988,1.7936,-1.2547,1.9453,-1.1903,1.7907,-1.2436,1.7936,-1.1893,1.9453,-1.1908,1.5634,-1.2427,1.5634,-1.2385,1.4538,-1.2004,1.4538,-1.2189,1.3325,-1.2168,1.5634,-1.2319,1.4127,-1.2071,1.4098,-1.1774,1.5577,-1.2669,1.5591,-1.3565,1.5606,-1.7302,1.5578,-1.8032,1.5675,-1.7996,1.4652,-1.7306,1.4623,-1.756,1.3369,-1.842,1.5681,-1.8354,1.4655,-1.8161,1.3485,0.20571,1.6521,0.24438,1.6521,0.20992,1.5707,0.15847,1.6521,0.15972,1.5697,0.21324,1.4644,0.24535,1.5707,0.19851,1.8602,0.15235,1.9915,0.15235,1.8602,0.26669,1.8602,0.24825,1.6549,0.21021,1.6549,0.16325,1.6549,0.21507,1.5758,0.24006,1.5758,0.21566,1.4643,0.17841,1.5758,0.26885,1.6575,0.3046,1.6549,0.31207,1.5735,0.27664,1.5735,0.30875,1.4644,0.36227,1.5724,0.36352,1.6549,0.3628,1.8602,0.2939,1.8602,0.26577,1.9915,0.36393,1.9915,-1.2509,1.5589,-1.2083,1.5634,-1.2109,1.4538,0.98427,0.36612,0.98766,0.37839,0.98254,0.37239,0.99375,0.37733,0.69735,0.40119,0.70049,0.38856,0.7068,0.39268,0.70432,0.40048,0.72662,0.39458,0.72227,0.40825,0.7235,0.41075,0.72931,0.39297,0.72164,0.38511,0.96186,0.37299,0.96446,0.38465,0.95971,0.37339,0.96203,0.38554,0.93991,0.38859,0.9501,0.41455,0.9694,0.39619,0.97118,0.39447,0.97997,0.39952,0.71715,0.41562,0.71972,0.41591,0.97848,0.40163,0.96105,0.42359,0.94521,0.4377,0.93441,0.4286,0.93139,0.44635,0.92069,0.4382,0.92757,0.45278,0.91698,0.44664,0.91454,0.46993,0.9013,0.46888,0.90389,0.44456,0.89255,0.44364,0.89008,0.46843,0.87642,0.46761,0.8786,0.442,0.86465,0.441,0.86317,0.4671,0.87424,0.49322,0.8617,0.49322,0.85158,0.46676,0.85125,0.49321,0.84192,0.46675,0.84342,0.49321,0.82719,0.46675,0.82938,0.49321,0.8134,0.49321,0.81005,0.46798,0.79215,0.49321,0.78883,0.47062,0.77782,0.49321,0.77452,0.47534,0.9121,0.49322,0.92625,0.473,0.92492,0.49322,0.89871,0.49322,0.88761,0.49322,0.77122,0.45746,0.78551,0.44802,0.76272,0.45186,0.77895,0.44216,0.75314,0.44772,0.76709,0.43378,0.73886,0.4347,0.74776,0.42056,0.75304,0.3944,0.72454,0.38401,0.73233,0.38008,0.95021,0.37375,0.95319,0.35973,0.94432,0.35946,0.91055,0.39598,0.92056,0.35419,0.8958,0.39233,0.89775,0.35162,0.88167,0.39226,0.87715,0.35217,0.86175,0.38642,0.85646,0.35431,0.84932,0.38509,0.86539,0.42765,0.85164,0.42663,0.85192,0.44031,0.84043,0.44028,0.83878,0.42727,0.825,0.4403,0.87986,0.43047,0.89514,0.42807,0.90639,0.43487,0.91983,0.41211,0.80669,0.44275,0.80488,0.43289,0.77334,0.40091,0.77728,0.36449,0.758,0.37006,0.74473,0.36942,0.74384,0.34428,0.95291,0.33265,0.96049,0.33358,0.93872,0.3265,0.95363,0.33032,0.93995,0.32427,0.93154,0.32313,0.92402,0.34095,0.91858,0.32449,0.9046,0.32148,0.9186,0.32207,0.90509,0.31901,0.89843,0.3202,0.89681,0.33211,0.88975,0.32316,0.87771,0.32584,0.88909,0.32066,0.87756,0.32331,0.8708,0.32521,0.8732,0.33991,0.86346,0.33514,0.8514,0.33846,0.86168,0.33258,0.85062,0.33618,0.84174,0.33976,0.84529,0.35621,0.8352,0.38749,0.83231,0.35796,0.81629,0.39324,0.82285,0.42854,0.79797,0.39757,0.79716,0.36112,0.77407,0.33424,0.77033,0.33395,0.77669,0.36119,0.76449,0.33629,0.76784,0.33478,0.7496,0.3427,0.74925,0.34014,0.74199,0.34236,0.9611,0.33124,0.9604,0.30774,0.94913,0.30382,0.96106,0.30535,0.95012,0.30152,0.94268,0.30105,0.93248,0.32113,0.76785,0.3319,0.76254,0.33437,0.74196,0.31842,0.73721,0.31936,0.96638,0.3091,0.96686,0.30664,0.96613,0.28535,0.97057,0.28273,0.95643,0.2776,0.74433,0.29314,0.73168,0.29327,0.74541,0.28764,0.73678,0.29612,0.75279,0.31221,0.75827,0.30861,0.75477,0.31384,0.75845,0.31155,0.94393,0.29877,0.95795,0.28234,0.74224,0.31589,0.73569,0.31706,0.92611,0.32561,0.92628,0.32358,0.92046,0.29841,0.90881,0.29692,0.92063,0.29594,0.90925,0.2945,0.90203,0.29549,0.89868,0.31839,0.79103,0.32907,0.78797,0.33017,0.79108,0.32632,0.78676,0.32792,0.77408,0.33173,0.76949,0.33134,0.76605,0.30752,0.92758,0.29914,0.92752,0.29647,0.92178,0.27467,0.92513,0.27028,0.9108,0.26886,0.7756,0.28352,0.76222,0.28138,0.77999,0.27804,0.76866,0.2849,0.78106,0.30373,0.77051,0.30483,0.77028,0.30813,0.78238,0.30575,0.78597,0.30123,0.78582,0.3041,0.76517,0.30495,0.90265,0.29291,0.91324,0.27415,0.8947,0.32079,0.89435,0.31899,0.884,0.29923,0.87444,0.30112,0.88333,0.29685,0.87416,0.29867,0.87267,0.2811,0.86828,0.27736,0.86628,0.29879,0.86638,0.30131,0.87046,0.32328,0.81693,0.33124,0.81329,0.33233,0.81791,0.32879,0.81566,0.36204,0.79816,0.33293,0.82311,0.33907,0.82052,0.33637,0.81688,0.34941,0.86774,0.32979,0.86668,0.32796,0.85326,0.31737,0.8453,0.32154,0.8387,0.3222,0.84128,0.33737,0.832,0.33929,0.83203,0.33678,0.82432,0.33699,0.82031,0.33352,0.82245,0.31884,0.85845,0.31445,0.85706,0.31241,0.85208,0.31519,0.84447,0.3192,0.8383,0.31969,0.83261,0.32169,0.82508,0.32035,0.82549,0.31848,0.82208,0.31614,0.82514,0.29757,0.84474,0.30142,0.84488,0.29624,0.83926,0.30411,0.83518,0.29943,0.83261,0.31927,0.82772,0.30198,0.83186,0.30248,0.79418,0.33259,0.79886,0.33052,0.79335,0.32997,0.79343,0.30736,0.89003,0.29774,0.88926,0.29532,0.87792,0.28015,0.88087,0.27583,0.80797,0.28806,0.79566,0.28423,0.81083,0.2829,0.80132,0.28832,0.81007,0.30579,0.79941,0.30614,0.79824,0.30837,0.81119,0.30789,0.81198,0.3302,0.81447,0.30668,0.81496,0.30383,0.79255,0.30458,-30.622,84.367,-29.315,81.513,-29.37,84.157,-30.795,84.644,-28.91,81.646,-29.467,84.518,30.793,86.366,29.464,86.244,29.039,83.993,0.99375,0.37733,0.98427,0.36612,0.98766,0.37839,0.69735,0.40119,0.7068,0.39268,0.70049,0.38856,0.70432,0.40048,0.72668,0.39525,0.72164,0.38511,0.72523,0.38533,0.72935,0.39303,0.72213,0.40852,0.71695,0.41558,0.72361,0.4106,0.71961,0.41606,0.74776,0.42056,0.73886,0.4347,0.9694,0.39619,0.96105,0.42359,0.97848,0.40163,0.9501,0.41455,0.94521,0.4377,0.93441,0.4286,0.91983,0.41211,0.93991,0.38859,0.96203,0.38554,0.96446,0.38465,0.97118,0.39447,0.97997,0.39952,0.98254,0.37239,0.96186,0.37299,0.95971,0.37339,0.95021,0.37375,0.75304,0.3944,0.73233,0.38008,0.76709,0.43378,0.77334,0.40091,0.77895,0.44216,0.80488,0.43289,0.79797,0.39757,0.82285,0.42854,0.81629,0.39324,0.83878,0.42727,0.8352,0.38749,0.84932,0.38509,0.84529,0.35621,0.83231,0.35796,0.84174,0.33976,0.832,0.33929,0.83203,0.33678,0.84128,0.33737,0.8387,0.3222,0.83261,0.32169,0.83261,0.31927,0.8383,0.31969,0.83518,0.29943,0.83186,0.30248,0.82514,0.29757,0.84474,0.30142,0.84488,0.29624,0.85706,0.31241,0.85208,0.31519,0.83926,0.30411,0.84447,0.3192,0.8453,0.32154,0.85062,0.33618,0.8514,0.33846,0.85646,0.35431,0.86175,0.38642,0.87715,0.35217,0.88167,0.39226,0.87986,0.43047,0.89514,0.42807,0.8786,0.442,0.89255,0.44364,0.87642,0.46761,0.89008,0.46843,0.87424,0.49322,0.88761,0.49322,0.89871,0.49322,0.9013,0.46888,0.91454,0.46993,0.9121,0.49322,0.92625,0.473,0.92492,0.49322,0.77782,0.49321,0.78883,0.47062,0.77452,0.47534,0.79215,0.49321,0.81005,0.46798,0.8134,0.49321,0.82719,0.46675,0.82938,0.49321,0.84342,0.49321,0.84192,0.46675,0.85125,0.49321,0.85158,0.46676,0.8617,0.49322,0.86317,0.4671,0.86465,0.441,0.86539,0.42765,0.85164,0.42663,0.84043,0.44028,0.825,0.4403,0.80669,0.44275,0.78551,0.44802,0.76272,0.45186,0.77122,0.45746,0.92069,0.4382,0.92757,0.45278,0.93139,0.44635,0.91698,0.44664,0.90639,0.43487,0.75314,0.44772,0.91055,0.39598,0.94432,0.35946,0.95319,0.35973,0.758,0.37006,0.74473,0.36942,0.77728,0.36449,0.79716,0.36112,0.81566,0.36204,0.82336,0.33915,0.82432,0.33699,0.82549,0.32039,0.82599,0.31827,0.82772,0.30198,0.82208,0.31614,0.82273,0.3188,0.85845,0.31445,0.85326,0.31737,0.86168,0.33258,0.86668,0.32796,0.86774,0.32979,0.86346,0.33514,0.8732,0.33991,0.8708,0.32521,0.87771,0.32584,0.87046,0.32328,0.87756,0.32331,0.86638,0.30131,0.81455,0.30665,0.81198,0.3302,0.81791,0.32879,0.81111,0.30792,0.81007,0.30579,0.81496,0.30383,0.81083,0.2829,0.80797,0.28806,0.79566,0.28423,0.80132,0.28832,0.79941,0.30614,0.79838,0.3084,0.79886,0.33052,0.81322,0.33235,0.817,0.33122,0.7983,0.33294,0.79335,0.32997,0.79404,0.33258,0.88909,0.32066,0.8947,0.32079,0.89435,0.31899,0.88975,0.32316,0.89775,0.35162,0.89681,0.33211,0.89843,0.3202,0.9046,0.32148,0.89868,0.31839,0.90509,0.31901,0.90203,0.29549,0.78592,0.30405,0.78676,0.32792,0.79108,0.32632,0.78228,0.3058,0.78106,0.30373,0.78597,0.30123,0.77999,0.27804,0.7756,0.28352,0.76222,0.28138,0.76866,0.2849,0.77051,0.30578,0.77044,0.30816,0.77408,0.33173,0.78787,0.33021,0.79113,0.32904,0.77423,0.33425,0.76949,0.33134,0.77017,0.33394,0.9186,0.32207,0.92611,0.32561,0.92628,0.32358,0.91858,0.32449,0.92056,0.35419,0.92402,0.34095,0.93154,0.32313,0.76793,0.33475,0.77669,0.36119,0.76441,0.33633,0.76254,0.33437,0.76785,0.3319,0.75853,0.3115,0.75468,0.3139,0.75279,0.31221,0.75812,0.30891,0.74541,0.28764,0.74433,0.29314,0.73168,0.29327,0.73678,0.29612,0.74224,0.31589,0.7421,0.31839,0.75034,0.33996,0.74974,0.34266,0.74369,0.34432,0.95291,0.33265,0.96049,0.33358,0.93872,0.3265,0.93995,0.32427,0.95363,0.33032,0.9611,0.33124,0.74199,0.34236,0.73706,0.31939,0.9604,0.30774,0.96638,0.3091,0.94913,0.30382,0.95012,0.30152,0.96106,0.30535,0.96686,0.30664,0.73569,0.31706,0.96613,0.28535,0.97057,0.28273,0.95795,0.28234,0.95643,0.2776,0.94393,0.29877,0.94268,0.30105,0.93248,0.32113,0.8958,0.39233,0.90389,0.44456,0.85192,0.44031,0.90881,0.29692,0.92046,0.29841,0.92758,0.29914,0.76588,0.3075,0.76517,0.30495,0.92063,0.29594,0.92752,0.29647,0.90925,0.2945,0.91324,0.27415,0.92178,0.27467,0.92513,0.27028,0.9108,0.26886,0.90265,0.29291,0.79672,0.35718,0.87444,0.30112,0.884,0.29923,0.89003,0.29774,0.79329,0.30733,0.79349,0.3048,0.88333,0.29685,0.88926,0.29532,0.87416,0.29867,0.87267,0.2811,0.87792,0.28015,0.88087,0.27583,0.86828,0.27736,0.86628,0.29879,0.81688,0.34941,0.82063,0.33629,0.82031,0.33352,-22.077,54.249,-21.651,57.049,-22.844,57.488,-21.724,54.576,-21.731,56.823,-22.996,57.243]], "faces": [42,0,1,2,0,0,1,2,0,1,2,42,0,3,1,0,0,3,1,0,3,1,42,3,0,4,0,3,0,4,3,0,4,42,10,9,7,0,5,6,7,5,6,7,42,10,11,9,0,5,8,6,5,8,6,42,10,12,11,0,5,9,8,5,9,8,42,12,10,13,0,9,5,10,9,5,10,42,13,10,14,0,10,5,11,10,5,11,42,10,7,14,0,5,7,11,5,7,11,42,7,15,14,0,7,12,11,7,12,11,42,15,7,4,0,12,7,13,12,7,4,42,4,0,15,0,4,0,14,4,0,12,42,15,0,16,0,14,0,15,12,0,13,42,0,2,16,0,0,2,15,0,2,13,42,2,17,16,0,2,16,15,2,14,13,42,2,18,17,0,2,17,16,2,15,14,42,2,19,18,0,2,18,17,2,16,15,42,1,19,2,0,1,18,2,1,16,2,42,56,55,11,0,19,20,21,17,18,8,42,56,57,55,0,19,22,20,17,19,18,42,56,58,57,0,19,23,22,17,20,19,42,56,59,58,0,19,24,23,17,21,20,42,12,59,56,0,25,24,19,9,21,17,42,12,60,59,0,25,26,24,9,22,21,42,12,13,60,0,9,10,27,9,10,22,42,61,60,13,0,28,27,10,23,22,10,42,61,62,60,0,28,29,27,23,24,22,42,61,63,62,0,28,30,29,23,25,24,42,63,61,64,0,30,28,31,25,23,26,42,64,61,65,0,31,28,32,26,23,27,42,65,61,13,0,32,28,10,27,23,10,42,65,13,66,0,32,10,33,27,10,28,42,13,14,66,0,10,11,33,10,11,28,42,66,14,67,0,33,11,34,28,11,29,42,14,15,67,0,11,12,34,11,12,29,42,67,15,16,0,35,14,15,29,12,13,42,67,16,68,0,36,37,38,29,13,30,42,69,68,16,0,39,38,37,31,30,13,42,70,68,69,0,40,38,39,32,30,31,42,70,65,68,0,41,32,42,32,27,30,42,64,65,70,0,31,32,41,26,27,32,42,64,70,71,0,31,41,43,26,32,33,42,70,69,71,0,40,39,44,32,31,33,42,72,71,69,0,45,44,39,34,33,31,42,73,71,72,0,46,43,47,35,33,34,42,73,74,71,0,46,48,43,35,36,33,42,74,73,75,0,48,46,49,36,35,37,42,73,76,75,0,46,50,49,35,38,37,42,77,76,73,0,51,50,46,39,38,35,42,76,77,78,0,50,51,52,38,39,40,42,77,79,78,0,51,53,52,39,41,40,42,79,77,80,0,53,51,54,41,39,42,42,77,72,80,0,51,47,54,39,34,42,42,77,73,72,0,51,46,47,39,35,34,42,80,72,81,0,55,45,56,42,34,43,42,72,69,81,0,45,39,56,34,31,43,42,69,82,81,0,39,57,56,31,44,43,42,69,17,82,0,39,58,57,31,14,44,42,69,16,17,0,39,37,58,31,13,14,42,17,83,82,0,58,59,57,14,45,44,42,17,84,83,0,58,60,59,14,46,45,42,17,85,84,0,58,61,60,14,47,46,42,17,86,85,0,58,62,61,14,48,47,42,18,86,17,0,17,63,16,15,48,14,42,18,87,86,0,17,64,63,15,49,48,42,88,87,18,0,65,64,17,50,49,15,42,88,89,87,0,65,66,64,50,51,49,42,90,89,88,0,67,66,65,52,51,50,42,91,89,90,0,68,66,67,53,51,52,42,92,89,91,0,69,66,68,54,51,53,42,92,93,89,0,70,71,72,54,55,51,42,94,93,92,0,73,74,75,56,55,54,42,94,95,93,0,73,76,74,56,57,55,42,59,95,94,0,24,76,73,21,57,56,42,96,95,59,0,77,76,24,58,57,21,42,96,97,95,0,77,78,76,58,59,57,42,96,98,97,0,77,79,78,58,60,59,42,96,62,98,0,77,80,79,58,24,60,42,62,96,60,0,80,77,26,24,58,22,42,60,96,59,0,26,77,24,22,58,21,42,62,99,98,0,80,81,79,24,61,60,42,62,63,99,0,29,30,82,24,25,61,42,63,100,99,0,30,83,82,25,62,61,42,100,63,74,0,83,30,48,62,25,36,42,63,64,74,0,30,31,48,25,26,36,42,74,64,71,0,48,31,43,36,26,33,42,75,100,74,0,49,83,48,37,62,36,42,100,75,101,0,83,49,84,62,37,63,42,101,75,102,0,84,49,85,63,37,64,42,75,76,102,0,49,50,85,37,38,64,42,76,103,102,0,50,86,85,38,65,64,42,76,78,103,0,50,52,86,38,40,65,42,103,78,104,0,86,52,87,65,40,66,42,104,78,105,0,87,52,88,66,40,67,42,78,106,105,0,52,89,88,40,68,67,42,78,79,106,0,52,53,89,40,41,68,42,79,107,106,0,90,91,92,41,69,68,42,107,79,108,0,91,90,93,69,41,70,42,79,109,108,0,90,94,93,41,71,70,42,109,79,80,0,95,53,54,71,41,42,42,109,80,110,0,96,55,97,71,42,72,42,80,81,110,0,55,56,97,42,43,72,42,81,111,110,0,56,98,97,43,73,72,42,81,82,111,0,56,57,98,43,44,73,42,82,112,111,0,57,99,98,44,74,73,42,82,83,112,0,57,59,99,44,45,74,42,112,83,113,0,99,59,100,74,45,75,42,83,114,113,0,59,101,100,45,76,75,42,83,115,114,0,59,102,101,45,77,76,42,83,84,115,0,59,60,102,45,46,77,42,84,116,115,0,60,103,102,46,78,77,42,85,116,84,0,61,103,60,47,78,46,42,85,117,116,0,61,104,103,47,79,78,42,87,117,85,0,105,104,61,49,79,47,42,87,118,117,0,105,106,104,49,80,79,42,87,119,118,0,105,107,106,49,81,80,42,87,120,119,0,105,108,107,49,82,81,42,89,120,87,0,72,108,105,51,82,49,42,93,120,89,0,71,108,72,55,82,51,42,93,121,120,0,71,109,108,55,83,82,42,95,121,93,0,76,110,74,57,83,55,42,95,97,121,0,76,78,110,57,59,83,42,97,122,121,0,78,111,110,59,84,83,42,123,122,97,0,112,111,78,85,84,59,42,123,124,122,0,112,113,111,85,86,84,42,123,125,124,0,112,114,113,85,87,86,42,123,126,125,0,112,115,114,85,88,87,42,98,126,123,0,79,115,112,60,88,85,42,99,126,98,0,81,115,79,61,88,60,42,99,127,126,0,81,116,115,61,89,88,42,99,100,127,0,82,83,117,61,62,89,42,100,101,127,0,83,84,117,62,63,89,42,127,101,128,0,117,84,118,89,63,90,42,101,129,128,0,84,119,118,63,91,90,42,101,102,129,0,84,85,119,63,64,91,42,102,130,129,0,85,120,119,64,92,91,42,102,131,130,0,85,121,120,64,93,92,42,103,131,102,0,86,121,85,65,93,64,42,103,132,131,0,86,122,121,65,94,93,42,103,104,132,0,86,87,122,65,66,94,42,104,133,132,0,87,123,122,66,95,94,42,104,105,133,0,87,88,123,66,67,95,42,105,134,133,0,124,125,126,67,96,95,42,106,134,105,0,92,125,124,68,96,67,42,106,135,134,0,92,127,125,68,97,96,42,106,107,135,0,92,91,127,68,69,97,42,135,107,136,0,127,91,128,97,69,98,42,136,107,137,0,128,91,129,98,69,99,42,107,108,137,0,91,93,129,69,70,99,42,137,108,138,0,129,93,130,99,70,100,42,108,139,138,0,93,131,130,70,101,100,42,108,109,139,0,93,94,131,70,71,101,42,109,140,139,0,94,132,131,71,102,101,42,109,110,140,0,96,97,133,71,72,102,42,110,141,140,0,97,134,133,72,103,102,42,110,142,141,0,97,135,134,72,104,103,42,110,111,142,0,97,98,135,72,73,104,42,111,143,142,0,98,136,135,73,105,104,42,111,112,143,0,98,99,136,73,74,105,42,143,112,144,0,136,99,137,105,74,106,42,112,113,144,0,99,100,137,74,75,106,42,144,113,145,0,137,100,138,106,75,107,42,113,146,145,0,100,139,138,75,108,107,42,113,114,146,0,100,101,139,75,76,108,42,114,147,146,0,101,140,139,76,109,108,42,114,115,147,0,101,102,140,76,77,109,42,115,148,147,0,102,141,140,77,110,109,42,115,149,148,0,102,142,141,77,111,110,42,116,149,115,0,103,142,102,78,111,77,42,116,150,149,0,103,143,142,78,112,111,42,117,150,116,0,104,143,103,79,112,78,42,118,150,117,0,106,143,104,80,112,79,42,118,151,150,0,106,144,143,80,113,112,42,118,151,152,0,145,146,147,80,113,114,42,153,151,118,0,148,144,106,115,113,80,42,153,154,151,0,148,149,144,115,116,113,42,155,154,153,0,150,149,148,117,116,115,42,155,156,154,0,150,151,149,117,118,116,42,157,156,155,0,152,151,150,119,118,117,42,157,158,156,0,152,153,151,119,120,118,42,159,158,157,0,154,153,152,121,120,119,42,159,160,158,0,154,155,153,121,122,120,42,161,160,159,0,156,155,154,123,122,121,42,161,162,160,0,156,157,155,123,124,122,42,161,163,162,0,156,158,157,123,125,124,42,161,164,163,0,156,159,158,123,126,125,42,165,164,161,0,160,159,156,127,126,123,42,165,166,164,0,160,161,159,127,128,126,42,167,166,165,0,162,161,160,129,128,127,42,167,168,166,0,162,163,161,129,130,128,42,169,168,167,0,164,163,162,131,130,129,42,169,170,168,0,164,165,163,131,132,130,42,171,170,169,0,166,165,164,133,132,131,42,128,170,171,0,167,165,166,90,132,133,42,128,172,170,0,167,168,165,90,134,132,42,128,129,172,0,118,119,169,90,91,134,42,129,173,172,0,119,170,169,91,135,134,42,129,130,173,0,119,120,170,91,92,135,42,130,174,173,0,120,171,170,92,136,135,42,130,175,174,0,120,172,171,92,137,136,42,130,131,175,0,120,121,172,92,93,137,42,131,176,175,0,121,173,172,93,138,137,42,131,132,176,0,121,122,173,93,94,138,42,132,177,176,0,122,174,173,94,139,138,42,132,133,177,0,122,123,174,94,95,139,42,133,178,177,0,123,175,174,95,140,139,42,133,179,178,0,126,176,177,95,141,140,42,134,179,133,0,125,176,126,96,141,95,42,180,179,134,0,178,176,125,142,141,96,42,179,180,181,0,176,178,179,141,142,143,42,180,182,181,0,178,180,179,142,144,143,42,180,183,182,0,178,181,180,142,145,144,42,184,183,180,0,182,181,178,146,145,142,42,183,184,185,0,181,182,183,145,146,147,42,184,136,185,0,182,128,183,146,98,147,42,184,135,136,0,182,127,128,146,97,98,42,135,184,134,0,127,182,125,97,146,96,42,134,184,180,0,125,182,178,96,146,142,42,185,136,186,0,183,128,184,147,98,148,42,136,137,186,0,128,129,184,98,99,148,42,186,137,187,0,184,129,185,148,99,149,42,137,138,187,0,129,130,185,99,100,149,42,138,188,187,0,130,186,185,100,150,149,42,138,189,188,0,130,187,186,100,151,150,42,139,189,138,0,131,187,130,101,151,100,42,139,190,189,0,131,188,187,101,152,151,42,140,190,139,0,132,188,131,102,152,101,42,140,141,190,0,132,189,188,102,103,152,42,141,191,190,0,189,190,188,103,153,152,42,191,141,192,0,190,189,191,153,103,154,42,142,192,141,0,135,192,134,104,154,103,42,142,143,192,0,135,136,192,104,105,154,42,143,193,192,0,136,193,192,105,155,154,42,143,144,193,0,136,137,193,105,106,155,42,193,144,194,0,193,137,194,155,106,156,42,144,145,194,0,137,138,194,106,107,156,42,194,145,195,0,194,138,195,156,107,157,42,145,196,195,0,138,196,195,107,158,157,42,145,146,196,0,138,139,196,107,108,158,42,146,197,196,0,139,197,196,108,159,158,42,146,147,197,0,139,140,197,108,109,159,42,147,198,197,0,140,198,197,109,160,159,42,147,148,198,0,140,141,198,109,110,160,42,148,199,198,0,141,199,198,110,161,160,42,148,149,199,0,141,142,199,110,111,161,42,149,200,199,0,142,200,199,111,162,161,42,149,201,200,0,142,201,200,111,163,162,42,149,202,201,0,142,202,201,111,164,163,42,150,202,149,0,143,202,142,112,164,111,42,150,203,202,0,143,203,202,112,165,164,42,151,203,150,0,144,203,143,113,165,112,42,154,203,151,0,149,203,144,116,165,113,42,154,204,203,0,149,204,203,116,166,165,42,156,204,154,0,151,204,149,118,166,116,42,156,205,204,0,151,205,204,118,167,166,42,156,158,205,0,151,153,205,118,120,167,42,158,206,205,0,153,206,205,120,168,167,42,160,206,158,0,155,206,153,122,168,120,42,160,207,206,0,155,207,206,122,169,168,42,162,207,160,0,157,207,155,124,169,122,42,162,208,207,0,157,208,207,124,170,169,42,162,209,208,0,157,209,208,124,171,170,42,163,209,162,0,158,209,157,125,171,124,42,163,210,209,0,158,210,209,125,172,171,42,211,210,163,0,211,210,158,173,172,125,42,211,212,210,0,211,212,210,173,174,172,42,213,212,211,0,213,212,211,175,174,173,42,214,212,213,0,214,212,213,176,174,175,42,214,215,212,0,214,215,212,176,177,174,42,216,215,214,0,216,215,214,178,177,176,42,216,217,215,0,216,217,215,178,179,177,42,216,218,217,0,218,219,220,178,180,179,42,219,218,216,0,221,219,218,181,180,178,42,219,220,218,0,221,222,219,181,182,180,42,221,220,219,0,223,222,221,183,182,181,42,220,221,222,0,222,223,224,182,183,184,42,221,223,222,0,223,225,224,183,185,184,42,221,224,223,0,223,226,225,183,186,185,42,224,221,225,0,226,223,227,186,183,187,42,225,221,219,0,227,223,221,187,183,181,42,225,219,226,0,227,221,228,187,181,188,42,226,219,216,0,228,221,218,188,181,178,42,226,216,214,0,229,216,214,188,178,176,42,226,214,227,0,229,214,230,188,176,189,42,227,214,213,0,230,214,213,189,176,175,42,228,227,213,0,231,230,213,190,189,175,42,229,227,228,0,232,230,231,191,189,190,42,229,226,227,0,232,229,230,191,188,189,42,229,230,226,0,232,233,229,191,192,188,42,231,230,229,0,234,233,232,193,192,191,42,231,232,230,0,235,236,237,193,194,192,42,173,232,231,0,170,236,235,135,194,193,42,173,174,232,0,170,171,236,135,136,194,42,174,224,232,0,171,226,236,136,186,194,42,174,175,224,0,171,172,226,136,137,186,42,224,175,223,0,226,172,225,186,137,185,42,175,233,223,0,172,238,225,137,195,185,42,175,176,233,0,172,173,238,137,138,195,42,176,234,233,0,173,239,238,138,196,195,42,176,177,234,0,173,174,239,138,139,196,42,177,235,234,0,174,240,239,139,197,196,42,177,178,235,0,174,175,240,139,140,197,42,178,193,235,0,175,193,240,140,155,197,42,178,236,193,0,241,242,243,140,198,155,42,237,236,178,0,244,242,241,199,198,140,42,238,236,237,0,245,242,244,200,198,199,42,236,238,239,0,242,245,246,198,200,201,42,240,239,238,0,247,246,245,202,201,200,42,240,241,239,0,247,248,246,202,203,201,42,242,241,240,0,249,248,247,204,203,202,42,242,243,241,0,249,250,248,204,205,203,42,244,243,242,0,251,250,249,206,205,204,42,244,245,243,0,251,252,250,206,207,205,42,246,245,244,0,253,252,251,208,207,206,42,246,247,245,0,253,254,252,208,209,207,42,246,248,247,0,253,255,254,208,210,209,42,249,248,246,0,256,257,258,211,210,208,42,250,248,249,0,259,257,256,212,210,211,42,250,251,248,0,259,260,257,212,213,210,42,250,252,251,0,259,261,260,212,214,213,42,250,253,252,0,259,262,261,212,215,214,42,249,253,250,0,256,262,259,211,215,212,42,254,253,249,0,263,262,256,216,215,211,42,254,255,253,0,263,264,262,216,217,215,42,256,255,254,0,265,264,263,218,217,216,42,256,257,255,0,265,266,264,218,219,217,42,256,258,257,0,265,267,266,218,220,219,42,259,258,256,0,268,267,265,221,220,218,42,259,260,258,0,268,269,267,221,222,220,42,259,261,260,0,268,270,269,221,223,222,42,261,259,262,0,270,268,271,223,221,224,42,262,259,263,0,271,268,272,224,221,225,42,259,256,263,0,268,265,272,221,218,225,42,263,256,254,0,272,265,263,225,218,216,42,263,254,264,0,272,263,273,225,216,226,42,264,254,249,0,273,263,256,226,216,211,42,249,246,264,0,256,258,273,211,208,226,42,264,246,244,0,273,258,274,226,208,206,42,264,244,265,0,273,274,275,226,206,227,42,265,244,242,0,275,274,276,227,206,204,42,265,242,266,0,275,276,277,227,204,228,42,266,242,240,0,277,276,278,228,204,202,42,266,240,267,0,277,278,279,228,202,229,42,267,240,238,0,279,278,280,229,202,200,42,267,238,181,0,279,280,179,229,200,143,42,181,238,237,0,179,280,281,143,200,199,42,179,181,237,0,176,179,281,141,143,199,42,179,237,178,0,176,281,177,141,199,140,42,181,182,267,0,179,180,279,143,144,229,42,182,268,267,0,180,282,279,144,230,229,42,182,269,268,0,180,283,282,144,231,230,42,183,269,182,0,181,283,180,145,231,144,42,269,183,270,0,283,181,284,231,145,232,42,183,185,270,0,181,183,284,145,147,232,42,270,185,271,0,284,183,285,232,147,233,42,185,186,271,0,183,184,285,147,148,233,42,271,186,272,0,285,184,286,233,148,234,42,186,187,272,0,184,185,286,148,149,234,42,187,273,272,0,185,287,286,149,235,234,42,187,188,273,0,185,186,287,149,150,235,42,188,274,273,0,186,288,287,150,236,235,42,188,275,274,0,186,289,288,150,237,236,42,189,275,188,0,187,289,186,151,237,150,42,189,276,275,0,187,290,289,151,238,237,42,190,276,189,0,188,290,187,152,238,151,42,190,191,276,0,188,190,290,152,153,238,42,191,236,276,0,190,242,290,153,198,238,42,236,191,192,0,242,190,191,198,153,154,42,236,192,193,0,242,191,243,198,154,155,42,276,236,239,0,290,242,246,238,198,201,42,276,239,241,0,290,246,248,238,201,203,42,241,275,276,0,248,289,290,203,237,238,42,243,275,241,0,250,289,248,205,237,203,42,243,274,275,0,250,288,289,205,236,237,42,245,274,243,0,252,288,250,207,236,205,42,245,277,274,0,252,291,288,207,239,236,42,247,277,245,0,254,291,252,209,239,207,42,247,278,277,0,254,292,291,209,240,239,42,279,278,247,0,293,292,254,241,240,209,42,279,280,278,0,293,294,292,241,242,240,42,279,281,280,0,293,295,294,241,243,242,42,248,281,279,0,255,295,293,210,243,241,42,248,282,281,0,255,296,295,210,244,243,42,248,283,282,0,257,297,298,210,245,244,42,251,283,248,0,260,297,257,213,245,210,42,251,284,283,0,260,299,297,213,246,245,42,251,252,284,0,260,261,299,213,214,246,42,252,285,284,0,261,300,299,214,247,246,42,286,285,252,0,301,300,261,248,247,214,42,286,287,285,0,301,302,300,248,249,247,42,286,288,287,0,301,303,302,248,250,249,42,255,288,286,0,264,303,301,217,250,248,42,255,257,288,0,264,266,303,217,219,250,42,257,289,288,0,266,304,303,219,251,250,42,258,289,257,0,267,304,266,220,251,219,42,260,289,258,0,269,304,267,222,251,220,42,260,290,289,0,269,305,304,222,252,251,42,260,291,290,0,269,306,305,222,253,252,42,261,291,260,0,270,306,269,223,253,222,42,261,269,291,0,270,283,306,223,231,253,42,269,261,268,0,283,270,282,231,223,230,42,268,261,262,0,282,270,271,230,223,224,42,268,262,266,0,282,271,277,230,224,228,42,266,262,265,0,277,271,275,228,224,227,42,262,263,265,0,271,272,275,224,225,227,42,265,263,264,0,275,272,273,227,225,226,42,267,268,266,0,279,282,277,229,230,228,42,269,270,291,0,283,284,306,231,232,253,42,291,270,292,0,306,284,307,253,232,254,42,270,271,292,0,284,285,307,232,233,254,42,292,271,293,0,307,285,308,254,233,255,42,271,272,293,0,285,286,308,233,234,255,42,272,294,293,0,286,309,308,234,256,255,42,272,273,294,0,286,287,309,234,235,256,42,273,277,294,0,287,291,309,235,239,256,42,273,274,277,0,287,288,291,235,236,239,42,294,277,278,0,309,291,292,256,239,240,42,294,278,295,0,309,292,310,256,240,257,42,295,278,280,0,310,292,294,257,240,242,42,295,280,296,0,310,294,311,257,242,258,42,296,280,297,0,311,294,312,258,242,259,42,281,297,280,0,295,312,294,243,259,242,42,281,298,297,0,295,313,312,243,260,259,42,299,298,281,0,314,313,295,261,260,243,42,299,300,298,0,314,315,313,261,262,260,42,299,301,300,0,316,317,318,261,263,262,42,302,301,299,0,319,317,316,264,263,261,42,302,303,301,0,319,320,317,264,265,263,42,302,304,303,0,319,321,320,264,266,265,42,283,304,302,0,297,321,319,245,266,264,42,283,284,304,0,297,299,321,245,246,266,42,284,305,304,0,299,322,321,246,267,266,42,285,305,284,0,300,322,299,247,267,246,42,285,306,305,0,300,323,322,247,268,267,42,285,287,306,0,300,302,323,247,249,268,42,287,307,306,0,302,324,323,249,269,268,42,287,308,307,0,302,325,324,249,270,269,42,288,308,287,0,303,325,302,250,270,249,42,288,289,308,0,303,304,325,250,251,270,42,289,309,308,0,304,326,325,251,271,270,42,310,309,289,0,327,326,304,272,271,251,42,310,311,309,0,327,328,326,272,273,271,42,296,311,310,0,311,328,327,258,273,272,42,296,297,311,0,311,312,328,258,259,273,42,311,297,312,0,328,312,329,273,259,274,42,298,312,297,0,313,329,312,260,274,259,42,298,313,312,0,313,330,329,260,275,274,42,300,313,298,0,315,330,313,262,275,260,42,300,314,313,0,315,331,330,262,276,275,42,315,314,300,0,332,333,318,277,276,262,42,315,316,314,0,332,334,333,277,278,276,42,315,317,316,0,332,335,334,277,279,278,42,315,318,317,0,332,336,335,277,280,279,42,301,318,315,0,317,336,332,263,280,277,42,301,303,318,0,317,320,336,263,265,280,42,303,319,318,0,320,337,336,265,281,280,42,320,319,303,0,338,337,320,282,281,265,42,320,321,319,0,338,339,337,282,283,281,42,320,322,321,0,338,340,339,282,284,283,42,305,322,320,0,322,340,338,267,284,282,42,305,306,322,0,322,323,340,267,268,284,42,306,323,322,0,323,341,340,268,285,284,42,306,307,323,0,323,324,341,268,269,285,42,307,324,323,0,324,342,341,269,286,285,42,325,324,307,0,343,342,324,287,286,269,42,325,326,324,0,343,344,342,287,288,286,42,327,326,325,0,345,344,343,289,288,287,42,327,328,326,0,345,346,344,289,290,288,42,327,312,328,0,345,329,346,289,274,290,42,311,312,327,0,328,329,345,273,274,289,42,311,327,309,0,328,345,326,273,289,271,42,309,327,325,0,326,345,343,271,289,287,42,309,325,308,0,326,343,325,271,287,270,42,308,325,307,0,325,343,324,270,287,269,42,313,328,312,0,330,346,329,275,290,274,42,313,329,328,0,330,347,346,275,291,290,42,314,329,313,0,331,347,330,276,291,275,42,314,330,329,0,331,348,347,276,292,291,42,314,316,330,0,333,334,349,276,278,292,42,331,330,316,0,350,349,334,293,292,278,42,331,332,330,0,350,351,349,293,294,292,42,332,331,333,0,351,350,352,294,293,295,42,331,334,333,0,350,353,352,293,296,295,42,331,335,334,0,350,354,353,293,297,296,42,331,316,335,0,350,334,354,293,278,297,42,335,316,317,0,354,334,335,297,278,279,42,336,335,317,0,355,354,335,298,297,279,42,336,337,335,0,355,356,354,298,299,297,42,336,338,337,0,355,357,356,298,300,299,42,336,339,338,0,355,358,357,298,301,300,42,340,339,336,0,359,358,355,302,301,298,42,340,341,339,0,359,360,358,302,303,301,42,319,341,340,0,337,360,359,281,303,302,42,319,321,341,0,337,339,360,281,283,303,42,321,342,341,0,339,361,360,283,304,303,42,321,343,342,0,339,362,361,283,305,304,42,322,343,321,0,340,362,339,284,305,283,42,322,323,343,0,340,341,362,284,285,305,42,323,344,343,0,341,363,362,285,306,305,42,324,344,323,0,342,363,341,286,306,285,42,324,345,344,0,342,364,363,286,307,306,42,326,345,324,0,344,364,342,288,307,286,42,326,346,345,0,344,365,364,288,308,307,42,326,328,346,0,344,346,365,288,290,308,42,329,346,328,0,347,365,346,291,308,290,42,329,347,346,0,347,366,365,291,309,308,42,330,347,329,0,348,366,347,292,309,291,42,332,347,330,0,367,366,348,294,309,292,42,332,348,347,0,367,368,366,294,310,309,42,332,349,348,0,367,369,368,294,311,310,42,332,333,349,0,351,352,370,294,295,311,42,350,349,333,0,371,372,373,312,311,295,42,350,351,349,0,371,374,372,312,313,311,42,350,352,351,0,371,375,374,312,314,313,42,350,353,352,0,371,376,375,312,315,314,42,354,353,350,0,377,376,371,316,315,312,42,355,353,354,0,378,379,380,317,315,316,42,356,353,355,0,381,379,378,318,315,317,42,356,352,353,0,381,382,379,318,314,315,42,356,357,352,0,381,383,382,318,319,314,42,356,358,357,0,381,384,383,318,320,319,42,359,358,356,0,385,384,381,321,320,318,42,344,358,359,0,363,384,385,306,320,321,42,345,358,344,0,364,384,363,307,320,306,42,345,360,358,0,364,386,384,307,322,320,42,345,346,360,0,364,365,386,307,308,322,42,347,360,346,0,366,386,365,309,322,308,42,348,360,347,0,368,386,366,310,322,309,42,357,360,348,0,383,386,368,319,322,310,42,358,360,357,0,384,386,383,320,322,319,42,348,351,357,0,368,387,383,310,313,319,42,349,351,348,0,369,387,368,311,313,310,42,351,352,357,0,387,382,383,313,314,319,42,344,359,343,0,363,385,362,306,321,305,42,343,359,342,0,362,385,361,305,321,304,42,342,359,355,0,361,385,378,304,321,317,42,355,359,356,0,378,385,381,317,321,318,42,342,355,361,0,361,378,388,304,317,323,42,355,354,361,0,378,380,388,317,316,323,42,361,354,362,0,388,380,389,323,316,324,42,362,354,350,0,390,377,371,324,316,312,42,338,362,350,0,391,390,371,300,324,312,42,339,362,338,0,358,389,357,301,324,300,42,339,361,362,0,358,388,389,301,323,324,42,339,341,361,0,358,360,388,301,303,323,42,341,342,361,0,360,361,388,303,304,323,42,338,350,337,0,391,371,392,300,312,299,42,337,350,334,0,392,371,393,299,312,296,42,334,350,333,0,393,371,373,296,312,295,42,335,337,334,0,354,356,353,297,299,296,42,319,340,318,0,337,359,336,281,302,280,42,318,340,317,0,336,359,335,280,302,279,42,336,317,340,0,355,335,359,298,279,302,42,305,320,304,0,322,338,321,267,282,266,42,304,320,303,0,321,338,320,266,282,265,42,300,301,315,0,318,317,332,262,263,277,42,363,296,310,0,394,311,327,325,258,272,42,363,295,296,0,394,310,311,325,257,258,42,293,295,363,0,308,310,394,255,257,325,42,293,294,295,0,308,309,310,255,256,257,42,292,293,363,0,307,308,394,254,255,325,42,290,292,363,0,305,307,394,252,254,325,42,291,292,290,0,306,307,305,253,254,252,42,290,363,310,0,305,394,327,252,325,272,42,290,310,289,0,305,327,304,252,272,251,42,283,302,282,0,297,319,298,245,264,244,42,302,299,282,0,319,316,298,264,261,244,42,282,299,281,0,296,314,295,244,261,243,42,255,286,253,0,264,301,262,217,248,215,42,253,286,252,0,262,301,261,215,248,214,42,248,279,247,0,255,293,254,210,241,209,42,235,193,194,0,240,193,194,197,155,156,42,235,194,364,0,240,194,395,197,156,326,42,364,194,195,0,395,194,195,326,156,157,42,364,195,365,0,395,195,396,326,157,327,42,195,196,365,0,195,196,396,157,158,327,42,196,366,365,0,196,397,396,158,328,327,42,196,197,366,0,196,197,397,158,159,328,42,197,367,366,0,197,398,397,159,329,328,42,197,198,367,0,197,198,398,159,160,329,42,198,368,367,0,198,399,398,160,330,329,42,198,369,368,0,198,400,399,160,331,330,42,198,199,369,0,198,199,400,160,161,331,42,199,370,369,0,199,401,400,161,332,331,42,199,200,370,0,199,200,401,161,162,332,42,201,370,200,0,201,401,200,163,332,162,42,201,371,370,0,201,402,401,163,333,332,42,372,371,201,0,403,402,201,334,333,163,42,372,373,371,0,403,404,402,334,335,333,42,372,373,374,0,405,406,407,334,335,336,42,372,375,373,0,403,408,404,334,337,335,42,204,375,372,0,204,408,403,166,337,334,42,204,205,375,0,204,205,408,166,167,337,42,205,376,375,0,205,409,408,167,338,337,42,205,206,376,0,205,206,409,167,168,338,42,206,377,376,0,206,410,409,168,339,338,42,206,378,377,0,206,411,410,168,340,339,42,207,378,206,0,207,411,206,169,340,168,42,207,379,378,0,207,412,411,169,341,340,42,208,379,207,0,208,412,207,170,341,169,42,208,380,379,0,208,413,412,170,342,341,42,381,380,208,0,414,413,208,343,342,170,42,381,382,380,0,414,415,413,343,344,342,42,383,382,381,0,416,415,414,345,344,343,42,383,384,382,0,416,417,415,345,346,344,42,383,385,384,0,416,418,417,347,347,347,42,386,385,383,0,419,418,416,348,349,345,42,386,387,385,0,419,420,418,348,350,349,42,386,388,387,0,419,421,420,348,351,350,42,389,388,386,0,422,421,419,352,351,348,42,389,390,388,0,422,423,421,352,353,351,42,217,390,389,0,217,423,422,179,353,352,42,217,391,390,0,220,424,425,179,354,353,42,217,218,391,0,220,219,424,179,180,354,42,218,392,391,0,219,426,424,180,355,354,42,218,220,392,0,219,222,426,180,182,355,42,392,220,393,0,426,222,427,355,182,356,42,220,222,393,0,222,224,427,182,184,356,42,393,222,394,0,427,224,428,356,184,357,42,222,233,394,0,224,238,428,184,195,357,42,223,233,222,0,225,238,224,185,195,184,42,233,234,394,0,238,239,428,195,196,357,42,394,234,395,0,428,239,429,357,196,358,42,234,396,395,0,239,430,429,196,359,358,42,234,364,396,0,239,395,430,196,326,359,42,234,235,364,0,239,240,395,196,197,326,42,364,365,396,0,395,396,430,326,327,359,42,396,365,397,0,430,396,431,359,327,360,42,365,366,397,0,396,397,431,327,328,360,42,366,398,397,0,397,432,431,328,361,360,42,366,367,398,0,397,398,432,328,329,361,42,367,399,398,0,398,433,432,329,362,361,42,367,368,399,0,398,399,433,329,330,362,42,368,400,399,0,399,434,433,330,363,362,42,368,401,400,0,399,435,434,330,364,363,42,368,369,401,0,399,400,435,330,331,364,42,369,402,401,0,400,436,435,331,365,364,42,369,370,402,0,400,401,436,331,332,365,42,370,371,402,0,401,402,436,332,333,365,42,371,403,402,0,402,437,436,333,366,365,42,371,373,403,0,402,404,437,333,335,366,42,373,404,403,0,404,438,437,335,367,366,42,373,404,405,0,406,439,440,335,367,368,42,373,406,404,0,404,441,438,335,369,367,42,375,406,373,0,408,441,404,337,369,335,42,375,376,406,0,408,409,441,337,338,369,42,376,377,406,0,409,410,441,338,339,369,42,377,407,406,0,410,442,441,339,370,369,42,377,408,407,0,410,443,442,339,371,370,42,378,408,377,0,411,443,410,340,371,339,42,378,409,408,0,411,444,443,340,372,371,42,379,409,378,0,412,444,411,341,372,340,42,379,410,409,0,412,445,444,341,373,372,42,380,410,379,0,413,445,412,342,373,341,42,380,411,410,0,413,446,445,342,374,373,42,382,411,380,0,415,446,413,344,374,342,42,382,412,411,0,415,447,446,344,375,374,42,384,412,382,0,417,447,415,346,375,344,42,384,413,412,0,417,448,447,346,376,375,42,414,413,384,0,449,448,417,377,376,346,42,414,415,413,0,449,450,448,377,378,376,42,414,416,415,0,449,451,450,377,379,378,42,417,416,414,0,452,451,449,380,379,377,42,417,418,416,0,452,453,451,380,381,379,42,419,418,417,0,454,453,452,382,381,380,42,420,418,419,0,455,453,454,383,381,382,42,418,420,421,0,453,455,456,381,383,384,42,420,422,421,0,455,457,456,383,385,384,42,420,423,422,0,455,458,457,383,386,385,42,424,423,420,0,459,458,455,387,386,383,42,424,425,423,0,459,460,458,387,388,386,42,426,425,424,0,461,460,459,389,388,387,42,426,427,425,0,462,463,464,389,390,388,42,426,428,427,0,462,465,463,389,391,390,42,429,428,426,0,466,465,462,392,391,389,42,429,430,428,0,466,467,465,392,393,391,42,390,430,429,0,425,467,466,353,393,392,42,390,391,430,0,425,424,467,353,354,393,42,391,431,430,0,424,468,467,354,394,393,42,391,392,431,0,424,426,468,354,355,394,42,431,392,432,0,468,426,469,394,355,395,42,392,393,432,0,426,427,469,355,356,395,42,432,393,433,0,469,427,470,395,356,396,42,393,394,433,0,427,428,470,356,357,396,42,433,394,395,0,470,428,429,396,357,358,42,433,395,434,0,470,429,471,396,358,397,42,434,395,435,0,471,429,472,397,358,398,42,395,396,435,0,429,430,472,358,359,398,42,435,396,397,0,472,430,431,398,359,360,42,435,397,436,0,472,431,473,398,360,399,42,398,436,397,0,432,473,431,361,399,360,42,398,437,436,0,432,474,473,361,400,399,42,399,437,398,0,433,474,432,362,400,361,42,399,438,437,0,433,475,474,362,401,400,42,400,438,399,0,434,475,433,363,401,362,42,400,439,438,0,434,476,475,363,402,401,42,400,440,439,0,434,477,476,363,403,402,42,401,440,400,0,435,477,434,364,403,363,42,401,441,440,0,435,478,477,364,404,403,42,402,441,401,0,436,478,435,365,404,364,42,403,441,402,0,437,478,436,366,404,365,42,403,442,441,0,437,479,478,366,405,404,42,404,442,403,0,438,479,437,367,405,366,42,404,443,442,0,438,480,479,367,406,405,42,407,443,404,0,442,480,438,370,406,367,42,407,444,443,0,442,481,480,370,407,406,42,408,444,407,0,443,481,442,371,407,370,42,408,445,444,0,443,482,481,371,408,407,42,409,445,408,0,444,482,443,372,408,371,42,409,446,445,0,444,483,482,372,409,408,42,410,446,409,0,445,483,444,373,409,372,42,410,447,446,0,445,484,483,373,410,409,42,411,447,410,0,446,484,445,374,410,373,42,412,447,411,0,447,484,446,375,410,374,42,412,448,447,0,447,485,484,375,411,410,42,413,448,412,0,448,485,447,376,411,375,42,413,449,448,0,448,486,485,376,412,411,42,415,449,413,0,450,486,448,378,412,376,42,415,450,449,0,450,487,486,378,413,412,42,451,450,415,0,488,487,450,414,413,378,42,451,452,450,0,488,489,487,414,415,413,42,453,452,451,0,490,489,488,416,415,414,42,454,452,453,0,491,489,490,417,415,416,42,454,455,452,0,491,492,489,417,418,415,42,455,456,452,0,492,493,489,418,419,415,42,452,456,457,0,489,493,494,415,419,420,42,456,458,457,0,493,495,494,419,421,420,42,457,458,459,0,494,495,496,420,421,422,42,458,460,459,0,495,497,496,421,423,422,42,459,460,461,0,496,497,498,422,423,424,42,460,462,461,0,497,499,498,423,425,424,42,461,462,463,0,498,499,500,424,425,426,42,463,462,464,0,500,499,501,426,425,427,42,464,462,465,0,501,499,502,427,425,428,42,464,465,466,0,501,502,503,427,428,429,42,466,465,467,0,503,502,504,429,428,430,42,466,467,468,0,503,504,505,429,430,431,42,469,466,468,0,506,503,505,432,429,431,42,470,466,469,0,507,503,506,433,429,432,42,470,464,466,0,507,501,503,433,427,429,42,471,464,470,0,508,501,507,434,427,433,42,471,463,464,0,508,500,501,434,426,427,42,472,463,471,0,509,500,508,435,426,434,42,461,463,472,0,498,500,509,424,426,435,42,461,472,473,0,498,509,510,424,435,436,42,473,472,474,0,510,509,511,436,435,437,42,474,472,471,0,511,509,508,437,435,434,42,474,471,475,0,511,508,512,437,434,438,42,475,471,470,0,512,508,507,438,434,433,42,475,470,476,0,512,507,513,438,433,439,42,476,470,477,0,513,507,514,439,433,440,42,477,470,478,0,514,507,515,440,433,441,42,478,470,469,0,515,507,506,441,433,432,42,478,469,479,0,515,506,516,441,432,442,42,479,469,480,0,516,506,517,442,432,443,42,469,468,480,0,506,505,517,432,431,443,42,481,479,480,0,518,516,517,444,442,443,42,481,482,479,0,518,519,516,444,445,442,42,481,483,482,0,518,520,519,444,446,445,42,484,483,481,0,521,520,518,447,446,444,42,484,485,483,0,521,522,520,447,448,446,42,486,485,484,0,523,522,521,449,448,447,42,486,487,485,0,523,524,522,449,450,448,42,488,487,486,0,525,524,523,451,450,449,42,488,489,487,0,525,526,524,451,452,450,42,490,489,488,0,527,526,525,453,452,451,42,490,491,489,0,527,528,526,453,454,452,42,492,491,490,0,529,528,527,455,454,453,42,492,493,491,0,529,530,528,455,456,454,42,494,493,492,0,531,530,529,457,456,455,42,494,495,493,0,531,532,530,457,458,456,42,431,495,494,0,468,532,531,394,458,457,42,431,432,495,0,468,469,532,394,395,458,42,495,432,496,0,532,469,533,458,395,459,42,432,433,496,0,469,470,533,395,396,459,42,496,433,434,0,533,470,471,459,396,397,42,496,434,497,0,533,471,534,459,397,460,42,497,434,498,0,534,471,535,460,397,461,42,434,435,498,0,471,472,535,397,398,461,42,498,435,436,0,535,472,473,461,398,399,42,498,436,499,0,535,473,536,461,399,462,42,437,499,436,0,474,536,473,400,462,399,42,437,500,499,0,474,537,536,400,463,462,42,438,500,437,0,475,537,474,401,463,400,42,438,501,500,0,475,538,537,401,464,463,42,439,501,438,0,476,538,475,402,464,401,42,439,502,501,0,476,539,538,402,465,464,42,439,503,502,0,476,540,539,402,466,465,42,440,503,439,0,477,540,476,403,466,402,42,440,504,503,0,477,541,540,403,467,466,42,441,504,440,0,478,541,477,404,467,403,42,442,504,441,0,479,541,478,405,467,404,42,442,505,504,0,479,542,541,405,468,467,42,443,505,442,0,480,542,479,406,468,405,42,443,506,505,0,480,543,542,406,469,468,42,444,506,443,0,481,543,480,407,469,406,42,444,507,506,0,481,544,543,407,470,469,42,444,445,507,0,481,482,544,407,408,470,42,445,508,507,0,482,545,544,408,471,470,42,445,509,508,0,482,546,545,408,472,471,42,446,509,445,0,483,546,482,409,472,408,42,447,509,446,0,484,546,483,410,472,409,42,448,509,447,0,485,546,484,411,472,410,42,448,510,509,0,485,547,546,411,473,472,42,449,510,448,0,486,547,485,412,473,411,42,449,511,510,0,486,548,547,412,474,473,42,450,511,449,0,487,548,486,413,474,412,42,450,457,511,0,487,494,548,413,420,474,42,452,457,450,0,489,494,487,415,420,413,42,457,512,511,0,494,549,548,420,475,474,42,457,459,512,0,494,496,549,420,422,475,42,459,473,512,0,496,510,549,422,436,475,42,459,461,473,0,496,498,510,422,424,436,42,512,473,513,0,549,510,550,475,436,476,42,473,474,513,0,510,511,550,436,437,476,42,513,474,514,0,550,511,551,476,437,477,42,514,474,475,0,551,511,512,477,437,438,42,514,475,515,0,551,512,552,477,438,478,42,515,475,476,0,552,512,513,478,438,439,42,515,476,516,0,552,513,553,478,439,479,42,516,476,517,0,553,513,554,479,439,480,42,517,476,477,0,554,513,514,480,439,440,42,518,517,477,0,555,554,514,481,480,440,42,519,517,518,0,556,554,555,482,480,481,42,519,520,517,0,556,557,554,482,483,480,42,502,520,519,0,539,557,556,465,483,482,42,503,520,502,0,540,557,539,466,483,465,42,503,521,520,0,540,558,557,466,484,483,42,504,521,503,0,541,558,540,467,484,466,42,505,521,504,0,542,558,541,468,484,467,42,505,522,521,0,542,559,558,468,485,484,42,506,522,505,0,543,559,542,469,485,468,42,506,523,522,0,543,560,559,469,486,485,42,506,507,523,0,543,544,560,469,470,486,42,507,524,523,0,544,561,560,470,487,486,42,507,508,524,0,544,545,561,470,471,487,42,508,525,524,0,545,562,561,471,488,487,42,510,525,508,0,547,562,545,473,488,471,42,511,525,510,0,548,562,547,474,488,473,42,511,512,525,0,548,549,562,474,475,488,42,512,513,525,0,549,550,562,475,476,488,42,525,513,524,0,562,550,561,488,476,487,42,524,513,514,0,561,550,551,487,476,477,42,523,524,514,0,560,561,551,486,487,477,42,523,514,515,0,560,551,552,486,477,478,42,523,515,522,0,560,552,559,486,478,485,42,522,515,516,0,559,552,553,485,478,479,42,522,516,521,0,559,553,558,485,479,484,42,521,516,520,0,558,553,557,484,479,483,42,520,516,517,0,557,553,554,483,479,480,42,510,508,509,0,547,545,546,473,471,472,42,502,519,526,0,539,556,563,465,482,489,42,526,519,527,0,563,556,564,489,482,490,42,519,518,527,0,556,555,564,482,481,490,42,527,518,528,0,564,555,565,490,481,491,42,518,529,528,0,555,566,565,481,492,491,42,518,477,529,0,555,514,566,481,440,492,42,529,477,478,0,566,514,515,492,440,441,42,529,478,482,0,566,515,519,492,441,445,42,482,478,479,0,519,515,516,445,441,442,42,529,482,483,0,566,519,520,492,445,446,42,528,529,483,0,565,566,520,491,492,446,42,528,483,485,0,565,520,522,491,446,448,42,530,528,485,0,567,565,522,493,491,448,42,527,528,530,0,564,565,567,490,491,493,42,531,527,530,0,568,564,567,494,490,493,42,526,527,531,0,563,564,568,489,490,494,42,532,526,531,0,569,563,568,495,489,494,42,501,526,532,0,538,563,569,464,489,495,42,502,526,501,0,539,563,538,465,489,464,42,501,532,500,0,538,569,537,464,495,463,42,500,532,533,0,537,569,570,463,495,496,42,533,532,534,0,570,569,571,496,495,497,42,532,531,534,0,569,568,571,495,494,497,42,534,531,535,0,571,568,572,497,494,498,42,535,531,530,0,572,568,567,498,494,493,42,487,535,530,0,524,572,567,450,498,493,42,489,535,487,0,526,572,524,452,498,450,42,489,536,535,0,526,573,572,452,499,498,42,491,536,489,0,528,573,526,454,499,452,42,491,537,536,0,528,574,573,454,500,499,42,493,537,491,0,530,574,528,456,500,454,42,493,538,537,0,530,575,574,456,501,500,42,495,538,493,0,532,575,530,458,501,456,42,495,496,538,0,532,533,575,458,459,501,42,538,496,497,0,575,533,534,501,459,460,42,538,497,539,0,575,534,576,501,460,502,42,539,497,540,0,576,534,577,502,460,503,42,497,498,540,0,534,535,577,460,461,503,42,540,498,499,0,577,535,536,503,461,462,42,540,499,533,0,577,536,570,503,462,496,42,500,533,499,0,537,570,536,463,496,462,42,541,540,533,0,578,577,570,504,503,496,42,539,540,541,0,576,577,578,502,503,504,42,537,539,541,0,574,576,578,500,502,504,42,538,539,537,0,575,576,574,501,502,500,42,537,541,536,0,574,578,573,500,504,499,42,536,541,534,0,573,578,571,499,504,497,42,541,533,534,0,578,570,571,504,496,497,42,536,534,535,0,573,571,572,499,497,498,42,487,530,485,0,524,567,522,450,493,448,42,542,431,494,0,579,468,531,505,394,457,42,430,431,542,0,467,468,579,393,394,505,42,430,542,428,0,467,579,465,393,505,391,42,542,543,428,0,579,580,465,505,506,391,42,543,542,544,0,580,579,581,506,505,507,42,542,494,544,0,579,531,581,505,457,507,42,544,494,492,0,581,531,529,507,457,455,42,544,492,545,0,581,529,582,507,455,508,42,545,492,490,0,582,529,527,508,455,453,42,490,546,545,0,527,583,582,453,509,508,42,546,490,488,0,583,527,525,509,453,451,42,546,488,547,0,583,525,584,509,451,510,42,547,488,486,0,584,525,523,510,451,449,42,547,486,548,0,584,523,585,510,449,511,42,548,486,549,0,585,523,586,511,449,512,42,486,484,549,0,523,521,586,449,447,512,42,549,484,550,0,586,521,587,512,447,513,42,484,481,550,0,521,518,587,447,444,513,42,550,481,480,0,587,518,517,513,444,443,42,551,547,548,0,588,584,585,514,510,511,42,552,547,551,0,589,584,588,515,510,514,42,552,553,547,0,589,590,584,515,516,510,42,553,552,554,0,590,589,591,516,515,517,42,553,554,555,0,590,591,592,516,517,518,42,555,554,556,0,592,591,593,518,517,519,42,555,556,557,0,592,593,594,518,519,520,42,557,556,558,0,594,593,595,520,519,521,42,557,558,559,0,594,595,596,520,521,522,42,559,558,560,0,596,595,597,522,521,523,42,560,558,561,0,597,595,598,523,521,524,42,562,560,561,0,599,597,598,525,523,524,42,563,560,562,0,600,597,599,526,523,525,42,563,564,560,0,600,601,597,526,527,523,42,565,564,563,0,602,601,600,528,527,526,42,565,566,564,0,602,603,601,528,529,527,42,425,566,565,0,464,603,602,388,529,528,42,425,427,566,0,464,463,603,388,390,529,42,427,567,566,0,463,604,603,390,530,529,42,543,567,427,0,580,604,463,506,530,390,42,567,543,568,0,604,580,605,530,506,531,42,543,544,568,0,580,581,605,506,507,531,42,568,544,545,0,605,581,582,531,507,508,42,545,569,568,0,582,606,605,508,532,531,42,545,546,569,0,582,583,606,508,509,532,42,546,553,569,0,583,590,606,509,516,532,42,553,546,547,0,590,583,584,516,509,510,42,569,553,555,0,606,590,592,532,516,518,42,569,555,570,0,606,592,607,532,518,533,42,570,555,557,0,607,592,594,533,518,520,42,570,557,571,0,607,594,608,533,520,534,42,571,557,559,0,608,594,596,534,520,522,42,571,559,564,0,608,596,601,534,522,527,42,564,559,560,0,601,596,597,527,522,523,42,566,571,564,0,603,608,601,529,534,527,42,567,571,566,0,604,608,603,530,534,529,42,567,570,571,0,604,607,608,530,533,534,42,568,570,567,0,605,607,604,531,533,530,42,568,569,570,0,605,606,607,531,532,533,42,428,543,427,0,465,580,463,391,506,390,42,425,565,423,0,460,609,458,388,528,386,42,423,565,572,0,458,609,610,386,528,535,42,565,563,572,0,609,611,610,528,526,535,42,572,563,573,0,610,611,612,535,526,536,42,563,562,573,0,611,613,612,526,525,536,42,573,562,574,0,612,613,614,536,525,537,42,562,575,574,0,613,615,614,525,538,537,42,562,561,575,0,599,598,616,525,524,538,42,573,574,576,0,612,614,617,536,537,539,42,577,573,576,0,618,612,617,540,536,539,42,572,573,577,0,610,612,618,535,536,540,42,422,572,577,0,457,610,618,385,535,540,42,423,572,422,0,458,610,457,386,535,385,42,422,577,578,0,457,618,619,385,540,541,42,578,577,579,0,619,618,620,541,540,542,42,577,576,579,0,618,617,620,540,539,542,42,578,579,580,0,619,620,621,541,542,543,42,581,578,580,0,622,619,621,544,541,543,42,421,578,581,0,456,619,622,384,541,544,42,421,422,578,0,456,457,619,384,385,541,42,582,421,581,0,623,456,622,545,384,544,42,418,421,582,0,453,456,623,381,384,545,42,416,418,582,0,451,453,623,379,381,545,42,416,582,451,0,451,623,488,379,545,414,42,451,582,453,0,488,623,490,414,545,416,42,582,581,453,0,623,622,490,545,544,416,42,453,581,454,0,490,622,491,416,544,417,42,581,580,454,0,622,621,491,544,543,417,42,415,416,451,0,450,451,488,378,379,414,42,406,407,404,0,441,442,438,369,370,367,42,390,429,388,0,423,624,421,353,392,351,42,388,429,583,0,421,624,625,351,392,546,42,429,426,583,0,624,461,625,392,389,546,42,583,426,424,0,625,461,459,546,389,387,42,583,424,419,0,625,459,454,546,387,382,42,419,424,420,0,454,459,455,382,387,383,42,387,583,419,0,420,625,454,350,546,382,42,388,583,387,0,421,625,420,351,546,350,42,419,417,387,0,454,452,420,382,380,350,42,387,417,385,0,420,452,418,350,380,349,42,417,414,385,0,452,449,418,380,377,349,42,385,414,384,0,418,449,417,349,377,346,42,404,584,405,0,439,626,440,367,547,368,42,404,585,584,0,439,627,626,367,548,547,42,585,586,584,0,628,629,630,548,549,547,42,585,587,586,0,628,631,629,548,550,549,42,588,587,585,0,632,631,628,551,550,548,42,588,589,587,0,632,633,631,551,552,550,42,590,589,588,0,634,633,632,553,552,551,42,590,591,589,0,634,635,633,553,554,552,42,592,591,590,0,636,635,634,555,554,553,42,593,591,592,0,637,635,636,556,554,555,42,593,594,591,0,637,638,635,556,557,554,42,595,594,593,0,639,638,637,558,557,556,42,595,596,594,0,639,640,638,558,559,557,42,597,596,595,0,641,640,639,560,559,558,42,597,598,596,0,641,642,640,560,561,559,42,599,598,597,0,643,642,641,562,561,560,42,599,600,598,0,643,644,642,562,563,561,42,601,600,599,0,645,644,643,564,563,562,42,601,602,600,0,645,646,644,564,565,563,42,603,602,601,0,647,646,645,566,565,564,42,603,604,602,0,647,648,646,566,567,565,42,605,604,603,0,649,648,647,568,567,566,42,605,606,604,0,649,650,648,568,569,567,42,607,606,605,0,651,650,649,570,569,568,42,607,608,606,0,651,652,650,570,571,569,42,609,608,607,0,653,652,651,572,571,570,42,609,610,608,0,653,654,652,572,573,571,42,611,610,609,0,655,654,653,574,573,572,42,611,612,610,0,655,656,654,574,575,573,42,613,612,611,0,657,656,655,576,575,574,42,613,614,612,0,657,658,656,576,577,575,42,615,614,613,0,659,658,657,578,577,576,42,615,616,614,0,659,660,658,578,579,577,42,617,616,615,0,661,660,659,580,579,578,42,617,618,616,0,661,662,660,580,581,579,42,619,618,617,0,663,662,661,582,581,580,42,619,620,618,0,663,664,662,582,583,581,42,621,620,619,0,665,664,663,584,583,582,42,621,622,620,0,665,666,664,584,585,583,42,623,622,621,0,667,666,665,586,585,584,42,623,624,622,0,667,668,666,586,587,585,42,625,624,623,0,669,668,667,588,587,586,42,625,626,624,0,669,670,668,588,589,587,42,627,626,625,0,671,670,669,590,589,588,42,627,628,626,0,671,672,670,590,591,589,42,629,628,627,0,673,672,671,592,591,590,42,629,630,628,0,673,674,672,592,593,591,42,631,630,629,0,675,674,673,594,593,592,42,632,630,631,0,676,677,678,595,593,594,42,632,633,630,0,676,679,677,595,596,593,42,632,634,633,0,676,680,679,595,597,596,42,632,635,634,0,676,681,680,595,598,597,42,636,635,632,0,682,681,676,599,598,595,42,637,635,636,0,683,684,685,600,598,599,42,638,635,637,0,686,684,683,601,598,600,42,638,634,635,0,686,687,684,601,597,598,42,639,634,638,0,688,687,686,602,597,601,42,639,633,634,0,688,689,687,602,596,597,42,628,633,639,0,672,689,688,591,596,602,42,628,630,633,0,672,674,689,591,593,596,42,628,639,626,0,672,688,670,591,602,589,42,626,639,640,0,670,688,690,589,602,603,42,639,638,640,0,688,686,690,602,601,603,42,640,638,641,0,690,686,691,603,601,604,42,641,638,637,0,691,686,683,604,601,600,42,641,637,642,0,691,683,692,604,600,605,42,642,637,643,0,692,683,693,605,600,606,42,637,636,643,0,683,685,693,600,599,606,42,644,643,636,0,694,693,685,607,606,599,42,645,643,644,0,695,693,694,608,606,607,42,645,646,643,0,695,696,693,608,609,606,42,647,646,645,0,697,696,695,610,609,608,42,647,648,646,0,697,698,696,610,611,609,42,649,648,647,0,699,698,697,612,611,610,42,649,650,648,0,699,700,698,612,613,611,42,649,651,650,0,699,701,700,612,614,613,42,652,651,649,0,702,703,704,615,614,612,42,653,651,652,0,705,703,702,616,614,615,42,653,654,651,0,705,706,703,616,617,614,42,653,655,654,0,705,707,706,616,618,617,42,656,655,653,0,708,707,705,619,618,616,42,656,657,655,0,708,709,707,619,620,618,42,657,656,658,0,709,708,710,620,619,621,42,658,656,659,0,710,708,711,621,619,622,42,656,653,659,0,708,705,711,619,616,622,42,659,653,652,0,711,705,702,622,616,615,42,660,659,652,0,712,711,702,623,622,615,42,658,659,660,0,710,711,712,621,622,623,42,658,660,661,0,710,712,713,621,623,624,42,661,660,662,0,713,712,714,624,623,625,42,660,663,662,0,712,715,714,623,626,625,42,663,660,664,0,715,712,716,626,623,627,42,660,652,664,0,712,702,716,623,615,627,42,664,652,647,0,716,702,717,627,615,610,42,652,649,647,0,702,704,717,615,612,610,42,664,647,665,0,716,717,718,627,610,628,42,665,647,645,0,718,717,719,628,610,608,42,666,665,645,0,720,718,719,629,628,608,42,667,665,666,0,721,718,720,630,628,629,42,663,665,667,0,715,718,721,626,628,630,42,663,664,665,0,715,716,718,626,627,628,42,663,667,668,0,715,721,722,626,630,631,42,667,632,668,0,723,676,724,630,595,631,42,666,632,667,0,725,676,723,629,595,630,42,666,644,632,0,725,726,676,629,607,595,42,666,645,644,0,720,719,727,629,608,607,42,644,636,632,0,726,682,676,607,599,595,42,668,632,631,0,724,676,678,631,595,594,42,662,668,631,0,714,722,675,625,631,594,42,662,663,668,0,714,715,722,625,626,631,42,629,662,631,0,673,714,675,592,625,594,42,661,662,629,0,713,714,673,624,625,592,42,627,661,629,0,671,713,673,590,624,592,42,658,661,627,0,710,713,671,621,624,590,42,658,627,625,0,710,671,669,621,590,588,42,669,658,625,0,728,710,669,632,621,588,42,669,657,658,0,728,709,710,632,620,621,42,670,657,669,0,729,709,728,633,620,632,42,657,670,671,0,709,729,730,620,633,634,42,670,672,671,0,729,731,730,633,635,634,42,670,673,672,0,729,732,731,633,636,635,42,673,670,674,0,732,729,733,636,633,637,42,674,670,669,0,733,729,728,637,633,632,42,674,669,621,0,733,728,665,637,632,584,42,621,669,623,0,665,728,667,584,632,586,42,669,625,623,0,728,669,667,632,588,586,42,619,674,621,0,663,733,665,582,637,584,42,675,674,619,0,734,733,663,638,637,582,42,675,673,674,0,734,732,733,638,636,637,42,676,673,675,0,735,732,734,639,636,638,42,673,676,677,0,732,735,736,636,639,640,42,676,678,677,0,735,737,736,639,641,640,42,676,679,678,0,735,738,737,639,642,641,42,679,676,680,0,738,735,739,642,639,643,42,680,676,675,0,739,735,734,643,639,638,42,680,675,617,0,739,734,661,643,638,580,42,617,675,619,0,661,734,663,580,638,582,42,615,680,617,0,659,739,661,578,643,580,42,681,680,615,0,740,739,659,644,643,578,42,681,679,680,0,740,738,739,644,642,643,42,682,679,681,0,741,738,740,645,642,644,42,679,682,683,0,738,741,742,642,645,646,42,682,684,683,0,741,743,742,645,647,646,42,682,685,684,0,741,744,743,645,648,647,42,685,682,686,0,744,741,745,648,645,649,42,686,682,681,0,745,741,740,649,645,644,42,686,681,613,0,745,740,657,649,644,576,42,613,681,615,0,657,740,659,576,644,578,42,611,686,613,0,655,745,657,574,649,576,42,687,686,611,0,746,745,655,650,649,574,42,687,685,686,0,746,744,745,650,648,649,42,688,685,687,0,747,744,746,651,648,650,42,685,688,689,0,744,747,748,648,651,652,42,688,690,689,0,747,749,748,651,653,652,42,688,691,690,0,747,750,749,651,654,653,42,691,688,692,0,750,747,751,654,651,655,42,692,688,687,0,751,747,746,655,651,650,42,692,687,609,0,751,746,653,655,650,572,42,609,687,611,0,653,746,655,572,650,574,42,607,692,609,0,651,751,653,570,655,572,42,693,692,607,0,752,751,651,656,655,570,42,693,691,692,0,752,750,751,656,654,655,42,694,691,693,0,753,750,752,657,654,656,42,694,695,691,0,753,754,750,657,658,654,42,694,696,695,0,753,755,754,657,659,658,42,697,696,694,0,756,755,753,660,659,657,42,698,696,697,0,757,755,756,661,659,660,42,698,699,696,0,757,758,755,661,662,659,42,700,699,698,0,759,760,761,663,662,661,42,700,701,699,0,759,762,760,663,664,662,42,702,701,700,0,763,762,759,665,664,663,42,702,703,701,0,763,764,762,665,666,664,42,704,703,702,0,765,764,763,667,666,665,42,704,705,703,0,765,766,764,667,668,666,42,706,705,704,0,767,766,765,669,668,667,42,706,707,705,0,767,768,766,669,670,668,42,708,707,706,0,769,768,767,671,670,669,42,708,709,707,0,769,770,768,671,672,670,42,710,709,708,0,771,770,769,673,672,671,42,710,711,709,0,771,772,770,673,674,672,42,712,711,710,0,773,772,771,675,674,673,42,712,713,711,0,773,774,772,675,676,674,42,714,713,712,0,775,774,773,677,676,675,42,714,715,713,0,775,776,774,677,678,676,42,716,715,714,0,777,776,775,679,678,677,42,716,717,715,0,777,778,776,679,680,678,42,718,717,716,0,779,778,777,681,680,679,42,718,719,717,0,779,780,778,681,682,680,42,720,719,718,0,781,780,779,683,682,681,42,720,721,719,0,781,782,780,683,684,682,42,722,721,720,0,783,782,781,685,684,683,42,722,723,721,0,783,784,782,685,686,684,42,724,723,722,0,785,784,783,687,686,685,42,724,725,723,0,785,786,784,687,688,686,42,724,726,725,0,785,787,786,687,689,688,42,727,726,724,0,788,787,785,690,689,687,42,727,728,726,0,788,789,787,690,691,689,42,729,728,727,0,790,789,788,692,691,690,42,729,730,728,0,790,791,789,692,693,691,42,729,731,730,0,790,792,791,692,694,693,42,732,731,729,0,793,792,790,695,694,692,42,732,733,731,0,793,794,792,695,696,694,42,734,733,732,0,795,794,793,697,696,695,42,733,734,735,0,794,795,796,696,697,698,42,734,736,735,0,795,797,796,697,699,698,42,734,737,736,0,795,798,797,697,700,699,42,737,734,738,0,798,795,799,700,697,701,42,738,734,732,0,799,795,793,701,697,695,42,738,732,739,0,799,793,800,701,695,702,42,739,732,729,0,800,793,790,702,695,692,42,729,727,739,0,790,788,800,692,690,702,42,739,727,724,0,800,788,785,702,690,687,42,739,724,740,0,800,785,801,702,687,703,42,740,724,722,0,801,785,783,703,687,685,42,740,722,741,0,801,783,802,703,685,704,42,741,722,720,0,802,783,781,704,685,683,42,741,720,742,0,802,781,803,704,683,705,42,742,720,718,0,803,781,779,705,683,681,42,743,742,718,0,804,803,779,706,705,681,42,743,744,742,0,804,805,803,706,707,705,42,745,744,743,0,806,805,804,708,707,706,42,745,746,744,0,806,807,805,708,709,707,42,747,746,745,0,808,807,806,710,709,708,42,746,747,748,0,807,808,809,709,710,711,42,747,749,748,0,808,810,809,710,712,711,42,747,750,749,0,808,811,810,710,713,712,42,750,747,751,0,811,808,812,713,710,714,42,751,747,745,0,812,808,806,714,710,708,42,751,745,752,0,812,806,813,714,708,715,42,752,745,743,0,813,806,804,715,708,706,42,752,743,716,0,813,804,777,715,706,679,42,716,743,718,0,777,804,779,679,706,681,42,714,752,716,0,775,813,777,677,715,679,42,753,752,714,0,814,813,775,716,715,677,42,753,751,752,0,814,812,813,716,714,715,42,754,751,753,0,815,812,814,717,714,716,42,754,750,751,0,815,811,812,717,713,714,42,755,750,754,0,816,811,815,718,713,717,42,750,755,756,0,811,816,817,713,718,719,42,755,757,756,0,816,818,817,718,720,719,42,755,758,757,0,816,819,818,718,721,720,42,758,755,759,0,819,816,820,721,718,722,42,759,755,754,0,820,816,815,722,718,717,42,759,754,760,0,820,815,821,722,717,723,42,760,754,753,0,821,815,814,723,717,716,42,753,712,760,0,814,773,821,716,675,723,42,712,753,714,0,773,814,775,675,716,677,42,760,712,710,0,821,773,771,723,675,673,42,760,710,761,0,821,771,822,723,673,724,42,761,710,708,0,822,771,769,724,673,671,42,762,761,708,0,823,822,769,725,724,671,42,762,763,761,0,823,824,822,725,726,724,42,764,763,762,0,825,824,823,727,726,725,42,764,765,763,0,825,826,824,727,728,726,42,766,765,764,0,827,826,825,729,728,727,42,765,766,767,0,826,827,828,728,729,730,42,766,768,767,0,827,829,828,729,731,730,42,766,769,768,0,827,830,829,729,732,731,42,769,766,770,0,830,827,831,732,729,733,42,770,766,764,0,831,827,825,733,729,727,42,770,764,771,0,831,825,832,733,727,734,42,771,764,762,0,832,825,823,734,727,725,42,771,762,706,0,832,823,767,734,725,669,42,706,762,708,0,767,823,769,669,725,671,42,704,771,706,0,765,832,767,667,734,669,42,772,771,704,0,833,832,765,735,734,667,42,772,770,771,0,833,831,832,735,733,734,42,773,770,772,0,834,831,833,736,733,735,42,773,769,770,0,834,830,831,736,732,733,42,774,769,773,0,835,830,834,737,732,736,42,769,774,775,0,830,835,836,732,737,738,42,774,776,775,0,835,837,836,737,739,738,42,774,777,776,0,835,838,837,737,740,739,42,777,774,778,0,838,835,839,740,737,741,42,778,774,773,0,839,835,834,741,737,736,42,778,773,779,0,839,834,840,741,736,742,42,779,773,772,0,840,834,833,742,736,735,42,779,772,702,0,840,833,763,742,735,665,42,702,772,704,0,763,833,765,665,735,667,42,779,702,700,0,840,763,759,742,665,663,42,780,779,700,0,841,840,759,743,742,663,42,780,778,779,0,841,839,840,743,741,742,42,781,778,780,0,842,839,841,744,741,743,42,777,778,781,0,838,839,842,740,741,744,42,782,777,781,0,843,838,842,745,740,744,42,777,782,783,0,838,843,844,740,745,746,42,782,784,783,0,843,845,844,745,747,746,42,782,785,784,0,843,846,845,745,748,747,42,785,782,786,0,846,843,847,748,745,749,42,782,781,786,0,843,842,847,745,744,749,42,786,781,787,0,847,842,848,749,744,750,42,787,781,780,0,848,842,841,750,744,743,42,787,780,788,0,848,841,849,750,743,751,42,780,698,788,0,841,761,849,743,661,751,42,780,700,698,0,841,759,761,743,663,661,42,788,698,697,0,850,757,756,751,661,660,42,789,788,697,0,851,850,756,752,751,660,42,790,788,789,0,852,850,851,753,751,752,42,787,788,790,0,848,849,853,750,751,753,42,791,787,790,0,854,848,853,754,750,753,42,791,786,787,0,854,847,848,754,749,750,42,792,786,791,0,855,847,854,755,749,754,42,792,785,786,0,855,846,847,755,748,749,42,792,793,785,0,855,856,846,755,756,748,42,792,794,793,0,855,857,856,755,757,756,42,794,792,795,0,857,855,858,757,755,758,42,795,792,791,0,858,855,854,758,755,754,42,795,791,796,0,858,854,859,758,754,759,42,796,791,790,0,859,854,853,759,754,753,42,796,790,797,0,860,852,861,759,753,760,42,797,790,789,0,861,852,851,760,753,752,42,797,789,798,0,861,851,862,760,752,761,42,798,789,799,0,862,851,863,761,752,762,42,789,697,799,0,851,756,863,752,660,762,42,799,697,800,0,863,756,864,762,660,763,42,697,694,800,0,756,753,864,660,657,763,42,800,694,693,0,864,753,752,763,657,656,42,800,693,605,0,864,752,649,763,656,568,42,605,693,607,0,649,752,651,568,656,570,42,603,800,605,0,647,864,649,566,763,568,42,603,799,800,0,647,863,864,566,762,763,42,601,799,603,0,645,863,647,564,762,566,42,601,798,799,0,645,862,863,564,761,762,42,599,798,601,0,643,862,645,562,761,564,42,801,798,599,0,865,862,643,764,761,562,42,801,797,798,0,865,861,862,764,760,761,42,802,797,801,0,866,861,865,765,760,764,42,802,796,797,0,866,860,861,765,759,760,42,802,803,796,0,866,867,860,765,766,759,42,804,803,802,0,868,867,866,767,766,765,42,804,795,803,0,869,858,870,767,758,766,42,804,805,795,0,869,871,858,767,768,758,42,806,805,804,0,872,871,869,769,768,767,42,806,807,805,0,872,873,871,769,770,768,42,807,808,805,0,873,874,871,770,771,768,42,807,809,808,0,873,875,874,770,772,771,42,809,810,808,0,875,876,874,772,773,771,42,809,811,810,0,875,877,876,772,774,773,42,810,811,812,0,876,877,878,773,774,775,42,811,813,812,0,877,879,878,774,776,775,42,813,814,812,0,879,880,878,776,777,775,42,813,815,814,0,879,881,880,776,778,777,42,815,816,814,0,881,882,880,778,779,777,42,817,816,815,0,883,882,881,780,779,778,42,817,818,816,0,883,884,882,780,781,779,42,819,818,817,0,885,884,883,782,781,780,42,819,820,818,0,885,886,884,782,783,781,42,821,820,819,0,887,886,885,784,783,782,42,820,821,584,0,886,887,630,783,784,547,42,405,584,821,0,440,626,888,368,547,784,42,405,821,822,0,440,888,889,368,784,785,42,822,821,823,0,889,888,890,785,784,786,42,823,821,819,0,890,888,891,786,784,782,42,823,819,400,0,890,891,892,786,782,363,42,400,819,817,0,892,891,893,363,782,780,42,368,823,400,0,894,890,892,330,786,363,42,368,824,823,0,894,895,890,330,787,786,42,198,824,368,0,896,895,894,160,787,330,42,198,825,824,0,896,897,895,160,788,787,42,114,825,198,0,898,897,896,76,788,160,42,114,826,825,0,898,899,897,76,789,788,42,83,826,114,0,900,899,898,45,789,76,42,83,827,826,0,900,901,899,45,790,789,42,17,827,83,0,902,901,900,14,790,45,42,17,828,827,0,902,903,901,14,791,790,42,17,86,828,0,902,904,903,14,48,791,42,87,828,86,0,905,903,904,49,791,48,42,87,829,828,0,905,906,903,49,792,791,42,87,118,829,0,905,145,906,49,80,792,42,118,152,829,0,145,147,906,80,114,792,42,829,152,830,0,906,147,907,792,114,793,42,830,152,831,0,907,147,908,793,114,794,42,152,832,831,0,147,909,908,114,795,794,42,151,832,152,0,146,909,147,113,795,114,42,151,372,832,0,146,405,909,113,334,795,42,372,374,832,0,405,407,909,334,336,795,42,832,374,833,0,909,407,910,795,336,796,42,833,374,822,0,910,407,889,796,336,785,42,374,405,822,0,407,440,889,336,368,785,42,374,373,405,0,407,406,440,336,335,368,42,824,833,822,0,895,910,889,787,796,785,42,825,833,824,0,897,910,895,788,796,787,42,825,831,833,0,897,908,910,788,794,796,42,826,831,825,0,899,908,897,789,794,788,42,830,831,826,0,907,908,899,793,794,789,42,827,830,826,0,901,907,899,790,793,789,42,828,830,827,0,903,907,901,791,793,790,42,828,829,830,0,903,906,907,791,792,793,42,832,833,831,0,909,910,908,795,796,794,42,824,822,823,0,895,889,890,787,785,786,42,87,85,86,0,105,61,62,49,47,48,42,584,586,820,0,630,629,886,547,549,783,42,586,818,820,0,629,884,886,549,781,783,42,818,586,834,0,884,629,911,781,549,797,42,586,835,834,0,629,912,911,549,798,797,42,587,835,586,0,631,912,629,550,798,549,42,587,836,835,0,631,913,912,550,799,798,42,589,836,587,0,633,913,631,552,799,550,42,589,837,836,0,633,914,913,552,800,799,42,591,837,589,0,635,914,633,554,800,552,42,594,837,591,0,638,914,635,557,800,554,42,594,838,837,0,638,915,914,557,801,800,42,596,838,594,0,640,915,638,559,801,557,42,596,839,838,0,640,916,915,559,802,801,42,598,839,596,0,642,916,640,561,802,559,42,598,840,839,0,642,917,916,561,803,802,42,600,840,598,0,644,917,642,563,803,561,42,600,841,840,0,644,918,917,563,804,803,42,602,841,600,0,646,918,644,565,804,563,42,602,842,841,0,646,919,918,565,805,804,42,604,842,602,0,648,919,646,567,805,565,42,604,843,842,0,648,920,919,567,806,805,42,606,843,604,0,650,920,648,569,806,567,42,606,844,843,0,650,921,920,569,807,806,42,608,844,606,0,652,921,650,571,807,569,42,608,845,844,0,652,922,921,571,808,807,42,610,845,608,0,654,922,652,573,808,571,42,610,846,845,0,654,923,922,573,809,808,42,610,847,846,0,654,924,923,573,810,809,42,612,847,610,0,656,924,654,575,810,573,42,612,848,847,0,656,925,924,575,811,810,42,614,848,612,0,658,925,656,577,811,575,42,614,849,848,0,658,926,925,577,812,811,42,616,849,614,0,660,926,658,579,812,577,42,616,850,849,0,660,927,926,579,813,812,42,618,850,616,0,662,927,660,581,813,579,42,618,851,850,0,662,928,927,581,814,813,42,620,851,618,0,664,928,662,583,814,581,42,620,852,851,0,664,929,928,583,815,814,42,622,852,620,0,666,929,664,585,815,583,42,622,853,852,0,666,930,929,585,816,815,42,624,853,622,0,668,930,666,587,816,585,42,624,640,853,0,668,690,930,587,603,816,42,626,640,624,0,670,690,668,589,603,587,42,640,854,853,0,690,931,930,603,817,816,42,640,641,854,0,690,691,931,603,604,817,42,854,641,642,0,931,691,692,817,604,605,42,854,642,855,0,931,692,932,817,605,818,42,855,642,646,0,932,692,696,818,605,609,42,642,643,646,0,692,693,696,605,606,609,42,855,646,648,0,932,696,698,818,609,611,42,856,855,648,0,933,932,698,819,818,611,42,854,855,856,0,931,932,933,817,818,819,42,857,854,856,0,934,931,933,820,817,819,42,858,854,857,0,935,931,934,821,817,820,42,852,854,858,0,929,931,935,815,817,821,42,853,854,852,0,930,931,929,816,817,815,42,852,858,851,0,929,935,928,815,821,814,42,851,858,859,0,928,935,936,814,821,822,42,859,858,860,0,936,935,937,822,821,823,42,860,858,857,0,937,935,934,823,821,820,42,860,857,861,0,937,934,938,823,820,824,42,857,650,861,0,934,700,938,820,613,824,42,857,856,650,0,934,933,700,820,819,613,42,856,648,650,0,933,698,700,819,611,613,42,651,861,650,0,701,938,700,614,824,613,42,651,654,861,0,701,939,938,614,617,824,42,654,862,861,0,939,940,938,617,825,824,42,654,863,862,0,939,941,940,617,826,825,42,655,863,654,0,707,942,706,618,826,617,42,655,671,863,0,707,730,942,618,634,826,42,657,671,655,0,709,730,707,620,634,618,42,671,864,863,0,730,943,942,634,827,826,42,671,672,864,0,730,731,943,634,635,827,42,672,865,864,0,731,944,943,635,828,827,42,672,677,865,0,731,736,944,635,640,828,42,673,677,672,0,732,736,731,636,640,635,42,677,866,865,0,736,945,944,640,829,828,42,677,678,866,0,736,737,945,640,641,829,42,678,867,866,0,737,946,945,641,830,829,42,678,683,867,0,737,742,946,641,646,830,42,679,683,678,0,738,742,737,642,646,641,42,683,868,867,0,742,947,946,646,831,830,42,683,684,868,0,742,743,947,646,647,831,42,684,869,868,0,743,948,947,647,832,831,42,684,689,869,0,743,748,948,647,652,832,42,685,689,684,0,744,748,743,648,652,647,42,689,870,869,0,748,949,948,652,833,832,42,689,690,870,0,748,749,949,652,653,833,42,690,871,870,0,749,950,949,653,834,833,42,690,695,871,0,749,754,950,653,658,834,42,691,695,690,0,750,754,749,654,658,653,42,695,872,871,0,754,951,950,658,835,834,42,695,696,872,0,754,755,951,658,659,835,42,699,872,696,0,758,951,755,662,835,659,42,873,872,699,0,952,953,954,836,835,662,42,873,874,872,0,952,955,953,836,837,835,42,875,874,873,0,956,955,952,838,837,836,42,875,876,874,0,956,957,955,838,839,837,42,877,876,875,0,958,957,956,840,839,838,42,878,876,877,0,959,957,958,841,839,840,42,879,876,878,0,960,957,959,842,839,841,42,879,880,876,0,960,961,957,842,843,839,42,839,880,879,0,916,961,960,802,843,842,42,840,880,839,0,917,961,916,803,843,802,42,840,881,880,0,917,962,961,803,844,843,42,841,881,840,0,918,962,917,804,844,803,42,841,882,881,0,918,963,962,804,845,844,42,842,882,841,0,919,963,918,805,845,804,42,842,883,882,0,919,964,963,805,846,845,42,843,883,842,0,920,964,919,806,846,805,42,843,884,883,0,920,965,964,806,847,846,42,844,884,843,0,921,965,920,807,847,806,42,844,885,884,0,921,966,965,807,848,847,42,845,885,844,0,922,966,921,808,848,807,42,845,886,885,0,922,967,966,808,849,848,42,846,886,845,0,923,967,922,809,849,808,42,846,887,886,0,923,968,967,809,850,849,42,847,887,846,0,924,968,923,810,850,809,42,847,888,887,0,924,969,968,810,851,850,42,848,888,847,0,925,969,924,811,851,810,42,848,889,888,0,925,970,969,811,852,851,42,849,889,848,0,926,970,925,812,852,811,42,849,859,889,0,926,936,970,812,822,852,42,850,859,849,0,927,936,926,813,822,812,42,851,859,850,0,928,936,927,814,822,813,42,889,859,890,0,970,936,971,852,822,853,42,890,859,860,0,971,936,937,853,822,823,42,890,860,862,0,971,937,940,853,823,825,42,860,861,862,0,937,938,940,823,824,825,42,890,862,891,0,971,940,972,853,825,854,42,863,891,862,0,941,972,940,826,854,825,42,863,864,891,0,941,973,972,826,827,854,42,864,892,891,0,973,974,972,827,855,854,42,864,865,892,0,973,975,974,827,828,855,42,865,893,892,0,975,976,974,828,856,855,42,865,866,893,0,975,977,976,828,829,856,42,866,894,893,0,977,978,976,829,857,856,42,866,867,894,0,977,979,978,829,830,857,42,867,895,894,0,979,980,978,830,858,857,42,867,896,895,0,979,981,980,830,859,858,42,867,868,896,0,979,982,981,830,831,859,42,868,897,896,0,982,983,981,831,860,859,42,868,869,897,0,982,984,983,831,832,860,42,869,898,897,0,984,985,983,832,861,860,42,870,898,869,0,986,985,984,833,861,832,42,870,899,898,0,986,987,985,833,862,861,42,871,899,870,0,988,987,986,834,862,833,42,871,874,899,0,988,955,987,834,837,862,42,872,874,871,0,953,955,988,835,837,834,42,876,899,874,0,957,987,955,839,862,837,42,876,900,899,0,957,989,987,839,863,862,42,880,900,876,0,961,989,957,843,863,839,42,880,881,900,0,961,962,989,843,844,863,42,881,901,900,0,962,990,989,844,864,863,42,881,882,901,0,962,963,990,844,845,864,42,882,902,901,0,963,991,990,845,865,864,42,882,883,902,0,963,964,991,845,846,865,42,883,903,902,0,964,992,991,846,866,865,42,883,884,903,0,964,965,992,846,847,866,42,884,904,903,0,965,993,992,847,867,866,42,884,885,904,0,965,966,993,847,848,867,42,885,905,904,0,966,994,993,848,868,867,42,885,886,905,0,966,967,994,848,849,868,42,886,906,905,0,967,995,994,849,869,868,42,886,887,906,0,967,968,995,849,850,869,42,887,907,906,0,968,996,995,850,870,869,42,887,888,907,0,968,969,996,850,851,870,42,888,890,907,0,969,971,996,851,853,870,42,888,889,890,0,969,970,971,851,852,853,42,907,890,891,0,996,971,972,870,853,854,42,892,907,891,0,974,996,972,855,870,854,42,906,907,892,0,995,996,974,869,870,855,42,893,906,892,0,976,995,974,856,869,855,42,905,906,893,0,994,995,976,868,869,856,42,894,905,893,0,978,994,976,857,868,856,42,904,905,894,0,993,994,978,867,868,857,42,904,894,895,0,993,978,980,867,857,858,42,903,904,895,0,992,993,980,866,867,858,42,903,895,896,0,992,980,981,866,858,859,42,902,903,896,0,991,992,981,865,866,859,42,902,896,897,0,991,981,983,865,859,860,42,901,902,897,0,990,991,983,864,865,860,42,901,897,898,0,990,983,985,864,860,861,42,900,901,898,0,989,990,985,863,864,861,42,900,898,899,0,989,985,987,863,861,862,42,839,879,838,0,916,960,915,802,842,801,42,838,879,908,0,915,960,997,801,842,871,42,908,879,878,0,997,960,959,871,842,841,42,908,878,909,0,997,959,998,871,841,872,42,909,878,877,0,998,959,958,872,841,840,42,909,877,910,0,998,958,999,872,840,873,42,910,877,911,0,999,958,1000,873,840,874,42,911,877,912,0,1000,958,1001,874,840,875,42,877,913,912,0,958,1002,1001,840,876,875,42,877,875,913,0,958,956,1002,840,838,876,42,913,875,914,0,1002,956,1003,876,838,877,42,914,875,873,0,1003,956,952,877,838,836,42,914,873,701,0,1003,952,1004,877,836,664,42,701,873,699,0,1004,952,954,664,836,662,42,701,703,914,0,1004,1005,1003,664,666,877,42,915,914,703,0,1006,1003,1005,878,877,666,42,913,914,915,0,1002,1003,1006,876,877,878,42,913,915,916,0,1002,1006,1007,876,878,879,42,916,915,917,0,1007,1006,1008,879,878,880,42,705,917,915,0,1009,1008,1006,668,880,878,42,707,917,705,0,1010,1008,1009,670,880,668,42,707,918,917,0,1010,1011,1008,670,881,880,42,709,918,707,0,1012,1011,1010,672,881,670,42,709,919,918,0,1012,1013,1011,672,882,881,42,711,919,709,0,1014,1013,1012,674,882,672,42,711,920,919,0,1014,1015,1013,674,883,882,42,711,921,920,0,1014,1016,1015,674,884,883,42,713,921,711,0,1017,1016,1014,676,884,674,42,713,922,921,0,1017,1018,1016,676,885,884,42,715,922,713,0,1019,1018,1017,678,885,676,42,715,923,922,0,1019,1020,1018,678,886,885,42,717,923,715,0,1021,1020,1019,680,886,678,42,717,924,923,0,1021,1022,1020,680,887,886,42,719,924,717,0,1023,1022,1021,682,887,680,42,719,925,924,0,1023,1024,1022,682,888,887,42,721,925,719,0,1025,1024,1023,684,888,682,42,721,926,925,0,1025,1026,1024,684,889,888,42,723,926,721,0,1027,1026,1025,686,889,684,42,723,927,926,0,1027,1028,1026,686,890,889,42,725,927,723,0,1029,1028,1027,688,890,686,42,725,928,927,0,1029,1030,1028,688,891,890,42,726,928,725,0,1031,1030,1029,689,891,688,42,726,929,928,0,1031,1032,1030,689,892,891,42,726,930,929,0,1031,1033,1032,689,893,892,42,728,930,726,0,789,1034,787,691,893,689,42,931,930,728,0,1035,1034,789,894,893,691,42,931,932,930,0,1035,1036,1034,894,895,893,42,933,932,931,0,676,726,725,896,895,894,42,933,934,932,0,676,682,726,896,897,895,42,935,934,933,0,681,682,676,898,897,896,42,936,934,935,0,1037,1038,1039,899,897,898,42,936,937,934,0,1037,1040,1038,899,900,897,42,938,937,936,0,1041,1040,1037,901,900,899,42,938,929,937,0,1041,1032,1040,901,892,900,42,939,929,938,0,1042,1032,1041,902,892,901,42,939,928,929,0,1042,1030,1032,902,891,892,42,940,928,939,0,1043,1030,1042,903,891,902,42,940,927,928,0,1043,1028,1030,903,890,891,42,941,927,940,0,1044,1028,1043,904,890,903,42,941,926,927,0,1044,1026,1028,904,889,890,42,942,926,941,0,1045,1026,1044,905,889,904,42,942,925,926,0,1045,1024,1026,905,888,889,42,943,925,942,0,1046,1024,1045,906,888,905,42,943,924,925,0,1046,1022,1024,906,887,888,42,944,924,943,0,1047,1022,1046,907,887,906,42,923,924,944,0,1020,1022,1047,886,887,907,42,945,923,944,0,1048,1020,1047,908,886,907,42,922,923,945,0,1018,1020,1048,885,886,908,42,946,922,945,0,1049,1018,1048,909,885,908,42,921,922,946,0,1016,1018,1049,884,885,909,42,947,921,946,0,1050,1016,1049,910,884,909,42,947,920,921,0,1050,1015,1016,910,883,884,42,948,920,947,0,1051,1015,1050,911,883,910,42,948,919,920,0,1051,1013,1015,911,882,883,42,949,919,948,0,1052,1013,1051,912,882,911,42,949,918,919,0,1052,1011,1013,912,881,882,42,950,918,949,0,1053,1011,1052,913,881,912,42,950,917,918,0,1053,1008,1011,913,880,881,42,916,917,950,0,1007,1008,1053,879,880,913,42,951,916,950,0,1054,1007,1053,914,879,913,42,952,916,951,0,1055,1007,1054,915,879,914,42,952,913,916,0,1055,1002,1007,915,876,879,42,953,913,952,0,1056,1002,1055,916,876,915,42,953,912,913,0,1056,1001,1002,916,875,876,42,954,912,953,0,1057,1001,1056,917,875,916,42,954,911,912,0,1057,1000,1001,917,874,875,42,955,911,954,0,1058,1000,1057,918,874,917,42,955,956,911,0,1058,1059,1000,918,919,874,42,816,956,955,0,882,1059,1058,779,919,918,42,818,956,816,0,884,1059,882,781,919,779,42,818,834,956,0,884,911,1059,781,797,919,42,834,910,956,0,911,999,1059,797,873,919,42,835,910,834,0,912,999,911,798,873,797,42,835,909,910,0,912,998,999,798,872,873,42,836,909,835,0,913,998,912,799,872,798,42,836,908,909,0,913,997,998,799,871,872,42,837,908,836,0,914,997,913,800,871,799,42,837,838,908,0,914,915,997,800,801,871,42,956,910,911,0,1059,999,1000,919,873,874,42,816,955,814,0,882,1058,880,779,918,777,42,814,955,957,0,880,1058,1060,777,918,920,42,957,955,954,0,1060,1058,1057,920,918,917,42,957,954,958,0,1060,1057,1061,920,917,921,42,958,954,953,0,1061,1057,1056,921,917,916,42,959,958,953,0,1062,1061,1056,922,921,916,42,960,958,959,0,1063,1061,1062,923,921,922,42,960,961,958,0,1063,1064,1061,923,924,921,42,962,961,960,0,1065,1064,1063,925,924,923,42,962,810,961,0,1065,876,1064,925,773,924,42,808,810,962,0,874,876,1065,771,773,925,42,794,808,962,0,857,874,1065,757,771,925,42,805,808,794,0,871,874,857,768,771,757,42,805,794,795,0,871,857,858,768,757,758,42,794,962,793,0,857,1065,856,757,925,756,42,793,962,960,0,856,1065,1063,756,925,923,42,793,960,963,0,856,1063,1066,756,923,926,42,963,960,959,0,1066,1063,1062,926,923,922,42,963,959,964,0,1066,1062,1067,926,922,927,42,964,959,952,0,1067,1062,1055,927,922,915,42,959,953,952,0,1062,1056,1055,922,916,915,42,964,952,951,0,1067,1055,1054,927,915,914,42,965,964,951,0,1068,1067,1054,928,927,914,42,784,964,965,0,845,1067,1068,747,927,928,42,784,963,964,0,845,1066,1067,747,926,927,42,785,963,784,0,846,1066,845,748,926,747,42,785,793,963,0,846,856,1066,748,756,926,42,783,784,965,0,844,845,1068,746,747,928,42,783,965,966,0,844,1068,1069,746,928,929,42,966,965,967,0,1069,1068,1070,929,928,930,42,965,951,967,0,1068,1054,1070,928,914,930,42,951,950,967,0,1054,1053,1070,914,913,930,42,967,950,949,0,1070,1053,1052,930,913,912,42,967,949,968,0,1070,1052,1071,930,912,931,42,968,949,948,0,1071,1052,1051,931,912,911,42,968,948,969,0,1071,1051,1072,931,911,932,42,969,948,947,0,1072,1051,1050,932,911,910,42,969,947,970,0,1072,1050,1073,932,910,933,42,970,947,946,0,1073,1050,1049,933,910,909,42,970,946,971,0,1073,1049,1074,933,909,934,42,971,946,945,0,1074,1049,1048,934,909,908,42,971,945,972,0,1074,1048,1075,934,908,935,42,972,945,944,0,1075,1048,1047,935,908,907,42,972,944,973,0,1075,1047,1076,935,907,936,42,973,944,943,0,1076,1047,1046,936,907,906,42,973,943,974,0,1076,1046,1077,936,906,937,42,974,943,975,0,1077,1046,1078,937,906,938,42,943,942,975,0,1046,1045,1078,906,905,938,42,975,942,976,0,1078,1045,1079,938,905,939,42,942,941,976,0,1045,1044,1079,905,904,939,42,976,941,977,0,1079,1044,1080,939,904,940,42,941,940,977,0,1044,1043,1080,904,903,940,42,977,940,939,0,1080,1043,1042,940,903,902,42,977,939,938,0,1080,1042,1041,940,902,901,42,977,938,978,0,1080,1041,1081,940,901,941,42,978,938,936,0,1081,1041,1037,941,901,899,42,978,936,979,0,1081,1037,1082,941,899,942,42,979,936,935,0,1082,1037,1039,942,899,898,42,979,935,980,0,1082,1039,1083,942,898,943,42,980,935,933,0,680,681,676,943,898,896,42,981,980,933,0,679,680,676,944,943,896,42,982,980,981,0,1084,1083,1085,945,943,944,42,982,979,980,0,1084,1082,1083,945,942,943,42,983,979,982,0,1086,1082,1084,946,942,945,42,983,978,979,0,1086,1081,1082,946,941,942,42,983,977,978,0,1086,1080,1081,946,940,941,42,977,983,984,0,1080,1086,1087,940,946,947,42,985,984,983,0,1088,1087,1086,948,947,946,42,985,986,984,0,1088,1089,1087,948,949,947,42,987,986,985,0,1090,1089,1088,950,949,948,42,987,746,986,0,1090,807,1089,950,709,949,42,746,987,744,0,807,1090,805,709,950,707,42,744,987,988,0,805,1090,1091,707,950,951,42,988,987,985,0,1091,1090,1088,951,950,948,42,988,985,989,0,1091,1088,1092,951,948,952,42,989,985,983,0,1092,1088,1086,952,948,946,42,989,983,982,0,1092,1086,1084,952,946,945,42,736,989,982,0,797,1092,1084,699,952,945,42,737,989,736,0,798,1092,797,700,952,699,42,737,988,989,0,798,1091,1092,700,951,952,42,990,988,737,0,1093,1091,798,953,951,700,42,744,988,990,0,805,1091,1093,707,951,953,42,744,990,742,0,805,1093,803,707,953,705,42,742,990,741,0,803,1093,802,705,953,704,42,990,740,741,0,1093,801,802,953,703,704,42,990,739,740,0,1093,800,801,953,702,703,42,990,738,739,0,1093,799,800,953,701,702,42,990,737,738,0,1093,798,799,953,700,701,42,736,982,981,0,797,1084,1085,699,945,944,42,736,981,735,0,797,1085,796,699,944,698,42,981,933,735,0,679,676,677,944,896,698,42,735,933,733,0,677,676,678,698,896,696,42,733,933,731,0,678,676,724,696,896,694,42,933,730,731,0,676,723,724,896,693,694,42,933,931,730,0,676,725,723,896,894,693,42,730,931,728,0,791,1035,789,693,894,691,42,746,748,986,0,807,809,1089,709,711,949,42,986,748,991,0,1089,809,1094,949,711,954,42,748,992,991,0,809,1095,1094,711,955,954,42,748,749,992,0,809,810,1095,711,712,955,42,749,993,992,0,810,1096,1095,712,956,955,42,749,756,993,0,810,817,1096,712,719,956,42,750,756,749,0,811,817,810,713,719,712,42,756,994,993,0,817,1097,1096,719,957,956,42,756,757,994,0,817,818,1097,719,720,957,42,757,995,994,0,818,1098,1097,720,958,957,42,757,996,995,0,818,1099,1098,720,959,958,42,758,996,757,0,819,1099,818,721,959,720,42,758,765,996,0,819,826,1099,721,728,959,42,765,758,763,0,826,819,824,728,721,726,42,763,758,759,0,824,819,820,726,721,722,42,763,759,761,0,824,820,822,726,722,724,42,761,759,760,0,822,820,821,724,722,723,42,765,767,996,0,826,828,1099,728,730,959,42,996,767,997,0,1099,828,1100,959,730,960,42,767,998,997,0,828,1101,1100,730,961,960,42,767,999,998,0,828,1102,1101,730,962,961,42,767,768,999,0,828,829,1102,730,731,962,42,768,1000,999,0,829,1103,1102,731,963,962,42,768,775,1000,0,829,836,1103,731,738,963,42,769,775,768,0,830,836,829,732,738,731,42,775,1001,1000,0,836,1104,1103,738,964,963,42,775,776,1001,0,836,837,1104,738,739,964,42,776,966,1001,0,837,1069,1104,739,929,964,42,776,783,966,0,837,844,1069,739,746,929,42,777,783,776,0,838,844,837,740,746,739,42,1001,966,968,0,1104,1069,1071,964,929,931,42,966,967,968,0,1069,1070,1071,929,930,931,42,1001,968,969,0,1104,1071,1072,964,931,932,42,1000,1001,969,0,1103,1104,1072,963,964,932,42,1000,969,970,0,1103,1072,1073,963,932,933,42,999,1000,970,0,1102,1103,1073,962,963,933,42,999,970,971,0,1102,1073,1074,962,933,934,42,998,999,971,0,1101,1102,1074,961,962,934,42,998,971,972,0,1101,1074,1075,961,934,935,42,998,972,997,0,1101,1075,1100,961,935,960,42,997,972,973,0,1100,1075,1076,960,935,936,42,997,973,995,0,1100,1076,1098,960,936,958,42,995,973,974,0,1098,1076,1077,958,936,937,42,994,995,974,0,1097,1098,1077,957,958,937,42,994,974,975,0,1097,1077,1078,957,937,938,42,993,994,975,0,1096,1097,1078,956,957,938,42,992,993,975,0,1095,1096,1078,955,956,938,42,992,975,976,0,1095,1078,1079,955,938,939,42,991,992,976,0,1094,1095,1079,954,955,939,42,991,976,977,0,1094,1079,1080,954,939,940,42,991,977,984,0,1094,1080,1087,954,940,947,42,986,991,984,0,1089,1094,1087,949,954,947,42,996,997,995,0,1099,1100,1098,959,960,958,42,810,812,961,0,876,878,1064,773,775,924,42,961,812,957,0,1064,878,1060,924,775,920,42,812,814,957,0,878,880,1060,775,777,920,42,961,957,958,0,1064,1060,1061,924,920,921,42,930,937,929,0,1033,1040,1032,893,900,892,42,930,932,937,0,1033,1105,1040,893,895,900,42,932,934,937,0,1105,1038,1040,895,897,900,42,703,705,915,0,1005,1009,1006,666,668,878,42,806,804,1002,0,1106,868,1107,769,767,965,42,1002,804,802,0,1107,868,866,965,767,765,42,1002,802,1003,0,1107,866,1108,965,765,966,42,1003,802,801,0,1108,866,865,966,765,764,42,801,597,1003,0,865,641,1108,764,560,966,42,801,599,597,0,865,643,641,764,562,560,42,595,1003,597,0,639,1108,641,558,966,560,42,1004,1003,595,0,1109,1108,639,967,966,558,42,1004,1002,1003,0,1109,1107,1108,967,965,966,42,1005,1002,1004,0,1110,1107,1109,968,965,967,42,1005,806,1002,0,1110,1106,1107,968,769,965,42,1006,1005,1004,0,1111,1110,1109,969,968,967,42,1006,1004,593,0,1111,1109,637,969,967,556,42,593,1004,595,0,637,1109,639,556,967,558,42,592,1006,593,0,636,1111,637,555,969,556,42,803,795,796,0,870,858,859,766,758,759,42,215,217,389,0,215,217,422,177,179,352,42,215,389,1007,0,215,422,1112,177,352,970,42,1007,389,386,0,1112,422,419,970,352,348,42,1007,386,383,0,1112,419,416,970,348,345,42,1007,383,1008,0,1112,416,1113,970,345,971,42,1008,383,381,0,1113,416,414,971,345,343,42,1008,381,209,0,1113,414,209,971,343,171,42,208,209,381,0,208,209,414,170,171,343,42,209,210,1008,0,209,210,1113,171,172,971,42,1007,1008,210,0,1112,1113,210,970,971,172,42,210,212,1007,0,210,212,1112,172,174,970,42,212,215,1007,0,212,215,1112,174,177,970,42,204,372,203,0,204,403,203,166,334,165,42,203,372,202,0,203,403,202,165,334,164,42,202,372,201,0,202,403,201,164,334,163,42,232,224,225,0,236,226,227,194,186,187,42,232,225,226,0,236,227,228,194,187,188,42,232,226,230,0,236,228,237,194,188,192,42,172,173,231,0,169,170,235,134,135,193,42,172,231,1009,0,168,234,1114,134,193,972,42,1009,231,229,0,1114,234,232,972,193,191,42,1009,229,1010,0,1114,232,1115,972,191,973,42,1010,229,228,0,1115,232,231,973,191,190,42,166,1010,228,0,161,1115,231,128,973,190,42,168,1010,166,0,163,1115,161,130,973,128,42,168,1009,1010,0,163,1114,1115,130,972,973,42,170,1009,168,0,165,1114,163,132,972,130,42,172,1009,170,0,168,1114,165,134,972,132,42,166,228,1011,0,161,231,1116,128,190,974,42,1011,228,211,0,1116,231,211,974,190,173,42,228,213,211,0,231,213,211,190,175,173,42,164,1011,211,0,159,1116,211,126,974,173,42,166,1011,164,0,161,1116,159,128,974,126,42,164,211,163,0,159,211,158,126,173,125,42,127,128,171,0,116,167,166,89,90,133,42,126,127,171,0,115,116,166,88,89,133,42,126,171,125,0,115,166,114,88,133,87,42,171,169,125,0,166,164,114,133,131,87,42,125,169,1012,0,114,164,1117,87,131,975,42,1012,169,1013,0,1117,164,1118,975,131,976,42,1013,169,167,0,1118,164,162,976,131,129,42,1013,167,1014,0,1118,162,1119,976,129,977,42,1014,167,165,0,1119,162,160,977,129,127,42,1014,165,1015,0,1119,160,1120,977,127,978,42,1015,165,161,0,1120,160,156,978,127,123,42,1015,161,1016,0,1120,156,1121,978,123,979,42,161,159,1016,0,156,154,1121,123,121,979,42,1016,159,1017,0,1121,154,1122,979,121,980,42,159,157,1017,0,154,152,1122,121,119,980,42,1017,157,155,0,1122,152,150,980,119,117,42,1017,155,1018,0,1122,150,1123,980,117,981,42,1018,155,153,0,1123,150,148,981,117,115,42,1018,153,1019,0,1123,148,1124,981,115,982,42,118,1019,153,0,106,1124,148,80,982,115,42,119,1019,118,0,107,1124,106,81,982,80,42,119,1020,1019,0,107,1125,1124,81,983,982,42,119,1021,1020,0,107,1126,1125,81,984,983,42,120,1021,119,0,108,1126,107,82,984,81,42,120,1022,1021,0,108,1127,1126,82,985,984,42,122,1022,120,0,1128,1127,108,84,985,82,42,122,124,1022,0,111,113,1129,84,86,985,42,124,1023,1022,0,113,1130,1129,86,986,985,42,124,1012,1023,0,113,1117,1130,86,975,986,42,124,125,1012,0,113,114,1117,86,87,975,42,1023,1012,1024,0,1130,1117,1131,986,975,987,42,1012,1013,1024,0,1117,1118,1131,975,976,987,42,1024,1013,1025,0,1131,1118,1132,987,976,988,42,1025,1013,1014,0,1132,1118,1119,988,976,977,42,1025,1014,1026,0,1132,1119,1133,988,977,989,42,1026,1014,1015,0,1133,1119,1120,989,977,978,42,1026,1015,1027,0,1133,1120,1134,989,978,990,42,1015,1016,1027,0,1120,1121,1134,978,979,990,42,1027,1016,1028,0,1134,1121,1135,990,979,991,42,1016,1017,1028,0,1121,1122,1135,979,980,991,42,1028,1017,1018,0,1135,1122,1123,991,980,981,42,1028,1018,1029,0,1135,1123,1136,991,981,992,42,1029,1018,1019,0,1136,1123,1124,992,981,982,42,1020,1029,1019,0,1125,1136,1124,983,992,982,42,1020,1030,1029,0,1125,1137,1136,983,993,992,42,1031,1030,1020,0,1138,1137,1125,994,993,983,42,1032,1030,1031,0,1139,1137,1138,995,993,994,42,1032,1033,1030,0,1139,1140,1137,995,996,993,42,1032,1034,1033,0,1141,1142,1143,995,997,996,42,1032,1035,1034,0,1141,1144,1142,995,998,997,42,1036,1035,1032,0,1145,1144,1141,999,998,995,42,1037,1035,1036,0,1146,1144,1145,1000,998,999,42,1037,1038,1035,0,1146,1147,1144,1000,1001,998,42,1039,1038,1037,0,1148,1147,1146,1002,1001,1000,42,1039,1040,1038,0,1148,1149,1147,1002,1003,1001,42,1041,1040,1039,0,1150,1149,1148,1004,1003,1002,42,1041,1042,1040,0,1150,1151,1149,1004,1005,1003,42,1043,1042,1041,0,1152,1151,1150,1006,1005,1004,42,1044,1042,1043,0,1153,1151,1152,1007,1005,1006,42,1042,1044,1045,0,1151,1153,1154,1005,1007,1008,42,1044,1046,1045,0,1153,1155,1154,1007,1009,1008,42,1044,1047,1046,0,1153,1156,1155,1007,1010,1009,42,1048,1047,1044,0,1157,1156,1153,1011,1010,1007,42,1049,1047,1048,0,1158,1156,1157,1012,1010,1011,42,1049,1050,1047,0,1158,1159,1156,1012,1013,1010,42,1049,1051,1050,0,1158,1160,1159,1012,1014,1013,42,1052,1051,1049,0,1161,1160,1158,1015,1014,1012,42,1053,1051,1052,0,1162,1160,1161,1016,1014,1015,42,1054,1051,1053,0,1163,1160,1162,1017,1014,1016,42,1054,1055,1051,0,1163,1164,1160,1017,1018,1014,42,1056,1055,1054,0,1165,1164,1163,1019,1018,1017,42,1056,1057,1055,0,1165,1166,1164,1019,1020,1018,42,1056,1058,1057,0,1165,1167,1166,1019,1021,1020,42,1059,1058,1056,0,1168,1167,1165,1022,1021,1019,42,1059,1060,1058,0,1168,1169,1167,1022,1023,1021,42,1061,1060,1059,0,1170,1169,1168,1024,1023,1022,42,1060,1061,1062,0,1169,1170,1171,1023,1024,1025,42,1061,1063,1062,0,1170,1172,1171,1024,1026,1025,42,1061,1064,1063,0,1170,1173,1172,1024,1027,1026,42,1064,1061,1065,0,1173,1170,1174,1027,1024,1028,42,1065,1061,1059,0,1174,1170,1168,1028,1024,1022,42,1065,1059,1066,0,1174,1168,1175,1028,1022,1029,42,1066,1059,1056,0,1175,1168,1165,1029,1022,1019,42,1056,1054,1066,0,1165,1163,1175,1019,1017,1029,42,1066,1054,1053,0,1175,1163,1162,1029,1017,1016,42,1066,1053,1067,0,1175,1162,1176,1029,1016,1030,42,1067,1053,1052,0,1176,1162,1161,1030,1016,1015,42,1067,1052,1068,0,1176,1161,1177,1030,1015,1031,42,1068,1052,1069,0,1177,1161,1178,1031,1015,1032,42,1052,1049,1069,0,1161,1158,1178,1015,1012,1032,42,1069,1049,1048,0,1178,1158,1157,1032,1012,1011,42,1069,1048,1070,0,1178,1157,1179,1032,1011,1033,42,1070,1048,1043,0,1179,1157,1152,1033,1011,1006,42,1048,1044,1043,0,1157,1153,1152,1011,1007,1006,42,1070,1043,1071,0,1179,1152,1180,1033,1006,1034,42,1071,1043,1041,0,1180,1152,1150,1034,1006,1004,42,1071,1041,1072,0,1180,1150,1181,1034,1004,1035,42,1072,1041,1039,0,1181,1150,1148,1035,1004,1002,42,1072,1039,1073,0,1181,1148,1182,1035,1002,1036,42,1073,1039,1037,0,1182,1148,1146,1036,1002,1000,42,1073,1037,1074,0,1182,1146,1183,1036,1000,1037,42,1074,1037,1036,0,1183,1146,1145,1037,1000,999,42,1075,1074,1036,0,1184,1185,1186,1038,1037,999,42,1023,1074,1075,0,1130,1185,1184,986,1037,1038,42,1023,1024,1074,0,1130,1131,1185,986,987,1037,42,1024,1076,1074,0,1131,1187,1185,987,1039,1037,42,1024,1077,1076,0,1131,1188,1187,987,1040,1039,42,1024,1025,1077,0,1131,1132,1188,987,988,1040,42,1025,1026,1077,0,1132,1133,1188,988,989,1040,42,1077,1026,1078,0,1189,1190,1191,1040,989,1041,42,1078,1026,1079,0,1191,1190,1192,1041,989,1042,42,1079,1026,1027,0,1192,1190,1193,1042,989,990,42,1079,1027,1080,0,1192,1193,1194,1042,990,1043,42,1080,1027,1028,0,1195,1196,1197,1043,990,991,42,1080,1028,1081,0,1195,1197,1198,1043,991,1044,42,1081,1028,1082,0,1198,1197,1199,1044,991,1045,42,1082,1028,1083,0,1199,1197,1200,1045,991,1046,42,1083,1028,1029,0,1201,1135,1136,1046,991,992,42,1083,1029,1030,0,1201,1136,1137,1046,992,993,42,1030,1033,1083,0,1137,1140,1201,993,996,1046,42,1082,1083,1033,0,1199,1200,1143,1045,1046,996,42,1034,1082,1033,0,1142,1199,1143,997,1045,996,42,1084,1082,1034,0,1202,1199,1142,1047,1045,997,42,1084,1081,1082,0,1202,1198,1199,1047,1044,1045,42,1081,1084,1085,0,1198,1202,1203,1044,1047,1048,42,1085,1084,1086,0,1203,1202,1204,1048,1047,1049,42,1086,1084,1087,0,1204,1202,1205,1049,1047,1050,42,1088,1087,1084,0,1206,1205,1202,1051,1050,1047,42,1088,1089,1087,0,1206,1207,1205,1051,1052,1050,42,1038,1089,1088,0,1147,1207,1206,1001,1052,1051,42,1038,1040,1089,0,1147,1149,1207,1001,1003,1052,42,1040,1090,1089,0,1149,1208,1207,1003,1053,1052,42,1040,1042,1090,0,1149,1151,1208,1003,1005,1053,42,1042,1045,1090,0,1151,1154,1208,1005,1008,1053,42,1090,1045,1091,0,1208,1154,1209,1053,1008,1054,42,1045,1092,1091,0,1154,1210,1209,1008,1055,1054,42,1045,1046,1092,0,1154,1155,1210,1008,1009,1055,42,1092,1046,1093,0,1210,1155,1211,1055,1009,1056,42,1093,1046,1094,0,1211,1155,1212,1056,1009,1057,42,1046,1047,1094,0,1155,1156,1212,1009,1010,1057,42,1094,1047,1050,0,1212,1156,1159,1057,1010,1013,42,1094,1050,1095,0,1212,1159,1213,1057,1013,1058,42,1095,1050,1096,0,1213,1159,1214,1058,1013,1059,42,1051,1096,1050,0,1160,1214,1159,1014,1059,1013,42,1051,1097,1096,0,1160,1215,1214,1014,1060,1059,42,1055,1097,1051,0,1164,1215,1160,1018,1060,1014,42,1055,1098,1097,0,1164,1216,1215,1018,1061,1060,42,1057,1098,1055,0,1166,1216,1164,1020,1061,1018,42,1057,1099,1098,0,1166,1217,1216,1020,1062,1061,42,1057,1100,1099,0,1166,1218,1217,1020,1063,1062,42,1058,1100,1057,0,1167,1218,1166,1021,1063,1020,42,1058,1101,1100,0,1167,1219,1218,1021,1064,1063,42,1060,1101,1058,0,1169,1219,1167,1023,1064,1021,42,1101,1060,1102,0,1219,1169,1220,1064,1023,1065,42,1060,1062,1102,0,1169,1171,1220,1023,1025,1065,42,1102,1062,1103,0,1221,1222,1223,1065,1025,1066,42,1062,1104,1103,0,1222,1224,1223,1025,1067,1066,42,1062,1063,1104,0,1222,1225,1224,1025,1026,1067,42,1063,1105,1104,0,1225,1226,1224,1026,1068,1067,42,1063,1106,1105,0,1225,1227,1226,1026,1069,1068,42,1064,1106,1063,0,1173,1228,1172,1027,1069,1026,42,1064,1107,1106,0,1173,1229,1228,1027,1070,1069,42,1107,1064,1108,0,1229,1173,1230,1070,1027,1071,42,1108,1064,1065,0,1230,1173,1174,1071,1027,1028,42,1108,1065,1067,0,1230,1174,1176,1071,1028,1030,42,1067,1065,1066,0,1176,1174,1175,1030,1028,1029,42,1068,1108,1067,0,1177,1230,1176,1031,1071,1030,42,1109,1108,1068,0,1231,1230,1177,1072,1071,1031,42,1109,1107,1108,0,1231,1229,1230,1072,1070,1071,42,1110,1107,1109,0,1232,1229,1231,1073,1070,1072,42,1107,1110,1111,0,1229,1232,1233,1070,1073,1074,42,1110,1112,1111,0,1232,1234,1233,1073,1075,1074,42,1110,1113,1112,0,1232,1235,1234,1073,1076,1075,42,1113,1110,1114,0,1235,1232,1236,1076,1073,1077,42,1114,1110,1109,0,1236,1232,1231,1077,1073,1072,42,1114,1109,1115,0,1236,1231,1237,1077,1072,1078,42,1115,1109,1068,0,1237,1231,1177,1078,1072,1031,42,1068,1069,1115,0,1177,1178,1237,1031,1032,1078,42,1069,1070,1115,0,1178,1179,1237,1032,1033,1078,42,1115,1070,1116,0,1237,1179,1238,1078,1033,1079,42,1116,1070,1071,0,1238,1179,1180,1079,1033,1034,42,1116,1071,1117,0,1238,1180,1239,1079,1034,1080,42,1117,1071,1072,0,1239,1180,1181,1080,1034,1035,42,1117,1072,1118,0,1239,1181,1240,1080,1035,1081,42,1118,1072,1073,0,1240,1181,1182,1081,1035,1036,42,1076,1118,1073,0,1241,1240,1182,1039,1081,1036,42,1076,1077,1118,0,1241,1189,1240,1039,1040,1081,42,1118,1077,1078,0,1240,1189,1191,1081,1040,1041,42,1118,1078,1119,0,1240,1191,1242,1081,1041,1082,42,1078,1079,1119,0,1191,1192,1242,1041,1042,1082,42,1113,1119,1079,0,1235,1242,1192,1076,1082,1042,42,1119,1113,1114,0,1242,1235,1236,1082,1076,1077,42,1119,1114,1116,0,1242,1236,1238,1082,1077,1079,42,1116,1114,1115,0,1238,1236,1237,1079,1077,1078,42,1117,1119,1116,0,1239,1242,1238,1080,1082,1079,42,1118,1119,1117,0,1240,1242,1239,1081,1082,1080,42,1113,1079,1080,0,1235,1192,1194,1076,1042,1043,42,1112,1113,1080,0,1234,1235,1194,1075,1076,1043,42,1112,1080,1081,0,1243,1195,1198,1075,1043,1044,42,1112,1081,1085,0,1243,1198,1203,1075,1044,1048,42,1111,1112,1085,0,1244,1243,1203,1074,1075,1048,42,1111,1085,1086,0,1244,1203,1204,1074,1048,1049,42,1106,1111,1086,0,1227,1244,1204,1069,1074,1049,42,1107,1111,1106,0,1229,1233,1228,1070,1074,1069,42,1106,1086,1105,0,1227,1204,1226,1069,1049,1068,42,1105,1086,1087,0,1226,1204,1205,1068,1049,1050,42,1105,1087,1120,0,1226,1205,1245,1068,1050,1083,42,1089,1120,1087,0,1207,1245,1205,1052,1083,1050,42,1089,1090,1120,0,1207,1208,1245,1052,1053,1083,42,1090,1091,1120,0,1208,1209,1245,1053,1054,1083,42,1104,1120,1091,0,1224,1245,1209,1067,1083,1054,42,1104,1105,1120,0,1224,1226,1245,1067,1068,1083,42,1103,1104,1091,0,1223,1224,1209,1066,1067,1054,42,1103,1091,1092,0,1223,1209,1210,1066,1054,1055,42,1103,1092,1121,0,1223,1210,1246,1066,1055,1084,42,1121,1092,1093,0,1246,1210,1211,1084,1055,1056,42,1121,1093,1122,0,1246,1211,1247,1084,1056,1085,42,1093,1123,1122,0,1211,1248,1247,1056,1086,1085,42,1093,1094,1123,0,1211,1212,1248,1056,1057,1086,42,1123,1094,1095,0,1248,1212,1213,1086,1057,1058,42,1123,1095,1124,0,1248,1213,1249,1086,1058,1087,42,1124,1095,1125,0,1249,1213,1250,1087,1058,1088,42,1095,1096,1125,0,1213,1214,1250,1058,1059,1088,42,1125,1096,1126,0,1250,1214,1251,1088,1059,1089,42,1097,1126,1096,0,1215,1251,1214,1060,1089,1059,42,1097,1127,1126,0,1215,1252,1251,1060,1090,1089,42,1098,1127,1097,0,1216,1252,1215,1061,1090,1060,42,1098,1128,1127,0,1216,1253,1252,1061,1091,1090,42,1099,1128,1098,0,1217,1253,1216,1062,1091,1061,42,1099,1129,1128,0,1217,1254,1253,1062,1092,1091,42,1130,1129,1099,0,1255,1254,1217,1093,1092,1062,42,1130,1131,1129,0,1255,1256,1254,1093,1094,1092,42,1132,1131,1130,0,1257,1256,1255,1095,1094,1093,42,1132,1133,1131,0,1257,1258,1256,1095,1096,1094,42,1132,1134,1133,0,1257,1259,1258,1095,1097,1096,42,1102,1134,1132,0,1220,1259,1257,1065,1097,1095,42,1102,1122,1134,0,1221,1247,1260,1065,1085,1097,42,1102,1121,1122,0,1221,1246,1247,1065,1084,1085,42,1102,1103,1121,0,1221,1223,1246,1065,1066,1084,42,1134,1122,1135,0,1260,1247,1261,1097,1085,1098,42,1122,1136,1135,0,1247,1262,1261,1085,1099,1098,42,1122,1123,1136,0,1247,1248,1262,1085,1086,1099,42,1123,1124,1136,0,1248,1249,1262,1086,1087,1099,42,1136,1124,1137,0,1262,1249,1263,1099,1087,1100,42,1124,1138,1137,0,1249,1264,1263,1087,1101,1100,42,1124,1125,1138,0,1249,1250,1264,1087,1088,1101,42,1138,1125,1139,0,1264,1250,1265,1101,1088,1102,42,1125,1126,1139,0,1250,1251,1265,1088,1089,1102,42,1139,1126,1140,0,1265,1251,1266,1102,1089,1103,42,1127,1140,1126,0,1252,1266,1251,1090,1103,1089,42,1127,1141,1140,0,1252,1267,1266,1090,1104,1103,42,1128,1141,1127,0,1253,1267,1252,1091,1104,1090,42,1128,1142,1141,0,1253,1268,1267,1091,1105,1104,42,1129,1142,1128,0,1254,1268,1253,1092,1105,1091,42,1129,1143,1142,0,1254,1269,1268,1092,1106,1105,42,1131,1143,1129,0,1256,1269,1254,1094,1106,1092,42,1131,1144,1143,0,1256,1270,1269,1094,1107,1106,42,1133,1144,1131,0,1258,1270,1256,1096,1107,1094,42,1133,1145,1144,0,1258,1271,1270,1096,1108,1107,42,1133,1135,1145,0,1258,1272,1271,1096,1098,1108,42,1134,1135,1133,0,1259,1272,1258,1097,1098,1096,42,1135,1146,1145,0,1272,1273,1271,1098,1109,1108,42,1135,1136,1146,0,1261,1262,1274,1098,1099,1109,42,1136,1137,1146,0,1262,1263,1274,1099,1100,1109,42,1146,1137,1147,0,1274,1263,1275,1109,1100,1110,42,1137,1148,1147,0,1263,1276,1275,1100,1111,1110,42,1137,1138,1148,0,1263,1264,1276,1100,1101,1111,42,1138,1149,1148,0,1264,1277,1276,1101,1112,1111,42,1138,1139,1149,0,1264,1265,1277,1101,1102,1112,42,1149,1139,1150,0,1277,1265,1278,1112,1102,1113,42,1139,1140,1150,0,1265,1266,1278,1102,1103,1113,42,1150,1140,1151,0,1278,1266,1279,1113,1103,1114,42,1141,1151,1140,0,1267,1279,1266,1104,1114,1103,42,1141,1152,1151,0,1267,1280,1279,1104,1115,1114,42,1142,1152,1141,0,1268,1280,1267,1105,1115,1104,42,1142,1153,1152,0,1268,1281,1280,1105,1116,1115,42,1143,1153,1142,0,1269,1281,1268,1106,1116,1105,42,1143,1154,1153,0,1269,1282,1281,1106,1117,1116,42,1144,1154,1143,0,1270,1282,1269,1107,1117,1106,42,1144,1155,1154,0,1270,1283,1282,1107,1118,1117,42,1145,1155,1144,0,1271,1283,1270,1108,1118,1107,42,1145,1156,1155,0,1271,1284,1283,1108,1119,1118,42,1145,1146,1156,0,1271,1273,1284,1108,1109,1119,42,1146,1147,1156,0,1273,1285,1284,1109,1110,1119,42,1156,1147,1157,0,1284,1285,1286,1119,1110,1120,42,1147,1158,1157,0,1285,1287,1286,1110,1121,1120,42,1147,1148,1158,0,1275,1276,1288,1110,1111,1121,42,1148,1159,1158,0,1276,1289,1288,1111,1122,1121,42,1148,1149,1159,0,1276,1277,1289,1111,1112,1122,42,1149,1160,1159,0,1277,1290,1289,1112,1123,1122,42,1149,1150,1160,0,1277,1278,1290,1112,1113,1123,42,1160,1150,1161,0,1290,1278,1291,1123,1113,1124,42,1150,1151,1161,0,1278,1279,1291,1113,1114,1124,42,1161,1151,1162,0,1291,1279,1292,1124,1114,1125,42,1152,1162,1151,0,1280,1292,1279,1115,1125,1114,42,1152,1163,1162,0,1280,1293,1292,1115,1126,1125,42,1153,1163,1152,0,1281,1293,1280,1116,1126,1115,42,1153,1164,1163,0,1281,1294,1293,1116,1127,1126,42,1154,1164,1153,0,1282,1294,1281,1117,1127,1116,42,1154,1165,1164,0,1282,1295,1294,1117,1128,1127,42,1155,1165,1154,0,1283,1295,1282,1118,1128,1117,42,1166,1165,1155,0,1296,1295,1283,1129,1128,1118,42,1167,1165,1166,0,1297,1295,1296,1130,1128,1129,42,1168,1165,1167,0,1298,1295,1297,1131,1128,1130,42,1168,1164,1165,0,1298,1294,1295,1131,1127,1128,42,1168,1169,1164,0,1298,1299,1294,1131,1132,1127,42,1168,1170,1169,0,1298,1300,1299,1131,1133,1132,42,1168,1171,1170,0,1298,1301,1300,1131,1134,1133,42,1167,1171,1168,0,1297,1301,1298,1130,1134,1131,42,1167,1172,1171,0,1297,1302,1301,1130,1135,1134,42,1173,1172,1167,0,1303,1302,1297,1136,1135,1130,42,1174,1172,1173,0,1304,1302,1303,1137,1135,1136,42,1175,1172,1174,0,371,392,393,1138,1135,1137,42,1175,1171,1172,0,371,391,392,1138,1134,1135,42,1170,1171,1175,0,390,391,371,1133,1134,1138,42,1176,1170,1175,0,377,390,371,1139,1133,1138,42,1169,1170,1176,0,1299,1300,1305,1132,1133,1139,42,1169,1176,1177,0,1299,1305,1306,1132,1139,1140,42,1178,1177,1176,0,1307,1306,1305,1141,1140,1139,42,1178,1179,1177,0,1307,1308,1306,1141,1142,1140,42,1180,1179,1178,0,1309,1308,1307,1143,1142,1141,42,1180,1181,1179,0,1309,1310,1308,1143,1144,1142,42,1181,1180,1182,0,1310,1309,1311,1144,1143,1145,42,1180,1175,1182,0,375,371,374,1143,1138,1145,42,1178,1175,1180,0,376,371,375,1141,1138,1143,42,1178,1176,1175,0,376,377,371,1141,1139,1138,42,1182,1175,1183,0,374,371,372,1145,1138,1146,42,1175,1184,1183,0,371,373,372,1138,1147,1146,42,1175,1174,1184,0,371,393,373,1138,1137,1147,42,1184,1174,1185,0,1312,1304,1313,1147,1137,1148,42,1185,1174,1173,0,1313,1304,1303,1148,1137,1136,42,1185,1173,1157,0,1313,1303,1286,1148,1136,1120,42,1173,1166,1157,0,1303,1296,1286,1136,1129,1120,42,1167,1166,1173,0,1297,1296,1303,1130,1129,1136,42,1157,1166,1156,0,1286,1296,1284,1120,1129,1119,42,1156,1166,1155,0,1284,1296,1283,1119,1129,1118,42,1158,1185,1157,0,1287,1313,1286,1121,1148,1120,42,1186,1185,1158,0,1314,1313,1287,1149,1148,1121,42,1185,1186,1184,0,1313,1314,1312,1148,1149,1147,42,1186,1183,1184,0,1314,1315,1312,1149,1146,1147,42,1186,1187,1183,0,1316,1317,1318,1149,1150,1146,42,1159,1187,1186,0,1289,1317,1316,1122,1150,1149,42,1160,1187,1159,0,1290,1317,1289,1123,1150,1122,42,1160,1181,1187,0,1290,1310,1317,1123,1144,1150,42,1160,1161,1181,0,1290,1291,1310,1123,1124,1144,42,1181,1161,1179,0,1310,1291,1308,1144,1124,1142,42,1161,1162,1179,0,1291,1292,1308,1124,1125,1142,42,1179,1162,1177,0,1308,1292,1306,1142,1125,1140,42,1177,1162,1163,0,1306,1292,1293,1140,1125,1126,42,1169,1177,1163,0,1299,1306,1293,1132,1140,1126,42,1169,1163,1164,0,1299,1293,1294,1132,1126,1127,42,1187,1181,1182,0,1317,1310,1311,1150,1144,1145,42,1187,1182,1183,0,1317,1311,1318,1150,1145,1146,42,1159,1186,1158,0,1289,1316,1288,1122,1149,1121,42,1188,1102,1132,0,1319,1220,1257,1151,1065,1095,42,1101,1102,1188,0,1219,1220,1319,1064,1065,1151,42,1101,1188,1100,0,1219,1319,1218,1064,1151,1063,42,1188,1130,1100,0,1319,1255,1218,1151,1093,1063,42,1188,1132,1130,0,1319,1257,1255,1151,1095,1093,42,1100,1130,1099,0,1218,1255,1217,1063,1093,1062,42,1074,1076,1073,0,1183,1241,1182,1037,1039,1036,42,1035,1038,1088,0,1144,1147,1206,998,1001,1051,42,1035,1088,1034,0,1144,1206,1142,998,1051,997,42,1034,1088,1084,0,1142,1206,1202,997,1051,1047,42,1022,1023,1075,0,1129,1130,1184,985,986,1038,42,1022,1075,1021,0,1127,1320,1126,985,1038,984,42,1021,1075,1031,0,1126,1320,1138,984,1038,994,42,1031,1075,1036,0,1138,1320,1321,994,1038,999,42,1036,1032,1031,0,1321,1139,1138,999,995,994,42,1021,1031,1020,0,1126,1138,1125,984,994,983,42,122,120,121,0,1128,108,109,84,82,83,42,97,98,123,0,78,79,112,59,60,85,42,58,59,94,0,23,24,73,20,21,56,42,94,92,58,0,73,75,23,56,54,20,42,58,92,91,0,23,75,1322,20,54,53,42,58,91,57,0,23,1322,22,20,53,19,42,57,91,1189,0,22,1322,1323,19,53,1152,42,1189,91,90,0,1324,68,67,1152,53,52,42,24,1189,90,0,1325,1324,67,1153,1152,52,42,21,24,90,0,1326,1325,67,1154,1153,52,42,21,90,88,0,1326,67,65,1154,52,50,42,19,21,88,0,18,1326,65,16,1154,50,42,19,88,18,0,18,65,17,16,50,15,42,65,66,68,0,32,33,42,27,28,30,42,66,67,68,0,33,34,42,28,29,30,42,12,56,11,0,25,19,21,9,17,8,42,4,5,3,1,1327,1328,1329,4,1155,3,42,4,6,5,1,1327,1330,1328,4,1156,1155,42,7,6,4,1,1331,1330,1327,7,1156,4,42,7,8,6,1,1331,1332,1330,7,1157,1156,42,9,7,8,1,1333,1331,1332,6,7,1157,42,20,19,1,1,1334,1335,1336,1158,16,1,42,20,21,19,1,1334,1337,1335,1158,1154,16,42,22,21,20,1,1338,1337,1334,1159,1154,1158,42,23,21,22,1,1339,1337,1338,1160,1154,1159,42,23,24,21,1,1339,1340,1337,1160,1153,1154,42,23,25,24,1,1339,1341,1340,1160,1161,1153,42,23,26,25,1,1339,1342,1341,1160,1162,1161,42,23,27,26,1,1339,1343,1342,1160,1163,1162,42,23,28,27,1,1339,1344,1343,1160,1164,1163,42,23,29,28,1,1339,1345,1344,1160,1165,1164,42,22,29,23,1,1338,1345,1339,1159,1165,1160,42,30,29,22,1,1346,1345,1338,1166,1165,1159,42,30,31,29,1,1346,1347,1345,1166,1167,1165,42,30,32,31,1,1346,1348,1347,1166,1168,1167,42,33,32,30,1,1349,1348,1346,1169,1168,1166,42,33,34,32,1,1349,1350,1348,1169,1170,1168,42,35,34,33,1,1351,1350,1349,1171,1170,1169,42,35,36,34,1,1351,1352,1350,1171,1172,1170,42,35,37,36,1,1351,1353,1352,1171,1173,1172,42,37,35,5,1,1353,1351,1328,1173,1171,1155,42,35,33,5,1,1351,1349,1328,1171,1169,1155,42,5,33,30,1,1328,1349,1346,1155,1169,1166,42,5,30,3,1,1328,1346,1329,1155,1166,3,42,30,1,3,1,1346,1336,1329,1166,1,3,42,30,22,1,1,1346,1338,1336,1166,1159,1,42,22,20,1,1,1338,1334,1336,1159,1158,1,42,6,37,5,1,1330,1353,1328,1156,1173,1155,42,6,38,37,1,1330,1354,1353,1156,1174,1173,42,6,39,38,1,1330,1355,1354,1156,1175,1174,42,8,39,6,1,1332,1355,1330,1157,1175,1156,42,8,40,39,1,1332,1356,1355,1157,1176,1175,42,41,40,8,1,1357,1356,1332,1177,1176,1157,42,42,40,41,1,1358,1359,1360,1178,1176,1177,42,42,43,40,1,1358,1361,1359,1178,1179,1176,42,42,44,43,1,1358,1362,1361,1178,1180,1179,42,45,44,42,1,1363,1362,1358,1181,1180,1178,42,45,46,44,1,1363,1364,1362,1181,1182,1180,42,46,45,47,1,1364,1363,1362,1182,1181,1183,42,47,45,48,1,1362,1363,1358,1183,1181,1184,42,45,49,48,1,1363,1365,1358,1181,1185,1184,42,45,50,49,1,1363,1366,1365,1181,1186,1185,42,45,51,50,1,1363,1365,1366,1181,1187,1186,42,45,42,51,1,1363,1358,1365,1181,1178,1187,42,42,41,51,1,1358,1360,1365,1178,1177,1187,42,51,41,52,1,1367,1357,1368,1187,1177,1188,42,52,41,8,1,1368,1357,1332,1188,1177,1157,42,9,8,52,1,1333,1332,1368,6,1157,1188,42,53,52,9,1,1369,1368,1333,1189,1188,6,42,53,51,52,1,1369,1367,1368,1189,1187,1188,42,50,51,53,1,1370,1367,1369,1186,1187,1189,42,49,50,53,1,1371,1372,1373,1185,1186,1189,42,49,53,54,1,1371,1373,1374,1185,1189,1190,42,53,55,54,1,1373,1375,1374,1189,18,1190,42,53,11,55,1,1373,1376,1375,1189,8,18,42,53,9,11,1,1369,1333,1377,1189,6,8,42,1189,24,25,1,1378,1340,1341,1152,1153,1161,42,1190,1189,25,1,1379,1380,1341,1191,1152,1161,42,57,1189,1190,1,1381,1380,1379,19,1152,1191,42,1191,57,1190,1,1382,1381,1379,1192,19,1191,42,1191,55,57,1,1382,1375,1381,1192,18,19,42,54,55,1191,1,1374,1375,1382,1190,18,1192,42,1192,54,1191,1,1383,1374,1382,1193,1190,1192,42,49,54,1192,1,1371,1374,1383,1185,1190,1193,42,48,49,1192,1,1358,1365,1360,1184,1185,1193,42,48,1192,1193,1,1358,1360,1359,1184,1193,1194,42,1192,1191,1193,1,1383,1382,1384,1193,1192,1194,42,1193,1191,1194,1,1384,1382,1385,1194,1192,1195,42,1194,1191,1190,1,1385,1382,1379,1195,1192,1191,42,1194,1190,1195,1,1385,1379,1386,1195,1191,1196,42,1190,1196,1195,1,1379,1387,1386,1191,1197,1196,42,1190,25,1196,1,1379,1341,1387,1191,1161,1197,42,1196,25,1197,1,1387,1341,1388,1197,1161,1198,42,1197,25,26,1,1388,1341,1342,1198,1161,1162,42,26,1198,1197,1,1342,1389,1388,1162,1199,1198,42,27,1198,26,1,1343,1389,1342,1163,1199,1162,42,27,1199,1198,1,1343,1390,1389,1163,1200,1199,42,28,1199,27,1,1344,1390,1343,1164,1200,1163,42,28,1200,1199,1,1344,1391,1390,1164,1201,1200,42,28,1201,1200,1,1344,1392,1391,1164,1202,1201,42,29,1201,28,1,1345,1392,1344,1165,1202,1164,42,31,1201,29,1,1347,1392,1345,1167,1202,1165,42,31,1202,1201,1,1347,1393,1392,1167,1203,1202,42,31,1203,1202,1,1347,1394,1393,1167,1204,1203,42,32,1203,31,1,1348,1394,1347,1168,1204,1167,42,34,1203,32,1,1350,1394,1348,1170,1204,1168,42,1204,1203,34,1,1395,1394,1350,1205,1204,1170,42,1204,1205,1203,1,1395,1396,1394,1205,1206,1204,42,1206,1205,1204,1,1397,1396,1395,1207,1206,1205,42,1206,1207,1205,1,1397,1398,1396,1207,1208,1206,42,1208,1207,1206,1,1399,1398,1397,1209,1208,1207,42,1208,1209,1207,1,1399,1400,1398,1209,1210,1208,42,1210,1209,1208,1,1401,1400,1399,1211,1210,1209,42,1210,1211,1209,1,1401,1402,1400,1211,1212,1210,42,1212,1211,1210,1,1403,1402,1401,1213,1212,1211,42,1212,1213,1211,1,1403,1404,1402,1213,1214,1212,42,1214,1213,1212,1,1405,1404,1403,1215,1214,1213,42,1214,1215,1213,1,1405,1406,1404,1215,1216,1214,42,1214,1216,1215,1,1405,1407,1406,1215,1217,1216,42,1214,1217,1216,1,1405,1408,1407,1215,1218,1217,42,1218,1217,1214,1,1409,1408,1405,1219,1218,1215,42,1218,1219,1217,1,1409,1410,1408,1219,1220,1218,42,1220,1219,1218,1,1411,1410,1409,1221,1220,1219,42,1221,1219,1220,1,1412,1410,1411,1222,1220,1221,42,1222,1219,1221,1,1413,1410,1412,1223,1220,1222,42,1223,1219,1222,1,1414,1410,1413,1224,1220,1223,42,1219,1223,1217,1,1410,1414,1408,1220,1224,1218,42,1223,1224,1217,1,1414,1415,1408,1224,1225,1218,42,1225,1224,1223,1,1416,1415,1414,1226,1225,1224,42,1226,1224,1225,1,1417,1415,1416,1227,1225,1226,42,1227,1224,1226,1,1418,1415,1417,1228,1225,1227,42,1216,1224,1227,1,1407,1415,1418,1217,1225,1228,42,1217,1224,1216,1,1408,1415,1407,1218,1225,1217,42,1216,1227,1228,1,1407,1418,1419,1217,1228,1229,42,1228,1227,1229,1,1419,1418,1420,1229,1228,1230,42,1227,1230,1229,1,1418,1421,1420,1228,1231,1230,42,1227,1226,1230,1,1418,1417,1421,1228,1227,1231,42,1231,1230,1226,1,1422,1421,1417,1232,1231,1227,42,1232,1230,1231,1,1423,1421,1422,1233,1231,1232,42,1232,1233,1230,1,1423,1424,1421,1233,1234,1231,42,1234,1233,1232,1,1425,1424,1423,1235,1234,1233,42,1233,1234,1235,1,1424,1425,1426,1234,1235,1236,42,1234,1236,1235,1,1425,1427,1426,1235,1237,1236,42,1237,1236,1234,1,1428,1427,1425,1238,1237,1235,42,1237,1238,1236,1,1428,1429,1427,1238,1239,1237,42,1237,1239,1238,1,1428,1430,1429,1238,1240,1239,42,1240,1239,1237,1,1431,1430,1428,1241,1240,1238,42,1240,1199,1239,1,1431,1390,1430,1241,1200,1240,42,1198,1199,1240,1,1389,1390,1431,1199,1200,1241,42,1241,1198,1240,1,1432,1389,1431,1242,1199,1241,42,1197,1198,1241,1,1388,1389,1432,1198,1199,1242,42,1196,1197,1241,1,1387,1388,1432,1197,1198,1242,42,1242,1196,1241,1,1433,1387,1432,1243,1197,1242,42,1195,1196,1242,1,1386,1387,1433,1196,1197,1243,42,1195,1242,1243,1,1386,1433,1434,1196,1243,1244,42,1243,1242,1244,1,1434,1433,1435,1244,1243,1245,42,1244,1242,1245,1,1435,1433,1436,1245,1243,1246,42,1242,1246,1245,1,1433,1437,1436,1243,1247,1246,42,1242,1241,1246,1,1433,1432,1437,1243,1242,1247,42,1246,1241,1247,1,1437,1432,1438,1247,1242,1248,42,1241,1248,1247,1,1432,1439,1438,1242,1249,1248,42,1241,1240,1248,1,1432,1431,1439,1242,1241,1249,42,1248,1240,1237,1,1439,1431,1428,1249,1241,1238,42,1248,1237,1249,1,1439,1428,1440,1249,1238,1250,42,1249,1237,1250,1,1440,1428,1441,1250,1238,1251,42,1250,1237,1234,1,1441,1428,1425,1251,1238,1235,42,1250,1234,1251,1,1441,1425,1442,1251,1235,1252,42,1234,1232,1251,1,1425,1423,1442,1235,1233,1252,42,1251,1232,1252,1,1442,1423,1443,1252,1233,1253,42,1232,1231,1252,1,1423,1422,1443,1233,1232,1253,42,1231,1253,1252,1,1422,1444,1443,1232,1254,1253,42,1231,1254,1253,1,1422,1445,1444,1232,1255,1254,42,1231,1226,1254,1,1422,1417,1445,1232,1227,1255,42,1226,1225,1254,1,1417,1416,1445,1227,1226,1255,42,1253,1254,1225,1,1444,1445,1416,1254,1255,1226,42,1253,1225,1255,1,1444,1416,1446,1254,1226,1256,42,1256,1255,1225,1,1447,1446,1416,1257,1256,1226,42,1257,1255,1256,1,1448,1446,1447,1258,1256,1257,42,1253,1255,1257,1,1444,1446,1448,1254,1256,1258,42,1258,1253,1257,1,1449,1444,1448,1259,1254,1258,42,1259,1253,1258,1,1450,1444,1449,1260,1254,1259,42,1252,1253,1259,1,1443,1444,1450,1253,1254,1260,42,1252,1259,1260,1,1443,1450,1451,1253,1260,1261,42,1260,1259,1261,1,1451,1450,1452,1261,1260,1262,42,1258,1261,1259,1,1449,1452,1450,1259,1262,1260,42,1258,1262,1261,1,1449,1453,1452,1259,1263,1262,42,1258,1263,1262,1,1449,1454,1453,1259,1264,1263,42,1258,1264,1263,1,1449,1455,1454,1259,1265,1264,42,1257,1264,1258,1,1448,1455,1449,1258,1265,1259,42,1257,1265,1264,1,1448,1456,1455,1258,1266,1265,42,1257,1266,1265,1,1448,1457,1456,1258,1267,1266,42,1267,1266,1257,1,1458,1457,1448,1268,1267,1258,42,1268,1266,1267,1,1459,1457,1458,1269,1267,1268,42,1268,1269,1266,1,1459,1460,1457,1269,1270,1267,42,1270,1269,1268,1,1461,1460,1459,1271,1270,1269,42,1271,1269,1270,1,1462,1460,1461,1272,1270,1271,42,1272,1269,1271,1,1463,1460,1462,1273,1270,1272,42,1273,1269,1272,1,1464,1460,1463,1274,1270,1273,42,1273,1274,1269,1,1464,1465,1460,1274,1275,1270,42,1273,1275,1274,1,1464,1466,1465,1274,1276,1275,42,1276,1275,1273,1,1467,1466,1464,1277,1276,1274,42,1277,1275,1276,1,1468,1466,1467,1278,1276,1277,42,1278,1275,1277,1,1469,1466,1468,1279,1276,1278,42,1278,1279,1275,1,1469,1470,1466,1279,1280,1276,42,1264,1279,1278,1,1455,1470,1469,1265,1280,1279,42,1265,1279,1264,1,1456,1470,1455,1266,1280,1265,42,1266,1279,1265,1,1457,1470,1456,1267,1280,1266,42,1266,1274,1279,1,1457,1465,1470,1267,1275,1280,42,1266,1269,1274,1,1457,1460,1465,1267,1270,1275,42,1275,1279,1274,1,1466,1470,1465,1276,1280,1275,42,1264,1278,1280,1,1455,1469,1471,1265,1279,1281,42,1280,1278,1277,1,1471,1469,1468,1281,1279,1278,42,1281,1280,1277,1,1472,1471,1468,1282,1281,1278,42,1261,1280,1281,1,1452,1471,1472,1262,1281,1282,42,1262,1280,1261,1,1453,1471,1452,1263,1281,1262,42,1263,1280,1262,1,1454,1471,1453,1264,1281,1263,42,1264,1280,1263,1,1455,1471,1454,1265,1281,1264,42,1282,1261,1281,1,1473,1452,1472,1283,1262,1282,42,1260,1261,1282,1,1451,1452,1473,1261,1262,1283,42,1260,1282,1283,1,1451,1473,1474,1261,1283,1284,42,1282,1284,1283,1,1473,1475,1474,1283,1285,1284,42,1282,1281,1284,1,1473,1472,1475,1283,1282,1285,42,1284,1281,1277,1,1475,1472,1468,1285,1282,1278,42,1284,1277,1285,1,1475,1468,1476,1285,1278,1286,42,1285,1277,1276,1,1476,1468,1467,1286,1278,1277,42,1286,1285,1276,1,1477,1476,1467,1287,1286,1277,42,1286,1287,1285,1,1477,1478,1476,1287,1288,1286,42,1288,1287,1286,1,1479,1478,1477,1289,1288,1287,42,1283,1287,1288,1,1474,1478,1479,1284,1288,1289,42,1283,1285,1287,1,1474,1476,1478,1284,1286,1288,42,1283,1284,1285,1,1474,1475,1476,1284,1285,1286,42,1289,1283,1288,1,1480,1474,1479,1290,1284,1289,42,1260,1283,1289,1,1451,1474,1480,1261,1284,1290,42,1290,1260,1289,1,1481,1451,1480,1291,1261,1290,42,1291,1260,1290,1,1482,1451,1481,1292,1261,1291,42,1292,1260,1291,1,1483,1451,1482,1293,1261,1292,42,1292,1251,1260,1,1483,1442,1451,1293,1252,1261,42,1293,1251,1292,1,1484,1442,1483,1294,1252,1293,42,1293,1250,1251,1,1484,1441,1442,1294,1251,1252,42,1249,1250,1293,1,1440,1441,1484,1250,1251,1294,42,1248,1249,1293,1,1439,1440,1484,1249,1250,1294,42,1247,1248,1293,1,1438,1439,1484,1248,1249,1294,42,1247,1293,1292,1,1438,1484,1483,1248,1294,1293,42,1294,1247,1292,1,1485,1438,1483,1295,1248,1293,42,1246,1247,1294,1,1437,1438,1485,1247,1248,1295,42,1245,1246,1294,1,1436,1437,1485,1246,1247,1295,42,1245,1294,1295,1,1436,1485,1486,1246,1295,1296,42,1295,1294,1296,1,1486,1485,1487,1296,1295,1297,42,1294,1292,1296,1,1485,1483,1487,1295,1293,1297,42,1296,1292,1291,1,1487,1483,1482,1297,1293,1292,42,1296,1291,1297,1,1487,1482,1488,1297,1292,1298,42,1297,1291,1298,1,1488,1482,1489,1298,1292,1299,42,1291,1290,1298,1,1482,1481,1489,1292,1291,1299,42,1298,1290,1299,1,1489,1481,1490,1299,1291,1300,42,1299,1290,1300,1,1490,1481,1491,1300,1291,1301,42,1300,1290,1289,1,1491,1481,1480,1301,1291,1290,42,1300,1289,1301,1,1491,1480,1492,1301,1290,1302,42,1289,1288,1301,1,1480,1479,1492,1290,1289,1302,42,1301,1288,1302,1,1492,1479,1493,1302,1289,1303,42,1302,1288,1303,1,1493,1479,1494,1303,1289,1304,42,1288,1286,1303,1,1479,1477,1494,1289,1287,1304,42,1303,1286,1304,1,1494,1477,1495,1304,1287,1305,42,1304,1286,1305,1,1495,1477,1496,1305,1287,1306,42,1305,1286,1306,1,1496,1477,1497,1306,1287,1307,42,1286,1276,1306,1,1477,1467,1497,1287,1277,1307,42,1276,1273,1306,1,1467,1464,1497,1277,1274,1307,42,1306,1273,1307,1,1497,1464,1498,1307,1274,1308,42,1307,1273,1272,1,1498,1464,1463,1308,1274,1273,42,1307,1272,1308,1,1498,1463,1499,1308,1273,1309,42,1308,1272,1271,1,1499,1463,1462,1309,1273,1272,42,1308,1271,1309,1,1499,1462,1500,1309,1272,1310,42,1309,1271,1310,1,1500,1462,1501,1310,1272,1311,42,1310,1271,1267,1,1501,1462,1458,1311,1272,1268,42,1271,1270,1267,1,1462,1461,1458,1272,1271,1268,42,1270,1268,1267,1,1461,1459,1458,1271,1269,1268,42,1310,1267,1256,1,1501,1458,1447,1311,1268,1257,42,1267,1257,1256,1,1458,1448,1447,1268,1258,1257,42,1310,1256,1311,1,1501,1447,1502,1311,1257,1312,42,1256,1222,1311,1,1447,1413,1502,1257,1223,1312,42,1256,1312,1222,1,1447,1503,1413,1257,1313,1223,42,1256,1225,1312,1,1447,1416,1503,1257,1226,1313,42,1312,1225,1223,1,1503,1416,1414,1313,1226,1224,42,1312,1223,1222,1,1503,1414,1413,1313,1224,1223,42,1311,1222,1221,1,1502,1413,1412,1312,1223,1222,42,1311,1221,1313,1,1502,1412,1504,1312,1222,1314,42,1313,1221,1314,1,1504,1412,1505,1314,1222,1315,42,1221,1220,1314,1,1412,1411,1505,1222,1221,1315,42,1314,1220,1315,1,1505,1411,1506,1315,1221,1316,42,1315,1220,1316,1,1506,1411,1507,1316,1221,1317,42,1316,1220,1317,1,1507,1411,1508,1317,1221,1318,42,1317,1220,1218,1,1508,1411,1409,1318,1221,1219,42,1317,1218,1318,1,1508,1409,1509,1318,1219,1319,42,1318,1218,1319,1,1509,1409,1510,1319,1219,1320,42,1218,1214,1319,1,1409,1405,1510,1219,1215,1320,42,1319,1214,1212,1,1510,1405,1403,1320,1215,1213,42,1212,1210,1319,1,1403,1401,1510,1213,1211,1320,42,1319,1210,1318,1,1510,1401,1509,1320,1211,1319,42,1320,1318,1210,1,1511,1509,1401,1321,1319,1211,42,1316,1318,1320,1,1507,1509,1511,1317,1319,1321,42,1316,1317,1318,1,1507,1508,1509,1317,1318,1319,42,1315,1316,1320,1,1506,1507,1511,1316,1317,1321,42,1315,1320,1208,1,1506,1511,1399,1316,1321,1209,42,1320,1210,1208,1,1511,1401,1399,1321,1211,1209,42,1314,1315,1208,1,1505,1506,1399,1315,1316,1209,42,1314,1208,1206,1,1505,1399,1397,1315,1209,1207,42,1314,1206,1321,1,1505,1397,1512,1315,1207,1322,42,1321,1206,1322,1,1512,1397,1513,1322,1207,1323,42,1322,1206,1323,1,1513,1397,1514,1323,1207,1324,42,1323,1206,1204,1,1514,1397,1395,1324,1207,1205,42,1323,1204,36,1,1514,1395,1352,1324,1205,1172,42,36,1204,34,1,1352,1395,1350,1172,1205,1170,42,1324,1323,36,1,1515,1514,1352,1325,1324,1172,42,1325,1323,1324,1,1516,1514,1515,1326,1324,1325,42,1325,1322,1323,1,1516,1513,1514,1326,1323,1324,42,1325,1321,1322,1,1516,1512,1513,1326,1322,1323,42,1313,1321,1325,1,1504,1512,1516,1314,1322,1326,42,1313,1314,1321,1,1504,1505,1512,1314,1315,1322,42,1326,1313,1325,1,1517,1504,1516,1327,1314,1326,42,1309,1313,1326,1,1500,1504,1517,1310,1314,1327,42,1309,1311,1313,1,1500,1502,1504,1310,1312,1314,42,1309,1310,1311,1,1500,1501,1502,1310,1311,1312,42,1327,1309,1326,1,1518,1500,1517,1328,1310,1327,42,1328,1309,1327,1,1519,1500,1518,1329,1310,1328,42,1329,1309,1328,1,1520,1500,1519,1330,1310,1329,42,1329,1330,1309,1,1520,1521,1500,1330,1331,1310,42,1304,1330,1329,1,1495,1521,1520,1305,1331,1330,42,1304,1305,1330,1,1495,1496,1521,1305,1306,1331,42,1305,1306,1330,1,1496,1497,1521,1306,1307,1331,42,1330,1306,1307,1,1521,1497,1498,1331,1307,1308,42,1330,1307,1308,1,1521,1498,1499,1331,1308,1309,42,1309,1330,1308,1,1500,1521,1499,1310,1331,1309,42,1331,1304,1329,1,1522,1495,1520,1332,1305,1330,42,1302,1304,1331,1,1493,1495,1522,1303,1305,1332,42,1302,1303,1304,1,1493,1494,1495,1303,1304,1305,42,1332,1302,1331,1,1523,1493,1522,1333,1303,1332,42,1301,1302,1332,1,1492,1493,1523,1302,1303,1333,42,1333,1301,1332,1,1524,1492,1523,1334,1302,1333,42,1334,1301,1333,1,1525,1492,1524,1335,1302,1334,42,1300,1301,1334,1,1491,1492,1525,1301,1302,1335,42,1335,1300,1334,1,1526,1491,1525,1336,1301,1335,42,1336,1300,1335,1,1527,1491,1526,1337,1301,1336,42,1299,1300,1336,1,1490,1491,1527,1300,1301,1337,42,1337,1299,1336,1,1528,1490,1527,1338,1300,1337,42,1337,1338,1299,1,1528,1529,1490,1338,1339,1300,42,1337,1339,1338,1,1528,1530,1529,1338,1340,1339,42,1337,1340,1339,1,1528,1531,1530,1338,1341,1340,42,1341,1340,1337,1,1532,1531,1528,1342,1341,1338,42,1342,1340,1341,1,1533,1531,1532,1343,1341,1342,42,1343,1340,1342,1,1534,1531,1533,1344,1341,1343,42,1344,1340,1343,1,1535,1531,1534,1345,1341,1344,42,1340,1344,1339,1,1531,1535,1530,1341,1345,1340,42,1344,1338,1339,1,1535,1529,1530,1345,1339,1340,42,1345,1338,1344,1,1536,1529,1535,1346,1339,1345,42,1345,1298,1338,1,1536,1489,1529,1346,1299,1339,42,1297,1298,1345,1,1488,1489,1536,1298,1299,1346,42,1346,1297,1345,1,1537,1488,1536,1347,1298,1346,42,1295,1297,1346,1,1486,1488,1537,1296,1298,1347,42,1295,1296,1297,1,1486,1487,1488,1296,1297,1298,42,1347,1295,1346,1,1538,1486,1537,1348,1296,1347,42,1347,1245,1295,1,1538,1436,1486,1348,1246,1296,42,1348,1245,1347,1,1539,1436,1538,1349,1246,1348,42,1244,1245,1348,1,1435,1436,1539,1245,1246,1349,42,1349,1244,1348,1,1540,1435,1539,1350,1245,1349,42,1350,1244,1349,1,1541,1435,1540,1351,1245,1350,42,1350,1243,1244,1,1541,1434,1435,1351,1244,1245,42,1350,1351,1243,1,1541,1542,1434,1351,1352,1244,42,1352,1351,1350,1,1543,1542,1541,1353,1352,1351,42,1353,1351,1352,1,1544,1542,1543,1354,1352,1353,42,1353,1354,1351,1,1544,1545,1542,1354,1355,1352,42,1353,1355,1354,1,1546,1547,1548,1354,1356,1355,42,1356,1355,1353,1,1549,1547,1546,1357,1356,1354,42,1355,1356,1357,1,1547,1549,1550,1356,1357,1358,42,1356,1358,1357,1,1551,1552,1553,1357,1359,1358,42,1356,1359,1358,1,1551,1554,1552,1357,1360,1359,42,1360,1359,1356,1,1555,1554,1551,1361,1360,1357,42,1360,1361,1359,1,1555,1556,1554,1361,1362,1360,42,1362,1361,1360,1,1557,1556,1555,1363,1362,1361,42,1361,1362,1363,1,1556,1557,1558,1362,1363,1364,42,1362,1364,1363,1,1557,1559,1558,1363,1365,1364,42,1364,1362,1353,1,1560,1561,1546,1365,1363,1354,42,1362,1360,1353,1,1561,1562,1546,1363,1361,1354,42,1353,1360,1356,1,1546,1562,1549,1354,1361,1357,42,1363,1364,1353,1,1558,1559,1544,1364,1365,1354,42,1363,1353,1352,1,1558,1544,1543,1364,1354,1353,42,1363,1352,1361,1,1558,1543,1556,1364,1353,1362,42,1361,1352,1350,1,1556,1543,1541,1362,1353,1351,42,1361,1350,1359,1,1556,1541,1554,1362,1351,1360,42,1359,1350,1358,1,1554,1541,1552,1360,1351,1359,42,1350,1349,1358,1,1541,1540,1552,1351,1350,1359,42,1357,1358,1349,1,1553,1552,1540,1358,1359,1350,42,1357,1349,1348,1,1553,1540,1539,1358,1350,1349,42,1357,1348,1365,1,1553,1539,1563,1358,1349,1366,42,1348,1347,1365,1,1539,1538,1563,1349,1348,1366,42,1347,1366,1365,1,1538,1564,1563,1348,1367,1366,42,1347,1367,1366,1,1538,1565,1564,1348,1368,1367,42,1347,1368,1367,1,1538,1566,1565,1348,1369,1368,42,1347,1346,1368,1,1538,1537,1566,1348,1347,1369,42,1368,1346,1369,1,1566,1537,1567,1369,1347,1370,42,1346,1345,1369,1,1537,1536,1567,1347,1346,1370,42,1369,1345,1344,1,1567,1536,1535,1370,1346,1345,42,1369,1344,1343,1,1567,1535,1534,1370,1345,1344,42,1369,1343,1370,1,1567,1534,1568,1370,1344,1371,42,1370,1343,1342,1,1568,1534,1533,1371,1344,1343,42,1342,1371,1370,1,1533,1569,1568,1343,1372,1371,42,1342,1372,1371,1,1533,1570,1569,1343,1373,1372,42,1373,1372,1342,1,1571,1570,1533,1374,1373,1343,42,1374,1372,1373,1,1572,1570,1571,1375,1373,1374,42,1375,1372,1374,1,1573,1570,1572,1376,1373,1375,42,1371,1372,1375,1,1569,1570,1573,1372,1373,1376,42,1376,1371,1375,1,1574,1569,1573,1377,1372,1376,42,1370,1371,1376,1,1568,1569,1574,1371,1372,1377,42,1369,1370,1376,1,1567,1568,1574,1370,1371,1377,42,1369,1376,1367,1,1567,1574,1565,1370,1377,1368,42,1367,1376,1377,1,1565,1574,1575,1368,1377,1378,42,1376,1378,1377,1,1574,1576,1575,1377,1379,1378,42,1376,1375,1378,1,1574,1573,1576,1377,1376,1379,42,1375,1379,1378,1,1573,1577,1576,1376,1380,1379,42,1379,1375,1374,1,1577,1573,1572,1380,1376,1375,42,1374,1336,1379,1,1572,1527,1577,1375,1337,1380,42,1374,1373,1336,1,1572,1571,1527,1375,1374,1337,42,1336,1373,1380,1,1527,1571,1578,1337,1374,1381,42,1380,1373,1341,1,1578,1571,1532,1381,1374,1342,42,1341,1373,1342,1,1532,1571,1533,1342,1374,1343,42,1380,1341,1337,1,1578,1532,1528,1381,1342,1338,42,1336,1380,1337,1,1527,1578,1528,1337,1381,1338,42,1336,1335,1379,1,1527,1526,1577,1337,1336,1380,42,1335,1381,1379,1,1526,1579,1577,1336,1382,1380,42,1335,1334,1381,1,1526,1525,1579,1336,1335,1382,42,1381,1334,1382,1,1579,1525,1580,1382,1335,1383,42,1334,1333,1382,1,1525,1524,1580,1335,1334,1383,42,1333,1383,1382,1,1524,1581,1580,1334,1384,1383,42,1333,1332,1383,1,1524,1523,1581,1334,1333,1384,42,1383,1332,1384,1,1581,1523,1582,1384,1333,1385,42,1332,1331,1384,1,1523,1522,1582,1333,1332,1385,42,1384,1331,1385,1,1582,1522,1583,1385,1332,1386,42,1385,1331,1386,1,1583,1522,1584,1386,1332,1387,42,1386,1331,1329,1,1584,1522,1520,1387,1332,1330,42,1386,1329,1328,1,1584,1520,1519,1387,1330,1329,42,1386,1328,1387,1,1584,1519,1585,1387,1329,1388,42,1387,1328,1388,1,1585,1519,1586,1388,1329,1389,42,1388,1328,1327,1,1586,1519,1518,1389,1329,1328,42,1389,1388,1327,1,1587,1586,1518,1390,1389,1328,42,1390,1388,1389,1,1588,1586,1587,1391,1389,1390,42,1390,1391,1388,1,1588,1589,1586,1391,1392,1389,42,1392,1391,1390,1,1590,1589,1588,1393,1392,1391,42,1392,1393,1391,1,1590,1591,1589,1393,1394,1392,42,1392,1394,1393,1,1590,1592,1591,1393,1395,1394,42,1395,1394,1392,1,1593,1592,1590,1396,1395,1393,42,1396,1394,1395,1,1594,1592,1593,1397,1395,1396,42,1397,1394,1396,1,1595,1592,1594,1398,1395,1397,42,1394,1397,1398,1,1592,1595,1596,1395,1398,1399,42,1397,1399,1398,1,1595,1597,1596,1398,1400,1399,42,1400,1399,1397,1,1598,1597,1595,1401,1400,1398,42,1401,1400,1402,1,1599,1598,1600,1402,1401,1403,42,1402,1400,1403,1,1600,1598,1601,1403,1401,1404,42,1396,1403,1400,1,1594,1601,1598,1397,1404,1401,42,1404,1403,1396,1,1602,1601,1594,1405,1404,1397,42,1405,1403,1404,1,1603,1601,1602,1406,1404,1405,42,1405,1402,1403,1,1603,1600,1601,1406,1403,1404,42,1405,1406,1402,1,1603,1604,1600,1406,1407,1403,42,1407,1406,1405,1,1605,1604,1603,1408,1407,1406,42,1407,1408,1406,1,1605,1606,1604,1408,1409,1407,42,1409,1408,1407,1,1607,1606,1605,1410,1409,1408,42,1410,1408,1409,1,1608,1606,1607,1411,1409,1410,42,1410,1411,1408,1,1608,1609,1606,1411,1412,1409,42,1410,1383,1411,1,1608,1581,1609,1411,1384,1412,42,1412,1383,1410,1,1610,1581,1608,1413,1384,1411,42,1413,1383,1412,1,1611,1581,1610,1414,1384,1413,42,1413,1382,1383,1,1611,1580,1581,1414,1383,1384,42,1381,1382,1413,1,1579,1580,1611,1382,1383,1414,42,1414,1381,1413,1,1612,1579,1611,1415,1382,1414,42,1378,1381,1414,1,1576,1579,1612,1379,1382,1415,42,1379,1381,1378,1,1577,1579,1576,1380,1382,1379,42,1377,1378,1414,1,1575,1576,1612,1378,1379,1415,42,1377,1414,1415,1,1575,1612,1613,1378,1415,1416,42,1416,1415,1414,1,1614,1613,1612,1417,1416,1415,42,1366,1415,1416,1,1564,1613,1614,1367,1416,1417,42,1366,1377,1415,1,1564,1575,1613,1367,1378,1416,42,1366,1367,1377,1,1564,1565,1575,1367,1368,1378,42,1365,1366,1416,1,1563,1564,1614,1366,1367,1417,42,1365,1416,1417,1,1563,1614,1615,1366,1417,1418,42,1417,1416,1418,1,1615,1614,1616,1418,1417,1419,42,1416,1413,1418,1,1614,1611,1616,1417,1414,1419,42,1416,1414,1413,1,1614,1612,1611,1417,1415,1414,42,1419,1418,1413,1,1617,1616,1611,1420,1419,1414,42,1420,1418,1419,1,1618,1616,1617,1421,1419,1420,42,1421,1418,1420,1,1619,1616,1618,1422,1419,1421,42,1417,1418,1421,1,1615,1616,1619,1418,1419,1422,42,1417,1421,1422,1,1615,1619,1620,1418,1422,1423,42,1422,1421,1423,1,1620,1619,1621,1423,1422,1424,42,1423,1421,1420,1,1621,1619,1618,1424,1422,1421,42,1423,1420,1424,1,1621,1618,1622,1424,1421,1425,42,1424,1420,1425,1,1622,1618,1623,1425,1421,1426,42,1420,1419,1425,1,1618,1617,1623,1421,1420,1426,42,1419,1410,1425,1,1617,1608,1623,1420,1411,1426,42,1419,1412,1410,1,1617,1610,1608,1420,1413,1411,42,1413,1412,1419,1,1611,1610,1617,1414,1413,1420,42,1426,1425,1410,1,1624,1623,1608,1427,1426,1411,42,1427,1425,1426,1,1625,1623,1624,1428,1426,1427,42,1427,1424,1425,1,1625,1622,1623,1428,1425,1426,42,1428,1424,1427,1,1626,1622,1625,1429,1425,1428,42,1423,1424,1428,1,1621,1622,1626,1424,1425,1429,42,1429,1423,1428,1,1627,1621,1626,1430,1424,1429,42,1429,1430,1423,1,1627,1628,1621,1430,1431,1424,42,1431,1430,1429,1,1629,1628,1627,1432,1431,1430,42,1431,1432,1430,1,1629,1630,1628,1432,1433,1431,42,1431,1433,1432,1,1629,1631,1630,1432,1434,1433,42,1434,1433,1431,1,1632,1633,1634,1435,1434,1432,42,1434,1435,1433,1,1632,1635,1633,1435,1436,1434,42,1434,47,1435,1,1632,1362,1635,1435,1183,1436,42,1434,46,47,1,1632,1364,1362,1435,1182,1183,42,1436,46,1434,1,1636,1364,1632,1437,1182,1435,42,46,1436,1437,1,1364,1636,1632,1182,1437,1438,42,1437,1436,1431,1,1632,1636,1634,1438,1437,1432,42,1436,1434,1431,1,1636,1632,1634,1437,1435,1432,42,1437,1431,1438,1,1632,1634,1633,1438,1432,1439,42,1438,1431,1429,1,1637,1629,1627,1439,1432,1430,42,1438,1429,1439,1,1637,1627,1638,1439,1430,1440,42,1439,1429,1440,1,1638,1627,1639,1440,1430,1441,42,1429,1428,1440,1,1627,1626,1639,1430,1429,1441,42,1440,1428,1427,1,1639,1626,1625,1441,1429,1428,42,1440,1427,1441,1,1639,1625,1640,1441,1428,1442,42,1427,1426,1441,1,1625,1624,1640,1428,1427,1442,42,1441,1426,1442,1,1640,1624,1641,1442,1427,1443,42,1426,1443,1442,1,1624,1642,1641,1427,1444,1443,42,1426,1409,1443,1,1624,1607,1642,1427,1410,1444,42,1426,1410,1409,1,1624,1608,1607,1427,1411,1410,42,1443,1409,1444,1,1642,1607,1643,1444,1410,1445,42,1409,1407,1444,1,1607,1605,1643,1410,1408,1445,42,1444,1407,1445,1,1643,1605,1644,1445,1408,1446,42,1407,1405,1445,1,1605,1603,1644,1408,1406,1446,42,1405,1404,1445,1,1603,1602,1644,1406,1405,1446,42,1445,1404,1446,1,1644,1602,1645,1446,1405,1447,42,1446,1404,1396,1,1645,1602,1594,1447,1405,1397,42,1396,1395,1446,1,1594,1593,1645,1397,1396,1447,42,1447,1446,1395,1,1646,1645,1593,1448,1447,1396,42,1445,1446,1447,1,1644,1645,1646,1446,1447,1448,42,1448,1445,1447,1,1647,1644,1646,1449,1446,1448,42,1444,1445,1448,1,1643,1644,1647,1445,1446,1449,42,1442,1444,1448,1,1641,1643,1647,1443,1445,1449,42,1443,1444,1442,1,1642,1643,1641,1444,1445,1443,42,1442,1448,1449,1,1641,1647,1648,1443,1449,1450,42,1449,1448,1450,1,1648,1647,1649,1450,1449,1451,42,1448,1447,1450,1,1647,1646,1649,1449,1448,1451,42,1450,1447,1451,1,1649,1646,1650,1451,1448,1452,42,1447,1390,1451,1,1646,1588,1650,1448,1391,1452,42,1447,1392,1390,1,1646,1590,1588,1448,1393,1391,42,1447,1395,1392,1,1646,1593,1590,1448,1396,1393,42,1451,1390,1389,1,1650,1588,1587,1452,1391,1390,42,1451,1389,1452,1,1650,1587,1651,1452,1390,1453,42,1452,1389,1453,1,1651,1587,1652,1453,1390,1454,42,1389,1327,1453,1,1587,1518,1652,1390,1328,1454,42,1453,1327,1326,1,1652,1518,1517,1454,1328,1327,42,1453,1326,1454,1,1652,1517,1653,1454,1327,1455,42,1454,1326,1324,1,1653,1517,1515,1455,1327,1325,42,1326,1325,1324,1,1517,1516,1515,1327,1326,1325,42,1454,1324,1455,1,1653,1515,1654,1455,1325,1456,42,1455,1324,36,1,1654,1515,1352,1456,1325,1172,42,1456,1455,36,1,1655,1654,1352,1457,1456,1172,42,1457,1455,1456,1,1656,1654,1655,1458,1456,1457,42,1457,1454,1455,1,1656,1653,1654,1458,1455,1456,42,1452,1454,1457,1,1651,1653,1656,1453,1455,1458,42,1452,1453,1454,1,1651,1652,1653,1453,1454,1455,42,1449,1452,1457,1,1648,1651,1656,1450,1453,1458,42,1449,1451,1452,1,1648,1650,1651,1450,1452,1453,42,1449,1450,1451,1,1648,1649,1650,1450,1451,1452,42,1458,1449,1457,1,1657,1648,1656,1459,1450,1458,42,1441,1449,1458,1,1640,1648,1657,1442,1450,1459,42,1441,1442,1449,1,1640,1641,1648,1442,1443,1450,42,1459,1441,1458,1,1658,1640,1657,1460,1442,1459,42,1460,1441,1459,1,1659,1640,1658,1461,1442,1460,42,1440,1441,1460,1,1639,1640,1659,1441,1442,1461,42,1439,1440,1460,1,1638,1639,1659,1440,1441,1461,42,1439,1460,1461,1,1638,1659,1660,1440,1461,1462,42,1461,1460,1459,1,1660,1659,1658,1462,1461,1460,42,1461,1459,1462,1,1661,1550,1662,1462,1460,1463,42,1463,1462,1459,1,1663,1662,1550,1464,1463,1460,42,1464,1462,1463,1,1664,1662,1663,1465,1463,1464,42,1464,1465,1462,1,1664,1635,1662,1465,1466,1463,42,44,1465,1464,1,1362,1635,1664,1180,1466,1465,42,44,1437,1465,1,1362,1632,1635,1180,1438,1466,42,46,1437,44,1,1364,1632,1362,1182,1438,1180,42,1465,1437,1438,1,1635,1632,1633,1466,1438,1439,42,1465,1438,1466,1,1635,1633,1665,1466,1439,1467,42,1466,1438,1439,1,1666,1637,1638,1467,1439,1440,42,1466,1439,1461,1,1666,1638,1660,1467,1440,1462,42,1465,1466,1461,1,1635,1665,1661,1466,1467,1462,42,1465,1461,1462,1,1635,1661,1662,1466,1462,1463,42,44,1464,43,1,1362,1664,1361,1180,1465,1179,42,1464,1467,43,1,1664,1667,1361,1465,1468,1179,42,1464,1463,1467,1,1664,1663,1667,1465,1464,1468,42,1467,1463,1459,1,1667,1663,1550,1468,1464,1460,42,1467,1459,1468,1,1667,1550,1547,1468,1460,1469,42,1469,1468,1459,1,1549,1547,1550,1470,1469,1460,42,1468,1469,1470,1,1547,1549,1546,1469,1470,1471,42,1469,1471,1470,1,1549,1562,1546,1470,1472,1471,42,1472,1471,1469,1,1668,1669,1670,1473,1472,1470,42,1473,1471,1472,1,1671,1669,1668,1474,1472,1473,42,1473,1474,1471,1,1671,1672,1669,1474,1475,1472,42,1474,1473,1475,1,1672,1671,1673,1475,1474,1476,42,1473,1476,1475,1,1671,1674,1673,1474,1477,1476,42,1473,1477,1476,1,1671,1675,1674,1474,1478,1477,42,1472,1477,1473,1,1668,1675,1671,1473,1478,1474,42,1472,1478,1477,1,1668,1676,1675,1473,1479,1478,42,1472,1469,1478,1,1668,1670,1676,1473,1470,1479,42,1469,1459,1478,1,1670,1658,1676,1470,1460,1479,42,1478,1459,1479,1,1676,1658,1677,1479,1460,1480,42,1459,1458,1479,1,1658,1657,1677,1460,1459,1480,42,1458,1480,1479,1,1657,1678,1677,1459,1481,1480,42,1458,1457,1480,1,1657,1656,1678,1459,1458,1481,42,1480,1457,1456,1,1678,1656,1655,1481,1458,1457,42,1480,1456,1481,1,1678,1655,1679,1481,1457,1482,42,1481,1456,38,1,1679,1655,1354,1482,1457,1174,42,38,1456,37,1,1354,1655,1353,1174,1457,1173,42,1456,36,37,1,1655,1352,1353,1457,1172,1173,42,1482,1481,38,1,1680,1679,1354,1483,1482,1174,42,1483,1481,1482,1,1681,1679,1680,1484,1482,1483,42,1477,1481,1483,1,1675,1679,1681,1478,1482,1484,42,1477,1480,1481,1,1675,1678,1679,1478,1481,1482,42,1479,1480,1477,1,1677,1678,1675,1480,1481,1478,42,1478,1479,1477,1,1676,1677,1675,1479,1480,1478,42,1477,1483,1476,1,1675,1681,1674,1478,1484,1477,42,1476,1483,1470,1,1674,1681,1682,1477,1484,1471,42,1470,1483,1482,1,1682,1681,1680,1471,1484,1483,42,1468,1470,1482,1,1547,1546,1548,1469,1471,1483,42,39,1468,1482,1,1683,1547,1548,1175,1469,1483,42,40,1468,39,1,1359,1547,1683,1176,1469,1175,42,40,1467,1468,1,1359,1667,1547,1176,1468,1469,42,43,1467,40,1,1361,1667,1359,1179,1468,1176,42,1482,38,39,1,1548,1684,1683,1483,1174,1175,42,1470,1475,1476,1,1682,1673,1674,1471,1476,1477,42,1484,1475,1470,1,1685,1673,1682,1485,1476,1471,42,1484,1474,1475,1,1685,1672,1673,1485,1475,1476,42,1474,1484,1470,1,1561,1560,1546,1475,1485,1471,42,1471,1474,1470,1,1562,1561,1546,1472,1475,1471,42,1435,47,1485,1,1635,1362,1664,1436,1183,1486,42,47,1486,1485,1,1362,1361,1664,1183,1487,1486,42,47,48,1486,1,1362,1358,1361,1183,1184,1487,42,48,1193,1486,1,1358,1359,1361,1184,1194,1487,42,1487,1486,1193,1,1667,1361,1359,1488,1487,1194,42,1485,1486,1487,1,1664,1361,1667,1486,1487,1488,42,1485,1487,1488,1,1664,1667,1663,1486,1488,1489,42,1487,1357,1488,1,1667,1550,1663,1488,1358,1489,42,1487,1355,1357,1,1667,1547,1550,1488,1356,1358,42,1487,1193,1355,1,1667,1359,1547,1488,1194,1356,42,1355,1193,1194,1,1547,1359,1683,1356,1194,1195,42,1355,1194,1354,1,1547,1683,1548,1356,1195,1355,42,1194,1195,1354,1,1683,1684,1548,1195,1196,1355,42,1354,1195,1243,1,1545,1386,1434,1355,1196,1244,42,1354,1243,1351,1,1545,1434,1542,1355,1244,1352,42,1488,1357,1489,1,1663,1550,1662,1489,1358,1490,42,1489,1357,1490,1,1662,1550,1661,1490,1358,1491,42,1357,1491,1490,1,1553,1686,1687,1358,1492,1491,42,1357,1365,1491,1,1553,1563,1686,1358,1366,1492,42,1491,1365,1492,1,1686,1563,1688,1492,1366,1493,42,1365,1417,1492,1,1563,1615,1688,1366,1418,1493,42,1492,1417,1422,1,1688,1615,1620,1493,1418,1423,42,1492,1422,1432,1,1688,1620,1630,1493,1423,1433,42,1432,1422,1423,1,1630,1620,1621,1433,1423,1424,42,1430,1432,1423,1,1628,1630,1621,1431,1433,1424,42,1432,1493,1492,1,1630,1689,1688,1433,1494,1493,42,1433,1493,1432,1,1631,1689,1630,1434,1494,1433,42,1433,1494,1493,1,1631,1690,1689,1434,1495,1494,42,1433,1435,1494,1,1633,1635,1665,1434,1436,1495,42,1435,1490,1494,1,1635,1661,1665,1436,1491,1495,42,1435,1489,1490,1,1635,1662,1661,1436,1490,1491,42,1485,1489,1435,1,1664,1662,1635,1486,1490,1436,42,1485,1488,1489,1,1664,1663,1662,1486,1489,1490,42,1494,1490,1493,1,1690,1687,1689,1495,1491,1494,42,1490,1491,1493,1,1687,1686,1689,1491,1492,1494,42,1491,1492,1493,1,1686,1688,1689,1492,1493,1494,42,1383,1384,1411,1,1581,1582,1609,1384,1385,1412,42,1411,1384,1385,1,1609,1582,1583,1412,1385,1386,42,1411,1385,1408,1,1609,1583,1606,1412,1386,1409,42,1408,1385,1495,1,1606,1583,1691,1409,1386,1496,42,1495,1385,1386,1,1691,1583,1584,1496,1386,1387,42,1495,1386,1401,1,1691,1584,1599,1496,1387,1402,42,1401,1386,1387,1,1599,1584,1585,1402,1387,1388,42,1401,1387,1398,1,1599,1585,1596,1402,1388,1399,42,1398,1387,1391,1,1596,1585,1589,1399,1388,1392,42,1387,1388,1391,1,1585,1586,1589,1388,1389,1392,42,1398,1391,1393,1,1596,1589,1591,1399,1392,1394,42,1394,1398,1393,1,1592,1596,1591,1395,1399,1394,42,1398,1399,1401,1,1596,1597,1599,1399,1400,1402,42,1406,1495,1401,1,1604,1691,1599,1407,1496,1402,42,1406,1408,1495,1,1604,1606,1691,1407,1409,1496,42,1406,1401,1402,1,1604,1599,1600,1407,1402,1403,42,1396,1400,1397,1,1594,1598,1595,1397,1401,1398,42,1368,1369,1367,1,1566,1567,1565,1369,1370,1368,42,1338,1298,1299,1,1529,1489,1490,1339,1299,1300,42,1251,1252,1260,1,1442,1443,1451,1252,1253,1261,42,1199,1200,1239,1,1390,1391,1430,1200,1201,1240,42,1239,1200,1496,1,1430,1391,1692,1240,1201,1497,42,1201,1496,1200,1,1392,1692,1391,1202,1497,1201,42,1201,1497,1496,1,1392,1693,1692,1202,1498,1497,42,1498,1497,1201,1,1694,1693,1392,1499,1498,1202,42,1499,1497,1498,1,1695,1693,1694,1500,1498,1499,42,1500,1497,1499,1,1696,1693,1695,1501,1498,1500,42,1501,1497,1500,1,1697,1693,1696,1502,1498,1501,42,1496,1497,1501,1,1692,1693,1697,1497,1498,1502,42,1238,1496,1501,1,1429,1692,1697,1239,1497,1502,42,1239,1496,1238,1,1430,1692,1429,1240,1497,1239,42,1238,1501,1502,1,1429,1697,1698,1239,1502,1503,42,1502,1501,1500,1,1698,1697,1696,1503,1502,1501,42,1502,1500,1503,1,1698,1696,1699,1503,1501,1504,42,1503,1500,1504,1,1699,1696,1700,1504,1501,1505,42,1504,1500,1499,1,1700,1696,1695,1505,1501,1500,42,1504,1499,1207,1,1700,1695,1398,1505,1500,1208,42,1207,1499,1498,1,1398,1695,1694,1208,1500,1499,42,1207,1498,1205,1,1398,1694,1396,1208,1499,1206,42,1205,1498,1202,1,1396,1694,1393,1206,1499,1203,42,1202,1498,1201,1,1393,1694,1392,1203,1499,1202,42,1205,1202,1203,1,1396,1393,1394,1206,1203,1204,42,1209,1504,1207,1,1400,1700,1398,1210,1505,1208,42,1209,1505,1504,1,1400,1701,1700,1210,1506,1505,42,1211,1505,1209,1,1402,1701,1400,1212,1506,1210,42,1211,1506,1505,1,1402,1702,1701,1212,1507,1506,42,1211,1507,1506,1,1402,1703,1702,1212,1508,1507,42,1213,1507,1211,1,1404,1703,1402,1214,1508,1212,42,1508,1507,1213,1,1704,1703,1404,1509,1508,1214,42,1508,1506,1507,1,1704,1702,1703,1509,1507,1508,42,1509,1506,1508,1,1705,1702,1704,1510,1507,1509,42,1503,1506,1509,1,1699,1702,1705,1504,1507,1510,42,1505,1506,1503,1,1701,1702,1699,1506,1507,1504,42,1505,1503,1504,1,1701,1699,1700,1506,1504,1505,42,1503,1509,1502,1,1699,1705,1698,1504,1510,1503,42,1510,1502,1509,1,1706,1698,1705,1511,1503,1510,42,1238,1502,1510,1,1429,1698,1706,1239,1503,1511,42,1236,1238,1510,1,1427,1429,1706,1237,1239,1511,42,1236,1510,1511,1,1427,1706,1707,1237,1511,1512,42,1510,1508,1511,1,1706,1704,1707,1511,1509,1512,42,1510,1509,1508,1,1706,1705,1704,1511,1510,1509,42,1511,1508,1512,1,1707,1704,1708,1512,1509,1513,42,1508,1213,1512,1,1704,1404,1708,1509,1214,1513,42,1213,1228,1512,1,1404,1419,1708,1214,1229,1513,42,1215,1228,1213,1,1406,1419,1404,1216,1229,1214,42,1215,1216,1228,1,1406,1407,1419,1216,1217,1229,42,1228,1513,1512,1,1419,1709,1708,1229,1514,1513,42,1228,1229,1513,1,1419,1420,1709,1229,1230,1514,42,1229,1514,1513,1,1420,1710,1709,1230,1515,1514,42,1229,1515,1514,1,1420,1711,1710,1230,1516,1515,42,1229,1233,1515,1,1420,1424,1711,1230,1234,1516,42,1229,1230,1233,1,1420,1421,1424,1230,1231,1234,42,1515,1233,1516,1,1711,1424,1712,1516,1234,1517,42,1233,1235,1516,1,1424,1426,1712,1234,1236,1517,42,1516,1235,1517,1,1712,1426,1713,1517,1236,1518,42,1236,1517,1235,1,1427,1713,1426,1237,1518,1236,42,1236,1511,1517,1,1427,1707,1713,1237,1512,1518,42,1514,1517,1511,1,1710,1713,1707,1515,1518,1512,42,1514,1516,1517,1,1710,1712,1713,1515,1517,1518,42,1515,1516,1514,1,1711,1712,1710,1516,1517,1515,42,1514,1511,1513,1,1710,1707,1709,1515,1512,1514,42,1513,1511,1512,1,1709,1707,1708,1514,1512,1513,42,1400,1401,1399,2,1714,1715,1716,1401,1402,1400,42,1518,1519,1520,0,1717,1718,1719,1519,1520,1521,42,1518,1521,1519,0,1717,1720,1718,1519,1522,1520,42,1521,1518,1522,0,1720,1717,1721,1522,1519,1523,42,1522,1523,1521,0,1721,1722,1720,1523,1524,1522,42,1522,1524,1523,0,1721,1723,1722,1523,1525,1524,42,1525,1524,1522,0,1724,1723,1721,1526,1525,1523,42,1526,1524,1525,0,1725,1723,1724,1527,1525,1526,42,1526,1527,1524,0,1725,1726,1723,1527,1528,1525,42,1528,1527,1526,0,1727,1726,1725,1529,1528,1527,42,1528,1529,1527,0,1727,1728,1726,1529,1530,1528,42,1530,1529,1528,0,1729,1728,1727,1531,1530,1529,42,1529,1530,1531,0,1728,1730,1731,1532,1532,1532,42,1530,1532,1531,0,1730,1732,1731,1533,1533,1533,42,1530,1533,1532,0,1730,1733,1732,1534,1534,1534,42,1533,1530,1534,0,1734,1729,1735,1535,1531,1536,42,1534,1530,1528,0,1735,1729,1727,1536,1531,1529,42,1534,1528,1535,0,1735,1727,1736,1536,1529,1537,42,1535,1528,1526,0,1736,1727,1725,1537,1529,1527,42,1535,1526,1536,0,1736,1725,1737,1537,1527,1538,42,1536,1526,1525,0,1737,1725,1724,1538,1527,1526,42,1525,1537,1536,0,1738,1739,1740,1539,1539,1539,42,1538,1537,1525,0,1741,1739,1738,1540,1540,1540,42,1539,1537,1538,0,1742,1739,1743,1541,1541,1541,42,1537,1539,1540,0,1739,1742,1744,1542,1542,1542,42,1540,1539,1541,0,1745,1746,1747,1543,1544,1545,42,1541,1539,1542,0,1747,1746,1748,1545,1544,1546,42,1539,1520,1542,0,1746,1719,1748,1544,1521,1546,42,1543,1520,1539,0,1749,1750,1751,1542,1542,1542,42,1518,1520,1543,0,1717,1719,1752,1519,1521,1547,42,1518,1543,1544,0,1717,1752,1753,1519,1547,1548,42,1544,1543,1545,0,1753,1752,1754,1548,1547,1549,42,1545,1543,1538,0,1755,1749,1741,1542,1542,1542,42,1538,1543,1539,0,1741,1749,1751,1542,1542,1542,42,1538,1522,1545,0,1756,1721,1754,1550,1523,1549,42,1525,1522,1538,0,1724,1721,1756,1526,1523,1550,42,1522,1544,1545,0,1721,1753,1754,1523,1548,1549,42,1522,1518,1544,0,1721,1717,1753,1523,1519,1548,42,1542,1520,1519,0,1748,1719,1718,1546,1521,1520,42,1521,1542,1519,0,1720,1748,1718,1522,1546,1520,42,1521,1523,1542,0,1720,1722,1748,1522,1524,1546,42,1523,1541,1542,0,1722,1747,1748,1524,1545,1546,42,1523,1546,1541,0,1722,1757,1747,1524,1551,1545,42,1524,1546,1523,0,1723,1757,1722,1525,1551,1524,42,1524,1527,1546,0,1723,1726,1757,1525,1528,1551,42,1527,1547,1546,0,1726,1758,1757,1528,1552,1551,42,1527,1529,1547,0,1726,1728,1758,1528,1530,1552,42,1529,1531,1547,0,1728,1731,1758,1530,1553,1552,42,1547,1531,1548,0,1758,1731,1759,1552,1553,1554,42,1531,1549,1548,0,1731,1760,1759,1553,1555,1554,42,1531,1532,1549,0,1731,1732,1760,1556,1556,1556,42,1532,1550,1549,0,1732,1761,1760,1557,1558,1555,42,1532,1551,1550,0,1762,1763,1764,1557,1559,1558,42,1532,1552,1551,0,1765,1766,1767,1557,1560,1559,42,1533,1552,1532,0,1734,1766,1765,1535,1560,1557,42,1552,1533,1534,0,1766,1734,1735,1560,1535,1536,42,1552,1534,1553,0,1766,1735,1768,1560,1536,1561,42,1553,1534,1535,0,1768,1735,1736,1561,1536,1537,42,1554,1553,1535,0,1769,1768,1736,1562,1561,1537,42,1553,1554,1555,0,1768,1769,1770,1561,1562,1563,42,1554,1556,1555,0,1771,1772,1773,1564,1564,1564,42,1557,1556,1554,0,1774,1775,1771,1564,1564,1564,42,1556,1557,1558,0,1775,1774,1776,1565,1565,1565,42,1557,1559,1558,0,1777,1778,1776,1564,1564,1564,42,1560,1559,1557,0,1779,1778,1777,1566,1566,1566,42,1560,1561,1559,0,1779,1780,1778,1567,1567,1567,42,1562,1561,1560,0,1781,1780,1779,1568,1568,1568,42,1562,1563,1561,0,1781,1782,1780,1569,1570,1571,42,1537,1563,1562,0,1739,1782,1781,1572,1570,1569,42,1537,1540,1563,0,1739,1744,1782,1573,1573,1573,42,1563,1540,1541,0,1783,1745,1747,1570,1543,1545,42,1563,1541,1564,0,1783,1747,1784,1570,1545,1574,42,1565,1564,1541,0,1785,1784,1747,1575,1574,1545,42,1561,1564,1565,0,1786,1784,1785,1571,1574,1575,42,1561,1563,1564,0,1786,1783,1784,1571,1570,1574,42,1561,1565,1566,0,1786,1785,1787,1571,1575,1576,42,1548,1566,1565,0,1759,1787,1785,1554,1576,1575,42,1567,1566,1548,0,1788,1787,1759,1577,1576,1554,42,1567,1568,1566,0,1788,1789,1787,1577,1578,1576,42,1569,1568,1567,0,1790,1789,1788,1579,1578,1577,42,1570,1568,1569,0,1791,1789,1790,1580,1578,1579,42,1570,1558,1568,0,1791,1792,1789,1580,1581,1578,42,1556,1558,1570,0,1772,1776,1793,1565,1565,1565,42,1556,1570,1571,0,1772,1793,1794,1565,1565,1565,42,1572,1571,1570,0,1795,1796,1791,1582,1583,1580,42,1573,1571,1572,0,1797,1798,1799,1584,1583,1582,42,1573,1555,1571,0,1797,1770,1798,1584,1563,1583,42,1553,1555,1573,0,1768,1770,1797,1561,1563,1584,42,1552,1553,1573,0,1766,1768,1797,1560,1561,1584,42,1552,1573,1551,0,1766,1797,1767,1560,1584,1559,42,1551,1573,1572,0,1767,1797,1799,1559,1584,1582,42,1551,1572,1574,0,1763,1795,1800,1559,1582,1585,42,1574,1572,1569,0,1800,1795,1790,1585,1582,1579,42,1572,1570,1569,0,1795,1791,1790,1582,1580,1579,42,1569,1567,1574,0,1790,1788,1800,1579,1577,1585,42,1574,1567,1549,0,1800,1788,1801,1585,1577,1555,42,1549,1567,1548,0,1801,1788,1759,1555,1577,1554,42,1574,1549,1550,0,1800,1801,1764,1585,1555,1558,42,1550,1551,1574,0,1764,1763,1800,1558,1559,1585,42,1555,1556,1571,0,1773,1772,1794,1564,1564,1564,42,1558,1561,1568,0,1792,1786,1789,1581,1571,1578,42,1558,1559,1561,0,1792,1802,1786,1586,1586,1586,42,1568,1561,1566,0,1789,1786,1787,1578,1571,1576,42,1547,1548,1565,0,1758,1759,1785,1552,1554,1575,42,1546,1547,1565,0,1757,1758,1785,1551,1552,1575,42,1546,1565,1541,0,1757,1785,1747,1551,1575,1545,42,1536,1537,1562,0,1740,1739,1781,1538,1572,1569,42,1536,1562,1535,0,1740,1781,1803,1538,1569,1537,42,1535,1562,1560,0,1803,1781,1779,1568,1568,1568,42,1535,1560,1557,0,1803,1779,1777,1566,1566,1566,42,1535,1557,1575,0,1803,1777,1804,1587,1587,1587,42,1575,1557,1554,0,1804,1777,1771,1564,1564,1564,42,1554,1535,1575,0,1769,1736,1805,1588,1588,1588,42,1576,1577,1578,0,1806,1807,1808,1589,1590,1591,42,1577,1576,1579,0,1807,1806,1809,1590,1589,1592,42,1580,1577,1579,0,1810,1807,1809,1593,1590,1592,42,1577,1580,1581,0,1811,1812,1813,1594,1594,1594,42,1581,1580,1582,0,1814,1810,1815,1595,1593,1596,42,1582,1580,1579,0,1815,1810,1809,1596,1593,1592,42,1576,1582,1579,0,1806,1815,1809,1589,1596,1592,42,1582,1576,1583,0,1815,1806,1816,1596,1589,1597,42,1584,1582,1583,0,1817,1815,1816,1598,1596,1597,42,1584,1585,1582,0,1817,1818,1815,1598,1599,1596,42,1586,1585,1584,0,1819,1818,1817,1600,1599,1598,42,1586,1587,1585,0,1819,1820,1818,1600,1601,1599,42,1588,1587,1586,0,1821,1820,1819,1602,1601,1600,42,1588,1589,1587,0,1821,1822,1820,1602,1603,1601,42,1590,1589,1588,0,1823,1822,1821,1604,1603,1602,42,1590,1591,1589,0,1823,1824,1822,1605,1605,1605,42,1592,1591,1590,0,1825,1824,1823,1605,1605,1605,42,1592,1593,1591,0,1825,1826,1824,1606,1606,1606,42,1593,1592,1594,0,1827,1828,1829,1607,1608,1609,42,1592,1595,1594,0,1828,1830,1829,1608,1610,1609,42,1592,1596,1595,0,1831,1832,1833,1608,1611,1610,42,1596,1592,1597,0,1834,1825,1835,1611,1608,1612,42,1597,1592,1590,0,1835,1825,1823,1605,1605,1605,42,1597,1590,1598,0,1835,1823,1836,1612,1604,1613,42,1598,1590,1588,0,1836,1823,1821,1613,1604,1602,42,1598,1588,1599,0,1836,1821,1837,1613,1602,1614,42,1599,1588,1586,0,1837,1821,1819,1614,1602,1600,42,1599,1586,1600,0,1837,1819,1838,1614,1600,1615,42,1600,1586,1584,0,1838,1819,1817,1615,1600,1598,42,1600,1584,1601,0,1838,1817,1839,1615,1598,1616,42,1601,1584,1583,0,1839,1817,1816,1616,1598,1597,42,1601,1583,1602,0,1839,1816,1840,1616,1597,1617,42,1583,1576,1602,0,1816,1806,1840,1597,1589,1617,42,1576,1578,1602,0,1806,1808,1840,1589,1591,1617,42,1601,1602,1578,0,1839,1840,1808,1616,1617,1591,42,1603,1601,1578,0,1841,1839,1808,1618,1616,1591,42,1600,1601,1603,0,1838,1839,1841,1615,1616,1618,42,1604,1600,1603,0,1842,1838,1841,1619,1615,1618,42,1605,1600,1604,0,1843,1838,1842,1620,1615,1619,42,1605,1606,1600,0,1843,1844,1838,1620,1621,1615,42,1607,1606,1605,0,1845,1844,1843,1622,1621,1620,42,1607,1599,1606,0,1845,1837,1844,1622,1614,1621,42,1607,1608,1599,0,1845,1846,1837,1622,1623,1614,42,1609,1608,1607,0,1847,1846,1845,1624,1623,1622,42,1610,1608,1609,0,1848,1846,1847,1625,1623,1624,42,1610,1598,1608,0,1848,1836,1846,1625,1613,1623,42,1597,1598,1610,0,1849,1836,1848,1612,1613,1625,42,1611,1597,1610,0,1850,1849,1848,1626,1612,1625,42,1596,1597,1611,0,1832,1849,1850,1611,1612,1626,42,1596,1611,1595,0,1832,1850,1833,1611,1626,1610,42,1595,1611,1612,0,1833,1850,1851,1610,1626,1627,42,1611,1613,1612,0,1850,1852,1851,1626,1628,1627,42,1613,1611,1610,0,1852,1850,1848,1628,1626,1625,42,1613,1610,1609,0,1852,1848,1847,1628,1625,1624,42,1614,1613,1609,0,1853,1852,1847,1629,1628,1624,42,1612,1613,1614,0,1851,1852,1853,1627,1628,1629,42,1612,1614,1615,0,1851,1853,1854,1627,1629,1630,42,1614,1616,1615,0,1855,1856,1857,1631,1631,1631,42,1614,1617,1616,0,1855,1858,1856,1632,1632,1632,42,1614,1609,1617,0,1853,1847,1859,1629,1624,1633,42,1617,1609,1607,0,1859,1847,1845,1633,1624,1622,42,1617,1607,1618,0,1859,1845,1860,1634,1634,1634,42,1619,1618,1607,0,1861,1862,1863,1635,1635,1635,42,1619,1620,1618,0,1861,1864,1862,1636,1636,1636,42,1621,1620,1619,0,1865,1864,1861,1636,1636,1636,42,1621,1622,1620,0,1865,1866,1864,1636,1636,1636,42,1621,1623,1622,0,1867,1868,1869,1637,1637,1637,42,1624,1623,1621,0,1870,1868,1867,1638,1639,1640,42,1624,1625,1623,0,1870,1871,1868,1638,1641,1639,42,1626,1625,1624,0,1872,1871,1870,1642,1641,1638,42,1626,1615,1625,0,1872,1873,1871,1642,1630,1641,42,1626,1612,1615,0,1872,1874,1873,1642,1627,1630,42,1595,1612,1626,0,1830,1874,1872,1610,1627,1642,42,1594,1595,1626,0,1829,1830,1872,1609,1610,1642,42,1594,1626,1624,0,1829,1872,1870,1609,1642,1638,42,1594,1624,1627,0,1829,1870,1875,1609,1638,1643,42,1624,1621,1627,0,1870,1867,1875,1638,1640,1643,42,1627,1621,1628,0,1875,1867,1876,1643,1640,1644,42,1621,1629,1628,0,1867,1877,1876,1640,1645,1644,42,1621,1630,1629,0,1867,1878,1877,1640,1646,1645,42,1631,1630,1621,0,1879,1880,1865,1647,1646,1640,42,1631,1632,1630,0,1879,1881,1880,1647,1648,1646,42,1605,1632,1631,0,1882,1881,1879,1620,1648,1647,42,1605,1604,1632,0,1882,1883,1881,1649,1649,1649,42,1603,1632,1604,0,1884,1881,1883,1594,1594,1594,42,1632,1603,1633,0,1881,1884,1885,1650,1650,1650,42,1603,1577,1633,0,1884,1811,1885,1650,1650,1650,42,1603,1578,1577,0,1884,1886,1811,1650,1650,1650,42,1633,1577,1581,0,1885,1811,1813,1594,1594,1594,42,1632,1633,1581,0,1881,1885,1813,1594,1594,1594,42,1632,1581,1634,0,1881,1813,1887,1594,1594,1594,42,1634,1581,1582,0,1888,1814,1815,1651,1595,1596,42,1634,1582,1585,0,1888,1815,1818,1651,1596,1599,42,1629,1634,1585,0,1877,1888,1818,1645,1651,1599,42,1630,1634,1629,0,1878,1888,1877,1646,1651,1645,42,1632,1634,1630,0,1881,1887,1880,1652,1652,1652,42,1629,1585,1587,0,1877,1818,1820,1645,1599,1601,42,1628,1629,1587,0,1876,1877,1820,1644,1645,1601,42,1628,1587,1589,0,1876,1820,1822,1644,1601,1603,42,1591,1628,1589,0,1889,1876,1822,1653,1644,1603,42,1627,1628,1591,0,1875,1876,1889,1643,1644,1653,42,1591,1593,1627,0,1889,1827,1875,1653,1607,1643,42,1593,1594,1627,0,1827,1829,1875,1607,1609,1643,42,1607,1605,1631,0,1863,1882,1879,1622,1620,1647,42,1607,1631,1619,0,1863,1879,1861,1654,1654,1654,42,1619,1631,1621,0,1861,1879,1865,1655,1655,1655,42,1615,1616,1625,0,1857,1856,1890,1631,1631,1631,42,1616,1623,1625,0,1856,1891,1890,1631,1631,1631,42,1616,1620,1623,0,1892,1893,1891,1631,1631,1631,42,1620,1616,1617,0,1893,1892,1858,1631,1631,1631,42,1617,1618,1620,0,1858,1862,1864,1631,1631,1631,42,1620,1622,1623,0,1864,1866,1891,1631,1631,1631,42,1598,1599,1608,0,1836,1837,1846,1613,1614,1623,42,1599,1600,1606,0,1837,1838,1844,1614,1615,1621,42,1635,1636,1637,3,1894,1895,1896,1656,1657,1658,42,1636,1635,1638,3,1895,1894,1897,1657,1656,1659,42,1638,1639,1636,3,1897,1898,1895,1659,1660,1657,42,1639,1638,1640,3,1899,1900,1901,1660,1659,1661,42,1640,1638,1641,3,1901,1900,1902,1661,1659,1662,42,1638,1635,1641,3,1897,1894,1903,1659,1656,1662,42,1635,1642,1641,3,1894,1904,1903,1656,1663,1662,42,1642,1635,1643,3,1904,1894,1905,1663,1656,1664,42,1635,1637,1643,3,1894,1896,1905,1656,1658,1664,42,1643,1637,1644,3,1906,1907,1908,1664,1658,1665,42,1644,1637,1645,3,1908,1909,1910,1665,1658,1666,42,1637,1646,1645,3,1909,1911,1910,1658,1667,1666,42,1637,1647,1646,3,1909,1912,1911,1658,1668,1667,42,1637,1636,1647,3,1909,1913,1912,1658,1657,1668,42,1646,1647,1648,3,1914,1915,1916,1667,1668,1669,42,1648,1647,1649,3,1916,1915,1917,1669,1668,1670,42,1648,1649,1650,3,1916,1917,1918,1669,1670,1671,42,1649,1651,1650,3,1919,1920,1921,1670,1672,1671,42,1650,1651,1652,3,1921,1920,1922,1671,1672,1673,42,1650,1652,1653,3,1921,1922,1923,1671,1673,1674,42,1652,1654,1653,3,1924,1925,1926,1673,1675,1674,42,1653,1654,1655,3,1926,1925,1927,1674,1675,1676,42,1653,1655,1656,3,1926,1927,1928,1674,1676,1677,42,1656,1655,1657,3,1928,1927,1929,1677,1676,1678,42,1656,1657,1658,3,1928,1929,1930,1677,1678,1679,42,1658,1657,1659,3,1930,1929,1931,1679,1678,1680,42,1657,1660,1659,3,1929,1932,1931,1678,1681,1680,42,1659,1660,1661,3,1931,1932,1933,1680,1681,1682,42,1662,1653,1656,3,1934,1923,1935,1683,1674,1677,42,1662,1650,1653,3,1934,1921,1923,1683,1671,1674,42,1663,1650,1662,3,1936,1918,1937,1684,1671,1683,42,1648,1650,1663,3,1916,1918,1936,1669,1671,1684,42,1645,1648,1663,3,1938,1916,1936,1666,1669,1684,42,1645,1646,1648,3,1938,1914,1916,1666,1667,1669,42,1664,1645,1663,3,1939,1938,1936,1685,1666,1684,42,1664,1663,1665,3,1939,1936,1940,1685,1684,1686,42,1666,1664,1665,3,1941,1939,1940,1687,1685,1686,42,1667,1666,1665,3,1942,1941,1940,1688,1687,1686,42,1668,1666,1667,3,1943,1941,1942,1689,1687,1688,42,1663,1662,1669,3,1936,1937,1944,1684,1683,1690,42,1670,1663,1669,3,1940,1936,1944,1691,1684,1690,42,1671,1670,1669,3,1945,1940,1944,1692,1691,1690,42,1670,1671,1672,3,1940,1945,1942,1691,1692,1693,42,1673,1672,1671,3,1946,1942,1945,1694,1693,1692,42,1662,1656,1674,3,1934,1935,1947,1683,1677,1695,42,1675,1662,1674,3,1948,1934,1947,1696,1683,1695,42,1675,1674,1676,3,1948,1947,1949,1696,1695,1697,42,1675,1676,1677,3,1948,1949,1950,1696,1697,1698,42,1678,1677,1676,3,1951,1950,1949,1699,1698,1697,42,1644,1645,1679,3,1908,1910,1952,1665,1666,1700,42,1680,1644,1679,3,1953,1908,1952,1701,1665,1700,42,1681,1644,1680,3,1954,1908,1953,1702,1665,1701,42,1681,1643,1644,3,1954,1906,1908,1702,1664,1665,42,1642,1643,1681,3,1904,1905,1955,1663,1664,1702,42,1682,1642,1681,3,1956,1904,1955,1703,1663,1702,42,1642,1682,1641,3,1904,1956,1903,1663,1703,1662,42,1641,1682,1683,3,1903,1956,1957,1662,1703,1704,42,1682,1684,1683,3,1956,1958,1957,1703,1705,1704,42,1682,1685,1684,3,1956,1959,1958,1703,1706,1705,42,1685,1682,1686,3,1959,1956,1960,1707,1707,1707,42,1686,1682,1681,3,1960,1956,1955,1708,1703,1702,42,1687,1685,1686,3,1961,1959,1960,1709,1709,1709,42,1687,1684,1685,3,1961,1958,1959,1710,1705,1706,42,1688,1681,1680,3,1962,1954,1953,1711,1702,1701,42,1689,1688,1680,3,1963,1962,1953,1712,1711,1701,42,1690,1688,1689,3,1964,1962,1963,1713,1711,1712,42,1690,1689,1691,3,1964,1963,1965,1713,1712,1714,42,1689,1680,1691,3,1963,1953,1965,1712,1701,1714,42,1691,1680,1679,3,1965,1953,1952,1714,1701,1700,42,1640,1641,1692,3,1901,1902,1966,1661,1662,1715,42,1692,1641,1693,3,1966,1902,1967,1715,1662,1716,42,1692,1693,1694,3,1966,1967,1968,1715,1716,1717,42,1694,1693,1695,3,1968,1967,1969,1717,1716,1718,42,1694,1695,1696,3,1968,1969,1970,1717,1718,1719,42,1695,1697,1696,3,1969,1971,1970,1718,1720,1719,42,1692,1694,1698,3,1972,1973,1974,1715,1717,1721,42,1698,1694,1699,3,1974,1973,1975,1721,1717,1722,42,1700,1698,1699,3,1976,1974,1975,1723,1721,1722,42,1698,1700,1701,3,1974,1976,1977,1721,1723,1724,42,1700,1702,1701,3,1976,1978,1977,1723,1725,1724,42,1702,1700,1699,3,1978,1976,1975,1725,1723,1722,42,1698,1701,1703,3,1974,1977,1979,1721,1724,1726,42,1704,1698,1703,3,1980,1974,1979,1727,1721,1726,42,1704,1692,1698,3,1980,1972,1974,1727,1715,1721,42,1705,1692,1704,3,1981,1972,1980,1728,1715,1727,42,1705,1640,1692,3,1981,1982,1972,1728,1661,1715,42,1706,1640,1705,3,1983,1982,1981,1729,1661,1728,42,1639,1640,1706,3,1984,1982,1983,1660,1661,1729,42,1706,1705,1707,3,1983,1981,1985,1729,1728,1730,42,1705,1708,1707,3,1981,1986,1985,1728,1731,1730,42,1705,1704,1708,3,1981,1980,1986,1728,1727,1731,42,1704,1703,1708,3,1980,1979,1986,1727,1726,1731,42,1708,1703,1709,3,1987,1988,1989,1731,1726,1732,42,1709,1703,1710,3,1989,1988,1990,1732,1726,1733,42,1710,1703,1711,3,1990,1988,1991,1733,1726,1734,42,1710,1711,1712,3,1990,1991,1992,1733,1734,1735,42,1712,1711,1713,3,1992,1991,1993,1735,1734,1736,42,1712,1713,1714,3,1992,1993,1994,1735,1736,1737,42,1710,1712,1714,3,1990,1992,1994,1733,1735,1737,42,1710,1714,1715,3,1990,1994,1995,1733,1737,1738,42,1716,1710,1715,3,1996,1990,1995,1739,1733,1738,42,1709,1710,1716,3,1989,1990,1996,1732,1733,1739,42,1717,1709,1716,3,1997,1989,1996,1740,1732,1739,42,1717,1708,1709,3,1997,1987,1989,1740,1731,1732,42,1707,1708,1717,3,1998,1987,1997,1730,1731,1740,42,1718,1707,1717,3,1999,1998,1997,1741,1730,1740,42,1706,1707,1718,3,2000,1998,1999,1729,1730,1741,42,1718,1717,1719,3,1999,1997,2001,1741,1740,1742,42,1717,1716,1719,3,1997,1996,2001,1740,1739,1742,42,1719,1716,1720,3,2002,2003,2004,1742,1739,1743,42,1720,1716,1715,3,2004,2003,2005,1743,1739,1738,42,1720,1715,1721,3,2004,2005,2006,1743,1738,1744,42,1715,1722,1721,3,2005,2007,2006,1738,1745,1744,42,1715,1723,1722,3,2005,2008,2007,1738,1746,1745,42,1723,1724,1722,3,2008,2009,2007,1746,1747,1745,42,1725,1719,1720,3,2010,2002,2004,1748,1742,1743,42,1726,1719,1725,3,2011,2002,2010,1749,1742,1748,42,1718,1719,1726,3,2012,2002,2011,1741,1742,1749,42,1727,1726,1725,3,2013,2011,2010,1750,1749,1748,42,1725,1728,1727,3,2010,2014,2013,1748,1751,1750,42,1725,1729,1728,3,2010,2015,2014,1748,1752,1751,42,1725,1730,1729,3,2010,2016,2015,1748,1753,1752,42,1725,1720,1730,3,2010,2004,2016,1748,1743,1753,42,1720,1731,1730,3,2004,2017,2016,1743,1754,1753,42,1720,1732,1731,3,2004,2018,2017,1743,1755,1754,42,1732,1733,1731,3,2018,2019,2017,1755,1756,1754,42,1732,1734,1733,3,2018,2020,2019,1755,1757,1756,42,1735,1733,1734,3,2021,2019,2020,1758,1756,1757,42,1735,1736,1733,3,2021,2022,2019,1758,1759,1756,42,1733,1736,1731,3,2019,2022,2017,1756,1759,1754,42,1737,1731,1736,3,2023,2017,2022,1760,1754,1759,42,1731,1737,1730,3,2017,2023,2016,1754,1760,1753,42,1737,1738,1730,3,2023,2024,2016,1760,1761,1753,42,1730,1738,1729,3,2016,2024,2015,1753,1761,1752,42,1729,1738,1739,3,2015,2024,2025,1752,1761,1762,42,1729,1739,1728,3,2015,2025,2026,1752,1762,1751,42,1740,1741,1742,3,2027,2028,2029,1763,1764,1765,42,1741,1740,1743,3,2028,2027,2030,1764,1763,1766,42,1743,1744,1741,3,2030,2031,2028,1766,1767,1764,42,1744,1743,1745,3,2032,2033,2034,1767,1766,1768,42,1745,1743,1746,3,2034,2033,2035,1768,1766,1769,42,1743,1740,1746,3,2030,2027,2036,1766,1763,1769,42,1740,1747,1746,3,2027,2037,2036,1763,1770,1769,42,1747,1740,1748,3,2037,2027,2038,1770,1763,1771,42,1740,1742,1748,3,2027,2029,2038,1763,1765,1771,42,1748,1742,1749,3,2039,2040,2041,1771,1765,1772,42,1749,1742,1750,3,2041,2042,2043,1772,1765,1773,42,1742,1751,1750,3,2042,2044,2043,1765,1774,1773,42,1742,1741,1751,3,2042,2045,2044,1765,1764,1774,42,1741,1752,1751,3,2045,2046,2044,1764,1775,1774,42,1751,1752,1753,3,2047,2048,2049,1774,1775,1776,42,1752,1754,1753,3,2048,2050,2049,1775,1777,1776,42,1753,1754,1755,3,2049,2050,2051,1776,1777,1778,42,1755,1754,1756,3,2052,2053,2054,1778,1777,1779,42,1754,1757,1756,3,2053,2055,2054,1777,1780,1779,42,1757,1758,1756,3,2056,2057,2058,1780,1781,1779,42,1758,1759,1756,3,2057,2059,2058,1781,1782,1779,42,1756,1759,1760,3,2058,2059,2060,1779,1782,1783,42,1759,1761,1760,3,2059,2061,2060,1782,1784,1783,42,1760,1761,1762,3,2060,2061,2062,1783,1784,1785,42,1761,1763,1762,3,2061,2063,2062,1784,1786,1785,42,1761,1764,1763,3,2061,2064,2063,1784,1787,1786,42,1763,1764,1765,3,2063,2064,2065,1786,1787,1788,42,1755,1756,1760,3,2052,2054,2066,1778,1779,1783,42,1755,1760,1766,3,2052,2066,2067,1778,1783,1789,42,1766,1760,1767,3,2067,2066,2068,1789,1783,1790,42,1768,1766,1767,3,2069,2067,2068,1791,1789,1790,42,1768,1767,1769,3,2069,2068,2070,1791,1790,1792,42,1768,1769,1770,3,2069,2070,2071,1791,1792,1793,42,1771,1770,1769,3,2072,2071,2070,1794,1793,1792,42,1772,1755,1766,3,2073,2051,2074,1795,1778,1789,42,1772,1753,1755,3,2073,2049,2051,1795,1776,1778,42,1750,1753,1772,3,2075,2049,2073,1773,1776,1795,42,1750,1751,1753,3,2075,2047,2049,1773,1774,1776,42,1773,1750,1772,3,2076,2075,2073,1796,1773,1795,42,1774,1773,1772,3,2077,2076,2073,1797,1796,1795,42,1773,1774,1775,3,2076,2077,2078,1796,1797,1798,42,1775,1774,1776,3,2078,2077,2079,1798,1797,1799,42,1775,1776,1777,3,2078,2079,2080,1798,1799,1800,42,1772,1766,1778,3,2073,2074,2081,1795,1789,1801,42,1779,1772,1778,3,2082,2073,2081,1802,1795,1801,42,1779,1778,1780,3,2082,2081,2083,1802,1801,1803,42,1779,1780,1781,3,2082,2083,2084,1802,1803,1804,42,1781,1780,1782,3,2084,2083,2085,1804,1803,1805,42,1749,1750,1783,3,2041,2043,2086,1772,1773,1806,42,1784,1749,1783,3,2087,2041,2086,1807,1772,1806,42,1784,1785,1749,3,2087,2088,2041,1807,1808,1772,42,1784,1786,1785,3,2087,2089,2088,1807,1809,1808,42,1786,1784,1787,3,2089,2087,2090,1809,1807,1810,42,1784,1788,1787,3,2087,2091,2090,1807,1811,1810,42,1784,1783,1788,3,2087,2086,2091,1807,1806,1811,42,1787,1788,1789,3,2090,2091,2092,1810,1811,1812,42,1786,1787,1789,3,2089,2090,2092,1809,1810,1812,42,1749,1785,1748,3,2041,2088,2039,1772,1808,1771,42,1747,1748,1785,3,2037,2038,2093,1770,1771,1808,42,1790,1747,1785,3,2094,2037,2093,1813,1770,1808,42,1747,1790,1746,3,2037,2094,2036,1770,1813,1769,42,1746,1790,1791,3,2036,2094,2095,1769,1813,1814,42,1790,1792,1791,3,2094,2096,2095,1813,1815,1814,42,1790,1793,1792,3,2094,2097,2096,1813,1816,1815,42,1793,1790,1794,3,2097,2094,2098,1816,1813,1817,42,1790,1785,1794,3,2094,2093,2098,1813,1808,1817,42,1795,1793,1794,3,2099,2097,2098,1818,1816,1817,42,1792,1793,1795,3,2096,2097,2099,1815,1816,1818,42,1745,1746,1796,3,2034,2035,2100,1768,1769,1819,42,1746,1797,1796,3,2035,2101,2100,1769,1820,1819,42,1797,1798,1796,3,2101,2102,2100,1820,1821,1819,42,1798,1797,1799,3,2102,2101,2103,1821,1820,1822,42,1798,1799,1800,3,2102,2103,2104,1821,1822,1823,42,1800,1799,1801,3,2104,2103,2105,1823,1822,1824,42,1796,1798,1802,3,2106,2107,2108,1819,1821,1825,42,1802,1798,1803,3,2108,2107,2109,1825,1821,1826,42,1802,1803,1804,3,2108,2109,2110,1825,1826,1827,42,1804,1803,1805,3,2110,2109,2111,1827,1826,1828,42,1806,1804,1805,3,2112,2110,2111,1829,1827,1828,42,1802,1804,1806,3,2108,2110,2112,1825,1827,1829,42,1807,1802,1806,3,2113,2108,2112,1830,1825,1829,42,1808,1802,1807,3,2114,2108,2113,1831,1825,1830,42,1808,1796,1802,3,2114,2106,2108,1831,1819,1825,42,1809,1796,1808,3,2115,2106,2114,1832,1819,1831,42,1809,1745,1796,3,2115,2116,2106,1832,1768,1819,42,1810,1745,1809,3,2117,2116,2115,1833,1768,1832,42,1744,1745,1810,3,2118,2116,2117,1767,1768,1833,42,1810,1809,1811,3,2117,2115,2119,1833,1832,1834,42,1811,1809,1812,3,2119,2115,2120,1834,1832,1835,42,1809,1808,1812,3,2115,2114,2120,1832,1831,1835,42,1812,1808,1807,3,2120,2114,2113,1835,1831,1830,42,1813,1812,1807,3,2121,2122,2123,1836,1835,1830,42,1814,1812,1813,3,2124,2122,2121,1837,1835,1836,42,1814,1811,1812,3,2124,2125,2122,1837,1834,1835,42,1815,1811,1814,3,2126,2125,2124,1838,1834,1837,42,1810,1811,1815,3,2127,2125,2126,1833,1834,1838,42,1815,1814,1816,3,2126,2124,2128,1838,1837,1839,42,1816,1814,1817,3,2128,2124,2129,1839,1837,1840,42,1813,1817,1814,3,2121,2129,2124,1836,1840,1837,42,1813,1818,1817,3,2121,2130,2129,1836,1841,1840,42,1813,1807,1818,3,2121,2123,2130,1836,1830,1841,42,1818,1807,1819,3,2130,2123,2131,1841,1830,1842,42,1818,1819,1820,3,2130,2131,2132,1841,1842,1843,42,1820,1819,1821,3,2132,2131,2133,1843,1842,1844,42,1822,1820,1821,3,2134,2132,2133,1845,1843,1844,42,1818,1820,1822,3,2130,2132,2134,1841,1843,1845,42,1823,1818,1822,3,2135,2130,2134,1846,1841,1845,42,1817,1818,1823,3,2129,2130,2135,1840,1841,1846,42,1817,1823,1824,3,2136,2137,2138,1840,1846,1847,42,1824,1823,1825,3,2138,2137,2139,1847,1846,1848,42,1825,1823,1826,3,2139,2137,2140,1848,1846,1849,42,1823,1827,1826,3,2137,2141,2140,1846,1850,1849,42,1826,1827,1828,3,2140,2141,2142,1849,1850,1851,42,1816,1817,1824,3,2143,2136,2138,1839,1840,1847,42,1829,1816,1824,3,2144,2143,2138,1852,1839,1847,42,1815,1816,1829,3,2145,2143,2144,1838,1839,1852,42,1830,1815,1829,3,2146,2145,2144,1853,1838,1852,42,1829,1831,1830,3,2144,2147,2146,1852,1854,1853,42,1831,1829,1832,3,2147,2144,2148,1854,1852,1855,42,1832,1829,1833,3,2148,2144,2149,1855,1852,1856,42,1829,1824,1833,3,2144,2138,2149,1852,1847,1856,42,1824,1834,1833,3,2138,2150,2149,1847,1857,1856,42,1824,1835,1834,3,2138,2151,2150,1847,1858,1857,42,1834,1835,1836,3,2150,2151,2152,1857,1858,1859,42,1835,1837,1836,3,2151,2153,2152,1858,1860,1859,42,1836,1837,1838,3,2152,2153,2154,1859,1860,1861,42,1838,1839,1836,3,2154,2155,2152,1861,1862,1859,42,1836,1839,1834,3,2152,2155,2150,1859,1862,1857,42,1839,1840,1834,3,2155,2156,2150,1862,1863,1857,42,1833,1834,1840,3,2149,2150,2156,1856,1857,1863,42,1833,1840,1841,3,2149,2156,2157,1856,1863,1864,42,1833,1841,1832,3,2149,2157,2148,1856,1864,1855,42,1832,1841,1842,3,2148,2157,2158,1855,1864,1865,42,1842,1841,1843,3,2159,2160,2161,1865,1864,1866,42,1843,1841,1844,3,2161,2160,2162,1866,1864,1867,42,1845,1843,1844,3,2163,2161,2162,1868,1866,1867,42,1845,1844,1846,3,2163,2162,2164,1868,1867,1869,42,1843,1847,1842,3,2165,2166,2167,1866,1870,1865,42,1843,1848,1847,3,2165,2168,2166,1866,1871,1870,42,1843,1849,1848,3,2165,2169,2168,1866,1872,1871,42,1849,1850,1848,3,2169,2170,2168,1872,1873,1871,42,1832,1842,1831,3,2148,2158,2171,1855,1865,1854,42,1851,1852,1853,3,2172,2173,2174,1874,1875,1876,42,1851,1854,1852,3,2175,2176,2177,1874,1877,1875,42,1854,1851,1855,3,2176,2175,2178,1877,1874,1878,42,1855,1856,1854,3,2179,2180,2181,1878,1879,1877,42,1857,1856,1855,3,2182,2180,2179,1880,1879,1878,42,1857,1858,1856,3,2183,2184,2185,1880,1881,1879,42,1856,1858,1859,3,2185,2184,2186,1879,1881,1882,42,1859,1858,1860,3,2187,2180,2181,1882,1881,1883,42,1858,1861,1860,3,2180,2179,2181,1881,1884,1883,42,1858,1862,1861,3,2180,2182,2179,1881,1885,1884,42,1860,1861,1863,3,2176,2178,2175,1883,1884,1886,42,1860,1863,1864,3,2176,2175,2177,1883,1886,1887,42,1864,1863,1865,3,2173,2172,2174,1887,1886,1888,42,1863,1866,1865,3,2172,2188,2174,1886,1889,1888,42,1865,1866,1867,3,2174,2188,2189,1888,1889,1890,42,1865,1867,1868,3,2174,2189,2190,1888,1890,1891,42,1867,1869,1868,3,2191,2192,2190,1890,1892,1891,42,1868,1869,1870,3,2190,2192,2193,1891,1892,1893,42,1868,1870,1871,3,2190,2193,2194,1891,1893,1894,42,1871,1870,1872,3,2194,2193,2195,1894,1893,1895,42,1870,1873,1872,3,2193,2196,2195,1893,1896,1895,42,1872,1873,1874,3,2195,2196,2197,1895,1896,1897,42,1874,1875,1872,3,2197,2198,2195,1897,1898,1895,42,1875,1876,1872,3,2198,2199,2195,1898,1899,1895,42,1876,1871,1872,3,2199,2194,2195,1899,1894,1895,42,1876,1865,1871,3,2199,2174,2194,1899,1888,1894,42,1864,1865,1876,3,2173,2174,2199,1887,1888,1899,42,1877,1864,1876,3,2200,2173,2199,1900,1887,1899,42,1878,1864,1877,3,2201,2177,2202,1901,1887,1900,42,1879,1864,1878,3,2203,2177,2201,1902,1887,1901,42,1879,1860,1864,3,2203,2176,2177,1902,1883,1887,42,1880,1860,1879,3,2204,2181,2205,1903,1883,1902,42,1860,1880,1859,3,2181,2204,2187,1883,1903,1882,42,1859,1880,1881,3,2187,2204,2206,1882,1903,1904,42,1881,1880,1882,3,2206,2204,2207,1904,1903,1905,42,1880,1879,1882,3,2204,2205,2207,1903,1902,1905,42,1882,1879,1878,3,2208,2203,2201,1905,1902,1901,42,1882,1878,1883,3,2208,2201,2209,1905,1901,1906,42,1883,1878,1877,3,2209,2201,2202,1906,1901,1900,42,1883,1877,1884,3,2209,2202,2210,1906,1900,1907,42,1884,1877,1876,3,2211,2200,2199,1907,1900,1899,42,1884,1876,1885,3,2211,2199,2212,1907,1899,1908,42,1886,1884,1885,3,2213,2211,2212,1909,1907,1908,42,1883,1884,1887,3,2209,2210,2214,1906,1907,1910,42,1888,1883,1887,3,2215,2209,2214,1911,1906,1910,42,1889,1883,1888,3,2216,2209,2215,1912,1906,1911,42,1889,1882,1883,3,2216,2208,2209,1912,1905,1906,42,1890,1889,1888,3,2217,2216,2215,1913,1912,1911,42,1890,1888,1887,3,2217,2215,2214,1913,1911,1910,42,1881,1882,1891,3,2206,2207,2218,1904,1905,1914,42,1892,1881,1891,3,2219,2206,2218,1915,1904,1914,42,1893,1881,1892,3,2220,2206,2219,1916,1904,1915,42,1881,1893,1894,3,2206,2220,2221,1904,1916,1917,42,1859,1881,1894,3,2187,2206,2221,1882,1904,1917,42,1859,1894,1895,3,2186,2222,2223,1882,1917,1918,42,1895,1894,1896,3,2223,2222,2224,1918,1917,1919,42,1894,1897,1896,3,2222,2225,2224,1917,1920,1919,42,1897,1898,1896,3,2225,2226,2224,1920,1921,1919,42,1897,1899,1898,3,2225,2227,2226,1920,1922,1921,42,1895,1896,1900,3,2187,2221,2206,1918,1919,1923,42,1901,1900,1896,3,2220,2206,2221,1924,1923,1919,42,1900,1901,1902,3,2206,2220,2219,1923,1924,1925,42,1901,1903,1902,3,2220,2228,2219,1924,1926,1925,42,1900,1902,1904,3,2206,2219,2218,1923,1925,1927,42,1902,1905,1904,3,2219,2229,2218,1925,1928,1927,42,1900,1904,1906,3,2206,2218,2207,1923,1927,1929,42,1907,1900,1906,3,2204,2206,2207,1930,1923,1929,42,1895,1900,1907,3,2187,2206,2204,1918,1923,1930,42,1854,1895,1907,3,2181,2187,2204,1877,1918,1930,42,1856,1895,1854,3,2180,2187,2181,1879,1918,1877,42,1856,1859,1895,3,2185,2186,2223,1879,1882,1918,42,1854,1907,1908,3,2181,2204,2205,1877,1930,1931,42,1907,1906,1908,3,2204,2207,2205,1930,1929,1931,42,1908,1906,1909,3,2203,2208,2201,1931,1929,1932,42,1909,1906,1910,3,2201,2208,2209,1932,1929,1933,42,1906,1911,1910,3,2208,2216,2209,1929,1934,1933,42,1910,1911,1912,3,2209,2216,2215,1933,1934,1935,42,1911,1913,1912,3,2216,2217,2215,1934,1936,1935,42,1912,1913,1914,3,2215,2217,2230,1935,1936,1937,42,1910,1912,1914,3,2209,2215,2230,1933,1935,1937,42,1914,1915,1910,3,2230,2210,2209,1937,1938,1933,42,1910,1916,1915,3,2209,2202,2210,1933,1939,1938,42,1910,1909,1916,3,2209,2201,2202,1933,1932,1939,42,1852,1909,1916,3,2177,2201,2202,1875,1932,1939,42,1852,1908,1909,3,2177,2203,2201,1875,1931,1932,42,1854,1908,1852,3,2176,2203,2177,1877,1931,1875,42,1852,1916,1917,3,2173,2200,2199,1875,1939,1940,42,1916,1915,1917,3,2200,2211,2199,1939,1938,1940,42,1917,1915,1918,3,2199,2211,2212,1940,1938,1941,42,1915,1919,1918,3,2211,2213,2212,1938,1942,1941,42,1852,1917,1853,3,2173,2199,2174,1875,1940,1876,42,1853,1917,1920,3,2174,2199,2194,1876,1940,1943,42,1917,1921,1920,3,2199,2195,2194,1940,1944,1943,42,1922,1921,1917,3,2198,2195,2199,1945,1944,1940,42,1923,1921,1922,3,2197,2195,2198,1946,1944,1945,42,1923,1924,1921,3,2197,2196,2195,1946,1947,1944,42,1921,1924,1925,3,2195,2196,2193,1944,1947,1948,42,1921,1925,1920,3,2195,2193,2194,1944,1948,1943,42,1926,1920,1925,3,2190,2194,2193,1949,1943,1948,42,1853,1920,1926,3,2174,2194,2190,1876,1943,1949,42,1927,1853,1926,3,2189,2174,2190,1950,1876,1949,42,1928,1853,1927,3,2188,2174,2189,1951,1876,1950,42,1851,1853,1928,3,2172,2174,2188,1874,1876,1951,42,1926,1927,1929,3,2190,2191,2192,1949,1950,1952,42,1926,1925,1929,3,2190,2193,2192,1949,1948,1952,42,1930,1893,1892,3,2228,2220,2219,1953,1916,1915,42,1931,1892,1891,3,2229,2219,2218,1954,1915,1914,42,1871,1865,1868,3,2194,2174,2190,1894,1888,1891,42,1932,1933,1934,3,2231,2232,2233,1955,1956,1957,42,1933,1932,1935,3,2232,2231,2234,1956,1955,1958,42,1935,1932,1936,3,2235,2236,2237,1958,1955,1959,42,1936,1932,1937,3,2237,2238,2239,1959,1955,1960,42,1932,1938,1937,3,2238,2240,2239,1955,1961,1960,42,1938,1932,1934,3,2240,2238,2241,1961,1955,1957,42,1938,1934,1939,3,2240,2241,2242,1961,1957,1962,42,1939,1934,1940,3,2242,2241,2243,1962,1957,1963,42,1934,1941,1940,3,2241,2244,2243,1957,1964,1963,42,1934,1942,1941,3,2233,2245,2246,1957,1965,1964,42,1933,1942,1934,3,2232,2245,2233,1956,1965,1957,42,1933,1943,1942,3,2232,2247,2245,1956,1966,1965,42,1933,1944,1943,3,2232,2248,2247,1956,1967,1966,42,1933,1945,1944,3,2232,2249,2248,1956,1968,1967,42,1945,1933,1935,3,2249,2232,2234,1968,1956,1958,42,1945,1935,1946,3,2249,2234,2250,1968,1958,1969,42,1946,1935,1936,3,2251,2235,2237,1969,1958,1959,42,1936,1947,1946,3,2237,2252,2251,1959,1970,1969,42,1947,1936,1948,3,2252,2237,2253,1970,1959,1971,42,1936,1937,1948,3,2237,2239,2253,1959,1960,1971,42,1948,1937,1949,3,2254,2255,2256,1971,1960,1972,42,1937,1950,1949,3,2255,2257,2256,1960,1973,1972,42,1937,1938,1950,3,2255,2258,2257,1960,1961,1973,42,1938,1939,1950,3,2258,2259,2257,1961,1962,1973,42,1939,1951,1950,3,2259,2260,2257,1962,1974,1973,42,1951,1939,1940,3,2260,2259,2261,1974,1962,1963,42,1951,1940,1952,3,2260,2261,2262,1974,1963,1975,42,1940,1953,1952,3,2261,2263,2262,1963,1976,1975,42,1940,1954,1953,3,2261,2264,2263,1963,1977,1976,42,1940,1941,1954,3,2243,2244,2265,1963,1964,1977,42,1941,1955,1954,3,2246,2266,2267,1964,1978,1977,42,1942,1955,1941,3,2245,2266,2246,1965,1978,1964,42,1942,1956,1955,3,2245,2268,2266,1965,1979,1978,42,1943,1956,1942,3,2247,2268,2245,1966,1979,1965,42,1943,1957,1956,3,2269,2270,2271,1966,1980,1979,42,1957,1943,1944,3,2270,2269,2272,1980,1966,1967,42,1957,1944,1958,3,2270,2272,2273,1980,1967,1981,42,1958,1944,1959,3,2273,2272,2274,1981,1967,1982,42,1944,1960,1959,3,2248,2275,2276,1967,1983,1982,42,1945,1960,1944,3,2249,2275,2248,1968,1983,1967,42,1960,1945,1946,3,2275,2249,2250,1983,1968,1969,42,1961,1960,1946,3,2277,2275,2250,1984,1983,1969,42,1962,1960,1961,3,2278,2275,2277,1985,1983,1984,42,1960,1962,1963,3,2275,2278,2279,1983,1985,1986,42,1962,1964,1963,3,2278,2280,2279,1985,1987,1986,42,1964,1962,1961,3,2280,2278,2277,1987,1985,1984,42,1960,1963,1959,3,2275,2279,2276,1983,1986,1982,42,1958,1959,1965,3,2273,2274,2281,1981,1982,1988,42,1965,1959,1966,3,2281,2274,2282,1988,1982,1989,42,1967,1965,1966,3,2283,2281,2282,1990,1988,1989,42,1968,1967,1966,3,2284,2283,2282,1991,1990,1989,42,1958,1965,1969,3,2285,2286,2287,1981,1988,1992,42,1969,1965,1970,3,2287,2286,2288,1992,1988,1993,42,1969,1970,1971,3,2287,2288,2289,1992,1993,1994,42,1971,1970,1972,3,2289,2288,2290,1994,1993,1995,42,1973,1971,1972,3,2291,2289,2290,1996,1994,1995,42,1969,1971,1973,3,2287,2289,2291,1992,1994,1996,42,1969,1973,1974,3,2287,2291,2292,1992,1996,1997,42,1975,1969,1974,3,2293,2287,2292,1998,1992,1997,42,1975,1958,1969,3,2293,2285,2287,1998,1981,1992,42,1976,1958,1975,3,2294,2285,2293,1999,1981,1998,42,1976,1957,1958,3,2294,2295,2285,1999,1980,1981,42,1957,1976,1977,3,2295,2294,2296,1980,1999,2000,42,1976,1978,1977,3,2294,2297,2296,1999,2001,2000,42,1976,1979,1978,3,2294,2298,2297,1999,2002,2001,42,1976,1975,1979,3,2294,2293,2298,1999,1998,2002,42,1975,1974,1979,3,2293,2292,2298,1998,1997,2002,42,1979,1974,1980,3,2299,2300,2301,2002,1997,2003,42,1980,1974,1981,3,2301,2300,2302,2003,1997,2004,42,1981,1974,1982,3,2302,2300,2303,2004,1997,2005,42,1981,1982,1983,3,2302,2303,2304,2004,2005,2006,42,1983,1982,1984,3,2304,2303,2305,2006,2005,2007,42,1984,1985,1983,3,2305,2306,2304,2007,2008,2006,42,1981,1983,1985,3,2302,2304,2306,2004,2006,2008,42,1981,1985,1986,3,2302,2306,2307,2004,2008,2009,42,1987,1981,1986,3,2308,2302,2307,2010,2004,2009,42,1980,1981,1987,3,2301,2302,2308,2003,2004,2010,42,1988,1980,1987,3,2309,2301,2308,2011,2003,2010,42,1988,1979,1980,3,2309,2299,2301,2011,2002,2003,42,1988,1978,1979,3,2309,2310,2299,2011,2001,2002,42,1978,1988,1989,3,2310,2309,2311,2001,2011,2012,42,1989,1988,1990,3,2311,2309,2312,2012,2011,2013,42,1988,1987,1990,3,2309,2308,2312,2011,2010,2013,42,1990,1987,1991,3,2313,2314,2315,2013,2010,2014,42,1991,1987,1986,3,2315,2314,2316,2014,2010,2009,42,1991,1986,1992,3,2315,2316,2317,2014,2009,2015,42,1992,1986,1993,3,2317,2316,2318,2015,2009,2016,42,1986,1994,1993,3,2316,2319,2318,2009,2017,2016,42,1994,1995,1993,3,2319,2320,2318,2017,2018,2016,42,1991,1992,1996,3,2315,2321,2322,2014,2015,2019,42,1996,1992,1997,3,2322,2321,2323,2019,2015,2020,42,1992,1998,1997,3,2321,2324,2323,2015,2021,2020,42,1998,1999,1997,3,2324,2325,2323,2021,2022,2020,42,1999,2000,1997,3,2325,2326,2323,2022,2023,2020,42,1997,2000,1996,3,2323,2326,2322,2020,2023,2019,42,2000,2001,1996,3,2326,2327,2322,2023,2024,2019,42,1996,2001,2002,3,2322,2327,2328,2019,2024,2025,42,2001,2003,2002,3,2327,2329,2328,2024,2026,2025,42,2002,2003,2004,3,2328,2329,2330,2025,2026,2027,42,2003,2005,2004,3,2329,2331,2330,2026,2028,2027,42,2005,2003,2006,3,2332,2333,2334,2028,2026,2029,42,2006,2003,2007,3,2334,2333,2335,2029,2026,2030,42,2007,2008,2006,3,2335,2336,2334,2030,2031,2029,42,2009,2008,2007,3,2337,2336,2335,2032,2031,2030,42,2006,2010,2005,3,2338,2339,2340,2029,2033,2028,42,2006,2011,2010,3,2338,2341,2339,2029,2034,2033,42,2012,2011,2006,3,2342,2341,2338,2035,2034,2029,42,2012,2013,2011,3,2342,2343,2341,2035,2036,2034,42,2010,2014,2005,3,2344,2345,2346,2033,2037,2028,42,2014,2010,2015,3,2345,2344,2347,2037,2033,2038,42,2015,2010,2016,3,2347,2344,2348,2038,2033,2039,42,2015,2016,2017,3,2347,2348,2349,2038,2039,2040,42,2016,2018,2017,3,2348,2350,2349,2039,2041,2040,42,2017,2018,2019,3,2349,2350,2351,2040,2041,2042,42,2018,2020,2019,3,2350,2352,2351,2041,2043,2042,42,2019,2020,2021,3,2351,2352,2353,2042,2043,2044,42,2020,2022,2021,3,2352,2354,2353,2043,2045,2044,42,2021,2022,2023,3,2353,2354,2355,2044,2045,2046,42,2024,2021,2023,3,2356,2353,2355,2047,2044,2046,42,2019,2021,2024,3,2351,2353,2356,2042,2044,2047,42,2025,2019,2024,3,2357,2351,2356,2048,2042,2047,42,2017,2019,2025,3,2349,2351,2357,2040,2042,2048,42,2015,2017,2025,3,2347,2349,2357,2038,2040,2048,42,2015,2025,2026,3,2347,2357,2358,2038,2048,2049,42,2026,2025,2027,3,2358,2359,2360,2049,2048,2050,42,2025,2028,2027,3,2359,2361,2360,2048,2051,2050,42,2025,2029,2028,3,2359,2362,2361,2048,2052,2051,42,2025,2030,2029,3,2359,2363,2362,2048,2053,2052,42,2030,2031,2029,3,2363,2364,2362,2053,2054,2052,42,2026,2027,2032,3,2358,2360,2365,2049,2050,2055,42,2027,2033,2032,3,2366,2367,2368,2050,2056,2055,42,2027,2034,2033,3,2366,2369,2367,2050,2057,2056,42,2027,2035,2034,3,2366,2370,2369,2050,2058,2057,42,2035,2036,2034,3,2370,2371,2369,2058,2059,2057,42,2035,2037,2036,3,2370,2372,2371,2058,2060,2059,42,2037,2038,2036,3,2372,2373,2371,2060,2061,2059,42,2033,2034,2039,3,2374,2375,2376,2056,2057,2062,42,2039,2034,2040,3,2376,2375,2377,2062,2057,2063,42,2040,2034,2041,3,2377,2375,2378,2063,2057,2064,42,2040,2041,2042,3,2377,2378,2379,2063,2064,2065,42,2040,2042,2043,3,2377,2379,2380,2063,2065,2066,42,2043,2042,2044,3,2381,2382,2383,2066,2065,2067,42,2042,2045,2044,3,2382,2384,2383,2065,2068,2067,42,2042,2046,2045,3,2382,2385,2384,2065,2069,2068,42,2045,2046,2047,3,2384,2385,2386,2068,2069,2070,42,2045,2047,2048,3,2384,2386,2387,2068,2070,2071,42,2044,2045,2048,3,2383,2384,2387,2067,2068,2071,42,2044,2048,2049,3,2383,2387,2388,2067,2071,2072,42,2044,2049,2050,3,2383,2388,2389,2067,2072,2073,42,2050,2049,2051,3,2389,2388,2390,2073,2072,2074,42,2049,2052,2051,3,2391,2392,2393,2072,2075,2074,42,2049,2053,2052,3,2391,2394,2392,2072,2076,2075,42,2054,2053,2049,3,2395,2394,2391,2077,2076,2072,42,2054,2055,2053,3,2395,2396,2394,2077,2078,2076,42,2054,2056,2055,3,2395,2397,2396,2077,2079,2078,42,2053,2057,2052,3,2394,2398,2392,2076,2080,2075,42,2053,2058,2057,3,2394,2399,2398,2076,2081,2080,42,2059,2058,2053,3,2400,2399,2394,2082,2081,2076,42,2059,2060,2058,3,2400,2401,2399,2082,2083,2081,42,2061,2060,2059,3,2402,2401,2400,2084,2083,2082,42,2061,2062,2060,3,2402,2403,2401,2084,2085,2083,42,2063,2062,2061,3,2404,2403,2402,2086,2085,2084,42,2058,2064,2057,3,2405,2406,2407,2081,2087,2080,42,2058,2065,2064,3,2405,2408,2406,2081,2088,2087,42,2066,2065,2058,3,2409,2408,2405,2089,2088,2081,42,2066,2067,2065,3,2409,2410,2408,2089,2090,2088,42,2068,2067,2066,3,2411,2410,2409,2091,2090,2089,42,2064,2065,2069,3,2406,2408,2412,2087,2088,2092,42,2065,2070,2069,3,2408,2413,2412,2088,2093,2092,42,2071,2070,2065,3,2410,2413,2408,2094,2093,2088,42,2071,2072,2070,3,2410,2414,2413,2094,2095,2093,42,2073,2072,2071,3,2415,2414,2410,2096,2095,2094,42,2072,2073,2074,3,2414,2415,2416,2095,2096,2097,42,2075,2072,2074,3,2417,2414,2416,2098,2095,2097,42,2070,2072,2075,3,2413,2414,2417,2093,2095,2098,42,2076,2070,2075,3,2418,2413,2417,2099,2093,2098,42,2069,2070,2076,3,2412,2413,2418,2092,2093,2099,42,2077,2069,2076,3,2419,2412,2418,2100,2092,2099,42,2077,2078,2069,3,2419,2420,2412,2100,2101,2092,42,2079,2078,2077,3,2421,2420,2419,2102,2101,2100,42,2079,2080,2078,3,2422,2423,2424,2102,2103,2101,42,2081,2080,2079,3,2425,2423,2422,2104,2103,2102,42,2081,2082,2080,3,2425,2426,2423,2104,2105,2103,42,2081,2083,2082,3,2427,2428,2429,2104,2106,2105,42,2084,2083,2081,3,2430,2428,2427,2107,2106,2104,42,2085,2083,2084,3,2431,2432,2433,2108,2106,2107,42,2085,2086,2083,3,2431,2434,2432,2108,2109,2106,42,2085,2087,2086,3,2435,2436,2437,2108,2110,2109,42,2088,2087,2085,3,2438,2436,2435,2111,2110,2108,42,2088,2089,2087,3,2438,2439,2436,2111,2112,2110,42,2090,2089,2088,3,2440,2439,2438,2113,2112,2111,42,2090,2091,2089,3,2441,2442,2443,2113,2114,2112,42,1953,2091,2090,3,2444,2442,2441,1976,2114,2113,42,1953,2092,2091,3,2444,2445,2442,1976,2115,2114,42,1954,2092,1953,3,2446,2445,2444,1977,2115,1976,42,1955,2092,1954,3,2447,2448,2449,1978,2115,1977,42,1955,2093,2092,3,2447,2450,2448,1978,2116,2115,42,1977,2093,1955,3,2451,2450,2447,2000,2116,1978,42,1977,1989,2093,3,2451,2311,2450,2000,2012,2116,42,1977,1978,1989,3,2451,2310,2311,2000,2001,2012,42,2093,1989,2094,3,2452,2453,2454,2116,2012,2117,42,1989,2095,2094,3,2453,2455,2454,2012,2118,2117,42,1989,2096,2095,3,2453,2456,2455,2012,2119,2118,42,1989,1990,2096,3,2453,2313,2456,2012,2013,2119,42,2096,1990,1991,3,2456,2313,2315,2119,2013,2014,42,2096,1991,2002,3,2456,2315,2328,2119,2014,2025,42,1991,1996,2002,3,2315,2322,2328,2014,2019,2025,42,2096,2002,2004,3,2456,2328,2330,2119,2025,2027,42,2096,2004,2097,3,2456,2330,2457,2119,2027,2120,42,2097,2004,2005,3,2458,2330,2331,2120,2027,2028,42,2097,2005,2098,3,2459,2346,2460,2120,2028,2121,42,2098,2005,2014,3,2460,2346,2345,2121,2028,2037,42,2098,2014,2099,3,2460,2345,2461,2121,2037,2122,42,2099,2014,2100,3,2461,2345,2462,2122,2037,2123,42,2014,2026,2100,3,2345,2358,2462,2037,2049,2123,42,2015,2026,2014,3,2347,2358,2345,2038,2049,2037,42,2026,2032,2100,3,2358,2365,2462,2049,2055,2123,42,2099,2100,2032,3,2461,2462,2365,2122,2123,2055,42,2099,2032,2101,3,2461,2365,2463,2122,2055,2124,42,2101,2032,2102,3,2464,2368,2465,2124,2055,2125,42,2032,2033,2102,3,2368,2367,2465,2055,2056,2125,42,2033,2103,2102,3,2374,2466,2467,2056,2126,2125,42,2103,2033,2039,3,2466,2374,2376,2126,2056,2062,42,2039,2104,2103,3,2376,2468,2466,2062,2127,2126,42,2039,2043,2104,3,2376,2380,2468,2062,2066,2127,42,2039,2040,2043,3,2376,2377,2380,2062,2063,2066,42,2043,2050,2104,3,2381,2389,2469,2066,2073,2127,42,2043,2044,2050,3,2381,2383,2389,2066,2067,2073,42,2105,2104,2050,3,2470,2469,2389,2128,2127,2073,42,2104,2105,2106,3,2469,2470,2471,2127,2128,2129,42,2107,2106,2105,3,2472,2471,2470,2130,2129,2128,42,2108,2106,2107,3,2473,2474,2475,2131,2129,2130,42,2108,2101,2106,3,2473,2464,2474,2131,2124,2129,42,2108,2099,2101,3,2476,2461,2463,2131,2122,2124,42,2109,2099,2108,3,2477,2461,2476,2132,2122,2131,42,2110,2099,2109,3,2478,2461,2477,2133,2122,2132,42,2110,2098,2099,3,2478,2460,2461,2133,2121,2122,42,2110,2097,2098,3,2479,2459,2460,2133,2120,2121,42,2110,2095,2097,3,2480,2455,2457,2133,2118,2120,42,2094,2095,2110,3,2454,2455,2480,2117,2118,2133,42,2089,2094,2110,3,2443,2454,2480,2112,2117,2133,42,2091,2094,2089,3,2442,2454,2443,2114,2117,2112,42,2093,2094,2091,3,2452,2454,2442,2116,2117,2114,42,2092,2093,2091,3,2445,2452,2442,2115,2116,2114,42,2089,2110,2087,3,2439,2478,2436,2112,2133,2110,42,2087,2110,2109,3,2436,2478,2477,2110,2133,2132,42,2087,2109,2086,3,2436,2477,2437,2110,2132,2109,42,2086,2109,2108,3,2437,2477,2476,2109,2132,2131,42,2086,2108,2107,3,2434,2473,2475,2109,2131,2130,42,2086,2107,2083,3,2434,2475,2432,2109,2130,2106,42,2083,2107,2111,3,2428,2472,2481,2106,2130,2134,42,2107,2105,2111,3,2472,2470,2481,2130,2128,2134,42,2111,2105,2051,3,2481,2470,2390,2134,2128,2074,42,2050,2051,2105,3,2389,2390,2470,2073,2074,2128,42,2111,2051,2112,3,2481,2390,2482,2134,2074,2135,42,2112,2051,2113,3,2483,2393,2484,2135,2074,2136,42,2113,2051,2052,3,2484,2393,2392,2136,2074,2075,42,2113,2052,2078,3,2484,2392,2424,2136,2075,2101,42,2078,2052,2057,3,2424,2392,2398,2101,2075,2080,42,2078,2057,2064,3,2420,2407,2406,2101,2080,2087,42,2078,2064,2069,3,2420,2406,2412,2101,2087,2092,42,2080,2113,2078,3,2423,2484,2424,2103,2136,2101,42,2080,2112,2113,3,2423,2483,2484,2103,2135,2136,42,2082,2112,2080,3,2426,2483,2423,2105,2135,2103,42,2111,2112,2082,3,2481,2482,2429,2134,2135,2105,42,2083,2111,2082,3,2428,2481,2429,2106,2134,2105,42,2095,2096,2097,3,2455,2456,2457,2118,2119,2120,42,2101,2102,2106,3,2464,2465,2474,2124,2125,2129,42,2106,2102,2103,3,2485,2467,2466,2129,2125,2126,42,2103,2104,2106,3,2466,2468,2485,2126,2127,2129,42,1956,1977,1955,3,2486,2296,2487,1979,2000,1978,42,1957,1977,1956,3,2295,2296,2486,1980,2000,1979,42,2114,1953,2090,3,2488,2489,2490,2137,1976,2113,42,1952,1953,2114,3,2491,2489,2488,1975,1976,2137,42,2115,1952,2114,3,2492,2491,2488,2138,1975,2137,42,2116,1952,2115,3,2493,2491,2492,2139,1975,2138,42,1951,1952,2116,3,2260,2262,2494,1974,1975,2139,42,1950,1951,2116,3,2257,2260,2494,1973,1974,2139,42,1950,2116,2117,3,2257,2494,2495,1973,2139,2140,42,2116,2118,2117,3,2493,2496,2497,2139,2141,2140,42,2116,2115,2118,3,2493,2492,2496,2139,2138,2141,42,2115,2119,2118,3,2498,2499,2500,2138,2142,2141,42,2115,2120,2119,3,2501,2502,2503,2138,2143,2142,42,2115,2121,2120,3,2501,2504,2502,2138,2144,2143,42,2115,2114,2121,3,2501,2505,2504,2138,2137,2144,42,2121,2114,2122,3,2504,2505,2506,2144,2137,2145,42,2114,2090,2122,3,2505,2507,2506,2137,2113,2145,42,2122,2090,2088,3,2506,2507,2508,2145,2113,2111,42,2122,2088,2123,3,2509,2510,2511,2145,2111,2146,42,2123,2088,2085,3,2511,2510,2512,2146,2111,2108,42,2123,2085,2124,3,2513,2514,2515,2146,2108,2147,42,2124,2085,2084,3,2515,2514,2516,2147,2108,2107,42,2124,2084,2125,3,2515,2516,2517,2147,2107,2148,42,2125,2084,2081,3,2517,2516,2518,2148,2107,2104,42,2125,2081,2126,3,2519,2520,2521,2148,2104,2149,42,2126,2081,2079,3,2521,2520,2522,2149,2104,2102,42,2081,2079,2127,3,2523,2524,2525,2104,2102,2150,42,2128,2081,2079,3,2526,2527,2528,2151,2104,2102,42,2128,2079,2129,3,2526,2528,2529,2151,2102,2152,42,2130,2128,2129,3,2530,2526,2529,2153,2151,2152,42,2130,2129,2131,3,2530,2529,2531,2153,2152,2154,42,2132,2130,2131,3,2532,2530,2531,2155,2153,2154,42,2132,2131,2133,3,2532,2531,2533,2155,2154,2156,42,2134,2081,2127,3,2534,2523,2525,2157,2104,2150,42,2135,2134,2127,3,2535,2534,2525,2158,2157,2150,42,2136,2134,2135,3,2536,2534,2535,2159,2157,2158,42,2137,2136,2135,3,2532,2536,2535,2160,2159,2158,42,2138,2136,2137,3,2537,2536,2532,2161,2159,2160,42,2138,2137,2139,3,2537,2532,2538,2161,2160,2162,42,2126,2079,2140,3,2521,2522,2539,2149,2102,2163,42,2140,2079,2141,3,2540,2541,2542,2163,2102,2164,42,2079,2142,2141,3,2541,2543,2542,2102,2165,2164,42,2079,2077,2142,3,2421,2419,2544,2102,2100,2165,42,2077,2076,2142,3,2419,2418,2544,2100,2099,2165,42,2142,2076,2143,3,2543,2545,2546,2165,2099,2166,42,2076,2075,2143,3,2545,2547,2546,2099,2098,2166,42,2075,2144,2143,3,2547,2548,2546,2098,2167,2166,42,2145,2144,2075,3,2549,2548,2547,2168,2167,2098,42,2145,2146,2144,3,2549,2550,2548,2168,2169,2167,42,2147,2146,2145,3,2551,2550,2549,2170,2169,2168,42,2146,2148,2144,3,2550,2552,2548,2169,2171,2167,42,2146,2149,2148,3,2550,2553,2552,2169,2172,2171,42,2150,2149,2146,3,2554,2553,2550,2173,2172,2169,42,2149,2150,2151,3,2553,2554,2555,2172,2173,2174,42,2152,2149,2151,3,2556,2553,2555,2175,2172,2174,42,2148,2149,2152,3,2552,2553,2556,2171,2172,2175,42,2153,2148,2152,3,2557,2552,2556,2176,2171,2175,42,2154,2148,2153,3,2558,2552,2557,2177,2171,2176,42,2144,2148,2154,3,2548,2552,2558,2167,2171,2177,42,2143,2144,2154,3,2546,2548,2558,2166,2167,2177,42,2142,2143,2154,3,2543,2546,2558,2165,2166,2177,42,2141,2142,2154,3,2542,2543,2558,2164,2165,2177,42,2141,2154,2153,3,2542,2558,2557,2164,2177,2176,42,2141,2153,2140,3,2542,2557,2540,2164,2176,2163,42,2140,2153,2155,3,2559,2560,2561,2163,2176,2178,42,2155,2153,2152,3,2561,2560,2562,2178,2176,2175,42,2155,2152,2156,3,2561,2562,2563,2178,2175,2179,42,2152,2151,2156,3,2562,2564,2563,2175,2174,2179,42,2156,2151,2157,3,2563,2564,2565,2179,2174,2180,42,2151,2158,2157,3,2564,2566,2565,2174,2181,2180,42,2159,2155,2156,3,2567,2568,2569,2182,2178,2179,42,2160,2155,2159,3,2570,2568,2567,2183,2178,2182,42,2160,2140,2155,3,2570,2539,2568,2183,2163,2178,42,2160,2126,2140,3,2570,2521,2539,2183,2149,2163,42,2160,2125,2126,3,2570,2519,2521,2183,2148,2149,42,2161,2125,2160,3,2571,2519,2570,2184,2148,2183,42,2162,2125,2161,3,2572,2573,2574,2185,2148,2184,42,2163,2125,2162,3,2575,2517,2576,2186,2148,2185,42,2163,2124,2125,3,2575,2515,2517,2186,2147,2148,42,2164,2124,2163,3,2577,2515,2575,2187,2147,2186,42,2164,2123,2124,3,2577,2513,2515,2187,2146,2147,42,2164,2122,2123,3,2578,2509,2511,2187,2145,2146,42,2121,2122,2164,3,2579,2509,2578,2144,2145,2187,42,2121,2164,2165,3,2579,2578,2580,2144,2187,2188,42,2164,2163,2165,3,2577,2575,2581,2187,2186,2188,42,2163,2166,2165,3,2575,2582,2581,2186,2189,2188,42,2163,2167,2166,3,2575,2583,2582,2186,2190,2189,42,2163,2162,2167,3,2575,2576,2583,2186,2185,2190,42,2167,2162,2161,3,2584,2572,2574,2190,2185,2184,42,2161,2168,2167,3,2574,2585,2584,2184,2191,2190,42,2168,2161,2159,3,2586,2571,2567,2191,2184,2182,42,2161,2160,2159,3,2571,2570,2567,2184,2183,2182,42,2159,2169,2168,3,2567,2587,2586,2182,2192,2191,42,2159,2156,2169,3,2567,2569,2587,2182,2179,2192,42,2169,2156,2170,3,2587,2569,2588,2192,2179,2193,42,2169,2170,2171,3,2587,2588,2589,2192,2193,2194,42,2170,2172,2171,3,2588,2590,2589,2193,2195,2194,42,2173,2171,2172,3,2591,2589,2590,2196,2194,2195,42,2174,2171,2173,3,2592,2589,2591,2197,2194,2196,42,2169,2171,2174,3,2587,2589,2592,2192,2194,2197,42,2168,2169,2174,3,2586,2587,2592,2191,2192,2197,42,2168,2174,2175,3,2585,2593,2594,2191,2197,2198,42,2174,2176,2175,3,2593,2595,2594,2197,2199,2198,42,2174,2177,2176,3,2593,2596,2595,2197,2200,2199,42,2177,2178,2176,3,2596,2597,2595,2200,2201,2199,42,2179,2175,2176,3,2598,2599,2600,2202,2198,2199,42,2166,2175,2179,3,2582,2599,2598,2189,2198,2202,42,2166,2167,2175,3,2582,2583,2599,2189,2190,2198,42,2167,2168,2175,3,2584,2585,2594,2190,2191,2198,42,2165,2166,2179,3,2581,2582,2598,2188,2189,2202,42,2165,2179,2180,3,2581,2598,2601,2188,2202,2203,42,2180,2179,2181,3,2601,2598,2602,2203,2202,2204,42,2179,2176,2181,3,2598,2600,2602,2202,2199,2204,42,2176,2182,2181,3,2600,2603,2602,2199,2205,2204,42,2183,2181,2182,3,2604,2602,2603,2206,2204,2205,42,2180,2181,2183,3,2601,2602,2604,2203,2204,2206,42,2184,2180,2183,3,2605,2606,2607,2207,2203,2206,42,2165,2180,2184,3,2580,2606,2605,2188,2203,2207,42,2120,2165,2184,3,2608,2580,2605,2143,2188,2207,42,2121,2165,2120,3,2579,2580,2608,2144,2188,2143,42,2120,2184,2185,3,2502,2609,2610,2143,2207,2208,42,2184,2186,2185,3,2609,2611,2610,2207,2209,2208,42,2184,2187,2186,3,2609,2612,2611,2207,2210,2209,42,2187,2188,2186,3,2612,2613,2611,2210,2211,2209,42,2187,2189,2188,3,2612,2614,2613,2210,2212,2211,42,2189,2190,2188,3,2614,2615,2613,2212,2213,2211,42,2119,2120,2185,3,2503,2502,2610,2142,2143,2208,42,2119,2185,2191,3,2503,2610,2616,2142,2208,2214,42,2191,2185,2192,3,2616,2610,2617,2214,2208,2215,42,2185,2193,2192,3,2610,2618,2617,2208,2216,2215,42,2192,2193,2194,3,2617,2618,2619,2215,2216,2217,42,2119,2191,2118,3,2499,2620,2500,2142,2214,2141,42,2118,2191,2195,3,2500,2620,2621,2141,2214,2218,42,2195,2191,2196,3,2621,2620,2622,2218,2214,2219,42,2191,2197,2196,3,2620,2623,2622,2214,2220,2219,42,2198,2196,2197,3,2624,2622,2623,2221,2219,2220,42,2117,2118,2195,3,2497,2496,2625,2140,2141,2218,42,2199,2117,2195,3,2626,2497,2625,2222,2140,2218,42,1949,2117,2199,3,2256,2495,2627,1972,2140,2222,42,1949,1950,2117,3,2256,2257,2495,1972,1973,2140,42,1949,2199,2200,3,2256,2627,2628,1972,2222,2223,42,2201,1949,2200,3,2629,2256,2628,2224,1972,2223,42,1948,1949,2201,3,2254,2256,2629,1971,1972,2224,42,1948,2201,2202,3,2254,2629,2630,1971,2224,2225,42,2202,2201,2203,3,2630,2629,2631,2225,2224,2226,42,2203,2201,2204,3,2631,2629,2632,2226,2224,2227,42,2201,2200,2204,3,2629,2628,2632,2224,2223,2227,42,2205,2203,2204,3,2633,2631,2632,2228,2226,2227,42,2202,2203,2205,3,2630,2631,2633,2225,2226,2228,42,2199,2195,2206,3,2626,2625,2634,2222,2218,2229,42,2207,2199,2206,3,2635,2626,2634,2230,2222,2229,42,2207,2206,2208,3,2635,2634,2636,2230,2229,2231,42,2209,2207,2208,3,2637,2635,2636,2232,2230,2231,42,2210,2209,2208,3,2638,2637,2636,2233,2232,2231,42,2184,2183,2211,3,2605,2607,2639,2207,2206,2234,42,2183,2212,2211,3,2607,2640,2639,2206,2235,2234,42,1947,1948,2213,3,2252,2253,2641,1970,1971,2236,42,2214,1947,2213,3,2642,2252,2641,2237,1970,2236,42,2215,1947,2214,3,2643,2252,2642,2238,1970,2237,42,1947,2215,1946,3,2252,2643,2251,1970,2238,1969,42,2216,2215,2214,3,2644,2643,2642,2239,2238,2237,42,2216,2214,2213,3,2644,2642,2641,2239,2237,2236,42,2217,2218,2219,3,2645,2646,2647,2240,2241,2242,42,2218,2217,2220,3,2646,2645,2648,2241,2240,2243,42,2220,2217,2221,3,2648,2645,2649,2243,2240,2244,42,2217,2222,2221,3,2645,2650,2649,2240,2245,2244,42,2222,2217,2223,3,2650,2645,2651,2245,2240,2246,42,2223,2217,2219,3,2651,2645,2647,2246,2240,2242,42,2224,2222,2223,3,2652,2650,2651,2247,2245,2246,42,2222,2224,2225,3,2650,2652,2653,2245,2247,2248,42,2221,2222,2225,3,2649,2650,2653,2244,2245,2248,42,2226,2218,2220,3,2654,2646,2648,2249,2241,2243,42,2218,2226,2227,3,2646,2654,2655,2241,2249,2250,42,2226,2228,2227,3,2654,2656,2655,2249,2251,2250,42,2227,2228,2229,3,2655,2656,2657,2250,2251,2252,42,2228,2230,2229,3,2656,2658,2657,2251,2253,2252,42,2229,2230,2231,3,2657,2658,2659,2252,2253,2254,42,2231,2230,2232,3,2660,2661,2662,2254,2253,2255,42,2231,2232,2233,3,2660,2662,2663,2254,2255,2256,42,2233,2232,2234,3,2663,2662,2664,2256,2255,2257,42,2232,2235,2234,3,2662,2665,2664,2255,2258,2257,42,2232,2236,2235,3,2662,2666,2665,2255,2259,2258,42,2236,2237,2235,3,2667,2668,2669,2259,2260,2258,42,2236,2238,2237,3,2670,2671,2672,2259,2261,2260,42,2236,2239,2238,3,2670,2673,2671,2259,2262,2261,42,2238,2240,2237,3,2671,2674,2672,2261,2263,2260,42,2237,2240,2241,3,2672,2674,2675,2260,2263,2264,42,2241,2240,2242,3,2675,2674,2676,2264,2263,2265,42,2240,2243,2242,3,2674,2677,2676,2263,2266,2265,42,2243,2244,2242,3,2677,2678,2676,2266,2267,2265,42,2241,2242,2245,3,2679,2677,2676,2264,2265,2268,42,2245,2242,2246,3,2676,2677,2680,2268,2265,2269,42,2246,2242,2247,3,2680,2677,2681,2269,2265,2270,42,2247,2248,2246,3,2681,2678,2680,2270,2271,2269,42,2237,2241,2249,3,2668,2682,2683,2260,2264,2272,42,2237,2249,2235,3,2668,2683,2669,2260,2272,2258,42,2250,2235,2249,3,2684,2669,2683,2273,2258,2272,42,2234,2235,2250,3,2664,2665,2685,2257,2258,2273,42,2251,2234,2250,3,2686,2664,2685,2274,2257,2273,42,2233,2234,2251,3,2663,2664,2686,2256,2257,2274,42,2252,2251,2250,3,2687,2686,2685,2275,2274,2273,42,2252,2250,2253,3,2687,2685,2688,2275,2273,2276,42,2252,2253,2254,3,2687,2688,2689,2275,2276,2277,42,2255,2231,2233,3,2690,2660,2663,2278,2254,2256,42,2255,2233,2256,3,2690,2663,2686,2278,2256,2279,42,2257,2255,2256,3,2691,2690,2686,2280,2278,2279,42,2257,2256,2258,3,2691,2686,2687,2280,2279,2281,42,2259,2257,2258,3,2692,2691,2687,2282,2280,2281,42,2260,2229,2231,3,2693,2657,2659,2283,2252,2254,42,2227,2229,2260,3,2655,2657,2693,2250,2252,2283,42,2261,2227,2260,3,2694,2655,2693,2284,2250,2283,42,2261,2260,2262,3,2694,2693,2695,2284,2283,2285,42,2262,2260,2263,3,2695,2693,2696,2285,2283,2286,42,2260,2231,2263,3,2693,2659,2696,2283,2254,2286,42,2264,2262,2263,3,2697,2695,2696,2287,2285,2286,42,2265,2262,2264,3,2698,2695,2697,2288,2285,2287,42,2265,2266,2262,3,2698,2699,2695,2288,2289,2285,42,2266,2261,2262,3,2699,2694,2695,2289,2284,2285,42,2218,2227,2219,3,2646,2655,2647,2241,2250,2242,42,2267,2226,2220,3,2700,2701,2702,2290,2249,2243,42,2226,2267,2268,3,2701,2700,2703,2249,2290,2291,42,2268,2267,2269,3,2703,2700,2704,2291,2290,2292,42,2267,2270,2269,3,2700,2705,2704,2290,2293,2292,42,2270,2267,2220,3,2705,2700,2702,2293,2290,2243,42,2270,2220,2271,3,2705,2702,2706,2293,2243,2294,42,2272,2270,2271,3,2707,2705,2706,2295,2293,2294,42,2270,2272,2273,3,2705,2707,2708,2293,2295,2296,42,2273,2272,2274,3,2708,2707,2709,2296,2295,2297,42,2274,2272,2275,3,2709,2707,2710,2297,2295,2298,42,2272,2271,2275,3,2707,2706,2710,2295,2294,2298,42,2269,2270,2273,3,2704,2705,2708,2292,2293,2296,42,2268,2269,2276,3,2703,2711,2712,2291,2292,2299,42,2276,2269,2277,3,2712,2711,2713,2299,2292,2300,42,2269,2278,2277,3,2711,2714,2713,2292,2301,2300,42,2278,2279,2277,3,2714,2715,2713,2301,2302,2300,42,2277,2279,2280,3,2713,2715,2716,2300,2302,2303,42,2281,2277,2280,3,2717,2713,2716,2304,2300,2303,42,2281,2276,2277,3,2717,2712,2713,2304,2299,2300,42,2282,2276,2281,3,2718,2712,2717,2305,2299,2304,42,2283,2276,2282,3,2719,2712,2718,2306,2299,2305,42,2283,2268,2276,3,2719,2703,2712,2306,2291,2299,42,2284,2268,2283,3,2720,2703,2719,2307,2291,2306,42,2226,2268,2284,3,2701,2703,2720,2249,2291,2307,42,2284,2283,2285,3,2720,2719,2721,2307,2306,2308,42,2285,2283,2282,3,2721,2719,2718,2308,2306,2305,42,2286,2285,2282,3,2662,2661,2660,2309,2308,2305,42,2286,2282,2287,3,2662,2660,2663,2309,2305,2310,42,2282,2288,2287,3,2660,2690,2663,2305,2311,2310,42,2287,2288,2289,3,2663,2690,2686,2310,2311,2312,42,2288,2290,2289,3,2690,2691,2686,2311,2313,2312,42,2289,2290,2291,3,2686,2691,2687,2312,2313,2314,42,2290,2292,2291,3,2691,2692,2687,2313,2315,2314,42,2286,2287,2293,3,2662,2663,2664,2309,2310,2316,42,2293,2287,2294,3,2664,2663,2686,2316,2310,2317,42,2293,2294,2295,3,2664,2686,2685,2316,2317,2318,42,2294,2296,2295,3,2686,2687,2685,2317,2319,2318,42,2295,2296,2297,3,2685,2687,2688,2318,2319,2320,42,2296,2298,2297,3,2687,2689,2688,2319,2321,2320,42,2299,2293,2295,3,2665,2664,2685,2322,2316,2318,42,2286,2293,2299,3,2662,2664,2665,2309,2316,2322,42,2300,2286,2299,3,2666,2662,2665,2323,2309,2322,42,2299,2301,2300,3,2669,2668,2667,2322,2324,2323,42,2299,2302,2301,3,2669,2722,2668,2322,2325,2324,42,2295,2302,2299,3,2684,2722,2669,2318,2325,2322,42,2301,2302,2303,3,2668,2722,2682,2324,2325,2326,42,2301,2303,2304,3,2672,2675,2723,2324,2326,2327,42,2303,2305,2304,3,2675,2676,2723,2326,2328,2327,42,2303,2306,2305,3,2679,2676,2677,2326,2329,2328,42,2306,2307,2305,3,2676,2680,2677,2329,2330,2328,42,2307,2308,2305,3,2680,2681,2677,2330,2331,2328,42,2307,2309,2308,3,2680,2678,2681,2330,2332,2331,42,2305,2310,2304,3,2676,2724,2723,2328,2333,2327,42,2305,2311,2310,3,2676,2678,2724,2328,2334,2333,42,2301,2304,2312,3,2672,2723,2671,2324,2327,2335,42,2301,2312,2300,3,2672,2671,2670,2324,2335,2323,42,2300,2312,2313,3,2670,2671,2673,2323,2335,2336,42,2314,2315,2316,0,2725,2726,2727,2337,2338,2339,42,2314,2317,2315,0,2725,2728,2726,2337,2340,2338,42,2317,2314,2318,0,2729,2730,2731,2340,2337,2341,42,2318,2319,2317,0,2731,2732,2729,2341,2342,2340,42,2320,2319,2318,0,2733,2732,2731,2343,2342,2341,42,2320,2321,2319,0,2733,2734,2732,2343,2344,2342,42,2320,2322,2321,0,2733,2735,2734,2343,2345,2344,42,2322,2320,2323,0,2735,2733,2736,2345,2343,2346,42,2323,2320,2324,0,2736,2733,2737,2346,2343,2347,42,2320,2314,2324,0,2733,2730,2737,2343,2337,2347,42,2318,2314,2320,0,2731,2730,2733,2341,2337,2343,42,2324,2314,2325,0,2738,2725,2739,2347,2337,2348,42,2325,2326,2324,0,2739,2740,2738,2348,2349,2347,42,2327,2326,2325,0,2741,2740,2739,2350,2349,2348,42,2326,2327,2328,0,2740,2741,2742,2349,2350,2351,42,2328,2327,2329,0,2742,2741,2743,2351,2350,2352,42,2329,2327,2330,0,2743,2741,2744,2352,2350,2353,42,2327,2331,2330,0,2741,2745,2744,2350,2354,2353,42,2327,2325,2331,0,2741,2739,2745,2350,2348,2354,42,2325,2316,2331,0,2739,2727,2745,2348,2339,2354,42,2325,2314,2316,0,2739,2725,2727,2348,2337,2339,42,2331,2316,2315,0,2745,2727,2726,2354,2339,2338,42,2331,2315,2332,0,2745,2726,2746,2354,2338,2355,42,2332,2315,2317,0,2746,2726,2728,2355,2338,2340,42,2332,2317,2321,0,2747,2729,2734,2355,2340,2344,42,2321,2317,2319,0,2734,2729,2732,2344,2340,2342,42,2333,2332,2321,0,2748,2747,2734,2356,2355,2344,42,2330,2332,2333,0,2744,2746,2749,2353,2355,2356,42,2330,2331,2332,0,2744,2745,2746,2353,2354,2355,42,2334,2330,2333,0,2750,2744,2749,2357,2353,2356,42,2334,2329,2330,0,2750,2743,2744,2357,2352,2353,42,2335,2329,2334,0,2751,2743,2750,2358,2352,2357,42,2335,2336,2329,0,2751,2752,2743,2358,2359,2352,42,2337,2336,2335,0,2753,2752,2751,2360,2359,2358,42,2337,2338,2336,0,2753,2754,2752,2360,2361,2359,42,2339,2338,2337,0,2755,2754,2753,2362,2361,2360,42,2339,2340,2338,0,2755,2756,2754,2362,2363,2361,42,2341,2340,2339,0,2757,2756,2755,2364,2363,2362,42,2342,2340,2341,0,2758,2756,2757,2365,2363,2364,42,2342,2343,2340,0,2758,2759,2756,2365,2366,2363,42,2342,2344,2343,0,2758,2760,2759,2365,2367,2366,42,2345,2344,2342,0,2761,2760,2758,2368,2367,2365,42,2346,2344,2345,0,2762,2760,2761,2369,2367,2368,42,2346,2347,2344,0,2762,2763,2760,2369,2370,2367,42,2346,2348,2347,0,2762,2764,2763,2369,2371,2370,42,2346,2349,2348,0,2762,2765,2764,2369,2372,2371,42,2350,2349,2346,0,2766,2765,2762,2373,2372,2369,42,2350,2351,2349,0,2766,2767,2765,2373,2374,2372,42,2351,2352,2349,0,2767,2768,2765,2374,2375,2372,42,2353,2352,2351,0,2769,2768,2767,2376,2375,2374,42,2353,2354,2352,0,2769,2770,2768,2376,2377,2375,42,2355,2354,2353,0,2771,2770,2769,2378,2377,2376,42,2355,2356,2354,0,2771,2772,2770,2378,2379,2377,42,2355,2357,2356,0,2771,2773,2772,2378,2380,2379,42,2357,2358,2356,0,2773,2774,2772,2380,2381,2379,42,2356,2358,2359,0,2772,2774,2775,2379,2381,2382,42,2360,2359,2358,0,2776,2775,2774,2383,2382,2381,42,2360,2361,2359,0,2776,2777,2775,2383,2384,2382,42,2360,2362,2361,0,2776,2778,2777,2383,2385,2384,42,2362,2363,2361,0,2778,2779,2777,2385,2386,2384,42,2364,2363,2362,0,2780,2781,2782,2387,2386,2385,42,2364,2341,2363,0,2780,2757,2781,2387,2364,2386,42,2365,2341,2364,0,2783,2757,2780,2388,2364,2387,42,2365,2342,2341,0,2783,2758,2757,2388,2365,2364,42,2345,2342,2365,0,2761,2758,2783,2368,2365,2388,42,2365,2366,2345,0,2783,2784,2761,2388,2389,2368,42,2350,2345,2366,0,2766,2761,2784,2373,2368,2389,42,2350,2346,2345,0,2766,2762,2761,2373,2369,2368,42,2363,2341,2339,0,2781,2757,2755,2386,2364,2362,42,2363,2339,2367,0,2779,2785,2786,2386,2362,2390,42,2339,2337,2367,0,2785,2787,2786,2362,2360,2390,42,2367,2337,2368,0,2786,2787,2788,2390,2360,2391,42,2368,2337,2335,0,2788,2787,2789,2391,2360,2358,42,2368,2335,2369,0,2788,2789,2790,2391,2358,2392,42,2369,2335,2334,0,2790,2789,2791,2392,2358,2357,42,2369,2334,2370,0,2790,2791,2792,2392,2357,2393,42,2334,2333,2370,0,2791,2748,2792,2357,2356,2393,42,2370,2333,2322,0,2792,2748,2735,2393,2356,2345,42,2333,2321,2322,0,2748,2734,2735,2356,2344,2345,42,2370,2322,2371,0,2792,2735,2793,2393,2345,2394,42,2371,2322,2323,0,2793,2735,2736,2394,2345,2346,42,2371,2323,2326,0,2793,2736,2794,2394,2346,2349,42,2323,2324,2326,0,2736,2737,2794,2346,2347,2349,42,2371,2326,2372,0,2793,2794,2795,2394,2349,2395,42,2328,2372,2326,0,2742,2796,2740,2351,2395,2349,42,2328,2373,2372,0,2742,2797,2796,2351,2396,2395,42,2328,2374,2373,0,2742,2798,2797,2351,2397,2396,42,2375,2374,2328,0,2799,2798,2742,2398,2397,2351,42,2375,2376,2374,0,2799,2800,2798,2398,2399,2397,42,2377,2376,2375,0,2801,2800,2799,2400,2399,2398,42,2377,2378,2376,0,2801,2802,2800,2400,2401,2399,42,2379,2378,2377,0,2803,2802,2801,2402,2401,2400,42,2379,2380,2378,0,2803,2804,2802,2402,2403,2401,42,2381,2380,2379,0,2805,2804,2803,2404,2403,2402,42,2381,2382,2380,0,2805,2806,2804,2404,2405,2403,42,2381,2383,2382,0,2805,2807,2806,2404,2406,2405,42,2384,2383,2381,0,2808,2807,2805,2407,2406,2404,42,2384,2385,2383,0,2808,2809,2807,2407,2408,2406,42,2386,2385,2384,0,2810,2809,2808,2409,2408,2407,42,2387,2385,2386,0,2811,2809,2810,2410,2408,2409,42,2387,2388,2385,0,2811,2812,2809,2410,2411,2408,42,2387,2389,2388,0,2811,2813,2812,2410,2412,2411,42,2387,2356,2389,0,2811,2772,2813,2410,2379,2412,42,2354,2356,2387,0,2770,2772,2811,2377,2379,2410,42,2354,2387,2352,0,2770,2811,2768,2377,2410,2375,42,2352,2387,2386,0,2768,2811,2810,2375,2410,2409,42,2349,2352,2386,0,2765,2768,2810,2372,2375,2409,42,2349,2386,2348,0,2765,2810,2764,2372,2409,2371,42,2348,2386,2384,0,2764,2810,2808,2371,2409,2407,42,2348,2384,2390,0,2764,2808,2814,2371,2407,2413,42,2390,2384,2381,0,2814,2808,2805,2413,2407,2404,42,2390,2381,2379,0,2814,2805,2803,2413,2404,2402,42,2390,2379,2391,0,2814,2803,2815,2413,2402,2414,42,2379,2377,2391,0,2803,2801,2815,2402,2400,2414,42,2391,2377,2375,0,2815,2801,2799,2414,2400,2398,42,2391,2375,2392,0,2815,2799,2816,2414,2398,2415,42,2392,2375,2393,0,2816,2799,2817,2415,2398,2416,42,2375,2328,2393,0,2799,2742,2817,2398,2351,2416,42,2393,2328,2329,0,2817,2742,2743,2416,2351,2352,42,2393,2329,2336,0,2817,2743,2752,2416,2352,2359,42,2393,2336,2338,0,2817,2752,2754,2416,2359,2361,42,2392,2393,2338,0,2816,2817,2754,2415,2416,2361,42,2392,2338,2340,0,2816,2754,2756,2415,2361,2363,42,2343,2392,2340,0,2759,2816,2756,2366,2415,2363,42,2344,2392,2343,0,2760,2816,2759,2367,2415,2366,42,2344,2391,2392,0,2760,2815,2816,2367,2414,2415,42,2347,2391,2344,0,2763,2815,2760,2370,2414,2367,42,2347,2390,2391,0,2763,2814,2815,2370,2413,2414,42,2347,2348,2390,0,2763,2764,2814,2370,2371,2413,42,2356,2394,2389,0,2772,2818,2813,2379,2417,2412,42,2356,2359,2394,0,2772,2775,2818,2379,2382,2417,42,2359,2367,2394,0,2775,2786,2818,2382,2390,2417,42,2361,2367,2359,0,2777,2786,2775,2384,2390,2382,42,2363,2367,2361,0,2779,2786,2777,2386,2390,2384,42,2394,2367,2395,0,2818,2786,2819,2417,2390,2418,42,2395,2367,2368,0,2819,2786,2788,2418,2390,2391,42,2395,2368,2396,0,2819,2788,2820,2418,2391,2419,42,2368,2369,2396,0,2788,2790,2820,2391,2392,2419,42,2369,2371,2396,0,2790,2793,2820,2392,2394,2419,42,2369,2370,2371,0,2790,2792,2793,2392,2393,2394,42,2396,2371,2397,0,2820,2793,2821,2419,2394,2420,42,2397,2371,2398,0,2821,2793,2822,2420,2394,2421,42,2371,2372,2398,0,2793,2795,2822,2394,2395,2421,42,2372,2373,2398,0,2795,2823,2822,2395,2396,2421,42,2398,2373,2399,0,2822,2823,2824,2421,2396,2422,42,2373,2400,2399,0,2797,2825,2826,2396,2423,2422,42,2374,2400,2373,0,2798,2825,2797,2397,2423,2396,42,2401,2400,2374,0,2827,2825,2798,2424,2423,2397,42,2401,2402,2400,0,2827,2828,2825,2424,2425,2423,42,2401,2403,2402,0,2827,2829,2828,2424,2426,2425,42,2401,2404,2403,0,2827,2830,2829,2424,2427,2426,42,2376,2404,2401,0,2800,2830,2827,2399,2427,2424,42,2376,2405,2404,0,2800,2831,2830,2399,2428,2427,42,2376,2406,2405,0,2800,2832,2831,2399,2429,2428,42,2407,2406,2376,0,2833,2832,2800,2430,2429,2399,42,2407,2408,2406,0,2833,2834,2832,2430,2431,2429,42,2407,2409,2408,0,2833,2835,2834,2430,2432,2431,42,2407,2410,2409,0,2833,2836,2835,2430,2433,2432,42,2378,2410,2407,0,2802,2836,2833,2401,2433,2430,42,2378,2411,2410,0,2802,2837,2836,2401,2434,2433,42,2378,2412,2411,0,2802,2838,2837,2401,2435,2434,42,2413,2412,2378,0,2839,2838,2802,2436,2435,2401,42,2413,2414,2412,0,2839,2840,2838,2436,2437,2435,42,2413,2415,2414,0,2839,2841,2840,2436,2438,2437,42,2413,2416,2415,0,2839,2842,2841,2436,2439,2438,42,2380,2416,2413,0,2804,2842,2839,2403,2439,2436,42,2380,2417,2416,0,2804,2843,2842,2403,2440,2439,42,2380,2418,2417,0,2804,2844,2843,2403,2441,2440,42,2419,2418,2380,0,2845,2844,2804,2442,2441,2403,42,2419,2420,2418,0,2845,2846,2844,2442,2443,2441,42,2419,2421,2420,0,2845,2847,2846,2442,2444,2443,42,2419,2422,2421,0,2845,2848,2847,2442,2445,2444,42,2382,2422,2419,0,2806,2848,2845,2405,2445,2442,42,2382,2423,2422,0,2806,2849,2848,2405,2446,2445,42,2383,2423,2382,0,2807,2849,2806,2406,2446,2405,42,2424,2423,2383,0,2850,2849,2807,2447,2446,2406,42,2424,2425,2423,0,2850,2851,2849,2447,2448,2446,42,2424,2426,2425,0,2850,2852,2851,2447,2449,2448,42,2388,2426,2424,0,2812,2852,2850,2411,2449,2447,42,2388,2427,2426,0,2812,2853,2852,2411,2450,2449,42,2388,2389,2427,0,2812,2813,2853,2411,2412,2450,42,2389,2394,2427,0,2813,2818,2853,2412,2417,2450,42,2427,2394,2395,0,2853,2818,2819,2450,2417,2418,42,2427,2395,2428,0,2853,2819,2854,2450,2418,2451,42,2395,2396,2428,0,2819,2820,2854,2418,2419,2451,42,2428,2396,2429,0,2854,2820,2855,2451,2419,2452,42,2429,2396,2397,0,2855,2820,2821,2452,2419,2420,42,2429,2397,2430,0,2855,2821,2856,2452,2420,2453,42,2397,2431,2430,0,2821,2857,2856,2420,2454,2453,42,2397,2405,2431,0,2821,2858,2857,2420,2428,2454,42,2397,2432,2404,0,2821,2859,2860,2420,2455,2427,42,2397,2433,2432,0,2821,2861,2859,2420,2456,2455,42,2398,2433,2397,0,2822,2861,2821,2421,2456,2420,42,2398,2399,2433,0,2822,2824,2861,2421,2422,2456,42,2399,2434,2433,0,2824,2862,2861,2422,2457,2456,42,2399,2435,2434,0,2824,2863,2862,2422,2458,2457,42,2399,2400,2435,0,2826,2825,2864,2422,2423,2458,42,2400,2402,2435,0,2825,2828,2864,2423,2425,2458,42,2435,2402,2436,0,2864,2828,2865,2458,2425,2459,42,2437,2436,2402,0,2866,2865,2828,2460,2459,2425,42,2437,2438,2436,0,2866,2867,2865,2460,2461,2459,42,2437,2439,2438,0,2866,2868,2867,2460,2462,2461,42,2437,2440,2439,0,2866,2869,2868,2460,2463,2462,42,2403,2440,2437,0,2829,2869,2866,2426,2463,2460,42,2403,2441,2440,0,2829,2870,2869,2426,2464,2463,42,2404,2441,2403,0,2830,2870,2829,2427,2464,2426,42,2432,2441,2404,0,2859,2871,2860,2455,2464,2427,42,2432,2442,2441,0,2859,2872,2871,2455,2465,2464,42,2433,2442,2432,0,2861,2872,2859,2456,2465,2455,42,2442,2433,2434,0,2872,2861,2862,2465,2456,2457,42,2434,2443,2442,0,2862,2873,2872,2457,2466,2465,42,2434,2444,2443,0,2862,2874,2873,2457,2467,2466,42,2435,2444,2434,0,2863,2874,2862,2458,2467,2457,42,2436,2444,2435,0,2865,2875,2864,2459,2467,2458,42,2436,2445,2444,0,2865,2876,2875,2459,2468,2467,42,2436,2438,2445,0,2865,2867,2876,2459,2461,2468,42,2446,2445,2438,0,2877,2876,2867,2469,2468,2461,42,2446,2447,2445,0,2877,2878,2876,2469,2470,2468,42,2448,2447,2446,0,2879,2878,2877,2471,2470,2469,42,2449,2447,2448,0,2880,2881,2882,2472,2470,2471,42,2449,2450,2447,0,2880,2883,2881,2472,2473,2470,42,2449,2451,2450,0,2880,2884,2883,2472,2474,2473,42,2451,2449,2448,0,2884,2880,2882,2474,2472,2471,42,2452,2451,2448,0,2885,2884,2882,2475,2474,2471,42,2453,2451,2452,0,2886,2884,2885,2476,2474,2475,42,2451,2453,2443,0,2884,2886,2873,2474,2476,2466,42,2442,2443,2453,0,2872,2873,2886,2465,2466,2476,42,2442,2453,2440,0,2872,2886,2887,2465,2476,2463,42,2440,2453,2452,0,2887,2886,2885,2463,2476,2475,42,2440,2452,2439,0,2869,2888,2868,2463,2475,2462,42,2439,2452,2448,0,2868,2888,2879,2462,2475,2471,42,2439,2448,2454,0,2868,2879,2889,2462,2471,2477,42,2454,2448,2446,0,2889,2879,2877,2477,2471,2469,42,2454,2446,2438,0,2889,2877,2867,2477,2469,2461,42,2454,2438,2439,0,2889,2867,2868,2477,2461,2462,42,2442,2440,2441,0,2872,2887,2871,2465,2463,2464,42,2451,2443,2455,0,2884,2873,2890,2474,2466,2478,42,2444,2455,2443,0,2874,2890,2873,2467,2478,2466,42,2444,2445,2455,0,2874,2891,2890,2467,2468,2478,42,2445,2447,2455,0,2891,2881,2890,2468,2470,2478,42,2455,2447,2450,0,2890,2881,2883,2478,2470,2473,42,2455,2450,2451,0,2890,2883,2884,2478,2473,2474,42,2403,2437,2402,0,2829,2866,2828,2426,2460,2425,42,2406,2431,2405,0,2832,2892,2831,2429,2454,2428,42,2406,2456,2431,0,2832,2893,2892,2429,2479,2454,42,2406,2408,2456,0,2832,2834,2893,2429,2431,2479,42,2408,2457,2456,0,2834,2894,2893,2431,2480,2479,42,2458,2457,2408,0,2895,2894,2834,2481,2480,2431,42,2458,2459,2457,0,2895,2896,2894,2481,2482,2480,42,2458,2460,2459,0,2895,2897,2896,2481,2483,2482,42,2458,2461,2460,0,2895,2898,2897,2481,2484,2483,42,2409,2461,2458,0,2835,2898,2895,2432,2484,2481,42,2409,2462,2461,0,2835,2899,2898,2432,2485,2484,42,2410,2462,2409,0,2836,2899,2835,2433,2485,2432,42,2410,2463,2462,0,2900,2901,2902,2433,2486,2485,42,2429,2463,2410,0,2855,2901,2900,2452,2486,2433,42,2429,2430,2463,0,2855,2856,2901,2452,2453,2486,42,2463,2430,2464,0,2901,2856,2903,2486,2453,2487,42,2464,2430,2465,0,2903,2856,2904,2487,2453,2488,42,2431,2465,2430,0,2857,2904,2856,2454,2488,2453,42,2431,2456,2465,0,2857,2905,2904,2454,2479,2488,42,2456,2466,2465,0,2905,2906,2904,2479,2489,2488,42,2457,2466,2456,0,2894,2907,2893,2480,2489,2479,42,2457,2467,2466,0,2894,2908,2907,2480,2490,2489,42,2459,2467,2457,0,2896,2908,2894,2482,2490,2480,42,2468,2467,2459,0,2909,2908,2896,2491,2490,2482,42,2467,2468,2469,0,2908,2909,2910,2490,2491,2492,42,2470,2469,2468,0,2911,2910,2909,2493,2492,2491,42,2471,2469,2470,0,2912,2913,2914,2494,2492,2493,42,2471,2472,2469,0,2912,2915,2913,2494,2495,2492,42,2473,2472,2471,0,2916,2915,2912,2496,2495,2494,42,2473,2474,2472,0,2916,2917,2915,2496,2497,2495,42,2473,2475,2474,0,2916,2918,2917,2496,2498,2497,42,2473,2476,2475,0,2916,2919,2918,2496,2499,2498,42,2477,2476,2473,0,2920,2919,2916,2500,2499,2496,42,2461,2476,2477,0,2921,2919,2920,2484,2499,2500,42,2464,2476,2461,0,2903,2919,2921,2487,2499,2484,42,2464,2475,2476,0,2903,2918,2919,2487,2498,2499,42,2464,2465,2475,0,2903,2904,2918,2487,2488,2498,42,2465,2466,2475,0,2904,2906,2918,2488,2489,2498,42,2466,2474,2475,0,2906,2917,2918,2489,2497,2498,42,2466,2467,2474,0,2906,2922,2917,2489,2490,2497,42,2467,2469,2474,0,2922,2913,2917,2490,2492,2497,42,2474,2469,2472,0,2917,2913,2915,2497,2492,2495,42,2462,2464,2461,0,2902,2903,2921,2485,2487,2484,42,2463,2464,2462,0,2901,2903,2902,2486,2487,2485,42,2460,2461,2477,0,2897,2898,2923,2483,2484,2500,42,2460,2477,2470,0,2897,2923,2911,2483,2500,2493,42,2477,2473,2470,0,2920,2916,2914,2500,2496,2493,42,2473,2471,2470,0,2916,2912,2914,2496,2494,2493,42,2460,2470,2478,0,2897,2911,2924,2483,2493,2501,42,2478,2470,2468,0,2924,2911,2909,2501,2493,2491,42,2459,2478,2468,0,2896,2924,2909,2482,2501,2491,42,2460,2478,2459,0,2897,2924,2896,2483,2501,2482,42,2411,2412,2479,0,2837,2838,2925,2434,2435,2502,42,2412,2480,2479,0,2838,2926,2925,2435,2503,2502,42,2412,2414,2480,0,2838,2840,2926,2435,2437,2503,42,2414,2481,2480,0,2840,2927,2926,2437,2504,2503,42,2482,2481,2414,0,2928,2927,2840,2505,2504,2437,42,2482,2483,2481,0,2928,2929,2927,2505,2506,2504,42,2484,2483,2482,0,2930,2929,2928,2507,2506,2505,42,2484,2485,2483,0,2930,2931,2929,2507,2508,2506,42,2484,2486,2485,0,2930,2932,2931,2507,2509,2508,42,2484,2487,2486,0,2930,2933,2932,2507,2510,2509,42,2484,2488,2487,0,2930,2934,2933,2507,2511,2510,42,2482,2488,2484,0,2928,2934,2930,2505,2511,2507,42,2415,2488,2482,0,2841,2934,2928,2438,2511,2505,42,2415,2489,2488,0,2841,2935,2934,2438,2512,2511,42,2415,2416,2489,0,2841,2842,2935,2438,2439,2512,42,2416,2490,2489,0,2936,2937,2938,2439,2513,2512,42,2491,2490,2416,0,2939,2937,2936,2514,2513,2439,42,2491,2492,2490,0,2939,2940,2937,2514,2515,2513,42,2491,2429,2492,0,2939,2855,2940,2514,2452,2515,42,2491,2428,2429,0,2939,2854,2855,2514,2451,2452,42,2426,2428,2491,0,2852,2854,2939,2449,2451,2514,42,2427,2428,2426,0,2853,2854,2852,2450,2451,2449,42,2425,2426,2491,0,2851,2852,2939,2448,2449,2514,42,2425,2491,2493,0,2851,2939,2941,2448,2514,2516,42,2491,2494,2493,0,2939,2942,2941,2514,2517,2516,42,2491,2417,2494,0,2939,2943,2942,2514,2440,2517,42,2491,2416,2417,0,2939,2936,2943,2514,2439,2440,42,2417,2418,2494,0,2843,2844,2944,2440,2441,2517,42,2418,2495,2494,0,2844,2945,2944,2441,2518,2517,42,2418,2420,2495,0,2844,2846,2945,2441,2443,2518,42,2420,2496,2495,0,2846,2946,2945,2443,2519,2518,42,2420,2497,2496,0,2846,2947,2946,2443,2520,2519,42,2421,2497,2420,0,2847,2947,2846,2444,2520,2443,42,2421,2498,2497,0,2847,2948,2947,2444,2521,2520,42,2421,2499,2498,0,2847,2949,2948,2444,2522,2521,42,2421,2422,2499,0,2847,2848,2949,2444,2445,2522,42,2422,2500,2499,0,2848,2950,2949,2445,2523,2522,42,2422,2425,2500,0,2848,2851,2950,2445,2448,2523,42,2423,2425,2422,0,2849,2851,2848,2446,2448,2445,42,2425,2493,2500,0,2851,2941,2950,2448,2516,2523,42,2500,2493,2501,0,2950,2941,2951,2523,2516,2524,42,2501,2493,2502,0,2951,2941,2952,2524,2516,2525,42,2494,2502,2493,0,2942,2952,2941,2517,2525,2516,42,2494,2495,2502,0,2942,2953,2952,2517,2518,2525,42,2495,2503,2502,0,2953,2954,2952,2518,2526,2525,42,2495,2496,2503,0,2945,2946,2955,2518,2519,2526,42,2496,2504,2503,0,2946,2956,2955,2519,2527,2526,42,2496,2505,2504,0,2946,2957,2956,2519,2528,2527,42,2497,2505,2496,0,2947,2957,2946,2520,2528,2519,42,2497,2506,2505,0,2947,2958,2957,2520,2529,2528,42,2497,2498,2506,0,2947,2948,2958,2520,2521,2529,42,2506,2498,2507,0,2958,2948,2959,2529,2521,2530,42,2498,2508,2507,0,2948,2960,2959,2521,2531,2530,42,2501,2508,2498,0,2951,2960,2948,2524,2531,2521,42,2501,2509,2508,0,2951,2961,2960,2524,2532,2531,42,2501,2502,2509,0,2951,2952,2961,2524,2525,2532,42,2502,2503,2509,0,2952,2954,2961,2525,2526,2532,42,2503,2510,2509,0,2954,2962,2961,2526,2533,2532,42,2503,2504,2510,0,2954,2963,2962,2526,2527,2533,42,2504,2511,2510,0,2963,2964,2962,2527,2534,2533,42,2504,2512,2511,0,2956,2965,2966,2527,2535,2534,42,2505,2512,2504,0,2957,2965,2956,2528,2535,2527,42,2505,2513,2512,0,2957,2967,2965,2528,2536,2535,42,2506,2513,2505,0,2958,2967,2957,2529,2536,2528,42,2506,2514,2513,0,2958,2968,2967,2529,2537,2536,42,2506,2507,2514,0,2958,2959,2968,2529,2530,2537,42,2507,2515,2514,0,2959,2969,2968,2530,2538,2537,42,2507,2508,2515,0,2959,2960,2969,2530,2531,2538,42,2508,2509,2515,0,2960,2961,2969,2531,2532,2538,42,2515,2509,2510,0,2969,2961,2962,2538,2532,2533,42,2515,2510,2516,0,2969,2962,2970,2538,2533,2539,42,2510,2511,2516,0,2962,2964,2970,2533,2534,2539,42,2517,2516,2511,0,2971,2970,2964,2540,2539,2534,42,2515,2516,2517,0,2969,2970,2971,2538,2539,2540,42,2515,2517,2514,0,2969,2971,2968,2538,2540,2537,42,2517,2511,2514,0,2971,2964,2968,2540,2534,2537,42,2514,2511,2512,0,2968,2966,2965,2537,2534,2535,42,2513,2514,2512,0,2967,2968,2965,2536,2537,2535,42,2501,2498,2499,0,2951,2948,2949,2524,2521,2522,42,2499,2500,2501,0,2949,2950,2951,2522,2523,2524,42,2429,2479,2492,0,2855,2972,2940,2452,2502,2515,42,2479,2518,2492,0,2972,2973,2940,2502,2541,2515,42,2479,2480,2518,0,2972,2974,2973,2502,2503,2541,42,2480,2519,2518,0,2974,2975,2973,2503,2542,2541,42,2481,2519,2480,0,2927,2976,2926,2504,2542,2503,42,2481,2520,2519,0,2927,2977,2976,2504,2543,2542,42,2483,2520,2481,0,2929,2977,2927,2506,2543,2504,42,2521,2520,2483,0,2978,2977,2929,2544,2543,2506,42,2521,2522,2520,0,2978,2979,2977,2544,2545,2543,42,2486,2522,2521,0,2932,2979,2978,2509,2545,2544,42,2523,2522,2486,0,2980,2981,2982,2546,2545,2509,42,2523,2524,2522,0,2980,2983,2981,2546,2547,2545,42,2525,2524,2523,0,2984,2983,2980,2548,2547,2546,42,2525,2526,2524,0,2984,2985,2983,2548,2549,2547,42,2525,2527,2526,0,2984,2986,2985,2548,2550,2549,42,2528,2527,2525,0,2987,2986,2984,2551,2550,2548,42,2529,2527,2528,0,2988,2986,2987,2552,2550,2551,42,2529,2518,2527,0,2988,2973,2986,2552,2541,2550,42,2529,2492,2518,0,2988,2940,2973,2552,2515,2541,42,2490,2492,2529,0,2937,2940,2988,2513,2515,2552,42,2490,2529,2489,0,2937,2988,2938,2513,2552,2512,42,2489,2529,2488,0,2938,2988,2989,2512,2552,2511,42,2529,2528,2488,0,2988,2987,2989,2552,2551,2511,42,2488,2528,2487,0,2989,2987,2990,2511,2551,2510,42,2487,2528,2525,0,2990,2987,2984,2510,2551,2548,42,2487,2525,2486,0,2990,2984,2982,2510,2548,2509,42,2525,2523,2486,0,2984,2980,2982,2548,2546,2509,42,2518,2519,2527,0,2973,2975,2986,2541,2542,2550,42,2519,2526,2527,0,2975,2985,2986,2542,2549,2550,42,2519,2520,2526,0,2975,2991,2985,2542,2543,2549,42,2520,2522,2526,0,2991,2981,2985,2543,2545,2549,42,2526,2522,2524,0,2985,2981,2983,2549,2545,2547,42,2486,2521,2485,0,2932,2978,2931,2509,2544,2508,42,2483,2485,2521,0,2929,2931,2978,2506,2508,2544,42,2415,2482,2414,0,2841,2928,2840,2438,2505,2437,42,2409,2458,2408,0,2835,2895,2834,2432,2481,2431,42,2388,2424,2383,0,2812,2850,2807,2411,2447,2406,42,2388,2383,2385,0,2812,2807,2809,2411,2406,2408,42,2382,2419,2380,0,2806,2845,2804,2405,2442,2403,42,2380,2413,2378,0,2804,2839,2802,2403,2436,2401,42,2378,2407,2376,0,2802,2833,2800,2401,2430,2399,42,2374,2376,2401,0,2798,2800,2827,2397,2399,2424,42,2397,2404,2405,4,2992,2993,2994,2420,2427,2428,42,2429,2410,2411,4,2995,2996,2997,2452,2433,2434,42,2429,2411,2479,4,2998,2999,3000,2452,2434,2502,42,2530,2531,2532,0,3001,3002,3003,2553,2554,2555,42,2530,2533,2531,0,3004,3005,3006,2553,2556,2554,42,2533,2530,2534,0,3005,3004,3007,2556,2553,2557,42,2535,2533,2534,0,3008,3005,3007,2558,2556,2557,42,2531,2533,2535,0,3006,3005,3008,2554,2556,2558,42,2531,2535,2536,0,3006,3008,3009,2554,2558,2559,42,2536,2535,2537,0,3009,3008,3010,2559,2558,2560,42,2537,2535,2538,0,3010,3008,3011,2560,2558,2561,42,2538,2535,2539,0,3011,3008,3012,2561,2558,2562,42,2535,2534,2539,0,3008,3007,3012,2558,2557,2562,42,2530,2539,2534,0,3004,3012,3007,2553,2562,2557,42,2539,2530,2540,0,3012,3004,3013,2562,2553,2563,42,2540,2541,2539,0,3013,3014,3012,2563,2564,2562,42,2542,2541,2540,0,3015,3014,3013,2565,2564,2563,42,2542,2543,2541,0,3015,3016,3014,2565,2566,2564,42,2542,2544,2543,0,3015,3017,3016,2565,2567,2566,42,2545,2544,2542,0,3018,3019,3020,2568,2567,2565,42,2546,2544,2545,0,3021,3019,3018,2569,2567,2568,42,2546,2547,2544,0,3021,3022,3019,2569,2570,2567,42,2546,2548,2547,0,3021,3023,3022,2569,2571,2570,42,2548,2546,2549,0,3023,3021,3024,2571,2569,2572,42,2549,2546,2550,0,3024,3021,3025,2572,2569,2573,42,2546,2551,2550,0,3021,3026,3025,2569,2574,2573,42,2546,2545,2551,0,3021,3018,3026,2569,2568,2574,42,2551,2545,2552,0,3026,3018,3027,2574,2568,2575,42,2552,2545,2553,0,3027,3018,3028,2575,2568,2576,42,2545,2542,2553,0,3018,3020,3028,2568,2565,2576,42,2553,2542,2540,0,3028,3020,3029,2576,2565,2563,42,2553,2540,2532,0,3028,3029,3003,2576,2563,2555,42,2540,2530,2532,0,3029,3001,3003,2563,2553,2555,42,2553,2532,2554,0,3028,3003,3030,2576,2555,2577,42,2532,2531,2554,0,3003,3002,3030,2555,2554,2577,42,2552,2554,2531,0,3027,3030,3002,2575,2577,2554,42,2552,2553,2554,0,3027,3028,3030,2575,2576,2577,42,2552,2531,2536,0,3027,3002,3031,2575,2554,2559,42,2552,2536,2551,0,3027,3031,3026,2575,2559,2574,42,2551,2536,2537,0,3026,3031,3032,2574,2559,2560,42,2551,2537,2550,0,3026,3032,3025,2574,2560,2573,42,2550,2537,2555,0,3025,3032,3033,2573,2560,2578,42,2537,2556,2555,0,3010,3034,3035,2560,2579,2578,42,2537,2538,2556,0,3010,3011,3034,2560,2561,2579,42,2541,2556,2538,0,3014,3034,3011,2564,2579,2561,42,2541,2543,2556,0,3014,3016,3034,2564,2566,2579,42,2557,2556,2543,0,3036,3034,3016,2580,2579,2566,42,2557,2558,2556,0,3036,3037,3034,2580,2581,2579,42,2559,2558,2557,0,3038,3037,3036,2582,2581,2580,42,2560,2558,2559,0,3039,3037,3038,2583,2581,2582,42,2560,2561,2558,0,3039,3040,3037,2583,2584,2581,42,2562,2561,2560,0,3041,3040,3039,2585,2584,2583,42,2562,2563,2561,0,3041,3042,3040,2585,2586,2584,42,2564,2563,2562,0,3043,3042,3041,2587,2586,2585,42,2564,2565,2563,0,3043,3044,3042,2587,2588,2586,42,2566,2565,2564,0,3045,3044,3043,2589,2588,2587,42,2567,2565,2566,0,3046,3044,3045,2590,2588,2589,42,2567,2568,2565,0,3046,3047,3044,2590,2591,2588,42,2569,2568,2567,0,3048,3047,3046,2592,2591,2590,42,2569,2570,2568,0,3048,3049,3047,2592,2593,2591,42,2569,2571,2570,0,3048,3050,3049,2592,2594,2593,42,2572,2571,2569,0,3051,3050,3048,2595,2594,2592,42,2573,2571,2572,0,3052,3050,3051,2596,2594,2595,42,2573,2574,2571,0,3052,3053,3050,2596,2597,2594,42,2573,2575,2574,0,3052,3054,3053,2596,2598,2597,42,2576,2575,2573,0,3055,3054,3052,2599,2598,2596,42,2577,2575,2576,0,3056,3054,3055,2600,2598,2599,42,2577,2578,2575,0,3056,3057,3054,2600,2601,2598,42,2577,2579,2578,0,3056,3058,3057,2600,2602,2601,42,2580,2579,2577,0,3059,3060,3056,2603,2602,2600,42,2579,2580,2581,0,3060,3059,3061,2602,2603,2604,42,2580,2582,2581,0,3059,3062,3061,2603,2605,2604,42,2582,2580,2583,0,3062,3059,3063,2605,2603,2606,42,2583,2580,2577,0,3063,3059,3056,2606,2603,2600,42,2577,2584,2583,0,3056,3064,3063,2600,2607,2606,42,2577,2576,2584,0,3056,3055,3064,2600,2599,2607,42,2584,2576,2585,0,3064,3055,3065,2607,2599,2608,42,2585,2576,2573,0,3065,3055,3052,2608,2599,2596,42,2585,2573,2586,0,3065,3052,3066,2608,2596,2609,42,2573,2572,2586,0,3052,3051,3066,2596,2595,2609,42,2586,2572,2587,0,3066,3051,3067,2609,2595,2610,42,2587,2572,2569,0,3067,3051,3048,2610,2595,2592,42,2587,2569,2588,0,3067,3048,3068,2610,2592,2611,42,2588,2569,2567,0,3068,3048,3046,2611,2592,2590,42,2588,2567,2566,0,3068,3046,3045,2611,2590,2589,42,2589,2588,2566,0,3069,3068,3045,2612,2611,2589,42,2589,2590,2588,0,3069,3070,3068,2612,2613,2611,42,2589,2591,2590,0,3069,3071,3070,2612,2614,2613,42,2592,2591,2589,0,3072,3071,3069,2615,2614,2612,42,2592,2593,2591,0,3072,3073,3071,2615,2616,2614,42,2594,2593,2592,0,3074,3073,3072,2617,2616,2615,42,2594,2595,2593,0,3074,3075,3073,2617,2618,2616,42,2596,2595,2594,0,3076,3075,3074,2619,2618,2617,42,2596,2597,2595,0,3076,3077,3075,2619,2620,2618,42,2598,2597,2596,0,3078,3077,3076,2621,2620,2619,42,2598,2599,2597,0,3078,3079,3077,2621,2622,2620,42,2599,2600,2597,0,3079,3080,3077,2622,2623,2620,42,2600,2601,2597,0,3080,3081,3077,2623,2624,2620,42,2600,2602,2601,0,3080,3082,3081,2623,2625,2624,42,2600,2603,2602,0,3080,3083,3082,2623,2626,2625,42,2603,2604,2602,0,3083,3084,3082,2626,2627,2625,42,2605,2604,2603,0,3085,3084,3083,2628,2627,2626,42,2605,2606,2604,0,3086,3087,3088,2628,2629,2627,42,2607,2606,2605,0,3089,3087,3086,2630,2629,2628,42,2607,2608,2606,0,3089,3090,3087,2630,2631,2629,42,2609,2608,2607,0,3091,3090,3089,2632,2631,2630,42,2609,2610,2608,0,3091,3092,3090,2632,2633,2631,42,2611,2610,2609,0,3093,3092,3091,2634,2633,2632,42,2612,2610,2611,0,3094,3092,3093,2635,2633,2634,42,2612,2613,2610,0,3094,3095,3092,2635,2636,2633,42,2614,2613,2612,0,3096,3095,3094,2637,2636,2635,42,2614,2615,2613,0,3096,3097,3095,2637,2638,2636,42,2614,2616,2615,0,3096,3098,3097,2637,2639,2638,42,2616,2617,2615,0,3098,3099,3097,2639,2640,2638,42,2598,2617,2616,0,3078,3099,3098,2621,2640,2639,42,2598,2596,2617,0,3078,3076,3099,2621,2619,2640,42,2596,2618,2617,0,3076,3100,3099,2619,2641,2640,42,2594,2618,2596,0,3074,3100,3076,2617,2641,2619,42,2592,2618,2594,0,3072,3100,3074,2615,2641,2617,42,2592,2619,2618,0,3072,3101,3100,2615,2642,2641,42,2592,2589,2619,0,3072,3069,3101,2615,2612,2642,42,2619,2589,2566,0,3101,3069,3045,2642,2612,2589,42,2619,2566,2620,0,3101,3045,3102,2642,2589,2643,42,2620,2566,2564,0,3102,3045,3043,2643,2589,2587,42,2620,2564,2621,0,3102,3043,3103,2643,2587,2644,42,2621,2564,2622,0,3103,3043,3104,2644,2587,2645,42,2622,2564,2562,0,3104,3043,3041,2645,2587,2585,42,2622,2562,2623,0,3104,3041,3105,2645,2585,2646,42,2623,2562,2560,0,3105,3041,3039,2646,2585,2583,42,2623,2560,2624,0,3105,3039,3106,2646,2583,2647,42,2624,2560,2559,0,3106,3039,3038,2647,2583,2582,42,2625,2624,2559,0,3107,3106,3038,2648,2647,2582,42,2625,2626,2624,0,3107,3108,3106,2648,2649,2647,42,2627,2626,2625,0,3109,3110,3111,2650,2649,2648,42,2627,2628,2626,0,3109,3112,3110,2650,2651,2649,42,2628,2627,2629,0,3112,3109,3113,2651,2650,2652,42,2629,2627,2549,0,3113,3109,3024,2652,2650,2572,42,2627,2548,2549,0,3109,3023,3024,2650,2571,2572,42,2548,2627,2625,0,3023,3109,3111,2571,2650,2648,42,2548,2625,2547,0,3023,3111,3022,2571,2648,2570,42,2547,2625,2559,0,3114,3107,3038,2570,2648,2582,42,2547,2559,2557,0,3114,3038,3036,2570,2582,2580,42,2544,2547,2557,0,3017,3114,3036,2567,2570,2580,42,2544,2557,2543,0,3017,3036,3016,2567,2580,2566,42,2549,2630,2629,0,3024,3115,3113,2572,2653,2652,42,2549,2550,2630,0,3024,3025,3115,2572,2573,2653,42,2630,2550,2631,0,3115,3025,3116,2653,2573,2654,42,2550,2632,2631,0,3025,3117,3116,2573,2655,2654,42,2550,2555,2632,0,3025,3033,3117,2573,2578,2655,42,2555,2633,2632,0,3035,3118,3119,2578,2656,2655,42,2555,2556,2633,0,3035,3034,3118,2578,2579,2656,42,2556,2634,2633,0,3034,3120,3118,2579,2657,2656,42,2558,2634,2556,0,3037,3120,3034,2581,2657,2579,42,2558,2635,2634,0,3037,3121,3120,2581,2658,2657,42,2561,2635,2558,0,3040,3121,3037,2584,2658,2581,42,2561,2636,2635,0,3040,3122,3121,2584,2659,2658,42,2563,2636,2561,0,3042,3122,3040,2586,2659,2584,42,2563,2568,2636,0,3042,3047,3122,2586,2591,2659,42,2565,2568,2563,0,3044,3047,3042,2588,2591,2586,42,2568,2637,2636,0,3047,3123,3122,2591,2660,2659,42,2568,2570,2637,0,3047,3049,3123,2591,2593,2660,42,2570,2638,2637,0,3049,3124,3123,2593,2661,2660,42,2570,2571,2638,0,3049,3050,3124,2593,2594,2661,42,2571,2639,2638,0,3050,3125,3124,2594,2662,2661,42,2571,2574,2639,0,3050,3053,3125,2594,2597,2662,42,2639,2574,2640,0,3125,3053,3126,2662,2597,2663,42,2640,2574,2575,0,3126,3053,3054,2663,2597,2598,42,2640,2575,2641,0,3126,3054,3127,2663,2598,2664,42,2641,2575,2578,0,3127,3054,3057,2664,2598,2601,42,2579,2641,2578,0,3058,3127,3057,2602,2664,2601,42,2579,2640,2641,0,3058,3126,3127,2602,2663,2664,42,2579,2581,2640,0,3058,3128,3126,2602,2604,2663,42,2581,2639,2640,0,3128,3125,3126,2604,2662,2663,42,2581,2642,2639,0,3128,3129,3125,2604,2665,2662,42,2582,2642,2581,0,3062,3130,3061,2605,2665,2604,42,2582,2643,2642,0,3062,3131,3130,2605,2666,2665,42,2643,2582,2584,0,3131,3062,3064,2666,2605,2607,42,2582,2583,2584,0,3062,3063,3064,2605,2606,2607,42,2643,2584,2585,0,3131,3064,3065,2666,2607,2608,42,2644,2643,2585,0,3132,3131,3065,2667,2666,2608,42,2643,2644,2645,0,3131,3132,3133,2666,2667,2668,42,2644,2646,2645,0,3132,3134,3133,2667,2669,2668,42,2644,2647,2646,0,3132,3135,3134,2667,2670,2669,42,2586,2647,2644,0,3066,3135,3132,2609,2670,2667,42,2587,2647,2586,0,3067,3135,3066,2610,2670,2609,42,2590,2647,2587,0,3070,3135,3067,2613,2670,2610,42,2647,2590,2648,0,3135,3070,3136,2670,2613,2671,42,2590,2649,2648,0,3070,3137,3136,2613,2672,2671,42,2650,2649,2590,0,3138,3137,3070,2673,2672,2613,42,2650,2651,2649,0,3138,3139,3137,2673,2674,2672,42,2652,2651,2650,0,3140,3139,3138,2675,2674,2673,42,2653,2651,2652,0,3141,3139,3140,2676,2674,2675,42,2653,2654,2651,0,3142,3143,3144,2676,2677,2674,42,2653,2655,2654,0,3142,3145,3143,2676,2678,2677,42,2653,2656,2655,0,3142,3146,3145,2676,2679,2678,42,2657,2656,2653,0,3147,3146,3142,2680,2679,2676,42,2658,2656,2657,0,3148,3146,3147,2681,2679,2680,42,2658,2659,2656,0,3148,3149,3146,2681,2682,2679,42,2660,2659,2658,0,3150,3149,3148,2683,2682,2681,42,2660,2661,2659,0,3150,3151,3149,2683,2684,2682,42,2662,2661,2660,0,3152,3151,3150,2685,2684,2683,42,2662,2656,2661,0,3152,3146,3151,2685,2679,2684,42,2662,2655,2656,0,3152,3145,3146,2685,2678,2679,42,2663,2655,2662,0,3153,3145,3152,2686,2678,2685,42,2663,2654,2655,0,3153,3143,3145,2686,2677,2678,42,2664,2654,2663,0,3154,3143,3153,2687,2677,2686,42,2665,2654,2664,0,3155,3143,3154,2688,2677,2687,42,2649,2654,2665,0,3156,3143,3155,2672,2677,2688,42,2651,2654,2649,0,3144,3143,3156,2674,2677,2672,42,2649,2665,2636,0,3156,3155,3122,2672,2688,2659,42,2636,2665,2666,0,3122,3155,3157,2659,2688,2689,42,2665,2664,2666,0,3155,3154,3157,2688,2687,2689,42,2667,2666,2664,0,3158,3157,3154,2690,2689,2687,42,2667,2668,2666,0,3158,3159,3157,2690,2691,2689,42,2669,2668,2667,0,3160,3161,3162,2692,2691,2690,42,2669,2670,2668,0,3160,3163,3161,2692,2693,2691,42,2652,2670,2669,0,3140,3163,3160,2675,2693,2692,42,2650,2670,2652,0,3138,3163,3140,2673,2693,2675,42,2671,2670,2650,0,3164,3163,3138,2694,2693,2673,42,2670,2671,2672,0,3163,3164,3165,2693,2694,2695,42,2671,2673,2672,0,3164,3166,3165,2694,2696,2695,42,2674,2673,2671,0,3167,3166,3164,2697,2696,2694,42,2674,2675,2673,0,3167,3168,3166,2697,2698,2696,42,2676,2675,2674,0,3169,3168,3167,2699,2698,2697,42,2677,2675,2676,0,3170,3168,3169,2700,2698,2699,42,2677,2678,2675,0,3171,3172,3173,2700,2701,2698,42,2677,2679,2678,0,3171,3174,3172,2700,2702,2701,42,2677,2680,2679,0,3171,3175,3174,2700,2703,2702,42,2681,2680,2677,0,3176,3175,3171,2704,2703,2700,42,2682,2680,2681,0,3177,3175,3176,2705,2703,2704,42,2682,2683,2680,0,3177,3178,3175,2705,2706,2703,42,2684,2683,2682,0,3179,3178,3177,2707,2706,2705,42,2684,2685,2683,0,3179,3180,3178,2707,2708,2706,42,2686,2685,2684,0,3181,3180,3179,2709,2708,2707,42,2686,2680,2685,0,3181,3175,3180,2709,2703,2708,42,2686,2679,2680,0,3181,3174,3175,2709,2702,2703,42,2687,2679,2686,0,3182,3174,3181,2710,2702,2709,42,2678,2679,2687,0,3172,3174,3182,2701,2702,2710,42,2688,2678,2687,0,3183,3172,3182,2711,2701,2710,42,2689,2678,2688,0,3184,3172,3183,2712,2701,2711,42,2673,2678,2689,0,3185,3172,3184,2696,2701,2712,42,2675,2678,2673,0,3173,3172,3185,2698,2701,2696,42,2673,2689,2635,0,3185,3184,3121,2696,2712,2658,42,2635,2689,2690,0,3121,3184,3186,2658,2712,2713,42,2689,2688,2690,0,3184,3183,3186,2712,2711,2713,42,2691,2690,2688,0,3187,3186,3183,2714,2713,2711,42,2691,2692,2690,0,3187,3188,3186,2714,2715,2713,42,2693,2692,2691,0,3189,3190,3191,2716,2715,2714,42,2693,2694,2692,0,3189,3192,3190,2716,2717,2715,42,2676,2694,2693,0,3169,3192,3189,2699,2717,2716,42,2674,2694,2676,0,3167,3192,3169,2697,2717,2699,42,2695,2694,2674,0,3193,3192,3167,2718,2717,2697,42,2694,2695,2696,0,3192,3193,3194,2717,2718,2719,42,2697,2696,2695,0,3195,3194,3193,2720,2719,2718,42,2697,2634,2696,0,3196,3120,3197,2720,2657,2719,42,2697,2698,2634,0,3196,3198,3120,2720,2721,2657,42,2697,2699,2698,0,3196,3199,3198,2720,2722,2721,42,2700,2699,2697,0,3200,3199,3196,2723,2722,2720,42,2701,2699,2700,0,3201,3199,3200,2724,2722,2723,42,2701,2702,2699,0,3201,3202,3199,2724,2725,2722,42,2701,2703,2702,0,3201,3203,3202,2724,2726,2725,42,2704,2703,2701,0,3204,3203,3201,2727,2726,2724,42,2705,2703,2704,0,3205,3203,3204,2728,2726,2727,42,2705,2706,2703,0,3205,3206,3203,2728,2729,2726,42,2707,2706,2705,0,3207,3206,3205,2730,2729,2728,42,2707,2708,2706,0,3207,3208,3206,2730,2731,2729,42,2709,2708,2707,0,3209,3208,3207,2732,2731,2730,42,2709,2703,2708,0,3209,3203,3208,2732,2726,2731,42,2709,2702,2703,0,3209,3202,3203,2732,2725,2726,42,2710,2702,2709,0,3210,3202,3209,2733,2725,2732,42,2699,2702,2710,0,3199,3202,3210,2722,2725,2733,42,2711,2699,2710,0,3211,3199,3210,2734,2722,2733,42,2711,2698,2699,0,3211,3198,3199,2734,2721,2722,42,2712,2698,2711,0,3212,3198,3211,2735,2721,2734,42,2634,2698,2712,0,3120,3198,3212,2657,2721,2735,42,2634,2712,2633,0,3120,3212,3118,2657,2735,2656,42,2713,2633,2712,0,3213,3118,3212,2736,2656,2735,42,2713,2632,2633,0,3213,3119,3118,2736,2655,2656,42,2714,2632,2713,0,3214,3117,3215,2737,2655,2736,42,2714,2631,2632,0,3214,3116,3117,2737,2654,2655,42,2631,2714,2715,0,3116,3214,3216,2654,2737,2738,42,2715,2714,2716,0,3216,3214,3217,2738,2737,2739,42,2716,2714,2717,0,3217,3214,3218,2739,2737,2740,42,2717,2714,2713,0,3218,3214,3215,2740,2737,2736,42,2717,2713,2718,0,3218,3215,3219,2740,2736,2741,42,2718,2713,2712,0,3220,3213,3212,2741,2736,2735,42,2718,2712,2711,0,3220,3212,3211,2741,2735,2734,42,2719,2718,2711,0,3221,3220,3211,2742,2741,2734,42,2720,2718,2719,0,3222,3219,3223,2743,2741,2742,42,2720,2717,2718,0,3222,3218,3219,2743,2740,2741,42,2717,2720,2721,0,3218,3222,3224,2740,2743,2744,42,2720,2722,2721,0,3222,3225,3224,2743,2745,2744,42,2720,2723,2722,0,3222,3226,3225,2743,2746,2745,42,2723,2720,2719,0,3226,3222,3223,2746,2743,2742,42,2723,2719,2724,0,3226,3223,3227,2746,2742,2747,42,2724,2719,2710,0,3228,3221,3210,2747,2742,2733,42,2719,2711,2710,0,3221,3211,3210,2742,2734,2733,42,2724,2710,2709,0,3228,3210,3209,2747,2733,2732,42,2724,2709,2707,0,3228,3209,3207,2747,2732,2730,42,2725,2724,2707,0,3229,3227,3230,2748,2747,2730,42,2725,2723,2724,0,3229,3226,3227,2748,2746,2747,42,2723,2725,2726,0,3226,3229,3231,2746,2748,2749,42,2726,2725,2705,0,3231,3229,3232,2749,2748,2728,42,2725,2707,2705,0,3229,3230,3232,2748,2730,2728,42,2726,2705,2722,0,3231,3232,3225,2749,2728,2745,42,2705,2704,2722,0,3232,3233,3225,2728,2727,2745,42,2722,2704,2721,0,3225,3233,3224,2745,2727,2744,42,2721,2704,2701,0,3224,3233,3234,2744,2727,2724,42,2721,2701,2716,0,3224,3234,3217,2744,2724,2739,42,2701,2700,2716,0,3234,3235,3217,2724,2723,2739,42,2716,2700,2715,0,3217,3235,3216,2739,2723,2738,42,2715,2700,2697,0,3216,3235,3195,2738,2723,2720,42,2715,2697,2695,0,3216,3195,3193,2738,2720,2718,42,2695,2631,2715,0,3193,3116,3216,2718,2654,2738,42,2630,2631,2695,0,3115,3116,3193,2653,2654,2718,42,2727,2630,2695,0,3236,3115,3193,2750,2653,2718,42,2593,2630,2727,0,3073,3115,3236,2616,2653,2750,42,2629,2630,2593,0,3113,3115,3073,2652,2653,2616,42,2595,2629,2593,0,3075,3113,3073,2618,2652,2616,42,2595,2728,2629,0,3075,3237,3113,2618,2751,2652,42,2601,2728,2595,0,3081,3237,3075,2624,2751,2618,42,2601,2628,2728,0,3081,3112,3237,2624,2651,2751,42,2601,2602,2628,0,3081,3082,3112,2624,2625,2651,42,2628,2602,2626,0,3112,3082,3110,2651,2625,2649,42,2602,2604,2626,0,3082,3084,3110,2625,2627,2649,42,2626,2604,2624,0,3108,3088,3106,2649,2627,2647,42,2604,2606,2624,0,3088,3087,3106,2627,2629,2647,42,2606,2623,2624,0,3087,3105,3106,2629,2646,2647,42,2608,2623,2606,0,3090,3105,3087,2631,2646,2629,42,2608,2622,2623,0,3090,3104,3105,2631,2645,2646,42,2610,2622,2608,0,3092,3104,3090,2633,2645,2631,42,2610,2621,2622,0,3092,3103,3104,2633,2644,2645,42,2613,2621,2610,0,3095,3103,3092,2636,2644,2633,42,2615,2621,2613,0,3097,3103,3095,2638,2644,2636,42,2729,2621,2615,0,3238,3103,3097,2752,2644,2638,42,2620,2621,2729,0,3102,3103,3238,2643,2644,2752,42,2619,2620,2729,0,3101,3102,3238,2642,2643,2752,42,2619,2729,2618,0,3101,3238,3100,2642,2752,2641,42,2618,2729,2617,0,3100,3238,3099,2641,2752,2640,42,2617,2729,2615,0,3099,3238,3097,2640,2752,2638,42,2728,2628,2629,0,3237,3112,3113,2751,2651,2652,42,2597,2601,2595,0,3077,3081,3075,2620,2624,2618,42,2593,2727,2591,0,3073,3236,3071,2616,2750,2614,42,2591,2727,2671,0,3071,3236,3164,2614,2750,2694,42,2727,2695,2671,0,3236,3193,3164,2750,2718,2694,42,2671,2695,2674,0,3164,3193,3167,2694,2718,2697,42,2591,2671,2590,0,3071,3164,3070,2614,2694,2613,42,2590,2671,2650,0,3070,3164,3138,2613,2694,2673,42,2717,2721,2716,0,3218,3224,3217,2740,2744,2739,42,2723,2726,2722,0,3226,3231,3225,2746,2749,2745,42,2703,2706,2708,0,3203,3206,3208,2726,2729,2731,42,2694,2696,2692,0,3192,3194,3190,2717,2719,2715,42,2692,2634,2690,0,3188,3120,3186,2715,2657,2713,42,2635,2690,2634,0,3121,3186,3120,2658,2713,2657,42,2676,2693,2730,0,3169,3189,3239,2699,2716,2753,42,2693,2731,2730,0,3189,3240,3239,2716,2754,2753,42,2731,2693,2691,0,3240,3189,3191,2754,2716,2714,42,2731,2691,2732,0,3240,3191,3241,2754,2714,2755,42,2732,2691,2688,0,3242,3187,3183,2755,2714,2711,42,2732,2688,2687,0,3242,3183,3182,2755,2711,2710,42,2733,2732,2687,0,3243,3242,3182,2756,2755,2710,42,2734,2732,2733,0,3244,3241,3245,2757,2755,2756,42,2734,2731,2732,0,3244,3240,3241,2757,2754,2755,42,2731,2734,2735,0,3240,3244,3246,2754,2757,2758,42,2734,2736,2735,0,3244,3247,3246,2757,2759,2758,42,2734,2737,2736,0,3244,3248,3247,2757,2760,2759,42,2737,2734,2733,0,3248,3244,3245,2760,2757,2756,42,2737,2733,2684,0,3248,3245,3249,2760,2756,2707,42,2684,2733,2686,0,3179,3243,3181,2707,2756,2709,42,2733,2687,2686,0,3243,3182,3181,2756,2710,2709,42,2737,2684,2682,0,3248,3249,3250,2760,2707,2705,42,2736,2737,2682,0,3247,3248,3250,2759,2760,2705,42,2736,2682,2735,0,3247,3250,3246,2759,2705,2758,42,2682,2681,2735,0,3250,3251,3246,2705,2704,2758,42,2735,2681,2730,0,3246,3251,3239,2758,2704,2753,42,2730,2681,2677,0,3239,3251,3170,2753,2704,2700,42,2730,2677,2676,0,3239,3170,3169,2753,2700,2699,42,2731,2735,2730,0,3240,3246,3239,2754,2758,2753,42,2673,2635,2672,0,3185,3121,3252,2696,2658,2695,42,2670,2672,2668,0,3163,3165,3161,2693,2695,2691,42,2668,2635,2666,0,3159,3121,3157,2691,2658,2689,42,2636,2666,2635,0,3122,3157,3121,2659,2689,2658,42,2680,2683,2685,0,3175,3178,3180,2703,2706,2708,42,2652,2669,2738,0,3140,3160,3253,2675,2692,2761,42,2669,2739,2738,0,3160,3254,3253,2692,2762,2761,42,2739,2669,2667,0,3254,3160,3162,2762,2692,2690,42,2739,2667,2740,0,3254,3162,3255,2762,2690,2763,42,2740,2667,2664,0,3256,3158,3154,2763,2690,2687,42,2740,2664,2663,0,3256,3154,3153,2763,2687,2686,42,2741,2740,2663,0,3257,3256,3153,2764,2763,2686,42,2742,2740,2741,0,3258,3255,3259,2765,2763,2764,42,2742,2739,2740,0,3258,3254,3255,2765,2762,2763,42,2739,2742,2743,0,3254,3258,3260,2762,2765,2766,42,2742,2744,2743,0,3258,3261,3260,2765,2767,2766,42,2742,2745,2744,0,3258,3262,3261,2765,2768,2767,42,2745,2742,2741,0,3262,3258,3259,2768,2765,2764,42,2745,2741,2660,0,3262,3259,3263,2768,2764,2683,42,2660,2741,2662,0,3150,3257,3152,2683,2764,2685,42,2741,2663,2662,0,3257,3153,3152,2764,2686,2685,42,2745,2660,2658,0,3262,3263,3264,2768,2683,2681,42,2744,2745,2658,0,3261,3262,3264,2767,2768,2681,42,2743,2744,2658,0,3260,3261,3264,2766,2767,2681,42,2658,2657,2743,0,3264,3265,3260,2681,2680,2766,42,2743,2657,2738,0,3260,3265,3253,2766,2680,2761,42,2738,2657,2653,0,3253,3265,3141,2761,2680,2676,42,2738,2653,2652,0,3253,3141,3140,2761,2676,2675,42,2739,2743,2738,0,3254,3260,3253,2762,2766,2761,42,2649,2636,2648,0,3156,3122,3266,2672,2659,2671,42,2646,2648,2636,0,3267,3266,3122,2669,2671,2659,42,2647,2648,2646,0,3135,3136,3134,2670,2671,2669,42,2646,2636,2637,0,3267,3122,3123,2669,2659,2660,42,2645,2646,2637,0,3268,3267,3123,2668,2669,2660,42,2645,2637,2638,0,3268,3123,3124,2668,2660,2661,42,2642,2645,2638,0,3129,3268,3124,2665,2668,2661,42,2643,2645,2642,0,3131,3133,3130,2666,2668,2665,42,2642,2638,2639,0,3129,3124,3125,2665,2661,2662,42,2661,2656,2659,0,3151,3146,3149,2684,2679,2682,42,2588,2590,2587,0,3068,3070,3067,2611,2613,2610,42,2586,2644,2585,0,3066,3132,3065,2609,2667,2608,42,2538,2539,2541,0,3011,3012,3014,2561,2562,2564,42,2692,2696,2634,4,3269,3270,3271,2715,2719,2657,42,2668,2672,2635,4,3272,3273,3274,2691,2695,2658] } ================================================ FILE: examples/models/male02/Male02_slim.js ================================================ { "metadata" : { "formatVersion" : 3.1, "sourceFile" : "male02.obj", "generatedBy" : "OBJConverter", "vertices" : 2746, "faces" : 5004, "normals" : 2769, "colors" : 0, "uvs" : 3275, "materials" : 5 }, "scale" : 100.000000, "materials": [ { "DbgColor" : 15658734, "DbgIndex" : 0, "DbgName" : "male-02-1noCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15597568, "DbgIndex" : 1, "DbgName" : "orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 60928, "DbgIndex" : 2, "DbgName" : "FrontColorNoCullingID_orig_02_-_Defaul1noCu", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "orig_02_-_Defaul1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 238, "DbgIndex" : 3, "DbgName" : "_01_-_Default1noCulli__01_-_Default1noCulli", "colorDiffuse" : [0.64, 0.64, 0.64], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "01_-_Default1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }, { "DbgColor" : 15658496, "DbgIndex" : 4, "DbgName" : "FrontColorNoCullingID_male-02-1noCulling.JP", "colorDiffuse" : [0.8, 0.8, 0.8], "colorSpecular" : [0.165, 0.165, 0.165], "illumination" : 2, "mapDiffuse" : "male-02-1noCulling.JPG", "opticalDensity" : 1.0, "specularCoef" : 154.901961, "opacity" : 1.0 }], "vertices": [464,15985,579,166,15790,583,160,15767,622,436,15989,532,660,16185,304,346,16107,578,564,16375,504,690,16282,-18,723,16468,173,558,16341,-309,578,16366,-309,326,16350,-459,339,16384,-494,682,16062,-444,707,16308,-10,694,16199,305,652,15719,623,403,15306,1015,-73,15603,661,-48,15646,591,-39,15796,561,-210,15786,446,-122,15926,496,-224,15997,334,-388,15981,232,-376,16113,96,-388,16097,236,-339,16037,397,-308,16009,497,-227,15980,575,67,15995,528,-131,16006,635,-26,16032,641,142,16089,651,17,16114,849,313,16209,682,158,16226,872,423,16339,701,541,16555,670,594,16609,569,769,16687,257,773,16731,16,900,17155,-257,967,17093,154,919,17536,-238,682,17186,-566,663,17590,-533,313,17545,-711,329,17163,-703,366,16780,-512,554,16779,-409,699,16775,-252,660,16522,-187,530,16535,-384,307,16528,-462,53,16336,-493,37,16361,-506,-233,16274,-355,-253,16298,-359,50,16056,-674,390,16052,-625,718,16097,-498,411,16088,-684,887,15729,-660,1190,15788,-267,897,16076,-186,848,16049,-168,783,15987,195,813,16010,229,1061,15584,807,1144,15836,310,1163,15775,319,1682,15576,457,1835,15502,-43,1196,15725,-305,1555,15210,-546,1775,15185,-439,2215,15322,91,2025,15047,-279,2500,15128,230,2132,15370,565,1495,15461,889,1035,15169,1200,989,14613,1495,328,14576,1438,-275,14609,1243,-150,15277,880,-661,15295,627,-230,15763,480,-607,15707,165,-440,15976,249,-443,16188,-108,-437,15975,-248,-482,15997,-242,-254,16038,-569,-280,16064,-615,56,16091,-739,-452,15776,-858,37,15721,-969,474,15725,-848,896,15688,-674,974,15240,-812,1636,14559,-596,1800,14565,-497,1902,14549,-392,1981,14504,-227,2211,14891,-81,2566,14802,220,2590,14853,631,2508,15147,649,1951,15289,943,1264,15143,1230,1201,14640,1456,1146,14107,1524,958,14029,1655,295,13993,1644,-342,14007,1442,-863,14565,1005,-1319,14629,582,-1246,15134,402,-1033,15557,62,-791,15809,-379,-810,15748,-383,-432,15713,-891,-1000,15586,-945,-569,15181,-1273,39,15680,-985,482,15671,-870,526,15236,-978,1082,14524,-849,1605,14032,-443,1746,14073,-284,1823,14202,-137,1951,14213,-3,1999,14661,-127,2286,14756,-64,2577,14566,214,2635,14570,612,2419,14525,935,2336,14840,972,2244,15088,985,1875,14945,1170,1661,15088,1229,1434,14667,1377,1345,14142,1409,1334,14011,1431,1153,13952,1554,956,13917,1662,289,13867,1664,-353,13864,1475,-960,13981,1187,-1475,14005,772,-930,13981,1105,-1561,14042,553,-1559,13925,569,-1642,13957,357,-1624,13532,466,-1700,13559,274,-1680,12759,541,-1569,13590,-329,-1605,12756,4,-1281,13567,-887,-1331,12753,-542,-1146,12753,-668,-1085,13550,-957,-1062,13974,-1136,-854,13946,-1179,-852,14054,-1214,-642,14016,-1247,-628,14555,-1362,8,14516,-1230,62,15232,-1138,557,14521,-1045,1043,13988,-786,1604,13941,-401,1730,13967,-248,1859,13994,-91,1986,14016,56,1817,14093,656,1998,14288,61,1955,14424,-200,1590,14310,-82,2043,14156,-229,2382,14261,-137,2334,14514,-101,2626,14324,180,2638,14496,603,2446,14239,895,2104,14127,1041,2064,14402,1086,1997,14704,1145,1697,14517,1070,1578,14636,1299,1563,14154,1312,1540,14030,1330,1489,13589,1369,1316,13560,1469,1144,13530,1568,980,13501,1663,341,13434,1715,-319,13417,1593,-946,13425,1316,-967,13855,1207,-1476,13894,783,-1547,13505,659,-1586,12761,705,-1599,11836,783,-1615,11834,249,-1429,11831,-318,-1263,11829,-480,-1096,11828,-642,-960,12754,-795,-929,11826,-804,-775,12754,-922,-123,12759,-881,-259,11823,-843,366,12762,-811,239,11821,-824,719,11819,-692,825,12767,-626,1347,11817,-454,1425,12774,-312,1518,12776,-108,1650,13558,-153,1554,13539,-305,975,13497,-710,431,13492,-882,-45,13487,-1050,-669,13518,-1110,21,13885,-1136,530,13885,-952,536,13972,-972,1037,13895,-767,1772,13578,52,1879,13596,227,1833,13998,698,1648,14290,994,1515,14384,427,1393,14227,287,1379,14218,721,1517,13954,279,1500,13939,676,1676,13520,261,1664,13495,628,1869,12866,211,1880,12847,580,2061,12427,-2,2031,12396,489,2136,12067,42,2355,12220,-314,2416,12022,-317,2455,11810,-279,2793,11758,-317,2754,12020,-386,2682,12264,-413,3043,12067,-235,2979,12319,-283,3172,12145,78,3133,12363,25,2893,12554,-293,3068,12600,5,2688,13088,-251,2376,13020,-336,2587,12492,-401,2268,12438,-276,2070,12937,-184,1849,13584,-115,1699,14031,-98,2195,13676,-283,2529,13750,-191,2744,13781,129,2732,13754,550,2559,13693,873,2222,13603,1043,1888,13529,951,1754,14026,976,1667,14299,994,2077,12876,871,2221,12433,784,2034,12201,265,2139,12295,587,2065,11783,404,2171,11674,68,2465,11578,-194,2798,11551,-230,3070,11589,-62,3074,11800,-154,3176,11679,244,3191,11921,147,3097,12243,462,3024,12603,418,2885,13118,39,2876,13089,487,2695,13027,804,2388,12945,956,2531,12499,879,2420,12335,761,2171,11872,711,2089,11315,574,2208,11200,221,2252,10614,451,2510,10532,226,2487,11111,-22,2823,10503,181,2810,11085,-52,3075,11123,111,3181,11209,406,3067,11321,752,3050,11798,611,2776,11883,844,2768,12305,719,2443,11910,879,2195,11400,870,2147,10718,771,2264,10113,630,2524,10028,396,2548,9563,516,2847,9478,500,2831,9996,342,3069,10030,489,3071,10537,334,3146,10116,781,3158,10623,626,3053,10727,946,2795,10809,1172,2783,11413,1004,2482,10839,1217,2460,11438,1034,2235,10804,1064,2151,10218,955,2274,9702,716,2600,9682,628,2400,9783,775,2576,9499,667,2809,9429,644,2817,9619,614,2968,9619,739,2968,9429,775,2990,9499,1008,2996,9682,955,3058,9478,673,3099,9564,970,2956,9703,1277,3033,10221,1106,2774,10306,1339,2466,10338,1393,2229,10305,1246,2130,9841,1023,2294,9885,999,2357,9612,834,2601,9625,1027,2235,9725,1081,2258,9795,1314,2416,9795,1444,2649,9725,1422,2691,9885,1326,2473,9948,1340,2322,9948,1215,2382,9927,1494,2682,9841,1477,2172,9926,1320,2890,9784,1179,2869,9612,1255,2844,12570,737,1752,13622,846,1446,12787,1408,1281,12787,1500,1116,12787,1593,950,12786,1685,310,12783,1761,-304,12778,1691,-871,12772,1444,-1468,13478,858,-1397,12765,1034,-836,12771,1312,-1492,12763,869,-1498,11837,925,-1480,11360,1049,-1598,11362,911,-1674,11363,377,-1499,11359,-222,-1351,11355,-387,-1410,11093,-334,-1273,11088,-512,-1524,10441,-334,-1391,10414,-501,-1136,11084,-690,-1254,10388,-670,-420,11061,-789,-355,11336,-790,152,11326,-803,650,11317,-702,1326,11305,-509,1457,11818,-249,1612,12778,95,1706,12780,299,1659,12785,910,1508,11824,1262,1369,11825,1366,1230,11826,1471,1091,11827,1575,427,11831,1766,-161,11834,1779,-720,11836,1590,-1295,11837,1208,-696,11835,1434,-1396,11837,1066,-1361,11358,1188,-1468,11095,1129,-1597,11099,995,-1711,11103,462,-1547,11097,-155,-1659,10469,-168,-1691,10137,-180,-1562,10086,-343,-1702,9762,-250,-1547,9664,-403,-1436,10036,-509,-1396,9565,-556,-1305,9989,-678,-1243,9468,-711,-1423,9137,-632,-1273,9057,-754,-544,9278,-872,-571,9814,-880,-22,9789,-916,1,10254,-886,525,9763,-880,547,10228,-850,91,11044,-824,598,11028,-744,1303,11005,-584,1444,11303,-320,1568,11818,-44,1678,11819,160,1684,11821,757,1579,11303,1189,1438,11306,1305,1298,11308,1420,1157,11311,1536,518,11324,1759,-75,11335,1808,-653,11346,1656,-1243,11356,1326,-1339,11091,1264,-1524,10447,1200,-1673,10474,1060,-1794,10490,476,-1827,10189,413,-1907,9852,275,-2055,9345,182,-1756,9302,-401,-2189,8795,148,-1887,8757,-440,-2102,7840,-494,-2403,7877,95,-2413,7851,674,-2197,8769,730,-2286,7815,860,-2059,8728,922,-2160,7778,1046,-1930,8693,1106,-2034,7742,1231,-1797,8657,1291,-1129,8520,1695,-1311,7593,1652,241,8353,1782,329,7423,1734,1176,7450,1562,992,8375,1641,208,8710,1804,-1053,8902,1715,-1679,9110,1322,-1808,9177,1139,-1472,9533,1391,-961,9275,1739,-46,9268,1803,829,9136,1716,917,8756,1676,1695,8522,1289,1955,7614,1189,1844,8570,1118,1569,8972,1338,1714,9050,1170,1989,8618,949,1871,9139,994,2145,8673,773,2003,9220,829,2045,9283,252,1877,9764,348,1679,9653,-225,1676,9988,-173,1543,9945,-340,1536,10302,-331,1399,10287,-499,1424,11002,-394,1561,11301,-132,1678,11299,56,1746,11299,676,1616,10996,1135,1475,11000,1258,1335,11005,1381,1195,11009,1503,572,11030,1748,-23,11049,1822,-611,11068,1696,-1210,11087,1399,-1372,10417,1343,-1578,10097,1176,-1720,10147,1032,-1878,9820,870,-2066,9320,762,-1949,9252,944,-1618,9629,1216,-1268,9990,1478,-626,9817,1746,-22,9789,1814,580,9760,1746,1229,9871,1481,1215,10273,1489,611,10225,1750,-2,10254,1817,-616,10281,1749,-1215,10387,1486,-1424,10042,1329,-1759,9729,1035,1370,10288,1350,1387,9910,1336,1524,9498,1251,1368,9400,1413,1675,9604,1087,1541,9955,1190,1523,10307,1210,1675,10323,1070,1690,9995,1048,1807,9700,934,1802,10055,450,1672,10318,-163,1545,10998,-205,1666,10994,-15,1775,10991,614,1798,10336,493,1259,10274,-669,1272,9870,-678,1410,9906,-508,1524,9565,-387,1796,9270,-359,2190,8738,195,2381,7764,678,2239,7714,849,2097,7664,1019,2424,7827,104,2179,7826,-512,1943,8734,-420,2001,7797,-658,1754,8691,-554,1824,7769,-803,1574,8659,-696,1646,7740,-949,1392,8624,-837,560,8479,-957,713,7554,-1030,-80,8504,-971,-64,8866,-960,506,8863,-925,-45,9268,-936,496,9236,-894,1216,9387,-712,1370,9474,-549,1623,9181,-493,1450,9095,-630,1277,9005,-765,-578,8904,-899,-588,8508,-897,-717,7572,-926,-123,7559,-983,-1529,7734,-873,-1329,8642,-806,-1512,8678,-681,-1720,7769,-747,-1911,7805,-620,-1698,8714,-556,-1586,9217,-514,-542,10278,-852,-436,11314,1545,-916,11335,1368,-451,10981,1552,-964,11004,1373,-1263,11351,1068,-1311,11020,1073,-1401,11357,507,-1449,11027,507,-1263,11351,-49,-1311,11020,-87,-1606,10410,420,-1421,10403,-151,-1653,10137,384,-1480,10072,-163,-1711,9856,308,-1518,9727,-215,-1770,9679,201,-1587,9469,-334,-1858,9319,173,-1627,9171,-352,-1994,8751,145,-1687,8708,-375,-2190,7847,105,-1854,7804,-504,-2331,6931,51,-2009,6891,-563,-2433,6185,-26,-2130,6150,-647,-2481,5798,-97,-2183,5763,-707,-2531,5435,-167,-2226,5398,-771,-2568,5023,-272,-2264,5062,-837,-2705,4188,-409,-2425,4154,-972,-2779,3259,-487,-2515,3228,-1022,-2913,2546,-554,-2600,2679,-1083,-3070,1969,-615,-2770,2053,-1123,-3090,1373,-705,-2813,1236,-1223,-3194,802,-799,-2754,587,-1378,-3204,678,-795,-2746,478,-1380,-2524,1122,-641,-3391,768,-143,-3183,830,394,-2878,828,576,-2468,762,448,-2865,929,559,-3171,931,376,-3381,887,-152,-3209,1479,-106,-2966,1546,326,-2650,1403,462,-2459,881,437,-2020,670,-88,-2014,794,-94,-2329,1264,281,-1998,1145,-226,-2098,1495,292,-1849,1445,-257,-2039,2054,282,-1766,2026,-243,-1766,1514,-764,-1717,2038,-843,-1482,2962,-139,-1458,2985,-739,-1911,2169,-1168,-1731,3062,-1098,-2203,2299,-1247,-1939,1683,-1155,-1961,1124,-1160,-2344,1171,-1323,-2189,494,-1400,-1797,492,-1166,-1858,1061,-829,-1686,580,-739,-1690,471,-750,-1816,369,-1157,-2199,371,-1385,-2139,3155,-1207,-1596,3978,-1030,-1262,3888,-660,-1126,4801,-532,-1449,4888,-881,-1990,4068,-1136,-1860,4982,-991,-1366,5214,-811,-1071,5133,-462,-1017,5496,-394,-1273,5569,-743,-1801,5313,-927,-1727,5672,-865,-1209,5952,-682,-948,5879,-331,-787,6611,-235,-1085,6694,-606,-1669,6058,-805,-1563,6803,-734,-908,7603,-572,-571,7517,-169,-352,8477,-120,-678,8514,-480,-1398,7715,-702,-1233,8605,-577,-627,8753,-524,-305,8662,-110,-278,8781,-105,-598,8907,-552,-67,8791,-131,-71,8706,375,161,8760,-128,49,8636,401,190,8638,-144,100,8528,418,247,8448,-172,184,8368,438,604,7469,-339,593,7385,345,865,6569,-456,830,6496,233,1046,5847,-583,1018,5775,106,1129,5470,-665,1128,5233,-1,1196,5113,-751,1147,4926,-80,1263,4787,-837,1255,4649,-210,1426,3886,-1011,1405,3822,-385,1643,2992,-1130,1613,2929,-533,1927,2057,-1270,1921,2005,-671,2012,1511,-1293,2015,1427,-715,2156,1132,-717,2112,1069,-1342,1977,567,-1315,2180,486,-1709,2200,363,-1696,2623,378,-1836,2613,501,-1852,3153,499,-1712,3158,608,-1707,3468,705,-1041,3455,828,-1046,3121,1272,-1574,2670,1205,-1750,2265,1146,-1651,2220,1710,-1618,2148,2210,-1567,1946,3095,-1456,1790,4003,-1342,2361,3200,-1521,2191,4105,-1405,2718,3264,-1298,2607,4184,-1196,2930,3263,-740,2834,4184,-609,2420,5079,-1018,2033,5005,-1214,1615,4900,-1149,1520,5219,-1065,1962,5331,-1134,2370,5410,-935,2671,5007,-431,2617,5410,-304,2315,5770,-851,1877,5684,-1056,1416,5568,-984,1340,5946,-904,1196,6679,-792,1807,6064,-977,1682,6802,-868,2250,6150,-772,2109,6883,-651,2494,6148,-124,2372,6886,-7,1934,7788,-548,1500,7707,-792,987,7581,-710,623,8469,-530,1253,8566,-613,1737,8678,-376,2212,7795,92,1997,8692,172,1671,9140,-329,1157,8816,-605,558,8707,-559,530,8862,-582,1099,8970,-597,1625,9435,-296,1850,9255,223,1751,9608,264,1498,9633,-194,1028,9318,-699,509,9159,-751,-55,9056,-488,-556,9202,-725,-43,9315,-754,497,9698,-760,1022,9770,-651,1467,9948,-150,1010,10220,-579,495,10176,-716,-22,9781,-760,-549,9747,-760,-1050,9384,-689,-1126,9033,-580,-1160,8866,-579,-1065,9867,-651,-491,10221,-720,0,10199,-718,30,10959,-478,417,10942,-478,45,11292,-427,432,11274,-427,929,10919,-489,912,11252,-427,1373,10898,-87,1354,11232,-49,1511,10892,507,1492,11226,507,1373,10898,1073,1354,11232,1068,1025,10914,1373,1007,11248,1368,512,10937,1552,528,11270,1545,30,10959,1552,45,11292,1545,-128,11833,1562,451,11831,1610,346,12782,1629,372,13434,1624,324,13993,1562,357,14576,1356,-256,14608,1189,-833,14564,923,-316,14007,1371,-282,13416,1480,-915,13425,1229,-257,12777,1518,-5,10199,1534,-499,10221,1533,-1065,10326,1393,-1471,10397,1009,-1517,10115,991,-1625,9843,902,-1711,9632,815,-1834,9285,764,-1979,8719,734,-2164,7815,660,-2306,6902,554,-2423,6160,453,-2468,5880,436,-2508,5670,425,-2597,5153,400,-2609,4796,219,-2725,4165,157,-2810,3238,87,-2915,2673,13,-3081,2068,-25,-2660,2319,396,-2624,1805,488,-2357,2186,477,-2168,3077,544,-2576,3171,435,-2434,4084,533,-2040,3994,639,-1753,2996,370,-1563,3899,469,-1299,3866,-32,-1175,4705,101,-1083,4991,221,-1074,5303,281,-981,5853,362,-813,6584,458,-597,7482,533,-254,8417,503,-188,8558,455,-172,8655,426,-68,8780,956,-359,8765,985,-55,9056,1394,-936,9116,1411,-32,9571,1489,-692,9616,1502,-1263,9745,1330,-1444,9466,1209,-1544,9142,1184,-1671,8634,1157,-1875,7732,1090,-2023,6819,996,-2119,6074,885,-2191,5635,818,-2240,5342,764,-2336,4925,736,-2365,4647,603,-1953,4553,714,-1470,4535,524,-1441,4889,710,-1371,5267,732,-1301,5602,751,-1242,5890,770,-1084,6622,882,-876,7526,999,-694,8436,1064,-517,8626,1029,-985,8881,1379,-1097,8517,1328,-1345,7613,1230,-1545,6710,1124,-1659,5969,1008,-1731,5574,953,-1807,5141,881,-1901,4826,852,-1119,10044,1378,-542,9941,1513,-17,9902,1513,505,9892,1514,608,9530,1494,823,8980,1370,222,8725,956,416,8536,959,873,8749,1331,619,8310,953,811,7406,845,1045,6509,684,1240,5788,537,1306,5502,505,1383,5170,471,1461,4795,432,1513,4455,226,1621,3825,139,1835,2933,0,2143,2001,-121,2211,1444,-142,2403,1238,-155,2152,782,-614,1986,458,-1325,2160,659,-607,2744,1133,-1047,2478,756,14,2849,832,228,2837,933,209,2468,875,2,2692,1375,80,2654,1774,118,2441,2124,110,2230,3007,217,2079,3914,358,1977,4466,461,1907,4728,611,1806,5039,652,1715,5466,744,1633,5855,818,1496,6586,970,1265,7480,1120,992,8383,1264,1447,9010,1190,1343,9333,1225,1179,9624,1344,1079,9938,1384,1052,10226,1402,486,10177,1536,1466,10265,1018,1487,9981,1001,1560,9720,939,1629,10004,403,1604,10273,433,1434,10282,-133,1675,9743,345,1641,9521,864,1773,9182,807,1928,8621,753,1581,8507,1143,1810,7611,1033,1981,6709,894,2099,5973,745,2185,5541,656,2243,5252,589,2349,4840,542,2395,4572,396,2480,4015,295,2645,3112,152,2747,2265,66,3025,1526,1,3175,945,96,3186,844,116,3507,793,-363,3496,911,-374,3335,1479,-393,3209,2047,-330,3254,1988,-923,3083,2557,-840,2818,2721,-1386,3001,2102,-1450,3312,1394,-1010,2444,2349,-1610,3030,2647,-267,2909,3204,-167,2803,4124,-45,2670,4747,46,2635,5092,248,2555,5768,-215,2536,5605,298,2491,5813,319,2440,6091,350,2302,6823,487,2136,7726,639,-355,10977,-478,-1002,10311,-585,-868,11000,-489,-340,11309,-427,-820,11331,-427,-1054,11349,-717,-1203,11352,-552,28,13978,-1156,-647,13919,-1221,-890,13534,-1027,-792,15129,-1314,-865,14558,-1409,-1062,14093,-1181,-1115,14208,-1132,-1516,13976,-532,-1724,13989,145,-1646,14078,335,-1513,14618,461,-1443,15053,262,-1289,15422,-38,-1181,15588,-454,-1571,15440,-958,-1248,15087,-1316,-1045,14618,-1433,-1144,14316,-1181,-1463,14077,-576,-1732,14114,117,-1607,14560,265,-1592,14977,159,-1599,15277,-149,-1845,15020,-266,-1693,14819,27,-1610,14500,-139,-1879,14675,-340,-1869,15221,-570,-1961,14830,-714,-1900,14432,-462,-2046,14465,-792,-1856,14056,-603,-2042,14234,-888,-1927,13556,-844,-2088,13712,-1122,-2006,12957,-1163,-1712,12851,-1042,-1823,12487,-1329,-2122,12530,-1388,-2174,13108,-1430,-2292,12680,-1694,-2179,12570,-1653,-2375,12410,-1839,-2290,12803,-2061,-2342,12571,-2150,-2391,12332,-2168,-2428,12091,-2075,-2199,12260,-2394,-2243,11919,-2264,-1888,12214,-2471,-1835,12564,-2469,-1533,12494,-2360,-1483,12753,-2276,-1295,12618,-1960,-1188,13068,-1698,-1372,13253,-2031,-1783,12838,-2394,-2144,12593,-2389,-2091,12857,-2311,-1971,13371,-2069,-2170,13286,-1814,-2090,13883,-1490,-2005,14395,-1276,-1992,14624,-1185,-1910,14915,-1103,-1818,15270,-977,-1602,15441,-540,-1527,15026,-1351,-1172,14601,-1478,-1228,14559,-1480,-1145,14496,-1226,-1179,14341,-797,-1447,14326,-189,-1539,14409,-49,-1550,14508,103,-1162,14127,-362,-844,14155,-646,-911,13907,-828,-1175,13863,-534,-1528,14163,-313,-1524,13914,-469,-1603,13437,-705,-1407,12839,-1125,-1515,12467,-1411,-1547,12555,-1633,-1860,12618,-1560,-1879,12487,-1284,-2193,12396,-1362,-2401,12165,-1562,-2432,11860,-1827,-2254,11644,-2014,-1933,11857,-2337,-1577,12211,-2369,-1370,12261,-2088,-1317,12497,-1607,-1208,12924,-1380,-1052,13520,-1083,-1055,13670,-1403,-1214,13847,-1728,-1666,13358,-2152,-1547,13966,-1866,-1076,14275,-1516,-911,14069,-1205,-838,14318,-1065,-977,14530,-1311,-1412,14423,-1631,-1874,13980,-1777,-1751,14469,-1538,-1660,14751,-1479,-1633,14861,-1429,-1330,14675,-1435,-1277,13424,-793,-1360,12405,-1845,-1395,12195,-1540,-1574,12410,-1352,-1621,12086,-977,-1919,12161,-910,-2225,12076,-983,-2437,11828,-1197,-2463,11541,-1446,-2287,11335,-1626,-1949,11567,-2082,-1989,11260,-1692,-1634,11658,-2004,-1684,11345,-1619,-1415,11916,-1781,-1474,11585,-1412,-1445,11879,-1156,-1532,11463,-690,-1690,11671,-510,-1967,11741,-448,-2259,11647,-528,-2454,11424,-721,-2477,11159,-951,-2319,10951,-1132,-2041,10881,-1194,-1750,10975,-1113,-1555,11197,-921,-1595,10860,-511,-1566,11131,-276,-1713,11340,-94,-1980,11407,-35,-2265,11307,-121,-2458,11078,-319,-2487,10807,-553,-2340,10598,-735,-2073,10531,-795,-1789,10631,-709,-1761,10281,-164,-1598,10603,-99,-1596,10953,6,-1755,11199,113,-2016,11246,179,-2278,11077,180,-2441,10756,114,-2443,10405,8,-2284,10159,-98,-2023,10112,-164,-2238,10325,-150,-2352,10505,-73,-2349,10761,4,-2345,10714,187,-2352,10428,101,-2235,10230,18,-2051,10291,-198,-2040,10195,-31,-2012,10657,88,-2217,10977,241,-2231,10997,52,-2017,11118,244,-2042,11122,53,-1821,11082,195,-1855,11088,5,-1705,10884,111,-1712,10599,26,-1840,10336,-28,-1862,10416,-197,-1743,10651,-149,-1741,10908,-72,-1617,11928,-2265,-417,16175,-87,-343,16389,-204,-58,16479,-437,86,16741,-519,-147,16701,-458,-408,16624,-213,-495,16570,-138,-500,16353,-19,-458,16221,80,-549,16123,406,-548,16023,595,-534,15953,751,-439,15943,846,-323,15950,915,-167,16018,892,-116,16129,960,-286,16052,989,-235,16208,1032,-328,16153,1023,-282,16298,1047,-375,16258,1023,-380,16333,1078,-454,16318,1062,-460,16377,1046,-553,16366,1000,-459,16375,997,-530,16362,970,-549,16371,996,-489,16387,1043,-370,16361,1033,-407,16373,1076,-337,16367,1066,-328,16390,1085,-390,16411,1093,-513,16432,1078,-586,16401,1043,-597,16455,1059,-637,16434,981,-610,16389,949,-573,16377,909,-629,16365,831,-661,16377,877,-682,16415,865,-689,16395,803,-670,16372,807,-696,16365,731,-681,16362,753,-666,16303,747,-664,16214,698,-634,16158,785,-612,16057,734,-624,16137,563,-603,16237,277,-589,16547,-57,-582,16562,-153,-615,16783,-108,-738,16743,159,-647,16430,194,-739,16409,438,-678,16263,450,-718,16339,616,-712,16366,693,-726,16443,742,-671,16500,865,-616,16528,986,-642,16477,991,-572,16510,1027,-521,16526,1060,-588,16564,1049,-626,16585,983,-660,16616,885,-670,16673,875,-678,16621,952,-668,16610,973,-653,16617,1033,-644,16589,1080,-627,16585,1099,-604,16588,1111,-515,16583,1070,-556,16616,1109,-605,16623,1186,-495,16607,1109,-471,16618,1114,-576,16649,1185,-649,16666,1207,-636,16614,1166,-697,16661,1191,-689,16725,1181,-725,16667,1148,-690,16615,1124,-668,16605,1153,-715,16625,1100,-722,16652,1072,-687,16696,942,-650,16754,974,-721,16709,1054,-725,16723,1125,-652,16784,1135,-678,16774,1082,-637,16872,1036,-641,16801,934,-649,16767,875,-757,16745,641,-779,16574,621,-751,16422,616,-792,16609,433,-768,16924,248,-806,16776,439,-784,16904,513,-726,16860,670,-622,16913,766,-580,16977,874,-595,16962,984,-568,16975,1032,-609,16886,1082,-558,16871,1098,-594,16773,1148,-625,16721,1203,-559,16707,1181,-457,16692,1121,-398,16669,1087,-411,16612,1079,-391,16496,1084,-520,16475,1086,-259,16436,1106,-257,16359,1073,-283,16356,1064,-294,16357,1057,-297,16364,1041,-310,16360,1045,-385,16363,1050,-304,16349,1062,-216,16358,1080,-141,16330,1066,8,16252,986,37,16397,1045,-132,16413,1099,-126,16564,1130,-148,16736,1116,-401,16763,1068,-459,16798,1076,-497,16752,1093,-516,16961,1045,-554,17042,1014,-594,17039,967,-607,17035,888,-587,17040,831,-587,16987,790,-629,16989,737,-740,16916,682,-745,16960,668,-737,16967,657,-606,16997,721,-741,17053,663,-793,16993,533,-801,16976,527,-806,16953,524,-800,16986,394,-742,17129,104,-658,17132,-38,-613,17039,-139,-565,16811,-286,-576,16629,-259,-569,16751,-375,-481,16762,-381,-490,16630,-250,-460,16977,-316,-545,17161,-289,-557,17111,-204,-614,17114,-240,-613,17148,-356,-543,17154,-341,-587,17084,-473,-518,17084,-462,-568,16901,-493,-495,16898,-474,-728,17527,239,-850,17207,434,-847,17124,456,-811,17056,368,-812,17048,448,-810,17033,499,-799,17061,574,-756,17063,682,-675,17056,738,-658,17076,745,-744,17097,668,-798,17099,572,-819,17167,621,-741,17156,735,-644,17093,799,-590,16988,767,-662,17117,880,-636,17144,983,-578,17148,1047,-498,17037,1042,-418,17032,1035,-412,16974,1005,-299,16908,1018,-182,16852,1095,-14,16892,1114,-19,16941,1138,-188,16908,1113,-23,16964,1134,-173,16951,1115,-164,16958,1104,-30,16982,1129,-168,17044,1111,-258,16991,993,-268,16983,1019,-306,16984,989,-256,17050,1065,-330,16983,991,-266,17070,1050,-182,17054,1130,-67,17050,1146,-171,17089,1116,-322,17088,1051,-235,17148,1130,-395,17113,1088,-276,17197,1159,-494,17225,1079,-501,17142,1088,-568,17233,1035,-627,17227,975,-758,17204,782,-833,17244,643,-796,17370,585,-746,17566,518,-606,17338,942,-541,17339,1004,-503,17538,959,-578,17545,884,-541,17791,733,-407,17790,840,-412,17542,1014,-466,17336,1052,-73,17359,1150,-15,17555,1088,-270,17787,945,-104,18038,724,-241,18058,634,209,18159,58,-363,18041,523,-39,18108,-96,235,17921,-502,-158,17815,-496,524,17968,-349,742,17914,-106,418,18101,261,184,17983,737,34,17792,959,248,17512,1002,83,17193,1163,-122,17234,1198,-105,17157,1178,-65,17088,1145,7,17021,1137,57,17035,1127,60,17111,1164,375,17112,977,135,17042,1107,106,16972,1101,238,16909,1034,59,16763,1115,59,16596,1098,252,16416,896,484,16531,781,314,16728,981,494,17115,861,630,17093,722,387,17710,838,494,17829,677,744,17610,497,864,17395,409,1025,17507,112,829,17801,275,557,17962,479,899,17142,345,713,16959,599,711,17142,690,777,16743,601,760,17134,676,792,17126,740,898,17062,685,871,17063,621,909,16879,660,792,16730,688,706,16792,706,679,17094,769,580,17021,791,545,16765,797,576,16545,751,649,16612,639,679,16610,721,873,16877,594,-53,17523,-729,-87,17109,-669,-255,17160,-556,-304,17413,-503,-356,17626,-361,-466,17844,-72,-599,17725,68,-629,17802,441,-446,17993,245,-287,17975,-179,-368,17037,1002,-608,16007,843,-515,15997,944,-394,16004,1010,-430,16113,1031,-533,16118,970,-617,16116,884,-591,16214,883,-522,16229,958,-433,16212,1006,-451,16249,1029,-542,16248,984,-563,16311,1012,-638,16321,918,-608,16251,906,-620,16262,832,-671,16337,851,-620,16380,921,-643,16367,849,-656,16365,776,-655,16369,762,-672,16363,763,-673,16355,773,3564,421,1379,3084,333,1415,3093,46,1411,3364,537,774,3858,417,610,3209,688,312,3764,531,128,3778,83,122,3590,358,-283,3435,717,-231,3265,765,-700,3148,1240,-682,2911,1239,-1186,2568,1190,-1102,2398,1189,-1459,2688,1227,-1455,2954,762,-1235,3337,295,-766,3598,83,-286,3228,64,305,3868,80,606,2814,43,956,2614,42,509,2600,490,514,2804,381,960,3575,61,1375,3921,362,1120,3929,76,1116,3060,835,-40,2805,1184,-492,2376,1128,-494,2210,1138,-1015,2210,1159,-1361,2340,746,-1508,2663,756,-1528,3019,336,-1257,3027,77,-1260,2691,71,-1587,2571,61,-1109,2856,64,-607,2095,44,-951,2319,45,-429,2849,278,-604,2312,259,-426,3071,64,-112,2483,44,83,2475,319,86,2561,687,58,2374,734,-404,2143,733,-966,2087,303,-948,2068,308,-1415,2076,49,-1418,2337,59,-1569,2329,318,-1566,2683,329,-1584,2119,738,-1376,3344,81,-769,-3814,403,1550,-3814,43,1547,-3352,41,1687,-4104,333,1220,-4105,46,1218,-3935,50,732,-3934,387,735,-3491,522,1001,-3243,675,582,-3742,501,283,-3025,824,268,-3348,695,1,-2670,1191,-108,-2977,1233,-351,-2344,1180,-670,-2668,1220,-808,-2122,1171,-994,-2407,1203,-1037,-2314,750,-1097,-2003,749,-1008,-1952,1148,-868,-2005,1139,-526,-2248,1144,-41,-2556,690,474,-2688,494,913,-2980,382,1305,-3351,328,1689,-2981,44,1302,-2688,47,909,-2469,49,521,-2468,325,524,-2197,267,59,-2274,740,62,-1866,315,-402,-1928,744,-436,-1816,747,-831,-1969,321,-1057,-1746,319,-853,-1747,60,-855,-1969,62,-1060,-2297,59,-661,-1866,56,-404,-2198,53,57,-2683,270,-231,-2683,56,-232,-3125,273,-495,-3125,59,-496,-2709,62,-908,-2709,321,-906,-2311,63,-1154,-2310,322,-1152,-2662,749,-874,-3081,745,-419,-3477,332,-78,-3478,56,-80,-3001,53,203,-3244,50,577,-3491,47,997,-3742,53,280,829,17364,-414,787,17721,-207,923,17380,-256,744,17351,-516,587,17757,-426,636,17359,-599,779,16950,-623,889,16970,-561,992,16947,-405,1029,16950,-297,1027,16898,-101,991,17320,-78,916,17690,66,1036,17325,50,902,17683,260,975,17329,376,751,17730,537,782,17355,623,881,17098,514,817,17034,530,840,16764,493,913,16767,467,854,16654,476,925,16662,457,942,16531,476,892,16516,489,1001,16377,514,1056,16847,292,1071,16875,59,1107,16647,-131,1149,16618,-1,1223,16544,-257,1278,16506,-160,1476,16309,-248,1118,16629,210,1128,16624,37,1265,16514,35,1195,16511,-10,1446,16368,-3,966,16612,423,1090,16619,277,1062,16499,382,1111,16528,281,1306,16416,151,1131,16632,-130,1124,16689,-335,1056,16727,-464,984,16717,-603,860,16682,-680,855,16538,-816,991,16533,-746,991,16552,-745,1006,16364,-989,1099,16593,-599,1158,16588,-520,1321,16396,-608,1189,16535,-403,652,16955,-729,806,16713,-708,621,16730,-834,726,16568,-876,634,16522,-871,576,16399,-1115,495,16755,-911,435,16562,-997,364,16580,-1070,255,16580,-1029,201,16439,-1251,344,16764,-857,480,16978,-816,417,17386,-668,326,17728,-567,339,17370,-717,382,16956,-810,198,16934,-884,169,16766,-886,-14,16486,-1035,-89,16517,-1041,-267,16301,-1201,-206,16477,-995,8,16731,-854,-27,16920,-818,120,17321,-741,28,17703,-626,-30,17312,-759,-242,16938,-703,-201,16727,-796,-336,16531,-952,-236,16546,-992,-510,16410,-1045,-286,17344,-609,-156,17699,-566,-387,17748,-350,-484,17374,-365,-396,17133,-547,-365,16931,-596,-334,16652,-702,-241,16650,-788,-421,16526,-765,-376,16554,-792,-604,16285,-858,-478,16521,-675,-317,16631,-634,-392,16888,-545,-402,17109,-507,891,16985,-473,903,17340,-271,953,16993,-284,785,16988,-588,674,17356,-545,693,16989,-660,683,16576,-627,857,16527,-512,923,16530,-396,930,16583,-290,1003,16546,-92,1015,17000,-36,1006,17324,56,1022,17011,119,945,17330,352,1019,17027,321,919,17056,466,782,17355,623,851,17063,514,728,16607,512,840,16597,477,690,16437,494,793,16429,486,810,16341,441,730,16306,470,810,16138,562,958,16579,334,889,16420,448,989,16477,247,993,16379,349,1029,16374,272,1192,16212,291,1015,16558,100,1040,16457,-200,1089,16462,-71,1099,16329,-173,1131,16335,-93,1220,16138,-112,1040,16473,181,1073,16466,15,1114,16370,147,1112,16372,51,1264,16217,97,1008,16455,-272,966,16450,-407,856,16448,-506,1017,16187,-442,1061,16188,-394,1076,16192,-301,1116,16027,-307,813,16443,-668,694,16442,-747,757,16179,-774,844,16179,-734,864,16181,-658,822,15995,-760,549,16536,-680,646,16442,-779,424,16446,-825,633,16178,-878,509,16181,-890,572,16032,-948,270,16447,-884,315,16184,-938,239,16185,-955,225,16077,-988,164,16187,-945,104,16455,-819,335,16583,-788,433,16999,-741,353,17348,-700,365,17002,-781,228,16590,-754,102,16590,-851,125,17019,-808,9,17339,-721,19,17028,-780,30,16565,-782,-72,16458,-861,-14,16194,-906,-97,16196,-908,-95,15971,-975,-180,16200,-876,-191,16464,-794,-187,16614,-637,-396,16472,-734,-443,16279,-849,-358,16275,-888,-479,16155,-947,-181,17053,-673,-262,17348,-589,-484,17374,-365,-346,17070,-600,-293,16599,-619,-458,16478,-598,-352,16473,-664,-469,16283,-694,-402,16281,-715,-426,16081,-783,-408,16286,-600,-423,16481,-500,-308,16605,-553,-390,17080,-521,-374,16610,-538,-384,16459,-505,-379,16439,-543,-528,16306,-458,-375,16617,-445,-375,16448,-415,-382,16443,-489,-491,16264,-244,-52,17311,-642,81,16923,-752,-153,16899,-674,389,16943,-680,285,17370,-614,566,16971,-627,605,17396,-453,753,16966,-488,607,16415,-532,867,16936,-307,836,17361,-184,603,17396,-455,944,17296,135,1011,16909,-26,992,16881,219,886,17233,425,725,17178,692,929,16878,429,875,16845,437,803,16285,273,931,16311,205,1005,16098,140,935,16038,143,1196,15871,-11,1044,16105,58,901,16333,73,883,16364,-105,904,16384,-200,817,16399,-332,771,16405,-388,835,16185,-467,927,16171,-357,1001,16154,-240,969,16133,-121,983,16106,11,1243,15893,-166,1102,15999,-233,1100,16011,-294,1039,16021,-385,1302,15893,-407,976,16022,-424,897,16036,-540,822,16053,-673,648,16193,-601,405,16413,-629,431,16194,-727,640,16058,-802,507,16055,-858,674,15831,-1008,259,16186,-789,438,16053,-888,286,16037,-882,390,15860,-1117,146,16024,-888,205,15840,-1108,117,16172,-810,229,16406,-691,158,16401,-700,0,16386,-705,-20,16156,-811,79,16023,-921,-29,16013,-925,-43,15897,-1158,-89,16000,-891,-104,16135,-721,-69,16366,-637,-230,16335,-559,-224,16109,-663,-216,15897,-980,-358,16314,-515,-331,16100,-606,-296,16108,-691,-322,15875,-858,-311,16046,-585,-357,16296,-422,-341,16897,-562,-541,17197,-296,-320,17251,-517,-336,16863,-508,1038,15859,-755,1128,15838,-592,851,17921,-204,761,17907,-328,614,18156,-82,945,17680,-302,997,17678,-242,1056,17625,4,947,17902,53,670,18152,117,394,18242,183,354,18255,75,574,18155,-144,585,17897,-475,676,17680,-599,853,17703,-442,970,17368,-416,1106,17396,-307,1060,17337,-68,1059,17606,174,919,17876,207,678,18137,239,358,18226,307,244,18193,247,279,18197,138,284,18245,21,434,18161,-244,536,17905,-500,561,17688,-659,726,17320,-661,894,17359,-559,950,17087,-586,934,17120,-666,826,17092,-705,1050,16897,-803,585,17334,-749,710,17125,-705,626,17122,-799,749,16901,-913,381,17396,-866,534,17120,-897,436,17134,-947,475,16945,-1051,335,17136,-902,237,17369,-821,344,17712,-779,328,17929,-603,311,18176,-275,270,17916,-588,244,17693,-732,-28,17682,-748,28,17385,-855,225,17154,-881,78,17167,-913,178,16945,-1096,12,17133,-856,-103,17372,-758,-98,17655,-700,14,17952,-574,104,18170,-278,-29,17939,-543,-275,17667,-624,-252,17376,-706,-198,17063,-750,-114,17075,-795,-132,16864,-901,-399,17382,-650,-346,17234,-730,-262,17247,-759,-296,17106,-863,-365,17193,-704,-418,17362,-610,-422,17661,-538,-425,17618,-468,-351,17971,-338,-393,17951,-284,-489,17626,-424,-545,17380,-499,-567,17370,-441,-730,17134,-502,-487,17597,-341,-604,17346,-370,-594,17372,-435,-719,17132,-370,-436,17957,-219,-574,17602,-300,-679,17202,-273,-712,17224,-179,-738,16941,-133,-760,16976,-67,-799,16747,63,-826,16781,118,-887,16571,334,-813,16806,170,-765,17012,30,-743,17231,-79,-661,17542,-141,-740,17528,-21,-788,17218,33,-801,17045,107,-799,17021,39,-846,16823,198,-601,17922,0,-786,17564,197,-826,17267,264,-797,17237,39,-885,17005,297,-862,16968,164,-925,16770,351,-829,17588,247,-887,17273,275,-869,17033,330,-865,17267,357,-812,17576,316,-854,17623,434,-909,17295,451,-903,16927,560,-883,17269,566,-830,17565,583,-719,17782,623,-742,17900,465,-538,17992,657,-556,18002,804,-714,17788,797,-833,17542,614,-844,17503,719,-879,17261,628,-525,17884,926,-681,17673,925,-836,17533,766,-795,17461,871,-875,17334,717,-829,17309,775,-877,17069,678,-513,17883,995,-652,17638,1019,-756,17431,897,-754,17398,970,-839,17143,807,-503,17883,1079,-654,17623,1107,-743,17393,980,-727,17383,1062,-835,17081,883,-639,17369,1086,-481,17602,1109,-392,17793,1082,-309,18055,913,-340,18048,841,-109,18118,696,-142,18149,660,-80,18118,635,-141,18144,607,-91,18206,535,-18,18140,571,43,18141,503,-37,18240,462,27,18269,372,119,18201,422,115,18267,258,203,18192,313,175,18259,186,236,18251,99,192,18272,-7,72,18291,47,-70,18190,-190,-194,17983,-465,-224,18178,-87,-236,18191,-37,-330,18145,77,-534,17913,-105,-392,18097,179,-696,17911,202,-723,17907,257,-705,17867,322,-559,18093,504,-489,18114,346,-288,18190,437,-199,18225,331,-136,18261,244,-32,18288,125,-339,18184,557,-368,18110,624,-376,18132,756,313,18212,394,537,18133,507,632,18126,369,844,17850,386,794,17829,549,748,17832,571,615,17829,694,454,18116,603,233,18206,492,145,18173,575,83,18176,651,7,18131,692,-65,18106,708,-81,18115,738,-52,18137,695,-96,18100,954,-15,18133,923,-36,18025,1110,19,18052,1092,42,17917,1229,-28,18144,685,41,18094,924,128,18116,886,151,17932,1088,206,17958,1057,197,17755,1201,-88,18001,950,-185,18023,980,-239,17994,921,-361,17800,1124,-455,17602,1173,-534,17414,1104,-540,17407,1163,-599,17196,1069,-418,17628,1242,-495,17393,1243,-582,17135,1132,-341,17368,1217,-264,17585,1193,-197,17759,1126,-312,17812,1191,-100,17770,1116,-136,17557,1200,-211,17345,1238,-364,17194,1210,69,17836,1126,29,18076,930,118,18013,896,177,18047,832,253,18092,802,317,18059,699,490,17836,827,410,17898,933,323,17846,988,196,17812,1049,59,17596,1219,-73,17341,1231,45,17334,1262,0,17141,1210,95,17324,1194,159,17544,1135,348,17543,1060,328,17230,1122,181,17300,1157,172,16992,1213,478,17549,1013,516,17506,908,415,17168,1102,296,17001,1150,430,17123,990,711,17525,785,824,17499,690,798,17264,784,647,17290,820,662,16988,902,570,17008,922,487,16740,1045,864,17493,614,863,17269,731,809,17285,761,855,17071,937,915,17496,572,937,17311,677,889,17302,704,967,17114,865,998,17550,353,1061,17317,316,1121,17350,123,1113,17151,-61,1160,17192,56,1113,17126,167,1254,16955,-61,975,17341,534,1034,17349,339,1040,17214,440,1033,17259,324,1135,17073,278,586,17097,955,421,16810,1097,1146,17149,-241,1138,17168,-368,1077,17143,-460,1236,16913,-559,895,17086,-566,818,17364,-481,937,17091,-442,687,17347,-590,783,17061,-625,966,16880,-678,987,16885,-584,1012,16734,-788,892,16859,-709,588,17757,-426,922,17367,-343,807,17718,-232,1014,17371,-229,955,17686,55,1073,17330,20,930,17682,282,1038,17314,271,970,17315,435,877,17341,595,769,17730,552,780,17357,655,548,17431,877,547,17796,771,481,17154,935,608,16994,810,530,16859,943,456,16910,971,362,16629,1034,606,16868,866,521,16642,910,469,16676,969,375,16471,1008,771,17046,656,867,17041,540,1066,17106,291,1084,16859,254,1016,16860,393,1184,16626,268,1086,17066,-30,1117,17015,116,1175,16878,-46,1178,16854,55,1289,16726,-76,1053,17127,-232,1004,17101,-358,1145,16915,-315,1052,17030,-109,1164,16917,-229,1298,16767,-360,1133,16891,-377,563,17364,-707,404,17371,-775,428,17100,-846,574,17088,-845,659,17060,-750,661,16888,-959,569,16894,-953,749,16676,-993,709,16866,-894,272,17134,-883,258,16979,-988,356,16951,-954,247,16839,-1165,187,16975,-957,125,17142,-872,23,17346,-793,242,17376,-798,340,17726,-585,65,17697,-673,-183,17699,-588,-206,17333,-701,68,17081,-826,-126,17039,-779,60,16895,-917,-54,16875,-876,43,16744,-1050,-348,17335,-594,-214,17125,-716,-427,17064,-530,-231,16880,-748,-330,16879,-673,-279,16648,-875,-480,17362,-465,-403,17748,-364,-529,17377,-368,-544,17058,-331,-650,17028,-213,-731,17153,31,-739,16882,11,-690,16841,-117,-717,16665,2,-744,16699,80,-770,16493,172,-775,16921,82,-807,16651,179,-672,17449,-76,-559,17813,-92,2216,8858,1665,2119,8931,1730,2140,8884,1642,2180,8913,1769,2287,8901,1680,2248,8947,1758,2400,9094,1580,2311,9160,1699,2320,9185,1694,2419,9114,1571,2295,9074,1528,2178,9106,1520,2307,9094,1514,2185,9125,1503,2238,9254,1364,2175,9477,1466,2130,9203,1606,2128,9179,1617,2220,9175,1678,2224,9200,1670,2283,9492,1563,2354,9684,1370,2216,9638,1261,2495,9799,1268,2360,9781,1180,2544,9887,1209,2426,9873,1126,2435,10110,1016,2436,10058,869,2406,9817,980,2473,9766,876,2517,10017,773,2555,9963,627,2489,9704,727,2618,9657,650,2694,9928,565,2617,10234,555,2765,10212,507,2832,9923,593,2903,10219,552,2936,9935,660,3009,10234,617,2975,9980,828,3013,10290,800,2901,10347,968,2902,10041,986,2687,10397,1094,2694,10126,1145,2535,10389,1044,2565,10139,1114,2440,10360,934,2463,10313,786,2558,10281,698,2698,9869,1224,2661,9779,1309,2563,9677,1450,2439,9456,1639,2545,9260,1561,2349,9205,1471,2409,9012,1610,2332,9024,1529,2425,9324,1149,2500,8973,1380,2483,9240,1024,2589,8885,1216,2536,9193,887,2665,8837,1038,2705,9100,766,2752,8809,890,2820,9087,805,2602,9545,672,2754,9532,687,2757,9639,662,2863,9649,731,2873,9545,759,2933,9682,882,2463,9597,756,2439,9609,924,2359,9717,1021,2258,9468,1133,2873,9763,1066,2887,9662,1103,2684,9328,1471,2673,8927,1499,2525,9016,1637,2412,8716,1662,2347,8713,1605,2425,8663,1487,2347,8687,1610,2420,8638,1494,2516,8656,1520,2558,8907,1449,2423,8639,1405,2487,8584,1287,2416,8613,1408,2479,8560,1293,2570,8565,1326,2656,8840,1274,2532,8632,1234,2593,8599,1127,2523,8607,1235,2583,8575,1133,2678,8562,1155,2750,8811,1094,2638,8706,1053,2686,8650,952,2626,8682,1053,2671,8628,956,2746,8610,979,2827,8768,917,2921,9099,897,2890,8758,994,2902,9185,1095,2945,9581,920,2830,9257,1267,2778,8852,1327,2585,8610,1511,2487,8636,1478,2603,8657,1585,2505,8706,1686,2501,8680,1689,2411,8690,1666,2333,8444,1654,2391,8416,1546,2326,8419,1654,2383,8392,1548,2458,8396,1568,2511,8630,1526,2595,8632,1591,2442,8413,1714,2375,8434,1701,2367,8409,1700,2221,8225,1618,2242,8185,1661,2304,8156,1541,2353,8155,1586,2309,8174,1670,2504,8359,1622,2448,8372,1569,2516,8382,1622,2268,8204,1529,2433,8389,1713,2480,8611,1480,2352,8378,1445,2411,8345,1342,2339,8357,1444,2397,8324,1342,2467,8308,1366,2561,8540,1330,2649,8556,1395,2637,8532,1399,2576,8584,1511,2391,8356,1502,2377,8335,1499,2179,8210,1385,2189,8165,1419,2254,8135,1311,2291,8112,1359,2251,8133,1430,2497,8262,1421,2442,8293,1516,2457,8312,1520,2513,8281,1423,2452,8288,1365,2232,8189,1300,2597,8620,1300,2587,8595,1301,2444,8430,1240,2497,8401,1156,2429,8409,1236,2480,8382,1154,2335,8287,1111,2348,8222,1111,2535,8330,1168,2552,8348,1171,2668,8538,1158,2749,8546,1216,2860,8820,1148,2689,8584,1337,2762,8624,1135,2695,8672,1099,2681,8650,1097,2517,8559,1027,2569,8528,950,2603,8482,978,2730,8590,983,2789,8588,1043,2772,8568,1045,2746,8604,1132,2544,8519,1069,2524,8504,1063,2498,8542,1022,2548,8513,946,2581,8467,974,2629,8442,1031,2587,8470,1099,2566,8456,1091,2354,8408,990,2373,8461,967,2412,8436,909,2400,8377,920,2607,8428,1026,2403,8378,1018,2429,8354,968,2677,8560,1337,2480,8400,1298,2464,8381,1293,2300,8305,1164,2295,8260,1208,2388,8196,1156,2349,8220,1221,2577,8295,1222,2521,8329,1316,2538,8347,1322,2596,8312,1226,2736,8523,1219,-1737,10726,1062,-1751,10612,1019,-1667,10719,1037,-1819,10645,983,-1797,10736,1015,-1886,10699,777,-1773,10662,780,-1780,10665,754,-1900,10706,753,-1824,10839,834,-1730,10846,831,-1829,10852,812,-1729,10858,807,-1908,11004,567,-1742,10997,509,-1623,10827,783,-1612,10936,479,-1801,10971,262,-1640,10900,220,-1652,10669,290,-1696,10708,564,-1657,10694,752,-1655,10693,779,-1626,10818,808,-1669,10623,1004,-1817,10725,665,-2026,10789,680,-2017,10969,321,-2135,10736,570,-2021,10941,122,-2231,10692,92,-2228,10513,472,-2278,10496,42,-2258,10328,404,-2200,10353,-35,-2228,10124,336,-2110,10070,296,-2096,9930,599,-2177,9963,648,-2043,9873,762,-2104,9894,810,-2090,9884,830,-2030,9864,783,-1941,9813,885,-1978,9816,943,-1957,9808,953,-1920,9805,896,-1735,9755,928,-1771,9762,977,-1711,9834,962,-1730,9852,908,-1890,9902,942,-1856,9907,893,-1752,9788,880,-1883,9824,853,-1903,9833,841,-1964,9882,752,-1976,9892,731,-2016,9953,567,-1990,10073,273,-1965,10097,656,-1856,10255,302,-1795,10412,-98,-1776,10551,-1,-1830,10456,-197,-1822,10612,-151,-1902,10613,-476,-1888,10750,-400,-1923,10873,-704,-1902,10994,-598,-1831,11079,-525,-1822,10851,-351,-1844,10984,-275,-1845,11197,-422,-1979,11038,-254,-1965,11264,-364,-2120,11048,-202,-2124,11273,-355,-2299,10849,-271,-2301,11135,-475,-2347,10705,-359,-2368,10985,-605,-2318,10846,-726,-2283,10570,-454,-2199,10816,-752,-2171,10530,-490,-2055,10808,-760,-2029,10532,-508,-1952,10357,-203,-1928,10306,-104,-2079,10298,-76,-2197,10398,-134,-2273,10531,-59,-2224,10728,-9,-2063,10929,1,-1856,10934,72,-1910,10940,-30,-1718,10864,24,-1790,10875,-77,-1708,10701,-27,-1811,10552,389,-1788,10648,847,-1867,10673,923,-1983,10666,950,-2102,10483,905,-2148,10295,822,-2180,10126,716,-2103,9988,853,-2087,9974,869,-1957,9890,978,-1935,9880,986,-1760,9818,999,-1911,9913,932,-1875,9918,882,-1945,9995,790,-2012,9993,829,-2025,10008,811,-1955,10010,771,-2060,10102,701,-1993,9993,909,-1910,10019,868,-1980,9981,929,-1898,10008,888,-1858,9896,1043,-2055,9996,981,-1907,9897,1107,-1885,9887,1117,-1837,9886,1055,-1649,9828,1104,-1696,9832,1149,-1625,9934,1149,-1676,9902,1181,-1853,9987,1164,-1875,10000,1155,-2021,10113,1044,-2070,10008,963,-2035,10128,1028,-1933,10133,998,-1945,10148,980,-1860,10111,944,-1872,10126,926,-1942,10275,741,-2017,10272,807,-1951,10136,1053,-1870,10146,1010,-1939,10124,1073,-1858,10135,1030,-1773,10014,1226,-2020,10144,1130,-1825,10023,1289,-1804,10012,1301,-1753,10003,1240,-1553,9911,1354,-1600,9925,1396,-1518,10024,1407,-1580,10000,1429,-1774,10113,1346,-1794,10126,1335,-1989,10272,1175,-2035,10155,1111,-2002,10286,1158,-1898,10294,1132,-1910,10309,1114,-1827,10265,1077,-1838,10279,1058,-1920,10471,789,-1978,10459,884,-1899,10345,1090,-1979,10357,1159,-1962,10345,1176,-1884,10332,1108,-1734,10227,1215,-1780,10230,1282,-1759,10217,1292,-1714,10214,1227,-1511,10095,1319,-1560,10110,1362,-1471,10213,1378,-1531,10192,1404,-1709,10320,1328,-1729,10334,1318,-1898,10470,1206,-1911,10485,1190,-1831,10508,1145,-1770,10493,1088,-1819,10360,1040,-1805,10348,1058,-1760,10478,1107,-1820,10493,1163,-1678,10365,1276,-1642,10358,1222,-1682,10252,1167,-1663,10238,1181,-1625,10343,1234,-1659,10350,1288,-1462,10218,1318,-1493,10130,1273,-1837,10394,363,-1763,10728,-128,-2090,10346,-175,-1719,10037,1181,-1688,10146,1229,-1734,10160,1288,-1715,10147,1301,-1670,10134,1244,-1701,10026,1196,-1530,9941,1309,-1500,10029,1352,-1808,9937,997,-1778,10026,1040,-1821,10035,1102,-1801,10022,1112,-1759,10012,1052,-1789,9926,1010,-1642,9877,1059,-1624,9934,1086], "morphTargets": [], "normals": [-0.25394,0.751,0.60945,-0.30662,0.53325,0.78841,-0.30985,0.68603,0.65825,-0.086215,0.4492,0.88925,0.27006,0.70663,0.65398,-0.27909,0.88955,0.36158,-0.87704,0.42463,0.22465,-0.53768,0.59184,0.60048,-0.17402,0.88394,0.43394,0.18259,0.832,-0.52385,0.30805,0.92093,-0.23862,0.55022,0.83068,0.084628,0.18134,0.83325,0.52226,0.11319,0.63854,0.76119,-0.16382,0.54457,0.82254,-0.25825,0.67428,0.69179,-0.25733,0.67736,0.68914,-0.033753,0.8919,0.45091,3.1e-05,0.5338,-0.84558,-0.23258,0.95529,0.1825,-0.49001,0.82067,-0.29389,-0.09827,0.91702,-0.38649,-0.016785,0.99966,0.019684,0.16001,0.9808,-0.11121,0.18644,0.82449,-0.53423,0.54295,0.45146,-0.70803,0.82949,0.50023,-0.24833,0.093173,0.99005,0.10526,0.032868,0.9982,0.049898,0.48839,0.80312,0.34117,-0.21168,0.93103,0.29719,0.21039,0.79028,0.57546,0.71215,0.66332,0.22977,0.7329,0.66561,0.14054,0.33421,0.92535,0.17881,0.44185,0.83157,-0.3365,0.69884,0.56615,-0.43712,0.4684,0.4406,-0.76577,0.53334,0.36103,-0.76495,0.57213,0.74673,-0.33909,0.71569,0.10636,-0.69024,0.81781,0.44999,-0.35865,0.42918,0.8862,0.17447,0.17551,0.82034,0.54424,-0.022217,0.58501,0.81069,-0.020844,0.34895,0.93689,-0.20014,0.40541,0.89193,-0.30976,0.44652,0.83941,-0.29911,0.50676,0.8085,-0.42158,0.53398,0.73287,-0.19739,0.68712,0.69918,-0.58461,0.63277,0.50771,-0.20997,0.75143,0.62548,-0.48875,0.82678,0.27839,-0.60701,0.79257,-0.057436,-0.047029,0.93265,0.35768,-0.074252,0.99716,0.010895,-0.16037,0.98691,0.016419,-0.068575,0.97861,-0.19379,-0.49095,0.48833,-0.72143,0.028993,0.44679,-0.89416,0.30976,0.4015,-0.86187,0.48219,0.41603,-0.77093,0.38609,0.21043,-0.89813,0.50917,-0.064608,-0.85821,0.66848,-0.17994,-0.72161,0.73113,-0.35487,-0.58263,0.91714,-0.32722,-0.22742,0.73635,-0.043214,-0.67516,0.8869,0.16092,-0.433,0.94266,0.18619,0.27696,0.72127,0.58418,0.37208,0.31797,0.71584,0.6216,0.085086,0.55843,0.82516,0.21827,0.24403,0.94485,0.44841,0.1427,0.88235,0.13898,0.15116,0.97867,-0.14505,0.22578,0.96329,-0.3289,0.29872,0.89587,-0.46031,0.403,0.79098,-0.56212,0.35942,0.74486,-0.53548,0.53209,0.65581,-0.55824,0.76827,0.31315,-0.71252,0.64376,-0.279,-0.67379,0.66359,-0.32499,-0.27552,0.55452,-0.78521,-0.18061,0.83993,-0.5117,0.059603,0.41249,-0.90899,0.10663,0.40339,-0.90875,0.31831,0.32823,-0.88931,0.33052,0.15342,-0.93121,0.40272,-0.039979,-0.91443,0.63271,-0.27039,-0.72561,0.78304,-0.24403,-0.57207,0.77917,-0.24628,-0.57637,0.91614,-0.27485,-0.29176,0.62126,-0.097842,-0.77743,0.52483,0.15885,-0.83621,0.90066,0.14686,-0.40889,0.97183,0.058321,0.22828,0.63653,0.009308,0.77117,0.62053,0.1037,0.77724,0.47749,0.36543,0.799,0.3679,0.094699,0.92502,0.30625,0.34175,0.88845,0.33976,0.12381,0.93231,0.42305,0.053194,0.90451,0.48604,0.088839,0.86938,0.50502,0.085055,0.85888,0.24494,0.057161,0.96783,-0.10141,0.10761,0.98898,-0.32582,0.1919,0.92572,-0.51988,0.23994,0.81982,-0.71331,0.20011,0.67165,-0.44285,0.2584,0.85852,-0.87509,0.13016,0.46611,-0.92792,0.046693,0.36982,-0.92813,0.045412,0.3694,-0.91568,0.075076,0.39476,-0.98935,0.000427,0.14548,-0.98785,0.006653,0.15519,-0.95123,-0.085665,-0.29624,-0.95926,-0.085208,-0.26933,-0.70144,-0.19282,-0.68612,-0.78271,-0.12366,-0.60994,-0.54796,-0.17801,-0.81732,-0.36021,-0.30201,-0.88263,-0.43486,-0.29203,-0.8518,-0.25935,-0.29402,-0.91992,-0.14505,-0.31172,-0.93902,-0.031678,-0.22938,-0.97281,0.13614,-0.03946,-0.9899,0.24955,-0.025422,-0.96802,0.245,0.20701,-0.94714,0.33708,-0.053499,-0.93994,0.43846,-0.20026,-0.87613,0.63335,-0.27308,-0.72405,0.78256,-0.29078,-0.55046,0.79403,-0.23402,-0.56099,0.97198,-0.029237,-0.23319,0.91723,0.31272,0.24665,0.4933,0.83071,0.25794,-0.21958,0.44243,-0.86947,-0.5649,0.57652,-0.59032,-0.060976,0.075259,-0.99527,0.5157,0.22135,-0.82766,0.49528,0.23276,-0.83694,0.90988,0.21821,-0.35273,0.96759,0.10291,0.23057,0.63735,0.026337,0.77007,0.11527,-0.072207,0.99069,0.138,-0.11936,0.98318,0.17026,-0.099826,0.98032,0.31953,-0.35658,0.87789,0.66475,-0.11771,0.73769,0.77505,0.066897,0.62831,0.70397,-0.001556,0.7102,0.67376,0.001953,0.73891,0.50517,0.027192,0.86257,0.49269,0.016663,0.87002,0.15665,0.033357,0.98706,-0.10407,0.12238,0.987,-0.29148,0.18128,0.93921,-0.48521,0.15317,0.86084,-0.5425,0.16425,0.82382,-0.80254,0.087039,0.5902,-0.91684,0.056551,0.39518,-0.86874,0.067965,0.49052,-0.94067,0.047151,0.33595,-0.98859,0.023408,-0.14872,-0.85727,0.001373,-0.51482,-0.68425,-0.039674,-0.72814,-0.68456,-0.002411,-0.72893,-0.52596,-0.13434,-0.83981,-0.35789,-0.054689,-0.93213,-0.19401,-0.15949,-0.96793,0.11359,-0.13745,-0.98395,-0.000671,-0.075198,-0.99716,0.22349,-0.047517,-0.97354,0.13004,-0.043458,-0.99054,0.31474,0.012574,-0.94907,0.38908,-0.057894,-0.91937,0.68178,0.03946,-0.73046,0.72433,-0.089908,-0.68352,0.89456,-0.090609,-0.43763,0.85461,-0.20667,-0.47633,0.7018,-0.20426,-0.68242,0.44468,-0.1688,-0.8796,0.30396,-0.19761,-0.93194,0.17621,-0.24338,-0.95376,-0.18155,-0.24354,-0.95273,0.23234,-0.23734,-0.9432,0.33403,-0.2396,-0.91156,0.33711,-0.19425,-0.9212,0.42741,-0.22187,-0.87637,0.83752,-0.25495,-0.4832,0.95843,-0.23344,-0.16385,0.95013,0.024842,0.31077,0.77929,0.18793,0.5978,-0.07358,0.99408,0.079592,-0.95279,0.227,-0.20148,-0.88342,-0.4294,0.18745,-0.90027,-0.35078,-0.25776,-0.86343,-0.36882,0.34416,-0.92102,-0.29289,-0.25675,-0.89889,-0.31779,0.30161,-0.9245,-0.26411,-0.27476,-0.8948,-0.34648,0.28147,-0.90875,-0.24805,-0.33558,-0.95554,-0.23753,0.17466,-0.85031,-0.10443,-0.51579,-0.54976,-0.15052,-0.82162,-0.44981,-0.21491,-0.86685,-0.4272,-0.30686,-0.85046,0.18815,-0.30158,-0.93466,0.14286,-0.14566,-0.97894,0.05829,-0.012299,-0.9982,0.73507,-0.021241,-0.67763,0.66887,0.12314,-0.73308,0.9751,0.10462,-0.19541,0.9476,0.21085,-0.23994,0.58916,0.23008,-0.77453,0.9313,0.29176,-0.21793,0.54265,0.23954,-0.80505,-0.098148,0.067263,-0.99289,-0.033418,0.066103,-0.99722,-0.60509,-0.095004,-0.79043,-0.67156,-0.14142,-0.72729,-0.67663,-0.17759,-0.71456,-0.63479,-0.1955,-0.74749,-0.089541,0.054445,-0.99448,0.54082,0.22291,-0.81106,0.92764,0.24158,-0.28471,0.9545,0.15308,0.25584,0.66649,0.06708,0.74245,0.099887,-0.049898,0.99374,-0.53038,-0.2071,0.82205,-0.46818,-0.21662,0.85666,-0.18802,-0.44536,0.87536,-0.52394,-0.28962,0.80099,-0.55061,-0.39897,0.73321,-0.99853,0.043184,0.031617,-0.77306,-0.1279,0.62123,-0.99716,-0.070009,-0.02707,-0.82223,-0.1905,-0.53627,-0.44639,-0.29765,-0.84387,0.20936,-0.35292,-0.91192,0.78256,-0.23145,-0.57793,0.77056,-0.18244,-0.61064,0.99972,-0.022126,-0.000763,0.99881,-0.002808,-0.04828,0.89428,0.19068,0.4048,0.9238,0.16941,0.3433,0.92151,0.28376,-0.26508,0.93655,0.20982,0.28077,0.67238,0.078402,0.73601,0.12168,-0.12287,0.98492,0.10923,-0.39415,0.9125,-0.17283,-0.07944,0.98172,-0.78649,0.14011,0.60146,-0.99759,-0.06241,0.029695,-0.84378,-0.23707,-0.48146,-0.84503,-0.2226,-0.48613,-0.44618,-0.32893,-0.83227,-0.42857,-0.34672,-0.83432,0.20576,-0.33344,-0.92001,0.21924,-0.34944,-0.91092,0.78802,-0.22037,-0.57482,0.99982,-0.016205,-0.007355,0.84579,0.16337,0.50783,0.84371,0.14234,0.51753,0.40593,0.27378,0.87188,0.45274,0.11542,0.88412,-0.21598,0.27644,0.93643,-0.78903,0.14612,0.5967,-0.99875,-0.049013,0.009613,-0.84085,-0.16663,-0.51497,-0.4492,-0.27616,-0.84964,-0.51485,-0.85455,-0.067995,-0.30033,-0.92392,-0.23695,0.2053,-0.29728,-0.93243,0.81954,-0.1926,-0.53963,0.80215,-0.20429,-0.56105,0.99741,-0.040345,0.059328,0.99951,-0.027528,0.014008,0.84655,0.14036,0.51341,0.44621,0.26469,0.85485,0.42552,0.27393,0.86245,-0.20673,0.30348,0.93011,-0.22211,0.28819,0.93146,-0.80291,0.17219,0.57064,-0.99869,0.009339,-0.050295,-0.60112,-0.78893,0.1272,-0.27366,-0.93414,-0.22895,-0.49706,-0.86114,-0.10648,-0.54363,-0.64363,-0.53865,-0.042695,-0.7449,-0.66579,0.15235,-0.97458,-0.16416,0.37568,-0.89642,0.23499,0.58788,-0.73293,-0.3423,0.76104,-0.59554,0.25706,0.25806,-0.80254,0.53786,0.062197,-0.9758,-0.20954,0.28883,-0.9509,0.11112,0.25282,-0.87835,0.40565,0.83743,0.090793,0.53893,0.44658,0.21561,0.86834,-0.20313,0.29975,0.93213,-0.81826,0.21528,0.53295,-0.61058,-0.7105,0.3498,-0.64556,-0.76333,0.023103,-0.80712,-0.51213,-0.29362,-0.24537,-0.92126,0.30174,-0.94809,-0.31471,0.045106,-0.7965,-0.09183,0.59761,-0.19318,-0.10068,0.97595,0.32328,-0.28944,0.90094,-0.17719,-0.60048,0.77975,-0.58657,-0.50206,0.63549,-0.74664,-0.61394,0.25605,-0.13456,-0.69442,0.70684,0.11274,-0.78961,0.60314,-0.44719,-0.65313,0.61107,0.072054,-0.72274,0.68734,0.60582,-0.45763,0.65078,0.65581,-0.12989,0.74365,0.93225,-0.069704,0.35499,0.73803,-0.029817,0.67406,0.50899,-0.03296,0.8601,0.50905,-0.022095,0.86041,0.22474,-0.019837,0.97421,0.017182,0.045778,0.99878,-0.27021,0.098086,0.95776,-0.50526,0.081515,0.85907,-0.70104,0.098575,0.70626,-0.63772,0.078463,0.76623,-0.39097,0.073,0.91748,-0.87002,0.040345,0.49129,-0.82281,0.075625,0.56322,-0.76952,0.141,0.62285,-0.90701,0.13251,0.39967,-0.99304,0.097049,-0.066347,-0.88098,0.040437,-0.47136,-0.74474,0.025422,-0.66686,-0.77682,0.083285,-0.62416,-0.77004,0.11585,-0.62734,-0.76833,0.1153,-0.62954,-0.7668,0.12407,-0.62978,-0.48805,0.06653,-0.87023,-0.77105,0.11213,-0.62679,-0.51369,0.085421,-0.85369,-0.10999,0.052889,-0.99249,-0.060183,-0.046602,-0.99707,0.073183,0.020447,-0.9971,0.23991,0.052004,-0.96939,0.62172,0.07355,-0.77975,0.88021,0.025727,-0.47383,0.893,-0.095218,-0.43983,0.97769,-0.064974,-0.19959,0.96664,-0.064028,0.24796,0.78735,-0.023133,0.61605,0.58824,-0.035676,0.80785,0.58861,-0.015473,0.80822,0.35987,-0.071139,0.93027,0.13337,0.009461,0.991,-0.18784,0.045106,0.98114,-0.44069,0.058657,0.89572,-0.57271,0.077059,0.8161,-0.26685,0.070223,0.96115,-0.81295,0.065615,0.5786,-0.75665,0.1156,0.64351,-0.72314,0.15766,0.67241,-0.87201,0.15552,0.46406,-0.991,0.13037,-0.029633,-0.91153,0.11356,-0.39521,-0.89084,0.13807,-0.43281,-0.87017,0.14573,-0.47066,-0.75591,0.097964,-0.64727,-0.79165,0.20719,-0.57476,-0.63927,0.16254,-0.75158,-0.76675,0.064302,-0.63869,-0.67385,0.093905,-0.73284,-0.53163,0.038057,-0.8461,-0.45601,0.06531,-0.88754,-0.55834,0.17505,-0.81091,-0.37901,0.14341,-0.91418,-0.155,0.048097,-0.98672,-0.15494,0.032655,-0.98737,-0.006561,0.036042,-0.9993,0.004639,0.068178,-0.99765,0.1601,0.041536,-0.98621,0.17237,0.073824,-0.98224,0.032594,0.082064,-0.99606,0.20002,0.096408,-0.97501,0.6151,0.09714,-0.78243,0.85208,0.064089,-0.51943,0.87954,0.046663,-0.47346,0.95972,0.056887,-0.27506,0.98422,0.038148,0.17261,0.81951,0.019013,0.57271,0.63253,-0.025513,0.7741,0.63292,-0.008728,0.77413,0.4995,-0.009888,0.86624,0.20554,0.013367,0.97854,-0.10822,0.03769,0.99341,-0.37648,0.076815,0.92322,-0.61437,0.11765,0.78017,-0.71337,0.12162,0.69015,-0.68831,0.099734,0.7185,-0.89096,0.12357,0.4369,-0.99112,0.13205,-0.014954,-0.97793,0.20402,-0.044618,-0.95163,0.26719,-0.15158,-0.93686,0.26719,-0.22556,-0.70077,0.25465,-0.66634,-0.93323,0.23823,-0.2689,-0.65828,0.20505,-0.72427,-0.70791,0.20731,-0.67516,-0.9432,0.23319,-0.23655,-0.957,0.21253,0.19733,-0.91614,0.19584,0.34971,-0.79754,0.15662,0.58254,-0.7911,0.15274,0.59227,-0.79861,0.16135,0.57979,-0.78945,0.16114,0.59227,-0.66057,0.11737,0.74151,-0.63085,0.10895,0.76818,-0.29499,0.008423,0.95544,-0.21052,-0.011017,0.97751,0.063356,-0.047121,0.99686,0.072481,-0.045106,0.99634,0.27381,-0.023316,0.96149,0.3151,-0.017029,0.94888,0.045503,-0.036653,0.99826,-0.37828,0.039918,0.9248,-0.67562,0.15503,0.72072,-0.75903,0.18436,0.62438,-0.62676,0.14939,0.76473,-0.27741,0.0524,0.95929,0.010559,0.000214,0.99994,0.29078,0.01944,0.95657,0.36891,-0.001129,0.92944,0.56874,0.067049,0.81976,0.59716,0.077883,0.7983,0.73177,0.13059,0.6689,0.61751,0.11038,0.77874,0.70458,0.14618,0.69436,0.73058,0.12137,0.6719,0.71535,0.13651,0.68526,0.87613,0.18162,0.44652,0.87939,0.23337,0.41493,0.93966,0.31437,-0.13465,0.95673,0.27619,-0.091464,0.80499,0.24128,-0.54198,0.88534,0.095553,-0.455,0.76467,0.049104,-0.64251,0.78567,0.058138,-0.61586,0.78579,0.041078,-0.61708,0.83154,0.072787,-0.55065,0.85104,0.081881,-0.51866,0.93881,0.071169,-0.33696,0.99078,0.069948,0.11582,0.83483,0.006256,0.5504,0.65676,-0.020325,0.75378,0.65746,-0.007416,0.75341,0.52626,-0.005921,0.85028,0.23759,-0.003235,0.97134,-0.057344,0.024293,0.99805,-0.3184,0.07828,0.9447,-0.5667,0.11478,0.81588,-0.68014,0.087283,0.72784,-0.70824,0.063234,0.70312,-0.87246,0.11121,0.47581,-0.89309,0.20792,0.39885,-0.9158,0.23878,0.32286,-0.77477,0.16959,0.60903,-0.71618,0.16886,0.67714,-0.55718,0.1135,0.82256,-0.23753,0.040712,0.97052,-0.000824,-0.011933,0.99991,0.24598,0.001434,0.96927,0.54988,0.047578,0.83386,0.53847,-0.005432,0.84262,0.25065,-0.006653,0.96805,-0.01471,0.008026,0.99985,-0.26246,0.041505,0.96402,-0.53404,0.066012,0.84286,-0.68786,0.09122,0.72005,-0.74694,0.14719,0.64833,0.67284,0.001099,0.73977,0.68065,0.036164,0.73168,0.68252,0.11881,0.72112,0.58229,0.090884,0.80785,0.70553,0.11087,0.69994,0.69366,0.019135,0.72002,0.67553,-0.007172,0.73727,0.85842,0.006989,0.51283,0.87124,0.048189,0.48845,0.87133,0.18482,0.45448,0.98917,0.14591,-0.014222,0.91122,0.062624,-0.40706,0.82952,0.095676,-0.55019,0.94302,0.068239,-0.32557,0.99725,0.045289,0.058596,0.99954,0.027985,0.008637,0.53032,0.059877,-0.84564,0.53209,0.018555,-0.84646,0.76763,0.022401,-0.64046,0.64415,0.20624,-0.73653,0.7217,0.33906,-0.60344,0.94903,0.26719,-0.16715,0.93085,0.20997,0.29899,0.73659,0.12745,0.66417,0.73959,0.13291,0.65978,0.95679,0.25886,-0.13239,0.8179,0.26405,-0.51116,0.68252,0.26011,-0.683,0.56941,0.24226,-0.78552,0.55104,0.25172,-0.79556,0.58278,0.25431,-0.77178,0.55495,0.27192,-0.78616,0.3451,0.19843,-0.91732,0.30818,0.21784,-0.92602,0.069948,0.092105,-0.99329,0.012757,0.063082,-0.99792,-0.065004,0.039003,-0.9971,-0.037843,0.046083,-0.9982,0.11292,0.10825,-0.98767,-0.023164,0.061434,-0.99783,0.14533,0.068392,-0.987,0.44777,0.11475,-0.88672,0.66842,0.14765,-0.72893,0.51842,0.28281,-0.80697,0.54213,0.25962,-0.79916,0.3629,0.21485,-0.9067,-0.13944,0.062258,-0.98825,-0.11524,0.0365,-0.99264,-0.098666,0.03531,-0.99448,-0.075442,0.015442,-0.99701,-0.23395,0.10694,-0.96634,-0.33848,0.13181,-0.93167,-0.53035,0.18369,-0.8276,-0.52309,0.17905,-0.83322,-0.52132,0.18058,-0.83401,-0.50856,0.18024,-0.84195,-0.50871,0.20252,-0.83676,-0.15055,0.079287,-0.98541,-0.17493,0.05942,0.98276,-0.42119,0.060152,0.90497,-0.14573,0.009369,0.98926,-0.48106,0.076937,0.87329,-0.78402,0.12366,0.60823,-0.84472,0.14466,0.51521,-0.98599,0.14634,0.079958,-0.98044,0.19681,0.001221,-0.88962,0.17054,-0.42363,-0.82961,0.21509,-0.51521,-0.97949,0.19944,-0.027863,-0.82797,0.19703,-0.52498,-0.97436,0.21653,-0.060976,-0.8291,0.19483,-0.524,-0.94946,0.28929,-0.12171,-0.75069,0.30415,-0.58641,-0.92526,0.34053,-0.16697,-0.70592,0.22312,-0.67217,-0.95383,0.22861,-0.19477,-0.66732,0.13935,-0.73159,-0.9501,0.20896,-0.23154,-0.64373,0.16834,-0.74648,-0.95511,0.19025,-0.227,-0.648,0.19013,-0.73751,-0.96194,0.1616,-0.22025,-0.65142,0.16291,-0.74099,-0.96789,0.16981,-0.18528,-0.63866,0.18876,-0.74593,-0.9555,0.17478,-0.23753,-0.62905,0.20756,-0.74911,-0.95444,0.15305,-0.25608,-0.6285,0.21641,-0.74706,-0.95343,0.17866,-0.24296,-0.63201,0.22712,-0.7409,-0.95657,0.15162,-0.24888,-0.64889,0.163,-0.74319,-0.95581,0.15088,-0.25221,-0.67135,0.15738,-0.7242,-0.93646,0.23762,-0.25797,-0.71435,0.22211,-0.66356,-0.93466,0.20319,-0.29167,-0.62767,0.14939,-0.764,-0.9107,0.17151,-0.37568,-0.56157,0.15369,-0.81298,-0.88906,0.11814,-0.44224,-0.47478,0.076357,-0.87677,-0.70794,-0.64116,-0.29615,-0.28425,-0.73046,-0.62093,-0.12259,-0.9751,0.1847,-0.79241,-0.60994,0.001099,-0.69692,-0.5276,0.48567,-0.30729,-0.5121,0.80203,0.24946,-0.60381,0.75707,-0.064669,0.17872,0.98175,-0.73214,0.24116,0.63701,-0.98102,0.18979,0.039277,-0.95029,0.22779,0.21219,-0.60311,0.25974,0.75417,-0.044069,0.10437,0.99353,0.59111,0.047121,0.80517,0.52394,-0.64831,0.55239,0.84906,0.028962,0.52745,0.61318,-0.11423,0.78161,0.91681,-0.15677,0.36717,0.60222,-0.27616,0.74902,0.91943,-0.24046,0.31107,0.69512,-0.16169,0.70043,0.93436,-0.21458,0.2844,0.97885,-0.1814,-0.094363,0.95483,-0.17853,-0.23743,0.92914,-0.2616,0.26121,0.93603,-0.18949,-0.29646,0.62972,-0.075411,-0.77312,0.54131,-0.035554,-0.84005,0.10272,0.039094,-0.99393,0.69311,-0.062136,-0.7181,0.69137,0.06473,-0.71957,0.083956,0.12885,-0.9881,0.23136,0.035188,-0.9722,0.79467,0.037111,-0.60588,0.98965,0.10761,-0.094821,0.9949,0.090091,0.044679,0.63933,-0.67162,0.37431,0.63576,-0.75198,-0.17405,0.20447,-0.77602,-0.59661,-0.10294,0.093936,-0.99023,0.52412,0.015992,-0.85147,0.93658,-0.12854,-0.32594,0.92773,-0.11441,-0.35524,0.53331,0.054872,-0.84411,-0.04178,0.11728,-0.99219,-0.014649,0.17365,-0.98468,0.55394,0.041261,-0.83151,0.93576,-0.065645,-0.34642,0.9447,-0.11331,-0.30769,0.56972,0.026276,-0.82141,-0.009369,0.17832,-0.98392,-0.004852,0.16196,-0.98676,0.56053,0.01178,-0.82803,0.94281,-0.14264,-0.30122,0.93121,-0.17472,-0.3198,0.53758,-0.03943,-0.84225,-0.008667,0.12485,-0.99213,-0.031739,0.072176,-0.99686,0.52287,-0.064394,-0.84994,0.90661,-0.20853,-0.3668,0.86395,-0.22712,-0.44942,0.49089,-0.1088,-0.86438,-0.064119,0.093112,-0.99356,-0.11969,0.060549,-0.99094,0.45735,-0.2002,-0.86642,0.86654,-0.21161,-0.45195,0.566,-0.69665,-0.44081,0.21284,-0.51866,-0.82803,-0.048311,-0.93374,-0.35463,-0.045259,-0.99124,-0.12381,-0.61006,-0.64708,-0.45723,-0.72326,-0.69021,-0.020966,-0.84826,-0.23545,-0.47429,-0.88565,-0.45152,0.10828,-0.84597,-0.24763,-0.47218,-0.87219,-0.44206,0.20939,-0.87063,-0.23026,-0.43471,-0.92859,-0.30888,0.20554,-0.89557,-0.16962,-0.41127,-0.94525,-0.2754,0.17499,-0.90851,-0.13425,-0.39567,-0.93814,-0.25898,0.22971,-0.91024,-0.10541,-0.4004,-0.96341,-0.18616,0.19279,-0.89868,-0.053468,-0.43526,-0.95297,-0.24757,0.17469,-0.8891,-0.10083,-0.44645,-0.93985,-0.29969,0.16373,-0.90036,-0.11698,-0.41905,-0.95926,-0.22822,0.16648,-0.90149,-0.17972,-0.39369,-0.94461,-0.28846,0.15638,-0.92102,-0.18091,-0.34489,-0.95236,-0.25214,0.17139,-0.9523,-0.18754,-0.24067,-0.94443,-0.2681,0.19007,-0.95798,-0.19159,0.21332,-0.96457,0.050447,-0.25889,-0.98703,0.039583,-0.15546,-0.65386,-0.002045,-0.75658,-0.56233,-0.76705,-0.30882,-0.049806,-0.77557,-0.62926,-0.0253,0.031098,-0.99918,0.43214,-0.71661,-0.54744,0.64248,0.10035,-0.7597,0.77288,-0.61922,-0.13855,0.95676,0.15107,-0.24854,0.67284,0.2074,-0.7101,0.082827,0.15235,-0.98483,-0.55507,0.058443,-0.82974,-0.58931,-0.013306,-0.80776,-0.55779,-0.023072,-0.82961,-0.46116,0.0141,-0.88717,-0.44389,0.0665,-0.89358,0.19184,0.16031,-0.96823,0.13074,0.18308,-0.97433,0.73223,0.21229,-0.64708,0.71154,0.21888,-0.66765,0.97223,0.17771,-0.15213,0.97269,0.1782,-0.14869,0.69344,0.28254,-0.66277,0.10208,0.23853,-0.96573,-0.45436,0.10471,-0.88461,-0.47566,0.089938,-0.875,0.096652,0.24308,-0.96515,0.69069,0.27222,-0.66994,0.96854,0.20478,-0.14136,0.97119,0.18012,-0.15595,0.69158,0.2635,-0.67248,0.092715,0.2269,-0.96948,-0.49126,0.074007,-0.86782,-0.48073,0.060945,-0.87472,-0.45525,0.009033,-0.89029,0.097629,0.19028,-0.97684,0.12079,0.13871,-0.98291,0.70116,0.24464,-0.66967,0.71386,0.21866,-0.66521,0.97778,0.1923,-0.083285,0.97522,0.18635,-0.11911,0.69979,0.25401,-0.66762,0.1391,0.17118,-0.97534,-0.44572,-0.021577,-0.89489,-0.44407,-0.0665,-0.89349,0.15091,0.13205,-0.97967,0.67834,0.22742,-0.69863,0.96823,0.21619,-0.12543,0.96371,0.2331,-0.12983,0.6943,0.20048,-0.69118,0.17334,0.069735,-0.98236,-0.43016,-0.16056,-0.88833,-0.24122,-0.48683,-0.8395,0.26945,-0.082705,-0.95944,0.708,0.31993,-0.62957,0.96329,0.25303,-0.089541,0.89666,0.43687,-0.071505,0.72921,0.39552,-0.55837,0.37639,0.073,-0.92355,-0.024628,-0.34376,-0.93872,-0.033143,-0.68734,-0.72555,-0.003296,-0.36882,-0.92947,-0.021027,-0.27201,-0.96203,0.083102,0.04059,-0.9957,0.47868,0.12784,-0.86859,0.8471,0.14982,-0.50981,0.45534,0.17627,-0.87268,0.10184,0.1948,-0.97552,0.004151,0.058107,-0.99829,-0.086184,0.020356,-0.99606,-0.37953,0.021516,-0.92489,-0.26814,-0.1254,-0.95517,-0.1655,0.005646,-0.98618,-0.47206,0.13331,-0.8714,-0.080355,0.20139,-0.9762,0.012909,0.20069,-0.97955,0.012635,0.25153,-0.96774,0.036348,0.19968,-0.97916,0.006867,0.15177,-0.98837,0.000244,0.16273,-0.98666,0.36146,0.16578,-0.91751,0.46629,0.16834,-0.86843,0.84786,0.13614,-0.51238,0.90139,0.089297,-0.42363,0.99469,0.10269,0.00238,0.99518,0.056459,0.079958,0.85403,0.065218,0.51607,0.79202,0.052187,0.60823,0.48509,0.033998,0.87377,0.42161,-0.072115,0.9039,0.14515,-0.003021,0.98938,0.12015,-0.092349,0.98843,0.000702,0.015564,0.99988,-0.049898,-0.003845,0.99872,-0.18796,-0.012726,0.98209,-0.02588,-0.074679,0.99686,-0.11594,0.003906,0.99323,-0.14905,0.04593,0.98773,-0.21473,0.2154,0.95261,-0.23063,0.36482,0.90204,-0.31812,0.39054,0.86383,-0.44243,0.36354,0.81979,-0.33204,0.26399,0.90555,-0.30757,0.11331,0.94473,-0.44807,0.10993,0.88717,-0.27024,0.034059,0.96216,-0.004303,-0.041932,0.99908,-0.13797,-0.023103,0.99014,-0.46461,0.057009,0.88363,-0.8544,0.14429,0.49916,-0.86239,0.16215,0.47957,-0.88739,0.19779,0.4164,-0.89792,0.23405,0.37272,-0.9079,0.22855,0.35139,-0.92419,0.19059,0.33088,-0.9378,0.14124,0.31712,-0.94259,0.10123,0.31812,-0.93738,0.10797,0.33109,-0.90167,0.11777,0.41606,-0.92062,0.1435,0.36302,-0.96264,0.019623,0.26997,-0.96228,0.046815,0.26795,-0.96118,0.11676,0.24992,-0.95364,0.094333,0.28568,-0.94159,0.16675,0.29255,-0.94491,0.21189,0.24937,-0.60585,0.093936,0.78997,-0.033174,-0.072268,0.99683,0.16633,-0.046266,0.98495,0.065554,-0.10544,0.99225,-0.5772,0.010041,0.81652,-0.61293,-0.003388,0.79009,0.024476,-0.12085,0.99234,0.62905,-0.23743,0.7402,0.63121,-0.19593,0.75042,0.94211,-0.20057,0.26862,0.92383,-0.27241,0.26884,0.9353,-0.21946,0.27747,0.94348,-0.15644,0.29209,0.91543,-0.22404,0.3343,0.92416,-0.24775,0.29072,0.91842,-0.26289,0.29554,0.90191,-0.36241,0.23484,0.9379,-0.32798,0.11295,0.7532,-0.65743,-0.0206,-0.035585,-0.95178,0.30467,0.42857,-0.69298,0.5797,-0.025513,-0.65545,0.75478,-0.025086,-0.25178,0.96744,-6.1e-05,-0.12738,0.99185,-0.15778,-0.040468,0.98663,-0.54552,0.055483,0.83624,-0.59844,0.058779,0.79897,-0.57247,0.0983,0.81399,-0.56053,0.078463,0.82437,-0.57054,0.036439,0.82043,-0.59194,-0.017396,0.80578,-0.58687,-0.029908,0.80911,-0.57778,-0.029542,0.81564,-0.53798,0.019379,0.84271,-0.56908,-0.12708,0.81237,-0.67,-0.17243,0.72201,-0.034944,-0.26078,0.96475,0.62749,-0.31202,0.71334,0.60204,-0.29963,0.74007,0.63036,-0.17155,0.75707,0.65246,-0.19385,0.73257,0.61113,-0.21491,0.76174,0.63167,-0.24097,0.73681,0.65291,-0.22059,0.72457,0.63845,-0.29054,0.7127,0.62178,-0.36515,0.6928,0.076449,-0.15143,0.9855,0.090732,-0.12189,0.98837,0.073458,-0.12552,0.98935,0.086337,-0.1507,0.98477,0.092105,-0.15372,0.98379,0.065096,-0.1511,0.98636,0.029633,-0.13138,0.99087,0.016419,-0.27036,0.96258,-0.47694,0.069796,0.87613,-0.11524,-0.026368,0.99298,-0.005005,-0.072176,0.99738,0.11152,-0.050233,0.99246,0.14493,-0.086428,0.98566,-0.005737,-0.30558,0.95215,-0.42521,-0.73711,0.52516,-0.60122,-0.46461,0.65011,-0.13007,-0.22202,0.96631,-0.66637,-0.36946,0.6476,-0.72069,-0.27537,0.63616,-0.69115,-0.30326,0.65597,-0.67046,-0.27757,0.68804,-0.71361,-0.249,0.65477,-0.69424,-0.22813,0.68261,-0.66228,-0.3545,0.66002,-0.68496,-0.36537,0.6303,-0.69405,-0.25202,0.67434,-0.69024,-0.29276,0.66167,-0.75369,-0.21528,0.62096,-0.67281,-0.32923,0.6625,-0.73339,-0.13523,0.66619,-0.94,0.009339,0.34098,-0.68517,-0.69234,0.22611,-0.61159,-0.66829,0.42344,0.11115,-0.97259,0.20414,-0.38881,-0.6184,0.68291,0.14176,-0.51228,0.84701,-0.14731,0.17756,0.97299,-0.74923,0.05182,0.66024,-0.16617,0.082644,0.9826,-0.12735,-0.13474,0.98264,-0.2606,-0.11292,0.9588,-0.15464,-0.17155,0.97296,-0.11347,-0.18647,0.97586,-0.049379,-0.32362,0.94488,-0.10016,-0.3336,0.93738,-0.11829,-0.1969,0.97323,-0.15284,-0.21668,0.96417,-0.17945,-0.21943,0.95895,-0.1662,-0.21873,0.96152,-0.14927,-0.19453,0.96945,-0.17045,-0.18818,0.96722,0.50484,0.053072,0.86157,0.54204,0.008332,0.8403,0.51811,-0.006836,0.85525,0.47221,0.013092,0.88138,0.46413,0.010834,0.88568,0.1308,-0.035249,0.99075,0.86126,0.062471,0.50429,0.86456,0.08652,0.49498,0.875,0.14887,0.46065,0.98834,0.14777,-0.036103,0.99371,0.11054,-0.016541,0.84976,0.12626,-0.51179,0.9462,0.31657,-0.066866,0.85632,0.24,0.45723,0.8677,0.21714,0.44707,0.88659,0.17811,0.42683,0.48744,0.029603,0.87262,0.49364,-0.011872,0.86956,0.51564,-0.06415,0.8544,0.51048,-0.076907,0.85641,0.50081,-0.077059,0.86209,0.4579,-0.030457,0.88845,0.49412,-0.17429,0.85171,0.60369,-0.21244,0.76836,0.53774,-0.048921,0.84167,0.4995,-0.037599,0.86547,0.48515,0.042756,0.87335,0.46303,0.22919,0.85617,0.57909,0.24329,0.7781,0.59008,-0.51405,0.62249,0.79025,-0.5887,0.16996,0.94754,0.20624,0.24415,0.90741,0.21836,0.35899,0.91464,0.2085,0.34629,0.95602,0.23167,-0.17966,0.95199,0.26441,-0.15406,0.7684,0.27332,-0.57863,0.69649,0.21232,-0.68539,0.95288,0.20432,-0.22416,0.015595,0.11112,-0.99368,0.90774,0.15735,0.38884,0.92163,0.085665,0.37843,0.93203,0.11054,0.34504,0.93265,0.039552,0.35853,0.93332,0.012268,0.35881,0.97018,0.20057,-0.13602,0.88082,0.12928,0.4554,0.85751,0.099857,0.50465,0.90103,0.096103,0.42293,0.90753,0.090304,0.41011,0.90197,0.13062,0.41148,-0.017182,0.2045,-0.9787,-0.43309,0.21479,-0.87536,-0.34297,0.20048,-0.91769,0.014466,0.16208,-0.98666,-0.44914,0.20985,-0.86843,-0.49754,0.006867,-0.8674,-0.73382,0.052034,-0.67733,0.22434,-0.18058,-0.95761,-0.022858,-0.25132,-0.96762,-0.35063,-0.26753,-0.89746,0.024781,0.40529,-0.91385,0.06476,-0.090365,-0.99377,-0.54939,-0.36055,-0.75375,-0.83462,-0.14945,-0.53014,-0.91006,0.048616,-0.41154,-0.99817,-0.026002,0.054567,-0.92227,0.082034,0.3777,-0.76363,0.26157,0.59023,-0.6711,0.47401,0.56996,-0.51476,0.76168,0.39344,-0.37907,0.92322,0.062807,-0.29994,0.83639,-0.45875,0.012848,0.47609,-0.87927,0.017548,-0.17243,-0.98486,-0.67083,-0.47642,-0.56832,-0.88949,0.25535,-0.37886,-0.93024,0.28782,-0.22751,-0.95541,0.20472,0.21268,-0.83883,0.21549,0.49989,-0.63536,0.63097,0.44514,-0.87973,0.13379,0.45619,-0.88421,-0.23945,0.40098,-0.72686,-0.47609,0.49492,-0.86721,-0.12732,0.48134,-0.87817,0.44176,0.18332,-0.97876,0.17203,0.11142,-0.78408,-0.22669,0.57771,-0.98325,0.040498,0.17759,-0.70611,-0.2736,0.6531,-0.97894,-0.037019,0.20069,-0.70659,-0.24778,0.6628,-0.96841,-0.001068,0.24927,-0.67229,-0.26664,0.69057,-0.15522,-0.52879,0.83441,-0.22733,-0.94012,0.25385,-0.60909,-0.73367,0.30113,-0.95791,0.039583,0.28425,-0.95413,-0.063021,0.29258,-0.79134,0.11216,0.60094,-0.94894,0.23481,0.21052,-0.9129,0.33344,-0.23527,-0.89019,0.27641,-0.36213,-0.90661,0.12091,-0.40425,-0.95764,-0.057405,-0.28211,-0.53612,-0.060854,-0.84191,-0.58467,-0.38704,-0.71294,0.026002,-0.17835,-0.98361,0.073244,0.13016,-0.98877,0.62777,0.009919,-0.77831,0.67269,0.14457,-0.72564,0.95694,-0.099673,-0.27253,0.95819,-0.081759,-0.27412,0.70366,0.17176,-0.68941,0.11216,0.32609,-0.93866,-0.515,0.23292,-0.82491,-0.51204,0.412,-0.75365,-0.52577,0.45451,-0.71896,-0.9299,0.29673,-0.21723,-0.93335,0.26682,-0.24006,-0.91049,0.24091,-0.33607,-0.88986,0.26554,-0.37095,-0.84164,0.39058,-0.37288,-0.67544,0.63418,-0.3762,-0.51485,0.84484,0.14527,-0.23133,0.54021,-0.80908,0.22645,-0.028565,-0.97357,-0.67,-0.71325,-0.20576,-0.81585,0.50029,0.28996,-0.31672,0.94369,0.095492,0.049898,0.99872,0.005524,-0.97525,-0.015076,-0.22056,-0.99832,0.044679,-0.036683,0.45567,-0.38731,0.80145,0.9266,0.016724,0.37565,0.87597,-0.41874,0.23936,0.42146,-0.54155,0.72735,-0.29234,-0.49275,0.81958,-0.20533,-0.46599,0.86059,-0.14216,-0.4482,0.88253,0.48448,-0.55022,0.68004,0.10129,-0.91903,0.38084,0.71441,-0.67077,0.19916,0.75246,-0.36506,0.54817,-0.001007,0.82702,0.56212,-0.60256,0.6563,0.45402,-0.94073,0.28745,0.17982,-0.96655,-0.15418,-0.20481,-0.61409,-0.54637,-0.56947,-0.002136,-0.51985,-0.85424,0.52709,-0.24711,-0.81304,0.90762,-0.31364,-0.27897,0.67064,-0.65087,0.35572,0.91141,-0.34626,0.22224,0.90487,-0.37397,0.20325,0.94617,-0.13184,-0.2956,0.70745,0.13312,-0.69408,0.1287,0.40019,-0.90731,0.12244,0.40519,-0.90597,0.70244,0.18116,-0.68825,0.94504,-0.1435,-0.29377,0.8428,0.53703,-0.035279,0.54949,0.82141,-0.15274,0.14695,0.49355,-0.85717,-0.53099,0.45656,-0.71383,-0.43593,0.44276,-0.7835,-0.39262,0.36461,-0.84432,-0.42683,0.35475,-0.83181,-0.10678,0.4893,-0.86554,0.50581,-0.50313,0.70067,0.33226,-0.84347,0.42201,0.97501,0.11658,0.18912,0.61418,0.63164,0.47301,0.61937,0.54347,0.56655,-0.014801,0.74892,0.66246,-0.62661,0.60543,0.49068,-0.94681,0.26951,0.17563,-0.96832,-0.16651,-0.18601,-0.62151,-0.59532,-0.50917,0.010254,-0.73009,-0.68325,0.014405,-0.79016,-0.61269,0.62444,-0.609,-0.489,0.62493,-0.65258,-0.42848,0.92972,-0.32643,-0.17032,0.94064,-0.31913,-0.11536,0.96304,0.11066,0.24552,0.96857,0.11203,0.22202,0.63836,0.55449,0.53383,-0.029817,0.75897,0.65044,-0.64464,0.59062,0.48537,-0.94824,0.25269,0.19224,-0.97278,-0.16526,-0.16227,-0.63897,-0.57683,-0.50887,0.029237,-0.77917,-0.62609,0.64101,-0.63381,-0.43281,0.94256,-0.309,-0.12662,0.95132,-0.26841,-0.15131,0.97333,0.14432,0.17826,0.6354,0.58467,0.50435,-0.053957,0.78866,0.61242,-0.66094,0.60021,0.45042,-0.95129,0.24183,0.19108,-0.97644,-0.17441,-0.12693,-0.64128,-0.609,-0.46672,0.056429,-0.79833,-0.59954,0.6617,-0.61135,-0.434,0.59355,-0.45323,0.66497,0.5587,-0.25105,0.79043,0.43754,-0.098575,0.89377,0.23298,0.023072,0.9722,-0.01471,0.028718,0.99945,-0.20063,-0.096683,0.97485,-0.29771,-0.2974,0.90713,-0.27931,-0.57485,0.7691,0.039003,-0.81381,0.57976,0.44536,-0.70412,0.553,-0.36161,-0.53258,0.76522,-0.37785,-0.2223,0.89877,-0.27104,-0.003601,0.96255,-0.76952,-0.047304,0.6368,-0.74923,-0.4615,0.47502,-0.34794,-0.90396,0.24857,0.003784,-0.7813,0.6241,0.35722,-0.9169,0.17783,0.18558,-0.28608,0.94003,-0.62008,0.33052,0.71151,-0.087619,0.22422,0.97058,-0.18982,0.68108,0.70714,0.33604,0.32841,0.88272,0.50966,0.63369,0.58193,0.63854,0.050111,0.76794,0.88015,0.16236,0.446,0.89737,-0.24619,0.36616,0.76037,-0.59075,0.26981,0.41703,-0.65276,0.6324,0.56917,-0.44407,0.69195,0.64769,-0.24082,0.7228,0.54305,-0.50636,-0.66982,-0.50325,0.78988,0.35041,-0.35261,0.69176,0.63015,-0.3245,0.52815,0.78466,0.4836,-0.47636,0.73428,0.86767,-0.26734,0.41911,0.81201,-0.40352,0.42161,-0.33696,0.22065,0.91528,-0.44493,-0.1604,0.88104,-0.73269,-0.62755,0.26325,-0.97122,-0.23737,-0.018097,-0.51778,-0.82629,-0.22159,-0.34022,-0.90725,-0.2472,-0.18137,-0.962,-0.20392,-0.076571,-0.99036,0.1153,0.10263,-0.62133,0.77676,0.21775,-0.966,0.13913,0.29798,-0.90234,0.31141,0.32197,-0.81304,0.485,0.45088,-0.77071,0.45018,0.48662,-0.66188,0.57015,0.53053,-0.53017,0.66137,0.69515,-0.4807,0.53447,0.67214,-0.73397,0.097354,0.89926,-0.41838,0.12745,0.92093,-0.3375,0.19477,0.9378,-0.29908,-0.17609,0.90054,-0.29142,-0.32252,0.97266,-0.23176,0.01471,0.8999,0.22034,-0.37629,0.60118,-0.1981,-0.77413,0.57115,0.38609,-0.72433,0.15076,0.23161,-0.96103,0.088839,-0.27912,-0.95611,0.29292,-0.31721,-0.90197,0.58495,-0.2956,-0.75524,0.79775,-0.32487,-0.50792,0.86935,-0.17338,-0.46272,0.54418,-0.15226,-0.82501,0.11875,-0.15497,-0.98074,-0.77786,-0.096103,-0.62102,-0.40165,-0.058901,-0.91388,-0.062258,-0.28394,-0.95679,-0.4185,-0.31724,-0.85098,-0.3495,-0.39946,-0.84747,-0.27116,-0.71966,-0.63915,-0.66048,-0.48909,-0.56966,-0.65471,-0.65728,-0.37318,-0.56041,-0.75545,-0.33943,-0.53008,-0.78832,-0.31223,-0.44371,-0.88067,-0.16584,-0.096377,-0.98984,0.10431,0.25187,-0.89117,0.37727,0.41652,-0.80264,0.42689,0.38319,-0.54915,0.74267,0.31654,-0.46477,0.8269,0.065859,-0.3245,0.94357,0.00705,-0.11051,0.99384,-0.073977,-0.27088,0.95975,-0.029786,-0.39155,0.91965,0.014588,0.18738,0.98215,-0.2804,-0.18824,0.94122,-0.13156,0.77261,0.62108,-0.36586,0.79476,0.48421,0.007904,0.90988,0.41475,-0.59371,0.2479,0.76553,-0.19562,-0.95279,0.23219,-0.1659,-0.89663,0.41044,-0.23331,-0.69631,0.67873,-0.14136,-0.74099,0.65645,-0.11185,-0.919,0.378,-0.030122,-0.36036,0.93231,-0.027406,-0.055635,0.99805,-0.23209,-0.41121,0.88147,-0.46019,-0.67507,0.57656,-0.60811,0.13745,0.78182,-0.80633,-0.4026,0.43324,-0.37465,-0.89352,0.24744,-0.38707,0.91586,0.10642,-0.61486,-0.69048,0.38093,-0.61626,-0.73388,0.28568,-0.96246,-0.041536,0.26817,-0.90371,-0.34724,0.25034,-0.35673,-0.91531,0.18687,-0.82269,-0.43049,0.37126,-0.79165,-0.41572,0.44768,-0.91803,-0.25822,0.30088,-0.93725,-0.30943,0.16047,-0.96774,-0.095828,0.23289,-0.88748,-0.44667,-0.11313,-0.82354,-0.53099,-0.1995,-0.78002,-0.51042,-0.36192,-0.78726,-0.45308,-0.41819,-0.62746,-0.68706,-0.36638,-0.94531,-0.083621,-0.31526,-0.92242,-0.1428,-0.35878,-0.88482,-0.30839,-0.34922,-0.93347,-0.30708,-0.1851,-0.8967,-0.42573,-0.12107,-0.93051,-0.35939,0.070223,-0.9064,-0.32557,0.26905,-0.91971,-0.20389,0.33546,-0.91656,0.017518,0.39949,-0.87265,0.12015,0.47331,-0.90228,0.13019,0.41099,-0.61202,0.087954,0.78591,-0.24503,0.11069,0.96316,-0.43318,-0.72082,0.54106,-0.7383,-0.66988,0.078249,-0.93551,-0.27406,0.22282,-0.98321,0.10395,0.14975,-0.82095,-0.52843,-0.21629,-0.41597,-0.90936,-0.001129,-0.51793,-0.85427,-0.044069,-0.49828,-0.86633,-0.034242,-0.19282,-0.95422,0.22858,0.13779,-0.87591,0.46236,0.090579,-0.68236,0.72536,0.15229,-0.86438,0.4792,0.15418,-0.77639,0.61107,0.084872,-0.9169,0.3899,0.39888,-0.5468,0.73611,0.39445,-0.19913,0.89706,-0.049226,-0.18848,0.98083,-0.11399,-0.7582,0.64196,-0.56667,-0.40376,0.71822,-0.56191,0.39354,0.72756,-0.94293,-0.17502,0.28321,-0.60918,-0.75075,0.25538,-0.29865,-0.88156,0.36558,-0.64464,-0.76437,-0.012574,-0.96948,-0.17859,-0.16782,-0.9267,0.19456,-0.32142,-0.85827,0.46199,-0.22333,-0.9443,0.27363,-0.18262,-0.84484,0.5248,0.10379,-0.45549,0.66091,0.59639,-0.85009,0.52596,-0.026093,-0.90268,0.41688,0.10636,-0.96625,0.25046,-0.060213,-0.9255,0.28874,0.245,-0.93374,0.11356,0.33943,-0.97986,-0.078616,0.18339,-0.94952,-0.30195,0.084902,-0.96838,-0.17078,-0.18165,-0.98325,-0.050417,-0.17499,-0.99805,0.033784,0.051973,-0.98633,-0.13382,0.095859,-0.88391,-0.044099,0.4655,-0.80639,0.23716,0.5417,-0.99557,0.083407,-0.043001,-0.96664,0.19855,0.16175,-0.52556,0.50694,0.68319,-0.50026,0.56972,0.652,0.12357,0.40132,0.90753,0.24131,0.50938,0.82598,0.11408,0.51024,0.85241,0.41121,0.25315,0.87567,0.54006,0.17243,0.82376,0.095157,0.08768,0.99158,0.005646,-0.28822,0.95752,-0.16474,0.006165,0.9863,-0.17722,0.11924,0.9769,-0.10605,-0.21613,0.97058,-0.16855,-0.44032,0.88183,-0.24989,-0.42396,0.87048,-0.6231,0.23569,0.74575,-0.5457,-0.12513,0.82858,-0.088198,0.87787,0.47066,0.11698,0.94638,0.30107,-0.11359,0.43321,0.8941,-0.047182,-0.33848,0.93979,0.15079,-0.37562,0.9144,0.32685,-0.44414,0.83419,0.40007,-0.32716,0.85608,0.14225,-0.31834,0.93722,0.05829,-0.094272,0.99384,-0.10053,0.10096,0.98978,-0.007691,0.27482,0.96145,0.2974,0.23136,0.92627,0.43336,0.44243,0.78512,0.081301,0.18268,0.9798,-0.61467,0.03061,0.78817,-0.86111,-0.19291,0.47035,-0.92904,-0.36869,-0.030183,-0.88952,-0.4568,0.007691,-0.89087,-0.016266,0.45393,-0.46052,0.74074,0.48903,-0.78289,0.00238,0.62212,-0.6523,0.56969,0.49989,-0.66478,0.56716,0.48613,-0.73928,0.1247,0.66173,-0.66347,-0.5685,0.4864,-0.9487,-0.024445,0.31516,-0.87503,0.30207,0.37822,-0.97165,-0.15961,0.17438,-0.96716,-0.21107,-0.14139,-0.94018,-0.038972,-0.33839,-0.87405,0.075777,-0.47984,-0.97006,0.17319,-0.17008,-0.99335,-0.060976,-0.097568,-0.53465,-0.61916,-0.57509,-0.81698,-0.38066,-0.43312,0.7243,-0.31654,-0.61251,0.36042,-0.70998,-0.60494,0.14948,-0.079012,-0.98559,0.3715,0.9284,-0.006592,-0.82067,0.40309,-0.40492,-0.77053,0.56685,0.29145,-0.6961,0.69997,-0.15943,0.53615,0.80444,-0.25568,-0.71432,0.42113,-0.55885,0.68038,0.37263,-0.63103,-0.098331,-0.26985,-0.95785,0.62477,-0.14438,-0.76733,-0.91827,0.27262,-0.28709,-0.99493,0.080355,-0.060244,-0.96347,-0.26743,0.012543,-0.95416,-0.24628,-0.1699,-0.98541,-0.14014,0.096225,-0.95608,-0.23435,0.17594,-0.89843,-0.2617,0.35249,-0.72689,-0.20826,0.65438,-0.61708,-0.58513,0.52611,-0.66775,-0.11118,0.73598,-0.81835,-0.15821,0.55248,-0.91595,-0.25086,0.31312,-0.8814,-0.35966,0.30613,-0.71639,-0.59432,0.3654,-0.68944,-0.64071,0.33778,-0.92892,0.25806,0.26545,-0.84002,-0.50636,0.19477,-0.87713,-0.21296,0.4304,-0.61272,-0.10681,0.78301,-0.25086,-0.20209,0.94668,0.24763,-0.38636,0.88845,0.28468,0.064058,0.95645,-0.32524,0.22987,0.91723,-0.23783,-0.053835,0.96979,0.14368,-0.15085,0.97803,0.063509,-0.17518,0.98245,-0.41334,-0.003143,0.91055,-0.14884,0.29109,0.94504,-0.31584,0.56459,0.76253,-0.29951,0.56163,0.77126,-0.075991,-0.037599,0.99637,-0.32142,-0.57366,0.75338,-0.46004,0.12049,0.87967,-0.34861,0.73904,0.5764,-0.027253,0.24448,0.96924,-0.3715,-0.58879,0.71779,-0.22443,-0.026307,0.97412,-0.55385,-0.11289,0.82491,-0.46217,-0.21226,0.86099,-0.12882,-0.27332,0.95325,-0.34022,-0.16541,0.92566,-0.17237,-0.64846,0.74145,-0.19172,-0.60219,0.77496,0.00531,-0.51906,0.8547,-0.2681,-0.16489,0.94916,-0.35423,0.19654,0.91424,-0.20863,-0.22303,0.95221,-0.58974,0.27055,0.76089,-0.79708,0.20325,0.56862,-0.85864,-0.15598,0.48823,-0.95566,0.07297,0.28526,-0.89572,0.35072,0.27323,-0.90295,0.36213,0.23133,-0.75921,0.30241,0.57625,-0.579,0.32401,0.74816,-0.56911,0.36592,0.73632,-0.71542,0.39149,0.57866,-0.68578,0.58055,0.43883,-0.4767,0.62032,0.62282,-0.38026,0.38643,0.84027,-0.36894,0.29649,0.88086,-0.041139,0.33775,0.94031,0.001465,0.34843,0.93732,-0.2483,0.5739,0.78036,-0.061495,0.86325,0.50096,-0.26743,0.8938,0.36,0.076571,0.99393,-0.078829,-0.4547,0.86923,0.19398,-0.23795,0.92605,-0.29286,0.073519,0.73702,-0.67183,-0.42283,0.59365,-0.68465,0.39808,0.77221,-0.49513,0.64757,0.72842,-0.22367,0.35911,0.91702,0.17334,0.31346,0.74746,0.58568,0.19062,0.55669,0.80853,0.50618,0.25111,0.82504,0.30119,0.060793,0.9516,-0.043458,0.059206,0.99728,-0.089846,-0.37156,0.92404,-0.086215,-0.26334,0.96081,0.056825,-0.24961,0.96667,0.14301,-0.15714,0.97714,0.21641,-0.28519,0.93371,0.55538,-0.061525,0.82928,0.39149,-0.26655,0.8807,0.36766,-0.23118,0.90075,0.40718,-0.071383,0.91055,0.19227,0.015809,0.9812,0.40776,-0.19153,0.89276,0.54741,-0.32994,0.76904,0.58797,-0.47383,0.65554,0.5689,-0.16526,0.8056,0.67867,0.052339,0.73254,0.59923,0.38163,0.70373,0.53969,0.38316,0.7496,0.63759,0.41603,0.64833,0.75628,0.22987,0.61251,0.81668,0.085482,0.5707,0.95245,0.15635,0.26142,0.7777,0.57558,0.25269,0.52535,0.73653,0.42601,0.87268,-0.13495,0.46925,0.91824,-0.09064,-0.38548,-0.066164,0.935,-0.34837,0.41243,-0.31187,-0.85592,0.13309,0.81051,-0.57036,0.33656,0.68438,0.64675,0.72317,0.39952,0.56334,0.45399,0.37602,-0.80773,0.94784,-0.28568,-0.14124,0.61104,-0.40226,0.68172,0.33433,-0.080996,0.93893,-0.085116,0.55648,0.82647,0.40339,0.15247,0.90222,0.53334,-0.10593,0.83923,0.49452,-0.70406,0.5096,0.48592,-0.71191,-0.50697,0.6758,-0.63753,0.36985,0.58992,-0.14389,-0.79449,-0.48152,0.17795,-0.85815,-0.25446,-0.2132,-0.94327,-0.66921,-0.11167,-0.73461,-0.7499,0.10913,-0.65246,-0.77309,0.25294,-0.58162,-0.7756,0.43739,-0.45509,-0.8507,0.40419,-0.33598,-0.81997,0.57201,0.019562,-0.62999,0.76177,-0.15094,-0.52669,0.75243,-0.39543,0.19962,-0.47319,0.85803,-0.79318,-0.58232,0.17801,-0.52327,-0.53896,0.66002,0.008759,-0.59438,0.8041,-0.28257,-0.058901,0.95743,-0.61467,0.029603,0.7882,-0.86114,-0.050172,0.50581,-0.86044,-0.10324,0.49895,-0.53575,-0.50502,0.67666,-0.27705,-0.11203,0.95428,-0.18043,-0.59267,0.78497,-0.49312,-0.61022,0.62001,-0.61211,-0.11716,0.78201,-0.84838,-0.17969,0.49788,-0.72866,-0.58443,0.35697,-0.89209,-0.37861,0.24653,-0.95267,0.202,0.22709,-0.55593,0.77902,0.28983,-0.30262,0.95273,-0.02646,-0.41865,0.88284,0.21281,-0.67351,-0.12333,0.72878,-0.56758,0.23487,0.78909,-0.83151,0.44407,0.33369,0.23966,0.64803,0.72289,-0.3834,0.63515,0.67046,-0.4279,-0.305,0.85076,0.013428,0.97354,0.228,0.789,0.61428,-0.010224,0.079897,0.95276,0.29292,0.74694,0.65581,-0.10929,0.86697,-0.41975,-0.26853,0.88446,0.18876,-0.42668,0.71905,0.69463,0.020966,0.8789,0.23689,-0.41398,0.4937,0.86947,0.015412,0.49296,0.80895,-0.3202,-0.12858,0.98991,0.059587,-0.12858,0.98991,0.059588,-0.12858,0.98991,0.059587,0.45003,0.45558,-0.76803,0.78948,0.1391,-0.59777,0.92807,-0.20188,-0.31288,0.49355,-0.79632,-0.34962,0.030881,-0.99945,-0.012282,0.030886,-0.99945,-0.012269,0.030885,-0.99945,-0.012268,0.030886,-0.99945,-0.012268,-0.63897,-0.73086,0.23978,-0.51079,-0.81991,0.25846,-0.79873,0.43138,0.41939,-0.66057,0.56816,0.49071,0.32276,-0.71715,0.61763,0.78607,0.33644,0.51851,0.92346,-0.32862,0.19794,0.46928,-0.87954,-0.078341,0.12519,0.91113,0.39256,0.042817,0.89862,0.43657,-0.12857,0.9899,0.059572,-0.65624,0.65129,0.38096,-0.67574,0.72829,0.11362,-0.12858,0.98991,0.059588,-0.20331,0.8417,-0.50014,-0.6852,0.49046,-0.53841,-0.28794,0.13803,-0.94763,0.35649,0.1344,-0.92456,0.74859,0.087008,-0.65728,0.58361,-0.68612,-0.43428,0.40986,-0.56307,-0.71758,0.030893,-0.99945,-0.012273,0.030894,-0.99945,-0.012273,0.31505,-0.001913,0.94907,0.31505,-0.001912,0.94907,-0.08794,-0.92772,-0.36277,-0.049104,-0.96701,-0.24989,-0.6856,-0.71807,0.11945,-0.88748,-0.24869,0.38795,0.030885,-0.99942,-0.012268,0.030889,-0.99945,-0.01226,-0.95859,0.10349,0.26524,-0.69665,0.52278,0.49126,-0.91769,0.10389,0.3834,-0.9686,0.14011,0.20524,-0.97442,0.046144,0.21989,-0.92654,0.080508,-0.36741,-0.74078,-0.52236,-0.42235,-0.65133,-0.73513,0.18784,-0.36338,0.068728,-0.92907,-0.15326,-0.55934,-0.81463,0.2096,0.079501,-0.97452,-0.86621,0.17338,-0.46861,-0.91859,-0.033212,0.39381,0.31505,-0.001912,0.94907,0.83981,0.032596,-0.5419,-0.40724,0.64428,0.6473,-0.36326,-0.81307,0.45485,0.24155,-0.28925,0.92624,-0.88815,0.31675,0.33287,-0.93548,-0.35328,-0.002899,-0.001317,-0.99996,-0.008362,-0.41804,-0.89258,-0.16886,-0.7839,0.59206,-0.18683,-0.087924,0.97379,0.20966,-0.16629,0.95144,0.25889,-0.72253,0.63433,-0.27485,-0.23377,0.90667,0.35105,-0.72344,0.67745,-0.13282,-0.14856,0.89865,0.4127,-0.4966,0.86297,-0.092837,0.10404,0.99365,0.04239,0.10406,0.99367,0.042409,0.10406,0.99367,0.042408,-0.31117,0.42244,-0.85128,0.27439,0.83517,-0.47658,-0.16044,0.11258,-0.98059,0.47408,0.14756,-0.86801,0.73687,0.53545,-0.41261,0.61067,0.76717,0.19608,0.56349,0.66988,0.48341,0.56441,0.53456,0.62899,0.67751,0.45525,0.57765,0.52367,0.58846,0.61599,0.21253,0.64849,0.73092,0.46406,-0.80425,0.37117,0.59087,-0.71175,0.37974,0.66207,-0.69823,0.2722,0.87548,0.13126,0.46507,0.78872,-0.22221,0.57314,0.8114,0.12055,0.57189,0.90222,0.07419,0.42479,0.89993,0.17972,0.39726,0.93231,0.22395,-0.28388,0.55385,0.074709,-0.82925,0.98166,0.10462,-0.15931,0.828,-0.5034,-0.24686,0.34043,-0.55843,-0.75643,-0.001321,-0.99996,-0.008369,-0.001322,-0.99996,-0.008369,0.61431,-0.7159,0.33174,0.81219,-0.005942,0.58336,-0.51273,-0.006499,0.85853,-0.51273,-0.0065,0.85853,-0.70326,0.006864,-0.7109,-0.59069,0.063295,-0.80438,-0.45766,-0.704,-0.54305,-0.83279,-0.22898,-0.50398,-0.23005,-0.57738,-0.78335,0.00412,0.069369,-0.99756,-0.65313,0.10154,-0.75039,-0.77831,0.22059,-0.58782,-0.77584,0.16224,-0.60967,-0.38521,-0.81127,-0.4398,0.12729,-0.96637,-0.22343,-0.001312,-0.99994,-0.008362,-0.001319,-0.99996,-0.00836,-0.001318,-0.99996,-0.008362,-0.77706,-0.44487,-0.4452,-0.001309,-0.99996,-0.008376,-0.43483,0.79174,-0.42894,0.1886,-0.9265,-0.32562,0.1886,-0.9265,-0.32562,0.71166,0.34638,-0.61116,0.755,0.40513,-0.51555,0.90307,0.28556,-0.32075,0.66262,0.34401,-0.66524,0.57137,0.40281,-0.71499,0.48085,0.32954,-0.81249,0.55269,0.29756,-0.77844,0.67528,0.3564,-0.64571,0.84951,0.31407,-0.42384,0.9389,0.31971,-0.12726,0.9664,0.19974,-0.16175,0.92892,0.19993,-0.31156,0.91855,0.32972,-0.21802,0.97775,0.19312,-0.081668,0.92886,0.29444,0.22468,0.90634,0.15818,0.39177,0.8236,0.25663,0.50572,0.69048,0.012879,0.7232,0.59966,-0.059969,0.79797,0.37651,-0.15519,0.9133,0.33006,-0.10123,0.93851,0.51268,-0.043214,0.85748,0.25837,0.03885,0.96524,0.24937,0.054506,0.96686,0.19407,0.20347,0.95962,0.17432,0.21857,0.96011,0.14939,0.28764,0.94598,0.87817,0.096255,0.46849,0.97803,0.2046,-0.039705,0.85858,0.4872,-0.15943,0.75469,0.64794,-0.10285,0.64833,0.75906,-0.058718,0.65072,0.75591,-0.071505,0.67864,0.72781,-0.098483,0.89932,0.43397,0.053407,0.7705,0.58864,-0.24451,0.51729,0.71169,-0.47526,0.41566,0.61067,-0.67397,0.39265,0.6592,-0.64126,0.74755,0.17502,0.64067,0.77969,0.2266,0.58367,0.7474,0.39879,0.5313,0.76907,0.40959,0.49062,0.65789,0.57665,0.48436,0.93387,0.34916,0.077059,0.86126,0.4843,-0.15384,0.83276,0.39857,-0.3842,0.39805,0.5006,-0.7687,0.34892,0.49898,-0.79324,0.31871,0.68197,-0.65825,-0.5454,0.59365,-0.59169,-0.99688,0.022597,-0.07566,-0.84802,0.32331,-0.41984,-0.99678,0.022682,-0.076893,-0.56249,0.66115,-0.49645,0.64821,0.68044,-0.34172,0.73071,0.65624,-0.18809,0.71145,0.68194,-0.16959,0.8815,0.47124,0.029511,0.51308,0.31846,-0.79705,0.56688,0.37736,-0.73226,0.42354,0.30631,-0.85247,-0.024079,0.60631,-0.79482,-0.33332,0.57738,-0.74532,-0.44145,0.83987,-0.31571,0.2494,0.44993,-0.85751,0.66829,0.10733,-0.73608,0.32212,0.53673,-0.77981,-0.20695,0.77346,-0.59905,0.34129,0.56484,-0.75127,0.010895,0.33006,-0.94388,0.079073,0.3556,-0.93127,0.32469,0.32966,-0.8865,0.33039,0.37864,-0.86453,0.2418,0.30873,-0.91989,0.16501,0.27305,-0.94772,0.052248,0.18219,-0.98184,-0.1117,0.36204,-0.92541,0.20402,0.39174,-0.89715,-0.12165,0.63503,-0.76281,-0.11252,0.65041,-0.75118,-0.39766,0.72063,-0.56789,-0.30808,0.47722,-0.82299,-0.27506,0.14261,-0.95077,0.052644,0.27885,-0.95886,-0.004913,0.34132,-0.93991,-0.2606,0.23423,-0.93658,-0.52687,0.17801,-0.83105,-0.2328,0.53191,-0.81414,-0.28031,0.77673,-0.56398,-0.31587,0.81069,-0.4929,-0.31196,0.82,-0.47981,-0.62477,0.19541,-0.75594,-0.46083,0.31465,-0.8298,-0.68026,0.26701,-0.68258,-0.8479,0.089297,-0.52254,-0.8767,0.019593,-0.48057,-0.83377,0.023438,-0.55159,-0.81188,0.45088,-0.37083,-0.6299,0.59404,-0.50029,-0.62078,0.68773,-0.37629,-0.62227,0.7391,-0.25773,-0.65267,0.64821,-0.39213,-0.67873,0.72011,-0.14383,-0.98135,0.19083,0.022523,-0.92083,-0.038209,-0.38804,-0.9747,-0.092898,-0.20316,0.82211,0.067415,-0.56529,0.87848,0.21281,-0.42775,0.96707,0.035218,-0.25196,0.6928,0.1446,-0.70647,0.59212,0.29041,-0.75167,0.44505,0.089877,-0.89096,0.52513,0.28446,-0.80203,0.81912,0.12729,-0.55928,0.94931,-0.22611,-0.21824,0.96399,0.13922,-0.22642,0.97281,0.15238,-0.17423,0.98303,0.05649,-0.17432,0.99557,0.081454,-0.046419,0.99847,0.054201,0.009522,0.93466,0.15632,0.31925,0.93536,0.006897,0.35356,0.67727,-0.034791,0.73489,0.72982,-0.021912,0.68328,0.55507,-0.163,0.81564,0.37889,-0.11463,0.9183,0.53285,-0.045747,0.84493,0.19587,-0.16327,0.96692,0.062014,-0.21622,0.97436,0.18235,0.001556,0.98321,0.24165,0.23853,0.94058,0.091403,0.51085,0.85476,0.89624,0.049318,0.44081,0.82174,0.19813,0.53429,0.84259,0.30598,0.4431,0.73589,0.56249,0.37687,0.76022,0.56667,0.31764,0.66518,0.69759,0.26618,0.95132,0.30619,0.034089,0.79437,0.56218,-0.23002,0.78897,0.51878,-0.32917,0.85812,0.36421,-0.36183,0.84719,0.38133,-0.36991,0.83358,0.41298,-0.3668,0.8717,0.46232,0.16242,0.88885,0.44728,0.099033,0.8349,0.54848,0.045534,0.83593,0.54878,-0.004364,0.71386,0.70028,0.001801,0.87259,0.41038,-0.26484,0.79641,0.37779,-0.47221,0.91388,0.022858,-0.40529,0.70791,0.11313,-0.69713,0.88012,0.17859,-0.43983,0.93722,0.2794,-0.20856,0.89401,0.063723,-0.44346,0.7524,0.32951,-0.57033,0.50072,0.42787,-0.75243,0.45747,0.18577,-0.86959,0.76177,0.12146,-0.63631,0.96222,0.091464,-0.25635,0.76721,-0.004273,-0.64138,0.32307,0.38087,-0.86633,0.12906,0.64013,-0.75732,0.21821,0.48491,-0.84686,0.1305,0.33445,-0.93332,0.098666,0.3346,-0.93716,0.097598,0.40071,-0.91098,0.091983,0.42357,-0.90115,0.25947,0.24732,-0.93353,0.046937,0.27195,-0.96115,0.047243,0.28864,-0.95624,-0.19123,0.30735,-0.93216,0.047182,0.26093,-0.96417,0.037233,0.38429,-0.92242,0.30454,0.051393,-0.95108,0.32032,0.23197,-0.91846,0.26582,0.089328,-0.95987,0.24564,0.058473,-0.96759,0.045808,0.14838,-0.98785,-0.066103,0.098605,-0.99292,-0.19309,0.20484,-0.95953,-0.40019,0.05063,-0.91501,-0.49571,0.42711,-0.75619,-0.19706,0.3477,-0.91665,0.099002,0.22471,-0.96936,-0.15534,0.23588,-0.95926,-0.15241,0.28163,-0.94732,-0.38221,0.23731,-0.89306,-0.29719,0.60607,-0.73779,-0.34678,0.30113,-0.88827,-0.19596,0.62938,-0.75195,-0.27458,0.60451,-0.74777,-0.30168,0.63533,-0.71084,-0.29838,0.64379,-0.70461,-0.43416,0.093112,-0.89599,-0.57854,0.071017,-0.81253,-0.67699,0.16752,-0.71664,-0.76266,0.052614,-0.64461,-0.66671,0.28639,-0.68807,-0.85678,0.36836,-0.36082,-0.38774,0.44829,-0.80538,-0.85064,0.14927,-0.50404,-0.27924,0.32633,-0.90304,-0.93551,-0.047151,-0.35008,-0.83917,-0.28434,0.46358,-0.87909,0.46309,0.1127,-0.72802,0.054018,-0.6834,-0.83477,-0.041597,-0.54897,-0.81732,-0.054964,-0.57353,0.85794,-0.45588,-0.23676,0.90475,-0.31553,0.28602,0.7289,-0.56063,0.39287,-0.99979,-0.01764,-0.008881,-0.97452,0.21992,0.043519,-0.94137,0.32987,0.070376,-0.82604,0.56178,0.044862,-0.13684,0.21433,-0.9671,-0.19855,0.023011,-0.9798,-0.44926,0.050325,-0.89196,0.21674,0.0665,-0.97394,0.24006,0.23295,-0.94238,0.43806,0.084017,-0.89499,0.49516,0.29023,-0.81887,0.73995,0.10489,-0.66442,0.60881,0.1045,-0.78637,0.84851,0.05768,-0.52602,0.85479,0.22456,-0.46785,0.74041,0.30577,-0.59856,0.97525,0.19761,-0.098941,0.98145,-0.03531,-0.18842,0.98321,0.03473,0.17896,0.9252,0.058565,0.37486,0.80047,-0.044984,0.59764,0.6899,-0.18406,0.70006,0.34788,-0.37666,0.85852,0.39964,-0.26072,0.87878,0.9227,-0.0618,0.38047,0.73064,0.098544,0.67559,0.30613,-0.32472,0.89486,0.65221,0.040132,0.75695,0.79913,0.43455,0.41533,0.98706,0.15912,-0.018464,0.98602,0.11499,0.1203,0.95154,0.20768,-0.22666,0.82195,0.15329,-0.54848,0.71923,0.24522,-0.65004,0.65963,0.50029,-0.56084,0.74432,0.45769,-0.48625,0.85742,0.51329,-0.036653,0.87185,0.47279,0.12763,0.82635,0.56239,0.028382,0.66369,0.74349,0.081912,0.74117,0.64858,0.17316,0.65096,0.75344,-0.092441,0.61879,0.72021,-0.31367,0.494,0.86917,-0.021119,0.68279,0.59044,-0.43031,0.68148,0.64592,-0.34397,0.60628,0.69561,-0.38533,0.44166,0.54302,-0.71413,0.37022,0.19227,-0.90881,0.3112,0.63295,-0.70885,0.28092,0.73165,-0.62105,0.26282,0.70247,-0.66137,0.27607,0.66814,-0.69088,0.12326,0.51173,-0.85025,0.000275,0.69143,-0.7224,-0.063753,0.65209,-0.75543,-0.10886,0.77187,-0.62633,0.008972,0.59639,-0.80261,-0.041932,0.76025,-0.64824,0.023896,0.46474,-0.8851,0.19269,0.23905,-0.95166,0.10047,0.13965,-0.98508,-0.003815,0.15815,-0.9874,0.042451,0.6534,-0.75579,-0.056398,0.7257,-0.68566,-0.25886,0.7608,-0.59508,-0.23566,0.87466,-0.42357,-0.53011,0.6624,-0.52928,-0.43895,0.57802,-0.68786,-0.1301,-0.26743,-0.95474,-0.4825,0.17026,-0.85916,-0.45683,0.57341,-0.68004,-0.41524,0.75158,-0.5125,-0.76272,0.007538,-0.64666,-0.97055,0.081942,-0.22645,-0.86319,0.38493,-0.32661,-0.99677,0.037019,-0.070956,-0.94104,-0.27915,0.19101,-0.99338,-0.081332,0.080813,-0.79934,0.32594,-0.50472,-0.18574,0.50954,-0.84014,-0.58675,0.081362,-0.80563,-0.17905,0.82705,0.53279,0.596,0.76699,-0.23768,0.579,0.75576,-0.30586,0.72457,0.5822,-0.36875,0.56832,0.63552,-0.52257,0.48054,0.85156,-0.20945,0.73498,0.41755,-0.53423,0.85162,0.37352,-0.36772,0.94934,0.30787,-0.062716,0.79016,0.61171,-0.037355,0.55541,0.83105,0.029054,0.032105,0.99713,0.068239,-0.021851,0.99945,0.024232,0.34031,0.86331,-0.37263,0.44264,0.66832,-0.5978,0.49474,0.44514,-0.74636,0.72274,0.40385,-0.56078,0.73168,0.30531,-0.60942,0.89196,0.32466,-0.31459,0.97858,0.19578,-0.063326,0.94272,0.28053,0.18043,0.80334,0.54546,0.2389,0.49474,0.85174,0.17243,0.093387,0.98428,0.14979,0.10233,0.98743,0.12033,0.032716,0.9657,0.25751,0.19742,0.97992,-0.027314,0.29524,0.84594,-0.44401,0.38484,0.65978,-0.64538,0.47682,0.39253,-0.78646,0.48695,0.23219,-0.84198,0.67556,0.30888,-0.66945,0.9321,0.30567,-0.19425,0.67,0.50645,-0.54271,0.2599,0.45506,-0.85165,0.62126,0.61766,-0.48213,0.57744,0.26289,-0.77291,0.6281,0.35697,-0.69137,0.65703,0.45485,-0.60112,0.58324,0.60585,-0.54103,0.15714,0.29457,-0.94259,0.48881,0.41191,-0.76897,0.041383,0.39702,-0.91687,0.044404,0.48738,-0.87204,-0.36549,0.25651,-0.89474,-0.12213,0.26356,-0.95685,-0.063662,0.42427,-0.90329,0.024689,0.68197,-0.73095,0.11145,0.87497,-0.47111,-0.11301,0.69768,-0.70739,-0.19147,0.46352,-0.86514,-0.20844,0.39647,-0.89404,-0.29612,0.21158,-0.93139,0.21204,0.41984,-0.88244,-0.26936,0.36677,-0.89044,-0.28279,0.52812,-0.80065,-0.65941,0.10736,-0.74404,-0.45299,0.14115,-0.88025,-0.52763,0.3487,-0.77459,-0.28272,0.64879,-0.70647,-0.10385,0.86261,-0.49507,-0.36656,0.62999,-0.68462,-0.36995,0.35273,-0.85946,-0.33311,0.25846,-0.90673,-0.43236,0.2143,-0.87585,-0.4799,0.28092,-0.83111,-0.46968,0.42921,-0.77145,-0.67608,0.16953,-0.71703,-0.583,0.32182,-0.74599,-0.35099,0.49928,-0.79214,-0.66302,0.39757,-0.63427,-0.86965,0.038026,-0.49214,-0.95419,0.0159,-0.29875,-0.82504,0.29533,-0.4817,-0.84014,0.30161,-0.4507,-0.73946,0.55641,-0.37889,-0.73357,0.54289,-0.40876,-0.87051,0.39808,-0.28935,-0.7774,0.43941,-0.45003,-0.85873,0.44942,-0.2461,-0.7839,0.59029,-0.19245,-0.81808,0.31532,-0.48091,-0.90451,0.41932,0.077364,-0.90326,0.4275,0.036256,-0.87979,0.47182,0.057619,-0.69259,0.54286,-0.47493,-0.7839,0.25071,-0.56795,-0.81384,0.1073,-0.57106,-0.93777,0.11496,-0.32762,-0.94556,0.017609,-0.3249,-0.96423,0.044649,-0.26121,-0.92892,-0.070284,-0.36347,-0.97903,0.13639,-0.15119,-0.97958,0.1218,-0.15979,-0.94281,0.3206,0.091128,-0.98141,0.18903,-0.032319,-0.94259,0.10105,-0.31819,-0.83322,0.27238,-0.48112,-0.92227,0.18332,-0.34025,-0.9274,-0.007599,-0.37391,-0.97632,0.090701,-0.19636,-0.97854,0.18055,-0.098941,-0.98248,0.16175,-0.09241,-0.76614,0.54128,-0.34638,-0.87353,0.18726,-0.44926,-0.79571,0.021912,-0.60524,-0.97159,0.16684,-0.16779,-0.97049,0.15439,-0.18506,-0.97064,0.13123,-0.20151,-0.97259,0.1203,-0.19886,-0.93396,0.20392,-0.29341,-0.94388,0.028382,-0.32899,-0.84649,-0.176,-0.5024,-0.98737,0.061068,-0.14615,-0.96078,0.27256,-0.050569,-0.96078,0.26826,-0.070162,-0.99631,0.080447,-0.029267,-0.99557,-0.042787,-0.083407,-0.96344,0.10508,0.24638,-0.93503,0.24268,0.2584,-0.84658,0.50139,0.17841,-0.8554,0.51589,0.046022,-0.63265,0.73037,0.25742,-0.62062,0.70843,0.33601,-0.82656,0.4695,0.3104,-0.94272,0.33338,0.008667,-0.95859,0.28465,0.005524,-0.98596,0.16117,-0.042879,-0.62975,0.62465,0.46168,-0.80282,0.40907,0.4337,-0.84484,0.2349,0.48064,-0.85681,0.066897,0.51125,-0.84451,-0.061525,0.53194,-0.80114,-0.12964,0.58425,-0.79559,-0.082858,0.60012,-0.75503,0.63103,0.17801,-0.88995,0.41072,0.19806,-0.93335,0.27775,0.22736,-0.94235,0.2963,0.15537,-0.96295,0.23679,0.12897,-0.56026,0.67058,0.48619,-0.61754,0.2581,0.74297,-0.95041,0.26878,0.15629,-0.6083,-0.01062,0.7936,-0.7535,-0.11325,0.6476,-0.28693,-0.16852,0.94299,-0.54109,0.2295,0.80902,-0.14042,0.44578,0.88403,0.057772,0.79687,0.60134,-0.32102,0.84753,0.42259,0.031037,0.9686,0.24662,0.1789,0.96127,0.20951,0.030824,0.97983,0.19739,0.047975,0.90857,0.41493,0.14948,0.85351,0.49913,-0.006928,0.96628,0.25733,0.12687,0.92254,0.36436,0.016968,0.93069,0.36537,0.15644,0.92584,0.34401,0.088687,0.948,0.30564,0.30372,0.93115,0.20161,0.21662,0.96701,0.13385,0.36204,0.91119,0.19648,0.47218,0.85647,0.20847,0.16687,0.97986,-0.10959,0.027497,0.99194,-0.1236,-0.21741,0.89978,-0.37825,-0.34275,0.69659,-0.63027,-0.4229,0.83715,-0.34687,-0.49052,0.83169,-0.26002,-0.5504,0.82482,-0.12925,-0.70037,0.55742,-0.44578,-0.52568,0.83273,-0.17365,-0.71877,0.60457,-0.34327,-0.86779,0.48662,-0.1005,-0.85678,0.51195,0.061586,-0.57817,0.81399,0.055696,-0.53887,0.83688,-0.095798,-0.26511,0.9628,0.051698,-0.38423,0.92306,0.016724,-0.30293,0.95059,0.067751,-0.19248,0.97705,-0.090915,-0.23563,0.86679,0.43947,-0.29203,0.93408,0.2053,-0.32362,0.9212,0.21586,0.013825,0.99191,0.12604,0.44319,0.75411,0.4846,0.59725,0.74151,0.30564,0.81371,0.44694,0.37156,0.65828,0.447,0.60564,0.59206,0.40587,0.69622,0.62355,0.46358,0.62948,0.34474,0.77014,0.53667,0.033052,0.96814,0.24812,-0.045015,0.97281,0.22706,-0.022645,0.99188,0.1251,-0.11844,0.92868,0.35142,-0.14072,0.95291,0.26853,-0.22547,0.96771,0.11261,-0.33558,0.94198,0.004028,-0.28944,0.93258,0.21552,-0.26719,0.8995,0.34562,-0.18049,0.81155,0.55568,-0.18427,0.78411,0.59261,-0.10547,0.69921,0.70708,-0.28327,0.94195,0.18003,-0.09415,0.91028,0.40312,-0.001679,0.84063,0.54155,0.10367,0.68685,0.71932,0.10184,0.65804,0.74603,0.17957,0.56359,0.80627,0.018921,0.76632,0.64214,-0.000671,0.8088,0.58803,-0.33961,0.79934,0.49568,-0.72262,0.56969,0.39146,-0.86123,0.41984,0.28626,-0.94342,0.31883,0.091037,-0.92178,0.29224,0.25468,-0.95389,0.29411,-0.059816,-0.32862,0.29725,0.89645,-0.28364,-0.02942,0.95846,-0.47456,-0.20902,0.85501,-0.011017,-0.011719,0.99985,0.14945,0.16898,0.97421,0.32209,0.3343,0.88568,-0.40996,0.62859,0.66088,-0.10242,0.48061,0.87091,-0.10269,0.26301,0.95929,-0.14588,0.10099,0.9841,-0.16654,-0.017335,0.98587,0.18299,0.51885,0.83502,-0.005982,0.83636,0.54814,0.38917,0.73693,0.55266,0.027375,0.74642,0.66488,0.2649,0.81078,0.52193,0.35987,0.83837,0.40937,0.70791,0.47841,0.51958,0.53414,0.46254,0.7076,0.22907,0.52602,0.81903,0.45354,0.37867,0.80676,0.2516,0.2118,0.94433,-0.20734,0.028993,0.97781,0.40321,-0.080142,0.91156,0.28123,-0.30909,0.90848,0.77248,-0.20301,0.60167,0.54131,0.11454,0.83297,0.35939,0.21992,0.90689,0.31312,0.13993,0.93933,0.29099,0.13614,0.94696,0.30204,0.16306,0.93924,0.67717,0.17405,0.71493,0.8366,0.045839,0.54585,0.76281,-0.11264,0.63671,0.6321,-0.24143,0.73629,0.66372,-0.002411,0.74795,0.51643,0.24796,0.81961,0.70791,0.30622,0.63643,0.39988,0.19043,0.89654,0.26057,0.20286,0.94388,0.26926,0.28623,0.91952,0.26997,0.29698,0.91589,0.27412,0.32893,0.90368,0.63439,0.34419,0.6921,0.66573,0.37205,0.64678,0.53313,0.43126,0.72781,0.5168,0.60732,0.60335,0.77215,0.35075,0.5298,0.39302,0.53655,0.74673,0.31321,0.56844,0.76074,0.2469,0.68895,0.68145,0.88623,0.27073,0.37583,0.93521,0.12568,0.331,0.97806,0.2082,-0.007508,0.82388,0.38908,-0.41203,0.95105,0.30869,-0.014161,0.91903,0.067324,0.38832,0.92782,0.37291,-0.007172,0.92032,0.21775,0.32484,0.97406,0.14069,0.17713,0.96145,0.24696,0.1207,0.97092,0.23707,0.03296,0.88275,0.45384,0.12143,0.25776,0.29872,0.91885,0.25843,0.30662,0.91604,0.96756,0.24329,0.067721,0.87262,0.37379,-0.31431,0.62923,0.43599,-0.64339,0.79928,0.52461,-0.29307,0.69829,0.42,-0.57958,0.70925,0.38411,-0.59108,0.84747,0.34156,-0.40632,0.60717,0.34983,-0.71337,0.30869,0.42058,-0.85308,0.537,0.55437,-0.63579,0.87213,0.42491,-0.2425,0.57497,0.59771,-0.55867,0.17493,0.54723,-0.81848,0.56008,0.46293,-0.687,0.75051,0.33393,-0.57024,0.7228,0.4391,-0.53356,0.86196,0.31056,-0.40065,0.91501,0.37736,-0.14249,0.98447,0.17539,-0.001465,0.90774,0.2823,0.31025,0.95929,0.20566,0.19346,0.87393,0.10398,0.47475,0.75835,0.091922,0.64531,0.71337,0.23405,0.66051,0.64742,0.064547,0.75939,0.71001,0.12915,0.69222,0.71737,0.1959,0.66854,0.65331,0.052705,0.75521,0.71313,0.10349,0.69332,0.62883,0.05826,0.77532,0.39793,0.083499,0.9136,0.39241,0.073916,0.91681,0.7037,0.082522,0.70568,0.70144,-0.1503,0.69665,0.69585,-0.15793,0.70058,0.68612,-0.17997,0.70486,0.66417,-0.056276,0.74542,0.82147,0.000305,0.57021,0.83847,0.021058,0.54451,0.83892,0.24021,0.4883,0.8356,0.37025,0.40577,0.83135,0.38194,0.40361,0.96689,0.25516,0.001831,0.93374,0.35685,-0.027161,0.89035,0.45332,0.041932,0.88211,0.46373,0.082614,0.80715,0.5797,0.11142,0.93875,0.23398,-0.25288,0.81213,0.43535,-0.38841,0.75729,0.61724,-0.21326,0.92743,0.37336,0.020173,0.63994,0.75204,-0.15766,0.62526,0.72884,-0.27891,0.6874,0.6212,-0.3762,0.43626,0.41746,-0.79708,0.2928,0.40263,-0.86724,0.24796,0.4044,-0.88031,0.39476,0.47114,-0.78875,0.75112,0.44346,-0.489,0.49916,0.47652,-0.72369,-0.014863,0.37501,-0.92688,0.43483,0.31446,-0.84381,0.78893,0.44801,-0.42048,0.097385,0.39924,-0.91165,0.070009,0.584,-0.80871,0.40721,0.56575,-0.71697,0.058748,0.781,-0.62172,-0.35456,0.55052,-0.75573,-0.16263,0.40831,-0.89822,-0.20942,0.28449,-0.93551,0.075625,0.39293,-0.91644,0.26704,0.4818,-0.83459,-0.049135,0.38624,-0.92108,-0.51167,0.30815,-0.80197,-0.44227,0.17933,-0.87875,-0.31675,0.22413,-0.92163,-0.31288,0.32069,-0.89398,-0.34342,0.47774,-0.80856,-0.36586,0.50157,-0.7839,-0.35273,0.64156,-0.68114,-0.63744,0.14185,-0.75732,-0.64287,0.078921,-0.76186,-0.70461,0.087008,-0.70418,-0.60155,0.30812,-0.73699,-0.55919,0.38798,-0.7326,-0.52934,0.49101,-0.69182,-0.78051,0.15079,-0.60665,-0.78799,0.28248,-0.54701,-0.86407,0.11573,-0.48985,-0.83645,-0.032655,-0.54701,-0.89532,0.044374,-0.44319,-0.90875,0.068392,-0.41163,-0.9274,-0.014435,-0.3737,-0.93979,-0.030915,-0.34031,-0.94653,-0.063814,-0.31617,-0.94858,-0.05475,-0.31169,-0.94589,-0.025666,-0.32337,-0.88836,0.004334,-0.45909,-0.89941,-0.050508,-0.4341,-0.85495,0.17988,-0.4865,-0.81866,0.23334,-0.5247,0.09653,-0.9267,-0.36314,-0.76614,-0.28788,0.57457,-0.76363,-0.51286,-0.39216,-0.044984,-0.30271,0.95199,0.65014,-0.68804,0.32234,0.59407,-0.19056,0.78149,0.85775,-0.50185,0.11118,0.20222,0.19352,0.95999,0.3994,-0.076479,0.91357,0.69732,-0.69954,-0.15604,0.2356,-0.62014,-0.74825,-0.38447,-0.44423,-0.8092,0.23502,-0.5974,-0.76672,-0.73437,-0.3123,-0.60259,-0.79638,-0.45036,-0.40361,-0.96542,0.25703,0.043367,-0.84289,0.29084,0.45265,-0.99411,0.10639,0.020356,-0.38234,0.36393,0.8493,-0.32173,0.33637,0.88504,-0.41642,0.57204,0.70663,-0.35575,0.77715,0.51906,-0.77731,0.62371,0.081942,-0.27479,0.72939,0.62645,-0.76095,0.63396,0.13788,-0.38502,0.51552,0.7655,-0.89297,0.39891,0.20844,-0.90484,0.1959,0.37794,-0.95328,-0.015015,-0.30168,-0.94757,0.15769,-0.27784,-0.90139,0.041566,-0.43092,-0.86871,-0.017365,-0.49498,-0.79073,-0.017457,-0.6119,-0.87963,0.058931,-0.47194,-0.34117,-0.17896,-0.92279,-0.13361,-0.21439,-0.96756,-0.72133,-0.021363,-0.69225,0.063082,-0.19257,-0.97925,0.39064,-0.2757,-0.87826,0.4673,-0.23261,-0.8529,0.76077,-0.29209,-0.57955,0.90957,-0.22791,-0.34739,0.98221,-0.12339,0.14142,0.94882,-0.090732,0.30247,0.77618,0.009583,0.63042,0.74365,0.10559,0.66018,0.30903,0.13895,0.94083,0.12626,0.24247,0.96188,-0.44877,0.17216,0.87689,-0.42821,0.27213,0.86172,-0.87991,0.1189,0.45998,-0.91491,-0.039583,-0.40169,-0.82437,-0.032655,-0.56508,0.34532,0.40446,0.84683,0.3404,0.5923,0.73025,0.2548,0.56587,0.78408,0.13138,0.33421,0.93329,0.70864,-0.10208,0.69814,-0.26298,0.25443,0.93063,-0.52632,0.26487,0.80795,-0.94085,-0.24265,-0.23633,-0.69774,-0.44704,-0.55968,-0.75109,-0.24735,-0.61208,-0.91684,-0.30369,-0.25907,-0.82855,-0.20661,-0.52037,-0.86227,-0.35041,-0.36561,-0.78948,-0.21671,-0.57421,-0.42106,-0.36875,-0.82867,-0.20316,-0.33131,-0.92135,0.3961,-0.23215,-0.88836,-0.10514,-0.21216,-0.97156,0.3581,-0.20435,-0.91101,0.24915,-0.26655,-0.93103,0.74395,-0.23142,-0.62685,0.8359,-0.10044,-0.53954,0.99054,-0.026337,-0.13459,-0.77325,-0.15204,-0.61556,-0.94858,-0.079989,-0.30622,-0.87295,0.12345,-0.47185,-0.83062,-0.10355,-0.5471,0.89453,0.13916,0.42476,0.84149,0.20432,0.50008,0.71483,0.13184,0.6867,0.73168,-0.042726,0.68026,0.056673,0.26661,0.96213,-0.37999,0.15958,0.9111,-0.91375,0.064333,0.40107,-0.53182,-0.21067,-0.82022,-0.992,0.03766,-0.1203,-0.11417,-0.22123,-0.9685,0.4337,-0.32704,-0.83959,-0.77682,0.040223,0.62841,-0.90664,0.26545,0.32786,-0.56288,-0.001129,-0.8265,-0.95743,0.23499,-0.16749,-0.091464,-0.17744,-0.97986,0.44584,-0.32859,-0.83257,-0.71661,0.061312,0.69475,-0.8732,0.30189,0.38252,-0.618,0.012879,-0.78604,-0.92071,0.35084,-0.17072,-0.18513,-0.07239,-0.98004,0.36088,-0.34312,-0.86718,-0.54753,-0.01883,0.83654,-0.80096,0.32508,0.50273,-0.58003,0.068667,-0.81167,-0.80694,0.57131,-0.14972,-0.056185,-0.040834,-0.99756,0.36299,-0.46339,-0.80837,0.48277,-0.36934,-0.79403,0.89871,-0.12604,-0.41996,0.91955,-0.37345,-0.12217,0.98938,-0.043733,0.13849,0.99744,0.031159,0.063967,0.89676,0.007263,0.44243,0.83218,-0.17341,0.52663,0.52632,-0.14643,0.83755,-0.46355,0.19593,0.8641,0.92105,-0.30158,-0.24625,0.44917,0.069369,0.89071,0.10691,0.096438,0.98956,-0.53456,0.17231,0.82736,-0.91015,0.19895,0.36332,-0.59481,-0.002075,-0.80383,-0.91403,0.38151,-0.13767,-0.098392,0.055788,-0.99356,0.42045,-0.24168,-0.87451,0.47566,-0.28623,-0.83172,0.9628,-0.2468,0.10977,0.46651,-0.14002,0.87335,-0.37434,0.13691,0.91711,-0.56298,0.17075,0.80862,-0.99402,-0.063265,0.088931,-0.51207,-0.58525,0.62865,0.030732,-0.6357,-0.77129,0.31684,-0.94815,0.023957,0.29328,-0.66115,0.69051,0.85815,-0.51073,0.051881,0.49092,-0.23566,-0.83871,0.89145,-0.38383,-0.24067,-0.65288,0.09714,-0.75118,0.11313,-0.16294,0.9801,-0.58721,0.25355,0.76867,-0.87442,0.39064,0.28764,-0.53447,0.1518,-0.83142,-0.74419,0.64599,-0.16974,0.001892,0.13593,-0.99069,0.42912,-0.30415,-0.85046,0.50212,-0.33549,-0.79702,0.8648,-0.42695,-0.26417,0.90555,-0.4236,0.022797,0.11048,0.000549,0.99387,-0.41762,0.17063,0.89242,-0.56267,0.26124,0.78429,-0.98071,0.19492,0.013764,-0.69744,-0.50243,0.51094,-0.072604,-0.57878,-0.81222,0.013031,-0.99683,-0.078402,0.037416,-0.807,0.58931,0.67382,-0.73888,0.002045,-0.012665,-0.3173,0.94821,0.45509,-0.34053,0.82272,0.803,-0.54412,-0.24308,0.48418,-0.33207,-0.80947,-0.49931,0.33,-0.80108,-0.45363,0.21274,0.86541,-0.55864,0.27186,0.78356,-0.82873,0.47874,0.28977,-0.47993,0.29304,-0.8269,-0.67449,0.71496,-0.184,-0.013337,0.25382,-0.96713,-0.4214,0.463,-0.77975,-0.15882,-0.4489,-0.87933,0.42836,-0.29307,-0.85473,0.34861,-0.25819,-0.90097,0.42433,-0.3246,-0.8453,0.84036,-0.44612,-0.30778,0.88107,-0.24198,0.40635,0.55443,-0.19657,0.80865,0.51088,-0.3787,0.77172,-0.43303,0.19578,0.87982,-0.46336,0.25953,0.84728,-0.68776,0.59911,0.40989,-0.27171,0.42229,-0.86474,0.41865,-0.4123,-0.80914,0.44612,-0.48408,-0.75274,0.76766,-0.60134,-0.22141,0.69262,-0.72118,0.011414,-0.064516,-0.12888,0.98953,-0.4474,0.26081,0.85543,-0.52596,0.33406,0.78213,-0.56847,0.80724,-0.15854,0.15061,0.09299,-0.98419,0.45012,-0.45476,-0.76849,0.59832,-0.77004,-0.22141,0.1908,-0.53468,0.82321,-0.2537,-0.21827,0.94232,-0.85284,-0.20988,0.47807,-0.86047,0.50334,-0.078768,-0.33479,0.46376,-0.82025,-0.10611,-0.4915,-0.86438,0.44673,-0.89438,0.022034,-0.19666,-0.76055,0.61873,-0.15879,-0.98724,-0.009735,0.051454,-0.056001,0.9971,-0.46257,0.19202,0.86554,-0.60277,0.3054,0.73714,-0.93109,0.35801,-0.069765,-0.81393,-0.37385,0.44462,-0.1207,-0.9881,-0.095065,-0.12647,-0.82577,0.54961,0.567,-0.82339,-0.021973,-0.1486,-0.33903,0.92895,0.34867,-0.44108,0.82693,0.734,-0.62432,-0.26728,0.85162,-0.52394,-0.014222,-0.21552,0.41969,0.88168,-0.077273,-0.92968,0.36006,0.57079,0.25834,0.77938,-0.75854,-0.35368,0.54723,-0.77917,0.31404,0.54244,-0.77148,-0.61898,0.14716,0.021851,-0.99014,-0.13828,-0.17817,-0.9505,-0.25449,-0.83541,-0.41923,0.35536,-0.57445,0.63155,0.52068,0.13074,0.87802,0.46037,-0.40425,0.66005,0.63314,0.18928,0.88021,0.43516,-0.27165,0.888,0.37095,0.23215,0.96496,0.12223,0.8891,0.40596,0.21134,0.94855,0.31404,-0.039949,0.1666,0.96954,-0.17939,0.73263,0.61531,-0.2909,0.92947,-0.36244,-0.068575,0.87048,-0.48476,0.085238,0.67742,-0.72301,-0.13517,0.69466,-0.70778,-0.12821,0.84884,0.43663,0.29795,0.79016,-0.55226,0.26569,-0.096622,0.99503,-0.023194,-0.82702,0.36824,0.42473,-0.46443,0.88494,0.03412,-0.86984,0.4358,0.23106,-0.47182,0.88104,-0.032929,-0.88525,0.44755,0.12644,-0.96463,0.16102,0.20863,-0.99991,-0.005158,-0.010071,-0.99268,-0.10343,0.062319,-0.78546,-0.53883,-0.30442,-0.77309,-0.57399,-0.26985,-0.23093,-0.85263,-0.46864,-0.25892,-0.90417,-0.33967,-0.85745,-0.51207,0.050203,-0.21549,-0.94018,-0.26374,-0.79708,-0.54778,0.25404,-0.66408,-0.71642,0.21378,-0.14084,-0.93371,-0.32905,-0.21195,-0.93304,-0.29063,-0.58605,-0.62459,0.51613,-0.34269,-0.84768,0.40489,-0.17277,-0.92053,-0.35032,0.36286,-0.88876,-0.27995,0.28004,-0.67693,0.68065,0.73989,0.3654,0.56481,0.77819,0.53255,-0.3328,0.26139,0.86172,0.43486,0.47945,0.79562,-0.37025,0.42637,-0.10111,-0.89886,0.23371,-0.40596,-0.88348,0.43562,-0.52095,-0.734,0.55983,-0.55733,-0.61312,0.6288,-0.62673,-0.46019,0.43046,-0.82312,-0.37031,0.58461,-0.76397,-0.27299,0.91485,-0.38508,-0.12119,0.9389,-0.33586,0.075014,0.81307,-0.49947,-0.29896,0.97711,-0.1883,-0.09888,0.87973,-0.26005,-0.39802,0.90774,-0.1966,-0.37052,0.84036,-0.33778,-0.42384,0.93426,-0.17606,-0.31004,0.83944,-0.32395,-0.43626,0.93612,-0.18885,-0.29661,0.97284,-0.12391,-0.19547,0.96268,-0.07889,-0.25886,0.82028,0.50706,0.2645,0.71087,0.35191,0.60894,0.33488,0.70495,0.62517,0.33576,0.44026,0.8327,-0.28318,0.63653,0.71734,-0.47313,0.49498,0.72875,-0.84976,0.30174,0.43223,-0.88949,0.25657,0.37803,-0.9874,-0.14344,0.066775,-0.99771,-0.016297,0.065249,-0.81686,-0.44292,-0.36946,-0.65767,-0.63799,-0.40046,-0.27866,-0.67367,-0.68444,-0.27006,-0.77816,-0.567,0.13321,-0.6621,-0.73745,0.25425,-0.7358,-0.62761,0.37995,-0.76852,-0.51476,0.17093,-0.85534,-0.48903,-0.3246,-0.83587,-0.44261,-0.69069,-0.68014,-0.24555,-0.98984,-0.13587,0.04178,-0.88305,0.39152,0.25864,-0.32862,0.90323,0.27598,0.17539,0.97165,-0.15848,0.30033,0.9462,0.1204,0.75747,0.56169,-0.33268,0.84478,0.49358,-0.20661,0.91348,-0.21802,-0.34349,0.83471,-0.5428,0.092563,0.99228,-0.11466,0.046815,0.37333,0.84503,0.38273,-0.22211,0.83776,0.49876,-0.84622,0.27287,0.45759,-0.92309,0.051515,0.38105,-0.91745,-0.079897,0.38972,-0.53746,0.42634,0.72753,-0.47255,0.40611,0.78213,-0.32597,0.4069,0.8533,-0.10889,0.30985,0.94452,0.1424,-0.09827,0.98489,0.23008,0.86465,0.44655,0.67858,0.69552,-0.23606,0.78924,0.61306,-0.035096,0.19608,0.83709,0.51067,0.22181,0.79766,0.56078,0.84039,0.52959,0.11518,0.33476,0.468,0.81783,-0.21601,-0.9031,-0.37111,0.60442,-0.58074,-0.54531,-0.15085,-0.87997,-0.45039,0.52959,-0.50221,-0.68358,-0.19053,-0.88726,-0.42003,-0.67443,-0.72027,0.16218,-0.60427,-0.62581,0.49312,-0.39088,-0.85659,0.3368,-0.12021,-0.85583,-0.50307,0.42021,-0.87118,-0.25382,0.2526,-0.71413,0.65279,0.71779,0.24097,0.65319,0.10053,-0.18006,0.97848,-0.133,0.23066,0.96387,-0.29426,0.3556,0.88708,-0.41053,0.43052,0.8038,-0.82867,-0.49174,0.26731,-0.49269,0.49977,0.71233,0.32185,0.83148,0.45277,0.33195,0.82446,0.45833,0.82644,0.53529,-0.17435,0.87017,0.48866,-0.063173,0.95093,-0.28968,-0.10868,0.5678,0.64126,0.5161,-0.27665,-0.89334,-0.35408,0.5374,-0.64031,-0.54875,-0.23676,-0.89587,-0.3759,0.46797,-0.56859,-0.6765,-0.26011,-0.9057,-0.33467,-0.67885,-0.70366,0.20972,-0.64473,-0.58513,0.49184,-0.5327,-0.77612,0.33735,-0.19388,-0.89868,-0.39341,0.28919,-0.9566,-0.034822,0.033235,-0.68633,0.72649,0.55983,0.21049,0.80139,-0.1511,-0.090701,0.98434,-0.28172,0.29557,0.91281,-0.34492,0.37684,0.85964,-0.42003,0.45619,0.78448,-0.84411,-0.45222,0.28791,-0.50584,0.53636,0.67556,0.31123,0.84994,0.42509,0.35328,0.82983,0.43187,0.81973,0.52608,-0.22636,0.88577,0.45671,-0.082461,0.89502,-0.41966,-0.15085,0.66564,0.59542,0.44984,-0.28193,-0.89117,-0.35533,-0.83694,-0.34031,0.42857,-0.6737,-0.6852,0.27677,-0.25175,-0.86694,-0.43013,-0.30558,-0.86447,-0.39909,-0.62017,-0.53041,0.57793,-0.56688,-0.75631,0.32646,-0.27018,-0.84329,-0.46455,0.24366,-0.95776,-0.15262,0.0253,-0.72533,0.68792,0.63466,0.17081,0.75365,-0.093905,-0.086306,0.99182,-0.18772,0.33302,0.92401,-0.21598,0.399,0.89111,-0.27531,0.50099,0.82046,-0.36753,0.61782,0.69509,0.3289,0.79968,0.5023,0.92258,0.38292,-0.047029,0.44594,-0.69768,-0.56066,0.39439,-0.54973,-0.73635,0.82998,0.52055,-0.20026,0.3361,0.80654,0.48631,0.34764,0.80734,0.47676,0.75662,0.58702,-0.28791,0.33958,-0.45177,-0.82495,0.29395,-0.38905,-0.87304,0.69765,0.62697,-0.3466,0.35432,0.80505,0.47572,0.94977,0.30662,-0.062105,0.64672,-0.24433,-0.72249,0.96902,-0.18583,0.16254,0.92144,-0.033815,-0.38694,-0.1984,-0.87771,-0.43614,0.42418,-0.49251,-0.75991,0.7452,0.58904,-0.31251,0.29237,0.85592,0.42647,0.28419,0.84884,0.44569,0.67922,0.63564,-0.36686,0.37739,-0.44301,-0.8132,0.69619,-0.29459,-0.65459,0.94366,0.33061,0.013276,0.46052,-0.40965,-0.78744,0.73565,0.60808,-0.29835,0.32328,0.8403,0.43516,0.3354,0.84408,0.41832,0.58736,0.70016,-0.4059,0.32221,-0.30409,-0.89648,0.55437,-0.10813,-0.82519,0.87664,0.4301,-0.21558], "colors": [], "uvs": [[0.64067,0.46973,0.63056,0.46508,0.63182,0.46174,0.63786,0.4721,0.64292,0.49328,0.51612,0.98118,0.51688,0.98426,0.50258,0.98898,0.52866,0.98349,0.52866,0.98038,0.51307,0.9612,0.50187,0.98577,0.48863,0.99104,0.4925,0.99379,0.64547,0.49328,0.65457,0.46339,0.65053,0.43366,0.62077,0.45302,0.62077,0.45826,0.033936,0.98118,0.033174,0.98426,0.021389,0.98349,0.047475,0.98898,0.048187,0.98577,0.036977,0.9612,0.021389,0.98038,0.021389,0.96005,0.52866,0.96005,0.51276,0.95843,0.52866,0.95695,0.50539,0.93312,0.48107,0.94126,0.49606,0.96469,0.49859,0.9676,0.48638,0.97858,0.65342,0.49328,0.30708,0.95962,0.30883,0.92974,0.30882,0.95963,0.33464,0.92498,0.33036,0.95963,0.46741,0.97067,0.48167,0.97747,0.46744,0.96604,0.33238,0.95963,0.34638,0.95963,0.463,0.93832,0.45499,0.96609,0.47945,0.93966,0.46717,0.90086,0.45481,0.9003,0.44655,0.93698,0.44246,0.89974,0.4301,0.93564,0.44255,0.96613,0.36039,0.95963,0.34789,0.92458,0.33953,0.89554,0.30474,0.8983,0.343,0.86074,0.30757,0.85753,0.27503,0.86026,0.27503,0.8983,0.62077,0.43366,0.59169,0.43366,0.60973,0.46174,0.58698,0.46339,0.60088,0.46973,0.59608,0.49328,0.58813,0.49328,0.24335,0.9596,0.24123,0.95963,0.24123,0.92974,0.051466,0.9676,0.068379,0.97747,0.063677,0.97858,0.053991,0.96469,0.037292,0.95843,0.068986,0.94126,0.044663,0.93312,0.021389,0.95695,0.021389,0.93034,0.52866,0.93034,0.50474,0.92983,0.50287,0.9003,0.46519,0.86598,0.45349,0.86716,0.4418,0.86835,0.4301,0.86953,0.4301,0.89918,0.57804,0.90167,0.59341,0.90167,0.57804,0.92272,0.59341,0.8776,0.57804,0.8776,0.4301,0.96618,0.37439,0.95963,0.36114,0.92418,0.35115,0.89544,0.35346,0.86191,0.35385,0.83247,0.34358,0.82965,0.30884,0.82668,0.27503,0.82813,0.24248,0.85753,0.24595,0.8983,0.20705,0.86074,0.21053,0.89554,0.21541,0.92498,0.2197,0.95963,0.082644,0.97067,0.082614,0.96604,0.070606,0.93966,0.087055,0.93832,0.08288,0.90086,0.045308,0.92983,0.021389,0.92672,0.52866,0.92672,0.52866,0.90132,0.49827,0.86476,0.4672,0.83414,0.45483,0.83546,0.44247,0.83678,0.4301,0.83809,0.57804,0.94233,0.59341,0.94233,0.57804,0.96339,0.59341,0.92272,0.6112,0.90167,0.6112,0.8776,0.6112,0.85521,0.59341,0.85521,0.57804,0.85521,0.37439,0.92378,0.37439,0.89524,0.36277,0.89534,0.36392,0.86308,0.36412,0.83528,0.36316,0.82119,0.35303,0.81872,0.34291,0.81626,0.30889,0.81251,0.27503,0.81236,0.24122,0.82668,0.20648,0.82965,0.55687,0.37782,0.5557,0.34673,0.58768,0.34417,0.19621,0.83247,0.19702,0.81872,0.18689,0.82119,0.18785,0.8071,0.17787,0.80921,0.18047,0.76779,0.1485,0.81117,0.15231,0.76779,0.12047,0.81085,0.11975,0.76779,0.10774,0.76779,0.1084,0.80997,0.10799,0.82337,0.095777,0.82227,0.095218,0.83546,0.08285,0.83414,0.084863,0.86598,0.051781,0.86476,0.047187,0.9003,0.021389,0.90132,0.021389,0.86409,0.52866,0.86409,0.50137,0.83262,0.46649,0.82117,0.45427,0.82227,0.44206,0.82337,0.42984,0.82447,0.40443,0.83809,0.59341,0.96339,0.57804,0.99589,0.6112,0.94233,0.6112,0.96339,0.62976,0.94233,0.62976,0.92272,0.6112,0.92272,0.62976,0.90167,0.62976,0.8776,0.62976,0.85521,0.62976,0.8343,0.6112,0.8343,0.59341,0.8343,0.57804,0.8343,0.59341,0.81475,0.57804,0.81475,0.37439,0.86425,0.37439,0.83809,0.37329,0.82365,0.37218,0.80921,0.3622,0.8071,0.35222,0.80498,0.34223,0.80287,0.30895,0.79834,0.27503,0.7966,0.2411,0.79834,0.24116,0.81251,0.20715,0.81626,0.19783,0.80498,0.19011,0.76779,0.18154,0.72061,0.15317,0.72061,0.12141,0.72061,0.10918,0.72061,0.096937,0.72061,0.095729,0.76779,0.084698,0.72061,0.083719,0.76779,0.049312,0.76779,0.049215,0.72061,0.021389,0.76779,0.021389,0.72061,0.52866,0.76779,0.50084,0.72061,0.52866,0.72061,0.50074,0.76779,0.46535,0.72061,0.46633,0.76779,0.45432,0.76779,0.45371,0.80909,0.46578,0.80821,0.50004,0.80629,0.52866,0.80483,0.021389,0.80483,0.05001,0.80629,0.084273,0.80821,0.049346,0.81945,0.021389,0.81849,0.021389,0.83215,0.52866,0.83215,0.50071,0.81945,0.52866,0.81849,0.44165,0.80997,0.42959,0.81085,0.40299,0.82463,0.57804,0.76337,0.59341,0.7933,0.57804,0.7933,0.59341,0.76337,0.6112,0.76337,0.6112,0.7933,0.62976,0.76337,0.62976,0.7933,0.66447,0.76337,0.66447,0.7933,0.7109,0.76337,0.7109,0.7933,0.74467,0.76337,0.74467,0.7933,0.7725,0.76337,0.75992,0.96339,0.77354,0.99589,0.74467,0.99589,0.77197,0.96339,0.78583,0.96339,0.78763,0.94233,0.77131,0.94233,0.75791,0.94233,0.77121,0.92272,0.75764,0.92272,0.77099,0.90167,0.75854,0.90167,0.74467,0.92272,0.74467,0.90167,0.7109,0.92272,0.7109,0.94233,0.74467,0.94233,0.74467,0.96339,0.7109,0.99589,0.7109,0.96339,0.66447,0.99589,0.66447,0.96339,0.62976,0.99589,0.62976,0.96339,0.6112,0.99589,0.59341,0.99589,0.66447,0.94233,0.66447,0.92272,0.66447,0.90167,0.66447,0.8776,0.66447,0.85521,0.66447,0.8343,0.66447,0.81475,0.62976,0.81475,0.6112,0.81475,0.7109,0.81475,0.74467,0.81475,0.76984,0.7933,0.76828,0.81475,0.80073,0.7933,0.80073,0.76337,0.80073,0.96339,0.80073,0.99589,0.80073,0.94233,0.80073,0.92272,0.78757,0.92272,0.80073,0.90167,0.7849,0.90167,0.76968,0.8776,0.74467,0.8776,0.7109,0.90167,0.7109,0.8776,0.7109,0.85521,0.7109,0.8343,0.74467,0.8343,0.76819,0.8343,0.80073,0.81475,0.83487,0.7933,0.83487,0.76337,0.87787,0.76337,0.83487,0.99589,0.87787,0.96339,0.87787,0.99589,0.83487,0.96339,0.87787,0.94233,0.83487,0.94233,0.83487,0.92272,0.83487,0.90167,0.83487,0.87852,0.80073,0.87732,0.80073,0.85521,0.76892,0.85521,0.80073,0.8343,0.83487,0.81475,0.87787,0.7933,0.91431,0.76337,0.91431,0.96339,0.91431,0.99589,0.94831,0.96339,0.94831,0.94233,0.91431,0.94233,0.91431,0.92272,0.87787,0.92272,0.91431,0.90167,0.87787,0.90167,0.87787,0.87812,0.87787,0.85521,0.83487,0.85521,0.87787,0.8343,0.83487,0.8343,0.87787,0.81475,0.91431,0.7933,0.94831,0.76337,0.94831,0.99589,0.96312,0.96339,0.96312,0.99589,0.98674,0.96339,0.98674,0.94233,0.96312,0.94233,0.96312,0.92272,0.98674,0.92272,0.98674,0.90167,0.96312,0.90167,0.94831,0.92272,0.94831,0.90167,0.94831,0.87756,0.91431,0.87787,0.91431,0.85521,0.91431,0.8343,0.91431,0.81475,0.94831,0.7933,0.96312,0.76337,0.96312,0.7933,0.98674,0.76337,0.98674,0.99589,0.69239,0.14767,0.69239,0.16904,0.6724,0.1647,0.71238,0.16469,0.72473,0.15331,0.72473,0.13923,0.71238,0.12785,0.96312,0.85521,0.98674,0.8343,0.98674,0.85521,0.96312,0.8343,0.98674,0.81475,0.96312,0.81475,0.94831,0.8343,0.94831,0.85521,0.94831,0.81475,0.98674,0.7933,0.96312,0.87749,0.98674,0.87738,0.69239,0.1235,0.6724,0.12785,0.66004,0.13924,0.66005,0.15331,0.74467,0.85521,0.40155,0.81117,0.36958,0.76779,0.35994,0.76779,0.3503,0.76779,0.34065,0.76779,0.30631,0.76779,0.27503,0.76779,0.24374,0.76779,0.20782,0.80287,0.2094,0.76779,0.55557,0.31969,0.55835,0.28348,0.59035,0.28325,0.19976,0.76779,0.1907,0.72061,0.1908,0.69595,0.18139,0.69595,0.15331,0.69595,0.12092,0.69595,0.10935,0.69595,0.10926,0.68198,0.09777,0.68198,0.10742,0.64782,0.096562,0.64747,0.086277,0.68198,0.085705,0.64712,0.049196,0.68198,0.04939,0.69595,0.021389,0.69595,0.50066,0.69595,0.52866,0.69595,0.46383,0.69595,0.45311,0.72061,0.44231,0.76779,0.4303,0.76779,0.39774,0.76779,0.36851,0.72061,0.35936,0.72061,0.3502,0.72061,0.34105,0.72061,0.30538,0.72061,0.27503,0.72061,0.24467,0.72061,0.209,0.72061,0.55968,0.23612,0.59193,0.236,0.19985,0.72061,0.20021,0.69595,0.19124,0.68198,0.18169,0.68198,0.15367,0.68198,0.12076,0.68198,0.11828,0.64817,0.11805,0.63092,0.10739,0.62962,0.11765,0.61121,0.10642,0.60811,0.096737,0.62833,0.095186,0.605,0.086083,0.62703,0.083952,0.6019,0.093566,0.58367,0.08197,0.58234,0.047627,0.59791,0.048557,0.62291,0.021389,0.62479,0.021389,0.64734,0.52866,0.64734,0.5015,0.62291,0.52866,0.62479,0.50085,0.64555,0.52866,0.68198,0.50086,0.68198,0.46377,0.68198,0.45226,0.69595,0.44088,0.72061,0.42864,0.72061,0.39688,0.72061,0.36867,0.69595,0.35925,0.69595,0.34984,0.69595,0.34043,0.69595,0.30568,0.69595,0.27503,0.69595,0.24438,0.69595,0.20962,0.69595,0.2008,0.68198,0.19128,0.64649,0.18103,0.64747,0.15194,0.64783,0.1513,0.63081,0.15051,0.61127,0.14968,0.58653,0.11676,0.58633,0.14923,0.55879,0.11623,0.55879,0.1157,0.51821,0.14877,0.51821,0.17764,0.51821,0.17802,0.55879,0.18852,0.51821,0.18878,0.55879,0.19941,0.51821,0.19953,0.55879,0.21029,0.51821,0.21029,0.55879,0.24541,0.55879,0.24572,0.51821,0.27503,0.55879,0.27503,0.51821,0.30434,0.51821,0.30464,0.55879,0.27503,0.57538,0.24511,0.57777,0.21029,0.58176,0.19966,0.58331,0.21132,0.60153,0.24574,0.59332,0.27503,0.59254,0.30431,0.59332,0.30494,0.57777,0.33976,0.55879,0.33976,0.51821,0.35052,0.55879,0.33976,0.58176,0.35039,0.58331,0.36128,0.55879,0.36102,0.58487,0.37204,0.55879,0.37165,0.58643,0.40037,0.58653,0.39955,0.61127,0.4324,0.61121,0.43201,0.63092,0.44266,0.62962,0.44263,0.64782,0.45349,0.64747,0.45228,0.68198,0.4407,0.69595,0.42913,0.69595,0.39674,0.69595,0.36836,0.68198,0.35881,0.68198,0.34926,0.68198,0.3397,0.68198,0.3056,0.68198,0.27503,0.68198,0.24446,0.68198,0.21035,0.68198,0.20153,0.6455,0.19047,0.62877,0.18024,0.63062,0.17919,0.61114,0.1784,0.58643,0.18903,0.58487,0.20061,0.60473,0.21092,0.62507,0.24505,0.61836,0.27503,0.61789,0.305,0.61836,0.33914,0.62507,0.33826,0.64452,0.30574,0.64034,0.27503,0.64002,0.24431,0.64034,0.21179,0.64452,0.20069,0.62692,0.1899,0.60793,0.34852,0.6455,0.34936,0.62692,0.34944,0.60473,0.33874,0.60153,0.36015,0.60793,0.35959,0.62877,0.35877,0.64649,0.36902,0.64747,0.36981,0.63062,0.37086,0.61114,0.39875,0.63081,0.43178,0.64817,0.44079,0.68198,0.4293,0.68198,0.39638,0.68198,0.39811,0.64783,0.46435,0.64712,0.46397,0.62703,0.45332,0.62833,0.44363,0.60811,0.43329,0.58633,0.40082,0.55879,0.37242,0.51821,0.36153,0.51821,0.35064,0.51821,0.40128,0.51821,0.43436,0.51821,0.43383,0.55879,0.44539,0.51821,0.44514,0.55879,0.45642,0.51821,0.45645,0.55879,0.46745,0.51821,0.46777,0.55879,0.50155,0.55879,0.50188,0.51821,0.52866,0.55879,0.52866,0.58119,0.50122,0.58022,0.52866,0.59775,0.50243,0.59791,0.4661,0.6019,0.45487,0.605,0.44489,0.585,0.45649,0.58367,0.46808,0.58234,0.021389,0.59775,0.048832,0.58022,0.021389,0.58119,0.048502,0.55879,0.021389,0.55879,0.048172,0.51821,0.021389,0.51821,0.52866,0.51821,0.0826,0.51821,0.082285,0.55879,0.093599,0.55879,0.093632,0.51821,0.10466,0.51821,0.10491,0.55879,0.10516,0.585,0.021389,0.68198,0.049202,0.64555,0.59689,0.20915,0.57122,0.20872,0.20227,0.5024,0.23377,0.48641,0.23265,0.5024,0.20291,0.48641,0.17757,0.5024,0.17773,0.48641,0.14849,0.5024,0.14766,0.48641,0.11541,0.5024,0.11591,0.48641,0.14567,0.4516,0.11532,0.45159,0.14548,0.43814,0.11588,0.436,0.14548,0.42507,0.11693,0.42034,0.1463,0.41539,0.11908,0.40633,0.14694,0.39988,0.11942,0.39403,0.14805,0.37464,0.11974,0.37377,0.15163,0.33083,0.12144,0.33083,0.15426,0.28924,0.12371,0.28924,0.15494,0.25787,0.1243,0.25542,0.15429,0.24041,0.12408,0.23776,0.15363,0.22377,0.12352,0.22123,0.15173,0.20491,0.12278,0.20622,0.15075,0.16561,0.12287,0.16561,0.15039,0.12452,0.12248,0.12452,0.14957,0.091528,0.12085,0.099164,0.14891,0.064733,0.1214,0.070962,0.14987,0.042155,0.12176,0.042155,0.15223,0.017017,0.12094,0.017017,0.15253,0.005452,0.12167,0.005452,0.59513,0.14743,0.59079,0.17508,0.61896,0.17049,0.56575,0.16924,0.5518,0.15142,0.55188,0.13619,0.56424,0.12381,0.21927,0.017017,0.22035,0.005452,0.23812,0.005452,0.2008,0.017017,0.20131,0.005452,0.17956,0.017017,0.17945,0.005452,0.17876,0.044294,0.20035,0.046968,0.21991,0.043759,0.23873,0.017017,0.26611,0.005452,0.26611,0.017017,0.23845,0.042155,0.26579,0.042155,0.23896,0.055818,0.26566,0.061564,0.23703,0.081157,0.26552,0.084612,0.047472,0.056462,0.018685,0.083405,0.018824,0.059244,0.047114,0.081762,0.018676,0.12452,0.047771,0.12452,0.070598,0.084544,0.071091,0.12452,0.092453,0.088122,0.070867,0.063295,0.07021,0.042155,0.095603,0.042155,0.095076,0.017017,0.070864,0.017017,0.046596,0.042155,0.018951,0.042155,0.047691,0.017017,0.019271,0.017017,0.04801,0.005452,0.070931,0.005452,0.095809,0.005452,0.63052,0.13481,0.63088,0.1526,0.61842,0.12229,0.59018,0.11954,0.019271,0.005452,0.099991,0.12452,0.071516,0.16561,0.048337,0.16561,0.048076,0.20456,0.07132,0.20443,0.099204,0.16561,0.10057,0.20496,0.071151,0.21894,0.047851,0.21904,0.047562,0.23513,0.070935,0.23509,0.10073,0.21966,0.10029,0.23603,0.070976,0.25264,0.047617,0.25233,0.048062,0.28924,0.069615,0.28924,0.10046,0.25378,0.10101,0.28924,0.068338,0.33083,0.046246,0.33083,0.041383,0.36822,0.061609,0.37282,0.098848,0.33083,0.092553,0.37345,0.058648,0.38216,0.038683,0.37554,0.035635,0.38183,0.055705,0.39002,0.014029,0.38334,0.014029,0.37248,0.5119,0.38183,0.53351,0.37248,0.53351,0.38334,0.53102,0.36842,0.50885,0.37554,0.5293,0.36474,0.50616,0.36822,0.52827,0.36333,0.50129,0.33083,0.52827,0.33083,0.49948,0.28924,0.52827,0.28924,0.49992,0.25233,0.52827,0.25155,0.49998,0.23513,0.52827,0.22824,0.49969,0.21904,0.52827,0.21529,0.49946,0.20456,0.52849,0.20221,0.4992,0.16561,0.52861,0.16561,0.49977,0.12452,0.52886,0.12452,0.50042,0.081762,0.52885,0.083405,0.50007,0.056462,0.52871,0.059244,0.52859,0.042155,0.50094,0.042155,0.49985,0.017017,0.47667,0.017017,0.47661,0.005452,0.45173,0.005452,0.45246,0.017017,0.42586,0.005452,0.42659,0.017017,0.39501,0.005452,0.39531,0.017017,0.42578,0.042155,0.45193,0.042155,0.47733,0.042155,0.47667,0.063295,0.47694,0.084544,0.47645,0.12452,0.47602,0.16561,0.44755,0.12452,0.44833,0.16561,0.42506,0.12452,0.42467,0.16561,0.39714,0.12452,0.39679,0.16561,0.42476,0.20622,0.44696,0.20496,0.47622,0.20443,0.47639,0.21894,0.44681,0.21966,0.42402,0.22123,0.3958,0.20491,0.3939,0.22377,0.42346,0.23776,0.44725,0.23603,0.4766,0.23509,0.47656,0.25264,0.47792,0.28924,0.44708,0.25378,0.44653,0.28924,0.42324,0.25542,0.42383,0.28924,0.39259,0.25787,0.39328,0.28924,0.4261,0.33083,0.44869,0.33083,0.4792,0.33083,0.48593,0.37282,0.45498,0.37345,0.4278,0.37377,0.3959,0.33083,0.39949,0.37464,0.42812,0.39403,0.45863,0.38637,0.48889,0.38216,0.49183,0.39002,0.4607,0.39302,0.42846,0.40633,0.4006,0.39988,0.40124,0.41539,0.43061,0.42034,0.46499,0.40956,0.49206,0.40215,0.53351,0.39616,0.014029,0.39616,0.055483,0.40215,0.014029,0.40744,0.53351,0.40744,0.49592,0.42631,0.46705,0.42986,0.43166,0.436,0.46616,0.45011,0.496,0.44785,0.53351,0.42803,0.014029,0.42803,0.051618,0.42631,0.082545,0.40956,0.086837,0.39302,0.088911,0.38637,0.080492,0.42986,0.051533,0.44785,0.014029,0.44872,0.014029,0.48641,0.53351,0.48641,0.53351,0.44872,0.49579,0.48641,0.53351,0.5024,0.49448,0.5024,0.46435,0.48641,0.46507,0.5024,0.43163,0.48641,0.43212,0.5024,0.39988,0.48641,0.39905,0.5024,0.36981,0.48641,0.36997,0.5024,0.34463,0.48641,0.34527,0.5024,0.31377,0.48641,0.31488,0.5024,0.27377,0.48641,0.27377,0.5024,0.62122,0.20904,0.62122,0.23591,0.65051,0.236,0.64555,0.20915,0.68276,0.23612,0.67122,0.20872,0.68409,0.28348,0.65209,0.28325,0.68687,0.31969,0.65486,0.316,0.68674,0.34673,0.65476,0.34417,0.68557,0.37782,0.65329,0.37511,0.65124,0.41636,0.62122,0.37603,0.62119,0.41636,0.59161,0.41636,0.58915,0.37511,0.62122,0.34465,0.62122,0.3149,0.58757,0.316,0.62122,0.28302,0.27377,0.45003,0.23407,0.44967,0.20512,0.45259,0.17605,0.45294,0.17613,0.43965,0.17595,0.42673,0.17563,0.41683,0.17533,0.40101,0.17486,0.37553,0.17554,0.33083,0.17609,0.28924,0.17616,0.25864,0.17715,0.24619,0.17798,0.23697,0.17982,0.2137,0.17524,0.19655,0.17612,0.16561,0.17743,0.12452,0.1762,0.098264,0.17587,0.068995,0.20111,0.084044,0.2178,0.063127,0.2176,0.082473,0.21777,0.12452,0.19758,0.12452,0.1979,0.16561,0.21693,0.16561,0.23899,0.12452,0.26551,0.12452,0.24027,0.16561,0.26576,0.16561,0.018925,0.16561,0.019044,0.20221,0.019271,0.21529,0.019271,0.22824,0.019271,0.25155,0.019271,0.28924,0.019271,0.33083,0.019271,0.36333,0.018237,0.36474,0.016521,0.36842,0.27377,0.38567,0.27192,0.37399,0.27377,0.37716,0.24954,0.38538,0.27377,0.40388,0.23034,0.40543,0.27377,0.42295,0.23076,0.42341,0.20252,0.42504,0.1993,0.41391,0.20114,0.39933,0.19783,0.37594,0.19785,0.33083,0.19905,0.28924,0.20011,0.25881,0.19986,0.23895,0.19954,0.22584,0.19906,0.20695,0.19726,0.19343,0.21766,0.19267,0.24184,0.194,0.26588,0.19907,0.23881,0.21093,0.26611,0.21275,0.24114,0.22737,0.26611,0.22694,0.24285,0.24212,0.26611,0.25186,0.24397,0.25498,0.24386,0.28924,0.26611,0.28924,0.24263,0.33083,0.26611,0.33083,0.24319,0.37033,0.26611,0.36333,0.24581,0.37915,0.26875,0.3698,0.22643,0.39375,0.22253,0.37561,0.221,0.33083,0.22091,0.28924,0.22195,0.25756,0.22152,0.23987,0.22083,0.22032,0.21845,0.20617,0.20483,0.43988,0.23221,0.43769,0.27377,0.43649,0.31533,0.43769,0.31678,0.42341,0.3172,0.40543,0.298,0.38538,0.27562,0.37399,0.27878,0.3698,0.30173,0.37915,0.3211,0.39375,0.30435,0.37033,0.28143,0.36333,0.28143,0.33083,0.30491,0.33083,0.28143,0.28924,0.30367,0.28924,0.28143,0.25186,0.30357,0.25498,0.30468,0.24212,0.28143,0.22694,0.30639,0.22737,0.28143,0.21275,0.30873,0.21093,0.28166,0.19907,0.3057,0.194,0.28178,0.16561,0.30727,0.16561,0.28203,0.12452,0.30855,0.12452,0.28202,0.084612,0.31051,0.081157,0.28188,0.061564,0.30858,0.055818,0.28175,0.042155,0.30908,0.042155,0.28143,0.017017,0.52827,0.017017,0.49953,0.005452,0.52827,0.005452,0.32826,0.017017,0.30942,0.005452,0.32719,0.005452,0.30881,0.017017,0.32763,0.043759,0.32974,0.063127,0.32993,0.082473,0.32977,0.12452,0.33061,0.16561,0.32988,0.19267,0.32909,0.20617,0.32671,0.22032,0.32601,0.23987,0.32559,0.25756,0.32662,0.28924,0.32654,0.33083,0.325,0.37561,0.3464,0.39933,0.34824,0.41391,0.34502,0.42504,0.3427,0.43988,0.34242,0.45259,0.31347,0.44967,0.37148,0.45294,0.37141,0.43965,0.37159,0.42673,0.40205,0.43814,0.40187,0.4516,0.43222,0.45159,0.40206,0.42507,0.37191,0.41683,0.37221,0.40101,0.37268,0.37553,0.34971,0.37594,0.34969,0.33083,0.34849,0.28924,0.34743,0.25881,0.34767,0.23895,0.348,0.22584,0.34848,0.20695,0.35028,0.19343,0.34964,0.16561,0.34996,0.12452,0.34643,0.084044,0.34719,0.046968,0.34673,0.017017,0.34623,0.005452,0.36798,0.017017,0.36808,0.005452,0.36878,0.044294,0.37167,0.068995,0.39863,0.064733,0.39796,0.091528,0.42669,0.099164,0.42614,0.070962,0.39767,0.042155,0.45509,0.088122,0.37134,0.098264,0.37011,0.12452,0.37142,0.16561,0.37229,0.19655,0.36772,0.2137,0.39324,0.24041,0.36956,0.23697,0.37039,0.24619,0.37138,0.25864,0.37145,0.28924,0.372,0.33083,0.28143,0.005452,0.014029,0.5024,0.051746,0.48641,0.081374,0.45011,0.083187,0.48641,0.053057,0.5024,0.082473,0.5024,0.086224,0.69595,0.097789,0.69595,0.048683,0.83262,0.083562,0.82117,0.096337,0.80909,0.095238,0.9003,0.096559,0.86716,0.10759,0.83678,0.12021,0.82447,0.14706,0.82463,0.17677,0.82365,0.18594,0.83528,0.19659,0.86191,0.19891,0.89544,0.20216,0.92458,0.20367,0.95963,0.21767,0.95963,0.09506,0.96609,0.1035,0.93698,0.10759,0.89974,0.10826,0.86835,0.11995,0.83809,0.14563,0.83809,0.17567,0.83809,0.18613,0.86308,0.18729,0.89534,0.18891,0.92418,0.17567,0.92378,0.17567,0.89524,0.57804,0.60692,0.59341,0.58601,0.57804,0.58601,0.59341,0.60692,0.57804,0.62931,0.59341,0.62931,0.6112,0.60692,0.6112,0.62931,0.62976,0.60692,0.62976,0.62931,0.66447,0.60692,0.66447,0.62931,0.7109,0.60692,0.7109,0.58601,0.74467,0.58601,0.74467,0.60692,0.7109,0.62931,0.74467,0.62931,0.76892,0.60692,0.76968,0.62931,0.74467,0.65338,0.75854,0.65338,0.77099,0.65338,0.7849,0.65338,0.77121,0.67443,0.78757,0.67443,0.77131,0.69404,0.75791,0.69404,0.75992,0.7151,0.74467,0.7151,0.74467,0.7476,0.7109,0.7476,0.7109,0.7151,0.74467,0.69404,0.75764,0.67443,0.74467,0.67443,0.7109,0.67443,0.7109,0.65338,0.66447,0.65338,0.62976,0.65338,0.6112,0.65338,0.59341,0.65338,0.57804,0.65338,0.10751,0.96613,0.11995,0.93564,0.11995,0.96618,0.11995,0.89918,0.11995,0.86953,0.57804,0.69404,0.57804,0.7151,0.59341,0.69404,0.59341,0.7151,0.57804,0.7476,0.59341,0.7476,0.59341,0.51508,0.57804,0.51508,0.57804,0.54501,0.59341,0.54501,0.59341,0.56646,0.57804,0.56646,0.17567,0.86425,0.6112,0.56646,0.6112,0.54501,0.62976,0.54501,0.62976,0.56646,0.6112,0.58601,0.62976,0.58601,0.66447,0.58601,0.7109,0.56646,0.74467,0.56646,0.76828,0.56646,0.76819,0.58601,0.80073,0.58601,0.80073,0.60692,0.80073,0.62904,0.80073,0.65338,0.80073,0.67443,0.78763,0.69404,0.77197,0.7151,0.77354,0.7476,0.7725,0.51508,0.74467,0.51508,0.74467,0.54501,0.7109,0.54501,0.7109,0.51508,0.66447,0.54501,0.66447,0.51508,0.66447,0.7476,0.66447,0.7151,0.7109,0.69404,0.66447,0.69404,0.62976,0.7151,0.62976,0.7476,0.6112,0.7476,0.6112,0.7151,0.62976,0.69404,0.66447,0.67443,0.62976,0.67443,0.6112,0.67443,0.59341,0.67443,0.57804,0.67443,0.6112,0.69404,0.6112,0.51508,0.62976,0.51508,0.66447,0.56646,0.76984,0.54501,0.80073,0.54501,0.80073,0.56646,0.83487,0.56646,0.83487,0.58601,0.83487,0.60692,0.83487,0.63023,0.83487,0.65338,0.83487,0.67443,0.80073,0.69404,0.83487,0.69404,0.80073,0.7151,0.83487,0.7151,0.80073,0.7476,0.80073,0.51508,0.83487,0.51508,0.83487,0.54501,0.87787,0.54501,0.87787,0.56646,0.87787,0.58601,0.87787,0.60692,0.87787,0.62983,0.87787,0.65338,0.87787,0.67443,0.87787,0.69404,0.87787,0.7151,0.83487,0.7476,0.87787,0.7476,0.87787,0.51508,0.91431,0.51508,0.91431,0.54501,0.91431,0.56646,0.91431,0.58601,0.91431,0.60692,0.91431,0.62959,0.91431,0.65338,0.91431,0.67443,0.91431,0.69404,0.91431,0.7151,0.91431,0.7476,0.94831,0.7151,0.94831,0.7476,0.94831,0.51508,0.94831,0.54501,0.94831,0.56646,0.94831,0.58601,0.94831,0.60692,0.94831,0.62927,0.94831,0.65338,0.94831,0.67443,0.94831,0.69404,0.96312,0.67443,0.96312,0.65338,0.96312,0.6292,0.98674,0.62909,0.98674,0.65338,0.98674,0.67443,0.96312,0.69404,0.98674,0.69404,0.98674,0.60692,0.96312,0.60692,0.98674,0.58601,0.96312,0.58601,0.98674,0.56646,0.96312,0.56646,0.98674,0.54501,0.98674,0.7151,0.96312,0.7151,0.96312,0.7476,0.98674,0.7476,0.96312,0.51508,0.96312,0.54501,0.98674,0.51508,0.78583,0.7151,0.18967,0.95963,0.17567,0.95963,0.061418,0.99104,0.057549,0.99379,0.59863,0.49328,0.60369,0.4721,0.61099,0.46508,0.73471,0.31732,0.66669,0.35452,0.65253,0.32005,0.77219,0.40117,0.81002,0.28203,0.83414,0.35215,0.8729,0.25411,0.50565,0.29679,0.50565,0.26614,0.56073,0.28582,0.45057,0.28582,0.50565,0.32233,0.45265,0.32748,0.35876,0.32005,0.3446,0.35452,0.38392,0.37284,0.42781,0.36018,0.46647,0.35658,0.50565,0.34712,0.55864,0.32748,0.54482,0.35658,0.58348,0.36018,0.62737,0.37284,0.61069,0.42188,0.68041,0.40749,0.6575,0.45015,0.74277,0.43666,0.80418,0.49612,0.82625,0.47086,0.87262,0.42738,0.91615,0.39512,0.72225,0.23488,0.80079,0.13417,0.79752,0.18077,0.72774,0.16914,0.669,0.23305,0.72751,0.30082,0.65621,0.28903,0.79671,0.2332,0.80579,0.26927,0.96584,0.36744,0.9164,0.31834,0.96487,0.29106,0.99591,0.33761,0.045451,0.36744,0.015383,0.33761,0.046422,0.29106,0.094891,0.31834,0.13839,0.25411,0.086385,0.22418,0.92491,0.22418,0.27658,0.31733,0.2391,0.40117,0.27658,0.31733,0.20127,0.28203,0.17716,0.35215,0.095144,0.39512,0.13867,0.42738,0.18504,0.47086,0.20711,0.49612,0.26852,0.43666,0.33088,0.40749,0.4006,0.42188,0.43272,0.40402,0.46937,0.387,0.50565,0.3839,0.54192,0.387,0.57857,0.40402,0.5949,0.44586,0.56112,0.42952,0.57637,0.47208,0.55516,0.45521,0.56678,0.4949,0.54401,0.48364,0.54863,0.50043,0.53367,0.49944,0.53202,0.51065,0.50565,0.51356,0.53055,0.51579,0.50565,0.51518,0.50565,0.51669,0.52848,0.52273,0.5488,0.51179,0.54785,0.52117,0.56256,0.51526,0.56505,0.52103,0.55539,0.52856,0.52662,0.53435,0.50565,0.52409,0.50565,0.54227,0.48467,0.53435,0.48281,0.52273,0.48074,0.51579,0.4625,0.51179,0.46344,0.52117,0.4559,0.52856,0.44624,0.52103,0.44873,0.51526,0.43567,0.50906,0.4406,0.50789,0.44451,0.4949,0.43492,0.47208,0.45613,0.45521,0.45017,0.42952,0.41639,0.44586,0.35379,0.45015,0.24202,0.50716,0.2127,0.51802,0.22443,0.58782,0.28773,0.58808,0.31255,0.498,0.37159,0.51167,0.3847,0.47093,0.41438,0.5004,0.42807,0.50936,0.43072,0.53028,0.44769,0.54969,0.48301,0.55663,0.48285,0.54477,0.50565,0.5534,0.52828,0.55663,0.50565,0.56799,0.47895,0.56752,0.45047,0.57717,0.44371,0.59792,0.46093,0.58135,0.47448,0.57553,0.48333,0.57664,0.49684,0.57386,0.50565,0.57433,0.51445,0.57386,0.53234,0.56752,0.52796,0.57664,0.52576,0.58254,0.53681,0.57553,0.55036,0.58135,0.53339,0.59254,0.51861,0.59461,0.51321,0.58252,0.50565,0.59386,0.50565,0.60721,0.49268,0.59461,0.49808,0.58252,0.50565,0.58162,0.48553,0.58254,0.4779,0.59254,0.45982,0.60143,0.46859,0.61802,0.47497,0.60207,0.48824,0.60878,0.50565,0.62456,0.48658,0.62193,0.48498,0.64348,0.46147,0.63262,0.4495,0.62362,0.39994,0.6137,0.39662,0.56183,0.40811,0.52278,0.35594,0.56566,0.30238,0.64409,0.34919,0.61724,0.36475,0.64668,0.40531,0.64375,0.43792,0.65846,0.46395,0.66968,0.48893,0.6614,0.50565,0.6618,0.50565,0.64677,0.52631,0.64348,0.52472,0.62193,0.52305,0.60878,0.53632,0.60207,0.55147,0.60143,0.56759,0.59792,0.56082,0.57717,0.5636,0.54969,0.52844,0.54477,0.58057,0.53028,0.57562,0.50906,0.57069,0.50789,0.56773,0.50857,0.56435,0.5094,0.56244,0.50806,0.54754,0.5068,0.56449,0.50539,0.58322,0.50936,0.59691,0.5004,0.62659,0.47093,0.6397,0.51167,0.60318,0.52278,0.61467,0.56183,0.61135,0.6137,0.56179,0.62362,0.54982,0.63262,0.5427,0.61802,0.52236,0.6614,0.50565,0.68783,0.48641,0.68524,0.4659,0.68746,0.45657,0.69083,0.44886,0.67604,0.43419,0.6751,0.4068,0.65597,0.40378,0.66724,0.40374,0.66912,0.43742,0.67897,0.40327,0.6896,0.37141,0.6747,0.3683,0.66944,0.36724,0.66252,0.33758,0.66909,0.2702,0.69558,0.23404,0.68905,0.21106,0.66065,0.1814,0.59381,0.18558,0.54367,0.15534,0.58205,0.13891,0.57123,0.17311,0.53186,0.7912,0.040598,0.74114,0.064226,0.82293,0.052815,0.68948,0.043955,0.69144,0.056586,0.16404,0.7016,0.18315,0.68297,0.18975,0.68191,0.15505,0.68142,0.14596,0.69567,0.13167,0.66219,0.11763,0.66514,0.13053,0.61889,0.11657,0.61267,0.75767,0.007312,0.71108,0.012955,0.69153,0.032394,0.30872,0.79868,0.34134,0.72229,0.35101,0.70605,0.33109,0.68866,0.3492,0.68776,0.36211,0.68523,0.3792,0.69317,0.40363,0.69401,0.42801,0.69567,0.43398,0.69897,0.4053,0.70135,0.37952,0.70006,0.38474,0.71595,0.42121,0.71452,0.44729,0.70141,0.44628,0.67713,0.46376,0.71033,0.48685,0.71806,0.50565,0.71717,0.52488,0.68524,0.54539,0.68746,0.54734,0.66968,0.57337,0.65846,0.60598,0.64375,0.64655,0.64668,0.64405,0.66252,0.60449,0.65597,0.64299,0.66944,0.60752,0.66724,0.60755,0.66912,0.63988,0.6747,0.60802,0.6896,0.57387,0.67897,0.5771,0.6751,0.56501,0.67713,0.58328,0.69567,0.56243,0.67604,0.57731,0.69897,0.60766,0.69401,0.63209,0.69317,0.60599,0.70135,0.564,0.70141,0.59008,0.71452,0.54753,0.71033,0.58465,0.72703,0.52093,0.73918,0.52444,0.71806,0.50565,0.74429,0.49036,0.73918,0.42664,0.72703,0.38767,0.73351,0.38157,0.76246,0.38085,0.8049,0.49104,0.76365,0.50565,0.76438,0.50565,0.80546,0.48251,0.80505,0.45773,0.8551,0.50565,0.85391,0.52878,0.80505,0.52025,0.76365,0.62972,0.76246,0.63044,0.8049,0.55356,0.8551,0.57004,0.91251,0.50565,0.91146,0.50565,0.983,0.44125,0.91251,0.36381,0.97848,0.60464,0.21903,0.53929,0.1649,0.51088,0.20598,0.61788,0.15854,0.58376,0.26308,0.64748,0.97848,0.65275,0.9063,0.63319,0.84908,0.70257,0.79868,0.66995,0.72229,0.62362,0.73351,0.62655,0.71595,0.63177,0.70006,0.64918,0.68523,0.66209,0.68776,0.66028,0.70605,0.74109,0.69558,0.6802,0.68866,0.67371,0.66909,0.70891,0.64409,0.66211,0.61724,0.65535,0.56566,0.69874,0.498,0.76927,0.50716,0.72356,0.58808,0.77725,0.68905,0.82154,0.68191,0.7315,0.8414,0.75385,0.87359,0.58811,0.084389,0.63728,0.11485,0.67491,0.129,0.67425,0.18198,0.57117,0.12392,0.74883,0.90947,0.71627,0.13401,0.85624,0.68142,0.86534,0.69567,0.84725,0.7016,0.87962,0.66219,0.89366,0.66514,0.88077,0.61889,0.85595,0.58205,0.82989,0.59381,0.82814,0.68297,0.80023,0.66065,0.78687,0.58782,0.79859,0.51802,0.83818,0.53186,0.82571,0.54367,0.87238,0.57123,0.82809,0.082222,0.85503,0.058733,0.89472,0.61267,0.27979,0.8414,0.25744,0.87359,0.3781,0.84908,0.35854,0.9063,0.26247,0.90947,0.55472,0.69083,0.47562,0.41748,0.50565,0.41841,0.53567,0.41748,0.53256,0.44439,0.50565,0.44246,0.47873,0.44439,0.48071,0.47087,0.50565,0.47486,0.53058,0.47087,0.53047,0.48154,0.50565,0.4824,0.50565,0.49901,0.47762,0.49944,0.48082,0.48154,0.46728,0.48364,0.46266,0.50043,0.47928,0.51065,0.46375,0.5068,0.44886,0.50806,0.44694,0.5094,0.44356,0.50857,0.4468,0.50539,-4.0855,113.65,-4.7065,112.58,-4.4707,112.59,0.77676,0.13585,0.78208,0.16208,0.76952,0.17236,0.81597,0.13348,0.8096,0.10029,0.84803,0.13181,0.84008,0.094491,0.82921,0.068416,0.86283,0.076523,0.87302,0.10101,0.90339,0.087924,0.9195,0.10986,0.95167,0.095964,0.95498,0.11422,0.95578,0.13706,0.98048,0.14172,0.9755,0.12368,0.97236,0.087202,0.93951,0.071184,0.89275,0.059736,0.85648,0.059589,0.69938,0.08375,0.69878,0.049489,0.67304,0.081736,0.7281,0.079284,0.72696,0.013681,0.7281,0.079283,0.69812,0.011255,0.83476,0.20131,0.80378,0.19117,0.84422,0.17428,0.81311,0.17175,0.76521,0.047881,0.75782,0.020303,0.72696,0.013681,0.75623,0.13625,0.78049,0.11206,0.76717,0.10244,0.75775,0.072694,0.79865,0.081588,0.87435,0.13174,0.91414,0.13312,0.92176,0.15834,0.95623,0.16094,0.97759,0.15515,0.9876,0.18351,0.98213,0.21097,0.9741,0.18047,0.99027,0.081565,0.96368,0.060841,0.98325,0.054504,0.92743,0.046694,0.92083,0.031595,0.94866,0.019875,0.59248,0.069253,0.59199,0.040881,0.56771,0.056934,0.62556,0.046896,0.59199,0.040881,0.59147,0.011237,0.62556,0.046896,0.62498,0.013484,0.63822,0.046666,0.63764,0.013254,0.67247,0.048945,0.67183,0.012328,0.86145,0.20925,0.86747,0.19231,0.87594,0.16818,0.89705,0.20907,0.90658,0.18072,0.94192,0.19727,0.93049,0.2222,0.9576,0.23325,0.95214,0.24858,0.92394,0.23728,0.56511,0.019317,0.5618,0.036835,0.97588,0.23821,0.9709,0.25427,0.95464,0.035111,0.97012,0.012124,0.97583,0.027771,0.96614,0.20724,0.95343,0.17204,0.89107,0.22148,0.63875,0.077065,0.62609,0.077296,0.88692,0.047327,0.77676,0.13585,0.75623,0.13625,0.76952,0.17236,0.78049,0.11206,0.76717,0.10244,0.76521,0.047881,0.75775,0.072694,0.7281,0.079284,0.79865,0.081588,0.8096,0.10029,0.81597,0.13348,0.84803,0.13181,0.84008,0.094491,0.87435,0.13174,0.87302,0.10101,0.91414,0.13312,0.9195,0.10986,0.95578,0.13706,0.95498,0.11422,0.98048,0.14172,0.9755,0.12368,0.97236,0.087202,0.99027,0.081565,0.96368,0.060841,0.98325,0.054504,0.9876,0.18351,0.9741,0.18047,0.98213,0.21097,0.97759,0.15515,0.95623,0.16094,0.92176,0.15834,0.87594,0.16818,0.84422,0.17428,0.81311,0.17175,0.78208,0.16208,0.80378,0.19117,0.83476,0.20131,0.86145,0.20925,0.86747,0.19231,0.89705,0.20907,0.90658,0.18072,0.93049,0.2222,0.94192,0.19727,0.95343,0.17204,0.96614,0.20724,0.97588,0.23821,0.9576,0.23325,0.95214,0.24858,0.9709,0.25427,0.56511,0.019317,0.59199,0.040881,0.5618,0.036835,0.59147,0.011237,0.92394,0.23728,0.89107,0.22148,0.63822,0.046666,0.62498,0.013484,0.63764,0.013254,0.62556,0.046896,0.63875,0.077065,0.62609,0.077296,0.89275,0.059736,0.92083,0.031595,0.88692,0.047327,0.92743,0.046694,0.94866,0.019875,0.95464,0.035111,0.97012,0.012124,0.97583,0.027771,0.93951,0.071184,0.90339,0.087924,0.86283,0.076523,0.85648,0.059589,0.67247,0.048945,0.67304,0.081736,0.69878,0.049489,0.67183,0.012328,0.69812,0.011255,0.72696,0.013681,0.72757,0.04879,0.75782,0.020303,0.69938,0.08375,0.82921,0.068416,0.95167,0.095964,0.56771,0.056934,0.59248,0.069253,0.59199,0.040881,0.62556,0.046896,-1.2139,-1.176,-1.2439,-1.0919,-1.2742,-1.1759,-1.1504,-1.176,-1.1505,-1.0914,-4.1649,-0.066553,-4.1978,-0.17021,-4.1378,-0.17009,-4.1971,-0.25909,-1.1504,-1.247,-1.2133,-1.247,-1.2741,-1.247,-1.6415,-1.2543,-1.6604,-1.1832,-1.6887,-1.2543,-1.6886,-1.1832,-1.7463,-1.2543,-1.7468,-1.1832,-1.7483,-1.0989,-1.6885,-1.0988,-2.1742,-1.1358,-2.2337,-1.0337,-2.2297,-1.1357,-2.3126,-1.0338,-2.3135,-1.1357,-2.8399,-1.0347,-2.8779,-1.0347,-2.8394,-1.1357,-2.9263,-1.0348,-2.9262,-1.1357,-3.464,-0.98981,-3.4925,-1.0915,-3.418,-1.0915,-3.4908,-1.1781,-3.4175,-1.1781,-3.4911,-1.2902,-3.4162,-1.2901,-3.4173,-1.3869,-3.4896,-1.3869,-3.437,-1.4891,-2.8388,-1.2223,-2.926,-1.2223,-2.2303,-1.2223,-2.3133,-1.2223,-2.1748,-1.2223,-2.1759,-1.3344,-2.2327,-1.3343,-2.1781,-1.4305,-2.2326,-1.4302,-2.1999,-1.5368,-2.3131,-1.3343,-2.3127,-1.4304,-2.2726,-1.5368,-2.9258,-1.3344,-2.839,-1.3344,-2.9043,-1.431,-2.8395,-1.4312,-2.8933,-1.5347,-1.7452,-1.3463,-1.6912,-1.3464,-1.6414,-1.3465,-1.2743,-1.339,-1.2118,-1.3391,-1.1505,-1.3391,-1.1506,-1.4186,-1.2133,-1.4186,-1.2742,-1.4184,-1.2118,-1.5031,-1.6414,-1.4261,-1.6925,-1.4261,-1.6925,-1.5107,-1.7467,-1.4259,-4.139,-0.25912,-4.1964,-0.38268,-4.1382,-0.38289,-4.1961,-0.47918,-4.1398,-0.4792,-4.1691,-0.55413,-3.8738,-0.25892,-3.875,-0.38295,-3.8242,-0.3828,-3.8728,-0.47939,-3.8254,-0.47946,-3.7765,-0.47953,-3.8291,-0.55409,-3.7638,-0.38429,-3.816,-0.25908,-3.8154,-0.17103,-3.876,-0.17025,-3.8196,-0.078534,-3.8738,-0.07849,-3.7915,-0.17042,-3.7694,-0.25923,-2.423,-0.2594,-2.4225,-0.38697,-2.3451,-0.25939,-2.3445,-0.38712,-2.4117,-0.47976,-2.3438,-0.4799,-2.3453,-0.55424,-2.2724,-0.47999,-2.27,-0.38799,-2.2719,-0.25966,-2.3451,-0.16913,-2.4209,-0.16966,-2.3453,-0.078458,-2.4203,-0.078489,-2.2724,-0.16931,-2.9182,-0.13416,-2.9182,-0.23122,-2.8235,-0.23136,-2.9182,-0.32606,-2.8378,-0.3262,-2.8556,-0.41873,-2.9096,-0.41869,-2.8787,-0.49312,-2.823,-0.13424,-2.8748,-0.017112,-2.9184,-0.017268,-2.8222,-0.016925,-2.7646,-0.016563,-2.7646,-0.13425,-2.7612,-0.23137,-2.7616,-0.32584,-2.8082,-0.32631,-2.7621,-0.41836,-2.794,-0.41842,-2.7628,-0.49315,-2.7355,-0.41865,-2.7355,-0.32713,-2.7357,-0.23183,-2.7354,-0.13434,-2.7505,-0.016563,-1.6584,0.84315,-1.6884,0.92725,-1.7187,0.84317,-1.5949,0.84314,-1.595,0.92769,-3.8427,1.9526,-3.8757,1.8489,-3.8157,1.849,-3.875,1.76,-1.5949,0.77208,-1.6578,0.7721,-1.7186,0.77211,-1.7748,0.76482,-1.7936,0.83588,-1.8219,0.76484,-1.8218,0.83588,-1.8795,0.76485,-1.88,0.83591,-1.8218,0.92033,-1.8815,0.92024,-2.2532,0.83596,-2.2829,0.91973,-2.3088,0.83598,-2.3917,0.91968,-2.3926,0.83596,-2.8394,0.83599,-2.8399,0.91893,-2.9262,0.83599,-2.9263,0.91886,-3.464,0.95575,-3.4925,0.87226,-3.418,0.87227,-3.4908,0.80123,-3.4175,0.80122,-3.4911,0.70919,-3.4162,0.70923,-3.4173,0.62978,-3.4896,0.62984,-3.437,0.54589,-2.926,0.76494,-2.8388,0.76493,-2.9258,0.67292,-2.839,0.67287,-2.9258,0.59365,-2.8395,0.59346,-2.8933,0.50847,-2.3093,0.76495,-2.3923,0.76493,-2.2539,0.76492,-2.255,0.67293,-2.2909,0.67299,-2.256,0.63873,-2.2774,0.64139,-2.2572,0.59401,-2.3922,0.673,-2.3117,0.67302,-2.3917,0.59409,-2.3117,0.5943,-2.3112,0.50678,-1.8784,0.67276,-1.8244,0.67266,-1.7746,0.67263,-1.7746,0.59299,-1.8258,0.59299,-1.8799,0.59325,-1.8257,0.50838,-1.7188,0.68006,-1.6563,0.68002,-1.595,0.67998,-1.5951,0.60054,-1.6578,0.6005,-1.7187,0.6007,-1.6563,0.51598,-3.8168,1.76,-3.8742,1.6364,-3.816,1.6362,-3.874,1.5399,-3.8177,1.5399,-3.8469,1.465,-3.7904,1.7602,-3.7917,1.6362,-3.7409,1.6363,-3.7894,1.5397,-3.742,1.5396,-3.7458,1.465,-3.6932,1.5396,-3.6804,1.6348,-3.7327,1.76,-3.732,1.8481,-3.7926,1.8489,-3.7363,1.9406,-3.7904,1.9406,-3.7082,1.8487,-3.686,1.7599,-3.2656,1.7597,-3.3435,1.7597,-3.343,1.6321,-3.2657,1.85,-3.3414,1.8495,-3.2658,1.9406,-3.3408,1.9406,-3.1929,1.8498,-3.1924,1.7594,-3.265,1.632,-3.31,1.5393,-3.2644,1.5392,-3.2658,1.4649,-3.1929,1.5391,-3.1905,1.6311,-2.9182,1.659,-2.9182,1.5642,-2.8235,1.6589,-2.8378,1.5641,-2.8556,1.4715,-2.9096,1.4716,-2.8787,1.3971,-2.9182,1.7561,-2.823,1.756,-2.9184,1.873,-2.8222,1.8733,-2.7646,1.8737,-2.7646,1.756,-2.7612,1.6589,-2.7616,1.5644,-2.8082,1.564,-2.7621,1.4719,-2.794,1.4718,-2.7628,1.3971,-2.7355,1.4716,-2.7355,1.5631,-2.7357,1.6584,-2.7354,1.7559,-2.5947,1.7557,-2.6085,1.6575,-2.5743,1.6576,-2.6048,1.5634,-2.5769,1.5626,-2.5911,1.4713,-2.534,1.6584,-2.5034,1.6579,-2.5164,1.7558,-2.4995,1.5624,-2.5302,1.5629,-2.5194,1.4714,-2.7505,1.8737,-2.9118,-0.071953,-2.9117,-0.18036,-2.823,-0.18044,-3.1743,-0.00921,-3.2318,-0.093788,-3.1465,-0.093383,-3.2314,-0.009239,-3.7848,-0.009281,-3.8277,-0.094342,-3.7725,-0.094779,-3.826,-0.00924,-4.1649,0.00183,-4.1978,-0.094306,-4.1378,-0.094188,-4.1971,-0.17673,-3.826,-0.17657,-2.8222,-0.071636,-2.7646,-0.071301,-2.7646,-0.18044,-2.7505,-0.071301,-2.7354,-0.18053,-2.7357,-0.27094,-2.7612,-0.27051,-2.7621,-0.44394,-2.7355,-0.4442,-2.7628,-0.5133,-2.817,-0.44235,-2.8235,-0.27051,-2.9117,-0.27037,-3.1741,-0.17701,-3.1145,-0.17726,-3.2334,-0.17702,-3.782,-0.17672,-3.7465,-0.17686,-3.7883,-0.29146,-3.7423,-0.29284,-3.2331,-0.29533,-3.1737,-0.29547,-3.1131,-0.29628,-2.9117,-0.35833,-2.8378,-0.35846,-2.8721,-0.51327,-3.1332,-0.38157,-3.1732,-0.38152,-3.2248,-0.38139,-3.1743,-0.45046,-3.752,-0.38117,-3.7892,-0.38111,-3.8253,-0.38105,-3.827,-0.2916,-4.1964,-0.29135,-4.139,-0.17676,-4.1382,-0.29155,-4.1837,-0.38085,-4.1468,-0.38086,-4.1691,-0.45036,-3.8095,-0.45032,-3.7706,-0.45032,-3.1279,-0.38158,-1.7187,-3.4155,-1.6584,-3.4155,-1.719,-3.3379,-1.7186,-3.481,-1.7748,-3.4878,-1.7936,-3.4222,-1.8219,-3.4878,-1.8218,-3.4222,-1.8795,-3.4878,-1.88,-3.4222,-1.8218,-3.3443,-1.8815,-3.3444,-1.8808,-3.2536,-1.8213,-3.2536,-1.6578,-3.3379,-1.6596,-3.2531,-1.5949,-3.4155,-1.5949,-3.4811,-1.6578,-3.4811,-1.7188,-3.566,-1.7746,-3.5728,-1.8244,-3.5728,-1.8784,-3.5727,-2.4982,-3.5726,-2.4971,-3.4877,-2.6149,-3.4877,-2.6144,-3.4221,-2.4964,-3.4221,-2.4978,-3.3448,-2.6141,-3.3449,-2.6122,-3.2536,-2.696,-3.2536,-2.6954,-3.1113,-2.6154,-3.1113,-1.8525,-3.1113,-1.5951,-3.253,-1.6175,-3.1115,-1.595,-3.3375,-3.6348,-2.3916,-3.5748,-2.3915,-3.6018,-2.3028,-3.6341,-2.4677,-3.5759,-2.4677,-3.6333,-2.5735,-1.6563,-3.566,-1.595,-3.5661,-1.7187,-3.6392,-1.6578,-3.6394,-1.616,-3.6394,-1.6563,-3.7174,-3.5752,-2.5737,-3.6331,-2.6562,-3.5768,-2.6562,-3.606,-2.7204,-4.0939,-2.4675,-4.0952,-2.5738,-4.0444,-2.5736,-4.0729,-2.6564,-4.0455,-2.6564,-4.0493,-2.7203,-3.9967,-2.6565,-3.9839,-2.5749,-4.0362,-2.4677,-4.0355,-2.3923,-4.0961,-2.3916,-4.0398,-2.313,-4.0116,-2.3917,-3.9895,-2.4678,-3.5412,-2.4679,-3.5407,-2.5772,-3.4633,-2.4679,-3.4627,-2.5773,-3.5299,-2.6567,-3.462,-2.6568,-3.4635,-2.7205,-3.3905,-2.6569,-3.3881,-2.5781,-3.3901,-2.4682,-3.4633,-2.3906,-3.5391,-2.3911,-3.4635,-2.313,-3.3906,-2.3908,-2.9182,-2.471,-2.9182,-2.5542,-2.8235,-2.5543,-2.9182,-2.6354,-2.8378,-2.6355,-2.8556,-2.7148,-2.9096,-2.7147,-2.8787,-2.7785,-2.8082,-2.6356,-2.7616,-2.6352,-2.7621,-2.7144,-2.794,-2.7145,-2.7628,-2.7785,-2.7355,-2.7147,-2.7355,-2.6363,-2.7612,-2.5543,-2.7357,-2.5547,-2.7646,-2.4711,-2.7354,-2.4712,-2.5947,-2.4714,-2.6085,-2.5555,-2.5743,-2.5554,-2.6048,-2.6361,-2.5769,-2.6367,-2.5911,-2.715,-2.534,-2.5547,-2.5034,-2.5551,-2.5164,-2.4713,-2.4995,-2.6369,-2.5302,-2.6365,-2.5194,-2.7149,-1.9386,-2.5482,-1.8771,-2.4788,-1.9388,-2.4788,-1.8769,-2.5482,-1.9388,-2.6159,-1.8768,-2.6157,-1.9384,-2.6563,-1.8767,-2.6562,-1.9382,-2.681,-1.8767,-2.681,-1.8763,-2.7336,-1.829,-2.6809,-1.8253,-2.6554,-1.8197,-2.6161,-1.8077,-2.5484,-1.7868,-2.6805,-1.7167,-2.5488,-1.7172,-2.6804,-1.7352,-2.7004,-1.7769,-2.7047,-1.7651,-2.7336,-1.7158,-2.4789,-0.98584,0.40061,-0.89447,0.40053,-0.98587,0.48549,-0.89504,0.30964,-0.9858,0.30974,-0.8948,0.21507,-0.98541,0.21699,-0.94338,0.14261,-0.83849,0.40059,-0.83665,0.30973,-0.79859,0.4006,-0.79849,0.30978,-0.79864,0.21801,-0.75845,0.30973,-0.75774,0.40053,-0.66257,0.40045,-0.6626,0.30961,-0.59992,0.40045,-0.60013,0.30963,-0.6004,0.21455,-0.52117,0.30956,-0.52021,0.40043,-0.52048,0.48562,-0.59966,0.48555,-0.5207,0.58417,0.031395,0.36519,0.072822,0.48898,0.031355,0.48903,0.072825,0.36536,0.031573,0.25168,0.056998,0.25328,0.054325,0.20277,0.12584,0.48898,0.12483,0.3651,0.072739,0.25428,0.12614,0.25316,0.072739,0.21454,0.10284,0.2139,0.072739,0.16318,0.16822,0.36464,0.18748,0.48893,0.16794,0.48899,0.18731,0.36439,0.16818,0.25507,0.19018,0.25516,0.18878,0.21279,0.21299,0.48884,0.21259,0.36406,0.21218,0.25526,0.21305,0.16299,0.26449,0.25499,0.26453,0.36425,0.26455,0.4889,0.21338,0.65682,0.1677,0.65684,0.21406,0.87581,0.12649,0.87438,0.075171,0.87402,0.12602,0.65686,0.072739,1.04,0.032381,0.87347,-0.59783,0.91732,-0.66247,0.84591,-0.5984,0.84515,-0.66254,0.91758,-0.98572,0.91895,-0.89371,0.84509,-0.89428,0.91827,-0.98579,0.84436,-1.716,-2.1024,-1.8066,-2.1824,-1.7148,-2.1834,-1.8068,-2.1035,-1.8805,-2.182,-1.8806,-2.1037,-2.7658,-2.1105,-2.8226,-2.1893,-2.7651,-2.1904,-2.8233,-2.1105,-2.9182,-2.191,-2.9182,-2.1119,-3.5369,-2.1909,-3.4658,-2.1206,-3.4955,-2.0584,-3.4639,-2.1962,-3.5385,-2.313,-2.9182,-2.3232,-2.9184,-2.3709,-2.8221,-2.3226,-2.8222,-2.3706,-2.823,-2.4711,-2.7646,-2.3703,-2.7505,-2.3703,-1.9393,-2.3956,-1.877,-2.3957,-1.8075,-2.3957,-1.8079,-2.4788,-1.7168,-2.3953,-0.98599,0.58453,-0.89445,0.48554,-0.79862,0.48559,-0.83858,0.48563,-0.75847,0.48569,-0.66256,0.48559,-0.59928,0.58437,-0.66246,0.58449,-0.66249,0.67021,-0.986,0.66987,-0.89463,0.58452,-0.89398,0.67029,-1.716,-2.318,-1.8074,-2.3168,-1.8805,-2.3169,-1.9064,-2.3169,-2.7648,-2.3236,-0.59914,0.67032,-0.52118,0.67086,0.032427,0.65684,0.075171,0.65684,-0.79876,0.58445,-4.0939,-2.313,-4.0554,-2.1023,-2.9268,-3.2536,-2.8416,-3.1111,-2.9267,-3.1111,-2.841,-3.2536,-2.9263,-3.3456,-2.8399,-3.3456,-2.6973,-3.3449,-2.6982,-3.4221,-2.9262,-3.4221,-2.8394,-3.4221,-3.464,-3.3116,-3.4925,-3.3886,-3.418,-3.3886,-3.6244,-3.3114,-3.6719,-3.3887,-3.624,-3.3887,-3.6721,-3.3114,-3.6248,-3.251,-3.6713,-3.251,-3.6247,-3.1121,-3.6712,-3.1121,-3.8389,-3.2467,-3.8394,-3.1136,-3.9073,-3.2467,-3.9073,-3.1136,-0.56505,-0.17544,-0.56517,-0.033588,-0.61349,-0.17557,-0.61353,-0.031376,-0.67271,-0.17512,-0.6727,-0.036608,0.72759,0.87565,0.66172,0.99858,0.66206,0.87425,0.61316,0.87386,0.92747,0.97662,0.86223,0.97518,0.86336,0.82983,0.8619,0.82938,0.86192,0.97789,0.81303,0.90527,0.81323,0.65678,0.8618,0.65682,0.81356,0.51442,0.86209,0.51437,0.83778,0.37086,0.92752,0.82977,0.86896,0.65681,0.92778,0.6568,0.92782,0.51446,0.89534,0.3713,0.61337,0.65678,0.40334,0.65689,0.35803,0.87558,0.35805,0.65689,0.30958,0.65686,0.26453,0.65676,0.3095,0.4885,0.32819,0.48849,0.30948,0.36372,0.33374,0.3638,0.30955,0.25296,0.33805,0.25305,0.32983,0.21526,0.35799,0.36388,0.35796,0.25311,0.35789,0.16308,0.40338,0.25351,0.40333,0.36413,0.4033,0.48866,0.35812,0.48848,0.4686,0.65662,0.45764,0.4883,0.48718,0.48849,0.46296,0.36334,0.49796,0.3637,0.47209,0.2551,0.49669,0.25444,0.49303,0.16359,0.66223,0.51437,0.6137,0.51442,0.61296,0.37037,0.66193,0.65682,0.72791,0.6568,-0.7417,-0.29614,-0.78554,-0.17477,-0.816,-0.29475,-0.61374,-0.2981,-0.67271,-0.29614,-0.56448,-0.29879,-3.9074,-3.325,-3.8357,-3.325,-3.9079,-3.3906,-0.56424,-0.41626,-0.61413,-0.41628,-0.67274,-0.41626,-0.74148,-0.41626,-0.81591,-0.41625,0.72796,0.51446,0.66286,0.37135,0.61237,0.24702,0.66245,0.24477,0.66258,0.13852,0.70324,0.24497,0.7281,0.37124,-0.81583,-0.57837,-0.74141,-0.57707,-0.7422,-0.70727,-0.8158,-0.7071,-0.78145,-0.78969,-0.61407,-0.57618,-0.67275,-0.57707,-0.67273,-0.70755,-0.56452,-0.57631,-0.6136,-0.70776,-0.61356,-0.79184,-0.56575,-0.70766,-3.8323,-3.4756,-3.9072,-3.4756,-3.9072,-3.5483,-3.8325,-3.3905,-3.6723,-3.4542,-3.6244,-3.4542,-3.6307,-3.5391,-3.6723,-3.5391,-3.6336,-3.6118,-3.6727,-3.6121,-3.6386,-3.6575,-3.5617,-3.4542,-3.5632,-3.5391,-3.6245,-3.5391,-3.5947,-3.6118,-3.4908,-3.4542,-3.4175,-3.4542,-3.4173,-3.6124,-3.4896,-3.6123,-3.437,-3.6898,-2.926,-3.4877,-2.8388,-3.4877,-2.6979,-3.4877,-2.6978,-3.5725,-2.6173,-3.5725,-2.5003,-3.6454,-2.6173,-3.6451,-2.6831,-3.6453,-2.6168,-3.7259,-2.9258,-3.5726,-2.839,-3.5726,-2.9258,-3.6457,-2.8395,-3.6459,-2.8933,-3.7243,-3.8347,-3.5482,-3.8771,-3.6267,-1.8642,-3.6461,-1.8258,-3.6463,-1.7746,-3.6463,-1.8257,-3.7244,0.31178,1.6521,0.32932,1.8548,0.27374,1.6521,0.36963,1.8574,0.35874,1.6521,0.30692,1.573,0.28193,1.573,0.30633,1.4643,0.34358,1.573,0.36963,1.9914,0.24946,1.8574,0.25038,1.9914,0.2164,1.8548,0.15806,1.9914,0.15919,1.8574,-1.842,1.7928,-1.8415,1.9395,-1.7937,1.9458,-1.7982,1.7894,-1.7791,1.7909,-1.7293,1.7852,-1.7183,1.9451,-1.2822,1.9453,-1.2382,1.7936,-1.2988,1.7936,-1.2547,1.9453,-1.1903,1.7907,-1.2436,1.7936,-1.1893,1.9453,-1.1908,1.5634,-1.2427,1.5634,-1.2385,1.4538,-1.2004,1.4538,-1.2189,1.3325,-1.2168,1.5634,-1.2319,1.4127,-1.2071,1.4098,-1.1774,1.5577,-1.2669,1.5591,-1.3565,1.5606,-1.7302,1.5578,-1.8032,1.5675,-1.7996,1.4652,-1.7306,1.4623,-1.756,1.3369,-1.842,1.5681,-1.8354,1.4655,-1.8161,1.3485,0.20571,1.6521,0.24438,1.6521,0.20992,1.5707,0.15847,1.6521,0.15972,1.5697,0.21324,1.4644,0.24535,1.5707,0.19851,1.8602,0.15235,1.9915,0.15235,1.8602,0.26669,1.8602,0.24825,1.6549,0.21021,1.6549,0.16325,1.6549,0.21507,1.5758,0.24006,1.5758,0.21566,1.4643,0.17841,1.5758,0.26885,1.6575,0.3046,1.6549,0.31207,1.5735,0.27664,1.5735,0.30875,1.4644,0.36227,1.5724,0.36352,1.6549,0.3628,1.8602,0.2939,1.8602,0.26577,1.9915,0.36393,1.9915,-1.2509,1.5589,-1.2083,1.5634,-1.2109,1.4538,0.98427,0.36612,0.98766,0.37839,0.98254,0.37239,0.99375,0.37733,0.69735,0.40119,0.70049,0.38856,0.7068,0.39268,0.70432,0.40048,0.72662,0.39458,0.72227,0.40825,0.7235,0.41075,0.72931,0.39297,0.72164,0.38511,0.96186,0.37299,0.96446,0.38465,0.95971,0.37339,0.96203,0.38554,0.93991,0.38859,0.9501,0.41455,0.9694,0.39619,0.97118,0.39447,0.97997,0.39952,0.71715,0.41562,0.71972,0.41591,0.97848,0.40163,0.96105,0.42359,0.94521,0.4377,0.93441,0.4286,0.93139,0.44635,0.92069,0.4382,0.92757,0.45278,0.91698,0.44664,0.91454,0.46993,0.9013,0.46888,0.90389,0.44456,0.89255,0.44364,0.89008,0.46843,0.87642,0.46761,0.8786,0.442,0.86465,0.441,0.86317,0.4671,0.87424,0.49322,0.8617,0.49322,0.85158,0.46676,0.85125,0.49321,0.84192,0.46675,0.84342,0.49321,0.82719,0.46675,0.82938,0.49321,0.8134,0.49321,0.81005,0.46798,0.79215,0.49321,0.78883,0.47062,0.77782,0.49321,0.77452,0.47534,0.9121,0.49322,0.92625,0.473,0.92492,0.49322,0.89871,0.49322,0.88761,0.49322,0.77122,0.45746,0.78551,0.44802,0.76272,0.45186,0.77895,0.44216,0.75314,0.44772,0.76709,0.43378,0.73886,0.4347,0.74776,0.42056,0.75304,0.3944,0.72454,0.38401,0.73233,0.38008,0.95021,0.37375,0.95319,0.35973,0.94432,0.35946,0.91055,0.39598,0.92056,0.35419,0.8958,0.39233,0.89775,0.35162,0.88167,0.39226,0.87715,0.35217,0.86175,0.38642,0.85646,0.35431,0.84932,0.38509,0.86539,0.42765,0.85164,0.42663,0.85192,0.44031,0.84043,0.44028,0.83878,0.42727,0.825,0.4403,0.87986,0.43047,0.89514,0.42807,0.90639,0.43487,0.91983,0.41211,0.80669,0.44275,0.80488,0.43289,0.77334,0.40091,0.77728,0.36449,0.758,0.37006,0.74473,0.36942,0.74384,0.34428,0.95291,0.33265,0.96049,0.33358,0.93872,0.3265,0.95363,0.33032,0.93995,0.32427,0.93154,0.32313,0.92402,0.34095,0.91858,0.32449,0.9046,0.32148,0.9186,0.32207,0.90509,0.31901,0.89843,0.3202,0.89681,0.33211,0.88975,0.32316,0.87771,0.32584,0.88909,0.32066,0.87756,0.32331,0.8708,0.32521,0.8732,0.33991,0.86346,0.33514,0.8514,0.33846,0.86168,0.33258,0.85062,0.33618,0.84174,0.33976,0.84529,0.35621,0.8352,0.38749,0.83231,0.35796,0.81629,0.39324,0.82285,0.42854,0.79797,0.39757,0.79716,0.36112,0.77407,0.33424,0.77033,0.33395,0.77669,0.36119,0.76449,0.33629,0.76784,0.33478,0.7496,0.3427,0.74925,0.34014,0.74199,0.34236,0.9611,0.33124,0.9604,0.30774,0.94913,0.30382,0.96106,0.30535,0.95012,0.30152,0.94268,0.30105,0.93248,0.32113,0.76785,0.3319,0.76254,0.33437,0.74196,0.31842,0.73721,0.31936,0.96638,0.3091,0.96686,0.30664,0.96613,0.28535,0.97057,0.28273,0.95643,0.2776,0.74433,0.29314,0.73168,0.29327,0.74541,0.28764,0.73678,0.29612,0.75279,0.31221,0.75827,0.30861,0.75477,0.31384,0.75845,0.31155,0.94393,0.29877,0.95795,0.28234,0.74224,0.31589,0.73569,0.31706,0.92611,0.32561,0.92628,0.32358,0.92046,0.29841,0.90881,0.29692,0.92063,0.29594,0.90925,0.2945,0.90203,0.29549,0.89868,0.31839,0.79103,0.32907,0.78797,0.33017,0.79108,0.32632,0.78676,0.32792,0.77408,0.33173,0.76949,0.33134,0.76605,0.30752,0.92758,0.29914,0.92752,0.29647,0.92178,0.27467,0.92513,0.27028,0.9108,0.26886,0.7756,0.28352,0.76222,0.28138,0.77999,0.27804,0.76866,0.2849,0.78106,0.30373,0.77051,0.30483,0.77028,0.30813,0.78238,0.30575,0.78597,0.30123,0.78582,0.3041,0.76517,0.30495,0.90265,0.29291,0.91324,0.27415,0.8947,0.32079,0.89435,0.31899,0.884,0.29923,0.87444,0.30112,0.88333,0.29685,0.87416,0.29867,0.87267,0.2811,0.86828,0.27736,0.86628,0.29879,0.86638,0.30131,0.87046,0.32328,0.81693,0.33124,0.81329,0.33233,0.81791,0.32879,0.81566,0.36204,0.79816,0.33293,0.82311,0.33907,0.82052,0.33637,0.81688,0.34941,0.86774,0.32979,0.86668,0.32796,0.85326,0.31737,0.8453,0.32154,0.8387,0.3222,0.84128,0.33737,0.832,0.33929,0.83203,0.33678,0.82432,0.33699,0.82031,0.33352,0.82245,0.31884,0.85845,0.31445,0.85706,0.31241,0.85208,0.31519,0.84447,0.3192,0.8383,0.31969,0.83261,0.32169,0.82508,0.32035,0.82549,0.31848,0.82208,0.31614,0.82514,0.29757,0.84474,0.30142,0.84488,0.29624,0.83926,0.30411,0.83518,0.29943,0.83261,0.31927,0.82772,0.30198,0.83186,0.30248,0.79418,0.33259,0.79886,0.33052,0.79335,0.32997,0.79343,0.30736,0.89003,0.29774,0.88926,0.29532,0.87792,0.28015,0.88087,0.27583,0.80797,0.28806,0.79566,0.28423,0.81083,0.2829,0.80132,0.28832,0.81007,0.30579,0.79941,0.30614,0.79824,0.30837,0.81119,0.30789,0.81198,0.3302,0.81447,0.30668,0.81496,0.30383,0.79255,0.30458,-30.622,84.367,-29.315,81.513,-29.37,84.157,-30.795,84.644,-28.91,81.646,-29.467,84.518,30.793,86.366,29.464,86.244,29.039,83.993,0.99375,0.37733,0.98427,0.36612,0.98766,0.37839,0.69735,0.40119,0.7068,0.39268,0.70049,0.38856,0.70432,0.40048,0.72668,0.39525,0.72164,0.38511,0.72523,0.38533,0.72935,0.39303,0.72213,0.40852,0.71695,0.41558,0.72361,0.4106,0.71961,0.41606,0.74776,0.42056,0.73886,0.4347,0.9694,0.39619,0.96105,0.42359,0.97848,0.40163,0.9501,0.41455,0.94521,0.4377,0.93441,0.4286,0.91983,0.41211,0.93991,0.38859,0.96203,0.38554,0.96446,0.38465,0.97118,0.39447,0.97997,0.39952,0.98254,0.37239,0.96186,0.37299,0.95971,0.37339,0.95021,0.37375,0.75304,0.3944,0.73233,0.38008,0.76709,0.43378,0.77334,0.40091,0.77895,0.44216,0.80488,0.43289,0.79797,0.39757,0.82285,0.42854,0.81629,0.39324,0.83878,0.42727,0.8352,0.38749,0.84932,0.38509,0.84529,0.35621,0.83231,0.35796,0.84174,0.33976,0.832,0.33929,0.83203,0.33678,0.84128,0.33737,0.8387,0.3222,0.83261,0.32169,0.83261,0.31927,0.8383,0.31969,0.83518,0.29943,0.83186,0.30248,0.82514,0.29757,0.84474,0.30142,0.84488,0.29624,0.85706,0.31241,0.85208,0.31519,0.83926,0.30411,0.84447,0.3192,0.8453,0.32154,0.85062,0.33618,0.8514,0.33846,0.85646,0.35431,0.86175,0.38642,0.87715,0.35217,0.88167,0.39226,0.87986,0.43047,0.89514,0.42807,0.8786,0.442,0.89255,0.44364,0.87642,0.46761,0.89008,0.46843,0.87424,0.49322,0.88761,0.49322,0.89871,0.49322,0.9013,0.46888,0.91454,0.46993,0.9121,0.49322,0.92625,0.473,0.92492,0.49322,0.77782,0.49321,0.78883,0.47062,0.77452,0.47534,0.79215,0.49321,0.81005,0.46798,0.8134,0.49321,0.82719,0.46675,0.82938,0.49321,0.84342,0.49321,0.84192,0.46675,0.85125,0.49321,0.85158,0.46676,0.8617,0.49322,0.86317,0.4671,0.86465,0.441,0.86539,0.42765,0.85164,0.42663,0.84043,0.44028,0.825,0.4403,0.80669,0.44275,0.78551,0.44802,0.76272,0.45186,0.77122,0.45746,0.92069,0.4382,0.92757,0.45278,0.93139,0.44635,0.91698,0.44664,0.90639,0.43487,0.75314,0.44772,0.91055,0.39598,0.94432,0.35946,0.95319,0.35973,0.758,0.37006,0.74473,0.36942,0.77728,0.36449,0.79716,0.36112,0.81566,0.36204,0.82336,0.33915,0.82432,0.33699,0.82549,0.32039,0.82599,0.31827,0.82772,0.30198,0.82208,0.31614,0.82273,0.3188,0.85845,0.31445,0.85326,0.31737,0.86168,0.33258,0.86668,0.32796,0.86774,0.32979,0.86346,0.33514,0.8732,0.33991,0.8708,0.32521,0.87771,0.32584,0.87046,0.32328,0.87756,0.32331,0.86638,0.30131,0.81455,0.30665,0.81198,0.3302,0.81791,0.32879,0.81111,0.30792,0.81007,0.30579,0.81496,0.30383,0.81083,0.2829,0.80797,0.28806,0.79566,0.28423,0.80132,0.28832,0.79941,0.30614,0.79838,0.3084,0.79886,0.33052,0.81322,0.33235,0.817,0.33122,0.7983,0.33294,0.79335,0.32997,0.79404,0.33258,0.88909,0.32066,0.8947,0.32079,0.89435,0.31899,0.88975,0.32316,0.89775,0.35162,0.89681,0.33211,0.89843,0.3202,0.9046,0.32148,0.89868,0.31839,0.90509,0.31901,0.90203,0.29549,0.78592,0.30405,0.78676,0.32792,0.79108,0.32632,0.78228,0.3058,0.78106,0.30373,0.78597,0.30123,0.77999,0.27804,0.7756,0.28352,0.76222,0.28138,0.76866,0.2849,0.77051,0.30578,0.77044,0.30816,0.77408,0.33173,0.78787,0.33021,0.79113,0.32904,0.77423,0.33425,0.76949,0.33134,0.77017,0.33394,0.9186,0.32207,0.92611,0.32561,0.92628,0.32358,0.91858,0.32449,0.92056,0.35419,0.92402,0.34095,0.93154,0.32313,0.76793,0.33475,0.77669,0.36119,0.76441,0.33633,0.76254,0.33437,0.76785,0.3319,0.75853,0.3115,0.75468,0.3139,0.75279,0.31221,0.75812,0.30891,0.74541,0.28764,0.74433,0.29314,0.73168,0.29327,0.73678,0.29612,0.74224,0.31589,0.7421,0.31839,0.75034,0.33996,0.74974,0.34266,0.74369,0.34432,0.95291,0.33265,0.96049,0.33358,0.93872,0.3265,0.93995,0.32427,0.95363,0.33032,0.9611,0.33124,0.74199,0.34236,0.73706,0.31939,0.9604,0.30774,0.96638,0.3091,0.94913,0.30382,0.95012,0.30152,0.96106,0.30535,0.96686,0.30664,0.73569,0.31706,0.96613,0.28535,0.97057,0.28273,0.95795,0.28234,0.95643,0.2776,0.94393,0.29877,0.94268,0.30105,0.93248,0.32113,0.8958,0.39233,0.90389,0.44456,0.85192,0.44031,0.90881,0.29692,0.92046,0.29841,0.92758,0.29914,0.76588,0.3075,0.76517,0.30495,0.92063,0.29594,0.92752,0.29647,0.90925,0.2945,0.91324,0.27415,0.92178,0.27467,0.92513,0.27028,0.9108,0.26886,0.90265,0.29291,0.79672,0.35718,0.87444,0.30112,0.884,0.29923,0.89003,0.29774,0.79329,0.30733,0.79349,0.3048,0.88333,0.29685,0.88926,0.29532,0.87416,0.29867,0.87267,0.2811,0.87792,0.28015,0.88087,0.27583,0.86828,0.27736,0.86628,0.29879,0.81688,0.34941,0.82063,0.33629,0.82031,0.33352,-22.077,54.249,-21.651,57.049,-22.844,57.488,-21.724,54.576,-21.731,56.823,-22.996,57.243]], "faces": [42,0,1,2,0,0,1,2,0,1,2,42,0,3,1,0,0,3,1,0,3,1,42,3,0,4,0,3,0,4,3,0,4,42,10,9,7,0,5,6,7,5,6,7,42,10,11,9,0,5,8,6,5,8,6,42,10,12,11,0,5,9,8,5,9,8,42,12,10,13,0,9,5,10,9,5,10,42,13,10,14,0,10,5,11,10,5,11,42,10,7,14,0,5,7,11,5,7,11,42,7,15,14,0,7,12,11,7,12,11,42,15,7,4,0,12,7,13,12,7,4,42,4,0,15,0,4,0,14,4,0,12,42,15,0,16,0,14,0,15,12,0,13,42,0,2,16,0,0,2,15,0,2,13,42,2,17,16,0,2,16,15,2,14,13,42,2,18,17,0,2,17,16,2,15,14,42,2,19,18,0,2,18,17,2,16,15,42,1,19,2,0,1,18,2,1,16,2,42,56,55,11,0,19,20,21,17,18,8,42,56,57,55,0,19,22,20,17,19,18,42,56,58,57,0,19,23,22,17,20,19,42,56,59,58,0,19,24,23,17,21,20,42,12,59,56,0,25,24,19,9,21,17,42,12,60,59,0,25,26,24,9,22,21,42,12,13,60,0,9,10,27,9,10,22,42,61,60,13,0,28,27,10,23,22,10,42,61,62,60,0,28,29,27,23,24,22,42,61,63,62,0,28,30,29,23,25,24,42,63,61,64,0,30,28,31,25,23,26,42,64,61,65,0,31,28,32,26,23,27,42,65,61,13,0,32,28,10,27,23,10,42,65,13,66,0,32,10,33,27,10,28,42,13,14,66,0,10,11,33,10,11,28,42,66,14,67,0,33,11,34,28,11,29,42,14,15,67,0,11,12,34,11,12,29,42,67,15,16,0,35,14,15,29,12,13,42,67,16,68,0,36,37,38,29,13,30,42,69,68,16,0,39,38,37,31,30,13,42,70,68,69,0,40,38,39,32,30,31,42,70,65,68,0,41,32,42,32,27,30,42,64,65,70,0,31,32,41,26,27,32,42,64,70,71,0,31,41,43,26,32,33,42,70,69,71,0,40,39,44,32,31,33,42,72,71,69,0,45,44,39,34,33,31,42,73,71,72,0,46,43,47,35,33,34,42,73,74,71,0,46,48,43,35,36,33,42,74,73,75,0,48,46,49,36,35,37,42,73,76,75,0,46,50,49,35,38,37,42,77,76,73,0,51,50,46,39,38,35,42,76,77,78,0,50,51,52,38,39,40,42,77,79,78,0,51,53,52,39,41,40,42,79,77,80,0,53,51,54,41,39,42,42,77,72,80,0,51,47,54,39,34,42,42,77,73,72,0,51,46,47,39,35,34,42,80,72,81,0,55,45,56,42,34,43,42,72,69,81,0,45,39,56,34,31,43,42,69,82,81,0,39,57,56,31,44,43,42,69,17,82,0,39,58,57,31,14,44,42,69,16,17,0,39,37,58,31,13,14,42,17,83,82,0,58,59,57,14,45,44,42,17,84,83,0,58,60,59,14,46,45,42,17,85,84,0,58,61,60,14,47,46,42,17,86,85,0,58,62,61,14,48,47,42,18,86,17,0,17,63,16,15,48,14,42,18,87,86,0,17,64,63,15,49,48,42,88,87,18,0,65,64,17,50,49,15,42,88,89,87,0,65,66,64,50,51,49,42,90,89,88,0,67,66,65,52,51,50,42,91,89,90,0,68,66,67,53,51,52,42,92,89,91,0,69,66,68,54,51,53,42,92,93,89,0,70,71,72,54,55,51,42,94,93,92,0,73,74,75,56,55,54,42,94,95,93,0,73,76,74,56,57,55,42,59,95,94,0,24,76,73,21,57,56,42,96,95,59,0,77,76,24,58,57,21,42,96,97,95,0,77,78,76,58,59,57,42,96,98,97,0,77,79,78,58,60,59,42,96,62,98,0,77,80,79,58,24,60,42,62,96,60,0,80,77,26,24,58,22,42,60,96,59,0,26,77,24,22,58,21,42,62,99,98,0,80,81,79,24,61,60,42,62,63,99,0,29,30,82,24,25,61,42,63,100,99,0,30,83,82,25,62,61,42,100,63,74,0,83,30,48,62,25,36,42,63,64,74,0,30,31,48,25,26,36,42,74,64,71,0,48,31,43,36,26,33,42,75,100,74,0,49,83,48,37,62,36,42,100,75,101,0,83,49,84,62,37,63,42,101,75,102,0,84,49,85,63,37,64,42,75,76,102,0,49,50,85,37,38,64,42,76,103,102,0,50,86,85,38,65,64,42,76,78,103,0,50,52,86,38,40,65,42,103,78,104,0,86,52,87,65,40,66,42,104,78,105,0,87,52,88,66,40,67,42,78,106,105,0,52,89,88,40,68,67,42,78,79,106,0,52,53,89,40,41,68,42,79,107,106,0,90,91,92,41,69,68,42,107,79,108,0,91,90,93,69,41,70,42,79,109,108,0,90,94,93,41,71,70,42,109,79,80,0,95,53,54,71,41,42,42,109,80,110,0,96,55,97,71,42,72,42,80,81,110,0,55,56,97,42,43,72,42,81,111,110,0,56,98,97,43,73,72,42,81,82,111,0,56,57,98,43,44,73,42,82,112,111,0,57,99,98,44,74,73,42,82,83,112,0,57,59,99,44,45,74,42,112,83,113,0,99,59,100,74,45,75,42,83,114,113,0,59,101,100,45,76,75,42,83,115,114,0,59,102,101,45,77,76,42,83,84,115,0,59,60,102,45,46,77,42,84,116,115,0,60,103,102,46,78,77,42,85,116,84,0,61,103,60,47,78,46,42,85,117,116,0,61,104,103,47,79,78,42,87,117,85,0,105,104,61,49,79,47,42,87,118,117,0,105,106,104,49,80,79,42,87,119,118,0,105,107,106,49,81,80,42,87,120,119,0,105,108,107,49,82,81,42,89,120,87,0,72,108,105,51,82,49,42,93,120,89,0,71,108,72,55,82,51,42,93,121,120,0,71,109,108,55,83,82,42,95,121,93,0,76,110,74,57,83,55,42,95,97,121,0,76,78,110,57,59,83,42,97,122,121,0,78,111,110,59,84,83,42,123,122,97,0,112,111,78,85,84,59,42,123,124,122,0,112,113,111,85,86,84,42,123,125,124,0,112,114,113,85,87,86,42,123,126,125,0,112,115,114,85,88,87,42,98,126,123,0,79,115,112,60,88,85,42,99,126,98,0,81,115,79,61,88,60,42,99,127,126,0,81,116,115,61,89,88,42,99,100,127,0,82,83,117,61,62,89,42,100,101,127,0,83,84,117,62,63,89,42,127,101,128,0,117,84,118,89,63,90,42,101,129,128,0,84,119,118,63,91,90,42,101,102,129,0,84,85,119,63,64,91,42,102,130,129,0,85,120,119,64,92,91,42,102,131,130,0,85,121,120,64,93,92,42,103,131,102,0,86,121,85,65,93,64,42,103,132,131,0,86,122,121,65,94,93,42,103,104,132,0,86,87,122,65,66,94,42,104,133,132,0,87,123,122,66,95,94,42,104,105,133,0,87,88,123,66,67,95,42,105,134,133,0,124,125,126,67,96,95,42,106,134,105,0,92,125,124,68,96,67,42,106,135,134,0,92,127,125,68,97,96,42,106,107,135,0,92,91,127,68,69,97,42,135,107,136,0,127,91,128,97,69,98,42,136,107,137,0,128,91,129,98,69,99,42,107,108,137,0,91,93,129,69,70,99,42,137,108,138,0,129,93,130,99,70,100,42,108,139,138,0,93,131,130,70,101,100,42,108,109,139,0,93,94,131,70,71,101,42,109,140,139,0,94,132,131,71,102,101,42,109,110,140,0,96,97,133,71,72,102,42,110,141,140,0,97,134,133,72,103,102,42,110,142,141,0,97,135,134,72,104,103,42,110,111,142,0,97,98,135,72,73,104,42,111,143,142,0,98,136,135,73,105,104,42,111,112,143,0,98,99,136,73,74,105,42,143,112,144,0,136,99,137,105,74,106,42,112,113,144,0,99,100,137,74,75,106,42,144,113,145,0,137,100,138,106,75,107,42,113,146,145,0,100,139,138,75,108,107,42,113,114,146,0,100,101,139,75,76,108,42,114,147,146,0,101,140,139,76,109,108,42,114,115,147,0,101,102,140,76,77,109,42,115,148,147,0,102,141,140,77,110,109,42,115,149,148,0,102,142,141,77,111,110,42,116,149,115,0,103,142,102,78,111,77,42,116,150,149,0,103,143,142,78,112,111,42,117,150,116,0,104,143,103,79,112,78,42,118,150,117,0,106,143,104,80,112,79,42,118,151,150,0,106,144,143,80,113,112,42,118,151,152,0,145,146,147,80,113,114,42,153,151,118,0,148,144,106,115,113,80,42,153,154,151,0,148,149,144,115,116,113,42,155,154,153,0,150,149,148,117,116,115,42,155,156,154,0,150,151,149,117,118,116,42,157,156,155,0,152,151,150,119,118,117,42,157,158,156,0,152,153,151,119,120,118,42,159,158,157,0,154,153,152,121,120,119,42,159,160,158,0,154,155,153,121,122,120,42,161,160,159,0,156,155,154,123,122,121,42,161,162,160,0,156,157,155,123,124,122,42,161,163,162,0,156,158,157,123,125,124,42,161,164,163,0,156,159,158,123,126,125,42,165,164,161,0,160,159,156,127,126,123,42,165,166,164,0,160,161,159,127,128,126,42,167,166,165,0,162,161,160,129,128,127,42,167,168,166,0,162,163,161,129,130,128,42,169,168,167,0,164,163,162,131,130,129,42,169,170,168,0,164,165,163,131,132,130,42,171,170,169,0,166,165,164,133,132,131,42,128,170,171,0,167,165,166,90,132,133,42,128,172,170,0,167,168,165,90,134,132,42,128,129,172,0,118,119,169,90,91,134,42,129,173,172,0,119,170,169,91,135,134,42,129,130,173,0,119,120,170,91,92,135,42,130,174,173,0,120,171,170,92,136,135,42,130,175,174,0,120,172,171,92,137,136,42,130,131,175,0,120,121,172,92,93,137,42,131,176,175,0,121,173,172,93,138,137,42,131,132,176,0,121,122,173,93,94,138,42,132,177,176,0,122,174,173,94,139,138,42,132,133,177,0,122,123,174,94,95,139,42,133,178,177,0,123,175,174,95,140,139,42,133,179,178,0,126,176,177,95,141,140,42,134,179,133,0,125,176,126,96,141,95,42,180,179,134,0,178,176,125,142,141,96,42,179,180,181,0,176,178,179,141,142,143,42,180,182,181,0,178,180,179,142,144,143,42,180,183,182,0,178,181,180,142,145,144,42,184,183,180,0,182,181,178,146,145,142,42,183,184,185,0,181,182,183,145,146,147,42,184,136,185,0,182,128,183,146,98,147,42,184,135,136,0,182,127,128,146,97,98,42,135,184,134,0,127,182,125,97,146,96,42,134,184,180,0,125,182,178,96,146,142,42,185,136,186,0,183,128,184,147,98,148,42,136,137,186,0,128,129,184,98,99,148,42,186,137,187,0,184,129,185,148,99,149,42,137,138,187,0,129,130,185,99,100,149,42,138,188,187,0,130,186,185,100,150,149,42,138,189,188,0,130,187,186,100,151,150,42,139,189,138,0,131,187,130,101,151,100,42,139,190,189,0,131,188,187,101,152,151,42,140,190,139,0,132,188,131,102,152,101,42,140,141,190,0,132,189,188,102,103,152,42,141,191,190,0,189,190,188,103,153,152,42,191,141,192,0,190,189,191,153,103,154,42,142,192,141,0,135,192,134,104,154,103,42,142,143,192,0,135,136,192,104,105,154,42,143,193,192,0,136,193,192,105,155,154,42,143,144,193,0,136,137,193,105,106,155,42,193,144,194,0,193,137,194,155,106,156,42,144,145,194,0,137,138,194,106,107,156,42,194,145,195,0,194,138,195,156,107,157,42,145,196,195,0,138,196,195,107,158,157,42,145,146,196,0,138,139,196,107,108,158,42,146,197,196,0,139,197,196,108,159,158,42,146,147,197,0,139,140,197,108,109,159,42,147,198,197,0,140,198,197,109,160,159,42,147,148,198,0,140,141,198,109,110,160,42,148,199,198,0,141,199,198,110,161,160,42,148,149,199,0,141,142,199,110,111,161,42,149,200,199,0,142,200,199,111,162,161,42,149,201,200,0,142,201,200,111,163,162,42,149,202,201,0,142,202,201,111,164,163,42,150,202,149,0,143,202,142,112,164,111,42,150,203,202,0,143,203,202,112,165,164,42,151,203,150,0,144,203,143,113,165,112,42,154,203,151,0,149,203,144,116,165,113,42,154,204,203,0,149,204,203,116,166,165,42,156,204,154,0,151,204,149,118,166,116,42,156,205,204,0,151,205,204,118,167,166,42,156,158,205,0,151,153,205,118,120,167,42,158,206,205,0,153,206,205,120,168,167,42,160,206,158,0,155,206,153,122,168,120,42,160,207,206,0,155,207,206,122,169,168,42,162,207,160,0,157,207,155,124,169,122,42,162,208,207,0,157,208,207,124,170,169,42,162,209,208,0,157,209,208,124,171,170,42,163,209,162,0,158,209,157,125,171,124,42,163,210,209,0,158,210,209,125,172,171,42,211,210,163,0,211,210,158,173,172,125,42,211,212,210,0,211,212,210,173,174,172,42,213,212,211,0,213,212,211,175,174,173,42,214,212,213,0,214,212,213,176,174,175,42,214,215,212,0,214,215,212,176,177,174,42,216,215,214,0,216,215,214,178,177,176,42,216,217,215,0,216,217,215,178,179,177,42,216,218,217,0,218,219,220,178,180,179,42,219,218,216,0,221,219,218,181,180,178,42,219,220,218,0,221,222,219,181,182,180,42,221,220,219,0,223,222,221,183,182,181,42,220,221,222,0,222,223,224,182,183,184,42,221,223,222,0,223,225,224,183,185,184,42,221,224,223,0,223,226,225,183,186,185,42,224,221,225,0,226,223,227,186,183,187,42,225,221,219,0,227,223,221,187,183,181,42,225,219,226,0,227,221,228,187,181,188,42,226,219,216,0,228,221,218,188,181,178,42,226,216,214,0,229,216,214,188,178,176,42,226,214,227,0,229,214,230,188,176,189,42,227,214,213,0,230,214,213,189,176,175,42,228,227,213,0,231,230,213,190,189,175,42,229,227,228,0,232,230,231,191,189,190,42,229,226,227,0,232,229,230,191,188,189,42,229,230,226,0,232,233,229,191,192,188,42,231,230,229,0,234,233,232,193,192,191,42,231,232,230,0,235,236,237,193,194,192,42,173,232,231,0,170,236,235,135,194,193,42,173,174,232,0,170,171,236,135,136,194,42,174,224,232,0,171,226,236,136,186,194,42,174,175,224,0,171,172,226,136,137,186,42,224,175,223,0,226,172,225,186,137,185,42,175,233,223,0,172,238,225,137,195,185,42,175,176,233,0,172,173,238,137,138,195,42,176,234,233,0,173,239,238,138,196,195,42,176,177,234,0,173,174,239,138,139,196,42,177,235,234,0,174,240,239,139,197,196,42,177,178,235,0,174,175,240,139,140,197,42,178,193,235,0,175,193,240,140,155,197,42,178,236,193,0,241,242,243,140,198,155,42,237,236,178,0,244,242,241,199,198,140,42,238,236,237,0,245,242,244,200,198,199,42,236,238,239,0,242,245,246,198,200,201,42,240,239,238,0,247,246,245,202,201,200,42,240,241,239,0,247,248,246,202,203,201,42,242,241,240,0,249,248,247,204,203,202,42,242,243,241,0,249,250,248,204,205,203,42,244,243,242,0,251,250,249,206,205,204,42,244,245,243,0,251,252,250,206,207,205,42,246,245,244,0,253,252,251,208,207,206,42,246,247,245,0,253,254,252,208,209,207,42,246,248,247,0,253,255,254,208,210,209,42,249,248,246,0,256,257,258,211,210,208,42,250,248,249,0,259,257,256,212,210,211,42,250,251,248,0,259,260,257,212,213,210,42,250,252,251,0,259,261,260,212,214,213,42,250,253,252,0,259,262,261,212,215,214,42,249,253,250,0,256,262,259,211,215,212,42,254,253,249,0,263,262,256,216,215,211,42,254,255,253,0,263,264,262,216,217,215,42,256,255,254,0,265,264,263,218,217,216,42,256,257,255,0,265,266,264,218,219,217,42,256,258,257,0,265,267,266,218,220,219,42,259,258,256,0,268,267,265,221,220,218,42,259,260,258,0,268,269,267,221,222,220,42,259,261,260,0,268,270,269,221,223,222,42,261,259,262,0,270,268,271,223,221,224,42,262,259,263,0,271,268,272,224,221,225,42,259,256,263,0,268,265,272,221,218,225,42,263,256,254,0,272,265,263,225,218,216,42,263,254,264,0,272,263,273,225,216,226,42,264,254,249,0,273,263,256,226,216,211,42,249,246,264,0,256,258,273,211,208,226,42,264,246,244,0,273,258,274,226,208,206,42,264,244,265,0,273,274,275,226,206,227,42,265,244,242,0,275,274,276,227,206,204,42,265,242,266,0,275,276,277,227,204,228,42,266,242,240,0,277,276,278,228,204,202,42,266,240,267,0,277,278,279,228,202,229,42,267,240,238,0,279,278,280,229,202,200,42,267,238,181,0,279,280,179,229,200,143,42,181,238,237,0,179,280,281,143,200,199,42,179,181,237,0,176,179,281,141,143,199,42,179,237,178,0,176,281,177,141,199,140,42,181,182,267,0,179,180,279,143,144,229,42,182,268,267,0,180,282,279,144,230,229,42,182,269,268,0,180,283,282,144,231,230,42,183,269,182,0,181,283,180,145,231,144,42,269,183,270,0,283,181,284,231,145,232,42,183,185,270,0,181,183,284,145,147,232,42,270,185,271,0,284,183,285,232,147,233,42,185,186,271,0,183,184,285,147,148,233,42,271,186,272,0,285,184,286,233,148,234,42,186,187,272,0,184,185,286,148,149,234,42,187,273,272,0,185,287,286,149,235,234,42,187,188,273,0,185,186,287,149,150,235,42,188,274,273,0,186,288,287,150,236,235,42,188,275,274,0,186,289,288,150,237,236,42,189,275,188,0,187,289,186,151,237,150,42,189,276,275,0,187,290,289,151,238,237,42,190,276,189,0,188,290,187,152,238,151,42,190,191,276,0,188,190,290,152,153,238,42,191,236,276,0,190,242,290,153,198,238,42,236,191,192,0,242,190,191,198,153,154,42,236,192,193,0,242,191,243,198,154,155,42,276,236,239,0,290,242,246,238,198,201,42,276,239,241,0,290,246,248,238,201,203,42,241,275,276,0,248,289,290,203,237,238,42,243,275,241,0,250,289,248,205,237,203,42,243,274,275,0,250,288,289,205,236,237,42,245,274,243,0,252,288,250,207,236,205,42,245,277,274,0,252,291,288,207,239,236,42,247,277,245,0,254,291,252,209,239,207,42,247,278,277,0,254,292,291,209,240,239,42,279,278,247,0,293,292,254,241,240,209,42,279,280,278,0,293,294,292,241,242,240,42,279,281,280,0,293,295,294,241,243,242,42,248,281,279,0,255,295,293,210,243,241,42,248,282,281,0,255,296,295,210,244,243,42,248,283,282,0,257,297,298,210,245,244,42,251,283,248,0,260,297,257,213,245,210,42,251,284,283,0,260,299,297,213,246,245,42,251,252,284,0,260,261,299,213,214,246,42,252,285,284,0,261,300,299,214,247,246,42,286,285,252,0,301,300,261,248,247,214,42,286,287,285,0,301,302,300,248,249,247,42,286,288,287,0,301,303,302,248,250,249,42,255,288,286,0,264,303,301,217,250,248,42,255,257,288,0,264,266,303,217,219,250,42,257,289,288,0,266,304,303,219,251,250,42,258,289,257,0,267,304,266,220,251,219,42,260,289,258,0,269,304,267,222,251,220,42,260,290,289,0,269,305,304,222,252,251,42,260,291,290,0,269,306,305,222,253,252,42,261,291,260,0,270,306,269,223,253,222,42,261,269,291,0,270,283,306,223,231,253,42,269,261,268,0,283,270,282,231,223,230,42,268,261,262,0,282,270,271,230,223,224,42,268,262,266,0,282,271,277,230,224,228,42,266,262,265,0,277,271,275,228,224,227,42,262,263,265,0,271,272,275,224,225,227,42,265,263,264,0,275,272,273,227,225,226,42,267,268,266,0,279,282,277,229,230,228,42,269,270,291,0,283,284,306,231,232,253,42,291,270,292,0,306,284,307,253,232,254,42,270,271,292,0,284,285,307,232,233,254,42,292,271,293,0,307,285,308,254,233,255,42,271,272,293,0,285,286,308,233,234,255,42,272,294,293,0,286,309,308,234,256,255,42,272,273,294,0,286,287,309,234,235,256,42,273,277,294,0,287,291,309,235,239,256,42,273,274,277,0,287,288,291,235,236,239,42,294,277,278,0,309,291,292,256,239,240,42,294,278,295,0,309,292,310,256,240,257,42,295,278,280,0,310,292,294,257,240,242,42,295,280,296,0,310,294,311,257,242,258,42,296,280,297,0,311,294,312,258,242,259,42,281,297,280,0,295,312,294,243,259,242,42,281,298,297,0,295,313,312,243,260,259,42,299,298,281,0,314,313,295,261,260,243,42,299,300,298,0,314,315,313,261,262,260,42,299,301,300,0,316,317,318,261,263,262,42,302,301,299,0,319,317,316,264,263,261,42,302,303,301,0,319,320,317,264,265,263,42,302,304,303,0,319,321,320,264,266,265,42,283,304,302,0,297,321,319,245,266,264,42,283,284,304,0,297,299,321,245,246,266,42,284,305,304,0,299,322,321,246,267,266,42,285,305,284,0,300,322,299,247,267,246,42,285,306,305,0,300,323,322,247,268,267,42,285,287,306,0,300,302,323,247,249,268,42,287,307,306,0,302,324,323,249,269,268,42,287,308,307,0,302,325,324,249,270,269,42,288,308,287,0,303,325,302,250,270,249,42,288,289,308,0,303,304,325,250,251,270,42,289,309,308,0,304,326,325,251,271,270,42,310,309,289,0,327,326,304,272,271,251,42,310,311,309,0,327,328,326,272,273,271,42,296,311,310,0,311,328,327,258,273,272,42,296,297,311,0,311,312,328,258,259,273,42,311,297,312,0,328,312,329,273,259,274,42,298,312,297,0,313,329,312,260,274,259,42,298,313,312,0,313,330,329,260,275,274,42,300,313,298,0,315,330,313,262,275,260,42,300,314,313,0,315,331,330,262,276,275,42,315,314,300,0,332,333,318,277,276,262,42,315,316,314,0,332,334,333,277,278,276,42,315,317,316,0,332,335,334,277,279,278,42,315,318,317,0,332,336,335,277,280,279,42,301,318,315,0,317,336,332,263,280,277,42,301,303,318,0,317,320,336,263,265,280,42,303,319,318,0,320,337,336,265,281,280,42,320,319,303,0,338,337,320,282,281,265,42,320,321,319,0,338,339,337,282,283,281,42,320,322,321,0,338,340,339,282,284,283,42,305,322,320,0,322,340,338,267,284,282,42,305,306,322,0,322,323,340,267,268,284,42,306,323,322,0,323,341,340,268,285,284,42,306,307,323,0,323,324,341,268,269,285,42,307,324,323,0,324,342,341,269,286,285,42,325,324,307,0,343,342,324,287,286,269,42,325,326,324,0,343,344,342,287,288,286,42,327,326,325,0,345,344,343,289,288,287,42,327,328,326,0,345,346,344,289,290,288,42,327,312,328,0,345,329,346,289,274,290,42,311,312,327,0,328,329,345,273,274,289,42,311,327,309,0,328,345,326,273,289,271,42,309,327,325,0,326,345,343,271,289,287,42,309,325,308,0,326,343,325,271,287,270,42,308,325,307,0,325,343,324,270,287,269,42,313,328,312,0,330,346,329,275,290,274,42,313,329,328,0,330,347,346,275,291,290,42,314,329,313,0,331,347,330,276,291,275,42,314,330,329,0,331,348,347,276,292,291,42,314,316,330,0,333,334,349,276,278,292,42,331,330,316,0,350,349,334,293,292,278,42,331,332,330,0,350,351,349,293,294,292,42,332,331,333,0,351,350,352,294,293,295,42,331,334,333,0,350,353,352,293,296,295,42,331,335,334,0,350,354,353,293,297,296,42,331,316,335,0,350,334,354,293,278,297,42,335,316,317,0,354,334,335,297,278,279,42,336,335,317,0,355,354,335,298,297,279,42,336,337,335,0,355,356,354,298,299,297,42,336,338,337,0,355,357,356,298,300,299,42,336,339,338,0,355,358,357,298,301,300,42,340,339,336,0,359,358,355,302,301,298,42,340,341,339,0,359,360,358,302,303,301,42,319,341,340,0,337,360,359,281,303,302,42,319,321,341,0,337,339,360,281,283,303,42,321,342,341,0,339,361,360,283,304,303,42,321,343,342,0,339,362,361,283,305,304,42,322,343,321,0,340,362,339,284,305,283,42,322,323,343,0,340,341,362,284,285,305,42,323,344,343,0,341,363,362,285,306,305,42,324,344,323,0,342,363,341,286,306,285,42,324,345,344,0,342,364,363,286,307,306,42,326,345,324,0,344,364,342,288,307,286,42,326,346,345,0,344,365,364,288,308,307,42,326,328,346,0,344,346,365,288,290,308,42,329,346,328,0,347,365,346,291,308,290,42,329,347,346,0,347,366,365,291,309,308,42,330,347,329,0,348,366,347,292,309,291,42,332,347,330,0,367,366,348,294,309,292,42,332,348,347,0,367,368,366,294,310,309,42,332,349,348,0,367,369,368,294,311,310,42,332,333,349,0,351,352,370,294,295,311,42,350,349,333,0,371,372,373,312,311,295,42,350,351,349,0,371,374,372,312,313,311,42,350,352,351,0,371,375,374,312,314,313,42,350,353,352,0,371,376,375,312,315,314,42,354,353,350,0,377,376,371,316,315,312,42,355,353,354,0,378,379,380,317,315,316,42,356,353,355,0,381,379,378,318,315,317,42,356,352,353,0,381,382,379,318,314,315,42,356,357,352,0,381,383,382,318,319,314,42,356,358,357,0,381,384,383,318,320,319,42,359,358,356,0,385,384,381,321,320,318,42,344,358,359,0,363,384,385,306,320,321,42,345,358,344,0,364,384,363,307,320,306,42,345,360,358,0,364,386,384,307,322,320,42,345,346,360,0,364,365,386,307,308,322,42,347,360,346,0,366,386,365,309,322,308,42,348,360,347,0,368,386,366,310,322,309,42,357,360,348,0,383,386,368,319,322,310,42,358,360,357,0,384,386,383,320,322,319,42,348,351,357,0,368,387,383,310,313,319,42,349,351,348,0,369,387,368,311,313,310,42,351,352,357,0,387,382,383,313,314,319,42,344,359,343,0,363,385,362,306,321,305,42,343,359,342,0,362,385,361,305,321,304,42,342,359,355,0,361,385,378,304,321,317,42,355,359,356,0,378,385,381,317,321,318,42,342,355,361,0,361,378,388,304,317,323,42,355,354,361,0,378,380,388,317,316,323,42,361,354,362,0,388,380,389,323,316,324,42,362,354,350,0,390,377,371,324,316,312,42,338,362,350,0,391,390,371,300,324,312,42,339,362,338,0,358,389,357,301,324,300,42,339,361,362,0,358,388,389,301,323,324,42,339,341,361,0,358,360,388,301,303,323,42,341,342,361,0,360,361,388,303,304,323,42,338,350,337,0,391,371,392,300,312,299,42,337,350,334,0,392,371,393,299,312,296,42,334,350,333,0,393,371,373,296,312,295,42,335,337,334,0,354,356,353,297,299,296,42,319,340,318,0,337,359,336,281,302,280,42,318,340,317,0,336,359,335,280,302,279,42,336,317,340,0,355,335,359,298,279,302,42,305,320,304,0,322,338,321,267,282,266,42,304,320,303,0,321,338,320,266,282,265,42,300,301,315,0,318,317,332,262,263,277,42,363,296,310,0,394,311,327,325,258,272,42,363,295,296,0,394,310,311,325,257,258,42,293,295,363,0,308,310,394,255,257,325,42,293,294,295,0,308,309,310,255,256,257,42,292,293,363,0,307,308,394,254,255,325,42,290,292,363,0,305,307,394,252,254,325,42,291,292,290,0,306,307,305,253,254,252,42,290,363,310,0,305,394,327,252,325,272,42,290,310,289,0,305,327,304,252,272,251,42,283,302,282,0,297,319,298,245,264,244,42,302,299,282,0,319,316,298,264,261,244,42,282,299,281,0,296,314,295,244,261,243,42,255,286,253,0,264,301,262,217,248,215,42,253,286,252,0,262,301,261,215,248,214,42,248,279,247,0,255,293,254,210,241,209,42,235,193,194,0,240,193,194,197,155,156,42,235,194,364,0,240,194,395,197,156,326,42,364,194,195,0,395,194,195,326,156,157,42,364,195,365,0,395,195,396,326,157,327,42,195,196,365,0,195,196,396,157,158,327,42,196,366,365,0,196,397,396,158,328,327,42,196,197,366,0,196,197,397,158,159,328,42,197,367,366,0,197,398,397,159,329,328,42,197,198,367,0,197,198,398,159,160,329,42,198,368,367,0,198,399,398,160,330,329,42,198,369,368,0,198,400,399,160,331,330,42,198,199,369,0,198,199,400,160,161,331,42,199,370,369,0,199,401,400,161,332,331,42,199,200,370,0,199,200,401,161,162,332,42,201,370,200,0,201,401,200,163,332,162,42,201,371,370,0,201,402,401,163,333,332,42,372,371,201,0,403,402,201,334,333,163,42,372,373,371,0,403,404,402,334,335,333,42,372,373,374,0,405,406,407,334,335,336,42,372,375,373,0,403,408,404,334,337,335,42,204,375,372,0,204,408,403,166,337,334,42,204,205,375,0,204,205,408,166,167,337,42,205,376,375,0,205,409,408,167,338,337,42,205,206,376,0,205,206,409,167,168,338,42,206,377,376,0,206,410,409,168,339,338,42,206,378,377,0,206,411,410,168,340,339,42,207,378,206,0,207,411,206,169,340,168,42,207,379,378,0,207,412,411,169,341,340,42,208,379,207,0,208,412,207,170,341,169,42,208,380,379,0,208,413,412,170,342,341,42,381,380,208,0,414,413,208,343,342,170,42,381,382,380,0,414,415,413,343,344,342,42,383,382,381,0,416,415,414,345,344,343,42,383,384,382,0,416,417,415,345,346,344,42,383,385,384,0,416,418,417,347,347,347,42,386,385,383,0,419,418,416,348,349,345,42,386,387,385,0,419,420,418,348,350,349,42,386,388,387,0,419,421,420,348,351,350,42,389,388,386,0,422,421,419,352,351,348,42,389,390,388,0,422,423,421,352,353,351,42,217,390,389,0,217,423,422,179,353,352,42,217,391,390,0,220,424,425,179,354,353,42,217,218,391,0,220,219,424,179,180,354,42,218,392,391,0,219,426,424,180,355,354,42,218,220,392,0,219,222,426,180,182,355,42,392,220,393,0,426,222,427,355,182,356,42,220,222,393,0,222,224,427,182,184,356,42,393,222,394,0,427,224,428,356,184,357,42,222,233,394,0,224,238,428,184,195,357,42,223,233,222,0,225,238,224,185,195,184,42,233,234,394,0,238,239,428,195,196,357,42,394,234,395,0,428,239,429,357,196,358,42,234,396,395,0,239,430,429,196,359,358,42,234,364,396,0,239,395,430,196,326,359,42,234,235,364,0,239,240,395,196,197,326,42,364,365,396,0,395,396,430,326,327,359,42,396,365,397,0,430,396,431,359,327,360,42,365,366,397,0,396,397,431,327,328,360,42,366,398,397,0,397,432,431,328,361,360,42,366,367,398,0,397,398,432,328,329,361,42,367,399,398,0,398,433,432,329,362,361,42,367,368,399,0,398,399,433,329,330,362,42,368,400,399,0,399,434,433,330,363,362,42,368,401,400,0,399,435,434,330,364,363,42,368,369,401,0,399,400,435,330,331,364,42,369,402,401,0,400,436,435,331,365,364,42,369,370,402,0,400,401,436,331,332,365,42,370,371,402,0,401,402,436,332,333,365,42,371,403,402,0,402,437,436,333,366,365,42,371,373,403,0,402,404,437,333,335,366,42,373,404,403,0,404,438,437,335,367,366,42,373,404,405,0,406,439,440,335,367,368,42,373,406,404,0,404,441,438,335,369,367,42,375,406,373,0,408,441,404,337,369,335,42,375,376,406,0,408,409,441,337,338,369,42,376,377,406,0,409,410,441,338,339,369,42,377,407,406,0,410,442,441,339,370,369,42,377,408,407,0,410,443,442,339,371,370,42,378,408,377,0,411,443,410,340,371,339,42,378,409,408,0,411,444,443,340,372,371,42,379,409,378,0,412,444,411,341,372,340,42,379,410,409,0,412,445,444,341,373,372,42,380,410,379,0,413,445,412,342,373,341,42,380,411,410,0,413,446,445,342,374,373,42,382,411,380,0,415,446,413,344,374,342,42,382,412,411,0,415,447,446,344,375,374,42,384,412,382,0,417,447,415,346,375,344,42,384,413,412,0,417,448,447,346,376,375,42,414,413,384,0,449,448,417,377,376,346,42,414,415,413,0,449,450,448,377,378,376,42,414,416,415,0,449,451,450,377,379,378,42,417,416,414,0,452,451,449,380,379,377,42,417,418,416,0,452,453,451,380,381,379,42,419,418,417,0,454,453,452,382,381,380,42,420,418,419,0,455,453,454,383,381,382,42,418,420,421,0,453,455,456,381,383,384,42,420,422,421,0,455,457,456,383,385,384,42,420,423,422,0,455,458,457,383,386,385,42,424,423,420,0,459,458,455,387,386,383,42,424,425,423,0,459,460,458,387,388,386,42,426,425,424,0,461,460,459,389,388,387,42,426,427,425,0,462,463,464,389,390,388,42,426,428,427,0,462,465,463,389,391,390,42,429,428,426,0,466,465,462,392,391,389,42,429,430,428,0,466,467,465,392,393,391,42,390,430,429,0,425,467,466,353,393,392,42,390,391,430,0,425,424,467,353,354,393,42,391,431,430,0,424,468,467,354,394,393,42,391,392,431,0,424,426,468,354,355,394,42,431,392,432,0,468,426,469,394,355,395,42,392,393,432,0,426,427,469,355,356,395,42,432,393,433,0,469,427,470,395,356,396,42,393,394,433,0,427,428,470,356,357,396,42,433,394,395,0,470,428,429,396,357,358,42,433,395,434,0,470,429,471,396,358,397,42,434,395,435,0,471,429,472,397,358,398,42,395,396,435,0,429,430,472,358,359,398,42,435,396,397,0,472,430,431,398,359,360,42,435,397,436,0,472,431,473,398,360,399,42,398,436,397,0,432,473,431,361,399,360,42,398,437,436,0,432,474,473,361,400,399,42,399,437,398,0,433,474,432,362,400,361,42,399,438,437,0,433,475,474,362,401,400,42,400,438,399,0,434,475,433,363,401,362,42,400,439,438,0,434,476,475,363,402,401,42,400,440,439,0,434,477,476,363,403,402,42,401,440,400,0,435,477,434,364,403,363,42,401,441,440,0,435,478,477,364,404,403,42,402,441,401,0,436,478,435,365,404,364,42,403,441,402,0,437,478,436,366,404,365,42,403,442,441,0,437,479,478,366,405,404,42,404,442,403,0,438,479,437,367,405,366,42,404,443,442,0,438,480,479,367,406,405,42,407,443,404,0,442,480,438,370,406,367,42,407,444,443,0,442,481,480,370,407,406,42,408,444,407,0,443,481,442,371,407,370,42,408,445,444,0,443,482,481,371,408,407,42,409,445,408,0,444,482,443,372,408,371,42,409,446,445,0,444,483,482,372,409,408,42,410,446,409,0,445,483,444,373,409,372,42,410,447,446,0,445,484,483,373,410,409,42,411,447,410,0,446,484,445,374,410,373,42,412,447,411,0,447,484,446,375,410,374,42,412,448,447,0,447,485,484,375,411,410,42,413,448,412,0,448,485,447,376,411,375,42,413,449,448,0,448,486,485,376,412,411,42,415,449,413,0,450,486,448,378,412,376,42,415,450,449,0,450,487,486,378,413,412,42,451,450,415,0,488,487,450,414,413,378,42,451,452,450,0,488,489,487,414,415,413,42,453,452,451,0,490,489,488,416,415,414,42,454,452,453,0,491,489,490,417,415,416,42,454,455,452,0,491,492,489,417,418,415,42,455,456,452,0,492,493,489,418,419,415,42,452,456,457,0,489,493,494,415,419,420,42,456,458,457,0,493,495,494,419,421,420,42,457,458,459,0,494,495,496,420,421,422,42,458,460,459,0,495,497,496,421,423,422,42,459,460,461,0,496,497,498,422,423,424,42,460,462,461,0,497,499,498,423,425,424,42,461,462,463,0,498,499,500,424,425,426,42,463,462,464,0,500,499,501,426,425,427,42,464,462,465,0,501,499,502,427,425,428,42,464,465,466,0,501,502,503,427,428,429,42,466,465,467,0,503,502,504,429,428,430,42,466,467,468,0,503,504,505,429,430,431,42,469,466,468,0,506,503,505,432,429,431,42,470,466,469,0,507,503,506,433,429,432,42,470,464,466,0,507,501,503,433,427,429,42,471,464,470,0,508,501,507,434,427,433,42,471,463,464,0,508,500,501,434,426,427,42,472,463,471,0,509,500,508,435,426,434,42,461,463,472,0,498,500,509,424,426,435,42,461,472,473,0,498,509,510,424,435,436,42,473,472,474,0,510,509,511,436,435,437,42,474,472,471,0,511,509,508,437,435,434,42,474,471,475,0,511,508,512,437,434,438,42,475,471,470,0,512,508,507,438,434,433,42,475,470,476,0,512,507,513,438,433,439,42,476,470,477,0,513,507,514,439,433,440,42,477,470,478,0,514,507,515,440,433,441,42,478,470,469,0,515,507,506,441,433,432,42,478,469,479,0,515,506,516,441,432,442,42,479,469,480,0,516,506,517,442,432,443,42,469,468,480,0,506,505,517,432,431,443,42,481,479,480,0,518,516,517,444,442,443,42,481,482,479,0,518,519,516,444,445,442,42,481,483,482,0,518,520,519,444,446,445,42,484,483,481,0,521,520,518,447,446,444,42,484,485,483,0,521,522,520,447,448,446,42,486,485,484,0,523,522,521,449,448,447,42,486,487,485,0,523,524,522,449,450,448,42,488,487,486,0,525,524,523,451,450,449,42,488,489,487,0,525,526,524,451,452,450,42,490,489,488,0,527,526,525,453,452,451,42,490,491,489,0,527,528,526,453,454,452,42,492,491,490,0,529,528,527,455,454,453,42,492,493,491,0,529,530,528,455,456,454,42,494,493,492,0,531,530,529,457,456,455,42,494,495,493,0,531,532,530,457,458,456,42,431,495,494,0,468,532,531,394,458,457,42,431,432,495,0,468,469,532,394,395,458,42,495,432,496,0,532,469,533,458,395,459,42,432,433,496,0,469,470,533,395,396,459,42,496,433,434,0,533,470,471,459,396,397,42,496,434,497,0,533,471,534,459,397,460,42,497,434,498,0,534,471,535,460,397,461,42,434,435,498,0,471,472,535,397,398,461,42,498,435,436,0,535,472,473,461,398,399,42,498,436,499,0,535,473,536,461,399,462,42,437,499,436,0,474,536,473,400,462,399,42,437,500,499,0,474,537,536,400,463,462,42,438,500,437,0,475,537,474,401,463,400,42,438,501,500,0,475,538,537,401,464,463,42,439,501,438,0,476,538,475,402,464,401,42,439,502,501,0,476,539,538,402,465,464,42,439,503,502,0,476,540,539,402,466,465,42,440,503,439,0,477,540,476,403,466,402,42,440,504,503,0,477,541,540,403,467,466,42,441,504,440,0,478,541,477,404,467,403,42,442,504,441,0,479,541,478,405,467,404,42,442,505,504,0,479,542,541,405,468,467,42,443,505,442,0,480,542,479,406,468,405,42,443,506,505,0,480,543,542,406,469,468,42,444,506,443,0,481,543,480,407,469,406,42,444,507,506,0,481,544,543,407,470,469,42,444,445,507,0,481,482,544,407,408,470,42,445,508,507,0,482,545,544,408,471,470,42,445,509,508,0,482,546,545,408,472,471,42,446,509,445,0,483,546,482,409,472,408,42,447,509,446,0,484,546,483,410,472,409,42,448,509,447,0,485,546,484,411,472,410,42,448,510,509,0,485,547,546,411,473,472,42,449,510,448,0,486,547,485,412,473,411,42,449,511,510,0,486,548,547,412,474,473,42,450,511,449,0,487,548,486,413,474,412,42,450,457,511,0,487,494,548,413,420,474,42,452,457,450,0,489,494,487,415,420,413,42,457,512,511,0,494,549,548,420,475,474,42,457,459,512,0,494,496,549,420,422,475,42,459,473,512,0,496,510,549,422,436,475,42,459,461,473,0,496,498,510,422,424,436,42,512,473,513,0,549,510,550,475,436,476,42,473,474,513,0,510,511,550,436,437,476,42,513,474,514,0,550,511,551,476,437,477,42,514,474,475,0,551,511,512,477,437,438,42,514,475,515,0,551,512,552,477,438,478,42,515,475,476,0,552,512,513,478,438,439,42,515,476,516,0,552,513,553,478,439,479,42,516,476,517,0,553,513,554,479,439,480,42,517,476,477,0,554,513,514,480,439,440,42,518,517,477,0,555,554,514,481,480,440,42,519,517,518,0,556,554,555,482,480,481,42,519,520,517,0,556,557,554,482,483,480,42,502,520,519,0,539,557,556,465,483,482,42,503,520,502,0,540,557,539,466,483,465,42,503,521,520,0,540,558,557,466,484,483,42,504,521,503,0,541,558,540,467,484,466,42,505,521,504,0,542,558,541,468,484,467,42,505,522,521,0,542,559,558,468,485,484,42,506,522,505,0,543,559,542,469,485,468,42,506,523,522,0,543,560,559,469,486,485,42,506,507,523,0,543,544,560,469,470,486,42,507,524,523,0,544,561,560,470,487,486,42,507,508,524,0,544,545,561,470,471,487,42,508,525,524,0,545,562,561,471,488,487,42,510,525,508,0,547,562,545,473,488,471,42,511,525,510,0,548,562,547,474,488,473,42,511,512,525,0,548,549,562,474,475,488,42,512,513,525,0,549,550,562,475,476,488,42,525,513,524,0,562,550,561,488,476,487,42,524,513,514,0,561,550,551,487,476,477,42,523,524,514,0,560,561,551,486,487,477,42,523,514,515,0,560,551,552,486,477,478,42,523,515,522,0,560,552,559,486,478,485,42,522,515,516,0,559,552,553,485,478,479,42,522,516,521,0,559,553,558,485,479,484,42,521,516,520,0,558,553,557,484,479,483,42,520,516,517,0,557,553,554,483,479,480,42,510,508,509,0,547,545,546,473,471,472,42,502,519,526,0,539,556,563,465,482,489,42,526,519,527,0,563,556,564,489,482,490,42,519,518,527,0,556,555,564,482,481,490,42,527,518,528,0,564,555,565,490,481,491,42,518,529,528,0,555,566,565,481,492,491,42,518,477,529,0,555,514,566,481,440,492,42,529,477,478,0,566,514,515,492,440,441,42,529,478,482,0,566,515,519,492,441,445,42,482,478,479,0,519,515,516,445,441,442,42,529,482,483,0,566,519,520,492,445,446,42,528,529,483,0,565,566,520,491,492,446,42,528,483,485,0,565,520,522,491,446,448,42,530,528,485,0,567,565,522,493,491,448,42,527,528,530,0,564,565,567,490,491,493,42,531,527,530,0,568,564,567,494,490,493,42,526,527,531,0,563,564,568,489,490,494,42,532,526,531,0,569,563,568,495,489,494,42,501,526,532,0,538,563,569,464,489,495,42,502,526,501,0,539,563,538,465,489,464,42,501,532,500,0,538,569,537,464,495,463,42,500,532,533,0,537,569,570,463,495,496,42,533,532,534,0,570,569,571,496,495,497,42,532,531,534,0,569,568,571,495,494,497,42,534,531,535,0,571,568,572,497,494,498,42,535,531,530,0,572,568,567,498,494,493,42,487,535,530,0,524,572,567,450,498,493,42,489,535,487,0,526,572,524,452,498,450,42,489,536,535,0,526,573,572,452,499,498,42,491,536,489,0,528,573,526,454,499,452,42,491,537,536,0,528,574,573,454,500,499,42,493,537,491,0,530,574,528,456,500,454,42,493,538,537,0,530,575,574,456,501,500,42,495,538,493,0,532,575,530,458,501,456,42,495,496,538,0,532,533,575,458,459,501,42,538,496,497,0,575,533,534,501,459,460,42,538,497,539,0,575,534,576,501,460,502,42,539,497,540,0,576,534,577,502,460,503,42,497,498,540,0,534,535,577,460,461,503,42,540,498,499,0,577,535,536,503,461,462,42,540,499,533,0,577,536,570,503,462,496,42,500,533,499,0,537,570,536,463,496,462,42,541,540,533,0,578,577,570,504,503,496,42,539,540,541,0,576,577,578,502,503,504,42,537,539,541,0,574,576,578,500,502,504,42,538,539,537,0,575,576,574,501,502,500,42,537,541,536,0,574,578,573,500,504,499,42,536,541,534,0,573,578,571,499,504,497,42,541,533,534,0,578,570,571,504,496,497,42,536,534,535,0,573,571,572,499,497,498,42,487,530,485,0,524,567,522,450,493,448,42,542,431,494,0,579,468,531,505,394,457,42,430,431,542,0,467,468,579,393,394,505,42,430,542,428,0,467,579,465,393,505,391,42,542,543,428,0,579,580,465,505,506,391,42,543,542,544,0,580,579,581,506,505,507,42,542,494,544,0,579,531,581,505,457,507,42,544,494,492,0,581,531,529,507,457,455,42,544,492,545,0,581,529,582,507,455,508,42,545,492,490,0,582,529,527,508,455,453,42,490,546,545,0,527,583,582,453,509,508,42,546,490,488,0,583,527,525,509,453,451,42,546,488,547,0,583,525,584,509,451,510,42,547,488,486,0,584,525,523,510,451,449,42,547,486,548,0,584,523,585,510,449,511,42,548,486,549,0,585,523,586,511,449,512,42,486,484,549,0,523,521,586,449,447,512,42,549,484,550,0,586,521,587,512,447,513,42,484,481,550,0,521,518,587,447,444,513,42,550,481,480,0,587,518,517,513,444,443,42,551,547,548,0,588,584,585,514,510,511,42,552,547,551,0,589,584,588,515,510,514,42,552,553,547,0,589,590,584,515,516,510,42,553,552,554,0,590,589,591,516,515,517,42,553,554,555,0,590,591,592,516,517,518,42,555,554,556,0,592,591,593,518,517,519,42,555,556,557,0,592,593,594,518,519,520,42,557,556,558,0,594,593,595,520,519,521,42,557,558,559,0,594,595,596,520,521,522,42,559,558,560,0,596,595,597,522,521,523,42,560,558,561,0,597,595,598,523,521,524,42,562,560,561,0,599,597,598,525,523,524,42,563,560,562,0,600,597,599,526,523,525,42,563,564,560,0,600,601,597,526,527,523,42,565,564,563,0,602,601,600,528,527,526,42,565,566,564,0,602,603,601,528,529,527,42,425,566,565,0,464,603,602,388,529,528,42,425,427,566,0,464,463,603,388,390,529,42,427,567,566,0,463,604,603,390,530,529,42,543,567,427,0,580,604,463,506,530,390,42,567,543,568,0,604,580,605,530,506,531,42,543,544,568,0,580,581,605,506,507,531,42,568,544,545,0,605,581,582,531,507,508,42,545,569,568,0,582,606,605,508,532,531,42,545,546,569,0,582,583,606,508,509,532,42,546,553,569,0,583,590,606,509,516,532,42,553,546,547,0,590,583,584,516,509,510,42,569,553,555,0,606,590,592,532,516,518,42,569,555,570,0,606,592,607,532,518,533,42,570,555,557,0,607,592,594,533,518,520,42,570,557,571,0,607,594,608,533,520,534,42,571,557,559,0,608,594,596,534,520,522,42,571,559,564,0,608,596,601,534,522,527,42,564,559,560,0,601,596,597,527,522,523,42,566,571,564,0,603,608,601,529,534,527,42,567,571,566,0,604,608,603,530,534,529,42,567,570,571,0,604,607,608,530,533,534,42,568,570,567,0,605,607,604,531,533,530,42,568,569,570,0,605,606,607,531,532,533,42,428,543,427,0,465,580,463,391,506,390,42,425,565,423,0,460,609,458,388,528,386,42,423,565,572,0,458,609,610,386,528,535,42,565,563,572,0,609,611,610,528,526,535,42,572,563,573,0,610,611,612,535,526,536,42,563,562,573,0,611,613,612,526,525,536,42,573,562,574,0,612,613,614,536,525,537,42,562,575,574,0,613,615,614,525,538,537,42,562,561,575,0,599,598,616,525,524,538,42,573,574,576,0,612,614,617,536,537,539,42,577,573,576,0,618,612,617,540,536,539,42,572,573,577,0,610,612,618,535,536,540,42,422,572,577,0,457,610,618,385,535,540,42,423,572,422,0,458,610,457,386,535,385,42,422,577,578,0,457,618,619,385,540,541,42,578,577,579,0,619,618,620,541,540,542,42,577,576,579,0,618,617,620,540,539,542,42,578,579,580,0,619,620,621,541,542,543,42,581,578,580,0,622,619,621,544,541,543,42,421,578,581,0,456,619,622,384,541,544,42,421,422,578,0,456,457,619,384,385,541,42,582,421,581,0,623,456,622,545,384,544,42,418,421,582,0,453,456,623,381,384,545,42,416,418,582,0,451,453,623,379,381,545,42,416,582,451,0,451,623,488,379,545,414,42,451,582,453,0,488,623,490,414,545,416,42,582,581,453,0,623,622,490,545,544,416,42,453,581,454,0,490,622,491,416,544,417,42,581,580,454,0,622,621,491,544,543,417,42,415,416,451,0,450,451,488,378,379,414,42,406,407,404,0,441,442,438,369,370,367,42,390,429,388,0,423,624,421,353,392,351,42,388,429,583,0,421,624,625,351,392,546,42,429,426,583,0,624,461,625,392,389,546,42,583,426,424,0,625,461,459,546,389,387,42,583,424,419,0,625,459,454,546,387,382,42,419,424,420,0,454,459,455,382,387,383,42,387,583,419,0,420,625,454,350,546,382,42,388,583,387,0,421,625,420,351,546,350,42,419,417,387,0,454,452,420,382,380,350,42,387,417,385,0,420,452,418,350,380,349,42,417,414,385,0,452,449,418,380,377,349,42,385,414,384,0,418,449,417,349,377,346,42,404,584,405,0,439,626,440,367,547,368,42,404,585,584,0,439,627,626,367,548,547,42,585,586,584,0,628,629,630,548,549,547,42,585,587,586,0,628,631,629,548,550,549,42,588,587,585,0,632,631,628,551,550,548,42,588,589,587,0,632,633,631,551,552,550,42,590,589,588,0,634,633,632,553,552,551,42,590,591,589,0,634,635,633,553,554,552,42,592,591,590,0,636,635,634,555,554,553,42,593,591,592,0,637,635,636,556,554,555,42,593,594,591,0,637,638,635,556,557,554,42,595,594,593,0,639,638,637,558,557,556,42,595,596,594,0,639,640,638,558,559,557,42,597,596,595,0,641,640,639,560,559,558,42,597,598,596,0,641,642,640,560,561,559,42,599,598,597,0,643,642,641,562,561,560,42,599,600,598,0,643,644,642,562,563,561,42,601,600,599,0,645,644,643,564,563,562,42,601,602,600,0,645,646,644,564,565,563,42,603,602,601,0,647,646,645,566,565,564,42,603,604,602,0,647,648,646,566,567,565,42,605,604,603,0,649,648,647,568,567,566,42,605,606,604,0,649,650,648,568,569,567,42,607,606,605,0,651,650,649,570,569,568,42,607,608,606,0,651,652,650,570,571,569,42,609,608,607,0,653,652,651,572,571,570,42,609,610,608,0,653,654,652,572,573,571,42,611,610,609,0,655,654,653,574,573,572,42,611,612,610,0,655,656,654,574,575,573,42,613,612,611,0,657,656,655,576,575,574,42,613,614,612,0,657,658,656,576,577,575,42,615,614,613,0,659,658,657,578,577,576,42,615,616,614,0,659,660,658,578,579,577,42,617,616,615,0,661,660,659,580,579,578,42,617,618,616,0,661,662,660,580,581,579,42,619,618,617,0,663,662,661,582,581,580,42,619,620,618,0,663,664,662,582,583,581,42,621,620,619,0,665,664,663,584,583,582,42,621,622,620,0,665,666,664,584,585,583,42,623,622,621,0,667,666,665,586,585,584,42,623,624,622,0,667,668,666,586,587,585,42,625,624,623,0,669,668,667,588,587,586,42,625,626,624,0,669,670,668,588,589,587,42,627,626,625,0,671,670,669,590,589,588,42,627,628,626,0,671,672,670,590,591,589,42,629,628,627,0,673,672,671,592,591,590,42,629,630,628,0,673,674,672,592,593,591,42,631,630,629,0,675,674,673,594,593,592,42,632,630,631,0,676,677,678,595,593,594,42,632,633,630,0,676,679,677,595,596,593,42,632,634,633,0,676,680,679,595,597,596,42,632,635,634,0,676,681,680,595,598,597,42,636,635,632,0,682,681,676,599,598,595,42,637,635,636,0,683,684,685,600,598,599,42,638,635,637,0,686,684,683,601,598,600,42,638,634,635,0,686,687,684,601,597,598,42,639,634,638,0,688,687,686,602,597,601,42,639,633,634,0,688,689,687,602,596,597,42,628,633,639,0,672,689,688,591,596,602,42,628,630,633,0,672,674,689,591,593,596,42,628,639,626,0,672,688,670,591,602,589,42,626,639,640,0,670,688,690,589,602,603,42,639,638,640,0,688,686,690,602,601,603,42,640,638,641,0,690,686,691,603,601,604,42,641,638,637,0,691,686,683,604,601,600,42,641,637,642,0,691,683,692,604,600,605,42,642,637,643,0,692,683,693,605,600,606,42,637,636,643,0,683,685,693,600,599,606,42,644,643,636,0,694,693,685,607,606,599,42,645,643,644,0,695,693,694,608,606,607,42,645,646,643,0,695,696,693,608,609,606,42,647,646,645,0,697,696,695,610,609,608,42,647,648,646,0,697,698,696,610,611,609,42,649,648,647,0,699,698,697,612,611,610,42,649,650,648,0,699,700,698,612,613,611,42,649,651,650,0,699,701,700,612,614,613,42,652,651,649,0,702,703,704,615,614,612,42,653,651,652,0,705,703,702,616,614,615,42,653,654,651,0,705,706,703,616,617,614,42,653,655,654,0,705,707,706,616,618,617,42,656,655,653,0,708,707,705,619,618,616,42,656,657,655,0,708,709,707,619,620,618,42,657,656,658,0,709,708,710,620,619,621,42,658,656,659,0,710,708,711,621,619,622,42,656,653,659,0,708,705,711,619,616,622,42,659,653,652,0,711,705,702,622,616,615,42,660,659,652,0,712,711,702,623,622,615,42,658,659,660,0,710,711,712,621,622,623,42,658,660,661,0,710,712,713,621,623,624,42,661,660,662,0,713,712,714,624,623,625,42,660,663,662,0,712,715,714,623,626,625,42,663,660,664,0,715,712,716,626,623,627,42,660,652,664,0,712,702,716,623,615,627,42,664,652,647,0,716,702,717,627,615,610,42,652,649,647,0,702,704,717,615,612,610,42,664,647,665,0,716,717,718,627,610,628,42,665,647,645,0,718,717,719,628,610,608,42,666,665,645,0,720,718,719,629,628,608,42,667,665,666,0,721,718,720,630,628,629,42,663,665,667,0,715,718,721,626,628,630,42,663,664,665,0,715,716,718,626,627,628,42,663,667,668,0,715,721,722,626,630,631,42,667,632,668,0,723,676,724,630,595,631,42,666,632,667,0,725,676,723,629,595,630,42,666,644,632,0,725,726,676,629,607,595,42,666,645,644,0,720,719,727,629,608,607,42,644,636,632,0,726,682,676,607,599,595,42,668,632,631,0,724,676,678,631,595,594,42,662,668,631,0,714,722,675,625,631,594,42,662,663,668,0,714,715,722,625,626,631,42,629,662,631,0,673,714,675,592,625,594,42,661,662,629,0,713,714,673,624,625,592,42,627,661,629,0,671,713,673,590,624,592,42,658,661,627,0,710,713,671,621,624,590,42,658,627,625,0,710,671,669,621,590,588,42,669,658,625,0,728,710,669,632,621,588,42,669,657,658,0,728,709,710,632,620,621,42,670,657,669,0,729,709,728,633,620,632,42,657,670,671,0,709,729,730,620,633,634,42,670,672,671,0,729,731,730,633,635,634,42,670,673,672,0,729,732,731,633,636,635,42,673,670,674,0,732,729,733,636,633,637,42,674,670,669,0,733,729,728,637,633,632,42,674,669,621,0,733,728,665,637,632,584,42,621,669,623,0,665,728,667,584,632,586,42,669,625,623,0,728,669,667,632,588,586,42,619,674,621,0,663,733,665,582,637,584,42,675,674,619,0,734,733,663,638,637,582,42,675,673,674,0,734,732,733,638,636,637,42,676,673,675,0,735,732,734,639,636,638,42,673,676,677,0,732,735,736,636,639,640,42,676,678,677,0,735,737,736,639,641,640,42,676,679,678,0,735,738,737,639,642,641,42,679,676,680,0,738,735,739,642,639,643,42,680,676,675,0,739,735,734,643,639,638,42,680,675,617,0,739,734,661,643,638,580,42,617,675,619,0,661,734,663,580,638,582,42,615,680,617,0,659,739,661,578,643,580,42,681,680,615,0,740,739,659,644,643,578,42,681,679,680,0,740,738,739,644,642,643,42,682,679,681,0,741,738,740,645,642,644,42,679,682,683,0,738,741,742,642,645,646,42,682,684,683,0,741,743,742,645,647,646,42,682,685,684,0,741,744,743,645,648,647,42,685,682,686,0,744,741,745,648,645,649,42,686,682,681,0,745,741,740,649,645,644,42,686,681,613,0,745,740,657,649,644,576,42,613,681,615,0,657,740,659,576,644,578,42,611,686,613,0,655,745,657,574,649,576,42,687,686,611,0,746,745,655,650,649,574,42,687,685,686,0,746,744,745,650,648,649,42,688,685,687,0,747,744,746,651,648,650,42,685,688,689,0,744,747,748,648,651,652,42,688,690,689,0,747,749,748,651,653,652,42,688,691,690,0,747,750,749,651,654,653,42,691,688,692,0,750,747,751,654,651,655,42,692,688,687,0,751,747,746,655,651,650,42,692,687,609,0,751,746,653,655,650,572,42,609,687,611,0,653,746,655,572,650,574,42,607,692,609,0,651,751,653,570,655,572,42,693,692,607,0,752,751,651,656,655,570,42,693,691,692,0,752,750,751,656,654,655,42,694,691,693,0,753,750,752,657,654,656,42,694,695,691,0,753,754,750,657,658,654,42,694,696,695,0,753,755,754,657,659,658,42,697,696,694,0,756,755,753,660,659,657,42,698,696,697,0,757,755,756,661,659,660,42,698,699,696,0,757,758,755,661,662,659,42,700,699,698,0,759,760,761,663,662,661,42,700,701,699,0,759,762,760,663,664,662,42,702,701,700,0,763,762,759,665,664,663,42,702,703,701,0,763,764,762,665,666,664,42,704,703,702,0,765,764,763,667,666,665,42,704,705,703,0,765,766,764,667,668,666,42,706,705,704,0,767,766,765,669,668,667,42,706,707,705,0,767,768,766,669,670,668,42,708,707,706,0,769,768,767,671,670,669,42,708,709,707,0,769,770,768,671,672,670,42,710,709,708,0,771,770,769,673,672,671,42,710,711,709,0,771,772,770,673,674,672,42,712,711,710,0,773,772,771,675,674,673,42,712,713,711,0,773,774,772,675,676,674,42,714,713,712,0,775,774,773,677,676,675,42,714,715,713,0,775,776,774,677,678,676,42,716,715,714,0,777,776,775,679,678,677,42,716,717,715,0,777,778,776,679,680,678,42,718,717,716,0,779,778,777,681,680,679,42,718,719,717,0,779,780,778,681,682,680,42,720,719,718,0,781,780,779,683,682,681,42,720,721,719,0,781,782,780,683,684,682,42,722,721,720,0,783,782,781,685,684,683,42,722,723,721,0,783,784,782,685,686,684,42,724,723,722,0,785,784,783,687,686,685,42,724,725,723,0,785,786,784,687,688,686,42,724,726,725,0,785,787,786,687,689,688,42,727,726,724,0,788,787,785,690,689,687,42,727,728,726,0,788,789,787,690,691,689,42,729,728,727,0,790,789,788,692,691,690,42,729,730,728,0,790,791,789,692,693,691,42,729,731,730,0,790,792,791,692,694,693,42,732,731,729,0,793,792,790,695,694,692,42,732,733,731,0,793,794,792,695,696,694,42,734,733,732,0,795,794,793,697,696,695,42,733,734,735,0,794,795,796,696,697,698,42,734,736,735,0,795,797,796,697,699,698,42,734,737,736,0,795,798,797,697,700,699,42,737,734,738,0,798,795,799,700,697,701,42,738,734,732,0,799,795,793,701,697,695,42,738,732,739,0,799,793,800,701,695,702,42,739,732,729,0,800,793,790,702,695,692,42,729,727,739,0,790,788,800,692,690,702,42,739,727,724,0,800,788,785,702,690,687,42,739,724,740,0,800,785,801,702,687,703,42,740,724,722,0,801,785,783,703,687,685,42,740,722,741,0,801,783,802,703,685,704,42,741,722,720,0,802,783,781,704,685,683,42,741,720,742,0,802,781,803,704,683,705,42,742,720,718,0,803,781,779,705,683,681,42,743,742,718,0,804,803,779,706,705,681,42,743,744,742,0,804,805,803,706,707,705,42,745,744,743,0,806,805,804,708,707,706,42,745,746,744,0,806,807,805,708,709,707,42,747,746,745,0,808,807,806,710,709,708,42,746,747,748,0,807,808,809,709,710,711,42,747,749,748,0,808,810,809,710,712,711,42,747,750,749,0,808,811,810,710,713,712,42,750,747,751,0,811,808,812,713,710,714,42,751,747,745,0,812,808,806,714,710,708,42,751,745,752,0,812,806,813,714,708,715,42,752,745,743,0,813,806,804,715,708,706,42,752,743,716,0,813,804,777,715,706,679,42,716,743,718,0,777,804,779,679,706,681,42,714,752,716,0,775,813,777,677,715,679,42,753,752,714,0,814,813,775,716,715,677,42,753,751,752,0,814,812,813,716,714,715,42,754,751,753,0,815,812,814,717,714,716,42,754,750,751,0,815,811,812,717,713,714,42,755,750,754,0,816,811,815,718,713,717,42,750,755,756,0,811,816,817,713,718,719,42,755,757,756,0,816,818,817,718,720,719,42,755,758,757,0,816,819,818,718,721,720,42,758,755,759,0,819,816,820,721,718,722,42,759,755,754,0,820,816,815,722,718,717,42,759,754,760,0,820,815,821,722,717,723,42,760,754,753,0,821,815,814,723,717,716,42,753,712,760,0,814,773,821,716,675,723,42,712,753,714,0,773,814,775,675,716,677,42,760,712,710,0,821,773,771,723,675,673,42,760,710,761,0,821,771,822,723,673,724,42,761,710,708,0,822,771,769,724,673,671,42,762,761,708,0,823,822,769,725,724,671,42,762,763,761,0,823,824,822,725,726,724,42,764,763,762,0,825,824,823,727,726,725,42,764,765,763,0,825,826,824,727,728,726,42,766,765,764,0,827,826,825,729,728,727,42,765,766,767,0,826,827,828,728,729,730,42,766,768,767,0,827,829,828,729,731,730,42,766,769,768,0,827,830,829,729,732,731,42,769,766,770,0,830,827,831,732,729,733,42,770,766,764,0,831,827,825,733,729,727,42,770,764,771,0,831,825,832,733,727,734,42,771,764,762,0,832,825,823,734,727,725,42,771,762,706,0,832,823,767,734,725,669,42,706,762,708,0,767,823,769,669,725,671,42,704,771,706,0,765,832,767,667,734,669,42,772,771,704,0,833,832,765,735,734,667,42,772,770,771,0,833,831,832,735,733,734,42,773,770,772,0,834,831,833,736,733,735,42,773,769,770,0,834,830,831,736,732,733,42,774,769,773,0,835,830,834,737,732,736,42,769,774,775,0,830,835,836,732,737,738,42,774,776,775,0,835,837,836,737,739,738,42,774,777,776,0,835,838,837,737,740,739,42,777,774,778,0,838,835,839,740,737,741,42,778,774,773,0,839,835,834,741,737,736,42,778,773,779,0,839,834,840,741,736,742,42,779,773,772,0,840,834,833,742,736,735,42,779,772,702,0,840,833,763,742,735,665,42,702,772,704,0,763,833,765,665,735,667,42,779,702,700,0,840,763,759,742,665,663,42,780,779,700,0,841,840,759,743,742,663,42,780,778,779,0,841,839,840,743,741,742,42,781,778,780,0,842,839,841,744,741,743,42,777,778,781,0,838,839,842,740,741,744,42,782,777,781,0,843,838,842,745,740,744,42,777,782,783,0,838,843,844,740,745,746,42,782,784,783,0,843,845,844,745,747,746,42,782,785,784,0,843,846,845,745,748,747,42,785,782,786,0,846,843,847,748,745,749,42,782,781,786,0,843,842,847,745,744,749,42,786,781,787,0,847,842,848,749,744,750,42,787,781,780,0,848,842,841,750,744,743,42,787,780,788,0,848,841,849,750,743,751,42,780,698,788,0,841,761,849,743,661,751,42,780,700,698,0,841,759,761,743,663,661,42,788,698,697,0,850,757,756,751,661,660,42,789,788,697,0,851,850,756,752,751,660,42,790,788,789,0,852,850,851,753,751,752,42,787,788,790,0,848,849,853,750,751,753,42,791,787,790,0,854,848,853,754,750,753,42,791,786,787,0,854,847,848,754,749,750,42,792,786,791,0,855,847,854,755,749,754,42,792,785,786,0,855,846,847,755,748,749,42,792,793,785,0,855,856,846,755,756,748,42,792,794,793,0,855,857,856,755,757,756,42,794,792,795,0,857,855,858,757,755,758,42,795,792,791,0,858,855,854,758,755,754,42,795,791,796,0,858,854,859,758,754,759,42,796,791,790,0,859,854,853,759,754,753,42,796,790,797,0,860,852,861,759,753,760,42,797,790,789,0,861,852,851,760,753,752,42,797,789,798,0,861,851,862,760,752,761,42,798,789,799,0,862,851,863,761,752,762,42,789,697,799,0,851,756,863,752,660,762,42,799,697,800,0,863,756,864,762,660,763,42,697,694,800,0,756,753,864,660,657,763,42,800,694,693,0,864,753,752,763,657,656,42,800,693,605,0,864,752,649,763,656,568,42,605,693,607,0,649,752,651,568,656,570,42,603,800,605,0,647,864,649,566,763,568,42,603,799,800,0,647,863,864,566,762,763,42,601,799,603,0,645,863,647,564,762,566,42,601,798,799,0,645,862,863,564,761,762,42,599,798,601,0,643,862,645,562,761,564,42,801,798,599,0,865,862,643,764,761,562,42,801,797,798,0,865,861,862,764,760,761,42,802,797,801,0,866,861,865,765,760,764,42,802,796,797,0,866,860,861,765,759,760,42,802,803,796,0,866,867,860,765,766,759,42,804,803,802,0,868,867,866,767,766,765,42,804,795,803,0,869,858,870,767,758,766,42,804,805,795,0,869,871,858,767,768,758,42,806,805,804,0,872,871,869,769,768,767,42,806,807,805,0,872,873,871,769,770,768,42,807,808,805,0,873,874,871,770,771,768,42,807,809,808,0,873,875,874,770,772,771,42,809,810,808,0,875,876,874,772,773,771,42,809,811,810,0,875,877,876,772,774,773,42,810,811,812,0,876,877,878,773,774,775,42,811,813,812,0,877,879,878,774,776,775,42,813,814,812,0,879,880,878,776,777,775,42,813,815,814,0,879,881,880,776,778,777,42,815,816,814,0,881,882,880,778,779,777,42,817,816,815,0,883,882,881,780,779,778,42,817,818,816,0,883,884,882,780,781,779,42,819,818,817,0,885,884,883,782,781,780,42,819,820,818,0,885,886,884,782,783,781,42,821,820,819,0,887,886,885,784,783,782,42,820,821,584,0,886,887,630,783,784,547,42,405,584,821,0,440,626,888,368,547,784,42,405,821,822,0,440,888,889,368,784,785,42,822,821,823,0,889,888,890,785,784,786,42,823,821,819,0,890,888,891,786,784,782,42,823,819,400,0,890,891,892,786,782,363,42,400,819,817,0,892,891,893,363,782,780,42,368,823,400,0,894,890,892,330,786,363,42,368,824,823,0,894,895,890,330,787,786,42,198,824,368,0,896,895,894,160,787,330,42,198,825,824,0,896,897,895,160,788,787,42,114,825,198,0,898,897,896,76,788,160,42,114,826,825,0,898,899,897,76,789,788,42,83,826,114,0,900,899,898,45,789,76,42,83,827,826,0,900,901,899,45,790,789,42,17,827,83,0,902,901,900,14,790,45,42,17,828,827,0,902,903,901,14,791,790,42,17,86,828,0,902,904,903,14,48,791,42,87,828,86,0,905,903,904,49,791,48,42,87,829,828,0,905,906,903,49,792,791,42,87,118,829,0,905,145,906,49,80,792,42,118,152,829,0,145,147,906,80,114,792,42,829,152,830,0,906,147,907,792,114,793,42,830,152,831,0,907,147,908,793,114,794,42,152,832,831,0,147,909,908,114,795,794,42,151,832,152,0,146,909,147,113,795,114,42,151,372,832,0,146,405,909,113,334,795,42,372,374,832,0,405,407,909,334,336,795,42,832,374,833,0,909,407,910,795,336,796,42,833,374,822,0,910,407,889,796,336,785,42,374,405,822,0,407,440,889,336,368,785,42,374,373,405,0,407,406,440,336,335,368,42,824,833,822,0,895,910,889,787,796,785,42,825,833,824,0,897,910,895,788,796,787,42,825,831,833,0,897,908,910,788,794,796,42,826,831,825,0,899,908,897,789,794,788,42,830,831,826,0,907,908,899,793,794,789,42,827,830,826,0,901,907,899,790,793,789,42,828,830,827,0,903,907,901,791,793,790,42,828,829,830,0,903,906,907,791,792,793,42,832,833,831,0,909,910,908,795,796,794,42,824,822,823,0,895,889,890,787,785,786,42,87,85,86,0,105,61,62,49,47,48,42,584,586,820,0,630,629,886,547,549,783,42,586,818,820,0,629,884,886,549,781,783,42,818,586,834,0,884,629,911,781,549,797,42,586,835,834,0,629,912,911,549,798,797,42,587,835,586,0,631,912,629,550,798,549,42,587,836,835,0,631,913,912,550,799,798,42,589,836,587,0,633,913,631,552,799,550,42,589,837,836,0,633,914,913,552,800,799,42,591,837,589,0,635,914,633,554,800,552,42,594,837,591,0,638,914,635,557,800,554,42,594,838,837,0,638,915,914,557,801,800,42,596,838,594,0,640,915,638,559,801,557,42,596,839,838,0,640,916,915,559,802,801,42,598,839,596,0,642,916,640,561,802,559,42,598,840,839,0,642,917,916,561,803,802,42,600,840,598,0,644,917,642,563,803,561,42,600,841,840,0,644,918,917,563,804,803,42,602,841,600,0,646,918,644,565,804,563,42,602,842,841,0,646,919,918,565,805,804,42,604,842,602,0,648,919,646,567,805,565,42,604,843,842,0,648,920,919,567,806,805,42,606,843,604,0,650,920,648,569,806,567,42,606,844,843,0,650,921,920,569,807,806,42,608,844,606,0,652,921,650,571,807,569,42,608,845,844,0,652,922,921,571,808,807,42,610,845,608,0,654,922,652,573,808,571,42,610,846,845,0,654,923,922,573,809,808,42,610,847,846,0,654,924,923,573,810,809,42,612,847,610,0,656,924,654,575,810,573,42,612,848,847,0,656,925,924,575,811,810,42,614,848,612,0,658,925,656,577,811,575,42,614,849,848,0,658,926,925,577,812,811,42,616,849,614,0,660,926,658,579,812,577,42,616,850,849,0,660,927,926,579,813,812,42,618,850,616,0,662,927,660,581,813,579,42,618,851,850,0,662,928,927,581,814,813,42,620,851,618,0,664,928,662,583,814,581,42,620,852,851,0,664,929,928,583,815,814,42,622,852,620,0,666,929,664,585,815,583,42,622,853,852,0,666,930,929,585,816,815,42,624,853,622,0,668,930,666,587,816,585,42,624,640,853,0,668,690,930,587,603,816,42,626,640,624,0,670,690,668,589,603,587,42,640,854,853,0,690,931,930,603,817,816,42,640,641,854,0,690,691,931,603,604,817,42,854,641,642,0,931,691,692,817,604,605,42,854,642,855,0,931,692,932,817,605,818,42,855,642,646,0,932,692,696,818,605,609,42,642,643,646,0,692,693,696,605,606,609,42,855,646,648,0,932,696,698,818,609,611,42,856,855,648,0,933,932,698,819,818,611,42,854,855,856,0,931,932,933,817,818,819,42,857,854,856,0,934,931,933,820,817,819,42,858,854,857,0,935,931,934,821,817,820,42,852,854,858,0,929,931,935,815,817,821,42,853,854,852,0,930,931,929,816,817,815,42,852,858,851,0,929,935,928,815,821,814,42,851,858,859,0,928,935,936,814,821,822,42,859,858,860,0,936,935,937,822,821,823,42,860,858,857,0,937,935,934,823,821,820,42,860,857,861,0,937,934,938,823,820,824,42,857,650,861,0,934,700,938,820,613,824,42,857,856,650,0,934,933,700,820,819,613,42,856,648,650,0,933,698,700,819,611,613,42,651,861,650,0,701,938,700,614,824,613,42,651,654,861,0,701,939,938,614,617,824,42,654,862,861,0,939,940,938,617,825,824,42,654,863,862,0,939,941,940,617,826,825,42,655,863,654,0,707,942,706,618,826,617,42,655,671,863,0,707,730,942,618,634,826,42,657,671,655,0,709,730,707,620,634,618,42,671,864,863,0,730,943,942,634,827,826,42,671,672,864,0,730,731,943,634,635,827,42,672,865,864,0,731,944,943,635,828,827,42,672,677,865,0,731,736,944,635,640,828,42,673,677,672,0,732,736,731,636,640,635,42,677,866,865,0,736,945,944,640,829,828,42,677,678,866,0,736,737,945,640,641,829,42,678,867,866,0,737,946,945,641,830,829,42,678,683,867,0,737,742,946,641,646,830,42,679,683,678,0,738,742,737,642,646,641,42,683,868,867,0,742,947,946,646,831,830,42,683,684,868,0,742,743,947,646,647,831,42,684,869,868,0,743,948,947,647,832,831,42,684,689,869,0,743,748,948,647,652,832,42,685,689,684,0,744,748,743,648,652,647,42,689,870,869,0,748,949,948,652,833,832,42,689,690,870,0,748,749,949,652,653,833,42,690,871,870,0,749,950,949,653,834,833,42,690,695,871,0,749,754,950,653,658,834,42,691,695,690,0,750,754,749,654,658,653,42,695,872,871,0,754,951,950,658,835,834,42,695,696,872,0,754,755,951,658,659,835,42,699,872,696,0,758,951,755,662,835,659,42,873,872,699,0,952,953,954,836,835,662,42,873,874,872,0,952,955,953,836,837,835,42,875,874,873,0,956,955,952,838,837,836,42,875,876,874,0,956,957,955,838,839,837,42,877,876,875,0,958,957,956,840,839,838,42,878,876,877,0,959,957,958,841,839,840,42,879,876,878,0,960,957,959,842,839,841,42,879,880,876,0,960,961,957,842,843,839,42,839,880,879,0,916,961,960,802,843,842,42,840,880,839,0,917,961,916,803,843,802,42,840,881,880,0,917,962,961,803,844,843,42,841,881,840,0,918,962,917,804,844,803,42,841,882,881,0,918,963,962,804,845,844,42,842,882,841,0,919,963,918,805,845,804,42,842,883,882,0,919,964,963,805,846,845,42,843,883,842,0,920,964,919,806,846,805,42,843,884,883,0,920,965,964,806,847,846,42,844,884,843,0,921,965,920,807,847,806,42,844,885,884,0,921,966,965,807,848,847,42,845,885,844,0,922,966,921,808,848,807,42,845,886,885,0,922,967,966,808,849,848,42,846,886,845,0,923,967,922,809,849,808,42,846,887,886,0,923,968,967,809,850,849,42,847,887,846,0,924,968,923,810,850,809,42,847,888,887,0,924,969,968,810,851,850,42,848,888,847,0,925,969,924,811,851,810,42,848,889,888,0,925,970,969,811,852,851,42,849,889,848,0,926,970,925,812,852,811,42,849,859,889,0,926,936,970,812,822,852,42,850,859,849,0,927,936,926,813,822,812,42,851,859,850,0,928,936,927,814,822,813,42,889,859,890,0,970,936,971,852,822,853,42,890,859,860,0,971,936,937,853,822,823,42,890,860,862,0,971,937,940,853,823,825,42,860,861,862,0,937,938,940,823,824,825,42,890,862,891,0,971,940,972,853,825,854,42,863,891,862,0,941,972,940,826,854,825,42,863,864,891,0,941,973,972,826,827,854,42,864,892,891,0,973,974,972,827,855,854,42,864,865,892,0,973,975,974,827,828,855,42,865,893,892,0,975,976,974,828,856,855,42,865,866,893,0,975,977,976,828,829,856,42,866,894,893,0,977,978,976,829,857,856,42,866,867,894,0,977,979,978,829,830,857,42,867,895,894,0,979,980,978,830,858,857,42,867,896,895,0,979,981,980,830,859,858,42,867,868,896,0,979,982,981,830,831,859,42,868,897,896,0,982,983,981,831,860,859,42,868,869,897,0,982,984,983,831,832,860,42,869,898,897,0,984,985,983,832,861,860,42,870,898,869,0,986,985,984,833,861,832,42,870,899,898,0,986,987,985,833,862,861,42,871,899,870,0,988,987,986,834,862,833,42,871,874,899,0,988,955,987,834,837,862,42,872,874,871,0,953,955,988,835,837,834,42,876,899,874,0,957,987,955,839,862,837,42,876,900,899,0,957,989,987,839,863,862,42,880,900,876,0,961,989,957,843,863,839,42,880,881,900,0,961,962,989,843,844,863,42,881,901,900,0,962,990,989,844,864,863,42,881,882,901,0,962,963,990,844,845,864,42,882,902,901,0,963,991,990,845,865,864,42,882,883,902,0,963,964,991,845,846,865,42,883,903,902,0,964,992,991,846,866,865,42,883,884,903,0,964,965,992,846,847,866,42,884,904,903,0,965,993,992,847,867,866,42,884,885,904,0,965,966,993,847,848,867,42,885,905,904,0,966,994,993,848,868,867,42,885,886,905,0,966,967,994,848,849,868,42,886,906,905,0,967,995,994,849,869,868,42,886,887,906,0,967,968,995,849,850,869,42,887,907,906,0,968,996,995,850,870,869,42,887,888,907,0,968,969,996,850,851,870,42,888,890,907,0,969,971,996,851,853,870,42,888,889,890,0,969,970,971,851,852,853,42,907,890,891,0,996,971,972,870,853,854,42,892,907,891,0,974,996,972,855,870,854,42,906,907,892,0,995,996,974,869,870,855,42,893,906,892,0,976,995,974,856,869,855,42,905,906,893,0,994,995,976,868,869,856,42,894,905,893,0,978,994,976,857,868,856,42,904,905,894,0,993,994,978,867,868,857,42,904,894,895,0,993,978,980,867,857,858,42,903,904,895,0,992,993,980,866,867,858,42,903,895,896,0,992,980,981,866,858,859,42,902,903,896,0,991,992,981,865,866,859,42,902,896,897,0,991,981,983,865,859,860,42,901,902,897,0,990,991,983,864,865,860,42,901,897,898,0,990,983,985,864,860,861,42,900,901,898,0,989,990,985,863,864,861,42,900,898,899,0,989,985,987,863,861,862,42,839,879,838,0,916,960,915,802,842,801,42,838,879,908,0,915,960,997,801,842,871,42,908,879,878,0,997,960,959,871,842,841,42,908,878,909,0,997,959,998,871,841,872,42,909,878,877,0,998,959,958,872,841,840,42,909,877,910,0,998,958,999,872,840,873,42,910,877,911,0,999,958,1000,873,840,874,42,911,877,912,0,1000,958,1001,874,840,875,42,877,913,912,0,958,1002,1001,840,876,875,42,877,875,913,0,958,956,1002,840,838,876,42,913,875,914,0,1002,956,1003,876,838,877,42,914,875,873,0,1003,956,952,877,838,836,42,914,873,701,0,1003,952,1004,877,836,664,42,701,873,699,0,1004,952,954,664,836,662,42,701,703,914,0,1004,1005,1003,664,666,877,42,915,914,703,0,1006,1003,1005,878,877,666,42,913,914,915,0,1002,1003,1006,876,877,878,42,913,915,916,0,1002,1006,1007,876,878,879,42,916,915,917,0,1007,1006,1008,879,878,880,42,705,917,915,0,1009,1008,1006,668,880,878,42,707,917,705,0,1010,1008,1009,670,880,668,42,707,918,917,0,1010,1011,1008,670,881,880,42,709,918,707,0,1012,1011,1010,672,881,670,42,709,919,918,0,1012,1013,1011,672,882,881,42,711,919,709,0,1014,1013,1012,674,882,672,42,711,920,919,0,1014,1015,1013,674,883,882,42,711,921,920,0,1014,1016,1015,674,884,883,42,713,921,711,0,1017,1016,1014,676,884,674,42,713,922,921,0,1017,1018,1016,676,885,884,42,715,922,713,0,1019,1018,1017,678,885,676,42,715,923,922,0,1019,1020,1018,678,886,885,42,717,923,715,0,1021,1020,1019,680,886,678,42,717,924,923,0,1021,1022,1020,680,887,886,42,719,924,717,0,1023,1022,1021,682,887,680,42,719,925,924,0,1023,1024,1022,682,888,887,42,721,925,719,0,1025,1024,1023,684,888,682,42,721,926,925,0,1025,1026,1024,684,889,888,42,723,926,721,0,1027,1026,1025,686,889,684,42,723,927,926,0,1027,1028,1026,686,890,889,42,725,927,723,0,1029,1028,1027,688,890,686,42,725,928,927,0,1029,1030,1028,688,891,890,42,726,928,725,0,1031,1030,1029,689,891,688,42,726,929,928,0,1031,1032,1030,689,892,891,42,726,930,929,0,1031,1033,1032,689,893,892,42,728,930,726,0,789,1034,787,691,893,689,42,931,930,728,0,1035,1034,789,894,893,691,42,931,932,930,0,1035,1036,1034,894,895,893,42,933,932,931,0,676,726,725,896,895,894,42,933,934,932,0,676,682,726,896,897,895,42,935,934,933,0,681,682,676,898,897,896,42,936,934,935,0,1037,1038,1039,899,897,898,42,936,937,934,0,1037,1040,1038,899,900,897,42,938,937,936,0,1041,1040,1037,901,900,899,42,938,929,937,0,1041,1032,1040,901,892,900,42,939,929,938,0,1042,1032,1041,902,892,901,42,939,928,929,0,1042,1030,1032,902,891,892,42,940,928,939,0,1043,1030,1042,903,891,902,42,940,927,928,0,1043,1028,1030,903,890,891,42,941,927,940,0,1044,1028,1043,904,890,903,42,941,926,927,0,1044,1026,1028,904,889,890,42,942,926,941,0,1045,1026,1044,905,889,904,42,942,925,926,0,1045,1024,1026,905,888,889,42,943,925,942,0,1046,1024,1045,906,888,905,42,943,924,925,0,1046,1022,1024,906,887,888,42,944,924,943,0,1047,1022,1046,907,887,906,42,923,924,944,0,1020,1022,1047,886,887,907,42,945,923,944,0,1048,1020,1047,908,886,907,42,922,923,945,0,1018,1020,1048,885,886,908,42,946,922,945,0,1049,1018,1048,909,885,908,42,921,922,946,0,1016,1018,1049,884,885,909,42,947,921,946,0,1050,1016,1049,910,884,909,42,947,920,921,0,1050,1015,1016,910,883,884,42,948,920,947,0,1051,1015,1050,911,883,910,42,948,919,920,0,1051,1013,1015,911,882,883,42,949,919,948,0,1052,1013,1051,912,882,911,42,949,918,919,0,1052,1011,1013,912,881,882,42,950,918,949,0,1053,1011,1052,913,881,912,42,950,917,918,0,1053,1008,1011,913,880,881,42,916,917,950,0,1007,1008,1053,879,880,913,42,951,916,950,0,1054,1007,1053,914,879,913,42,952,916,951,0,1055,1007,1054,915,879,914,42,952,913,916,0,1055,1002,1007,915,876,879,42,953,913,952,0,1056,1002,1055,916,876,915,42,953,912,913,0,1056,1001,1002,916,875,876,42,954,912,953,0,1057,1001,1056,917,875,916,42,954,911,912,0,1057,1000,1001,917,874,875,42,955,911,954,0,1058,1000,1057,918,874,917,42,955,956,911,0,1058,1059,1000,918,919,874,42,816,956,955,0,882,1059,1058,779,919,918,42,818,956,816,0,884,1059,882,781,919,779,42,818,834,956,0,884,911,1059,781,797,919,42,834,910,956,0,911,999,1059,797,873,919,42,835,910,834,0,912,999,911,798,873,797,42,835,909,910,0,912,998,999,798,872,873,42,836,909,835,0,913,998,912,799,872,798,42,836,908,909,0,913,997,998,799,871,872,42,837,908,836,0,914,997,913,800,871,799,42,837,838,908,0,914,915,997,800,801,871,42,956,910,911,0,1059,999,1000,919,873,874,42,816,955,814,0,882,1058,880,779,918,777,42,814,955,957,0,880,1058,1060,777,918,920,42,957,955,954,0,1060,1058,1057,920,918,917,42,957,954,958,0,1060,1057,1061,920,917,921,42,958,954,953,0,1061,1057,1056,921,917,916,42,959,958,953,0,1062,1061,1056,922,921,916,42,960,958,959,0,1063,1061,1062,923,921,922,42,960,961,958,0,1063,1064,1061,923,924,921,42,962,961,960,0,1065,1064,1063,925,924,923,42,962,810,961,0,1065,876,1064,925,773,924,42,808,810,962,0,874,876,1065,771,773,925,42,794,808,962,0,857,874,1065,757,771,925,42,805,808,794,0,871,874,857,768,771,757,42,805,794,795,0,871,857,858,768,757,758,42,794,962,793,0,857,1065,856,757,925,756,42,793,962,960,0,856,1065,1063,756,925,923,42,793,960,963,0,856,1063,1066,756,923,926,42,963,960,959,0,1066,1063,1062,926,923,922,42,963,959,964,0,1066,1062,1067,926,922,927,42,964,959,952,0,1067,1062,1055,927,922,915,42,959,953,952,0,1062,1056,1055,922,916,915,42,964,952,951,0,1067,1055,1054,927,915,914,42,965,964,951,0,1068,1067,1054,928,927,914,42,784,964,965,0,845,1067,1068,747,927,928,42,784,963,964,0,845,1066,1067,747,926,927,42,785,963,784,0,846,1066,845,748,926,747,42,785,793,963,0,846,856,1066,748,756,926,42,783,784,965,0,844,845,1068,746,747,928,42,783,965,966,0,844,1068,1069,746,928,929,42,966,965,967,0,1069,1068,1070,929,928,930,42,965,951,967,0,1068,1054,1070,928,914,930,42,951,950,967,0,1054,1053,1070,914,913,930,42,967,950,949,0,1070,1053,1052,930,913,912,42,967,949,968,0,1070,1052,1071,930,912,931,42,968,949,948,0,1071,1052,1051,931,912,911,42,968,948,969,0,1071,1051,1072,931,911,932,42,969,948,947,0,1072,1051,1050,932,911,910,42,969,947,970,0,1072,1050,1073,932,910,933,42,970,947,946,0,1073,1050,1049,933,910,909,42,970,946,971,0,1073,1049,1074,933,909,934,42,971,946,945,0,1074,1049,1048,934,909,908,42,971,945,972,0,1074,1048,1075,934,908,935,42,972,945,944,0,1075,1048,1047,935,908,907,42,972,944,973,0,1075,1047,1076,935,907,936,42,973,944,943,0,1076,1047,1046,936,907,906,42,973,943,974,0,1076,1046,1077,936,906,937,42,974,943,975,0,1077,1046,1078,937,906,938,42,943,942,975,0,1046,1045,1078,906,905,938,42,975,942,976,0,1078,1045,1079,938,905,939,42,942,941,976,0,1045,1044,1079,905,904,939,42,976,941,977,0,1079,1044,1080,939,904,940,42,941,940,977,0,1044,1043,1080,904,903,940,42,977,940,939,0,1080,1043,1042,940,903,902,42,977,939,938,0,1080,1042,1041,940,902,901,42,977,938,978,0,1080,1041,1081,940,901,941,42,978,938,936,0,1081,1041,1037,941,901,899,42,978,936,979,0,1081,1037,1082,941,899,942,42,979,936,935,0,1082,1037,1039,942,899,898,42,979,935,980,0,1082,1039,1083,942,898,943,42,980,935,933,0,680,681,676,943,898,896,42,981,980,933,0,679,680,676,944,943,896,42,982,980,981,0,1084,1083,1085,945,943,944,42,982,979,980,0,1084,1082,1083,945,942,943,42,983,979,982,0,1086,1082,1084,946,942,945,42,983,978,979,0,1086,1081,1082,946,941,942,42,983,977,978,0,1086,1080,1081,946,940,941,42,977,983,984,0,1080,1086,1087,940,946,947,42,985,984,983,0,1088,1087,1086,948,947,946,42,985,986,984,0,1088,1089,1087,948,949,947,42,987,986,985,0,1090,1089,1088,950,949,948,42,987,746,986,0,1090,807,1089,950,709,949,42,746,987,744,0,807,1090,805,709,950,707,42,744,987,988,0,805,1090,1091,707,950,951,42,988,987,985,0,1091,1090,1088,951,950,948,42,988,985,989,0,1091,1088,1092,951,948,952,42,989,985,983,0,1092,1088,1086,952,948,946,42,989,983,982,0,1092,1086,1084,952,946,945,42,736,989,982,0,797,1092,1084,699,952,945,42,737,989,736,0,798,1092,797,700,952,699,42,737,988,989,0,798,1091,1092,700,951,952,42,990,988,737,0,1093,1091,798,953,951,700,42,744,988,990,0,805,1091,1093,707,951,953,42,744,990,742,0,805,1093,803,707,953,705,42,742,990,741,0,803,1093,802,705,953,704,42,990,740,741,0,1093,801,802,953,703,704,42,990,739,740,0,1093,800,801,953,702,703,42,990,738,739,0,1093,799,800,953,701,702,42,990,737,738,0,1093,798,799,953,700,701,42,736,982,981,0,797,1084,1085,699,945,944,42,736,981,735,0,797,1085,796,699,944,698,42,981,933,735,0,679,676,677,944,896,698,42,735,933,733,0,677,676,678,698,896,696,42,733,933,731,0,678,676,724,696,896,694,42,933,730,731,0,676,723,724,896,693,694,42,933,931,730,0,676,725,723,896,894,693,42,730,931,728,0,791,1035,789,693,894,691,42,746,748,986,0,807,809,1089,709,711,949,42,986,748,991,0,1089,809,1094,949,711,954,42,748,992,991,0,809,1095,1094,711,955,954,42,748,749,992,0,809,810,1095,711,712,955,42,749,993,992,0,810,1096,1095,712,956,955,42,749,756,993,0,810,817,1096,712,719,956,42,750,756,749,0,811,817,810,713,719,712,42,756,994,993,0,817,1097,1096,719,957,956,42,756,757,994,0,817,818,1097,719,720,957,42,757,995,994,0,818,1098,1097,720,958,957,42,757,996,995,0,818,1099,1098,720,959,958,42,758,996,757,0,819,1099,818,721,959,720,42,758,765,996,0,819,826,1099,721,728,959,42,765,758,763,0,826,819,824,728,721,726,42,763,758,759,0,824,819,820,726,721,722,42,763,759,761,0,824,820,822,726,722,724,42,761,759,760,0,822,820,821,724,722,723,42,765,767,996,0,826,828,1099,728,730,959,42,996,767,997,0,1099,828,1100,959,730,960,42,767,998,997,0,828,1101,1100,730,961,960,42,767,999,998,0,828,1102,1101,730,962,961,42,767,768,999,0,828,829,1102,730,731,962,42,768,1000,999,0,829,1103,1102,731,963,962,42,768,775,1000,0,829,836,1103,731,738,963,42,769,775,768,0,830,836,829,732,738,731,42,775,1001,1000,0,836,1104,1103,738,964,963,42,775,776,1001,0,836,837,1104,738,739,964,42,776,966,1001,0,837,1069,1104,739,929,964,42,776,783,966,0,837,844,1069,739,746,929,42,777,783,776,0,838,844,837,740,746,739,42,1001,966,968,0,1104,1069,1071,964,929,931,42,966,967,968,0,1069,1070,1071,929,930,931,42,1001,968,969,0,1104,1071,1072,964,931,932,42,1000,1001,969,0,1103,1104,1072,963,964,932,42,1000,969,970,0,1103,1072,1073,963,932,933,42,999,1000,970,0,1102,1103,1073,962,963,933,42,999,970,971,0,1102,1073,1074,962,933,934,42,998,999,971,0,1101,1102,1074,961,962,934,42,998,971,972,0,1101,1074,1075,961,934,935,42,998,972,997,0,1101,1075,1100,961,935,960,42,997,972,973,0,1100,1075,1076,960,935,936,42,997,973,995,0,1100,1076,1098,960,936,958,42,995,973,974,0,1098,1076,1077,958,936,937,42,994,995,974,0,1097,1098,1077,957,958,937,42,994,974,975,0,1097,1077,1078,957,937,938,42,993,994,975,0,1096,1097,1078,956,957,938,42,992,993,975,0,1095,1096,1078,955,956,938,42,992,975,976,0,1095,1078,1079,955,938,939,42,991,992,976,0,1094,1095,1079,954,955,939,42,991,976,977,0,1094,1079,1080,954,939,940,42,991,977,984,0,1094,1080,1087,954,940,947,42,986,991,984,0,1089,1094,1087,949,954,947,42,996,997,995,0,1099,1100,1098,959,960,958,42,810,812,961,0,876,878,1064,773,775,924,42,961,812,957,0,1064,878,1060,924,775,920,42,812,814,957,0,878,880,1060,775,777,920,42,961,957,958,0,1064,1060,1061,924,920,921,42,930,937,929,0,1033,1040,1032,893,900,892,42,930,932,937,0,1033,1105,1040,893,895,900,42,932,934,937,0,1105,1038,1040,895,897,900,42,703,705,915,0,1005,1009,1006,666,668,878,42,806,804,1002,0,1106,868,1107,769,767,965,42,1002,804,802,0,1107,868,866,965,767,765,42,1002,802,1003,0,1107,866,1108,965,765,966,42,1003,802,801,0,1108,866,865,966,765,764,42,801,597,1003,0,865,641,1108,764,560,966,42,801,599,597,0,865,643,641,764,562,560,42,595,1003,597,0,639,1108,641,558,966,560,42,1004,1003,595,0,1109,1108,639,967,966,558,42,1004,1002,1003,0,1109,1107,1108,967,965,966,42,1005,1002,1004,0,1110,1107,1109,968,965,967,42,1005,806,1002,0,1110,1106,1107,968,769,965,42,1006,1005,1004,0,1111,1110,1109,969,968,967,42,1006,1004,593,0,1111,1109,637,969,967,556,42,593,1004,595,0,637,1109,639,556,967,558,42,592,1006,593,0,636,1111,637,555,969,556,42,803,795,796,0,870,858,859,766,758,759,42,215,217,389,0,215,217,422,177,179,352,42,215,389,1007,0,215,422,1112,177,352,970,42,1007,389,386,0,1112,422,419,970,352,348,42,1007,386,383,0,1112,419,416,970,348,345,42,1007,383,1008,0,1112,416,1113,970,345,971,42,1008,383,381,0,1113,416,414,971,345,343,42,1008,381,209,0,1113,414,209,971,343,171,42,208,209,381,0,208,209,414,170,171,343,42,209,210,1008,0,209,210,1113,171,172,971,42,1007,1008,210,0,1112,1113,210,970,971,172,42,210,212,1007,0,210,212,1112,172,174,970,42,212,215,1007,0,212,215,1112,174,177,970,42,204,372,203,0,204,403,203,166,334,165,42,203,372,202,0,203,403,202,165,334,164,42,202,372,201,0,202,403,201,164,334,163,42,232,224,225,0,236,226,227,194,186,187,42,232,225,226,0,236,227,228,194,187,188,42,232,226,230,0,236,228,237,194,188,192,42,172,173,231,0,169,170,235,134,135,193,42,172,231,1009,0,168,234,1114,134,193,972,42,1009,231,229,0,1114,234,232,972,193,191,42,1009,229,1010,0,1114,232,1115,972,191,973,42,1010,229,228,0,1115,232,231,973,191,190,42,166,1010,228,0,161,1115,231,128,973,190,42,168,1010,166,0,163,1115,161,130,973,128,42,168,1009,1010,0,163,1114,1115,130,972,973,42,170,1009,168,0,165,1114,163,132,972,130,42,172,1009,170,0,168,1114,165,134,972,132,42,166,228,1011,0,161,231,1116,128,190,974,42,1011,228,211,0,1116,231,211,974,190,173,42,228,213,211,0,231,213,211,190,175,173,42,164,1011,211,0,159,1116,211,126,974,173,42,166,1011,164,0,161,1116,159,128,974,126,42,164,211,163,0,159,211,158,126,173,125,42,127,128,171,0,116,167,166,89,90,133,42,126,127,171,0,115,116,166,88,89,133,42,126,171,125,0,115,166,114,88,133,87,42,171,169,125,0,166,164,114,133,131,87,42,125,169,1012,0,114,164,1117,87,131,975,42,1012,169,1013,0,1117,164,1118,975,131,976,42,1013,169,167,0,1118,164,162,976,131,129,42,1013,167,1014,0,1118,162,1119,976,129,977,42,1014,167,165,0,1119,162,160,977,129,127,42,1014,165,1015,0,1119,160,1120,977,127,978,42,1015,165,161,0,1120,160,156,978,127,123,42,1015,161,1016,0,1120,156,1121,978,123,979,42,161,159,1016,0,156,154,1121,123,121,979,42,1016,159,1017,0,1121,154,1122,979,121,980,42,159,157,1017,0,154,152,1122,121,119,980,42,1017,157,155,0,1122,152,150,980,119,117,42,1017,155,1018,0,1122,150,1123,980,117,981,42,1018,155,153,0,1123,150,148,981,117,115,42,1018,153,1019,0,1123,148,1124,981,115,982,42,118,1019,153,0,106,1124,148,80,982,115,42,119,1019,118,0,107,1124,106,81,982,80,42,119,1020,1019,0,107,1125,1124,81,983,982,42,119,1021,1020,0,107,1126,1125,81,984,983,42,120,1021,119,0,108,1126,107,82,984,81,42,120,1022,1021,0,108,1127,1126,82,985,984,42,122,1022,120,0,1128,1127,108,84,985,82,42,122,124,1022,0,111,113,1129,84,86,985,42,124,1023,1022,0,113,1130,1129,86,986,985,42,124,1012,1023,0,113,1117,1130,86,975,986,42,124,125,1012,0,113,114,1117,86,87,975,42,1023,1012,1024,0,1130,1117,1131,986,975,987,42,1012,1013,1024,0,1117,1118,1131,975,976,987,42,1024,1013,1025,0,1131,1118,1132,987,976,988,42,1025,1013,1014,0,1132,1118,1119,988,976,977,42,1025,1014,1026,0,1132,1119,1133,988,977,989,42,1026,1014,1015,0,1133,1119,1120,989,977,978,42,1026,1015,1027,0,1133,1120,1134,989,978,990,42,1015,1016,1027,0,1120,1121,1134,978,979,990,42,1027,1016,1028,0,1134,1121,1135,990,979,991,42,1016,1017,1028,0,1121,1122,1135,979,980,991,42,1028,1017,1018,0,1135,1122,1123,991,980,981,42,1028,1018,1029,0,1135,1123,1136,991,981,992,42,1029,1018,1019,0,1136,1123,1124,992,981,982,42,1020,1029,1019,0,1125,1136,1124,983,992,982,42,1020,1030,1029,0,1125,1137,1136,983,993,992,42,1031,1030,1020,0,1138,1137,1125,994,993,983,42,1032,1030,1031,0,1139,1137,1138,995,993,994,42,1032,1033,1030,0,1139,1140,1137,995,996,993,42,1032,1034,1033,0,1141,1142,1143,995,997,996,42,1032,1035,1034,0,1141,1144,1142,995,998,997,42,1036,1035,1032,0,1145,1144,1141,999,998,995,42,1037,1035,1036,0,1146,1144,1145,1000,998,999,42,1037,1038,1035,0,1146,1147,1144,1000,1001,998,42,1039,1038,1037,0,1148,1147,1146,1002,1001,1000,42,1039,1040,1038,0,1148,1149,1147,1002,1003,1001,42,1041,1040,1039,0,1150,1149,1148,1004,1003,1002,42,1041,1042,1040,0,1150,1151,1149,1004,1005,1003,42,1043,1042,1041,0,1152,1151,1150,1006,1005,1004,42,1044,1042,1043,0,1153,1151,1152,1007,1005,1006,42,1042,1044,1045,0,1151,1153,1154,1005,1007,1008,42,1044,1046,1045,0,1153,1155,1154,1007,1009,1008,42,1044,1047,1046,0,1153,1156,1155,1007,1010,1009,42,1048,1047,1044,0,1157,1156,1153,1011,1010,1007,42,1049,1047,1048,0,1158,1156,1157,1012,1010,1011,42,1049,1050,1047,0,1158,1159,1156,1012,1013,1010,42,1049,1051,1050,0,1158,1160,1159,1012,1014,1013,42,1052,1051,1049,0,1161,1160,1158,1015,1014,1012,42,1053,1051,1052,0,1162,1160,1161,1016,1014,1015,42,1054,1051,1053,0,1163,1160,1162,1017,1014,1016,42,1054,1055,1051,0,1163,1164,1160,1017,1018,1014,42,1056,1055,1054,0,1165,1164,1163,1019,1018,1017,42,1056,1057,1055,0,1165,1166,1164,1019,1020,1018,42,1056,1058,1057,0,1165,1167,1166,1019,1021,1020,42,1059,1058,1056,0,1168,1167,1165,1022,1021,1019,42,1059,1060,1058,0,1168,1169,1167,1022,1023,1021,42,1061,1060,1059,0,1170,1169,1168,1024,1023,1022,42,1060,1061,1062,0,1169,1170,1171,1023,1024,1025,42,1061,1063,1062,0,1170,1172,1171,1024,1026,1025,42,1061,1064,1063,0,1170,1173,1172,1024,1027,1026,42,1064,1061,1065,0,1173,1170,1174,1027,1024,1028,42,1065,1061,1059,0,1174,1170,1168,1028,1024,1022,42,1065,1059,1066,0,1174,1168,1175,1028,1022,1029,42,1066,1059,1056,0,1175,1168,1165,1029,1022,1019,42,1056,1054,1066,0,1165,1163,1175,1019,1017,1029,42,1066,1054,1053,0,1175,1163,1162,1029,1017,1016,42,1066,1053,1067,0,1175,1162,1176,1029,1016,1030,42,1067,1053,1052,0,1176,1162,1161,1030,1016,1015,42,1067,1052,1068,0,1176,1161,1177,1030,1015,1031,42,1068,1052,1069,0,1177,1161,1178,1031,1015,1032,42,1052,1049,1069,0,1161,1158,1178,1015,1012,1032,42,1069,1049,1048,0,1178,1158,1157,1032,1012,1011,42,1069,1048,1070,0,1178,1157,1179,1032,1011,1033,42,1070,1048,1043,0,1179,1157,1152,1033,1011,1006,42,1048,1044,1043,0,1157,1153,1152,1011,1007,1006,42,1070,1043,1071,0,1179,1152,1180,1033,1006,1034,42,1071,1043,1041,0,1180,1152,1150,1034,1006,1004,42,1071,1041,1072,0,1180,1150,1181,1034,1004,1035,42,1072,1041,1039,0,1181,1150,1148,1035,1004,1002,42,1072,1039,1073,0,1181,1148,1182,1035,1002,1036,42,1073,1039,1037,0,1182,1148,1146,1036,1002,1000,42,1073,1037,1074,0,1182,1146,1183,1036,1000,1037,42,1074,1037,1036,0,1183,1146,1145,1037,1000,999,42,1075,1074,1036,0,1184,1185,1186,1038,1037,999,42,1023,1074,1075,0,1130,1185,1184,986,1037,1038,42,1023,1024,1074,0,1130,1131,1185,986,987,1037,42,1024,1076,1074,0,1131,1187,1185,987,1039,1037,42,1024,1077,1076,0,1131,1188,1187,987,1040,1039,42,1024,1025,1077,0,1131,1132,1188,987,988,1040,42,1025,1026,1077,0,1132,1133,1188,988,989,1040,42,1077,1026,1078,0,1189,1190,1191,1040,989,1041,42,1078,1026,1079,0,1191,1190,1192,1041,989,1042,42,1079,1026,1027,0,1192,1190,1193,1042,989,990,42,1079,1027,1080,0,1192,1193,1194,1042,990,1043,42,1080,1027,1028,0,1195,1196,1197,1043,990,991,42,1080,1028,1081,0,1195,1197,1198,1043,991,1044,42,1081,1028,1082,0,1198,1197,1199,1044,991,1045,42,1082,1028,1083,0,1199,1197,1200,1045,991,1046,42,1083,1028,1029,0,1201,1135,1136,1046,991,992,42,1083,1029,1030,0,1201,1136,1137,1046,992,993,42,1030,1033,1083,0,1137,1140,1201,993,996,1046,42,1082,1083,1033,0,1199,1200,1143,1045,1046,996,42,1034,1082,1033,0,1142,1199,1143,997,1045,996,42,1084,1082,1034,0,1202,1199,1142,1047,1045,997,42,1084,1081,1082,0,1202,1198,1199,1047,1044,1045,42,1081,1084,1085,0,1198,1202,1203,1044,1047,1048,42,1085,1084,1086,0,1203,1202,1204,1048,1047,1049,42,1086,1084,1087,0,1204,1202,1205,1049,1047,1050,42,1088,1087,1084,0,1206,1205,1202,1051,1050,1047,42,1088,1089,1087,0,1206,1207,1205,1051,1052,1050,42,1038,1089,1088,0,1147,1207,1206,1001,1052,1051,42,1038,1040,1089,0,1147,1149,1207,1001,1003,1052,42,1040,1090,1089,0,1149,1208,1207,1003,1053,1052,42,1040,1042,1090,0,1149,1151,1208,1003,1005,1053,42,1042,1045,1090,0,1151,1154,1208,1005,1008,1053,42,1090,1045,1091,0,1208,1154,1209,1053,1008,1054,42,1045,1092,1091,0,1154,1210,1209,1008,1055,1054,42,1045,1046,1092,0,1154,1155,1210,1008,1009,1055,42,1092,1046,1093,0,1210,1155,1211,1055,1009,1056,42,1093,1046,1094,0,1211,1155,1212,1056,1009,1057,42,1046,1047,1094,0,1155,1156,1212,1009,1010,1057,42,1094,1047,1050,0,1212,1156,1159,1057,1010,1013,42,1094,1050,1095,0,1212,1159,1213,1057,1013,1058,42,1095,1050,1096,0,1213,1159,1214,1058,1013,1059,42,1051,1096,1050,0,1160,1214,1159,1014,1059,1013,42,1051,1097,1096,0,1160,1215,1214,1014,1060,1059,42,1055,1097,1051,0,1164,1215,1160,1018,1060,1014,42,1055,1098,1097,0,1164,1216,1215,1018,1061,1060,42,1057,1098,1055,0,1166,1216,1164,1020,1061,1018,42,1057,1099,1098,0,1166,1217,1216,1020,1062,1061,42,1057,1100,1099,0,1166,1218,1217,1020,1063,1062,42,1058,1100,1057,0,1167,1218,1166,1021,1063,1020,42,1058,1101,1100,0,1167,1219,1218,1021,1064,1063,42,1060,1101,1058,0,1169,1219,1167,1023,1064,1021,42,1101,1060,1102,0,1219,1169,1220,1064,1023,1065,42,1060,1062,1102,0,1169,1171,1220,1023,1025,1065,42,1102,1062,1103,0,1221,1222,1223,1065,1025,1066,42,1062,1104,1103,0,1222,1224,1223,1025,1067,1066,42,1062,1063,1104,0,1222,1225,1224,1025,1026,1067,42,1063,1105,1104,0,1225,1226,1224,1026,1068,1067,42,1063,1106,1105,0,1225,1227,1226,1026,1069,1068,42,1064,1106,1063,0,1173,1228,1172,1027,1069,1026,42,1064,1107,1106,0,1173,1229,1228,1027,1070,1069,42,1107,1064,1108,0,1229,1173,1230,1070,1027,1071,42,1108,1064,1065,0,1230,1173,1174,1071,1027,1028,42,1108,1065,1067,0,1230,1174,1176,1071,1028,1030,42,1067,1065,1066,0,1176,1174,1175,1030,1028,1029,42,1068,1108,1067,0,1177,1230,1176,1031,1071,1030,42,1109,1108,1068,0,1231,1230,1177,1072,1071,1031,42,1109,1107,1108,0,1231,1229,1230,1072,1070,1071,42,1110,1107,1109,0,1232,1229,1231,1073,1070,1072,42,1107,1110,1111,0,1229,1232,1233,1070,1073,1074,42,1110,1112,1111,0,1232,1234,1233,1073,1075,1074,42,1110,1113,1112,0,1232,1235,1234,1073,1076,1075,42,1113,1110,1114,0,1235,1232,1236,1076,1073,1077,42,1114,1110,1109,0,1236,1232,1231,1077,1073,1072,42,1114,1109,1115,0,1236,1231,1237,1077,1072,1078,42,1115,1109,1068,0,1237,1231,1177,1078,1072,1031,42,1068,1069,1115,0,1177,1178,1237,1031,1032,1078,42,1069,1070,1115,0,1178,1179,1237,1032,1033,1078,42,1115,1070,1116,0,1237,1179,1238,1078,1033,1079,42,1116,1070,1071,0,1238,1179,1180,1079,1033,1034,42,1116,1071,1117,0,1238,1180,1239,1079,1034,1080,42,1117,1071,1072,0,1239,1180,1181,1080,1034,1035,42,1117,1072,1118,0,1239,1181,1240,1080,1035,1081,42,1118,1072,1073,0,1240,1181,1182,1081,1035,1036,42,1076,1118,1073,0,1241,1240,1182,1039,1081,1036,42,1076,1077,1118,0,1241,1189,1240,1039,1040,1081,42,1118,1077,1078,0,1240,1189,1191,1081,1040,1041,42,1118,1078,1119,0,1240,1191,1242,1081,1041,1082,42,1078,1079,1119,0,1191,1192,1242,1041,1042,1082,42,1113,1119,1079,0,1235,1242,1192,1076,1082,1042,42,1119,1113,1114,0,1242,1235,1236,1082,1076,1077,42,1119,1114,1116,0,1242,1236,1238,1082,1077,1079,42,1116,1114,1115,0,1238,1236,1237,1079,1077,1078,42,1117,1119,1116,0,1239,1242,1238,1080,1082,1079,42,1118,1119,1117,0,1240,1242,1239,1081,1082,1080,42,1113,1079,1080,0,1235,1192,1194,1076,1042,1043,42,1112,1113,1080,0,1234,1235,1194,1075,1076,1043,42,1112,1080,1081,0,1243,1195,1198,1075,1043,1044,42,1112,1081,1085,0,1243,1198,1203,1075,1044,1048,42,1111,1112,1085,0,1244,1243,1203,1074,1075,1048,42,1111,1085,1086,0,1244,1203,1204,1074,1048,1049,42,1106,1111,1086,0,1227,1244,1204,1069,1074,1049,42,1107,1111,1106,0,1229,1233,1228,1070,1074,1069,42,1106,1086,1105,0,1227,1204,1226,1069,1049,1068,42,1105,1086,1087,0,1226,1204,1205,1068,1049,1050,42,1105,1087,1120,0,1226,1205,1245,1068,1050,1083,42,1089,1120,1087,0,1207,1245,1205,1052,1083,1050,42,1089,1090,1120,0,1207,1208,1245,1052,1053,1083,42,1090,1091,1120,0,1208,1209,1245,1053,1054,1083,42,1104,1120,1091,0,1224,1245,1209,1067,1083,1054,42,1104,1105,1120,0,1224,1226,1245,1067,1068,1083,42,1103,1104,1091,0,1223,1224,1209,1066,1067,1054,42,1103,1091,1092,0,1223,1209,1210,1066,1054,1055,42,1103,1092,1121,0,1223,1210,1246,1066,1055,1084,42,1121,1092,1093,0,1246,1210,1211,1084,1055,1056,42,1121,1093,1122,0,1246,1211,1247,1084,1056,1085,42,1093,1123,1122,0,1211,1248,1247,1056,1086,1085,42,1093,1094,1123,0,1211,1212,1248,1056,1057,1086,42,1123,1094,1095,0,1248,1212,1213,1086,1057,1058,42,1123,1095,1124,0,1248,1213,1249,1086,1058,1087,42,1124,1095,1125,0,1249,1213,1250,1087,1058,1088,42,1095,1096,1125,0,1213,1214,1250,1058,1059,1088,42,1125,1096,1126,0,1250,1214,1251,1088,1059,1089,42,1097,1126,1096,0,1215,1251,1214,1060,1089,1059,42,1097,1127,1126,0,1215,1252,1251,1060,1090,1089,42,1098,1127,1097,0,1216,1252,1215,1061,1090,1060,42,1098,1128,1127,0,1216,1253,1252,1061,1091,1090,42,1099,1128,1098,0,1217,1253,1216,1062,1091,1061,42,1099,1129,1128,0,1217,1254,1253,1062,1092,1091,42,1130,1129,1099,0,1255,1254,1217,1093,1092,1062,42,1130,1131,1129,0,1255,1256,1254,1093,1094,1092,42,1132,1131,1130,0,1257,1256,1255,1095,1094,1093,42,1132,1133,1131,0,1257,1258,1256,1095,1096,1094,42,1132,1134,1133,0,1257,1259,1258,1095,1097,1096,42,1102,1134,1132,0,1220,1259,1257,1065,1097,1095,42,1102,1122,1134,0,1221,1247,1260,1065,1085,1097,42,1102,1121,1122,0,1221,1246,1247,1065,1084,1085,42,1102,1103,1121,0,1221,1223,1246,1065,1066,1084,42,1134,1122,1135,0,1260,1247,1261,1097,1085,1098,42,1122,1136,1135,0,1247,1262,1261,1085,1099,1098,42,1122,1123,1136,0,1247,1248,1262,1085,1086,1099,42,1123,1124,1136,0,1248,1249,1262,1086,1087,1099,42,1136,1124,1137,0,1262,1249,1263,1099,1087,1100,42,1124,1138,1137,0,1249,1264,1263,1087,1101,1100,42,1124,1125,1138,0,1249,1250,1264,1087,1088,1101,42,1138,1125,1139,0,1264,1250,1265,1101,1088,1102,42,1125,1126,1139,0,1250,1251,1265,1088,1089,1102,42,1139,1126,1140,0,1265,1251,1266,1102,1089,1103,42,1127,1140,1126,0,1252,1266,1251,1090,1103,1089,42,1127,1141,1140,0,1252,1267,1266,1090,1104,1103,42,1128,1141,1127,0,1253,1267,1252,1091,1104,1090,42,1128,1142,1141,0,1253,1268,1267,1091,1105,1104,42,1129,1142,1128,0,1254,1268,1253,1092,1105,1091,42,1129,1143,1142,0,1254,1269,1268,1092,1106,1105,42,1131,1143,1129,0,1256,1269,1254,1094,1106,1092,42,1131,1144,1143,0,1256,1270,1269,1094,1107,1106,42,1133,1144,1131,0,1258,1270,1256,1096,1107,1094,42,1133,1145,1144,0,1258,1271,1270,1096,1108,1107,42,1133,1135,1145,0,1258,1272,1271,1096,1098,1108,42,1134,1135,1133,0,1259,1272,1258,1097,1098,1096,42,1135,1146,1145,0,1272,1273,1271,1098,1109,1108,42,1135,1136,1146,0,1261,1262,1274,1098,1099,1109,42,1136,1137,1146,0,1262,1263,1274,1099,1100,1109,42,1146,1137,1147,0,1274,1263,1275,1109,1100,1110,42,1137,1148,1147,0,1263,1276,1275,1100,1111,1110,42,1137,1138,1148,0,1263,1264,1276,1100,1101,1111,42,1138,1149,1148,0,1264,1277,1276,1101,1112,1111,42,1138,1139,1149,0,1264,1265,1277,1101,1102,1112,42,1149,1139,1150,0,1277,1265,1278,1112,1102,1113,42,1139,1140,1150,0,1265,1266,1278,1102,1103,1113,42,1150,1140,1151,0,1278,1266,1279,1113,1103,1114,42,1141,1151,1140,0,1267,1279,1266,1104,1114,1103,42,1141,1152,1151,0,1267,1280,1279,1104,1115,1114,42,1142,1152,1141,0,1268,1280,1267,1105,1115,1104,42,1142,1153,1152,0,1268,1281,1280,1105,1116,1115,42,1143,1153,1142,0,1269,1281,1268,1106,1116,1105,42,1143,1154,1153,0,1269,1282,1281,1106,1117,1116,42,1144,1154,1143,0,1270,1282,1269,1107,1117,1106,42,1144,1155,1154,0,1270,1283,1282,1107,1118,1117,42,1145,1155,1144,0,1271,1283,1270,1108,1118,1107,42,1145,1156,1155,0,1271,1284,1283,1108,1119,1118,42,1145,1146,1156,0,1271,1273,1284,1108,1109,1119,42,1146,1147,1156,0,1273,1285,1284,1109,1110,1119,42,1156,1147,1157,0,1284,1285,1286,1119,1110,1120,42,1147,1158,1157,0,1285,1287,1286,1110,1121,1120,42,1147,1148,1158,0,1275,1276,1288,1110,1111,1121,42,1148,1159,1158,0,1276,1289,1288,1111,1122,1121,42,1148,1149,1159,0,1276,1277,1289,1111,1112,1122,42,1149,1160,1159,0,1277,1290,1289,1112,1123,1122,42,1149,1150,1160,0,1277,1278,1290,1112,1113,1123,42,1160,1150,1161,0,1290,1278,1291,1123,1113,1124,42,1150,1151,1161,0,1278,1279,1291,1113,1114,1124,42,1161,1151,1162,0,1291,1279,1292,1124,1114,1125,42,1152,1162,1151,0,1280,1292,1279,1115,1125,1114,42,1152,1163,1162,0,1280,1293,1292,1115,1126,1125,42,1153,1163,1152,0,1281,1293,1280,1116,1126,1115,42,1153,1164,1163,0,1281,1294,1293,1116,1127,1126,42,1154,1164,1153,0,1282,1294,1281,1117,1127,1116,42,1154,1165,1164,0,1282,1295,1294,1117,1128,1127,42,1155,1165,1154,0,1283,1295,1282,1118,1128,1117,42,1166,1165,1155,0,1296,1295,1283,1129,1128,1118,42,1167,1165,1166,0,1297,1295,1296,1130,1128,1129,42,1168,1165,1167,0,1298,1295,1297,1131,1128,1130,42,1168,1164,1165,0,1298,1294,1295,1131,1127,1128,42,1168,1169,1164,0,1298,1299,1294,1131,1132,1127,42,1168,1170,1169,0,1298,1300,1299,1131,1133,1132,42,1168,1171,1170,0,1298,1301,1300,1131,1134,1133,42,1167,1171,1168,0,1297,1301,1298,1130,1134,1131,42,1167,1172,1171,0,1297,1302,1301,1130,1135,1134,42,1173,1172,1167,0,1303,1302,1297,1136,1135,1130,42,1174,1172,1173,0,1304,1302,1303,1137,1135,1136,42,1175,1172,1174,0,371,392,393,1138,1135,1137,42,1175,1171,1172,0,371,391,392,1138,1134,1135,42,1170,1171,1175,0,390,391,371,1133,1134,1138,42,1176,1170,1175,0,377,390,371,1139,1133,1138,42,1169,1170,1176,0,1299,1300,1305,1132,1133,1139,42,1169,1176,1177,0,1299,1305,1306,1132,1139,1140,42,1178,1177,1176,0,1307,1306,1305,1141,1140,1139,42,1178,1179,1177,0,1307,1308,1306,1141,1142,1140,42,1180,1179,1178,0,1309,1308,1307,1143,1142,1141,42,1180,1181,1179,0,1309,1310,1308,1143,1144,1142,42,1181,1180,1182,0,1310,1309,1311,1144,1143,1145,42,1180,1175,1182,0,375,371,374,1143,1138,1145,42,1178,1175,1180,0,376,371,375,1141,1138,1143,42,1178,1176,1175,0,376,377,371,1141,1139,1138,42,1182,1175,1183,0,374,371,372,1145,1138,1146,42,1175,1184,1183,0,371,373,372,1138,1147,1146,42,1175,1174,1184,0,371,393,373,1138,1137,1147,42,1184,1174,1185,0,1312,1304,1313,1147,1137,1148,42,1185,1174,1173,0,1313,1304,1303,1148,1137,1136,42,1185,1173,1157,0,1313,1303,1286,1148,1136,1120,42,1173,1166,1157,0,1303,1296,1286,1136,1129,1120,42,1167,1166,1173,0,1297,1296,1303,1130,1129,1136,42,1157,1166,1156,0,1286,1296,1284,1120,1129,1119,42,1156,1166,1155,0,1284,1296,1283,1119,1129,1118,42,1158,1185,1157,0,1287,1313,1286,1121,1148,1120,42,1186,1185,1158,0,1314,1313,1287,1149,1148,1121,42,1185,1186,1184,0,1313,1314,1312,1148,1149,1147,42,1186,1183,1184,0,1314,1315,1312,1149,1146,1147,42,1186,1187,1183,0,1316,1317,1318,1149,1150,1146,42,1159,1187,1186,0,1289,1317,1316,1122,1150,1149,42,1160,1187,1159,0,1290,1317,1289,1123,1150,1122,42,1160,1181,1187,0,1290,1310,1317,1123,1144,1150,42,1160,1161,1181,0,1290,1291,1310,1123,1124,1144,42,1181,1161,1179,0,1310,1291,1308,1144,1124,1142,42,1161,1162,1179,0,1291,1292,1308,1124,1125,1142,42,1179,1162,1177,0,1308,1292,1306,1142,1125,1140,42,1177,1162,1163,0,1306,1292,1293,1140,1125,1126,42,1169,1177,1163,0,1299,1306,1293,1132,1140,1126,42,1169,1163,1164,0,1299,1293,1294,1132,1126,1127,42,1187,1181,1182,0,1317,1310,1311,1150,1144,1145,42,1187,1182,1183,0,1317,1311,1318,1150,1145,1146,42,1159,1186,1158,0,1289,1316,1288,1122,1149,1121,42,1188,1102,1132,0,1319,1220,1257,1151,1065,1095,42,1101,1102,1188,0,1219,1220,1319,1064,1065,1151,42,1101,1188,1100,0,1219,1319,1218,1064,1151,1063,42,1188,1130,1100,0,1319,1255,1218,1151,1093,1063,42,1188,1132,1130,0,1319,1257,1255,1151,1095,1093,42,1100,1130,1099,0,1218,1255,1217,1063,1093,1062,42,1074,1076,1073,0,1183,1241,1182,1037,1039,1036,42,1035,1038,1088,0,1144,1147,1206,998,1001,1051,42,1035,1088,1034,0,1144,1206,1142,998,1051,997,42,1034,1088,1084,0,1142,1206,1202,997,1051,1047,42,1022,1023,1075,0,1129,1130,1184,985,986,1038,42,1022,1075,1021,0,1127,1320,1126,985,1038,984,42,1021,1075,1031,0,1126,1320,1138,984,1038,994,42,1031,1075,1036,0,1138,1320,1321,994,1038,999,42,1036,1032,1031,0,1321,1139,1138,999,995,994,42,1021,1031,1020,0,1126,1138,1125,984,994,983,42,122,120,121,0,1128,108,109,84,82,83,42,97,98,123,0,78,79,112,59,60,85,42,58,59,94,0,23,24,73,20,21,56,42,94,92,58,0,73,75,23,56,54,20,42,58,92,91,0,23,75,1322,20,54,53,42,58,91,57,0,23,1322,22,20,53,19,42,57,91,1189,0,22,1322,1323,19,53,1152,42,1189,91,90,0,1324,68,67,1152,53,52,42,24,1189,90,0,1325,1324,67,1153,1152,52,42,21,24,90,0,1326,1325,67,1154,1153,52,42,21,90,88,0,1326,67,65,1154,52,50,42,19,21,88,0,18,1326,65,16,1154,50,42,19,88,18,0,18,65,17,16,50,15,42,65,66,68,0,32,33,42,27,28,30,42,66,67,68,0,33,34,42,28,29,30,42,12,56,11,0,25,19,21,9,17,8,42,4,5,3,1,1327,1328,1329,4,1155,3,42,4,6,5,1,1327,1330,1328,4,1156,1155,42,7,6,4,1,1331,1330,1327,7,1156,4,42,7,8,6,1,1331,1332,1330,7,1157,1156,42,9,7,8,1,1333,1331,1332,6,7,1157,42,20,19,1,1,1334,1335,1336,1158,16,1,42,20,21,19,1,1334,1337,1335,1158,1154,16,42,22,21,20,1,1338,1337,1334,1159,1154,1158,42,23,21,22,1,1339,1337,1338,1160,1154,1159,42,23,24,21,1,1339,1340,1337,1160,1153,1154,42,23,25,24,1,1339,1341,1340,1160,1161,1153,42,23,26,25,1,1339,1342,1341,1160,1162,1161,42,23,27,26,1,1339,1343,1342,1160,1163,1162,42,23,28,27,1,1339,1344,1343,1160,1164,1163,42,23,29,28,1,1339,1345,1344,1160,1165,1164,42,22,29,23,1,1338,1345,1339,1159,1165,1160,42,30,29,22,1,1346,1345,1338,1166,1165,1159,42,30,31,29,1,1346,1347,1345,1166,1167,1165,42,30,32,31,1,1346,1348,1347,1166,1168,1167,42,33,32,30,1,1349,1348,1346,1169,1168,1166,42,33,34,32,1,1349,1350,1348,1169,1170,1168,42,35,34,33,1,1351,1350,1349,1171,1170,1169,42,35,36,34,1,1351,1352,1350,1171,1172,1170,42,35,37,36,1,1351,1353,1352,1171,1173,1172,42,37,35,5,1,1353,1351,1328,1173,1171,1155,42,35,33,5,1,1351,1349,1328,1171,1169,1155,42,5,33,30,1,1328,1349,1346,1155,1169,1166,42,5,30,3,1,1328,1346,1329,1155,1166,3,42,30,1,3,1,1346,1336,1329,1166,1,3,42,30,22,1,1,1346,1338,1336,1166,1159,1,42,22,20,1,1,1338,1334,1336,1159,1158,1,42,6,37,5,1,1330,1353,1328,1156,1173,1155,42,6,38,37,1,1330,1354,1353,1156,1174,1173,42,6,39,38,1,1330,1355,1354,1156,1175,1174,42,8,39,6,1,1332,1355,1330,1157,1175,1156,42,8,40,39,1,1332,1356,1355,1157,1176,1175,42,41,40,8,1,1357,1356,1332,1177,1176,1157,42,42,40,41,1,1358,1359,1360,1178,1176,1177,42,42,43,40,1,1358,1361,1359,1178,1179,1176,42,42,44,43,1,1358,1362,1361,1178,1180,1179,42,45,44,42,1,1363,1362,1358,1181,1180,1178,42,45,46,44,1,1363,1364,1362,1181,1182,1180,42,46,45,47,1,1364,1363,1362,1182,1181,1183,42,47,45,48,1,1362,1363,1358,1183,1181,1184,42,45,49,48,1,1363,1365,1358,1181,1185,1184,42,45,50,49,1,1363,1366,1365,1181,1186,1185,42,45,51,50,1,1363,1365,1366,1181,1187,1186,42,45,42,51,1,1363,1358,1365,1181,1178,1187,42,42,41,51,1,1358,1360,1365,1178,1177,1187,42,51,41,52,1,1367,1357,1368,1187,1177,1188,42,52,41,8,1,1368,1357,1332,1188,1177,1157,42,9,8,52,1,1333,1332,1368,6,1157,1188,42,53,52,9,1,1369,1368,1333,1189,1188,6,42,53,51,52,1,1369,1367,1368,1189,1187,1188,42,50,51,53,1,1370,1367,1369,1186,1187,1189,42,49,50,53,1,1371,1372,1373,1185,1186,1189,42,49,53,54,1,1371,1373,1374,1185,1189,1190,42,53,55,54,1,1373,1375,1374,1189,18,1190,42,53,11,55,1,1373,1376,1375,1189,8,18,42,53,9,11,1,1369,1333,1377,1189,6,8,42,1189,24,25,1,1378,1340,1341,1152,1153,1161,42,1190,1189,25,1,1379,1380,1341,1191,1152,1161,42,57,1189,1190,1,1381,1380,1379,19,1152,1191,42,1191,57,1190,1,1382,1381,1379,1192,19,1191,42,1191,55,57,1,1382,1375,1381,1192,18,19,42,54,55,1191,1,1374,1375,1382,1190,18,1192,42,1192,54,1191,1,1383,1374,1382,1193,1190,1192,42,49,54,1192,1,1371,1374,1383,1185,1190,1193,42,48,49,1192,1,1358,1365,1360,1184,1185,1193,42,48,1192,1193,1,1358,1360,1359,1184,1193,1194,42,1192,1191,1193,1,1383,1382,1384,1193,1192,1194,42,1193,1191,1194,1,1384,1382,1385,1194,1192,1195,42,1194,1191,1190,1,1385,1382,1379,1195,1192,1191,42,1194,1190,1195,1,1385,1379,1386,1195,1191,1196,42,1190,1196,1195,1,1379,1387,1386,1191,1197,1196,42,1190,25,1196,1,1379,1341,1387,1191,1161,1197,42,1196,25,1197,1,1387,1341,1388,1197,1161,1198,42,1197,25,26,1,1388,1341,1342,1198,1161,1162,42,26,1198,1197,1,1342,1389,1388,1162,1199,1198,42,27,1198,26,1,1343,1389,1342,1163,1199,1162,42,27,1199,1198,1,1343,1390,1389,1163,1200,1199,42,28,1199,27,1,1344,1390,1343,1164,1200,1163,42,28,1200,1199,1,1344,1391,1390,1164,1201,1200,42,28,1201,1200,1,1344,1392,1391,1164,1202,1201,42,29,1201,28,1,1345,1392,1344,1165,1202,1164,42,31,1201,29,1,1347,1392,1345,1167,1202,1165,42,31,1202,1201,1,1347,1393,1392,1167,1203,1202,42,31,1203,1202,1,1347,1394,1393,1167,1204,1203,42,32,1203,31,1,1348,1394,1347,1168,1204,1167,42,34,1203,32,1,1350,1394,1348,1170,1204,1168,42,1204,1203,34,1,1395,1394,1350,1205,1204,1170,42,1204,1205,1203,1,1395,1396,1394,1205,1206,1204,42,1206,1205,1204,1,1397,1396,1395,1207,1206,1205,42,1206,1207,1205,1,1397,1398,1396,1207,1208,1206,42,1208,1207,1206,1,1399,1398,1397,1209,1208,1207,42,1208,1209,1207,1,1399,1400,1398,1209,1210,1208,42,1210,1209,1208,1,1401,1400,1399,1211,1210,1209,42,1210,1211,1209,1,1401,1402,1400,1211,1212,1210,42,1212,1211,1210,1,1403,1402,1401,1213,1212,1211,42,1212,1213,1211,1,1403,1404,1402,1213,1214,1212,42,1214,1213,1212,1,1405,1404,1403,1215,1214,1213,42,1214,1215,1213,1,1405,1406,1404,1215,1216,1214,42,1214,1216,1215,1,1405,1407,1406,1215,1217,1216,42,1214,1217,1216,1,1405,1408,1407,1215,1218,1217,42,1218,1217,1214,1,1409,1408,1405,1219,1218,1215,42,1218,1219,1217,1,1409,1410,1408,1219,1220,1218,42,1220,1219,1218,1,1411,1410,1409,1221,1220,1219,42,1221,1219,1220,1,1412,1410,1411,1222,1220,1221,42,1222,1219,1221,1,1413,1410,1412,1223,1220,1222,42,1223,1219,1222,1,1414,1410,1413,1224,1220,1223,42,1219,1223,1217,1,1410,1414,1408,1220,1224,1218,42,1223,1224,1217,1,1414,1415,1408,1224,1225,1218,42,1225,1224,1223,1,1416,1415,1414,1226,1225,1224,42,1226,1224,1225,1,1417,1415,1416,1227,1225,1226,42,1227,1224,1226,1,1418,1415,1417,1228,1225,1227,42,1216,1224,1227,1,1407,1415,1418,1217,1225,1228,42,1217,1224,1216,1,1408,1415,1407,1218,1225,1217,42,1216,1227,1228,1,1407,1418,1419,1217,1228,1229,42,1228,1227,1229,1,1419,1418,1420,1229,1228,1230,42,1227,1230,1229,1,1418,1421,1420,1228,1231,1230,42,1227,1226,1230,1,1418,1417,1421,1228,1227,1231,42,1231,1230,1226,1,1422,1421,1417,1232,1231,1227,42,1232,1230,1231,1,1423,1421,1422,1233,1231,1232,42,1232,1233,1230,1,1423,1424,1421,1233,1234,1231,42,1234,1233,1232,1,1425,1424,1423,1235,1234,1233,42,1233,1234,1235,1,1424,1425,1426,1234,1235,1236,42,1234,1236,1235,1,1425,1427,1426,1235,1237,1236,42,1237,1236,1234,1,1428,1427,1425,1238,1237,1235,42,1237,1238,1236,1,1428,1429,1427,1238,1239,1237,42,1237,1239,1238,1,1428,1430,1429,1238,1240,1239,42,1240,1239,1237,1,1431,1430,1428,1241,1240,1238,42,1240,1199,1239,1,1431,1390,1430,1241,1200,1240,42,1198,1199,1240,1,1389,1390,1431,1199,1200,1241,42,1241,1198,1240,1,1432,1389,1431,1242,1199,1241,42,1197,1198,1241,1,1388,1389,1432,1198,1199,1242,42,1196,1197,1241,1,1387,1388,1432,1197,1198,1242,42,1242,1196,1241,1,1433,1387,1432,1243,1197,1242,42,1195,1196,1242,1,1386,1387,1433,1196,1197,1243,42,1195,1242,1243,1,1386,1433,1434,1196,1243,1244,42,1243,1242,1244,1,1434,1433,1435,1244,1243,1245,42,1244,1242,1245,1,1435,1433,1436,1245,1243,1246,42,1242,1246,1245,1,1433,1437,1436,1243,1247,1246,42,1242,1241,1246,1,1433,1432,1437,1243,1242,1247,42,1246,1241,1247,1,1437,1432,1438,1247,1242,1248,42,1241,1248,1247,1,1432,1439,1438,1242,1249,1248,42,1241,1240,1248,1,1432,1431,1439,1242,1241,1249,42,1248,1240,1237,1,1439,1431,1428,1249,1241,1238,42,1248,1237,1249,1,1439,1428,1440,1249,1238,1250,42,1249,1237,1250,1,1440,1428,1441,1250,1238,1251,42,1250,1237,1234,1,1441,1428,1425,1251,1238,1235,42,1250,1234,1251,1,1441,1425,1442,1251,1235,1252,42,1234,1232,1251,1,1425,1423,1442,1235,1233,1252,42,1251,1232,1252,1,1442,1423,1443,1252,1233,1253,42,1232,1231,1252,1,1423,1422,1443,1233,1232,1253,42,1231,1253,1252,1,1422,1444,1443,1232,1254,1253,42,1231,1254,1253,1,1422,1445,1444,1232,1255,1254,42,1231,1226,1254,1,1422,1417,1445,1232,1227,1255,42,1226,1225,1254,1,1417,1416,1445,1227,1226,1255,42,1253,1254,1225,1,1444,1445,1416,1254,1255,1226,42,1253,1225,1255,1,1444,1416,1446,1254,1226,1256,42,1256,1255,1225,1,1447,1446,1416,1257,1256,1226,42,1257,1255,1256,1,1448,1446,1447,1258,1256,1257,42,1253,1255,1257,1,1444,1446,1448,1254,1256,1258,42,1258,1253,1257,1,1449,1444,1448,1259,1254,1258,42,1259,1253,1258,1,1450,1444,1449,1260,1254,1259,42,1252,1253,1259,1,1443,1444,1450,1253,1254,1260,42,1252,1259,1260,1,1443,1450,1451,1253,1260,1261,42,1260,1259,1261,1,1451,1450,1452,1261,1260,1262,42,1258,1261,1259,1,1449,1452,1450,1259,1262,1260,42,1258,1262,1261,1,1449,1453,1452,1259,1263,1262,42,1258,1263,1262,1,1449,1454,1453,1259,1264,1263,42,1258,1264,1263,1,1449,1455,1454,1259,1265,1264,42,1257,1264,1258,1,1448,1455,1449,1258,1265,1259,42,1257,1265,1264,1,1448,1456,1455,1258,1266,1265,42,1257,1266,1265,1,1448,1457,1456,1258,1267,1266,42,1267,1266,1257,1,1458,1457,1448,1268,1267,1258,42,1268,1266,1267,1,1459,1457,1458,1269,1267,1268,42,1268,1269,1266,1,1459,1460,1457,1269,1270,1267,42,1270,1269,1268,1,1461,1460,1459,1271,1270,1269,42,1271,1269,1270,1,1462,1460,1461,1272,1270,1271,42,1272,1269,1271,1,1463,1460,1462,1273,1270,1272,42,1273,1269,1272,1,1464,1460,1463,1274,1270,1273,42,1273,1274,1269,1,1464,1465,1460,1274,1275,1270,42,1273,1275,1274,1,1464,1466,1465,1274,1276,1275,42,1276,1275,1273,1,1467,1466,1464,1277,1276,1274,42,1277,1275,1276,1,1468,1466,1467,1278,1276,1277,42,1278,1275,1277,1,1469,1466,1468,1279,1276,1278,42,1278,1279,1275,1,1469,1470,1466,1279,1280,1276,42,1264,1279,1278,1,1455,1470,1469,1265,1280,1279,42,1265,1279,1264,1,1456,1470,1455,1266,1280,1265,42,1266,1279,1265,1,1457,1470,1456,1267,1280,1266,42,1266,1274,1279,1,1457,1465,1470,1267,1275,1280,42,1266,1269,1274,1,1457,1460,1465,1267,1270,1275,42,1275,1279,1274,1,1466,1470,1465,1276,1280,1275,42,1264,1278,1280,1,1455,1469,1471,1265,1279,1281,42,1280,1278,1277,1,1471,1469,1468,1281,1279,1278,42,1281,1280,1277,1,1472,1471,1468,1282,1281,1278,42,1261,1280,1281,1,1452,1471,1472,1262,1281,1282,42,1262,1280,1261,1,1453,1471,1452,1263,1281,1262,42,1263,1280,1262,1,1454,1471,1453,1264,1281,1263,42,1264,1280,1263,1,1455,1471,1454,1265,1281,1264,42,1282,1261,1281,1,1473,1452,1472,1283,1262,1282,42,1260,1261,1282,1,1451,1452,1473,1261,1262,1283,42,1260,1282,1283,1,1451,1473,1474,1261,1283,1284,42,1282,1284,1283,1,1473,1475,1474,1283,1285,1284,42,1282,1281,1284,1,1473,1472,1475,1283,1282,1285,42,1284,1281,1277,1,1475,1472,1468,1285,1282,1278,42,1284,1277,1285,1,1475,1468,1476,1285,1278,1286,42,1285,1277,1276,1,1476,1468,1467,1286,1278,1277,42,1286,1285,1276,1,1477,1476,1467,1287,1286,1277,42,1286,1287,1285,1,1477,1478,1476,1287,1288,1286,42,1288,1287,1286,1,1479,1478,1477,1289,1288,1287,42,1283,1287,1288,1,1474,1478,1479,1284,1288,1289,42,1283,1285,1287,1,1474,1476,1478,1284,1286,1288,42,1283,1284,1285,1,1474,1475,1476,1284,1285,1286,42,1289,1283,1288,1,1480,1474,1479,1290,1284,1289,42,1260,1283,1289,1,1451,1474,1480,1261,1284,1290,42,1290,1260,1289,1,1481,1451,1480,1291,1261,1290,42,1291,1260,1290,1,1482,1451,1481,1292,1261,1291,42,1292,1260,1291,1,1483,1451,1482,1293,1261,1292,42,1292,1251,1260,1,1483,1442,1451,1293,1252,1261,42,1293,1251,1292,1,1484,1442,1483,1294,1252,1293,42,1293,1250,1251,1,1484,1441,1442,1294,1251,1252,42,1249,1250,1293,1,1440,1441,1484,1250,1251,1294,42,1248,1249,1293,1,1439,1440,1484,1249,1250,1294,42,1247,1248,1293,1,1438,1439,1484,1248,1249,1294,42,1247,1293,1292,1,1438,1484,1483,1248,1294,1293,42,1294,1247,1292,1,1485,1438,1483,1295,1248,1293,42,1246,1247,1294,1,1437,1438,1485,1247,1248,1295,42,1245,1246,1294,1,1436,1437,1485,1246,1247,1295,42,1245,1294,1295,1,1436,1485,1486,1246,1295,1296,42,1295,1294,1296,1,1486,1485,1487,1296,1295,1297,42,1294,1292,1296,1,1485,1483,1487,1295,1293,1297,42,1296,1292,1291,1,1487,1483,1482,1297,1293,1292,42,1296,1291,1297,1,1487,1482,1488,1297,1292,1298,42,1297,1291,1298,1,1488,1482,1489,1298,1292,1299,42,1291,1290,1298,1,1482,1481,1489,1292,1291,1299,42,1298,1290,1299,1,1489,1481,1490,1299,1291,1300,42,1299,1290,1300,1,1490,1481,1491,1300,1291,1301,42,1300,1290,1289,1,1491,1481,1480,1301,1291,1290,42,1300,1289,1301,1,1491,1480,1492,1301,1290,1302,42,1289,1288,1301,1,1480,1479,1492,1290,1289,1302,42,1301,1288,1302,1,1492,1479,1493,1302,1289,1303,42,1302,1288,1303,1,1493,1479,1494,1303,1289,1304,42,1288,1286,1303,1,1479,1477,1494,1289,1287,1304,42,1303,1286,1304,1,1494,1477,1495,1304,1287,1305,42,1304,1286,1305,1,1495,1477,1496,1305,1287,1306,42,1305,1286,1306,1,1496,1477,1497,1306,1287,1307,42,1286,1276,1306,1,1477,1467,1497,1287,1277,1307,42,1276,1273,1306,1,1467,1464,1497,1277,1274,1307,42,1306,1273,1307,1,1497,1464,1498,1307,1274,1308,42,1307,1273,1272,1,1498,1464,1463,1308,1274,1273,42,1307,1272,1308,1,1498,1463,1499,1308,1273,1309,42,1308,1272,1271,1,1499,1463,1462,1309,1273,1272,42,1308,1271,1309,1,1499,1462,1500,1309,1272,1310,42,1309,1271,1310,1,1500,1462,1501,1310,1272,1311,42,1310,1271,1267,1,1501,1462,1458,1311,1272,1268,42,1271,1270,1267,1,1462,1461,1458,1272,1271,1268,42,1270,1268,1267,1,1461,1459,1458,1271,1269,1268,42,1310,1267,1256,1,1501,1458,1447,1311,1268,1257,42,1267,1257,1256,1,1458,1448,1447,1268,1258,1257,42,1310,1256,1311,1,1501,1447,1502,1311,1257,1312,42,1256,1222,1311,1,1447,1413,1502,1257,1223,1312,42,1256,1312,1222,1,1447,1503,1413,1257,1313,1223,42,1256,1225,1312,1,1447,1416,1503,1257,1226,1313,42,1312,1225,1223,1,1503,1416,1414,1313,1226,1224,42,1312,1223,1222,1,1503,1414,1413,1313,1224,1223,42,1311,1222,1221,1,1502,1413,1412,1312,1223,1222,42,1311,1221,1313,1,1502,1412,1504,1312,1222,1314,42,1313,1221,1314,1,1504,1412,1505,1314,1222,1315,42,1221,1220,1314,1,1412,1411,1505,1222,1221,1315,42,1314,1220,1315,1,1505,1411,1506,1315,1221,1316,42,1315,1220,1316,1,1506,1411,1507,1316,1221,1317,42,1316,1220,1317,1,1507,1411,1508,1317,1221,1318,42,1317,1220,1218,1,1508,1411,1409,1318,1221,1219,42,1317,1218,1318,1,1508,1409,1509,1318,1219,1319,42,1318,1218,1319,1,1509,1409,1510,1319,1219,1320,42,1218,1214,1319,1,1409,1405,1510,1219,1215,1320,42,1319,1214,1212,1,1510,1405,1403,1320,1215,1213,42,1212,1210,1319,1,1403,1401,1510,1213,1211,1320,42,1319,1210,1318,1,1510,1401,1509,1320,1211,1319,42,1320,1318,1210,1,1511,1509,1401,1321,1319,1211,42,1316,1318,1320,1,1507,1509,1511,1317,1319,1321,42,1316,1317,1318,1,1507,1508,1509,1317,1318,1319,42,1315,1316,1320,1,1506,1507,1511,1316,1317,1321,42,1315,1320,1208,1,1506,1511,1399,1316,1321,1209,42,1320,1210,1208,1,1511,1401,1399,1321,1211,1209,42,1314,1315,1208,1,1505,1506,1399,1315,1316,1209,42,1314,1208,1206,1,1505,1399,1397,1315,1209,1207,42,1314,1206,1321,1,1505,1397,1512,1315,1207,1322,42,1321,1206,1322,1,1512,1397,1513,1322,1207,1323,42,1322,1206,1323,1,1513,1397,1514,1323,1207,1324,42,1323,1206,1204,1,1514,1397,1395,1324,1207,1205,42,1323,1204,36,1,1514,1395,1352,1324,1205,1172,42,36,1204,34,1,1352,1395,1350,1172,1205,1170,42,1324,1323,36,1,1515,1514,1352,1325,1324,1172,42,1325,1323,1324,1,1516,1514,1515,1326,1324,1325,42,1325,1322,1323,1,1516,1513,1514,1326,1323,1324,42,1325,1321,1322,1,1516,1512,1513,1326,1322,1323,42,1313,1321,1325,1,1504,1512,1516,1314,1322,1326,42,1313,1314,1321,1,1504,1505,1512,1314,1315,1322,42,1326,1313,1325,1,1517,1504,1516,1327,1314,1326,42,1309,1313,1326,1,1500,1504,1517,1310,1314,1327,42,1309,1311,1313,1,1500,1502,1504,1310,1312,1314,42,1309,1310,1311,1,1500,1501,1502,1310,1311,1312,42,1327,1309,1326,1,1518,1500,1517,1328,1310,1327,42,1328,1309,1327,1,1519,1500,1518,1329,1310,1328,42,1329,1309,1328,1,1520,1500,1519,1330,1310,1329,42,1329,1330,1309,1,1520,1521,1500,1330,1331,1310,42,1304,1330,1329,1,1495,1521,1520,1305,1331,1330,42,1304,1305,1330,1,1495,1496,1521,1305,1306,1331,42,1305,1306,1330,1,1496,1497,1521,1306,1307,1331,42,1330,1306,1307,1,1521,1497,1498,1331,1307,1308,42,1330,1307,1308,1,1521,1498,1499,1331,1308,1309,42,1309,1330,1308,1,1500,1521,1499,1310,1331,1309,42,1331,1304,1329,1,1522,1495,1520,1332,1305,1330,42,1302,1304,1331,1,1493,1495,1522,1303,1305,1332,42,1302,1303,1304,1,1493,1494,1495,1303,1304,1305,42,1332,1302,1331,1,1523,1493,1522,1333,1303,1332,42,1301,1302,1332,1,1492,1493,1523,1302,1303,1333,42,1333,1301,1332,1,1524,1492,1523,1334,1302,1333,42,1334,1301,1333,1,1525,1492,1524,1335,1302,1334,42,1300,1301,1334,1,1491,1492,1525,1301,1302,1335,42,1335,1300,1334,1,1526,1491,1525,1336,1301,1335,42,1336,1300,1335,1,1527,1491,1526,1337,1301,1336,42,1299,1300,1336,1,1490,1491,1527,1300,1301,1337,42,1337,1299,1336,1,1528,1490,1527,1338,1300,1337,42,1337,1338,1299,1,1528,1529,1490,1338,1339,1300,42,1337,1339,1338,1,1528,1530,1529,1338,1340,1339,42,1337,1340,1339,1,1528,1531,1530,1338,1341,1340,42,1341,1340,1337,1,1532,1531,1528,1342,1341,1338,42,1342,1340,1341,1,1533,1531,1532,1343,1341,1342,42,1343,1340,1342,1,1534,1531,1533,1344,1341,1343,42,1344,1340,1343,1,1535,1531,1534,1345,1341,1344,42,1340,1344,1339,1,1531,1535,1530,1341,1345,1340,42,1344,1338,1339,1,1535,1529,1530,1345,1339,1340,42,1345,1338,1344,1,1536,1529,1535,1346,1339,1345,42,1345,1298,1338,1,1536,1489,1529,1346,1299,1339,42,1297,1298,1345,1,1488,1489,1536,1298,1299,1346,42,1346,1297,1345,1,1537,1488,1536,1347,1298,1346,42,1295,1297,1346,1,1486,1488,1537,1296,1298,1347,42,1295,1296,1297,1,1486,1487,1488,1296,1297,1298,42,1347,1295,1346,1,1538,1486,1537,1348,1296,1347,42,1347,1245,1295,1,1538,1436,1486,1348,1246,1296,42,1348,1245,1347,1,1539,1436,1538,1349,1246,1348,42,1244,1245,1348,1,1435,1436,1539,1245,1246,1349,42,1349,1244,1348,1,1540,1435,1539,1350,1245,1349,42,1350,1244,1349,1,1541,1435,1540,1351,1245,1350,42,1350,1243,1244,1,1541,1434,1435,1351,1244,1245,42,1350,1351,1243,1,1541,1542,1434,1351,1352,1244,42,1352,1351,1350,1,1543,1542,1541,1353,1352,1351,42,1353,1351,1352,1,1544,1542,1543,1354,1352,1353,42,1353,1354,1351,1,1544,1545,1542,1354,1355,1352,42,1353,1355,1354,1,1546,1547,1548,1354,1356,1355,42,1356,1355,1353,1,1549,1547,1546,1357,1356,1354,42,1355,1356,1357,1,1547,1549,1550,1356,1357,1358,42,1356,1358,1357,1,1551,1552,1553,1357,1359,1358,42,1356,1359,1358,1,1551,1554,1552,1357,1360,1359,42,1360,1359,1356,1,1555,1554,1551,1361,1360,1357,42,1360,1361,1359,1,1555,1556,1554,1361,1362,1360,42,1362,1361,1360,1,1557,1556,1555,1363,1362,1361,42,1361,1362,1363,1,1556,1557,1558,1362,1363,1364,42,1362,1364,1363,1,1557,1559,1558,1363,1365,1364,42,1364,1362,1353,1,1560,1561,1546,1365,1363,1354,42,1362,1360,1353,1,1561,1562,1546,1363,1361,1354,42,1353,1360,1356,1,1546,1562,1549,1354,1361,1357,42,1363,1364,1353,1,1558,1559,1544,1364,1365,1354,42,1363,1353,1352,1,1558,1544,1543,1364,1354,1353,42,1363,1352,1361,1,1558,1543,1556,1364,1353,1362,42,1361,1352,1350,1,1556,1543,1541,1362,1353,1351,42,1361,1350,1359,1,1556,1541,1554,1362,1351,1360,42,1359,1350,1358,1,1554,1541,1552,1360,1351,1359,42,1350,1349,1358,1,1541,1540,1552,1351,1350,1359,42,1357,1358,1349,1,1553,1552,1540,1358,1359,1350,42,1357,1349,1348,1,1553,1540,1539,1358,1350,1349,42,1357,1348,1365,1,1553,1539,1563,1358,1349,1366,42,1348,1347,1365,1,1539,1538,1563,1349,1348,1366,42,1347,1366,1365,1,1538,1564,1563,1348,1367,1366,42,1347,1367,1366,1,1538,1565,1564,1348,1368,1367,42,1347,1368,1367,1,1538,1566,1565,1348,1369,1368,42,1347,1346,1368,1,1538,1537,1566,1348,1347,1369,42,1368,1346,1369,1,1566,1537,1567,1369,1347,1370,42,1346,1345,1369,1,1537,1536,1567,1347,1346,1370,42,1369,1345,1344,1,1567,1536,1535,1370,1346,1345,42,1369,1344,1343,1,1567,1535,1534,1370,1345,1344,42,1369,1343,1370,1,1567,1534,1568,1370,1344,1371,42,1370,1343,1342,1,1568,1534,1533,1371,1344,1343,42,1342,1371,1370,1,1533,1569,1568,1343,1372,1371,42,1342,1372,1371,1,1533,1570,1569,1343,1373,1372,42,1373,1372,1342,1,1571,1570,1533,1374,1373,1343,42,1374,1372,1373,1,1572,1570,1571,1375,1373,1374,42,1375,1372,1374,1,1573,1570,1572,1376,1373,1375,42,1371,1372,1375,1,1569,1570,1573,1372,1373,1376,42,1376,1371,1375,1,1574,1569,1573,1377,1372,1376,42,1370,1371,1376,1,1568,1569,1574,1371,1372,1377,42,1369,1370,1376,1,1567,1568,1574,1370,1371,1377,42,1369,1376,1367,1,1567,1574,1565,1370,1377,1368,42,1367,1376,1377,1,1565,1574,1575,1368,1377,1378,42,1376,1378,1377,1,1574,1576,1575,1377,1379,1378,42,1376,1375,1378,1,1574,1573,1576,1377,1376,1379,42,1375,1379,1378,1,1573,1577,1576,1376,1380,1379,42,1379,1375,1374,1,1577,1573,1572,1380,1376,1375,42,1374,1336,1379,1,1572,1527,1577,1375,1337,1380,42,1374,1373,1336,1,1572,1571,1527,1375,1374,1337,42,1336,1373,1380,1,1527,1571,1578,1337,1374,1381,42,1380,1373,1341,1,1578,1571,1532,1381,1374,1342,42,1341,1373,1342,1,1532,1571,1533,1342,1374,1343,42,1380,1341,1337,1,1578,1532,1528,1381,1342,1338,42,1336,1380,1337,1,1527,1578,1528,1337,1381,1338,42,1336,1335,1379,1,1527,1526,1577,1337,1336,1380,42,1335,1381,1379,1,1526,1579,1577,1336,1382,1380,42,1335,1334,1381,1,1526,1525,1579,1336,1335,1382,42,1381,1334,1382,1,1579,1525,1580,1382,1335,1383,42,1334,1333,1382,1,1525,1524,1580,1335,1334,1383,42,1333,1383,1382,1,1524,1581,1580,1334,1384,1383,42,1333,1332,1383,1,1524,1523,1581,1334,1333,1384,42,1383,1332,1384,1,1581,1523,1582,1384,1333,1385,42,1332,1331,1384,1,1523,1522,1582,1333,1332,1385,42,1384,1331,1385,1,1582,1522,1583,1385,1332,1386,42,1385,1331,1386,1,1583,1522,1584,1386,1332,1387,42,1386,1331,1329,1,1584,1522,1520,1387,1332,1330,42,1386,1329,1328,1,1584,1520,1519,1387,1330,1329,42,1386,1328,1387,1,1584,1519,1585,1387,1329,1388,42,1387,1328,1388,1,1585,1519,1586,1388,1329,1389,42,1388,1328,1327,1,1586,1519,1518,1389,1329,1328,42,1389,1388,1327,1,1587,1586,1518,1390,1389,1328,42,1390,1388,1389,1,1588,1586,1587,1391,1389,1390,42,1390,1391,1388,1,1588,1589,1586,1391,1392,1389,42,1392,1391,1390,1,1590,1589,1588,1393,1392,1391,42,1392,1393,1391,1,1590,1591,1589,1393,1394,1392,42,1392,1394,1393,1,1590,1592,1591,1393,1395,1394,42,1395,1394,1392,1,1593,1592,1590,1396,1395,1393,42,1396,1394,1395,1,1594,1592,1593,1397,1395,1396,42,1397,1394,1396,1,1595,1592,1594,1398,1395,1397,42,1394,1397,1398,1,1592,1595,1596,1395,1398,1399,42,1397,1399,1398,1,1595,1597,1596,1398,1400,1399,42,1400,1399,1397,1,1598,1597,1595,1401,1400,1398,42,1401,1400,1402,1,1599,1598,1600,1402,1401,1403,42,1402,1400,1403,1,1600,1598,1601,1403,1401,1404,42,1396,1403,1400,1,1594,1601,1598,1397,1404,1401,42,1404,1403,1396,1,1602,1601,1594,1405,1404,1397,42,1405,1403,1404,1,1603,1601,1602,1406,1404,1405,42,1405,1402,1403,1,1603,1600,1601,1406,1403,1404,42,1405,1406,1402,1,1603,1604,1600,1406,1407,1403,42,1407,1406,1405,1,1605,1604,1603,1408,1407,1406,42,1407,1408,1406,1,1605,1606,1604,1408,1409,1407,42,1409,1408,1407,1,1607,1606,1605,1410,1409,1408,42,1410,1408,1409,1,1608,1606,1607,1411,1409,1410,42,1410,1411,1408,1,1608,1609,1606,1411,1412,1409,42,1410,1383,1411,1,1608,1581,1609,1411,1384,1412,42,1412,1383,1410,1,1610,1581,1608,1413,1384,1411,42,1413,1383,1412,1,1611,1581,1610,1414,1384,1413,42,1413,1382,1383,1,1611,1580,1581,1414,1383,1384,42,1381,1382,1413,1,1579,1580,1611,1382,1383,1414,42,1414,1381,1413,1,1612,1579,1611,1415,1382,1414,42,1378,1381,1414,1,1576,1579,1612,1379,1382,1415,42,1379,1381,1378,1,1577,1579,1576,1380,1382,1379,42,1377,1378,1414,1,1575,1576,1612,1378,1379,1415,42,1377,1414,1415,1,1575,1612,1613,1378,1415,1416,42,1416,1415,1414,1,1614,1613,1612,1417,1416,1415,42,1366,1415,1416,1,1564,1613,1614,1367,1416,1417,42,1366,1377,1415,1,1564,1575,1613,1367,1378,1416,42,1366,1367,1377,1,1564,1565,1575,1367,1368,1378,42,1365,1366,1416,1,1563,1564,1614,1366,1367,1417,42,1365,1416,1417,1,1563,1614,1615,1366,1417,1418,42,1417,1416,1418,1,1615,1614,1616,1418,1417,1419,42,1416,1413,1418,1,1614,1611,1616,1417,1414,1419,42,1416,1414,1413,1,1614,1612,1611,1417,1415,1414,42,1419,1418,1413,1,1617,1616,1611,1420,1419,1414,42,1420,1418,1419,1,1618,1616,1617,1421,1419,1420,42,1421,1418,1420,1,1619,1616,1618,1422,1419,1421,42,1417,1418,1421,1,1615,1616,1619,1418,1419,1422,42,1417,1421,1422,1,1615,1619,1620,1418,1422,1423,42,1422,1421,1423,1,1620,1619,1621,1423,1422,1424,42,1423,1421,1420,1,1621,1619,1618,1424,1422,1421,42,1423,1420,1424,1,1621,1618,1622,1424,1421,1425,42,1424,1420,1425,1,1622,1618,1623,1425,1421,1426,42,1420,1419,1425,1,1618,1617,1623,1421,1420,1426,42,1419,1410,1425,1,1617,1608,1623,1420,1411,1426,42,1419,1412,1410,1,1617,1610,1608,1420,1413,1411,42,1413,1412,1419,1,1611,1610,1617,1414,1413,1420,42,1426,1425,1410,1,1624,1623,1608,1427,1426,1411,42,1427,1425,1426,1,1625,1623,1624,1428,1426,1427,42,1427,1424,1425,1,1625,1622,1623,1428,1425,1426,42,1428,1424,1427,1,1626,1622,1625,1429,1425,1428,42,1423,1424,1428,1,1621,1622,1626,1424,1425,1429,42,1429,1423,1428,1,1627,1621,1626,1430,1424,1429,42,1429,1430,1423,1,1627,1628,1621,1430,1431,1424,42,1431,1430,1429,1,1629,1628,1627,1432,1431,1430,42,1431,1432,1430,1,1629,1630,1628,1432,1433,1431,42,1431,1433,1432,1,1629,1631,1630,1432,1434,1433,42,1434,1433,1431,1,1632,1633,1634,1435,1434,1432,42,1434,1435,1433,1,1632,1635,1633,1435,1436,1434,42,1434,47,1435,1,1632,1362,1635,1435,1183,1436,42,1434,46,47,1,1632,1364,1362,1435,1182,1183,42,1436,46,1434,1,1636,1364,1632,1437,1182,1435,42,46,1436,1437,1,1364,1636,1632,1182,1437,1438,42,1437,1436,1431,1,1632,1636,1634,1438,1437,1432,42,1436,1434,1431,1,1636,1632,1634,1437,1435,1432,42,1437,1431,1438,1,1632,1634,1633,1438,1432,1439,42,1438,1431,1429,1,1637,1629,1627,1439,1432,1430,42,1438,1429,1439,1,1637,1627,1638,1439,1430,1440,42,1439,1429,1440,1,1638,1627,1639,1440,1430,1441,42,1429,1428,1440,1,1627,1626,1639,1430,1429,1441,42,1440,1428,1427,1,1639,1626,1625,1441,1429,1428,42,1440,1427,1441,1,1639,1625,1640,1441,1428,1442,42,1427,1426,1441,1,1625,1624,1640,1428,1427,1442,42,1441,1426,1442,1,1640,1624,1641,1442,1427,1443,42,1426,1443,1442,1,1624,1642,1641,1427,1444,1443,42,1426,1409,1443,1,1624,1607,1642,1427,1410,1444,42,1426,1410,1409,1,1624,1608,1607,1427,1411,1410,42,1443,1409,1444,1,1642,1607,1643,1444,1410,1445,42,1409,1407,1444,1,1607,1605,1643,1410,1408,1445,42,1444,1407,1445,1,1643,1605,1644,1445,1408,1446,42,1407,1405,1445,1,1605,1603,1644,1408,1406,1446,42,1405,1404,1445,1,1603,1602,1644,1406,1405,1446,42,1445,1404,1446,1,1644,1602,1645,1446,1405,1447,42,1446,1404,1396,1,1645,1602,1594,1447,1405,1397,42,1396,1395,1446,1,1594,1593,1645,1397,1396,1447,42,1447,1446,1395,1,1646,1645,1593,1448,1447,1396,42,1445,1446,1447,1,1644,1645,1646,1446,1447,1448,42,1448,1445,1447,1,1647,1644,1646,1449,1446,1448,42,1444,1445,1448,1,1643,1644,1647,1445,1446,1449,42,1442,1444,1448,1,1641,1643,1647,1443,1445,1449,42,1443,1444,1442,1,1642,1643,1641,1444,1445,1443,42,1442,1448,1449,1,1641,1647,1648,1443,1449,1450,42,1449,1448,1450,1,1648,1647,1649,1450,1449,1451,42,1448,1447,1450,1,1647,1646,1649,1449,1448,1451,42,1450,1447,1451,1,1649,1646,1650,1451,1448,1452,42,1447,1390,1451,1,1646,1588,1650,1448,1391,1452,42,1447,1392,1390,1,1646,1590,1588,1448,1393,1391,42,1447,1395,1392,1,1646,1593,1590,1448,1396,1393,42,1451,1390,1389,1,1650,1588,1587,1452,1391,1390,42,1451,1389,1452,1,1650,1587,1651,1452,1390,1453,42,1452,1389,1453,1,1651,1587,1652,1453,1390,1454,42,1389,1327,1453,1,1587,1518,1652,1390,1328,1454,42,1453,1327,1326,1,1652,1518,1517,1454,1328,1327,42,1453,1326,1454,1,1652,1517,1653,1454,1327,1455,42,1454,1326,1324,1,1653,1517,1515,1455,1327,1325,42,1326,1325,1324,1,1517,1516,1515,1327,1326,1325,42,1454,1324,1455,1,1653,1515,1654,1455,1325,1456,42,1455,1324,36,1,1654,1515,1352,1456,1325,1172,42,1456,1455,36,1,1655,1654,1352,1457,1456,1172,42,1457,1455,1456,1,1656,1654,1655,1458,1456,1457,42,1457,1454,1455,1,1656,1653,1654,1458,1455,1456,42,1452,1454,1457,1,1651,1653,1656,1453,1455,1458,42,1452,1453,1454,1,1651,1652,1653,1453,1454,1455,42,1449,1452,1457,1,1648,1651,1656,1450,1453,1458,42,1449,1451,1452,1,1648,1650,1651,1450,1452,1453,42,1449,1450,1451,1,1648,1649,1650,1450,1451,1452,42,1458,1449,1457,1,1657,1648,1656,1459,1450,1458,42,1441,1449,1458,1,1640,1648,1657,1442,1450,1459,42,1441,1442,1449,1,1640,1641,1648,1442,1443,1450,42,1459,1441,1458,1,1658,1640,1657,1460,1442,1459,42,1460,1441,1459,1,1659,1640,1658,1461,1442,1460,42,1440,1441,1460,1,1639,1640,1659,1441,1442,1461,42,1439,1440,1460,1,1638,1639,1659,1440,1441,1461,42,1439,1460,1461,1,1638,1659,1660,1440,1461,1462,42,1461,1460,1459,1,1660,1659,1658,1462,1461,1460,42,1461,1459,1462,1,1661,1550,1662,1462,1460,1463,42,1463,1462,1459,1,1663,1662,1550,1464,1463,1460,42,1464,1462,1463,1,1664,1662,1663,1465,1463,1464,42,1464,1465,1462,1,1664,1635,1662,1465,1466,1463,42,44,1465,1464,1,1362,1635,1664,1180,1466,1465,42,44,1437,1465,1,1362,1632,1635,1180,1438,1466,42,46,1437,44,1,1364,1632,1362,1182,1438,1180,42,1465,1437,1438,1,1635,1632,1633,1466,1438,1439,42,1465,1438,1466,1,1635,1633,1665,1466,1439,1467,42,1466,1438,1439,1,1666,1637,1638,1467,1439,1440,42,1466,1439,1461,1,1666,1638,1660,1467,1440,1462,42,1465,1466,1461,1,1635,1665,1661,1466,1467,1462,42,1465,1461,1462,1,1635,1661,1662,1466,1462,1463,42,44,1464,43,1,1362,1664,1361,1180,1465,1179,42,1464,1467,43,1,1664,1667,1361,1465,1468,1179,42,1464,1463,1467,1,1664,1663,1667,1465,1464,1468,42,1467,1463,1459,1,1667,1663,1550,1468,1464,1460,42,1467,1459,1468,1,1667,1550,1547,1468,1460,1469,42,1469,1468,1459,1,1549,1547,1550,1470,1469,1460,42,1468,1469,1470,1,1547,1549,1546,1469,1470,1471,42,1469,1471,1470,1,1549,1562,1546,1470,1472,1471,42,1472,1471,1469,1,1668,1669,1670,1473,1472,1470,42,1473,1471,1472,1,1671,1669,1668,1474,1472,1473,42,1473,1474,1471,1,1671,1672,1669,1474,1475,1472,42,1474,1473,1475,1,1672,1671,1673,1475,1474,1476,42,1473,1476,1475,1,1671,1674,1673,1474,1477,1476,42,1473,1477,1476,1,1671,1675,1674,1474,1478,1477,42,1472,1477,1473,1,1668,1675,1671,1473,1478,1474,42,1472,1478,1477,1,1668,1676,1675,1473,1479,1478,42,1472,1469,1478,1,1668,1670,1676,1473,1470,1479,42,1469,1459,1478,1,1670,1658,1676,1470,1460,1479,42,1478,1459,1479,1,1676,1658,1677,1479,1460,1480,42,1459,1458,1479,1,1658,1657,1677,1460,1459,1480,42,1458,1480,1479,1,1657,1678,1677,1459,1481,1480,42,1458,1457,1480,1,1657,1656,1678,1459,1458,1481,42,1480,1457,1456,1,1678,1656,1655,1481,1458,1457,42,1480,1456,1481,1,1678,1655,1679,1481,1457,1482,42,1481,1456,38,1,1679,1655,1354,1482,1457,1174,42,38,1456,37,1,1354,1655,1353,1174,1457,1173,42,1456,36,37,1,1655,1352,1353,1457,1172,1173,42,1482,1481,38,1,1680,1679,1354,1483,1482,1174,42,1483,1481,1482,1,1681,1679,1680,1484,1482,1483,42,1477,1481,1483,1,1675,1679,1681,1478,1482,1484,42,1477,1480,1481,1,1675,1678,1679,1478,1481,1482,42,1479,1480,1477,1,1677,1678,1675,1480,1481,1478,42,1478,1479,1477,1,1676,1677,1675,1479,1480,1478,42,1477,1483,1476,1,1675,1681,1674,1478,1484,1477,42,1476,1483,1470,1,1674,1681,1682,1477,1484,1471,42,1470,1483,1482,1,1682,1681,1680,1471,1484,1483,42,1468,1470,1482,1,1547,1546,1548,1469,1471,1483,42,39,1468,1482,1,1683,1547,1548,1175,1469,1483,42,40,1468,39,1,1359,1547,1683,1176,1469,1175,42,40,1467,1468,1,1359,1667,1547,1176,1468,1469,42,43,1467,40,1,1361,1667,1359,1179,1468,1176,42,1482,38,39,1,1548,1684,1683,1483,1174,1175,42,1470,1475,1476,1,1682,1673,1674,1471,1476,1477,42,1484,1475,1470,1,1685,1673,1682,1485,1476,1471,42,1484,1474,1475,1,1685,1672,1673,1485,1475,1476,42,1474,1484,1470,1,1561,1560,1546,1475,1485,1471,42,1471,1474,1470,1,1562,1561,1546,1472,1475,1471,42,1435,47,1485,1,1635,1362,1664,1436,1183,1486,42,47,1486,1485,1,1362,1361,1664,1183,1487,1486,42,47,48,1486,1,1362,1358,1361,1183,1184,1487,42,48,1193,1486,1,1358,1359,1361,1184,1194,1487,42,1487,1486,1193,1,1667,1361,1359,1488,1487,1194,42,1485,1486,1487,1,1664,1361,1667,1486,1487,1488,42,1485,1487,1488,1,1664,1667,1663,1486,1488,1489,42,1487,1357,1488,1,1667,1550,1663,1488,1358,1489,42,1487,1355,1357,1,1667,1547,1550,1488,1356,1358,42,1487,1193,1355,1,1667,1359,1547,1488,1194,1356,42,1355,1193,1194,1,1547,1359,1683,1356,1194,1195,42,1355,1194,1354,1,1547,1683,1548,1356,1195,1355,42,1194,1195,1354,1,1683,1684,1548,1195,1196,1355,42,1354,1195,1243,1,1545,1386,1434,1355,1196,1244,42,1354,1243,1351,1,1545,1434,1542,1355,1244,1352,42,1488,1357,1489,1,1663,1550,1662,1489,1358,1490,42,1489,1357,1490,1,1662,1550,1661,1490,1358,1491,42,1357,1491,1490,1,1553,1686,1687,1358,1492,1491,42,1357,1365,1491,1,1553,1563,1686,1358,1366,1492,42,1491,1365,1492,1,1686,1563,1688,1492,1366,1493,42,1365,1417,1492,1,1563,1615,1688,1366,1418,1493,42,1492,1417,1422,1,1688,1615,1620,1493,1418,1423,42,1492,1422,1432,1,1688,1620,1630,1493,1423,1433,42,1432,1422,1423,1,1630,1620,1621,1433,1423,1424,42,1430,1432,1423,1,1628,1630,1621,1431,1433,1424,42,1432,1493,1492,1,1630,1689,1688,1433,1494,1493,42,1433,1493,1432,1,1631,1689,1630,1434,1494,1433,42,1433,1494,1493,1,1631,1690,1689,1434,1495,1494,42,1433,1435,1494,1,1633,1635,1665,1434,1436,1495,42,1435,1490,1494,1,1635,1661,1665,1436,1491,1495,42,1435,1489,1490,1,1635,1662,1661,1436,1490,1491,42,1485,1489,1435,1,1664,1662,1635,1486,1490,1436,42,1485,1488,1489,1,1664,1663,1662,1486,1489,1490,42,1494,1490,1493,1,1690,1687,1689,1495,1491,1494,42,1490,1491,1493,1,1687,1686,1689,1491,1492,1494,42,1491,1492,1493,1,1686,1688,1689,1492,1493,1494,42,1383,1384,1411,1,1581,1582,1609,1384,1385,1412,42,1411,1384,1385,1,1609,1582,1583,1412,1385,1386,42,1411,1385,1408,1,1609,1583,1606,1412,1386,1409,42,1408,1385,1495,1,1606,1583,1691,1409,1386,1496,42,1495,1385,1386,1,1691,1583,1584,1496,1386,1387,42,1495,1386,1401,1,1691,1584,1599,1496,1387,1402,42,1401,1386,1387,1,1599,1584,1585,1402,1387,1388,42,1401,1387,1398,1,1599,1585,1596,1402,1388,1399,42,1398,1387,1391,1,1596,1585,1589,1399,1388,1392,42,1387,1388,1391,1,1585,1586,1589,1388,1389,1392,42,1398,1391,1393,1,1596,1589,1591,1399,1392,1394,42,1394,1398,1393,1,1592,1596,1591,1395,1399,1394,42,1398,1399,1401,1,1596,1597,1599,1399,1400,1402,42,1406,1495,1401,1,1604,1691,1599,1407,1496,1402,42,1406,1408,1495,1,1604,1606,1691,1407,1409,1496,42,1406,1401,1402,1,1604,1599,1600,1407,1402,1403,42,1396,1400,1397,1,1594,1598,1595,1397,1401,1398,42,1368,1369,1367,1,1566,1567,1565,1369,1370,1368,42,1338,1298,1299,1,1529,1489,1490,1339,1299,1300,42,1251,1252,1260,1,1442,1443,1451,1252,1253,1261,42,1199,1200,1239,1,1390,1391,1430,1200,1201,1240,42,1239,1200,1496,1,1430,1391,1692,1240,1201,1497,42,1201,1496,1200,1,1392,1692,1391,1202,1497,1201,42,1201,1497,1496,1,1392,1693,1692,1202,1498,1497,42,1498,1497,1201,1,1694,1693,1392,1499,1498,1202,42,1499,1497,1498,1,1695,1693,1694,1500,1498,1499,42,1500,1497,1499,1,1696,1693,1695,1501,1498,1500,42,1501,1497,1500,1,1697,1693,1696,1502,1498,1501,42,1496,1497,1501,1,1692,1693,1697,1497,1498,1502,42,1238,1496,1501,1,1429,1692,1697,1239,1497,1502,42,1239,1496,1238,1,1430,1692,1429,1240,1497,1239,42,1238,1501,1502,1,1429,1697,1698,1239,1502,1503,42,1502,1501,1500,1,1698,1697,1696,1503,1502,1501,42,1502,1500,1503,1,1698,1696,1699,1503,1501,1504,42,1503,1500,1504,1,1699,1696,1700,1504,1501,1505,42,1504,1500,1499,1,1700,1696,1695,1505,1501,1500,42,1504,1499,1207,1,1700,1695,1398,1505,1500,1208,42,1207,1499,1498,1,1398,1695,1694,1208,1500,1499,42,1207,1498,1205,1,1398,1694,1396,1208,1499,1206,42,1205,1498,1202,1,1396,1694,1393,1206,1499,1203,42,1202,1498,1201,1,1393,1694,1392,1203,1499,1202,42,1205,1202,1203,1,1396,1393,1394,1206,1203,1204,42,1209,1504,1207,1,1400,1700,1398,1210,1505,1208,42,1209,1505,1504,1,1400,1701,1700,1210,1506,1505,42,1211,1505,1209,1,1402,1701,1400,1212,1506,1210,42,1211,1506,1505,1,1402,1702,1701,1212,1507,1506,42,1211,1507,1506,1,1402,1703,1702,1212,1508,1507,42,1213,1507,1211,1,1404,1703,1402,1214,1508,1212,42,1508,1507,1213,1,1704,1703,1404,1509,1508,1214,42,1508,1506,1507,1,1704,1702,1703,1509,1507,1508,42,1509,1506,1508,1,1705,1702,1704,1510,1507,1509,42,1503,1506,1509,1,1699,1702,1705,1504,1507,1510,42,1505,1506,1503,1,1701,1702,1699,1506,1507,1504,42,1505,1503,1504,1,1701,1699,1700,1506,1504,1505,42,1503,1509,1502,1,1699,1705,1698,1504,1510,1503,42,1510,1502,1509,1,1706,1698,1705,1511,1503,1510,42,1238,1502,1510,1,1429,1698,1706,1239,1503,1511,42,1236,1238,1510,1,1427,1429,1706,1237,1239,1511,42,1236,1510,1511,1,1427,1706,1707,1237,1511,1512,42,1510,1508,1511,1,1706,1704,1707,1511,1509,1512,42,1510,1509,1508,1,1706,1705,1704,1511,1510,1509,42,1511,1508,1512,1,1707,1704,1708,1512,1509,1513,42,1508,1213,1512,1,1704,1404,1708,1509,1214,1513,42,1213,1228,1512,1,1404,1419,1708,1214,1229,1513,42,1215,1228,1213,1,1406,1419,1404,1216,1229,1214,42,1215,1216,1228,1,1406,1407,1419,1216,1217,1229,42,1228,1513,1512,1,1419,1709,1708,1229,1514,1513,42,1228,1229,1513,1,1419,1420,1709,1229,1230,1514,42,1229,1514,1513,1,1420,1710,1709,1230,1515,1514,42,1229,1515,1514,1,1420,1711,1710,1230,1516,1515,42,1229,1233,1515,1,1420,1424,1711,1230,1234,1516,42,1229,1230,1233,1,1420,1421,1424,1230,1231,1234,42,1515,1233,1516,1,1711,1424,1712,1516,1234,1517,42,1233,1235,1516,1,1424,1426,1712,1234,1236,1517,42,1516,1235,1517,1,1712,1426,1713,1517,1236,1518,42,1236,1517,1235,1,1427,1713,1426,1237,1518,1236,42,1236,1511,1517,1,1427,1707,1713,1237,1512,1518,42,1514,1517,1511,1,1710,1713,1707,1515,1518,1512,42,1514,1516,1517,1,1710,1712,1713,1515,1517,1518,42,1515,1516,1514,1,1711,1712,1710,1516,1517,1515,42,1514,1511,1513,1,1710,1707,1709,1515,1512,1514,42,1513,1511,1512,1,1709,1707,1708,1514,1512,1513,42,1400,1401,1399,2,1714,1715,1716,1401,1402,1400,42,1518,1519,1520,0,1717,1718,1719,1519,1520,1521,42,1518,1521,1519,0,1717,1720,1718,1519,1522,1520,42,1521,1518,1522,0,1720,1717,1721,1522,1519,1523,42,1522,1523,1521,0,1721,1722,1720,1523,1524,1522,42,1522,1524,1523,0,1721,1723,1722,1523,1525,1524,42,1525,1524,1522,0,1724,1723,1721,1526,1525,1523,42,1526,1524,1525,0,1725,1723,1724,1527,1525,1526,42,1526,1527,1524,0,1725,1726,1723,1527,1528,1525,42,1528,1527,1526,0,1727,1726,1725,1529,1528,1527,42,1528,1529,1527,0,1727,1728,1726,1529,1530,1528,42,1530,1529,1528,0,1729,1728,1727,1531,1530,1529,42,1529,1530,1531,0,1728,1730,1731,1532,1532,1532,42,1530,1532,1531,0,1730,1732,1731,1533,1533,1533,42,1530,1533,1532,0,1730,1733,1732,1534,1534,1534,42,1533,1530,1534,0,1734,1729,1735,1535,1531,1536,42,1534,1530,1528,0,1735,1729,1727,1536,1531,1529,42,1534,1528,1535,0,1735,1727,1736,1536,1529,1537,42,1535,1528,1526,0,1736,1727,1725,1537,1529,1527,42,1535,1526,1536,0,1736,1725,1737,1537,1527,1538,42,1536,1526,1525,0,1737,1725,1724,1538,1527,1526,42,1525,1537,1536,0,1738,1739,1740,1539,1539,1539,42,1538,1537,1525,0,1741,1739,1738,1540,1540,1540,42,1539,1537,1538,0,1742,1739,1743,1541,1541,1541,42,1537,1539,1540,0,1739,1742,1744,1542,1542,1542,42,1540,1539,1541,0,1745,1746,1747,1543,1544,1545,42,1541,1539,1542,0,1747,1746,1748,1545,1544,1546,42,1539,1520,1542,0,1746,1719,1748,1544,1521,1546,42,1543,1520,1539,0,1749,1750,1751,1542,1542,1542,42,1518,1520,1543,0,1717,1719,1752,1519,1521,1547,42,1518,1543,1544,0,1717,1752,1753,1519,1547,1548,42,1544,1543,1545,0,1753,1752,1754,1548,1547,1549,42,1545,1543,1538,0,1755,1749,1741,1542,1542,1542,42,1538,1543,1539,0,1741,1749,1751,1542,1542,1542,42,1538,1522,1545,0,1756,1721,1754,1550,1523,1549,42,1525,1522,1538,0,1724,1721,1756,1526,1523,1550,42,1522,1544,1545,0,1721,1753,1754,1523,1548,1549,42,1522,1518,1544,0,1721,1717,1753,1523,1519,1548,42,1542,1520,1519,0,1748,1719,1718,1546,1521,1520,42,1521,1542,1519,0,1720,1748,1718,1522,1546,1520,42,1521,1523,1542,0,1720,1722,1748,1522,1524,1546,42,1523,1541,1542,0,1722,1747,1748,1524,1545,1546,42,1523,1546,1541,0,1722,1757,1747,1524,1551,1545,42,1524,1546,1523,0,1723,1757,1722,1525,1551,1524,42,1524,1527,1546,0,1723,1726,1757,1525,1528,1551,42,1527,1547,1546,0,1726,1758,1757,1528,1552,1551,42,1527,1529,1547,0,1726,1728,1758,1528,1530,1552,42,1529,1531,1547,0,1728,1731,1758,1530,1553,1552,42,1547,1531,1548,0,1758,1731,1759,1552,1553,1554,42,1531,1549,1548,0,1731,1760,1759,1553,1555,1554,42,1531,1532,1549,0,1731,1732,1760,1556,1556,1556,42,1532,1550,1549,0,1732,1761,1760,1557,1558,1555,42,1532,1551,1550,0,1762,1763,1764,1557,1559,1558,42,1532,1552,1551,0,1765,1766,1767,1557,1560,1559,42,1533,1552,1532,0,1734,1766,1765,1535,1560,1557,42,1552,1533,1534,0,1766,1734,1735,1560,1535,1536,42,1552,1534,1553,0,1766,1735,1768,1560,1536,1561,42,1553,1534,1535,0,1768,1735,1736,1561,1536,1537,42,1554,1553,1535,0,1769,1768,1736,1562,1561,1537,42,1553,1554,1555,0,1768,1769,1770,1561,1562,1563,42,1554,1556,1555,0,1771,1772,1773,1564,1564,1564,42,1557,1556,1554,0,1774,1775,1771,1564,1564,1564,42,1556,1557,1558,0,1775,1774,1776,1565,1565,1565,42,1557,1559,1558,0,1777,1778,1776,1564,1564,1564,42,1560,1559,1557,0,1779,1778,1777,1566,1566,1566,42,1560,1561,1559,0,1779,1780,1778,1567,1567,1567,42,1562,1561,1560,0,1781,1780,1779,1568,1568,1568,42,1562,1563,1561,0,1781,1782,1780,1569,1570,1571,42,1537,1563,1562,0,1739,1782,1781,1572,1570,1569,42,1537,1540,1563,0,1739,1744,1782,1573,1573,1573,42,1563,1540,1541,0,1783,1745,1747,1570,1543,1545,42,1563,1541,1564,0,1783,1747,1784,1570,1545,1574,42,1565,1564,1541,0,1785,1784,1747,1575,1574,1545,42,1561,1564,1565,0,1786,1784,1785,1571,1574,1575,42,1561,1563,1564,0,1786,1783,1784,1571,1570,1574,42,1561,1565,1566,0,1786,1785,1787,1571,1575,1576,42,1548,1566,1565,0,1759,1787,1785,1554,1576,1575,42,1567,1566,1548,0,1788,1787,1759,1577,1576,1554,42,1567,1568,1566,0,1788,1789,1787,1577,1578,1576,42,1569,1568,1567,0,1790,1789,1788,1579,1578,1577,42,1570,1568,1569,0,1791,1789,1790,1580,1578,1579,42,1570,1558,1568,0,1791,1792,1789,1580,1581,1578,42,1556,1558,1570,0,1772,1776,1793,1565,1565,1565,42,1556,1570,1571,0,1772,1793,1794,1565,1565,1565,42,1572,1571,1570,0,1795,1796,1791,1582,1583,1580,42,1573,1571,1572,0,1797,1798,1799,1584,1583,1582,42,1573,1555,1571,0,1797,1770,1798,1584,1563,1583,42,1553,1555,1573,0,1768,1770,1797,1561,1563,1584,42,1552,1553,1573,0,1766,1768,1797,1560,1561,1584,42,1552,1573,1551,0,1766,1797,1767,1560,1584,1559,42,1551,1573,1572,0,1767,1797,1799,1559,1584,1582,42,1551,1572,1574,0,1763,1795,1800,1559,1582,1585,42,1574,1572,1569,0,1800,1795,1790,1585,1582,1579,42,1572,1570,1569,0,1795,1791,1790,1582,1580,1579,42,1569,1567,1574,0,1790,1788,1800,1579,1577,1585,42,1574,1567,1549,0,1800,1788,1801,1585,1577,1555,42,1549,1567,1548,0,1801,1788,1759,1555,1577,1554,42,1574,1549,1550,0,1800,1801,1764,1585,1555,1558,42,1550,1551,1574,0,1764,1763,1800,1558,1559,1585,42,1555,1556,1571,0,1773,1772,1794,1564,1564,1564,42,1558,1561,1568,0,1792,1786,1789,1581,1571,1578,42,1558,1559,1561,0,1792,1802,1786,1586,1586,1586,42,1568,1561,1566,0,1789,1786,1787,1578,1571,1576,42,1547,1548,1565,0,1758,1759,1785,1552,1554,1575,42,1546,1547,1565,0,1757,1758,1785,1551,1552,1575,42,1546,1565,1541,0,1757,1785,1747,1551,1575,1545,42,1536,1537,1562,0,1740,1739,1781,1538,1572,1569,42,1536,1562,1535,0,1740,1781,1803,1538,1569,1537,42,1535,1562,1560,0,1803,1781,1779,1568,1568,1568,42,1535,1560,1557,0,1803,1779,1777,1566,1566,1566,42,1535,1557,1575,0,1803,1777,1804,1587,1587,1587,42,1575,1557,1554,0,1804,1777,1771,1564,1564,1564,42,1554,1535,1575,0,1769,1736,1805,1588,1588,1588,42,1576,1577,1578,0,1806,1807,1808,1589,1590,1591,42,1577,1576,1579,0,1807,1806,1809,1590,1589,1592,42,1580,1577,1579,0,1810,1807,1809,1593,1590,1592,42,1577,1580,1581,0,1811,1812,1813,1594,1594,1594,42,1581,1580,1582,0,1814,1810,1815,1595,1593,1596,42,1582,1580,1579,0,1815,1810,1809,1596,1593,1592,42,1576,1582,1579,0,1806,1815,1809,1589,1596,1592,42,1582,1576,1583,0,1815,1806,1816,1596,1589,1597,42,1584,1582,1583,0,1817,1815,1816,1598,1596,1597,42,1584,1585,1582,0,1817,1818,1815,1598,1599,1596,42,1586,1585,1584,0,1819,1818,1817,1600,1599,1598,42,1586,1587,1585,0,1819,1820,1818,1600,1601,1599,42,1588,1587,1586,0,1821,1820,1819,1602,1601,1600,42,1588,1589,1587,0,1821,1822,1820,1602,1603,1601,42,1590,1589,1588,0,1823,1822,1821,1604,1603,1602,42,1590,1591,1589,0,1823,1824,1822,1605,1605,1605,42,1592,1591,1590,0,1825,1824,1823,1605,1605,1605,42,1592,1593,1591,0,1825,1826,1824,1606,1606,1606,42,1593,1592,1594,0,1827,1828,1829,1607,1608,1609,42,1592,1595,1594,0,1828,1830,1829,1608,1610,1609,42,1592,1596,1595,0,1831,1832,1833,1608,1611,1610,42,1596,1592,1597,0,1834,1825,1835,1611,1608,1612,42,1597,1592,1590,0,1835,1825,1823,1605,1605,1605,42,1597,1590,1598,0,1835,1823,1836,1612,1604,1613,42,1598,1590,1588,0,1836,1823,1821,1613,1604,1602,42,1598,1588,1599,0,1836,1821,1837,1613,1602,1614,42,1599,1588,1586,0,1837,1821,1819,1614,1602,1600,42,1599,1586,1600,0,1837,1819,1838,1614,1600,1615,42,1600,1586,1584,0,1838,1819,1817,1615,1600,1598,42,1600,1584,1601,0,1838,1817,1839,1615,1598,1616,42,1601,1584,1583,0,1839,1817,1816,1616,1598,1597,42,1601,1583,1602,0,1839,1816,1840,1616,1597,1617,42,1583,1576,1602,0,1816,1806,1840,1597,1589,1617,42,1576,1578,1602,0,1806,1808,1840,1589,1591,1617,42,1601,1602,1578,0,1839,1840,1808,1616,1617,1591,42,1603,1601,1578,0,1841,1839,1808,1618,1616,1591,42,1600,1601,1603,0,1838,1839,1841,1615,1616,1618,42,1604,1600,1603,0,1842,1838,1841,1619,1615,1618,42,1605,1600,1604,0,1843,1838,1842,1620,1615,1619,42,1605,1606,1600,0,1843,1844,1838,1620,1621,1615,42,1607,1606,1605,0,1845,1844,1843,1622,1621,1620,42,1607,1599,1606,0,1845,1837,1844,1622,1614,1621,42,1607,1608,1599,0,1845,1846,1837,1622,1623,1614,42,1609,1608,1607,0,1847,1846,1845,1624,1623,1622,42,1610,1608,1609,0,1848,1846,1847,1625,1623,1624,42,1610,1598,1608,0,1848,1836,1846,1625,1613,1623,42,1597,1598,1610,0,1849,1836,1848,1612,1613,1625,42,1611,1597,1610,0,1850,1849,1848,1626,1612,1625,42,1596,1597,1611,0,1832,1849,1850,1611,1612,1626,42,1596,1611,1595,0,1832,1850,1833,1611,1626,1610,42,1595,1611,1612,0,1833,1850,1851,1610,1626,1627,42,1611,1613,1612,0,1850,1852,1851,1626,1628,1627,42,1613,1611,1610,0,1852,1850,1848,1628,1626,1625,42,1613,1610,1609,0,1852,1848,1847,1628,1625,1624,42,1614,1613,1609,0,1853,1852,1847,1629,1628,1624,42,1612,1613,1614,0,1851,1852,1853,1627,1628,1629,42,1612,1614,1615,0,1851,1853,1854,1627,1629,1630,42,1614,1616,1615,0,1855,1856,1857,1631,1631,1631,42,1614,1617,1616,0,1855,1858,1856,1632,1632,1632,42,1614,1609,1617,0,1853,1847,1859,1629,1624,1633,42,1617,1609,1607,0,1859,1847,1845,1633,1624,1622,42,1617,1607,1618,0,1859,1845,1860,1634,1634,1634,42,1619,1618,1607,0,1861,1862,1863,1635,1635,1635,42,1619,1620,1618,0,1861,1864,1862,1636,1636,1636,42,1621,1620,1619,0,1865,1864,1861,1636,1636,1636,42,1621,1622,1620,0,1865,1866,1864,1636,1636,1636,42,1621,1623,1622,0,1867,1868,1869,1637,1637,1637,42,1624,1623,1621,0,1870,1868,1867,1638,1639,1640,42,1624,1625,1623,0,1870,1871,1868,1638,1641,1639,42,1626,1625,1624,0,1872,1871,1870,1642,1641,1638,42,1626,1615,1625,0,1872,1873,1871,1642,1630,1641,42,1626,1612,1615,0,1872,1874,1873,1642,1627,1630,42,1595,1612,1626,0,1830,1874,1872,1610,1627,1642,42,1594,1595,1626,0,1829,1830,1872,1609,1610,1642,42,1594,1626,1624,0,1829,1872,1870,1609,1642,1638,42,1594,1624,1627,0,1829,1870,1875,1609,1638,1643,42,1624,1621,1627,0,1870,1867,1875,1638,1640,1643,42,1627,1621,1628,0,1875,1867,1876,1643,1640,1644,42,1621,1629,1628,0,1867,1877,1876,1640,1645,1644,42,1621,1630,1629,0,1867,1878,1877,1640,1646,1645,42,1631,1630,1621,0,1879,1880,1865,1647,1646,1640,42,1631,1632,1630,0,1879,1881,1880,1647,1648,1646,42,1605,1632,1631,0,1882,1881,1879,1620,1648,1647,42,1605,1604,1632,0,1882,1883,1881,1649,1649,1649,42,1603,1632,1604,0,1884,1881,1883,1594,1594,1594,42,1632,1603,1633,0,1881,1884,1885,1650,1650,1650,42,1603,1577,1633,0,1884,1811,1885,1650,1650,1650,42,1603,1578,1577,0,1884,1886,1811,1650,1650,1650,42,1633,1577,1581,0,1885,1811,1813,1594,1594,1594,42,1632,1633,1581,0,1881,1885,1813,1594,1594,1594,42,1632,1581,1634,0,1881,1813,1887,1594,1594,1594,42,1634,1581,1582,0,1888,1814,1815,1651,1595,1596,42,1634,1582,1585,0,1888,1815,1818,1651,1596,1599,42,1629,1634,1585,0,1877,1888,1818,1645,1651,1599,42,1630,1634,1629,0,1878,1888,1877,1646,1651,1645,42,1632,1634,1630,0,1881,1887,1880,1652,1652,1652,42,1629,1585,1587,0,1877,1818,1820,1645,1599,1601,42,1628,1629,1587,0,1876,1877,1820,1644,1645,1601,42,1628,1587,1589,0,1876,1820,1822,1644,1601,1603,42,1591,1628,1589,0,1889,1876,1822,1653,1644,1603,42,1627,1628,1591,0,1875,1876,1889,1643,1644,1653,42,1591,1593,1627,0,1889,1827,1875,1653,1607,1643,42,1593,1594,1627,0,1827,1829,1875,1607,1609,1643,42,1607,1605,1631,0,1863,1882,1879,1622,1620,1647,42,1607,1631,1619,0,1863,1879,1861,1654,1654,1654,42,1619,1631,1621,0,1861,1879,1865,1655,1655,1655,42,1615,1616,1625,0,1857,1856,1890,1631,1631,1631,42,1616,1623,1625,0,1856,1891,1890,1631,1631,1631,42,1616,1620,1623,0,1892,1893,1891,1631,1631,1631,42,1620,1616,1617,0,1893,1892,1858,1631,1631,1631,42,1617,1618,1620,0,1858,1862,1864,1631,1631,1631,42,1620,1622,1623,0,1864,1866,1891,1631,1631,1631,42,1598,1599,1608,0,1836,1837,1846,1613,1614,1623,42,1599,1600,1606,0,1837,1838,1844,1614,1615,1621,42,1635,1636,1637,3,1894,1895,1896,1656,1657,1658,42,1636,1635,1638,3,1895,1894,1897,1657,1656,1659,42,1638,1639,1636,3,1897,1898,1895,1659,1660,1657,42,1639,1638,1640,3,1899,1900,1901,1660,1659,1661,42,1640,1638,1641,3,1901,1900,1902,1661,1659,1662,42,1638,1635,1641,3,1897,1894,1903,1659,1656,1662,42,1635,1642,1641,3,1894,1904,1903,1656,1663,1662,42,1642,1635,1643,3,1904,1894,1905,1663,1656,1664,42,1635,1637,1643,3,1894,1896,1905,1656,1658,1664,42,1643,1637,1644,3,1906,1907,1908,1664,1658,1665,42,1644,1637,1645,3,1908,1909,1910,1665,1658,1666,42,1637,1646,1645,3,1909,1911,1910,1658,1667,1666,42,1637,1647,1646,3,1909,1912,1911,1658,1668,1667,42,1637,1636,1647,3,1909,1913,1912,1658,1657,1668,42,1646,1647,1648,3,1914,1915,1916,1667,1668,1669,42,1648,1647,1649,3,1916,1915,1917,1669,1668,1670,42,1648,1649,1650,3,1916,1917,1918,1669,1670,1671,42,1649,1651,1650,3,1919,1920,1921,1670,1672,1671,42,1650,1651,1652,3,1921,1920,1922,1671,1672,1673,42,1650,1652,1653,3,1921,1922,1923,1671,1673,1674,42,1652,1654,1653,3,1924,1925,1926,1673,1675,1674,42,1653,1654,1655,3,1926,1925,1927,1674,1675,1676,42,1653,1655,1656,3,1926,1927,1928,1674,1676,1677,42,1656,1655,1657,3,1928,1927,1929,1677,1676,1678,42,1656,1657,1658,3,1928,1929,1930,1677,1678,1679,42,1658,1657,1659,3,1930,1929,1931,1679,1678,1680,42,1657,1660,1659,3,1929,1932,1931,1678,1681,1680,42,1659,1660,1661,3,1931,1932,1933,1680,1681,1682,42,1662,1653,1656,3,1934,1923,1935,1683,1674,1677,42,1662,1650,1653,3,1934,1921,1923,1683,1671,1674,42,1663,1650,1662,3,1936,1918,1937,1684,1671,1683,42,1648,1650,1663,3,1916,1918,1936,1669,1671,1684,42,1645,1648,1663,3,1938,1916,1936,1666,1669,1684,42,1645,1646,1648,3,1938,1914,1916,1666,1667,1669,42,1664,1645,1663,3,1939,1938,1936,1685,1666,1684,42,1664,1663,1665,3,1939,1936,1940,1685,1684,1686,42,1666,1664,1665,3,1941,1939,1940,1687,1685,1686,42,1667,1666,1665,3,1942,1941,1940,1688,1687,1686,42,1668,1666,1667,3,1943,1941,1942,1689,1687,1688,42,1663,1662,1669,3,1936,1937,1944,1684,1683,1690,42,1670,1663,1669,3,1940,1936,1944,1691,1684,1690,42,1671,1670,1669,3,1945,1940,1944,1692,1691,1690,42,1670,1671,1672,3,1940,1945,1942,1691,1692,1693,42,1673,1672,1671,3,1946,1942,1945,1694,1693,1692,42,1662,1656,1674,3,1934,1935,1947,1683,1677,1695,42,1675,1662,1674,3,1948,1934,1947,1696,1683,1695,42,1675,1674,1676,3,1948,1947,1949,1696,1695,1697,42,1675,1676,1677,3,1948,1949,1950,1696,1697,1698,42,1678,1677,1676,3,1951,1950,1949,1699,1698,1697,42,1644,1645,1679,3,1908,1910,1952,1665,1666,1700,42,1680,1644,1679,3,1953,1908,1952,1701,1665,1700,42,1681,1644,1680,3,1954,1908,1953,1702,1665,1701,42,1681,1643,1644,3,1954,1906,1908,1702,1664,1665,42,1642,1643,1681,3,1904,1905,1955,1663,1664,1702,42,1682,1642,1681,3,1956,1904,1955,1703,1663,1702,42,1642,1682,1641,3,1904,1956,1903,1663,1703,1662,42,1641,1682,1683,3,1903,1956,1957,1662,1703,1704,42,1682,1684,1683,3,1956,1958,1957,1703,1705,1704,42,1682,1685,1684,3,1956,1959,1958,1703,1706,1705,42,1685,1682,1686,3,1959,1956,1960,1707,1707,1707,42,1686,1682,1681,3,1960,1956,1955,1708,1703,1702,42,1687,1685,1686,3,1961,1959,1960,1709,1709,1709,42,1687,1684,1685,3,1961,1958,1959,1710,1705,1706,42,1688,1681,1680,3,1962,1954,1953,1711,1702,1701,42,1689,1688,1680,3,1963,1962,1953,1712,1711,1701,42,1690,1688,1689,3,1964,1962,1963,1713,1711,1712,42,1690,1689,1691,3,1964,1963,1965,1713,1712,1714,42,1689,1680,1691,3,1963,1953,1965,1712,1701,1714,42,1691,1680,1679,3,1965,1953,1952,1714,1701,1700,42,1640,1641,1692,3,1901,1902,1966,1661,1662,1715,42,1692,1641,1693,3,1966,1902,1967,1715,1662,1716,42,1692,1693,1694,3,1966,1967,1968,1715,1716,1717,42,1694,1693,1695,3,1968,1967,1969,1717,1716,1718,42,1694,1695,1696,3,1968,1969,1970,1717,1718,1719,42,1695,1697,1696,3,1969,1971,1970,1718,1720,1719,42,1692,1694,1698,3,1972,1973,1974,1715,1717,1721,42,1698,1694,1699,3,1974,1973,1975,1721,1717,1722,42,1700,1698,1699,3,1976,1974,1975,1723,1721,1722,42,1698,1700,1701,3,1974,1976,1977,1721,1723,1724,42,1700,1702,1701,3,1976,1978,1977,1723,1725,1724,42,1702,1700,1699,3,1978,1976,1975,1725,1723,1722,42,1698,1701,1703,3,1974,1977,1979,1721,1724,1726,42,1704,1698,1703,3,1980,1974,1979,1727,1721,1726,42,1704,1692,1698,3,1980,1972,1974,1727,1715,1721,42,1705,1692,1704,3,1981,1972,1980,1728,1715,1727,42,1705,1640,1692,3,1981,1982,1972,1728,1661,1715,42,1706,1640,1705,3,1983,1982,1981,1729,1661,1728,42,1639,1640,1706,3,1984,1982,1983,1660,1661,1729,42,1706,1705,1707,3,1983,1981,1985,1729,1728,1730,42,1705,1708,1707,3,1981,1986,1985,1728,1731,1730,42,1705,1704,1708,3,1981,1980,1986,1728,1727,1731,42,1704,1703,1708,3,1980,1979,1986,1727,1726,1731,42,1708,1703,1709,3,1987,1988,1989,1731,1726,1732,42,1709,1703,1710,3,1989,1988,1990,1732,1726,1733,42,1710,1703,1711,3,1990,1988,1991,1733,1726,1734,42,1710,1711,1712,3,1990,1991,1992,1733,1734,1735,42,1712,1711,1713,3,1992,1991,1993,1735,1734,1736,42,1712,1713,1714,3,1992,1993,1994,1735,1736,1737,42,1710,1712,1714,3,1990,1992,1994,1733,1735,1737,42,1710,1714,1715,3,1990,1994,1995,1733,1737,1738,42,1716,1710,1715,3,1996,1990,1995,1739,1733,1738,42,1709,1710,1716,3,1989,1990,1996,1732,1733,1739,42,1717,1709,1716,3,1997,1989,1996,1740,1732,1739,42,1717,1708,1709,3,1997,1987,1989,1740,1731,1732,42,1707,1708,1717,3,1998,1987,1997,1730,1731,1740,42,1718,1707,1717,3,1999,1998,1997,1741,1730,1740,42,1706,1707,1718,3,2000,1998,1999,1729,1730,1741,42,1718,1717,1719,3,1999,1997,2001,1741,1740,1742,42,1717,1716,1719,3,1997,1996,2001,1740,1739,1742,42,1719,1716,1720,3,2002,2003,2004,1742,1739,1743,42,1720,1716,1715,3,2004,2003,2005,1743,1739,1738,42,1720,1715,1721,3,2004,2005,2006,1743,1738,1744,42,1715,1722,1721,3,2005,2007,2006,1738,1745,1744,42,1715,1723,1722,3,2005,2008,2007,1738,1746,1745,42,1723,1724,1722,3,2008,2009,2007,1746,1747,1745,42,1725,1719,1720,3,2010,2002,2004,1748,1742,1743,42,1726,1719,1725,3,2011,2002,2010,1749,1742,1748,42,1718,1719,1726,3,2012,2002,2011,1741,1742,1749,42,1727,1726,1725,3,2013,2011,2010,1750,1749,1748,42,1725,1728,1727,3,2010,2014,2013,1748,1751,1750,42,1725,1729,1728,3,2010,2015,2014,1748,1752,1751,42,1725,1730,1729,3,2010,2016,2015,1748,1753,1752,42,1725,1720,1730,3,2010,2004,2016,1748,1743,1753,42,1720,1731,1730,3,2004,2017,2016,1743,1754,1753,42,1720,1732,1731,3,2004,2018,2017,1743,1755,1754,42,1732,1733,1731,3,2018,2019,2017,1755,1756,1754,42,1732,1734,1733,3,2018,2020,2019,1755,1757,1756,42,1735,1733,1734,3,2021,2019,2020,1758,1756,1757,42,1735,1736,1733,3,2021,2022,2019,1758,1759,1756,42,1733,1736,1731,3,2019,2022,2017,1756,1759,1754,42,1737,1731,1736,3,2023,2017,2022,1760,1754,1759,42,1731,1737,1730,3,2017,2023,2016,1754,1760,1753,42,1737,1738,1730,3,2023,2024,2016,1760,1761,1753,42,1730,1738,1729,3,2016,2024,2015,1753,1761,1752,42,1729,1738,1739,3,2015,2024,2025,1752,1761,1762,42,1729,1739,1728,3,2015,2025,2026,1752,1762,1751,42,1740,1741,1742,3,2027,2028,2029,1763,1764,1765,42,1741,1740,1743,3,2028,2027,2030,1764,1763,1766,42,1743,1744,1741,3,2030,2031,2028,1766,1767,1764,42,1744,1743,1745,3,2032,2033,2034,1767,1766,1768,42,1745,1743,1746,3,2034,2033,2035,1768,1766,1769,42,1743,1740,1746,3,2030,2027,2036,1766,1763,1769,42,1740,1747,1746,3,2027,2037,2036,1763,1770,1769,42,1747,1740,1748,3,2037,2027,2038,1770,1763,1771,42,1740,1742,1748,3,2027,2029,2038,1763,1765,1771,42,1748,1742,1749,3,2039,2040,2041,1771,1765,1772,42,1749,1742,1750,3,2041,2042,2043,1772,1765,1773,42,1742,1751,1750,3,2042,2044,2043,1765,1774,1773,42,1742,1741,1751,3,2042,2045,2044,1765,1764,1774,42,1741,1752,1751,3,2045,2046,2044,1764,1775,1774,42,1751,1752,1753,3,2047,2048,2049,1774,1775,1776,42,1752,1754,1753,3,2048,2050,2049,1775,1777,1776,42,1753,1754,1755,3,2049,2050,2051,1776,1777,1778,42,1755,1754,1756,3,2052,2053,2054,1778,1777,1779,42,1754,1757,1756,3,2053,2055,2054,1777,1780,1779,42,1757,1758,1756,3,2056,2057,2058,1780,1781,1779,42,1758,1759,1756,3,2057,2059,2058,1781,1782,1779,42,1756,1759,1760,3,2058,2059,2060,1779,1782,1783,42,1759,1761,1760,3,2059,2061,2060,1782,1784,1783,42,1760,1761,1762,3,2060,2061,2062,1783,1784,1785,42,1761,1763,1762,3,2061,2063,2062,1784,1786,1785,42,1761,1764,1763,3,2061,2064,2063,1784,1787,1786,42,1763,1764,1765,3,2063,2064,2065,1786,1787,1788,42,1755,1756,1760,3,2052,2054,2066,1778,1779,1783,42,1755,1760,1766,3,2052,2066,2067,1778,1783,1789,42,1766,1760,1767,3,2067,2066,2068,1789,1783,1790,42,1768,1766,1767,3,2069,2067,2068,1791,1789,1790,42,1768,1767,1769,3,2069,2068,2070,1791,1790,1792,42,1768,1769,1770,3,2069,2070,2071,1791,1792,1793,42,1771,1770,1769,3,2072,2071,2070,1794,1793,1792,42,1772,1755,1766,3,2073,2051,2074,1795,1778,1789,42,1772,1753,1755,3,2073,2049,2051,1795,1776,1778,42,1750,1753,1772,3,2075,2049,2073,1773,1776,1795,42,1750,1751,1753,3,2075,2047,2049,1773,1774,1776,42,1773,1750,1772,3,2076,2075,2073,1796,1773,1795,42,1774,1773,1772,3,2077,2076,2073,1797,1796,1795,42,1773,1774,1775,3,2076,2077,2078,1796,1797,1798,42,1775,1774,1776,3,2078,2077,2079,1798,1797,1799,42,1775,1776,1777,3,2078,2079,2080,1798,1799,1800,42,1772,1766,1778,3,2073,2074,2081,1795,1789,1801,42,1779,1772,1778,3,2082,2073,2081,1802,1795,1801,42,1779,1778,1780,3,2082,2081,2083,1802,1801,1803,42,1779,1780,1781,3,2082,2083,2084,1802,1803,1804,42,1781,1780,1782,3,2084,2083,2085,1804,1803,1805,42,1749,1750,1783,3,2041,2043,2086,1772,1773,1806,42,1784,1749,1783,3,2087,2041,2086,1807,1772,1806,42,1784,1785,1749,3,2087,2088,2041,1807,1808,1772,42,1784,1786,1785,3,2087,2089,2088,1807,1809,1808,42,1786,1784,1787,3,2089,2087,2090,1809,1807,1810,42,1784,1788,1787,3,2087,2091,2090,1807,1811,1810,42,1784,1783,1788,3,2087,2086,2091,1807,1806,1811,42,1787,1788,1789,3,2090,2091,2092,1810,1811,1812,42,1786,1787,1789,3,2089,2090,2092,1809,1810,1812,42,1749,1785,1748,3,2041,2088,2039,1772,1808,1771,42,1747,1748,1785,3,2037,2038,2093,1770,1771,1808,42,1790,1747,1785,3,2094,2037,2093,1813,1770,1808,42,1747,1790,1746,3,2037,2094,2036,1770,1813,1769,42,1746,1790,1791,3,2036,2094,2095,1769,1813,1814,42,1790,1792,1791,3,2094,2096,2095,1813,1815,1814,42,1790,1793,1792,3,2094,2097,2096,1813,1816,1815,42,1793,1790,1794,3,2097,2094,2098,1816,1813,1817,42,1790,1785,1794,3,2094,2093,2098,1813,1808,1817,42,1795,1793,1794,3,2099,2097,2098,1818,1816,1817,42,1792,1793,1795,3,2096,2097,2099,1815,1816,1818,42,1745,1746,1796,3,2034,2035,2100,1768,1769,1819,42,1746,1797,1796,3,2035,2101,2100,1769,1820,1819,42,1797,1798,1796,3,2101,2102,2100,1820,1821,1819,42,1798,1797,1799,3,2102,2101,2103,1821,1820,1822,42,1798,1799,1800,3,2102,2103,2104,1821,1822,1823,42,1800,1799,1801,3,2104,2103,2105,1823,1822,1824,42,1796,1798,1802,3,2106,2107,2108,1819,1821,1825,42,1802,1798,1803,3,2108,2107,2109,1825,1821,1826,42,1802,1803,1804,3,2108,2109,2110,1825,1826,1827,42,1804,1803,1805,3,2110,2109,2111,1827,1826,1828,42,1806,1804,1805,3,2112,2110,2111,1829,1827,1828,42,1802,1804,1806,3,2108,2110,2112,1825,1827,1829,42,1807,1802,1806,3,2113,2108,2112,1830,1825,1829,42,1808,1802,1807,3,2114,2108,2113,1831,1825,1830,42,1808,1796,1802,3,2114,2106,2108,1831,1819,1825,42,1809,1796,1808,3,2115,2106,2114,1832,1819,1831,42,1809,1745,1796,3,2115,2116,2106,1832,1768,1819,42,1810,1745,1809,3,2117,2116,2115,1833,1768,1832,42,1744,1745,1810,3,2118,2116,2117,1767,1768,1833,42,1810,1809,1811,3,2117,2115,2119,1833,1832,1834,42,1811,1809,1812,3,2119,2115,2120,1834,1832,1835,42,1809,1808,1812,3,2115,2114,2120,1832,1831,1835,42,1812,1808,1807,3,2120,2114,2113,1835,1831,1830,42,1813,1812,1807,3,2121,2122,2123,1836,1835,1830,42,1814,1812,1813,3,2124,2122,2121,1837,1835,1836,42,1814,1811,1812,3,2124,2125,2122,1837,1834,1835,42,1815,1811,1814,3,2126,2125,2124,1838,1834,1837,42,1810,1811,1815,3,2127,2125,2126,1833,1834,1838,42,1815,1814,1816,3,2126,2124,2128,1838,1837,1839,42,1816,1814,1817,3,2128,2124,2129,1839,1837,1840,42,1813,1817,1814,3,2121,2129,2124,1836,1840,1837,42,1813,1818,1817,3,2121,2130,2129,1836,1841,1840,42,1813,1807,1818,3,2121,2123,2130,1836,1830,1841,42,1818,1807,1819,3,2130,2123,2131,1841,1830,1842,42,1818,1819,1820,3,2130,2131,2132,1841,1842,1843,42,1820,1819,1821,3,2132,2131,2133,1843,1842,1844,42,1822,1820,1821,3,2134,2132,2133,1845,1843,1844,42,1818,1820,1822,3,2130,2132,2134,1841,1843,1845,42,1823,1818,1822,3,2135,2130,2134,1846,1841,1845,42,1817,1818,1823,3,2129,2130,2135,1840,1841,1846,42,1817,1823,1824,3,2136,2137,2138,1840,1846,1847,42,1824,1823,1825,3,2138,2137,2139,1847,1846,1848,42,1825,1823,1826,3,2139,2137,2140,1848,1846,1849,42,1823,1827,1826,3,2137,2141,2140,1846,1850,1849,42,1826,1827,1828,3,2140,2141,2142,1849,1850,1851,42,1816,1817,1824,3,2143,2136,2138,1839,1840,1847,42,1829,1816,1824,3,2144,2143,2138,1852,1839,1847,42,1815,1816,1829,3,2145,2143,2144,1838,1839,1852,42,1830,1815,1829,3,2146,2145,2144,1853,1838,1852,42,1829,1831,1830,3,2144,2147,2146,1852,1854,1853,42,1831,1829,1832,3,2147,2144,2148,1854,1852,1855,42,1832,1829,1833,3,2148,2144,2149,1855,1852,1856,42,1829,1824,1833,3,2144,2138,2149,1852,1847,1856,42,1824,1834,1833,3,2138,2150,2149,1847,1857,1856,42,1824,1835,1834,3,2138,2151,2150,1847,1858,1857,42,1834,1835,1836,3,2150,2151,2152,1857,1858,1859,42,1835,1837,1836,3,2151,2153,2152,1858,1860,1859,42,1836,1837,1838,3,2152,2153,2154,1859,1860,1861,42,1838,1839,1836,3,2154,2155,2152,1861,1862,1859,42,1836,1839,1834,3,2152,2155,2150,1859,1862,1857,42,1839,1840,1834,3,2155,2156,2150,1862,1863,1857,42,1833,1834,1840,3,2149,2150,2156,1856,1857,1863,42,1833,1840,1841,3,2149,2156,2157,1856,1863,1864,42,1833,1841,1832,3,2149,2157,2148,1856,1864,1855,42,1832,1841,1842,3,2148,2157,2158,1855,1864,1865,42,1842,1841,1843,3,2159,2160,2161,1865,1864,1866,42,1843,1841,1844,3,2161,2160,2162,1866,1864,1867,42,1845,1843,1844,3,2163,2161,2162,1868,1866,1867,42,1845,1844,1846,3,2163,2162,2164,1868,1867,1869,42,1843,1847,1842,3,2165,2166,2167,1866,1870,1865,42,1843,1848,1847,3,2165,2168,2166,1866,1871,1870,42,1843,1849,1848,3,2165,2169,2168,1866,1872,1871,42,1849,1850,1848,3,2169,2170,2168,1872,1873,1871,42,1832,1842,1831,3,2148,2158,2171,1855,1865,1854,42,1851,1852,1853,3,2172,2173,2174,1874,1875,1876,42,1851,1854,1852,3,2175,2176,2177,1874,1877,1875,42,1854,1851,1855,3,2176,2175,2178,1877,1874,1878,42,1855,1856,1854,3,2179,2180,2181,1878,1879,1877,42,1857,1856,1855,3,2182,2180,2179,1880,1879,1878,42,1857,1858,1856,3,2183,2184,2185,1880,1881,1879,42,1856,1858,1859,3,2185,2184,2186,1879,1881,1882,42,1859,1858,1860,3,2187,2180,2181,1882,1881,1883,42,1858,1861,1860,3,2180,2179,2181,1881,1884,1883,42,1858,1862,1861,3,2180,2182,2179,1881,1885,1884,42,1860,1861,1863,3,2176,2178,2175,1883,1884,1886,42,1860,1863,1864,3,2176,2175,2177,1883,1886,1887,42,1864,1863,1865,3,2173,2172,2174,1887,1886,1888,42,1863,1866,1865,3,2172,2188,2174,1886,1889,1888,42,1865,1866,1867,3,2174,2188,2189,1888,1889,1890,42,1865,1867,1868,3,2174,2189,2190,1888,1890,1891,42,1867,1869,1868,3,2191,2192,2190,1890,1892,1891,42,1868,1869,1870,3,2190,2192,2193,1891,1892,1893,42,1868,1870,1871,3,2190,2193,2194,1891,1893,1894,42,1871,1870,1872,3,2194,2193,2195,1894,1893,1895,42,1870,1873,1872,3,2193,2196,2195,1893,1896,1895,42,1872,1873,1874,3,2195,2196,2197,1895,1896,1897,42,1874,1875,1872,3,2197,2198,2195,1897,1898,1895,42,1875,1876,1872,3,2198,2199,2195,1898,1899,1895,42,1876,1871,1872,3,2199,2194,2195,1899,1894,1895,42,1876,1865,1871,3,2199,2174,2194,1899,1888,1894,42,1864,1865,1876,3,2173,2174,2199,1887,1888,1899,42,1877,1864,1876,3,2200,2173,2199,1900,1887,1899,42,1878,1864,1877,3,2201,2177,2202,1901,1887,1900,42,1879,1864,1878,3,2203,2177,2201,1902,1887,1901,42,1879,1860,1864,3,2203,2176,2177,1902,1883,1887,42,1880,1860,1879,3,2204,2181,2205,1903,1883,1902,42,1860,1880,1859,3,2181,2204,2187,1883,1903,1882,42,1859,1880,1881,3,2187,2204,2206,1882,1903,1904,42,1881,1880,1882,3,2206,2204,2207,1904,1903,1905,42,1880,1879,1882,3,2204,2205,2207,1903,1902,1905,42,1882,1879,1878,3,2208,2203,2201,1905,1902,1901,42,1882,1878,1883,3,2208,2201,2209,1905,1901,1906,42,1883,1878,1877,3,2209,2201,2202,1906,1901,1900,42,1883,1877,1884,3,2209,2202,2210,1906,1900,1907,42,1884,1877,1876,3,2211,2200,2199,1907,1900,1899,42,1884,1876,1885,3,2211,2199,2212,1907,1899,1908,42,1886,1884,1885,3,2213,2211,2212,1909,1907,1908,42,1883,1884,1887,3,2209,2210,2214,1906,1907,1910,42,1888,1883,1887,3,2215,2209,2214,1911,1906,1910,42,1889,1883,1888,3,2216,2209,2215,1912,1906,1911,42,1889,1882,1883,3,2216,2208,2209,1912,1905,1906,42,1890,1889,1888,3,2217,2216,2215,1913,1912,1911,42,1890,1888,1887,3,2217,2215,2214,1913,1911,1910,42,1881,1882,1891,3,2206,2207,2218,1904,1905,1914,42,1892,1881,1891,3,2219,2206,2218,1915,1904,1914,42,1893,1881,1892,3,2220,2206,2219,1916,1904,1915,42,1881,1893,1894,3,2206,2220,2221,1904,1916,1917,42,1859,1881,1894,3,2187,2206,2221,1882,1904,1917,42,1859,1894,1895,3,2186,2222,2223,1882,1917,1918,42,1895,1894,1896,3,2223,2222,2224,1918,1917,1919,42,1894,1897,1896,3,2222,2225,2224,1917,1920,1919,42,1897,1898,1896,3,2225,2226,2224,1920,1921,1919,42,1897,1899,1898,3,2225,2227,2226,1920,1922,1921,42,1895,1896,1900,3,2187,2221,2206,1918,1919,1923,42,1901,1900,1896,3,2220,2206,2221,1924,1923,1919,42,1900,1901,1902,3,2206,2220,2219,1923,1924,1925,42,1901,1903,1902,3,2220,2228,2219,1924,1926,1925,42,1900,1902,1904,3,2206,2219,2218,1923,1925,1927,42,1902,1905,1904,3,2219,2229,2218,1925,1928,1927,42,1900,1904,1906,3,2206,2218,2207,1923,1927,1929,42,1907,1900,1906,3,2204,2206,2207,1930,1923,1929,42,1895,1900,1907,3,2187,2206,2204,1918,1923,1930,42,1854,1895,1907,3,2181,2187,2204,1877,1918,1930,42,1856,1895,1854,3,2180,2187,2181,1879,1918,1877,42,1856,1859,1895,3,2185,2186,2223,1879,1882,1918,42,1854,1907,1908,3,2181,2204,2205,1877,1930,1931,42,1907,1906,1908,3,2204,2207,2205,1930,1929,1931,42,1908,1906,1909,3,2203,2208,2201,1931,1929,1932,42,1909,1906,1910,3,2201,2208,2209,1932,1929,1933,42,1906,1911,1910,3,2208,2216,2209,1929,1934,1933,42,1910,1911,1912,3,2209,2216,2215,1933,1934,1935,42,1911,1913,1912,3,2216,2217,2215,1934,1936,1935,42,1912,1913,1914,3,2215,2217,2230,1935,1936,1937,42,1910,1912,1914,3,2209,2215,2230,1933,1935,1937,42,1914,1915,1910,3,2230,2210,2209,1937,1938,1933,42,1910,1916,1915,3,2209,2202,2210,1933,1939,1938,42,1910,1909,1916,3,2209,2201,2202,1933,1932,1939,42,1852,1909,1916,3,2177,2201,2202,1875,1932,1939,42,1852,1908,1909,3,2177,2203,2201,1875,1931,1932,42,1854,1908,1852,3,2176,2203,2177,1877,1931,1875,42,1852,1916,1917,3,2173,2200,2199,1875,1939,1940,42,1916,1915,1917,3,2200,2211,2199,1939,1938,1940,42,1917,1915,1918,3,2199,2211,2212,1940,1938,1941,42,1915,1919,1918,3,2211,2213,2212,1938,1942,1941,42,1852,1917,1853,3,2173,2199,2174,1875,1940,1876,42,1853,1917,1920,3,2174,2199,2194,1876,1940,1943,42,1917,1921,1920,3,2199,2195,2194,1940,1944,1943,42,1922,1921,1917,3,2198,2195,2199,1945,1944,1940,42,1923,1921,1922,3,2197,2195,2198,1946,1944,1945,42,1923,1924,1921,3,2197,2196,2195,1946,1947,1944,42,1921,1924,1925,3,2195,2196,2193,1944,1947,1948,42,1921,1925,1920,3,2195,2193,2194,1944,1948,1943,42,1926,1920,1925,3,2190,2194,2193,1949,1943,1948,42,1853,1920,1926,3,2174,2194,2190,1876,1943,1949,42,1927,1853,1926,3,2189,2174,2190,1950,1876,1949,42,1928,1853,1927,3,2188,2174,2189,1951,1876,1950,42,1851,1853,1928,3,2172,2174,2188,1874,1876,1951,42,1926,1927,1929,3,2190,2191,2192,1949,1950,1952,42,1926,1925,1929,3,2190,2193,2192,1949,1948,1952,42,1930,1893,1892,3,2228,2220,2219,1953,1916,1915,42,1931,1892,1891,3,2229,2219,2218,1954,1915,1914,42,1871,1865,1868,3,2194,2174,2190,1894,1888,1891,42,1932,1933,1934,3,2231,2232,2233,1955,1956,1957,42,1933,1932,1935,3,2232,2231,2234,1956,1955,1958,42,1935,1932,1936,3,2235,2236,2237,1958,1955,1959,42,1936,1932,1937,3,2237,2238,2239,1959,1955,1960,42,1932,1938,1937,3,2238,2240,2239,1955,1961,1960,42,1938,1932,1934,3,2240,2238,2241,1961,1955,1957,42,1938,1934,1939,3,2240,2241,2242,1961,1957,1962,42,1939,1934,1940,3,2242,2241,2243,1962,1957,1963,42,1934,1941,1940,3,2241,2244,2243,1957,1964,1963,42,1934,1942,1941,3,2233,2245,2246,1957,1965,1964,42,1933,1942,1934,3,2232,2245,2233,1956,1965,1957,42,1933,1943,1942,3,2232,2247,2245,1956,1966,1965,42,1933,1944,1943,3,2232,2248,2247,1956,1967,1966,42,1933,1945,1944,3,2232,2249,2248,1956,1968,1967,42,1945,1933,1935,3,2249,2232,2234,1968,1956,1958,42,1945,1935,1946,3,2249,2234,2250,1968,1958,1969,42,1946,1935,1936,3,2251,2235,2237,1969,1958,1959,42,1936,1947,1946,3,2237,2252,2251,1959,1970,1969,42,1947,1936,1948,3,2252,2237,2253,1970,1959,1971,42,1936,1937,1948,3,2237,2239,2253,1959,1960,1971,42,1948,1937,1949,3,2254,2255,2256,1971,1960,1972,42,1937,1950,1949,3,2255,2257,2256,1960,1973,1972,42,1937,1938,1950,3,2255,2258,2257,1960,1961,1973,42,1938,1939,1950,3,2258,2259,2257,1961,1962,1973,42,1939,1951,1950,3,2259,2260,2257,1962,1974,1973,42,1951,1939,1940,3,2260,2259,2261,1974,1962,1963,42,1951,1940,1952,3,2260,2261,2262,1974,1963,1975,42,1940,1953,1952,3,2261,2263,2262,1963,1976,1975,42,1940,1954,1953,3,2261,2264,2263,1963,1977,1976,42,1940,1941,1954,3,2243,2244,2265,1963,1964,1977,42,1941,1955,1954,3,2246,2266,2267,1964,1978,1977,42,1942,1955,1941,3,2245,2266,2246,1965,1978,1964,42,1942,1956,1955,3,2245,2268,2266,1965,1979,1978,42,1943,1956,1942,3,2247,2268,2245,1966,1979,1965,42,1943,1957,1956,3,2269,2270,2271,1966,1980,1979,42,1957,1943,1944,3,2270,2269,2272,1980,1966,1967,42,1957,1944,1958,3,2270,2272,2273,1980,1967,1981,42,1958,1944,1959,3,2273,2272,2274,1981,1967,1982,42,1944,1960,1959,3,2248,2275,2276,1967,1983,1982,42,1945,1960,1944,3,2249,2275,2248,1968,1983,1967,42,1960,1945,1946,3,2275,2249,2250,1983,1968,1969,42,1961,1960,1946,3,2277,2275,2250,1984,1983,1969,42,1962,1960,1961,3,2278,2275,2277,1985,1983,1984,42,1960,1962,1963,3,2275,2278,2279,1983,1985,1986,42,1962,1964,1963,3,2278,2280,2279,1985,1987,1986,42,1964,1962,1961,3,2280,2278,2277,1987,1985,1984,42,1960,1963,1959,3,2275,2279,2276,1983,1986,1982,42,1958,1959,1965,3,2273,2274,2281,1981,1982,1988,42,1965,1959,1966,3,2281,2274,2282,1988,1982,1989,42,1967,1965,1966,3,2283,2281,2282,1990,1988,1989,42,1968,1967,1966,3,2284,2283,2282,1991,1990,1989,42,1958,1965,1969,3,2285,2286,2287,1981,1988,1992,42,1969,1965,1970,3,2287,2286,2288,1992,1988,1993,42,1969,1970,1971,3,2287,2288,2289,1992,1993,1994,42,1971,1970,1972,3,2289,2288,2290,1994,1993,1995,42,1973,1971,1972,3,2291,2289,2290,1996,1994,1995,42,1969,1971,1973,3,2287,2289,2291,1992,1994,1996,42,1969,1973,1974,3,2287,2291,2292,1992,1996,1997,42,1975,1969,1974,3,2293,2287,2292,1998,1992,1997,42,1975,1958,1969,3,2293,2285,2287,1998,1981,1992,42,1976,1958,1975,3,2294,2285,2293,1999,1981,1998,42,1976,1957,1958,3,2294,2295,2285,1999,1980,1981,42,1957,1976,1977,3,2295,2294,2296,1980,1999,2000,42,1976,1978,1977,3,2294,2297,2296,1999,2001,2000,42,1976,1979,1978,3,2294,2298,2297,1999,2002,2001,42,1976,1975,1979,3,2294,2293,2298,1999,1998,2002,42,1975,1974,1979,3,2293,2292,2298,1998,1997,2002,42,1979,1974,1980,3,2299,2300,2301,2002,1997,2003,42,1980,1974,1981,3,2301,2300,2302,2003,1997,2004,42,1981,1974,1982,3,2302,2300,2303,2004,1997,2005,42,1981,1982,1983,3,2302,2303,2304,2004,2005,2006,42,1983,1982,1984,3,2304,2303,2305,2006,2005,2007,42,1984,1985,1983,3,2305,2306,2304,2007,2008,2006,42,1981,1983,1985,3,2302,2304,2306,2004,2006,2008,42,1981,1985,1986,3,2302,2306,2307,2004,2008,2009,42,1987,1981,1986,3,2308,2302,2307,2010,2004,2009,42,1980,1981,1987,3,2301,2302,2308,2003,2004,2010,42,1988,1980,1987,3,2309,2301,2308,2011,2003,2010,42,1988,1979,1980,3,2309,2299,2301,2011,2002,2003,42,1988,1978,1979,3,2309,2310,2299,2011,2001,2002,42,1978,1988,1989,3,2310,2309,2311,2001,2011,2012,42,1989,1988,1990,3,2311,2309,2312,2012,2011,2013,42,1988,1987,1990,3,2309,2308,2312,2011,2010,2013,42,1990,1987,1991,3,2313,2314,2315,2013,2010,2014,42,1991,1987,1986,3,2315,2314,2316,2014,2010,2009,42,1991,1986,1992,3,2315,2316,2317,2014,2009,2015,42,1992,1986,1993,3,2317,2316,2318,2015,2009,2016,42,1986,1994,1993,3,2316,2319,2318,2009,2017,2016,42,1994,1995,1993,3,2319,2320,2318,2017,2018,2016,42,1991,1992,1996,3,2315,2321,2322,2014,2015,2019,42,1996,1992,1997,3,2322,2321,2323,2019,2015,2020,42,1992,1998,1997,3,2321,2324,2323,2015,2021,2020,42,1998,1999,1997,3,2324,2325,2323,2021,2022,2020,42,1999,2000,1997,3,2325,2326,2323,2022,2023,2020,42,1997,2000,1996,3,2323,2326,2322,2020,2023,2019,42,2000,2001,1996,3,2326,2327,2322,2023,2024,2019,42,1996,2001,2002,3,2322,2327,2328,2019,2024,2025,42,2001,2003,2002,3,2327,2329,2328,2024,2026,2025,42,2002,2003,2004,3,2328,2329,2330,2025,2026,2027,42,2003,2005,2004,3,2329,2331,2330,2026,2028,2027,42,2005,2003,2006,3,2332,2333,2334,2028,2026,2029,42,2006,2003,2007,3,2334,2333,2335,2029,2026,2030,42,2007,2008,2006,3,2335,2336,2334,2030,2031,2029,42,2009,2008,2007,3,2337,2336,2335,2032,2031,2030,42,2006,2010,2005,3,2338,2339,2340,2029,2033,2028,42,2006,2011,2010,3,2338,2341,2339,2029,2034,2033,42,2012,2011,2006,3,2342,2341,2338,2035,2034,2029,42,2012,2013,2011,3,2342,2343,2341,2035,2036,2034,42,2010,2014,2005,3,2344,2345,2346,2033,2037,2028,42,2014,2010,2015,3,2345,2344,2347,2037,2033,2038,42,2015,2010,2016,3,2347,2344,2348,2038,2033,2039,42,2015,2016,2017,3,2347,2348,2349,2038,2039,2040,42,2016,2018,2017,3,2348,2350,2349,2039,2041,2040,42,2017,2018,2019,3,2349,2350,2351,2040,2041,2042,42,2018,2020,2019,3,2350,2352,2351,2041,2043,2042,42,2019,2020,2021,3,2351,2352,2353,2042,2043,2044,42,2020,2022,2021,3,2352,2354,2353,2043,2045,2044,42,2021,2022,2023,3,2353,2354,2355,2044,2045,2046,42,2024,2021,2023,3,2356,2353,2355,2047,2044,2046,42,2019,2021,2024,3,2351,2353,2356,2042,2044,2047,42,2025,2019,2024,3,2357,2351,2356,2048,2042,2047,42,2017,2019,2025,3,2349,2351,2357,2040,2042,2048,42,2015,2017,2025,3,2347,2349,2357,2038,2040,2048,42,2015,2025,2026,3,2347,2357,2358,2038,2048,2049,42,2026,2025,2027,3,2358,2359,2360,2049,2048,2050,42,2025,2028,2027,3,2359,2361,2360,2048,2051,2050,42,2025,2029,2028,3,2359,2362,2361,2048,2052,2051,42,2025,2030,2029,3,2359,2363,2362,2048,2053,2052,42,2030,2031,2029,3,2363,2364,2362,2053,2054,2052,42,2026,2027,2032,3,2358,2360,2365,2049,2050,2055,42,2027,2033,2032,3,2366,2367,2368,2050,2056,2055,42,2027,2034,2033,3,2366,2369,2367,2050,2057,2056,42,2027,2035,2034,3,2366,2370,2369,2050,2058,2057,42,2035,2036,2034,3,2370,2371,2369,2058,2059,2057,42,2035,2037,2036,3,2370,2372,2371,2058,2060,2059,42,2037,2038,2036,3,2372,2373,2371,2060,2061,2059,42,2033,2034,2039,3,2374,2375,2376,2056,2057,2062,42,2039,2034,2040,3,2376,2375,2377,2062,2057,2063,42,2040,2034,2041,3,2377,2375,2378,2063,2057,2064,42,2040,2041,2042,3,2377,2378,2379,2063,2064,2065,42,2040,2042,2043,3,2377,2379,2380,2063,2065,2066,42,2043,2042,2044,3,2381,2382,2383,2066,2065,2067,42,2042,2045,2044,3,2382,2384,2383,2065,2068,2067,42,2042,2046,2045,3,2382,2385,2384,2065,2069,2068,42,2045,2046,2047,3,2384,2385,2386,2068,2069,2070,42,2045,2047,2048,3,2384,2386,2387,2068,2070,2071,42,2044,2045,2048,3,2383,2384,2387,2067,2068,2071,42,2044,2048,2049,3,2383,2387,2388,2067,2071,2072,42,2044,2049,2050,3,2383,2388,2389,2067,2072,2073,42,2050,2049,2051,3,2389,2388,2390,2073,2072,2074,42,2049,2052,2051,3,2391,2392,2393,2072,2075,2074,42,2049,2053,2052,3,2391,2394,2392,2072,2076,2075,42,2054,2053,2049,3,2395,2394,2391,2077,2076,2072,42,2054,2055,2053,3,2395,2396,2394,2077,2078,2076,42,2054,2056,2055,3,2395,2397,2396,2077,2079,2078,42,2053,2057,2052,3,2394,2398,2392,2076,2080,2075,42,2053,2058,2057,3,2394,2399,2398,2076,2081,2080,42,2059,2058,2053,3,2400,2399,2394,2082,2081,2076,42,2059,2060,2058,3,2400,2401,2399,2082,2083,2081,42,2061,2060,2059,3,2402,2401,2400,2084,2083,2082,42,2061,2062,2060,3,2402,2403,2401,2084,2085,2083,42,2063,2062,2061,3,2404,2403,2402,2086,2085,2084,42,2058,2064,2057,3,2405,2406,2407,2081,2087,2080,42,2058,2065,2064,3,2405,2408,2406,2081,2088,2087,42,2066,2065,2058,3,2409,2408,2405,2089,2088,2081,42,2066,2067,2065,3,2409,2410,2408,2089,2090,2088,42,2068,2067,2066,3,2411,2410,2409,2091,2090,2089,42,2064,2065,2069,3,2406,2408,2412,2087,2088,2092,42,2065,2070,2069,3,2408,2413,2412,2088,2093,2092,42,2071,2070,2065,3,2410,2413,2408,2094,2093,2088,42,2071,2072,2070,3,2410,2414,2413,2094,2095,2093,42,2073,2072,2071,3,2415,2414,2410,2096,2095,2094,42,2072,2073,2074,3,2414,2415,2416,2095,2096,2097,42,2075,2072,2074,3,2417,2414,2416,2098,2095,2097,42,2070,2072,2075,3,2413,2414,2417,2093,2095,2098,42,2076,2070,2075,3,2418,2413,2417,2099,2093,2098,42,2069,2070,2076,3,2412,2413,2418,2092,2093,2099,42,2077,2069,2076,3,2419,2412,2418,2100,2092,2099,42,2077,2078,2069,3,2419,2420,2412,2100,2101,2092,42,2079,2078,2077,3,2421,2420,2419,2102,2101,2100,42,2079,2080,2078,3,2422,2423,2424,2102,2103,2101,42,2081,2080,2079,3,2425,2423,2422,2104,2103,2102,42,2081,2082,2080,3,2425,2426,2423,2104,2105,2103,42,2081,2083,2082,3,2427,2428,2429,2104,2106,2105,42,2084,2083,2081,3,2430,2428,2427,2107,2106,2104,42,2085,2083,2084,3,2431,2432,2433,2108,2106,2107,42,2085,2086,2083,3,2431,2434,2432,2108,2109,2106,42,2085,2087,2086,3,2435,2436,2437,2108,2110,2109,42,2088,2087,2085,3,2438,2436,2435,2111,2110,2108,42,2088,2089,2087,3,2438,2439,2436,2111,2112,2110,42,2090,2089,2088,3,2440,2439,2438,2113,2112,2111,42,2090,2091,2089,3,2441,2442,2443,2113,2114,2112,42,1953,2091,2090,3,2444,2442,2441,1976,2114,2113,42,1953,2092,2091,3,2444,2445,2442,1976,2115,2114,42,1954,2092,1953,3,2446,2445,2444,1977,2115,1976,42,1955,2092,1954,3,2447,2448,2449,1978,2115,1977,42,1955,2093,2092,3,2447,2450,2448,1978,2116,2115,42,1977,2093,1955,3,2451,2450,2447,2000,2116,1978,42,1977,1989,2093,3,2451,2311,2450,2000,2012,2116,42,1977,1978,1989,3,2451,2310,2311,2000,2001,2012,42,2093,1989,2094,3,2452,2453,2454,2116,2012,2117,42,1989,2095,2094,3,2453,2455,2454,2012,2118,2117,42,1989,2096,2095,3,2453,2456,2455,2012,2119,2118,42,1989,1990,2096,3,2453,2313,2456,2012,2013,2119,42,2096,1990,1991,3,2456,2313,2315,2119,2013,2014,42,2096,1991,2002,3,2456,2315,2328,2119,2014,2025,42,1991,1996,2002,3,2315,2322,2328,2014,2019,2025,42,2096,2002,2004,3,2456,2328,2330,2119,2025,2027,42,2096,2004,2097,3,2456,2330,2457,2119,2027,2120,42,2097,2004,2005,3,2458,2330,2331,2120,2027,2028,42,2097,2005,2098,3,2459,2346,2460,2120,2028,2121,42,2098,2005,2014,3,2460,2346,2345,2121,2028,2037,42,2098,2014,2099,3,2460,2345,2461,2121,2037,2122,42,2099,2014,2100,3,2461,2345,2462,2122,2037,2123,42,2014,2026,2100,3,2345,2358,2462,2037,2049,2123,42,2015,2026,2014,3,2347,2358,2345,2038,2049,2037,42,2026,2032,2100,3,2358,2365,2462,2049,2055,2123,42,2099,2100,2032,3,2461,2462,2365,2122,2123,2055,42,2099,2032,2101,3,2461,2365,2463,2122,2055,2124,42,2101,2032,2102,3,2464,2368,2465,2124,2055,2125,42,2032,2033,2102,3,2368,2367,2465,2055,2056,2125,42,2033,2103,2102,3,2374,2466,2467,2056,2126,2125,42,2103,2033,2039,3,2466,2374,2376,2126,2056,2062,42,2039,2104,2103,3,2376,2468,2466,2062,2127,2126,42,2039,2043,2104,3,2376,2380,2468,2062,2066,2127,42,2039,2040,2043,3,2376,2377,2380,2062,2063,2066,42,2043,2050,2104,3,2381,2389,2469,2066,2073,2127,42,2043,2044,2050,3,2381,2383,2389,2066,2067,2073,42,2105,2104,2050,3,2470,2469,2389,2128,2127,2073,42,2104,2105,2106,3,2469,2470,2471,2127,2128,2129,42,2107,2106,2105,3,2472,2471,2470,2130,2129,2128,42,2108,2106,2107,3,2473,2474,2475,2131,2129,2130,42,2108,2101,2106,3,2473,2464,2474,2131,2124,2129,42,2108,2099,2101,3,2476,2461,2463,2131,2122,2124,42,2109,2099,2108,3,2477,2461,2476,2132,2122,2131,42,2110,2099,2109,3,2478,2461,2477,2133,2122,2132,42,2110,2098,2099,3,2478,2460,2461,2133,2121,2122,42,2110,2097,2098,3,2479,2459,2460,2133,2120,2121,42,2110,2095,2097,3,2480,2455,2457,2133,2118,2120,42,2094,2095,2110,3,2454,2455,2480,2117,2118,2133,42,2089,2094,2110,3,2443,2454,2480,2112,2117,2133,42,2091,2094,2089,3,2442,2454,2443,2114,2117,2112,42,2093,2094,2091,3,2452,2454,2442,2116,2117,2114,42,2092,2093,2091,3,2445,2452,2442,2115,2116,2114,42,2089,2110,2087,3,2439,2478,2436,2112,2133,2110,42,2087,2110,2109,3,2436,2478,2477,2110,2133,2132,42,2087,2109,2086,3,2436,2477,2437,2110,2132,2109,42,2086,2109,2108,3,2437,2477,2476,2109,2132,2131,42,2086,2108,2107,3,2434,2473,2475,2109,2131,2130,42,2086,2107,2083,3,2434,2475,2432,2109,2130,2106,42,2083,2107,2111,3,2428,2472,2481,2106,2130,2134,42,2107,2105,2111,3,2472,2470,2481,2130,2128,2134,42,2111,2105,2051,3,2481,2470,2390,2134,2128,2074,42,2050,2051,2105,3,2389,2390,2470,2073,2074,2128,42,2111,2051,2112,3,2481,2390,2482,2134,2074,2135,42,2112,2051,2113,3,2483,2393,2484,2135,2074,2136,42,2113,2051,2052,3,2484,2393,2392,2136,2074,2075,42,2113,2052,2078,3,2484,2392,2424,2136,2075,2101,42,2078,2052,2057,3,2424,2392,2398,2101,2075,2080,42,2078,2057,2064,3,2420,2407,2406,2101,2080,2087,42,2078,2064,2069,3,2420,2406,2412,2101,2087,2092,42,2080,2113,2078,3,2423,2484,2424,2103,2136,2101,42,2080,2112,2113,3,2423,2483,2484,2103,2135,2136,42,2082,2112,2080,3,2426,2483,2423,2105,2135,2103,42,2111,2112,2082,3,2481,2482,2429,2134,2135,2105,42,2083,2111,2082,3,2428,2481,2429,2106,2134,2105,42,2095,2096,2097,3,2455,2456,2457,2118,2119,2120,42,2101,2102,2106,3,2464,2465,2474,2124,2125,2129,42,2106,2102,2103,3,2485,2467,2466,2129,2125,2126,42,2103,2104,2106,3,2466,2468,2485,2126,2127,2129,42,1956,1977,1955,3,2486,2296,2487,1979,2000,1978,42,1957,1977,1956,3,2295,2296,2486,1980,2000,1979,42,2114,1953,2090,3,2488,2489,2490,2137,1976,2113,42,1952,1953,2114,3,2491,2489,2488,1975,1976,2137,42,2115,1952,2114,3,2492,2491,2488,2138,1975,2137,42,2116,1952,2115,3,2493,2491,2492,2139,1975,2138,42,1951,1952,2116,3,2260,2262,2494,1974,1975,2139,42,1950,1951,2116,3,2257,2260,2494,1973,1974,2139,42,1950,2116,2117,3,2257,2494,2495,1973,2139,2140,42,2116,2118,2117,3,2493,2496,2497,2139,2141,2140,42,2116,2115,2118,3,2493,2492,2496,2139,2138,2141,42,2115,2119,2118,3,2498,2499,2500,2138,2142,2141,42,2115,2120,2119,3,2501,2502,2503,2138,2143,2142,42,2115,2121,2120,3,2501,2504,2502,2138,2144,2143,42,2115,2114,2121,3,2501,2505,2504,2138,2137,2144,42,2121,2114,2122,3,2504,2505,2506,2144,2137,2145,42,2114,2090,2122,3,2505,2507,2506,2137,2113,2145,42,2122,2090,2088,3,2506,2507,2508,2145,2113,2111,42,2122,2088,2123,3,2509,2510,2511,2145,2111,2146,42,2123,2088,2085,3,2511,2510,2512,2146,2111,2108,42,2123,2085,2124,3,2513,2514,2515,2146,2108,2147,42,2124,2085,2084,3,2515,2514,2516,2147,2108,2107,42,2124,2084,2125,3,2515,2516,2517,2147,2107,2148,42,2125,2084,2081,3,2517,2516,2518,2148,2107,2104,42,2125,2081,2126,3,2519,2520,2521,2148,2104,2149,42,2126,2081,2079,3,2521,2520,2522,2149,2104,2102,42,2081,2079,2127,3,2523,2524,2525,2104,2102,2150,42,2128,2081,2079,3,2526,2527,2528,2151,2104,2102,42,2128,2079,2129,3,2526,2528,2529,2151,2102,2152,42,2130,2128,2129,3,2530,2526,2529,2153,2151,2152,42,2130,2129,2131,3,2530,2529,2531,2153,2152,2154,42,2132,2130,2131,3,2532,2530,2531,2155,2153,2154,42,2132,2131,2133,3,2532,2531,2533,2155,2154,2156,42,2134,2081,2127,3,2534,2523,2525,2157,2104,2150,42,2135,2134,2127,3,2535,2534,2525,2158,2157,2150,42,2136,2134,2135,3,2536,2534,2535,2159,2157,2158,42,2137,2136,2135,3,2532,2536,2535,2160,2159,2158,42,2138,2136,2137,3,2537,2536,2532,2161,2159,2160,42,2138,2137,2139,3,2537,2532,2538,2161,2160,2162,42,2126,2079,2140,3,2521,2522,2539,2149,2102,2163,42,2140,2079,2141,3,2540,2541,2542,2163,2102,2164,42,2079,2142,2141,3,2541,2543,2542,2102,2165,2164,42,2079,2077,2142,3,2421,2419,2544,2102,2100,2165,42,2077,2076,2142,3,2419,2418,2544,2100,2099,2165,42,2142,2076,2143,3,2543,2545,2546,2165,2099,2166,42,2076,2075,2143,3,2545,2547,2546,2099,2098,2166,42,2075,2144,2143,3,2547,2548,2546,2098,2167,2166,42,2145,2144,2075,3,2549,2548,2547,2168,2167,2098,42,2145,2146,2144,3,2549,2550,2548,2168,2169,2167,42,2147,2146,2145,3,2551,2550,2549,2170,2169,2168,42,2146,2148,2144,3,2550,2552,2548,2169,2171,2167,42,2146,2149,2148,3,2550,2553,2552,2169,2172,2171,42,2150,2149,2146,3,2554,2553,2550,2173,2172,2169,42,2149,2150,2151,3,2553,2554,2555,2172,2173,2174,42,2152,2149,2151,3,2556,2553,2555,2175,2172,2174,42,2148,2149,2152,3,2552,2553,2556,2171,2172,2175,42,2153,2148,2152,3,2557,2552,2556,2176,2171,2175,42,2154,2148,2153,3,2558,2552,2557,2177,2171,2176,42,2144,2148,2154,3,2548,2552,2558,2167,2171,2177,42,2143,2144,2154,3,2546,2548,2558,2166,2167,2177,42,2142,2143,2154,3,2543,2546,2558,2165,2166,2177,42,2141,2142,2154,3,2542,2543,2558,2164,2165,2177,42,2141,2154,2153,3,2542,2558,2557,2164,2177,2176,42,2141,2153,2140,3,2542,2557,2540,2164,2176,2163,42,2140,2153,2155,3,2559,2560,2561,2163,2176,2178,42,2155,2153,2152,3,2561,2560,2562,2178,2176,2175,42,2155,2152,2156,3,2561,2562,2563,2178,2175,2179,42,2152,2151,2156,3,2562,2564,2563,2175,2174,2179,42,2156,2151,2157,3,2563,2564,2565,2179,2174,2180,42,2151,2158,2157,3,2564,2566,2565,2174,2181,2180,42,2159,2155,2156,3,2567,2568,2569,2182,2178,2179,42,2160,2155,2159,3,2570,2568,2567,2183,2178,2182,42,2160,2140,2155,3,2570,2539,2568,2183,2163,2178,42,2160,2126,2140,3,2570,2521,2539,2183,2149,2163,42,2160,2125,2126,3,2570,2519,2521,2183,2148,2149,42,2161,2125,2160,3,2571,2519,2570,2184,2148,2183,42,2162,2125,2161,3,2572,2573,2574,2185,2148,2184,42,2163,2125,2162,3,2575,2517,2576,2186,2148,2185,42,2163,2124,2125,3,2575,2515,2517,2186,2147,2148,42,2164,2124,2163,3,2577,2515,2575,2187,2147,2186,42,2164,2123,2124,3,2577,2513,2515,2187,2146,2147,42,2164,2122,2123,3,2578,2509,2511,2187,2145,2146,42,2121,2122,2164,3,2579,2509,2578,2144,2145,2187,42,2121,2164,2165,3,2579,2578,2580,2144,2187,2188,42,2164,2163,2165,3,2577,2575,2581,2187,2186,2188,42,2163,2166,2165,3,2575,2582,2581,2186,2189,2188,42,2163,2167,2166,3,2575,2583,2582,2186,2190,2189,42,2163,2162,2167,3,2575,2576,2583,2186,2185,2190,42,2167,2162,2161,3,2584,2572,2574,2190,2185,2184,42,2161,2168,2167,3,2574,2585,2584,2184,2191,2190,42,2168,2161,2159,3,2586,2571,2567,2191,2184,2182,42,2161,2160,2159,3,2571,2570,2567,2184,2183,2182,42,2159,2169,2168,3,2567,2587,2586,2182,2192,2191,42,2159,2156,2169,3,2567,2569,2587,2182,2179,2192,42,2169,2156,2170,3,2587,2569,2588,2192,2179,2193,42,2169,2170,2171,3,2587,2588,2589,2192,2193,2194,42,2170,2172,2171,3,2588,2590,2589,2193,2195,2194,42,2173,2171,2172,3,2591,2589,2590,2196,2194,2195,42,2174,2171,2173,3,2592,2589,2591,2197,2194,2196,42,2169,2171,2174,3,2587,2589,2592,2192,2194,2197,42,2168,2169,2174,3,2586,2587,2592,2191,2192,2197,42,2168,2174,2175,3,2585,2593,2594,2191,2197,2198,42,2174,2176,2175,3,2593,2595,2594,2197,2199,2198,42,2174,2177,2176,3,2593,2596,2595,2197,2200,2199,42,2177,2178,2176,3,2596,2597,2595,2200,2201,2199,42,2179,2175,2176,3,2598,2599,2600,2202,2198,2199,42,2166,2175,2179,3,2582,2599,2598,2189,2198,2202,42,2166,2167,2175,3,2582,2583,2599,2189,2190,2198,42,2167,2168,2175,3,2584,2585,2594,2190,2191,2198,42,2165,2166,2179,3,2581,2582,2598,2188,2189,2202,42,2165,2179,2180,3,2581,2598,2601,2188,2202,2203,42,2180,2179,2181,3,2601,2598,2602,2203,2202,2204,42,2179,2176,2181,3,2598,2600,2602,2202,2199,2204,42,2176,2182,2181,3,2600,2603,2602,2199,2205,2204,42,2183,2181,2182,3,2604,2602,2603,2206,2204,2205,42,2180,2181,2183,3,2601,2602,2604,2203,2204,2206,42,2184,2180,2183,3,2605,2606,2607,2207,2203,2206,42,2165,2180,2184,3,2580,2606,2605,2188,2203,2207,42,2120,2165,2184,3,2608,2580,2605,2143,2188,2207,42,2121,2165,2120,3,2579,2580,2608,2144,2188,2143,42,2120,2184,2185,3,2502,2609,2610,2143,2207,2208,42,2184,2186,2185,3,2609,2611,2610,2207,2209,2208,42,2184,2187,2186,3,2609,2612,2611,2207,2210,2209,42,2187,2188,2186,3,2612,2613,2611,2210,2211,2209,42,2187,2189,2188,3,2612,2614,2613,2210,2212,2211,42,2189,2190,2188,3,2614,2615,2613,2212,2213,2211,42,2119,2120,2185,3,2503,2502,2610,2142,2143,2208,42,2119,2185,2191,3,2503,2610,2616,2142,2208,2214,42,2191,2185,2192,3,2616,2610,2617,2214,2208,2215,42,2185,2193,2192,3,2610,2618,2617,2208,2216,2215,42,2192,2193,2194,3,2617,2618,2619,2215,2216,2217,42,2119,2191,2118,3,2499,2620,2500,2142,2214,2141,42,2118,2191,2195,3,2500,2620,2621,2141,2214,2218,42,2195,2191,2196,3,2621,2620,2622,2218,2214,2219,42,2191,2197,2196,3,2620,2623,2622,2214,2220,2219,42,2198,2196,2197,3,2624,2622,2623,2221,2219,2220,42,2117,2118,2195,3,2497,2496,2625,2140,2141,2218,42,2199,2117,2195,3,2626,2497,2625,2222,2140,2218,42,1949,2117,2199,3,2256,2495,2627,1972,2140,2222,42,1949,1950,2117,3,2256,2257,2495,1972,1973,2140,42,1949,2199,2200,3,2256,2627,2628,1972,2222,2223,42,2201,1949,2200,3,2629,2256,2628,2224,1972,2223,42,1948,1949,2201,3,2254,2256,2629,1971,1972,2224,42,1948,2201,2202,3,2254,2629,2630,1971,2224,2225,42,2202,2201,2203,3,2630,2629,2631,2225,2224,2226,42,2203,2201,2204,3,2631,2629,2632,2226,2224,2227,42,2201,2200,2204,3,2629,2628,2632,2224,2223,2227,42,2205,2203,2204,3,2633,2631,2632,2228,2226,2227,42,2202,2203,2205,3,2630,2631,2633,2225,2226,2228,42,2199,2195,2206,3,2626,2625,2634,2222,2218,2229,42,2207,2199,2206,3,2635,2626,2634,2230,2222,2229,42,2207,2206,2208,3,2635,2634,2636,2230,2229,2231,42,2209,2207,2208,3,2637,2635,2636,2232,2230,2231,42,2210,2209,2208,3,2638,2637,2636,2233,2232,2231,42,2184,2183,2211,3,2605,2607,2639,2207,2206,2234,42,2183,2212,2211,3,2607,2640,2639,2206,2235,2234,42,1947,1948,2213,3,2252,2253,2641,1970,1971,2236,42,2214,1947,2213,3,2642,2252,2641,2237,1970,2236,42,2215,1947,2214,3,2643,2252,2642,2238,1970,2237,42,1947,2215,1946,3,2252,2643,2251,1970,2238,1969,42,2216,2215,2214,3,2644,2643,2642,2239,2238,2237,42,2216,2214,2213,3,2644,2642,2641,2239,2237,2236,42,2217,2218,2219,3,2645,2646,2647,2240,2241,2242,42,2218,2217,2220,3,2646,2645,2648,2241,2240,2243,42,2220,2217,2221,3,2648,2645,2649,2243,2240,2244,42,2217,2222,2221,3,2645,2650,2649,2240,2245,2244,42,2222,2217,2223,3,2650,2645,2651,2245,2240,2246,42,2223,2217,2219,3,2651,2645,2647,2246,2240,2242,42,2224,2222,2223,3,2652,2650,2651,2247,2245,2246,42,2222,2224,2225,3,2650,2652,2653,2245,2247,2248,42,2221,2222,2225,3,2649,2650,2653,2244,2245,2248,42,2226,2218,2220,3,2654,2646,2648,2249,2241,2243,42,2218,2226,2227,3,2646,2654,2655,2241,2249,2250,42,2226,2228,2227,3,2654,2656,2655,2249,2251,2250,42,2227,2228,2229,3,2655,2656,2657,2250,2251,2252,42,2228,2230,2229,3,2656,2658,2657,2251,2253,2252,42,2229,2230,2231,3,2657,2658,2659,2252,2253,2254,42,2231,2230,2232,3,2660,2661,2662,2254,2253,2255,42,2231,2232,2233,3,2660,2662,2663,2254,2255,2256,42,2233,2232,2234,3,2663,2662,2664,2256,2255,2257,42,2232,2235,2234,3,2662,2665,2664,2255,2258,2257,42,2232,2236,2235,3,2662,2666,2665,2255,2259,2258,42,2236,2237,2235,3,2667,2668,2669,2259,2260,2258,42,2236,2238,2237,3,2670,2671,2672,2259,2261,2260,42,2236,2239,2238,3,2670,2673,2671,2259,2262,2261,42,2238,2240,2237,3,2671,2674,2672,2261,2263,2260,42,2237,2240,2241,3,2672,2674,2675,2260,2263,2264,42,2241,2240,2242,3,2675,2674,2676,2264,2263,2265,42,2240,2243,2242,3,2674,2677,2676,2263,2266,2265,42,2243,2244,2242,3,2677,2678,2676,2266,2267,2265,42,2241,2242,2245,3,2679,2677,2676,2264,2265,2268,42,2245,2242,2246,3,2676,2677,2680,2268,2265,2269,42,2246,2242,2247,3,2680,2677,2681,2269,2265,2270,42,2247,2248,2246,3,2681,2678,2680,2270,2271,2269,42,2237,2241,2249,3,2668,2682,2683,2260,2264,2272,42,2237,2249,2235,3,2668,2683,2669,2260,2272,2258,42,2250,2235,2249,3,2684,2669,2683,2273,2258,2272,42,2234,2235,2250,3,2664,2665,2685,2257,2258,2273,42,2251,2234,2250,3,2686,2664,2685,2274,2257,2273,42,2233,2234,2251,3,2663,2664,2686,2256,2257,2274,42,2252,2251,2250,3,2687,2686,2685,2275,2274,2273,42,2252,2250,2253,3,2687,2685,2688,2275,2273,2276,42,2252,2253,2254,3,2687,2688,2689,2275,2276,2277,42,2255,2231,2233,3,2690,2660,2663,2278,2254,2256,42,2255,2233,2256,3,2690,2663,2686,2278,2256,2279,42,2257,2255,2256,3,2691,2690,2686,2280,2278,2279,42,2257,2256,2258,3,2691,2686,2687,2280,2279,2281,42,2259,2257,2258,3,2692,2691,2687,2282,2280,2281,42,2260,2229,2231,3,2693,2657,2659,2283,2252,2254,42,2227,2229,2260,3,2655,2657,2693,2250,2252,2283,42,2261,2227,2260,3,2694,2655,2693,2284,2250,2283,42,2261,2260,2262,3,2694,2693,2695,2284,2283,2285,42,2262,2260,2263,3,2695,2693,2696,2285,2283,2286,42,2260,2231,2263,3,2693,2659,2696,2283,2254,2286,42,2264,2262,2263,3,2697,2695,2696,2287,2285,2286,42,2265,2262,2264,3,2698,2695,2697,2288,2285,2287,42,2265,2266,2262,3,2698,2699,2695,2288,2289,2285,42,2266,2261,2262,3,2699,2694,2695,2289,2284,2285,42,2218,2227,2219,3,2646,2655,2647,2241,2250,2242,42,2267,2226,2220,3,2700,2701,2702,2290,2249,2243,42,2226,2267,2268,3,2701,2700,2703,2249,2290,2291,42,2268,2267,2269,3,2703,2700,2704,2291,2290,2292,42,2267,2270,2269,3,2700,2705,2704,2290,2293,2292,42,2270,2267,2220,3,2705,2700,2702,2293,2290,2243,42,2270,2220,2271,3,2705,2702,2706,2293,2243,2294,42,2272,2270,2271,3,2707,2705,2706,2295,2293,2294,42,2270,2272,2273,3,2705,2707,2708,2293,2295,2296,42,2273,2272,2274,3,2708,2707,2709,2296,2295,2297,42,2274,2272,2275,3,2709,2707,2710,2297,2295,2298,42,2272,2271,2275,3,2707,2706,2710,2295,2294,2298,42,2269,2270,2273,3,2704,2705,2708,2292,2293,2296,42,2268,2269,2276,3,2703,2711,2712,2291,2292,2299,42,2276,2269,2277,3,2712,2711,2713,2299,2292,2300,42,2269,2278,2277,3,2711,2714,2713,2292,2301,2300,42,2278,2279,2277,3,2714,2715,2713,2301,2302,2300,42,2277,2279,2280,3,2713,2715,2716,2300,2302,2303,42,2281,2277,2280,3,2717,2713,2716,2304,2300,2303,42,2281,2276,2277,3,2717,2712,2713,2304,2299,2300,42,2282,2276,2281,3,2718,2712,2717,2305,2299,2304,42,2283,2276,2282,3,2719,2712,2718,2306,2299,2305,42,2283,2268,2276,3,2719,2703,2712,2306,2291,2299,42,2284,2268,2283,3,2720,2703,2719,2307,2291,2306,42,2226,2268,2284,3,2701,2703,2720,2249,2291,2307,42,2284,2283,2285,3,2720,2719,2721,2307,2306,2308,42,2285,2283,2282,3,2721,2719,2718,2308,2306,2305,42,2286,2285,2282,3,2662,2661,2660,2309,2308,2305,42,2286,2282,2287,3,2662,2660,2663,2309,2305,2310,42,2282,2288,2287,3,2660,2690,2663,2305,2311,2310,42,2287,2288,2289,3,2663,2690,2686,2310,2311,2312,42,2288,2290,2289,3,2690,2691,2686,2311,2313,2312,42,2289,2290,2291,3,2686,2691,2687,2312,2313,2314,42,2290,2292,2291,3,2691,2692,2687,2313,2315,2314,42,2286,2287,2293,3,2662,2663,2664,2309,2310,2316,42,2293,2287,2294,3,2664,2663,2686,2316,2310,2317,42,2293,2294,2295,3,2664,2686,2685,2316,2317,2318,42,2294,2296,2295,3,2686,2687,2685,2317,2319,2318,42,2295,2296,2297,3,2685,2687,2688,2318,2319,2320,42,2296,2298,2297,3,2687,2689,2688,2319,2321,2320,42,2299,2293,2295,3,2665,2664,2685,2322,2316,2318,42,2286,2293,2299,3,2662,2664,2665,2309,2316,2322,42,2300,2286,2299,3,2666,2662,2665,2323,2309,2322,42,2299,2301,2300,3,2669,2668,2667,2322,2324,2323,42,2299,2302,2301,3,2669,2722,2668,2322,2325,2324,42,2295,2302,2299,3,2684,2722,2669,2318,2325,2322,42,2301,2302,2303,3,2668,2722,2682,2324,2325,2326,42,2301,2303,2304,3,2672,2675,2723,2324,2326,2327,42,2303,2305,2304,3,2675,2676,2723,2326,2328,2327,42,2303,2306,2305,3,2679,2676,2677,2326,2329,2328,42,2306,2307,2305,3,2676,2680,2677,2329,2330,2328,42,2307,2308,2305,3,2680,2681,2677,2330,2331,2328,42,2307,2309,2308,3,2680,2678,2681,2330,2332,2331,42,2305,2310,2304,3,2676,2724,2723,2328,2333,2327,42,2305,2311,2310,3,2676,2678,2724,2328,2334,2333,42,2301,2304,2312,3,2672,2723,2671,2324,2327,2335,42,2301,2312,2300,3,2672,2671,2670,2324,2335,2323,42,2300,2312,2313,3,2670,2671,2673,2323,2335,2336,42,2314,2315,2316,0,2725,2726,2727,2337,2338,2339,42,2314,2317,2315,0,2725,2728,2726,2337,2340,2338,42,2317,2314,2318,0,2729,2730,2731,2340,2337,2341,42,2318,2319,2317,0,2731,2732,2729,2341,2342,2340,42,2320,2319,2318,0,2733,2732,2731,2343,2342,2341,42,2320,2321,2319,0,2733,2734,2732,2343,2344,2342,42,2320,2322,2321,0,2733,2735,2734,2343,2345,2344,42,2322,2320,2323,0,2735,2733,2736,2345,2343,2346,42,2323,2320,2324,0,2736,2733,2737,2346,2343,2347,42,2320,2314,2324,0,2733,2730,2737,2343,2337,2347,42,2318,2314,2320,0,2731,2730,2733,2341,2337,2343,42,2324,2314,2325,0,2738,2725,2739,2347,2337,2348,42,2325,2326,2324,0,2739,2740,2738,2348,2349,2347,42,2327,2326,2325,0,2741,2740,2739,2350,2349,2348,42,2326,2327,2328,0,2740,2741,2742,2349,2350,2351,42,2328,2327,2329,0,2742,2741,2743,2351,2350,2352,42,2329,2327,2330,0,2743,2741,2744,2352,2350,2353,42,2327,2331,2330,0,2741,2745,2744,2350,2354,2353,42,2327,2325,2331,0,2741,2739,2745,2350,2348,2354,42,2325,2316,2331,0,2739,2727,2745,2348,2339,2354,42,2325,2314,2316,0,2739,2725,2727,2348,2337,2339,42,2331,2316,2315,0,2745,2727,2726,2354,2339,2338,42,2331,2315,2332,0,2745,2726,2746,2354,2338,2355,42,2332,2315,2317,0,2746,2726,2728,2355,2338,2340,42,2332,2317,2321,0,2747,2729,2734,2355,2340,2344,42,2321,2317,2319,0,2734,2729,2732,2344,2340,2342,42,2333,2332,2321,0,2748,2747,2734,2356,2355,2344,42,2330,2332,2333,0,2744,2746,2749,2353,2355,2356,42,2330,2331,2332,0,2744,2745,2746,2353,2354,2355,42,2334,2330,2333,0,2750,2744,2749,2357,2353,2356,42,2334,2329,2330,0,2750,2743,2744,2357,2352,2353,42,2335,2329,2334,0,2751,2743,2750,2358,2352,2357,42,2335,2336,2329,0,2751,2752,2743,2358,2359,2352,42,2337,2336,2335,0,2753,2752,2751,2360,2359,2358,42,2337,2338,2336,0,2753,2754,2752,2360,2361,2359,42,2339,2338,2337,0,2755,2754,2753,2362,2361,2360,42,2339,2340,2338,0,2755,2756,2754,2362,2363,2361,42,2341,2340,2339,0,2757,2756,2755,2364,2363,2362,42,2342,2340,2341,0,2758,2756,2757,2365,2363,2364,42,2342,2343,2340,0,2758,2759,2756,2365,2366,2363,42,2342,2344,2343,0,2758,2760,2759,2365,2367,2366,42,2345,2344,2342,0,2761,2760,2758,2368,2367,2365,42,2346,2344,2345,0,2762,2760,2761,2369,2367,2368,42,2346,2347,2344,0,2762,2763,2760,2369,2370,2367,42,2346,2348,2347,0,2762,2764,2763,2369,2371,2370,42,2346,2349,2348,0,2762,2765,2764,2369,2372,2371,42,2350,2349,2346,0,2766,2765,2762,2373,2372,2369,42,2350,2351,2349,0,2766,2767,2765,2373,2374,2372,42,2351,2352,2349,0,2767,2768,2765,2374,2375,2372,42,2353,2352,2351,0,2769,2768,2767,2376,2375,2374,42,2353,2354,2352,0,2769,2770,2768,2376,2377,2375,42,2355,2354,2353,0,2771,2770,2769,2378,2377,2376,42,2355,2356,2354,0,2771,2772,2770,2378,2379,2377,42,2355,2357,2356,0,2771,2773,2772,2378,2380,2379,42,2357,2358,2356,0,2773,2774,2772,2380,2381,2379,42,2356,2358,2359,0,2772,2774,2775,2379,2381,2382,42,2360,2359,2358,0,2776,2775,2774,2383,2382,2381,42,2360,2361,2359,0,2776,2777,2775,2383,2384,2382,42,2360,2362,2361,0,2776,2778,2777,2383,2385,2384,42,2362,2363,2361,0,2778,2779,2777,2385,2386,2384,42,2364,2363,2362,0,2780,2781,2782,2387,2386,2385,42,2364,2341,2363,0,2780,2757,2781,2387,2364,2386,42,2365,2341,2364,0,2783,2757,2780,2388,2364,2387,42,2365,2342,2341,0,2783,2758,2757,2388,2365,2364,42,2345,2342,2365,0,2761,2758,2783,2368,2365,2388,42,2365,2366,2345,0,2783,2784,2761,2388,2389,2368,42,2350,2345,2366,0,2766,2761,2784,2373,2368,2389,42,2350,2346,2345,0,2766,2762,2761,2373,2369,2368,42,2363,2341,2339,0,2781,2757,2755,2386,2364,2362,42,2363,2339,2367,0,2779,2785,2786,2386,2362,2390,42,2339,2337,2367,0,2785,2787,2786,2362,2360,2390,42,2367,2337,2368,0,2786,2787,2788,2390,2360,2391,42,2368,2337,2335,0,2788,2787,2789,2391,2360,2358,42,2368,2335,2369,0,2788,2789,2790,2391,2358,2392,42,2369,2335,2334,0,2790,2789,2791,2392,2358,2357,42,2369,2334,2370,0,2790,2791,2792,2392,2357,2393,42,2334,2333,2370,0,2791,2748,2792,2357,2356,2393,42,2370,2333,2322,0,2792,2748,2735,2393,2356,2345,42,2333,2321,2322,0,2748,2734,2735,2356,2344,2345,42,2370,2322,2371,0,2792,2735,2793,2393,2345,2394,42,2371,2322,2323,0,2793,2735,2736,2394,2345,2346,42,2371,2323,2326,0,2793,2736,2794,2394,2346,2349,42,2323,2324,2326,0,2736,2737,2794,2346,2347,2349,42,2371,2326,2372,0,2793,2794,2795,2394,2349,2395,42,2328,2372,2326,0,2742,2796,2740,2351,2395,2349,42,2328,2373,2372,0,2742,2797,2796,2351,2396,2395,42,2328,2374,2373,0,2742,2798,2797,2351,2397,2396,42,2375,2374,2328,0,2799,2798,2742,2398,2397,2351,42,2375,2376,2374,0,2799,2800,2798,2398,2399,2397,42,2377,2376,2375,0,2801,2800,2799,2400,2399,2398,42,2377,2378,2376,0,2801,2802,2800,2400,2401,2399,42,2379,2378,2377,0,2803,2802,2801,2402,2401,2400,42,2379,2380,2378,0,2803,2804,2802,2402,2403,2401,42,2381,2380,2379,0,2805,2804,2803,2404,2403,2402,42,2381,2382,2380,0,2805,2806,2804,2404,2405,2403,42,2381,2383,2382,0,2805,2807,2806,2404,2406,2405,42,2384,2383,2381,0,2808,2807,2805,2407,2406,2404,42,2384,2385,2383,0,2808,2809,2807,2407,2408,2406,42,2386,2385,2384,0,2810,2809,2808,2409,2408,2407,42,2387,2385,2386,0,2811,2809,2810,2410,2408,2409,42,2387,2388,2385,0,2811,2812,2809,2410,2411,2408,42,2387,2389,2388,0,2811,2813,2812,2410,2412,2411,42,2387,2356,2389,0,2811,2772,2813,2410,2379,2412,42,2354,2356,2387,0,2770,2772,2811,2377,2379,2410,42,2354,2387,2352,0,2770,2811,2768,2377,2410,2375,42,2352,2387,2386,0,2768,2811,2810,2375,2410,2409,42,2349,2352,2386,0,2765,2768,2810,2372,2375,2409,42,2349,2386,2348,0,2765,2810,2764,2372,2409,2371,42,2348,2386,2384,0,2764,2810,2808,2371,2409,2407,42,2348,2384,2390,0,2764,2808,2814,2371,2407,2413,42,2390,2384,2381,0,2814,2808,2805,2413,2407,2404,42,2390,2381,2379,0,2814,2805,2803,2413,2404,2402,42,2390,2379,2391,0,2814,2803,2815,2413,2402,2414,42,2379,2377,2391,0,2803,2801,2815,2402,2400,2414,42,2391,2377,2375,0,2815,2801,2799,2414,2400,2398,42,2391,2375,2392,0,2815,2799,2816,2414,2398,2415,42,2392,2375,2393,0,2816,2799,2817,2415,2398,2416,42,2375,2328,2393,0,2799,2742,2817,2398,2351,2416,42,2393,2328,2329,0,2817,2742,2743,2416,2351,2352,42,2393,2329,2336,0,2817,2743,2752,2416,2352,2359,42,2393,2336,2338,0,2817,2752,2754,2416,2359,2361,42,2392,2393,2338,0,2816,2817,2754,2415,2416,2361,42,2392,2338,2340,0,2816,2754,2756,2415,2361,2363,42,2343,2392,2340,0,2759,2816,2756,2366,2415,2363,42,2344,2392,2343,0,2760,2816,2759,2367,2415,2366,42,2344,2391,2392,0,2760,2815,2816,2367,2414,2415,42,2347,2391,2344,0,2763,2815,2760,2370,2414,2367,42,2347,2390,2391,0,2763,2814,2815,2370,2413,2414,42,2347,2348,2390,0,2763,2764,2814,2370,2371,2413,42,2356,2394,2389,0,2772,2818,2813,2379,2417,2412,42,2356,2359,2394,0,2772,2775,2818,2379,2382,2417,42,2359,2367,2394,0,2775,2786,2818,2382,2390,2417,42,2361,2367,2359,0,2777,2786,2775,2384,2390,2382,42,2363,2367,2361,0,2779,2786,2777,2386,2390,2384,42,2394,2367,2395,0,2818,2786,2819,2417,2390,2418,42,2395,2367,2368,0,2819,2786,2788,2418,2390,2391,42,2395,2368,2396,0,2819,2788,2820,2418,2391,2419,42,2368,2369,2396,0,2788,2790,2820,2391,2392,2419,42,2369,2371,2396,0,2790,2793,2820,2392,2394,2419,42,2369,2370,2371,0,2790,2792,2793,2392,2393,2394,42,2396,2371,2397,0,2820,2793,2821,2419,2394,2420,42,2397,2371,2398,0,2821,2793,2822,2420,2394,2421,42,2371,2372,2398,0,2793,2795,2822,2394,2395,2421,42,2372,2373,2398,0,2795,2823,2822,2395,2396,2421,42,2398,2373,2399,0,2822,2823,2824,2421,2396,2422,42,2373,2400,2399,0,2797,2825,2826,2396,2423,2422,42,2374,2400,2373,0,2798,2825,2797,2397,2423,2396,42,2401,2400,2374,0,2827,2825,2798,2424,2423,2397,42,2401,2402,2400,0,2827,2828,2825,2424,2425,2423,42,2401,2403,2402,0,2827,2829,2828,2424,2426,2425,42,2401,2404,2403,0,2827,2830,2829,2424,2427,2426,42,2376,2404,2401,0,2800,2830,2827,2399,2427,2424,42,2376,2405,2404,0,2800,2831,2830,2399,2428,2427,42,2376,2406,2405,0,2800,2832,2831,2399,2429,2428,42,2407,2406,2376,0,2833,2832,2800,2430,2429,2399,42,2407,2408,2406,0,2833,2834,2832,2430,2431,2429,42,2407,2409,2408,0,2833,2835,2834,2430,2432,2431,42,2407,2410,2409,0,2833,2836,2835,2430,2433,2432,42,2378,2410,2407,0,2802,2836,2833,2401,2433,2430,42,2378,2411,2410,0,2802,2837,2836,2401,2434,2433,42,2378,2412,2411,0,2802,2838,2837,2401,2435,2434,42,2413,2412,2378,0,2839,2838,2802,2436,2435,2401,42,2413,2414,2412,0,2839,2840,2838,2436,2437,2435,42,2413,2415,2414,0,2839,2841,2840,2436,2438,2437,42,2413,2416,2415,0,2839,2842,2841,2436,2439,2438,42,2380,2416,2413,0,2804,2842,2839,2403,2439,2436,42,2380,2417,2416,0,2804,2843,2842,2403,2440,2439,42,2380,2418,2417,0,2804,2844,2843,2403,2441,2440,42,2419,2418,2380,0,2845,2844,2804,2442,2441,2403,42,2419,2420,2418,0,2845,2846,2844,2442,2443,2441,42,2419,2421,2420,0,2845,2847,2846,2442,2444,2443,42,2419,2422,2421,0,2845,2848,2847,2442,2445,2444,42,2382,2422,2419,0,2806,2848,2845,2405,2445,2442,42,2382,2423,2422,0,2806,2849,2848,2405,2446,2445,42,2383,2423,2382,0,2807,2849,2806,2406,2446,2405,42,2424,2423,2383,0,2850,2849,2807,2447,2446,2406,42,2424,2425,2423,0,2850,2851,2849,2447,2448,2446,42,2424,2426,2425,0,2850,2852,2851,2447,2449,2448,42,2388,2426,2424,0,2812,2852,2850,2411,2449,2447,42,2388,2427,2426,0,2812,2853,2852,2411,2450,2449,42,2388,2389,2427,0,2812,2813,2853,2411,2412,2450,42,2389,2394,2427,0,2813,2818,2853,2412,2417,2450,42,2427,2394,2395,0,2853,2818,2819,2450,2417,2418,42,2427,2395,2428,0,2853,2819,2854,2450,2418,2451,42,2395,2396,2428,0,2819,2820,2854,2418,2419,2451,42,2428,2396,2429,0,2854,2820,2855,2451,2419,2452,42,2429,2396,2397,0,2855,2820,2821,2452,2419,2420,42,2429,2397,2430,0,2855,2821,2856,2452,2420,2453,42,2397,2431,2430,0,2821,2857,2856,2420,2454,2453,42,2397,2405,2431,0,2821,2858,2857,2420,2428,2454,42,2397,2432,2404,0,2821,2859,2860,2420,2455,2427,42,2397,2433,2432,0,2821,2861,2859,2420,2456,2455,42,2398,2433,2397,0,2822,2861,2821,2421,2456,2420,42,2398,2399,2433,0,2822,2824,2861,2421,2422,2456,42,2399,2434,2433,0,2824,2862,2861,2422,2457,2456,42,2399,2435,2434,0,2824,2863,2862,2422,2458,2457,42,2399,2400,2435,0,2826,2825,2864,2422,2423,2458,42,2400,2402,2435,0,2825,2828,2864,2423,2425,2458,42,2435,2402,2436,0,2864,2828,2865,2458,2425,2459,42,2437,2436,2402,0,2866,2865,2828,2460,2459,2425,42,2437,2438,2436,0,2866,2867,2865,2460,2461,2459,42,2437,2439,2438,0,2866,2868,2867,2460,2462,2461,42,2437,2440,2439,0,2866,2869,2868,2460,2463,2462,42,2403,2440,2437,0,2829,2869,2866,2426,2463,2460,42,2403,2441,2440,0,2829,2870,2869,2426,2464,2463,42,2404,2441,2403,0,2830,2870,2829,2427,2464,2426,42,2432,2441,2404,0,2859,2871,2860,2455,2464,2427,42,2432,2442,2441,0,2859,2872,2871,2455,2465,2464,42,2433,2442,2432,0,2861,2872,2859,2456,2465,2455,42,2442,2433,2434,0,2872,2861,2862,2465,2456,2457,42,2434,2443,2442,0,2862,2873,2872,2457,2466,2465,42,2434,2444,2443,0,2862,2874,2873,2457,2467,2466,42,2435,2444,2434,0,2863,2874,2862,2458,2467,2457,42,2436,2444,2435,0,2865,2875,2864,2459,2467,2458,42,2436,2445,2444,0,2865,2876,2875,2459,2468,2467,42,2436,2438,2445,0,2865,2867,2876,2459,2461,2468,42,2446,2445,2438,0,2877,2876,2867,2469,2468,2461,42,2446,2447,2445,0,2877,2878,2876,2469,2470,2468,42,2448,2447,2446,0,2879,2878,2877,2471,2470,2469,42,2449,2447,2448,0,2880,2881,2882,2472,2470,2471,42,2449,2450,2447,0,2880,2883,2881,2472,2473,2470,42,2449,2451,2450,0,2880,2884,2883,2472,2474,2473,42,2451,2449,2448,0,2884,2880,2882,2474,2472,2471,42,2452,2451,2448,0,2885,2884,2882,2475,2474,2471,42,2453,2451,2452,0,2886,2884,2885,2476,2474,2475,42,2451,2453,2443,0,2884,2886,2873,2474,2476,2466,42,2442,2443,2453,0,2872,2873,2886,2465,2466,2476,42,2442,2453,2440,0,2872,2886,2887,2465,2476,2463,42,2440,2453,2452,0,2887,2886,2885,2463,2476,2475,42,2440,2452,2439,0,2869,2888,2868,2463,2475,2462,42,2439,2452,2448,0,2868,2888,2879,2462,2475,2471,42,2439,2448,2454,0,2868,2879,2889,2462,2471,2477,42,2454,2448,2446,0,2889,2879,2877,2477,2471,2469,42,2454,2446,2438,0,2889,2877,2867,2477,2469,2461,42,2454,2438,2439,0,2889,2867,2868,2477,2461,2462,42,2442,2440,2441,0,2872,2887,2871,2465,2463,2464,42,2451,2443,2455,0,2884,2873,2890,2474,2466,2478,42,2444,2455,2443,0,2874,2890,2873,2467,2478,2466,42,2444,2445,2455,0,2874,2891,2890,2467,2468,2478,42,2445,2447,2455,0,2891,2881,2890,2468,2470,2478,42,2455,2447,2450,0,2890,2881,2883,2478,2470,2473,42,2455,2450,2451,0,2890,2883,2884,2478,2473,2474,42,2403,2437,2402,0,2829,2866,2828,2426,2460,2425,42,2406,2431,2405,0,2832,2892,2831,2429,2454,2428,42,2406,2456,2431,0,2832,2893,2892,2429,2479,2454,42,2406,2408,2456,0,2832,2834,2893,2429,2431,2479,42,2408,2457,2456,0,2834,2894,2893,2431,2480,2479,42,2458,2457,2408,0,2895,2894,2834,2481,2480,2431,42,2458,2459,2457,0,2895,2896,2894,2481,2482,2480,42,2458,2460,2459,0,2895,2897,2896,2481,2483,2482,42,2458,2461,2460,0,2895,2898,2897,2481,2484,2483,42,2409,2461,2458,0,2835,2898,2895,2432,2484,2481,42,2409,2462,2461,0,2835,2899,2898,2432,2485,2484,42,2410,2462,2409,0,2836,2899,2835,2433,2485,2432,42,2410,2463,2462,0,2900,2901,2902,2433,2486,2485,42,2429,2463,2410,0,2855,2901,2900,2452,2486,2433,42,2429,2430,2463,0,2855,2856,2901,2452,2453,2486,42,2463,2430,2464,0,2901,2856,2903,2486,2453,2487,42,2464,2430,2465,0,2903,2856,2904,2487,2453,2488,42,2431,2465,2430,0,2857,2904,2856,2454,2488,2453,42,2431,2456,2465,0,2857,2905,2904,2454,2479,2488,42,2456,2466,2465,0,2905,2906,2904,2479,2489,2488,42,2457,2466,2456,0,2894,2907,2893,2480,2489,2479,42,2457,2467,2466,0,2894,2908,2907,2480,2490,2489,42,2459,2467,2457,0,2896,2908,2894,2482,2490,2480,42,2468,2467,2459,0,2909,2908,2896,2491,2490,2482,42,2467,2468,2469,0,2908,2909,2910,2490,2491,2492,42,2470,2469,2468,0,2911,2910,2909,2493,2492,2491,42,2471,2469,2470,0,2912,2913,2914,2494,2492,2493,42,2471,2472,2469,0,2912,2915,2913,2494,2495,2492,42,2473,2472,2471,0,2916,2915,2912,2496,2495,2494,42,2473,2474,2472,0,2916,2917,2915,2496,2497,2495,42,2473,2475,2474,0,2916,2918,2917,2496,2498,2497,42,2473,2476,2475,0,2916,2919,2918,2496,2499,2498,42,2477,2476,2473,0,2920,2919,2916,2500,2499,2496,42,2461,2476,2477,0,2921,2919,2920,2484,2499,2500,42,2464,2476,2461,0,2903,2919,2921,2487,2499,2484,42,2464,2475,2476,0,2903,2918,2919,2487,2498,2499,42,2464,2465,2475,0,2903,2904,2918,2487,2488,2498,42,2465,2466,2475,0,2904,2906,2918,2488,2489,2498,42,2466,2474,2475,0,2906,2917,2918,2489,2497,2498,42,2466,2467,2474,0,2906,2922,2917,2489,2490,2497,42,2467,2469,2474,0,2922,2913,2917,2490,2492,2497,42,2474,2469,2472,0,2917,2913,2915,2497,2492,2495,42,2462,2464,2461,0,2902,2903,2921,2485,2487,2484,42,2463,2464,2462,0,2901,2903,2902,2486,2487,2485,42,2460,2461,2477,0,2897,2898,2923,2483,2484,2500,42,2460,2477,2470,0,2897,2923,2911,2483,2500,2493,42,2477,2473,2470,0,2920,2916,2914,2500,2496,2493,42,2473,2471,2470,0,2916,2912,2914,2496,2494,2493,42,2460,2470,2478,0,2897,2911,2924,2483,2493,2501,42,2478,2470,2468,0,2924,2911,2909,2501,2493,2491,42,2459,2478,2468,0,2896,2924,2909,2482,2501,2491,42,2460,2478,2459,0,2897,2924,2896,2483,2501,2482,42,2411,2412,2479,0,2837,2838,2925,2434,2435,2502,42,2412,2480,2479,0,2838,2926,2925,2435,2503,2502,42,2412,2414,2480,0,2838,2840,2926,2435,2437,2503,42,2414,2481,2480,0,2840,2927,2926,2437,2504,2503,42,2482,2481,2414,0,2928,2927,2840,2505,2504,2437,42,2482,2483,2481,0,2928,2929,2927,2505,2506,2504,42,2484,2483,2482,0,2930,2929,2928,2507,2506,2505,42,2484,2485,2483,0,2930,2931,2929,2507,2508,2506,42,2484,2486,2485,0,2930,2932,2931,2507,2509,2508,42,2484,2487,2486,0,2930,2933,2932,2507,2510,2509,42,2484,2488,2487,0,2930,2934,2933,2507,2511,2510,42,2482,2488,2484,0,2928,2934,2930,2505,2511,2507,42,2415,2488,2482,0,2841,2934,2928,2438,2511,2505,42,2415,2489,2488,0,2841,2935,2934,2438,2512,2511,42,2415,2416,2489,0,2841,2842,2935,2438,2439,2512,42,2416,2490,2489,0,2936,2937,2938,2439,2513,2512,42,2491,2490,2416,0,2939,2937,2936,2514,2513,2439,42,2491,2492,2490,0,2939,2940,2937,2514,2515,2513,42,2491,2429,2492,0,2939,2855,2940,2514,2452,2515,42,2491,2428,2429,0,2939,2854,2855,2514,2451,2452,42,2426,2428,2491,0,2852,2854,2939,2449,2451,2514,42,2427,2428,2426,0,2853,2854,2852,2450,2451,2449,42,2425,2426,2491,0,2851,2852,2939,2448,2449,2514,42,2425,2491,2493,0,2851,2939,2941,2448,2514,2516,42,2491,2494,2493,0,2939,2942,2941,2514,2517,2516,42,2491,2417,2494,0,2939,2943,2942,2514,2440,2517,42,2491,2416,2417,0,2939,2936,2943,2514,2439,2440,42,2417,2418,2494,0,2843,2844,2944,2440,2441,2517,42,2418,2495,2494,0,2844,2945,2944,2441,2518,2517,42,2418,2420,2495,0,2844,2846,2945,2441,2443,2518,42,2420,2496,2495,0,2846,2946,2945,2443,2519,2518,42,2420,2497,2496,0,2846,2947,2946,2443,2520,2519,42,2421,2497,2420,0,2847,2947,2846,2444,2520,2443,42,2421,2498,2497,0,2847,2948,2947,2444,2521,2520,42,2421,2499,2498,0,2847,2949,2948,2444,2522,2521,42,2421,2422,2499,0,2847,2848,2949,2444,2445,2522,42,2422,2500,2499,0,2848,2950,2949,2445,2523,2522,42,2422,2425,2500,0,2848,2851,2950,2445,2448,2523,42,2423,2425,2422,0,2849,2851,2848,2446,2448,2445,42,2425,2493,2500,0,2851,2941,2950,2448,2516,2523,42,2500,2493,2501,0,2950,2941,2951,2523,2516,2524,42,2501,2493,2502,0,2951,2941,2952,2524,2516,2525,42,2494,2502,2493,0,2942,2952,2941,2517,2525,2516,42,2494,2495,2502,0,2942,2953,2952,2517,2518,2525,42,2495,2503,2502,0,2953,2954,2952,2518,2526,2525,42,2495,2496,2503,0,2945,2946,2955,2518,2519,2526,42,2496,2504,2503,0,2946,2956,2955,2519,2527,2526,42,2496,2505,2504,0,2946,2957,2956,2519,2528,2527,42,2497,2505,2496,0,2947,2957,2946,2520,2528,2519,42,2497,2506,2505,0,2947,2958,2957,2520,2529,2528,42,2497,2498,2506,0,2947,2948,2958,2520,2521,2529,42,2506,2498,2507,0,2958,2948,2959,2529,2521,2530,42,2498,2508,2507,0,2948,2960,2959,2521,2531,2530,42,2501,2508,2498,0,2951,2960,2948,2524,2531,2521,42,2501,2509,2508,0,2951,2961,2960,2524,2532,2531,42,2501,2502,2509,0,2951,2952,2961,2524,2525,2532,42,2502,2503,2509,0,2952,2954,2961,2525,2526,2532,42,2503,2510,2509,0,2954,2962,2961,2526,2533,2532,42,2503,2504,2510,0,2954,2963,2962,2526,2527,2533,42,2504,2511,2510,0,2963,2964,2962,2527,2534,2533,42,2504,2512,2511,0,2956,2965,2966,2527,2535,2534,42,2505,2512,2504,0,2957,2965,2956,2528,2535,2527,42,2505,2513,2512,0,2957,2967,2965,2528,2536,2535,42,2506,2513,2505,0,2958,2967,2957,2529,2536,2528,42,2506,2514,2513,0,2958,2968,2967,2529,2537,2536,42,2506,2507,2514,0,2958,2959,2968,2529,2530,2537,42,2507,2515,2514,0,2959,2969,2968,2530,2538,2537,42,2507,2508,2515,0,2959,2960,2969,2530,2531,2538,42,2508,2509,2515,0,2960,2961,2969,2531,2532,2538,42,2515,2509,2510,0,2969,2961,2962,2538,2532,2533,42,2515,2510,2516,0,2969,2962,2970,2538,2533,2539,42,2510,2511,2516,0,2962,2964,2970,2533,2534,2539,42,2517,2516,2511,0,2971,2970,2964,2540,2539,2534,42,2515,2516,2517,0,2969,2970,2971,2538,2539,2540,42,2515,2517,2514,0,2969,2971,2968,2538,2540,2537,42,2517,2511,2514,0,2971,2964,2968,2540,2534,2537,42,2514,2511,2512,0,2968,2966,2965,2537,2534,2535,42,2513,2514,2512,0,2967,2968,2965,2536,2537,2535,42,2501,2498,2499,0,2951,2948,2949,2524,2521,2522,42,2499,2500,2501,0,2949,2950,2951,2522,2523,2524,42,2429,2479,2492,0,2855,2972,2940,2452,2502,2515,42,2479,2518,2492,0,2972,2973,2940,2502,2541,2515,42,2479,2480,2518,0,2972,2974,2973,2502,2503,2541,42,2480,2519,2518,0,2974,2975,2973,2503,2542,2541,42,2481,2519,2480,0,2927,2976,2926,2504,2542,2503,42,2481,2520,2519,0,2927,2977,2976,2504,2543,2542,42,2483,2520,2481,0,2929,2977,2927,2506,2543,2504,42,2521,2520,2483,0,2978,2977,2929,2544,2543,2506,42,2521,2522,2520,0,2978,2979,2977,2544,2545,2543,42,2486,2522,2521,0,2932,2979,2978,2509,2545,2544,42,2523,2522,2486,0,2980,2981,2982,2546,2545,2509,42,2523,2524,2522,0,2980,2983,2981,2546,2547,2545,42,2525,2524,2523,0,2984,2983,2980,2548,2547,2546,42,2525,2526,2524,0,2984,2985,2983,2548,2549,2547,42,2525,2527,2526,0,2984,2986,2985,2548,2550,2549,42,2528,2527,2525,0,2987,2986,2984,2551,2550,2548,42,2529,2527,2528,0,2988,2986,2987,2552,2550,2551,42,2529,2518,2527,0,2988,2973,2986,2552,2541,2550,42,2529,2492,2518,0,2988,2940,2973,2552,2515,2541,42,2490,2492,2529,0,2937,2940,2988,2513,2515,2552,42,2490,2529,2489,0,2937,2988,2938,2513,2552,2512,42,2489,2529,2488,0,2938,2988,2989,2512,2552,2511,42,2529,2528,2488,0,2988,2987,2989,2552,2551,2511,42,2488,2528,2487,0,2989,2987,2990,2511,2551,2510,42,2487,2528,2525,0,2990,2987,2984,2510,2551,2548,42,2487,2525,2486,0,2990,2984,2982,2510,2548,2509,42,2525,2523,2486,0,2984,2980,2982,2548,2546,2509,42,2518,2519,2527,0,2973,2975,2986,2541,2542,2550,42,2519,2526,2527,0,2975,2985,2986,2542,2549,2550,42,2519,2520,2526,0,2975,2991,2985,2542,2543,2549,42,2520,2522,2526,0,2991,2981,2985,2543,2545,2549,42,2526,2522,2524,0,2985,2981,2983,2549,2545,2547,42,2486,2521,2485,0,2932,2978,2931,2509,2544,2508,42,2483,2485,2521,0,2929,2931,2978,2506,2508,2544,42,2415,2482,2414,0,2841,2928,2840,2438,2505,2437,42,2409,2458,2408,0,2835,2895,2834,2432,2481,2431,42,2388,2424,2383,0,2812,2850,2807,2411,2447,2406,42,2388,2383,2385,0,2812,2807,2809,2411,2406,2408,42,2382,2419,2380,0,2806,2845,2804,2405,2442,2403,42,2380,2413,2378,0,2804,2839,2802,2403,2436,2401,42,2378,2407,2376,0,2802,2833,2800,2401,2430,2399,42,2374,2376,2401,0,2798,2800,2827,2397,2399,2424,42,2397,2404,2405,4,2992,2993,2994,2420,2427,2428,42,2429,2410,2411,4,2995,2996,2997,2452,2433,2434,42,2429,2411,2479,4,2998,2999,3000,2452,2434,2502,42,2530,2531,2532,0,3001,3002,3003,2553,2554,2555,42,2530,2533,2531,0,3004,3005,3006,2553,2556,2554,42,2533,2530,2534,0,3005,3004,3007,2556,2553,2557,42,2535,2533,2534,0,3008,3005,3007,2558,2556,2557,42,2531,2533,2535,0,3006,3005,3008,2554,2556,2558,42,2531,2535,2536,0,3006,3008,3009,2554,2558,2559,42,2536,2535,2537,0,3009,3008,3010,2559,2558,2560,42,2537,2535,2538,0,3010,3008,3011,2560,2558,2561,42,2538,2535,2539,0,3011,3008,3012,2561,2558,2562,42,2535,2534,2539,0,3008,3007,3012,2558,2557,2562,42,2530,2539,2534,0,3004,3012,3007,2553,2562,2557,42,2539,2530,2540,0,3012,3004,3013,2562,2553,2563,42,2540,2541,2539,0,3013,3014,3012,2563,2564,2562,42,2542,2541,2540,0,3015,3014,3013,2565,2564,2563,42,2542,2543,2541,0,3015,3016,3014,2565,2566,2564,42,2542,2544,2543,0,3015,3017,3016,2565,2567,2566,42,2545,2544,2542,0,3018,3019,3020,2568,2567,2565,42,2546,2544,2545,0,3021,3019,3018,2569,2567,2568,42,2546,2547,2544,0,3021,3022,3019,2569,2570,2567,42,2546,2548,2547,0,3021,3023,3022,2569,2571,2570,42,2548,2546,2549,0,3023,3021,3024,2571,2569,2572,42,2549,2546,2550,0,3024,3021,3025,2572,2569,2573,42,2546,2551,2550,0,3021,3026,3025,2569,2574,2573,42,2546,2545,2551,0,3021,3018,3026,2569,2568,2574,42,2551,2545,2552,0,3026,3018,3027,2574,2568,2575,42,2552,2545,2553,0,3027,3018,3028,2575,2568,2576,42,2545,2542,2553,0,3018,3020,3028,2568,2565,2576,42,2553,2542,2540,0,3028,3020,3029,2576,2565,2563,42,2553,2540,2532,0,3028,3029,3003,2576,2563,2555,42,2540,2530,2532,0,3029,3001,3003,2563,2553,2555,42,2553,2532,2554,0,3028,3003,3030,2576,2555,2577,42,2532,2531,2554,0,3003,3002,3030,2555,2554,2577,42,2552,2554,2531,0,3027,3030,3002,2575,2577,2554,42,2552,2553,2554,0,3027,3028,3030,2575,2576,2577,42,2552,2531,2536,0,3027,3002,3031,2575,2554,2559,42,2552,2536,2551,0,3027,3031,3026,2575,2559,2574,42,2551,2536,2537,0,3026,3031,3032,2574,2559,2560,42,2551,2537,2550,0,3026,3032,3025,2574,2560,2573,42,2550,2537,2555,0,3025,3032,3033,2573,2560,2578,42,2537,2556,2555,0,3010,3034,3035,2560,2579,2578,42,2537,2538,2556,0,3010,3011,3034,2560,2561,2579,42,2541,2556,2538,0,3014,3034,3011,2564,2579,2561,42,2541,2543,2556,0,3014,3016,3034,2564,2566,2579,42,2557,2556,2543,0,3036,3034,3016,2580,2579,2566,42,2557,2558,2556,0,3036,3037,3034,2580,2581,2579,42,2559,2558,2557,0,3038,3037,3036,2582,2581,2580,42,2560,2558,2559,0,3039,3037,3038,2583,2581,2582,42,2560,2561,2558,0,3039,3040,3037,2583,2584,2581,42,2562,2561,2560,0,3041,3040,3039,2585,2584,2583,42,2562,2563,2561,0,3041,3042,3040,2585,2586,2584,42,2564,2563,2562,0,3043,3042,3041,2587,2586,2585,42,2564,2565,2563,0,3043,3044,3042,2587,2588,2586,42,2566,2565,2564,0,3045,3044,3043,2589,2588,2587,42,2567,2565,2566,0,3046,3044,3045,2590,2588,2589,42,2567,2568,2565,0,3046,3047,3044,2590,2591,2588,42,2569,2568,2567,0,3048,3047,3046,2592,2591,2590,42,2569,2570,2568,0,3048,3049,3047,2592,2593,2591,42,2569,2571,2570,0,3048,3050,3049,2592,2594,2593,42,2572,2571,2569,0,3051,3050,3048,2595,2594,2592,42,2573,2571,2572,0,3052,3050,3051,2596,2594,2595,42,2573,2574,2571,0,3052,3053,3050,2596,2597,2594,42,2573,2575,2574,0,3052,3054,3053,2596,2598,2597,42,2576,2575,2573,0,3055,3054,3052,2599,2598,2596,42,2577,2575,2576,0,3056,3054,3055,2600,2598,2599,42,2577,2578,2575,0,3056,3057,3054,2600,2601,2598,42,2577,2579,2578,0,3056,3058,3057,2600,2602,2601,42,2580,2579,2577,0,3059,3060,3056,2603,2602,2600,42,2579,2580,2581,0,3060,3059,3061,2602,2603,2604,42,2580,2582,2581,0,3059,3062,3061,2603,2605,2604,42,2582,2580,2583,0,3062,3059,3063,2605,2603,2606,42,2583,2580,2577,0,3063,3059,3056,2606,2603,2600,42,2577,2584,2583,0,3056,3064,3063,2600,2607,2606,42,2577,2576,2584,0,3056,3055,3064,2600,2599,2607,42,2584,2576,2585,0,3064,3055,3065,2607,2599,2608,42,2585,2576,2573,0,3065,3055,3052,2608,2599,2596,42,2585,2573,2586,0,3065,3052,3066,2608,2596,2609,42,2573,2572,2586,0,3052,3051,3066,2596,2595,2609,42,2586,2572,2587,0,3066,3051,3067,2609,2595,2610,42,2587,2572,2569,0,3067,3051,3048,2610,2595,2592,42,2587,2569,2588,0,3067,3048,3068,2610,2592,2611,42,2588,2569,2567,0,3068,3048,3046,2611,2592,2590,42,2588,2567,2566,0,3068,3046,3045,2611,2590,2589,42,2589,2588,2566,0,3069,3068,3045,2612,2611,2589,42,2589,2590,2588,0,3069,3070,3068,2612,2613,2611,42,2589,2591,2590,0,3069,3071,3070,2612,2614,2613,42,2592,2591,2589,0,3072,3071,3069,2615,2614,2612,42,2592,2593,2591,0,3072,3073,3071,2615,2616,2614,42,2594,2593,2592,0,3074,3073,3072,2617,2616,2615,42,2594,2595,2593,0,3074,3075,3073,2617,2618,2616,42,2596,2595,2594,0,3076,3075,3074,2619,2618,2617,42,2596,2597,2595,0,3076,3077,3075,2619,2620,2618,42,2598,2597,2596,0,3078,3077,3076,2621,2620,2619,42,2598,2599,2597,0,3078,3079,3077,2621,2622,2620,42,2599,2600,2597,0,3079,3080,3077,2622,2623,2620,42,2600,2601,2597,0,3080,3081,3077,2623,2624,2620,42,2600,2602,2601,0,3080,3082,3081,2623,2625,2624,42,2600,2603,2602,0,3080,3083,3082,2623,2626,2625,42,2603,2604,2602,0,3083,3084,3082,2626,2627,2625,42,2605,2604,2603,0,3085,3084,3083,2628,2627,2626,42,2605,2606,2604,0,3086,3087,3088,2628,2629,2627,42,2607,2606,2605,0,3089,3087,3086,2630,2629,2628,42,2607,2608,2606,0,3089,3090,3087,2630,2631,2629,42,2609,2608,2607,0,3091,3090,3089,2632,2631,2630,42,2609,2610,2608,0,3091,3092,3090,2632,2633,2631,42,2611,2610,2609,0,3093,3092,3091,2634,2633,2632,42,2612,2610,2611,0,3094,3092,3093,2635,2633,2634,42,2612,2613,2610,0,3094,3095,3092,2635,2636,2633,42,2614,2613,2612,0,3096,3095,3094,2637,2636,2635,42,2614,2615,2613,0,3096,3097,3095,2637,2638,2636,42,2614,2616,2615,0,3096,3098,3097,2637,2639,2638,42,2616,2617,2615,0,3098,3099,3097,2639,2640,2638,42,2598,2617,2616,0,3078,3099,3098,2621,2640,2639,42,2598,2596,2617,0,3078,3076,3099,2621,2619,2640,42,2596,2618,2617,0,3076,3100,3099,2619,2641,2640,42,2594,2618,2596,0,3074,3100,3076,2617,2641,2619,42,2592,2618,2594,0,3072,3100,3074,2615,2641,2617,42,2592,2619,2618,0,3072,3101,3100,2615,2642,2641,42,2592,2589,2619,0,3072,3069,3101,2615,2612,2642,42,2619,2589,2566,0,3101,3069,3045,2642,2612,2589,42,2619,2566,2620,0,3101,3045,3102,2642,2589,2643,42,2620,2566,2564,0,3102,3045,3043,2643,2589,2587,42,2620,2564,2621,0,3102,3043,3103,2643,2587,2644,42,2621,2564,2622,0,3103,3043,3104,2644,2587,2645,42,2622,2564,2562,0,3104,3043,3041,2645,2587,2585,42,2622,2562,2623,0,3104,3041,3105,2645,2585,2646,42,2623,2562,2560,0,3105,3041,3039,2646,2585,2583,42,2623,2560,2624,0,3105,3039,3106,2646,2583,2647,42,2624,2560,2559,0,3106,3039,3038,2647,2583,2582,42,2625,2624,2559,0,3107,3106,3038,2648,2647,2582,42,2625,2626,2624,0,3107,3108,3106,2648,2649,2647,42,2627,2626,2625,0,3109,3110,3111,2650,2649,2648,42,2627,2628,2626,0,3109,3112,3110,2650,2651,2649,42,2628,2627,2629,0,3112,3109,3113,2651,2650,2652,42,2629,2627,2549,0,3113,3109,3024,2652,2650,2572,42,2627,2548,2549,0,3109,3023,3024,2650,2571,2572,42,2548,2627,2625,0,3023,3109,3111,2571,2650,2648,42,2548,2625,2547,0,3023,3111,3022,2571,2648,2570,42,2547,2625,2559,0,3114,3107,3038,2570,2648,2582,42,2547,2559,2557,0,3114,3038,3036,2570,2582,2580,42,2544,2547,2557,0,3017,3114,3036,2567,2570,2580,42,2544,2557,2543,0,3017,3036,3016,2567,2580,2566,42,2549,2630,2629,0,3024,3115,3113,2572,2653,2652,42,2549,2550,2630,0,3024,3025,3115,2572,2573,2653,42,2630,2550,2631,0,3115,3025,3116,2653,2573,2654,42,2550,2632,2631,0,3025,3117,3116,2573,2655,2654,42,2550,2555,2632,0,3025,3033,3117,2573,2578,2655,42,2555,2633,2632,0,3035,3118,3119,2578,2656,2655,42,2555,2556,2633,0,3035,3034,3118,2578,2579,2656,42,2556,2634,2633,0,3034,3120,3118,2579,2657,2656,42,2558,2634,2556,0,3037,3120,3034,2581,2657,2579,42,2558,2635,2634,0,3037,3121,3120,2581,2658,2657,42,2561,2635,2558,0,3040,3121,3037,2584,2658,2581,42,2561,2636,2635,0,3040,3122,3121,2584,2659,2658,42,2563,2636,2561,0,3042,3122,3040,2586,2659,2584,42,2563,2568,2636,0,3042,3047,3122,2586,2591,2659,42,2565,2568,2563,0,3044,3047,3042,2588,2591,2586,42,2568,2637,2636,0,3047,3123,3122,2591,2660,2659,42,2568,2570,2637,0,3047,3049,3123,2591,2593,2660,42,2570,2638,2637,0,3049,3124,3123,2593,2661,2660,42,2570,2571,2638,0,3049,3050,3124,2593,2594,2661,42,2571,2639,2638,0,3050,3125,3124,2594,2662,2661,42,2571,2574,2639,0,3050,3053,3125,2594,2597,2662,42,2639,2574,2640,0,3125,3053,3126,2662,2597,2663,42,2640,2574,2575,0,3126,3053,3054,2663,2597,2598,42,2640,2575,2641,0,3126,3054,3127,2663,2598,2664,42,2641,2575,2578,0,3127,3054,3057,2664,2598,2601,42,2579,2641,2578,0,3058,3127,3057,2602,2664,2601,42,2579,2640,2641,0,3058,3126,3127,2602,2663,2664,42,2579,2581,2640,0,3058,3128,3126,2602,2604,2663,42,2581,2639,2640,0,3128,3125,3126,2604,2662,2663,42,2581,2642,2639,0,3128,3129,3125,2604,2665,2662,42,2582,2642,2581,0,3062,3130,3061,2605,2665,2604,42,2582,2643,2642,0,3062,3131,3130,2605,2666,2665,42,2643,2582,2584,0,3131,3062,3064,2666,2605,2607,42,2582,2583,2584,0,3062,3063,3064,2605,2606,2607,42,2643,2584,2585,0,3131,3064,3065,2666,2607,2608,42,2644,2643,2585,0,3132,3131,3065,2667,2666,2608,42,2643,2644,2645,0,3131,3132,3133,2666,2667,2668,42,2644,2646,2645,0,3132,3134,3133,2667,2669,2668,42,2644,2647,2646,0,3132,3135,3134,2667,2670,2669,42,2586,2647,2644,0,3066,3135,3132,2609,2670,2667,42,2587,2647,2586,0,3067,3135,3066,2610,2670,2609,42,2590,2647,2587,0,3070,3135,3067,2613,2670,2610,42,2647,2590,2648,0,3135,3070,3136,2670,2613,2671,42,2590,2649,2648,0,3070,3137,3136,2613,2672,2671,42,2650,2649,2590,0,3138,3137,3070,2673,2672,2613,42,2650,2651,2649,0,3138,3139,3137,2673,2674,2672,42,2652,2651,2650,0,3140,3139,3138,2675,2674,2673,42,2653,2651,2652,0,3141,3139,3140,2676,2674,2675,42,2653,2654,2651,0,3142,3143,3144,2676,2677,2674,42,2653,2655,2654,0,3142,3145,3143,2676,2678,2677,42,2653,2656,2655,0,3142,3146,3145,2676,2679,2678,42,2657,2656,2653,0,3147,3146,3142,2680,2679,2676,42,2658,2656,2657,0,3148,3146,3147,2681,2679,2680,42,2658,2659,2656,0,3148,3149,3146,2681,2682,2679,42,2660,2659,2658,0,3150,3149,3148,2683,2682,2681,42,2660,2661,2659,0,3150,3151,3149,2683,2684,2682,42,2662,2661,2660,0,3152,3151,3150,2685,2684,2683,42,2662,2656,2661,0,3152,3146,3151,2685,2679,2684,42,2662,2655,2656,0,3152,3145,3146,2685,2678,2679,42,2663,2655,2662,0,3153,3145,3152,2686,2678,2685,42,2663,2654,2655,0,3153,3143,3145,2686,2677,2678,42,2664,2654,2663,0,3154,3143,3153,2687,2677,2686,42,2665,2654,2664,0,3155,3143,3154,2688,2677,2687,42,2649,2654,2665,0,3156,3143,3155,2672,2677,2688,42,2651,2654,2649,0,3144,3143,3156,2674,2677,2672,42,2649,2665,2636,0,3156,3155,3122,2672,2688,2659,42,2636,2665,2666,0,3122,3155,3157,2659,2688,2689,42,2665,2664,2666,0,3155,3154,3157,2688,2687,2689,42,2667,2666,2664,0,3158,3157,3154,2690,2689,2687,42,2667,2668,2666,0,3158,3159,3157,2690,2691,2689,42,2669,2668,2667,0,3160,3161,3162,2692,2691,2690,42,2669,2670,2668,0,3160,3163,3161,2692,2693,2691,42,2652,2670,2669,0,3140,3163,3160,2675,2693,2692,42,2650,2670,2652,0,3138,3163,3140,2673,2693,2675,42,2671,2670,2650,0,3164,3163,3138,2694,2693,2673,42,2670,2671,2672,0,3163,3164,3165,2693,2694,2695,42,2671,2673,2672,0,3164,3166,3165,2694,2696,2695,42,2674,2673,2671,0,3167,3166,3164,2697,2696,2694,42,2674,2675,2673,0,3167,3168,3166,2697,2698,2696,42,2676,2675,2674,0,3169,3168,3167,2699,2698,2697,42,2677,2675,2676,0,3170,3168,3169,2700,2698,2699,42,2677,2678,2675,0,3171,3172,3173,2700,2701,2698,42,2677,2679,2678,0,3171,3174,3172,2700,2702,2701,42,2677,2680,2679,0,3171,3175,3174,2700,2703,2702,42,2681,2680,2677,0,3176,3175,3171,2704,2703,2700,42,2682,2680,2681,0,3177,3175,3176,2705,2703,2704,42,2682,2683,2680,0,3177,3178,3175,2705,2706,2703,42,2684,2683,2682,0,3179,3178,3177,2707,2706,2705,42,2684,2685,2683,0,3179,3180,3178,2707,2708,2706,42,2686,2685,2684,0,3181,3180,3179,2709,2708,2707,42,2686,2680,2685,0,3181,3175,3180,2709,2703,2708,42,2686,2679,2680,0,3181,3174,3175,2709,2702,2703,42,2687,2679,2686,0,3182,3174,3181,2710,2702,2709,42,2678,2679,2687,0,3172,3174,3182,2701,2702,2710,42,2688,2678,2687,0,3183,3172,3182,2711,2701,2710,42,2689,2678,2688,0,3184,3172,3183,2712,2701,2711,42,2673,2678,2689,0,3185,3172,3184,2696,2701,2712,42,2675,2678,2673,0,3173,3172,3185,2698,2701,2696,42,2673,2689,2635,0,3185,3184,3121,2696,2712,2658,42,2635,2689,2690,0,3121,3184,3186,2658,2712,2713,42,2689,2688,2690,0,3184,3183,3186,2712,2711,2713,42,2691,2690,2688,0,3187,3186,3183,2714,2713,2711,42,2691,2692,2690,0,3187,3188,3186,2714,2715,2713,42,2693,2692,2691,0,3189,3190,3191,2716,2715,2714,42,2693,2694,2692,0,3189,3192,3190,2716,2717,2715,42,2676,2694,2693,0,3169,3192,3189,2699,2717,2716,42,2674,2694,2676,0,3167,3192,3169,2697,2717,2699,42,2695,2694,2674,0,3193,3192,3167,2718,2717,2697,42,2694,2695,2696,0,3192,3193,3194,2717,2718,2719,42,2697,2696,2695,0,3195,3194,3193,2720,2719,2718,42,2697,2634,2696,0,3196,3120,3197,2720,2657,2719,42,2697,2698,2634,0,3196,3198,3120,2720,2721,2657,42,2697,2699,2698,0,3196,3199,3198,2720,2722,2721,42,2700,2699,2697,0,3200,3199,3196,2723,2722,2720,42,2701,2699,2700,0,3201,3199,3200,2724,2722,2723,42,2701,2702,2699,0,3201,3202,3199,2724,2725,2722,42,2701,2703,2702,0,3201,3203,3202,2724,2726,2725,42,2704,2703,2701,0,3204,3203,3201,2727,2726,2724,42,2705,2703,2704,0,3205,3203,3204,2728,2726,2727,42,2705,2706,2703,0,3205,3206,3203,2728,2729,2726,42,2707,2706,2705,0,3207,3206,3205,2730,2729,2728,42,2707,2708,2706,0,3207,3208,3206,2730,2731,2729,42,2709,2708,2707,0,3209,3208,3207,2732,2731,2730,42,2709,2703,2708,0,3209,3203,3208,2732,2726,2731,42,2709,2702,2703,0,3209,3202,3203,2732,2725,2726,42,2710,2702,2709,0,3210,3202,3209,2733,2725,2732,42,2699,2702,2710,0,3199,3202,3210,2722,2725,2733,42,2711,2699,2710,0,3211,3199,3210,2734,2722,2733,42,2711,2698,2699,0,3211,3198,3199,2734,2721,2722,42,2712,2698,2711,0,3212,3198,3211,2735,2721,2734,42,2634,2698,2712,0,3120,3198,3212,2657,2721,2735,42,2634,2712,2633,0,3120,3212,3118,2657,2735,2656,42,2713,2633,2712,0,3213,3118,3212,2736,2656,2735,42,2713,2632,2633,0,3213,3119,3118,2736,2655,2656,42,2714,2632,2713,0,3214,3117,3215,2737,2655,2736,42,2714,2631,2632,0,3214,3116,3117,2737,2654,2655,42,2631,2714,2715,0,3116,3214,3216,2654,2737,2738,42,2715,2714,2716,0,3216,3214,3217,2738,2737,2739,42,2716,2714,2717,0,3217,3214,3218,2739,2737,2740,42,2717,2714,2713,0,3218,3214,3215,2740,2737,2736,42,2717,2713,2718,0,3218,3215,3219,2740,2736,2741,42,2718,2713,2712,0,3220,3213,3212,2741,2736,2735,42,2718,2712,2711,0,3220,3212,3211,2741,2735,2734,42,2719,2718,2711,0,3221,3220,3211,2742,2741,2734,42,2720,2718,2719,0,3222,3219,3223,2743,2741,2742,42,2720,2717,2718,0,3222,3218,3219,2743,2740,2741,42,2717,2720,2721,0,3218,3222,3224,2740,2743,2744,42,2720,2722,2721,0,3222,3225,3224,2743,2745,2744,42,2720,2723,2722,0,3222,3226,3225,2743,2746,2745,42,2723,2720,2719,0,3226,3222,3223,2746,2743,2742,42,2723,2719,2724,0,3226,3223,3227,2746,2742,2747,42,2724,2719,2710,0,3228,3221,3210,2747,2742,2733,42,2719,2711,2710,0,3221,3211,3210,2742,2734,2733,42,2724,2710,2709,0,3228,3210,3209,2747,2733,2732,42,2724,2709,2707,0,3228,3209,3207,2747,2732,2730,42,2725,2724,2707,0,3229,3227,3230,2748,2747,2730,42,2725,2723,2724,0,3229,3226,3227,2748,2746,2747,42,2723,2725,2726,0,3226,3229,3231,2746,2748,2749,42,2726,2725,2705,0,3231,3229,3232,2749,2748,2728,42,2725,2707,2705,0,3229,3230,3232,2748,2730,2728,42,2726,2705,2722,0,3231,3232,3225,2749,2728,2745,42,2705,2704,2722,0,3232,3233,3225,2728,2727,2745,42,2722,2704,2721,0,3225,3233,3224,2745,2727,2744,42,2721,2704,2701,0,3224,3233,3234,2744,2727,2724,42,2721,2701,2716,0,3224,3234,3217,2744,2724,2739,42,2701,2700,2716,0,3234,3235,3217,2724,2723,2739,42,2716,2700,2715,0,3217,3235,3216,2739,2723,2738,42,2715,2700,2697,0,3216,3235,3195,2738,2723,2720,42,2715,2697,2695,0,3216,3195,3193,2738,2720,2718,42,2695,2631,2715,0,3193,3116,3216,2718,2654,2738,42,2630,2631,2695,0,3115,3116,3193,2653,2654,2718,42,2727,2630,2695,0,3236,3115,3193,2750,2653,2718,42,2593,2630,2727,0,3073,3115,3236,2616,2653,2750,42,2629,2630,2593,0,3113,3115,3073,2652,2653,2616,42,2595,2629,2593,0,3075,3113,3073,2618,2652,2616,42,2595,2728,2629,0,3075,3237,3113,2618,2751,2652,42,2601,2728,2595,0,3081,3237,3075,2624,2751,2618,42,2601,2628,2728,0,3081,3112,3237,2624,2651,2751,42,2601,2602,2628,0,3081,3082,3112,2624,2625,2651,42,2628,2602,2626,0,3112,3082,3110,2651,2625,2649,42,2602,2604,2626,0,3082,3084,3110,2625,2627,2649,42,2626,2604,2624,0,3108,3088,3106,2649,2627,2647,42,2604,2606,2624,0,3088,3087,3106,2627,2629,2647,42,2606,2623,2624,0,3087,3105,3106,2629,2646,2647,42,2608,2623,2606,0,3090,3105,3087,2631,2646,2629,42,2608,2622,2623,0,3090,3104,3105,2631,2645,2646,42,2610,2622,2608,0,3092,3104,3090,2633,2645,2631,42,2610,2621,2622,0,3092,3103,3104,2633,2644,2645,42,2613,2621,2610,0,3095,3103,3092,2636,2644,2633,42,2615,2621,2613,0,3097,3103,3095,2638,2644,2636,42,2729,2621,2615,0,3238,3103,3097,2752,2644,2638,42,2620,2621,2729,0,3102,3103,3238,2643,2644,2752,42,2619,2620,2729,0,3101,3102,3238,2642,2643,2752,42,2619,2729,2618,0,3101,3238,3100,2642,2752,2641,42,2618,2729,2617,0,3100,3238,3099,2641,2752,2640,42,2617,2729,2615,0,3099,3238,3097,2640,2752,2638,42,2728,2628,2629,0,3237,3112,3113,2751,2651,2652,42,2597,2601,2595,0,3077,3081,3075,2620,2624,2618,42,2593,2727,2591,0,3073,3236,3071,2616,2750,2614,42,2591,2727,2671,0,3071,3236,3164,2614,2750,2694,42,2727,2695,2671,0,3236,3193,3164,2750,2718,2694,42,2671,2695,2674,0,3164,3193,3167,2694,2718,2697,42,2591,2671,2590,0,3071,3164,3070,2614,2694,2613,42,2590,2671,2650,0,3070,3164,3138,2613,2694,2673,42,2717,2721,2716,0,3218,3224,3217,2740,2744,2739,42,2723,2726,2722,0,3226,3231,3225,2746,2749,2745,42,2703,2706,2708,0,3203,3206,3208,2726,2729,2731,42,2694,2696,2692,0,3192,3194,3190,2717,2719,2715,42,2692,2634,2690,0,3188,3120,3186,2715,2657,2713,42,2635,2690,2634,0,3121,3186,3120,2658,2713,2657,42,2676,2693,2730,0,3169,3189,3239,2699,2716,2753,42,2693,2731,2730,0,3189,3240,3239,2716,2754,2753,42,2731,2693,2691,0,3240,3189,3191,2754,2716,2714,42,2731,2691,2732,0,3240,3191,3241,2754,2714,2755,42,2732,2691,2688,0,3242,3187,3183,2755,2714,2711,42,2732,2688,2687,0,3242,3183,3182,2755,2711,2710,42,2733,2732,2687,0,3243,3242,3182,2756,2755,2710,42,2734,2732,2733,0,3244,3241,3245,2757,2755,2756,42,2734,2731,2732,0,3244,3240,3241,2757,2754,2755,42,2731,2734,2735,0,3240,3244,3246,2754,2757,2758,42,2734,2736,2735,0,3244,3247,3246,2757,2759,2758,42,2734,2737,2736,0,3244,3248,3247,2757,2760,2759,42,2737,2734,2733,0,3248,3244,3245,2760,2757,2756,42,2737,2733,2684,0,3248,3245,3249,2760,2756,2707,42,2684,2733,2686,0,3179,3243,3181,2707,2756,2709,42,2733,2687,2686,0,3243,3182,3181,2756,2710,2709,42,2737,2684,2682,0,3248,3249,3250,2760,2707,2705,42,2736,2737,2682,0,3247,3248,3250,2759,2760,2705,42,2736,2682,2735,0,3247,3250,3246,2759,2705,2758,42,2682,2681,2735,0,3250,3251,3246,2705,2704,2758,42,2735,2681,2730,0,3246,3251,3239,2758,2704,2753,42,2730,2681,2677,0,3239,3251,3170,2753,2704,2700,42,2730,2677,2676,0,3239,3170,3169,2753,2700,2699,42,2731,2735,2730,0,3240,3246,3239,2754,2758,2753,42,2673,2635,2672,0,3185,3121,3252,2696,2658,2695,42,2670,2672,2668,0,3163,3165,3161,2693,2695,2691,42,2668,2635,2666,0,3159,3121,3157,2691,2658,2689,42,2636,2666,2635,0,3122,3157,3121,2659,2689,2658,42,2680,2683,2685,0,3175,3178,3180,2703,2706,2708,42,2652,2669,2738,0,3140,3160,3253,2675,2692,2761,42,2669,2739,2738,0,3160,3254,3253,2692,2762,2761,42,2739,2669,2667,0,3254,3160,3162,2762,2692,2690,42,2739,2667,2740,0,3254,3162,3255,2762,2690,2763,42,2740,2667,2664,0,3256,3158,3154,2763,2690,2687,42,2740,2664,2663,0,3256,3154,3153,2763,2687,2686,42,2741,2740,2663,0,3257,3256,3153,2764,2763,2686,42,2742,2740,2741,0,3258,3255,3259,2765,2763,2764,42,2742,2739,2740,0,3258,3254,3255,2765,2762,2763,42,2739,2742,2743,0,3254,3258,3260,2762,2765,2766,42,2742,2744,2743,0,3258,3261,3260,2765,2767,2766,42,2742,2745,2744,0,3258,3262,3261,2765,2768,2767,42,2745,2742,2741,0,3262,3258,3259,2768,2765,2764,42,2745,2741,2660,0,3262,3259,3263,2768,2764,2683,42,2660,2741,2662,0,3150,3257,3152,2683,2764,2685,42,2741,2663,2662,0,3257,3153,3152,2764,2686,2685,42,2745,2660,2658,0,3262,3263,3264,2768,2683,2681,42,2744,2745,2658,0,3261,3262,3264,2767,2768,2681,42,2743,2744,2658,0,3260,3261,3264,2766,2767,2681,42,2658,2657,2743,0,3264,3265,3260,2681,2680,2766,42,2743,2657,2738,0,3260,3265,3253,2766,2680,2761,42,2738,2657,2653,0,3253,3265,3141,2761,2680,2676,42,2738,2653,2652,0,3253,3141,3140,2761,2676,2675,42,2739,2743,2738,0,3254,3260,3253,2762,2766,2761,42,2649,2636,2648,0,3156,3122,3266,2672,2659,2671,42,2646,2648,2636,0,3267,3266,3122,2669,2671,2659,42,2647,2648,2646,0,3135,3136,3134,2670,2671,2669,42,2646,2636,2637,0,3267,3122,3123,2669,2659,2660,42,2645,2646,2637,0,3268,3267,3123,2668,2669,2660,42,2645,2637,2638,0,3268,3123,3124,2668,2660,2661,42,2642,2645,2638,0,3129,3268,3124,2665,2668,2661,42,2643,2645,2642,0,3131,3133,3130,2666,2668,2665,42,2642,2638,2639,0,3129,3124,3125,2665,2661,2662,42,2661,2656,2659,0,3151,3146,3149,2684,2679,2682,42,2588,2590,2587,0,3068,3070,3067,2611,2613,2610,42,2586,2644,2585,0,3066,3132,3065,2609,2667,2608,42,2538,2539,2541,0,3011,3012,3014,2561,2562,2564,42,2692,2696,2634,4,3269,3270,3271,2715,2719,2657,42,2668,2672,2635,4,3272,3273,3274,2691,2695,2658] } ================================================ FILE: examples/models/male02/male02.mtl ================================================ # Material Count: 5 newmtl _01_-_Default1noCulli__01_-_Default1noCulli Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd 01_-_Default1noCulling.JPG newmtl FrontColorNoCullingID_male-02-1noCulling.JP Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.800000 0.800000 0.800000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd male-02-1noCulling.JPG newmtl male-02-1noCullingID_male-02-1noCulling.JP Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd male-02-1noCulling.JPG newmtl orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.640000 0.640000 0.640000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd orig_02_-_Defaul1noCulling.JPG newmtl FrontColorNoCullingID_orig_02_-_Defaul1noCu Ns 154.901961 Ka 0.000000 0.000000 0.000000 Kd 0.800000 0.800000 0.800000 Ks 0.165000 0.165000 0.165000 Ni 1.000000 d 1.000000 illum 2 map_Kd orig_02_-_Defaul1noCulling.JPG ================================================ FILE: examples/models/male02/male02.obj ================================================ # Blender v2.54 (sub 0) OBJ File: '' # www.blender.org mtllib male02.mtl o mesh1.002_mesh1-geometry v 4.649472 159.854965 5.793066 v 1.662002 157.904083 5.834653 v 1.600978 157.673813 6.226475 v 4.363278 159.890976 5.326734 v 6.608557 161.854065 3.049800 v 3.466243 161.077850 5.782724 v 5.649033 163.753754 5.049810 v 6.906231 162.829758 -0.187148 v 7.238166 164.680359 1.732683 v 5.584624 163.417984 -3.092680 v 5.789997 163.667801 -3.096897 v 3.269245 163.503494 -4.594658 v 3.394374 163.842010 -4.947471 v 6.822815 160.621841 -4.446563 v 7.079769 163.082047 -0.100348 v 6.940348 161.997635 3.059531 v 6.520535 157.196869 6.233152 v 4.032762 153.060410 10.152127 v -0.738178 156.034775 6.615305 v -0.488457 156.462387 5.917762 v -0.391342 157.963257 5.611122 v -2.106775 157.867722 4.463144 v -1.228902 159.266144 4.969418 v -2.240621 159.979706 3.343578 v -3.883278 159.811401 2.325699 v -3.761207 161.138031 0.969119 v -3.883487 160.977798 2.369467 v -3.396014 160.371918 3.975860 v -3.085714 160.094788 4.971333 v -2.274866 159.809525 5.756587 v 0.671611 159.955429 5.283175 v -1.311007 160.067978 6.356381 v -0.264757 160.324524 6.419621 v 1.423342 160.897537 6.511130 v 0.174956 161.149017 8.492281 v 3.137444 162.095215 6.826398 v 1.580328 162.260345 8.720961 v 4.232831 163.397293 7.017303 v 5.411410 165.552292 6.707873 v 5.941846 166.096420 5.693473 v 7.698439 166.877945 2.578879 v 7.736173 167.312256 0.167189 v 9.004306 171.553482 -2.576243 v 9.674952 170.939377 1.542800 v 9.193996 175.367065 -2.382607 v 6.826259 171.866287 -5.666442 v 6.631321 175.908707 -5.338691 v 3.131651 175.458786 -7.113905 v 3.294047 171.639862 -7.032760 v 3.663478 167.804321 -5.124862 v 5.541586 167.793304 -4.099828 v 6.991788 167.753967 -2.527314 v 6.603789 165.229568 -1.870128 v 5.309627 165.354385 -3.849870 v 3.072674 165.283020 -4.625954 v 0.531947 163.369217 -4.931417 v 0.373095 163.615570 -5.068183 v -2.337601 162.740601 -3.551106 v -2.530603 162.989319 -3.597694 v 0.501248 160.560867 -6.747069 v 3.902342 160.528946 -6.255511 v 7.183012 160.979050 -4.984339 v 4.114253 160.884720 -6.847251 v 8.871805 157.296555 -6.602290 v 11.908689 157.880737 -2.676024 v 8.977464 160.762634 -1.866835 v 8.489389 160.492981 -1.682754 v 7.837028 159.870148 1.955769 v 8.134795 160.100281 2.295684 v 10.610469 155.845703 8.072849 v 11.449694 158.366272 3.103761 v 11.636851 157.758804 3.195474 v 16.828262 155.763718 4.570674 v 18.358437 155.022354 -0.438701 v 11.968946 157.259628 -3.052958 v 15.559920 152.100555 -5.465731 v 17.752758 151.851746 -4.391552 v 22.155792 153.221436 0.918617 v 20.259775 150.475632 -2.792062 v 25.005072 151.288696 2.308913 v 21.320932 153.709274 5.653195 v 14.951803 154.613739 8.895734 v 10.350957 151.695282 12.007047 v 9.897684 146.136917 14.951768 v 3.281380 145.767349 14.389509 v -2.759207 146.090164 12.432467 v -1.502320 152.778275 8.801401 v -6.614850 152.957657 6.277314 v -2.307918 157.636078 4.803972 v -6.072287 157.075394 1.650451 v -4.401570 159.767639 2.499267 v -4.436065 161.887878 -1.080502 v -4.377309 159.752289 -2.489196 v -4.827758 159.975266 -2.421568 v -2.549276 160.386490 -5.699876 v -2.809415 160.648911 -6.156242 v 0.564872 160.915207 -7.392771 v -4.527121 157.760681 -8.588340 v 0.373832 157.214539 -9.694819 v 4.745620 157.253708 -8.485953 v 8.965010 156.889297 -6.740156 v 9.746875 152.400604 -8.129445 v 16.361917 145.590210 -5.968112 v 18.001280 145.659195 -4.977849 v 19.029322 145.498657 -3.928282 v 19.815390 145.048218 -2.275515 v 22.116743 148.913361 -0.810049 v 25.669662 148.026840 2.204447 v 25.900208 148.533615 6.315758 v 25.081768 151.470795 6.491819 v 19.515141 152.899582 9.433100 v 12.641019 151.436386 12.306793 v 12.014204 146.401520 14.560165 v 11.466537 141.072662 15.246183 v 9.585091 140.291382 16.551079 v 2.951553 139.937775 16.440334 v -3.426638 140.077087 14.425870 v -8.638289 145.652359 10.051780 v -13.192952 146.297302 5.825720 v -12.460855 151.346786 4.022535 v -10.339564 155.577713 0.623777 v -7.911208 158.096466 -3.793482 v -8.100825 157.484009 -3.833099 v -4.326567 157.139633 -8.913846 v -10.008295 155.862717 -9.458926 v -5.699710 151.813477 -12.733803 v 0.397979 156.806656 -9.857817 v 4.829595 156.713593 -8.702394 v 5.265057 152.368103 -9.783830 v 10.829158 145.249573 -8.492122 v 16.054150 140.324860 -4.437304 v 17.460732 140.733276 -2.840980 v 18.233747 142.026840 -1.373372 v 19.512470 142.138336 -0.035135 v 19.998344 146.618866 -1.277897 v 22.869740 147.564331 -0.649779 v 25.771870 145.662598 2.145746 v 26.354897 145.705658 6.124487 v 24.191675 145.255524 9.359864 v 23.367132 148.401321 9.722461 v 22.446440 150.885681 9.854981 v 18.750437 149.459229 11.702381 v 16.614782 150.887054 12.290878 v 14.348170 146.677917 13.779427 v 13.451496 141.420914 14.097109 v 13.341617 140.119202 14.312266 v 11.537154 139.520111 15.546076 v 9.567074 139.176025 16.626099 v 2.897593 138.674774 16.646610 v -3.531466 138.645660 14.751863 v -9.604338 139.816650 11.871074 v -14.755976 140.056839 7.725889 v -9.305899 139.812103 11.051111 v -15.613759 140.420807 5.536672 v -15.597602 139.258591 5.697345 v -16.423658 139.575470 3.574057 v -16.244028 135.323715 4.662390 v -17.000664 135.594955 2.749535 v -16.802223 127.598732 5.411883 v -15.699236 135.903748 -3.293094 v -16.056416 127.560974 0.047543 v -12.815212 135.671417 -8.875793 v -13.317531 127.535820 -5.424366 v -11.463568 127.538231 -6.689985 v -10.857416 135.508804 -9.573948 v -10.621736 139.740570 -11.366023 v -8.549648 139.467529 -11.791920 v -8.523907 140.545792 -12.142858 v -6.426078 140.160294 -12.474717 v -6.283586 145.555389 -13.625497 v 0.081304 145.160629 -12.306752 v 0.628935 152.324081 -11.381757 v 5.577052 145.212494 -10.451515 v 10.435836 139.881729 -7.868828 v 16.041271 139.411774 -4.017454 v 17.302526 139.677063 -2.482034 v 18.592514 139.944016 -0.911846 v 19.864161 140.161530 0.560429 v 18.170294 140.935806 6.566799 v 19.981819 142.886414 0.617801 v 19.558125 144.240173 -2.003280 v 15.905472 143.103638 -0.827424 v 20.437838 141.564423 -2.297455 v 23.827606 142.618958 -1.371421 v 23.342785 145.145630 -1.013466 v 26.261211 143.240280 1.805052 v 26.383968 144.964020 6.033945 v 24.460531 142.396713 8.953703 v 21.046871 141.277130 10.418730 v 20.641155 144.023453 10.864476 v 19.970816 147.046204 11.450656 v 16.977470 145.171280 10.705132 v 15.785122 146.367020 12.998548 v 15.637086 141.546341 13.128377 v 15.404267 140.301056 13.303158 v 14.894350 135.897339 13.693145 v 13.160339 135.602020 14.697047 v 11.448811 135.306808 15.686269 v 9.806707 135.011658 16.632994 v 3.415546 134.348099 17.150942 v -3.192292 134.171097 15.939249 v -9.463440 134.257584 13.161318 v -9.674059 138.553497 12.071612 v -14.765273 138.941772 7.831411 v -15.477912 135.052689 6.595465 v -15.861449 127.618156 7.055291 v -15.994061 118.369102 7.836857 v -16.153809 118.346336 2.496993 v -14.297902 118.312775 -3.183221 v -12.630476 118.297943 -4.804330 v -10.963052 118.283119 -6.425441 v -9.609603 127.540657 -7.955603 v -9.295626 118.268272 -8.046551 v -7.755638 127.543037 -9.221220 v -1.238948 127.590263 -8.810342 v -2.592414 118.235626 -8.431435 v 3.663772 127.628899 -8.113521 v 2.390470 118.213463 -8.244828 v 7.198837 118.197052 -6.924370 v 8.258192 127.674614 -6.266083 v 13.476058 118.178581 -4.541546 v 14.250923 127.740105 -3.122545 v 15.188498 127.762688 -1.082306 v 16.507147 135.587204 -1.537308 v 15.541102 135.398300 -3.055457 v 9.758000 134.974686 -7.107168 v 4.315620 134.924301 -8.824050 v -0.456289 134.878693 -10.505471 v -6.692199 135.184113 -11.107017 v 0.219878 138.855743 -11.369954 v 5.302536 138.852051 -9.528598 v 5.366557 139.727356 -9.727717 v 10.378969 138.953766 -7.672922 v 17.721376 135.782104 0.529933 v 18.793436 135.964691 2.275212 v 18.339851 139.981537 6.989245 v 16.482372 142.908829 9.947306 v 15.157075 143.849152 4.275788 v 13.938186 142.276337 2.875864 v 13.796805 142.183029 7.214377 v 15.176003 139.542053 2.796405 v 15.004939 139.396011 6.766051 v 16.767601 135.205460 2.617966 v 16.644606 134.957565 6.284468 v 18.692663 128.665710 2.112558 v 18.804144 128.470566 5.809090 v 20.619713 124.272057 -0.021708 v 20.317596 123.969772 4.896559 v 21.363358 120.677971 0.423887 v 23.554688 122.209007 -3.143295 v 24.160868 120.223320 -3.178278 v 24.559280 118.107773 -2.795470 v 27.934765 117.581291 -3.177812 v 27.544399 120.202141 -3.868780 v 26.826931 122.645218 -4.135824 v 30.432003 120.672195 -2.353134 v 29.799242 123.190041 -2.837935 v 31.720692 121.453934 0.789725 v 31.336308 123.635353 0.254629 v 28.934153 125.544937 -2.939281 v 30.687838 126.005669 0.059181 v 26.881989 130.888428 -2.515787 v 23.768469 130.200027 -3.369110 v 25.877180 124.925270 -4.018944 v 22.684690 124.383369 -2.767377 v 20.700264 129.379700 -1.842713 v 18.493361 135.840225 -1.153700 v 16.997524 140.319946 -0.980730 v 21.951525 136.761444 -2.830909 v 25.292065 137.500214 -1.917682 v 27.441467 137.819122 1.292510 v 27.323904 137.540039 5.503819 v 25.592730 136.936462 8.730681 v 22.222595 136.034744 10.431960 v 18.882055 135.295944 9.518732 v 17.540092 140.265259 9.761596 v 16.671246 142.994843 9.942330 v 20.773726 128.764114 8.716192 v 22.212852 124.332771 7.845097 v 20.342545 122.016418 2.653145 v 21.397202 122.958878 5.879892 v 20.657064 117.833298 4.047078 v 21.715126 116.743233 0.680830 v 24.653074 115.786949 -1.949447 v 27.989632 115.513618 -2.300211 v 30.705835 115.896805 -0.620901 v 30.745518 118.002640 -1.546847 v 31.764238 116.790138 2.447078 v 31.917850 119.210876 1.474406 v 30.973164 122.439407 4.620109 v 30.246365 126.036598 4.181868 v 28.851538 131.181976 0.391309 v 28.768202 130.893433 4.873965 v 26.955420 130.272827 8.043112 v 23.887243 129.452530 9.569515 v 25.319103 124.997078 8.793164 v 24.202822 123.354675 7.614490 v 21.715416 118.726631 7.115022 v 20.890305 113.150444 5.749089 v 22.088673 112.001411 2.214092 v 22.527176 106.146553 4.515820 v 25.109823 105.323509 2.260731 v 24.871675 111.111595 -0.225448 v 28.235577 105.030624 1.812679 v 28.102211 110.858818 -0.526519 v 30.754578 111.232986 1.113313 v 31.815691 112.091187 4.067702 v 30.671940 113.212242 7.520716 v 30.504992 117.983223 6.115230 v 27.768229 118.836479 8.443604 v 27.687719 123.052605 7.194352 v 24.431660 119.109810 8.794361 v 21.951406 114.008636 8.703467 v 21.474094 107.185356 7.716565 v 22.644394 101.133011 6.304855 v 25.240175 100.283554 3.966198 v 25.482267 95.637741 5.165921 v 28.477364 94.782722 5.001706 v 28.313711 99.965843 3.429198 v 30.691038 100.301201 4.898983 v 30.710472 105.379753 3.342792 v 31.464067 101.161568 7.814132 v 31.589199 106.237549 6.266620 v 30.536119 107.276367 9.467364 v 27.953470 108.099403 11.722453 v 27.834309 114.130035 10.042230 v 24.827734 108.392296 12.170515 v 24.603771 114.382797 10.343301 v 22.352837 108.043159 10.640403 v 21.517900 102.189728 9.551901 v 22.743484 97.023468 7.165522 v 26.000484 96.822395 6.286420 v 24.003380 97.837242 7.757880 v 25.766850 94.990944 6.675523 v 28.099072 94.293007 6.449197 v 28.171295 96.196220 6.147556 v 29.686644 96.197868 7.394339 v 29.680281 94.294754 7.750160 v 29.906546 94.995506 10.081528 v 29.967756 96.826759 9.550564 v 30.584780 94.785034 6.735625 v 30.999468 95.643799 9.705302 v 29.563124 97.030975 12.776506 v 30.337561 102.218269 11.061173 v 27.741793 103.067741 13.399832 v 24.668266 103.385452 13.936845 v 22.290939 103.050087 12.467059 v 21.307127 98.410652 10.236713 v 22.942867 98.853119 9.999942 v 23.574476 96.121948 8.342729 v 26.011106 96.256065 10.275638 v 22.359337 97.254028 10.813976 v 22.585598 97.954781 13.145344 v 24.166817 97.956520 14.446320 v 26.499077 97.258591 14.220020 v 26.910135 98.857475 13.264086 v 24.739285 99.483665 13.402907 v 23.223969 99.481995 12.156157 v 23.829248 99.271744 14.940318 v 26.824331 98.416733 14.776092 v 21.721838 99.269417 13.206415 v 28.907207 97.842636 11.792596 v 28.691427 96.127579 12.552794 v 28.449747 125.708939 7.378595 v 17.525860 136.221634 8.464445 v 14.468414 127.878777 14.084682 v 12.815034 127.875008 15.009171 v 11.161652 127.871223 15.933661 v 9.508270 127.867455 16.858150 v 3.108867 127.830269 17.611391 v -3.041794 127.783226 16.912453 v -8.718052 127.725258 14.442986 v -14.682373 134.782257 8.581291 v -13.979907 127.657082 10.342106 v -8.366097 127.717171 13.129449 v -14.920680 127.637627 8.698698 v -14.981936 118.370659 9.252932 v -14.802432 113.608925 10.499703 v -15.986743 113.628998 9.118726 v -16.743973 113.634224 3.770438 v -14.994713 113.590843 -2.220824 v -13.512955 113.559952 -3.873364 v -14.104607 110.932281 -3.340832 v -12.732811 110.887703 -5.124052 v -15.240512 104.413826 -3.346132 v -13.910125 104.142670 -5.019384 v -11.361011 110.843094 -6.907270 v -12.540332 103.887779 -6.709754 v -4.204332 110.612808 -7.891820 v -3.550832 113.364281 -7.904236 v 1.525718 113.267845 -8.036426 v 6.502177 113.175301 -7.024501 v 13.268417 113.050392 -5.094151 v 14.578828 118.182503 -2.494049 v 16.126074 127.785286 0.957932 v 17.063648 127.807877 2.998172 v 16.592785 127.853371 9.100898 v 15.088210 118.246689 12.621021 v 13.697111 118.257713 13.667194 v 12.306007 118.268730 14.713366 v 10.914904 118.279747 15.759533 v 4.278399 118.318802 17.668390 v -1.617691 118.346581 17.796513 v -7.202355 118.364021 15.901284 v -12.957686 118.373779 12.085079 v -6.962161 118.356056 14.340718 v -13.969814 118.372231 10.669007 v -13.618121 113.588837 11.880677 v -14.686402 110.955040 11.298864 v -15.977977 110.996155 9.952903 v -17.111496 111.031128 4.629352 v -15.476403 110.976875 -1.557612 v -16.593603 104.690422 -1.682134 v -16.915615 101.377121 -1.804740 v -15.627249 100.866959 -3.437808 v -17.024218 97.622063 -2.503352 v -15.477369 96.642311 -4.039944 v -14.365385 100.368469 -5.090454 v -13.961461 95.655281 -5.567815 v -13.053378 99.897491 -6.780736 v -12.438584 94.684441 -7.119666 v -14.230751 91.370003 -6.325580 v -12.739477 90.576897 -7.542810 v -5.447390 92.787849 -8.729818 v -5.714090 98.147102 -8.803486 v -0.224950 97.896584 -9.163513 v 0.011502 102.540138 -8.861650 v 5.256374 97.637283 -8.803216 v 5.470701 102.288147 -8.500066 v 0.916260 110.448158 -8.243977 v 5.986797 110.285385 -7.447496 v 13.030695 110.059433 -5.843819 v 14.440713 113.031395 -3.209355 v 15.681599 118.186424 -0.446552 v 16.784369 118.190346 1.600945 v 16.846298 118.216362 7.576354 v 15.793279 113.031578 11.899786 v 14.387174 113.060188 13.054075 v 12.981069 113.088814 14.208364 v 11.574964 113.117424 15.362656 v 5.189061 113.242241 17.593004 v -0.759568 113.355804 18.085911 v -6.532220 113.462593 16.567280 v -12.433812 113.568771 13.261656 v -13.394831 110.913879 12.644828 v -15.249251 104.471657 12.001419 v -16.737616 104.745949 10.606500 v -17.948006 104.905823 4.764266 v -18.270679 101.891777 4.134608 v -19.070816 98.520706 2.751322 v -20.555876 93.459251 1.822612 v -17.567404 93.022499 -4.018213 v -21.893379 87.958557 1.482874 v -18.876955 87.570641 -4.409697 v -21.020267 78.402405 -4.945928 v -24.033262 78.771538 0.958060 v -24.131506 78.514229 6.748145 v -21.971102 87.690216 7.302462 v -22.869276 78.151909 8.604800 v -20.598404 87.285629 9.225051 v -21.607050 77.789589 10.461456 v -19.309267 86.931839 11.064619 v -20.344822 77.427277 12.318112 v -17.976336 86.572098 12.916518 v -11.297489 85.206909 16.953341 v -13.119234 75.931358 16.528761 v 2.418499 83.538673 17.825539 v 3.291192 74.239716 17.340813 v 11.766529 74.508369 15.627456 v 9.926974 83.750618 16.411219 v 2.086611 87.105698 18.047447 v -10.539260 89.026939 17.154049 v -16.790283 91.102226 13.226484 v -18.088938 91.778915 11.396071 v -14.721732 95.336227 13.914465 v -9.611225 92.759697 17.396389 v -0.464399 92.684814 18.038401 v 8.293064 91.365593 17.164047 v 9.174792 87.569115 16.761150 v 16.957230 85.226860 12.896898 v 19.553532 76.146698 11.898993 v 18.449188 85.706299 11.189483 v 15.696481 89.725807 13.382185 v 17.140699 90.509621 11.709073 v 19.893534 86.184082 9.495900 v 18.710184 91.395164 9.945885 v 21.451519 86.732536 7.731912 v 20.033386 92.200943 8.292947 v 20.454697 92.838890 2.529788 v 18.773497 97.643181 3.488898 v 16.791204 96.532158 -2.253208 v 16.767752 99.880920 -1.731886 v 15.435496 99.458992 -3.400679 v 15.361988 103.027008 -3.312632 v 13.998912 102.873283 -4.999372 v 14.242180 110.021042 -3.947971 v 15.613013 113.012405 -1.324561 v 16.785309 112.993401 0.560235 v 17.467670 112.991058 6.764287 v 16.163568 109.963493 11.354239 v 14.759822 110.008972 12.582689 v 13.356069 110.054405 13.811139 v 11.952315 110.099838 15.039587 v 5.728892 110.300575 17.483189 v -0.237173 110.492531 18.226076 v -6.115992 110.681145 16.966766 v -12.103257 110.872742 13.990790 v -13.727245 104.172951 13.433613 v -15.784281 100.975563 11.765977 v -17.204666 101.471565 10.328866 v -18.786827 98.204460 8.700180 v -20.664091 93.203491 7.629589 v -19.491190 92.529198 9.446715 v -16.187418 96.297333 12.160289 v -12.686414 99.903069 14.781307 v -6.267694 98.170990 17.462450 v -0.224700 97.896584 18.145847 v 5.806874 97.607407 17.462473 v 12.299645 98.717346 14.810927 v 12.154482 102.734238 14.899207 v 6.112185 102.255646 17.503616 v -0.026173 102.541580 18.171320 v -6.160598 102.818031 17.490656 v -12.153255 103.878616 14.866297 v -14.248204 100.421555 13.299453 v -17.593121 97.298019 10.351051 v 13.702599 102.888885 13.505971 v 13.871916 99.101219 13.368109 v 15.240658 94.982918 12.519041 v 13.681128 94.000755 14.130342 v 16.750168 96.044937 10.878715 v 15.415341 99.551239 11.904341 v 15.231107 103.071770 12.101836 v 16.757832 103.231133 10.709270 v 16.901585 99.956177 10.482260 v 18.071228 97.006378 9.346217 v 18.020887 100.552361 4.506469 v 16.726040 103.189606 -1.634891 v 15.453664 109.982635 -2.052123 v 16.665142 109.944176 -0.156274 v 17.755863 109.910896 6.149532 v 17.989183 103.360771 4.935433 v 12.599860 102.741402 -6.695926 v 12.728104 98.705070 -6.780656 v 14.100864 99.060127 -5.082645 v 15.244360 95.651611 -3.879036 v 17.963924 92.704758 -3.595776 v 21.909506 87.386490 1.959525 v 23.816769 77.641014 6.786575 v 22.395687 77.142906 8.490713 v 20.974611 76.644798 10.194852 v 24.246410 78.279526 1.041256 v 21.795179 78.268578 -5.128253 v 19.430052 87.341209 -4.200752 v 20.018717 77.979874 -6.582596 v 17.547279 86.910744 -5.541605 v 18.242250 77.691162 -8.036943 v 15.749234 86.592575 -6.968532 v 16.465788 77.402458 -9.491287 v 13.925380 86.248451 -8.373507 v 5.605986 84.792557 -9.573101 v 7.136113 75.545059 -10.309937 v -0.809498 85.041130 -9.718755 v -0.642082 88.664307 -9.604506 v 5.064899 88.631340 -9.254803 v -0.459712 92.684555 -9.369256 v 4.960483 92.363182 -8.943845 v 12.160459 93.873634 -7.124958 v 13.704902 94.748589 -5.494917 v 16.230421 91.812454 -4.939406 v 14.506252 90.950523 -6.304307 v 12.773890 90.057777 -7.650190 v -5.789091 89.046318 -8.999622 v -5.882986 85.085388 -8.978189 v -7.174840 75.721046 -9.269491 v -1.234825 75.597687 -9.833009 v -15.299918 77.346146 -8.734137 v -13.295485 86.424942 -8.061192 v -15.126253 86.788582 -6.814213 v -17.206703 77.698227 -7.471400 v -19.113483 78.050323 -6.208664 v -16.989679 87.146652 -5.561334 v -15.864202 92.178452 -5.142394 v -5.422924 102.783318 -8.526292 v -4.363776 113.141342 15.457201 v -9.161141 113.358971 13.684751 v -4.514559 109.817451 15.522047 v -9.640353 110.049980 13.732565 v -12.631920 113.516403 10.688079 v -13.119051 110.207809 10.735895 v -14.012547 113.579041 5.071187 v -14.499681 110.270416 5.071188 v -12.631918 113.516411 -0.494753 v -13.119048 110.207779 -0.879756 v -16.062969 104.109993 4.201808 v -14.212197 104.037018 -1.516487 v -16.532497 101.377480 3.844687 v -14.808963 100.721771 -1.637879 v -17.119747 98.564957 3.089355 v -15.187860 97.279869 -2.153241 v -17.700687 96.791145 2.010295 v -15.877234 94.691772 -3.346727 v -18.588305 93.190147 1.730948 v -16.272127 91.714813 -3.524055 v -19.941336 87.515472 1.457287 v -16.875511 87.083809 -3.759020 v -21.902416 78.473969 1.059498 v -18.545982 78.041397 -5.048082 v -23.310509 69.316704 0.519885 v -20.090370 68.915863 -5.635211 v -24.332289 61.858349 -0.267098 v -21.301041 61.501022 -6.478582 v -24.814411 57.989895 -0.970949 v -21.831425 57.637787 -7.073575 v -25.313265 54.353020 -1.677981 v -22.265230 53.983921 -7.719527 v -25.680981 50.239952 -2.723691 v -22.646618 50.624943 -8.378830 v -27.054876 41.884933 -4.097518 v -24.252626 41.548927 -9.721278 v -27.791088 32.593918 -4.876021 v -25.152803 32.280384 -10.229482 v -29.135004 25.461178 -5.549623 v -26.007769 26.793024 -10.837532 v -30.700377 19.699944 -6.152062 v -27.701918 20.534857 -11.233248 v -30.902267 13.737979 -7.051531 v -28.139591 12.362001 -12.239161 v -31.942837 8.020783 -7.994670 v -27.548307 5.876221 -13.780400 v -32.041035 6.784681 -7.955337 v -27.463247 4.785686 -13.809216 v -25.243813 11.222871 -6.418061 v -33.917400 7.681756 -1.431603 v -31.830156 8.308322 3.946064 v -28.784664 8.289076 5.764748 v -24.680763 7.620050 4.482825 v -28.655392 9.298162 5.591133 v -31.715099 9.317498 3.763962 v -33.817020 8.872999 -1.528845 v -32.090302 14.793136 -1.069249 v -29.668900 15.460433 3.261364 v -26.500614 14.039939 4.625926 v -24.590639 8.811358 4.379458 v -20.203484 6.709875 -0.886283 v -20.145098 7.946228 -0.949395 v -23.290253 12.644404 2.819509 v -19.986303 11.450438 -2.265651 v -20.987106 14.957050 2.921678 v -18.497795 14.452767 -2.576766 v -20.390150 20.542685 2.825998 v -17.668734 20.265261 -2.437226 v -17.661350 15.149574 -7.649373 v -17.178251 20.388206 -8.431999 v -14.824888 29.625216 -1.397947 v -14.580560 29.859800 -7.393564 v -19.116430 21.690737 -11.684649 v -17.310740 30.621704 -10.980178 v -22.037336 22.996592 -12.474249 v -19.391275 16.839899 -11.551017 v -19.613811 11.248459 -11.608360 v -23.446049 11.719286 -13.237035 v -21.892946 4.948390 -14.009021 v -17.975742 4.923635 -11.669774 v -18.583639 10.616117 -8.298045 v -16.861042 5.808681 -7.398263 v -16.900282 4.718933 -7.501311 v -18.166559 3.690897 -11.573592 v -21.991123 3.715066 -13.857514 v -21.390900 31.555883 -12.074646 v -15.961672 39.785198 -10.304172 v -12.628469 38.887501 -6.603193 v -11.260936 48.018116 -5.324714 v -14.492636 48.883801 -8.815610 v -19.906561 40.688404 -11.362354 v -18.606228 49.825645 -9.919049 v -13.662093 52.143559 -8.111143 v -10.711427 51.338612 -4.620317 v -10.172786 54.968468 -3.946242 v -12.738718 55.690254 -7.436462 v -18.013636 53.139877 -9.278407 v -17.272444 56.728294 -8.652598 v -12.099709 59.529251 -6.825039 v -9.489767 58.796761 -3.310306 v -7.873728 66.118782 -2.358199 v -10.852670 66.940056 -6.061932 v -16.691734 60.580627 -8.056812 v -15.632797 68.034492 -7.344161 v -9.083931 76.037094 -5.720168 v -5.713907 75.174812 -1.692716 v -3.527207 84.778885 -1.202638 v -6.786037 85.142715 -4.803019 v -13.984360 77.150490 -7.027109 v -12.339795 86.059464 -5.773754 v -6.276602 87.536743 -5.249259 v -3.055826 86.621063 -1.104358 v -2.783092 87.819054 -1.053825 v -5.980594 89.076912 -5.529183 v -0.676278 87.910461 -1.315908 v -0.714516 87.067520 3.756571 v 1.611547 87.607597 -1.289008 v 0.497379 86.360725 4.014831 v 1.905142 86.381058 -1.447131 v 1.001975 85.281197 4.183525 v 2.474661 84.486305 -1.724535 v 1.842953 83.685951 4.382596 v 6.046333 74.698624 -3.399614 v 5.931728 73.856773 3.456112 v 8.651642 65.696129 -4.565914 v 8.308817 64.965942 2.336635 v 10.467230 58.470932 -5.836022 v 10.189911 57.755730 1.062116 v 11.293968 54.701935 -6.658504 v 11.287086 52.336136 -0.010717 v 11.962323 51.131081 -7.515543 v 11.478705 49.262650 -0.802915 v 12.630664 47.870670 -8.379688 v 12.554915 46.492134 -2.100355 v 14.265114 38.860119 -10.114984 v 14.054849 38.227310 -3.858190 v 16.434978 29.926392 -11.304403 v 16.131514 29.298576 -5.339853 v 19.277966 20.573229 -12.709183 v 19.217758 20.059547 -6.715394 v 20.122116 15.110147 -12.932369 v 20.154984 14.278441 -7.153923 v 21.566000 11.328874 -7.178906 v 21.126348 10.699231 -13.423558 v 19.772890 5.672545 -13.157360 v 21.808502 4.861011 -17.090471 v 22.008204 3.632756 -16.960705 v 26.233715 3.780590 -18.363089 v 26.136364 5.012426 -18.526829 v 31.534071 4.993605 -17.127464 v 31.580551 6.085648 -17.076139 v 34.681145 7.051447 -10.413123 v 34.559452 8.284905 -10.467342 v 31.210730 12.728031 -15.745440 v 26.709370 12.054907 -17.507914 v 22.652847 11.468492 -16.519512 v 22.209265 17.101255 -16.183123 v 21.484261 22.109146 -15.676686 v 19.469688 30.953665 -14.565295 v 17.908400 40.037056 -13.424756 v 23.616629 32.002842 -15.213644 v 21.917856 41.051449 -14.051611 v 27.180260 32.644951 -12.984369 v 26.079529 41.849171 -11.962102 v 29.309938 32.632721 -7.400226 v 28.347240 41.843288 -6.092725 v 24.202702 50.798401 -10.188911 v 20.335068 50.058445 -12.145886 v 16.154140 49.000675 -11.492222 v 15.207018 52.197399 -10.658016 v 19.629780 53.316376 -11.349491 v 23.705223 54.102039 -9.351480 v 26.710903 50.073612 -4.313565 v 26.178707 54.104256 -3.042055 v 23.151768 57.700241 -8.513062 v 18.773252 56.847195 -10.563845 v 14.165320 55.681396 -9.843419 v 13.407579 59.464321 -9.046343 v 11.969720 66.794327 -7.923419 v 18.074764 60.645119 -9.776031 v 16.828083 68.023491 -8.682998 v 22.503271 61.509644 -7.720658 v 21.094185 68.838745 -6.514351 v 24.944632 61.488670 -1.244702 v 23.728048 68.867004 -0.074075 v 19.347242 77.888000 -5.482699 v 15.002519 77.079948 -7.929959 v 9.879564 75.815758 -7.101157 v 6.238918 84.699883 -5.303299 v 12.538063 85.668137 -6.136902 v 17.374660 86.787750 -3.767953 v 22.120632 77.952560 0.925068 v 19.973925 86.923927 1.724556 v 16.710516 91.404945 -3.293050 v 11.570992 88.160011 -6.050589 v 5.582752 87.079552 -5.596034 v 5.302277 88.620171 -5.825300 v 10.997614 89.708656 -5.973975 v 16.250364 94.359161 -2.960500 v 18.508728 92.554901 2.238737 v 17.519735 96.086601 2.643888 v 14.986343 96.336624 -1.943658 v 10.280379 93.188408 -6.991246 v 5.091094 91.591682 -7.513051 v -0.555643 90.569794 -4.887519 v -5.569135 92.025871 -7.255952 v -0.438382 93.154762 -7.546367 v 4.975255 96.989990 -7.605367 v 10.228589 97.701767 -6.518639 v 14.671453 99.489792 -1.500530 v 10.102407 102.202736 -5.797535 v 4.950098 101.769333 -7.166106 v -0.227182 97.812141 -7.605726 v -5.492239 97.475807 -7.606133 v -10.505162 93.849403 -6.894494 v -11.267994 90.333656 -5.805726 v -11.606802 88.663971 -5.799654 v -10.654156 98.673882 -6.518688 v -4.911944 102.212318 -7.205629 v -0.003969 101.994720 -7.189290 v 0.307572 109.598701 -4.786429 v 4.172276 109.423393 -4.786429 v 0.458355 112.922592 -4.274922 v 4.323060 112.747276 -4.274922 v 9.298482 109.190865 -4.897129 v 9.120833 112.529633 -4.274921 v 13.734194 108.989632 -0.879756 v 13.548629 112.328773 -0.494753 v 15.114824 108.927002 5.071188 v 14.929260 112.266151 5.071188 v 13.734198 108.989632 10.735894 v 13.548631 112.328781 10.688079 v 10.255498 109.147430 13.732565 v 10.077852 112.486214 13.684749 v 5.129704 109.379959 15.522047 v 5.280487 112.703850 15.457200 v 0.307572 109.598709 15.522047 v 0.458355 112.922592 15.457201 v -1.284061 118.335503 15.628898 v 4.518593 118.310814 16.107826 v 3.460823 127.822182 16.297850 v 3.723833 134.340866 16.245407 v 3.249990 139.933228 15.620371 v 3.579818 145.762817 13.569551 v -2.564291 146.087250 11.896932 v -8.339851 145.647827 9.231821 v -3.168404 140.073166 13.716371 v -2.829525 134.163742 14.809464 v -9.152256 134.254196 12.293344 v -2.578465 127.772575 15.183251 v -0.058240 101.996803 15.348846 v -4.992849 102.215485 15.334857 v -10.659122 103.265312 13.934096 v -14.713750 103.971870 10.099659 v -15.179127 101.153008 9.916493 v -16.258968 98.437241 9.025100 v -17.119123 96.323380 8.155849 v -18.347330 92.854393 7.649872 v -19.794964 87.196663 7.341154 v -21.646437 78.152824 6.605483 v -23.065395 69.022781 5.546893 v -24.231440 61.606342 4.535804 v -24.681587 58.801590 4.369627 v -25.085075 56.703987 4.258952 v -25.970783 51.539558 4.008332 v -26.092020 47.960857 2.191626 v -27.258247 41.656952 1.575834 v -28.105846 32.386520 0.870003 v -29.153328 26.736397 0.134204 v -30.812218 20.680784 -0.254970 v -26.601055 23.194956 3.962842 v -26.247499 18.050323 4.883663 v -23.578144 21.865740 4.779805 v -21.681383 30.778788 5.447577 v -25.761543 31.712969 4.353107 v -24.348619 40.848057 5.333836 v -20.403732 39.944847 6.392019 v -17.533602 29.965940 3.705919 v -15.634091 38.995525 4.693918 v -12.992643 38.665302 -0.325441 v -11.752955 47.051037 1.012386 v -10.832192 49.917740 2.217152 v -10.748602 53.038921 2.818634 v -9.815169 58.534557 3.626996 v -8.139584 65.843224 4.589358 v -5.974217 74.827103 5.332104 v -2.547879 84.171875 5.030331 v -1.888535 85.584923 4.552163 v -1.722489 86.556892 4.268160 v -0.680958 87.807289 9.561883 v -3.595441 87.653633 9.855235 v -0.555641 90.569817 13.944120 v -9.368273 91.165916 14.116604 v -0.322169 95.716576 14.898864 v -6.924603 96.163033 15.022003 v -12.630634 97.459885 13.306044 v -14.446730 94.668602 12.091393 v -15.442813 91.421280 11.849339 v -16.711218 86.345695 11.574375 v -18.755032 77.321945 10.904243 v -20.236679 68.199959 9.960257 v -21.191906 60.742344 8.857786 v -21.918119 56.352863 8.180220 v -22.401390 53.421356 7.645409 v -23.365623 49.257629 7.360046 v -23.653076 46.479702 6.039588 v -19.539480 45.537872 7.143022 v -14.706331 45.354027 5.245739 v -14.416979 48.894249 7.107544 v -13.719884 52.676762 7.321200 v -13.014219 56.024776 7.514749 v -12.420173 58.902069 7.704080 v -10.848753 66.225708 8.823905 v -8.762831 75.266861 9.994042 v -6.949177 84.369545 10.646333 v -5.170993 86.266533 10.293334 v -9.851855 88.818275 13.792099 v -10.979153 85.170662 13.284927 v -13.456410 76.133194 12.306269 v -15.456551 67.105522 11.242485 v -16.599880 59.690971 10.089558 v -17.312183 55.749542 9.530900 v -18.077272 51.413376 8.815052 v -19.014082 48.261318 8.527311 v -11.195665 100.448418 13.785435 v -5.428857 99.412300 15.133115 v -0.177766 99.024689 15.136345 v 5.057755 98.929955 15.144951 v 6.080218 95.303162 14.940265 v 8.232927 89.803101 13.707427 v 2.222636 87.252281 9.565615 v 4.164134 85.363861 9.593962 v 8.733191 87.496552 13.314637 v 6.191727 83.104103 9.535813 v 8.116199 74.068001 8.459771 v 10.456195 65.098473 6.848668 v 12.402771 57.881393 5.378499 v 13.060602 55.029598 5.058973 v 13.837970 51.709618 4.715091 v 14.616046 47.957382 4.322273 v 15.135422 44.551407 2.269777 v 16.218075 38.253860 1.395375 v 18.353771 29.330734 0.004594 v 21.439106 20.018167 -1.215530 v 22.119768 14.445312 -1.427177 v 24.037184 12.380482 -1.557602 v 21.524910 7.828876 -6.141377 v 19.863739 4.585306 -13.254262 v 21.602610 6.593881 -6.072558 v 27.448124 11.332376 -10.474638 v 24.786619 7.565680 0.141966 v 28.496212 8.328725 2.284252 v 28.379526 9.335822 2.091216 v 24.687891 8.755231 0.026782 v 26.920940 13.753672 0.802828 v 26.543686 17.744774 1.183745 v 24.411167 21.244007 1.107250 v 22.309595 30.072071 2.172557 v 20.794716 39.141060 3.586598 v 19.770033 44.662373 4.615170 v 19.073410 47.282398 6.118374 v 18.060596 50.398079 6.521690 v 17.159266 54.668785 7.443063 v 16.331654 58.556599 8.187553 v 14.961185 65.865685 9.707660 v 12.652423 74.800438 11.203405 v 9.923444 83.834099 12.646460 v 14.471968 90.104614 11.901203 v 13.432819 93.339882 12.258298 v 11.795149 96.242195 13.447913 v 10.796736 99.388336 13.842124 v 10.523271 102.265221 14.021268 v 4.864342 101.772438 15.364937 v 14.668585 102.651665 10.185750 v 14.874350 99.817680 10.018360 v 15.608590 97.207085 9.393929 v 16.292906 100.045715 4.038738 v 16.049286 102.730545 4.334019 v 14.346197 102.829346 -1.339486 v 16.753235 97.433739 3.452229 v 16.415741 95.211891 8.642554 v 17.730844 91.825890 8.075542 v 19.284908 86.214012 7.539190 v 15.818643 85.073830 11.433449 v 18.102364 76.117661 10.339893 v 19.819550 67.094849 8.948082 v 20.998840 59.737389 7.457866 v 21.858854 55.410549 6.567476 v 22.439053 52.526291 5.890893 v 23.496174 48.401360 5.426900 v 23.950954 45.720150 3.961506 v 24.804173 40.155453 2.959742 v 26.456539 31.121252 1.524206 v 27.473269 22.657394 0.662147 v 30.255527 15.268849 0.010249 v 31.759996 9.454091 0.969290 v 31.860979 8.446445 1.167539 v 35.077618 7.930150 -3.634018 v 34.967560 9.119304 -3.745442 v 33.352703 14.798560 -3.930981 v 32.096241 20.473934 -3.300868 v 32.543255 19.884001 -9.234031 v 30.831301 25.575283 -8.407207 v 28.180773 27.219500 -13.864923 v 30.010418 21.020144 -14.506618 v 33.123516 13.949685 -10.100903 v 24.442682 23.496302 -16.105579 v 30.305752 26.472015 -2.675533 v 29.099058 32.049301 -1.675367 v 28.032490 41.242912 -0.451742 v 26.707460 47.479137 0.460554 v 26.358952 50.928345 2.486338 v 25.555168 57.680744 -2.150080 v 25.366163 56.054890 2.987971 v 24.918554 58.136044 3.196483 v 24.407360 60.918560 3.501648 v 23.027267 68.238655 4.878843 v 21.361826 77.262619 6.390857 v -3.557132 109.773994 -4.786430 v -10.027311 103.114998 -5.858694 v -8.683336 110.006538 -4.897129 v -3.406350 113.097900 -4.274922 v -8.204123 113.315552 -4.274922 v -10.549438 113.498131 -7.178443 v -12.031198 113.529030 -5.525903 v 0.286414 139.783829 -11.562342 v -6.474258 139.194565 -12.211164 v -8.902658 135.346161 -10.270442 v -7.922139 151.292114 -13.141315 v -8.656327 145.581985 -14.096850 v -10.621732 140.931229 -11.810996 v -11.157555 142.087646 -11.323327 v -15.169711 139.761978 -5.320950 v -17.247032 139.892502 1.459662 v -16.468538 140.784851 3.353976 v -15.134230 146.184082 4.614671 v -14.432147 150.534668 2.624300 v -12.896749 154.223969 -0.389672 v -11.813804 155.889450 -4.547063 v -15.716800 154.404617 -9.584239 v -12.488200 150.878677 -13.168905 v -10.451757 146.186783 -14.339672 v -11.448958 143.161926 -11.813308 v -14.639687 140.773163 -5.761320 v -17.322807 141.148941 1.174588 v -16.072968 145.605362 2.657415 v -15.926299 149.772232 1.597551 v -15.995328 152.773834 -1.497710 v -18.451574 150.209732 -2.665621 v -16.936338 148.198380 0.278834 v -16.101147 145.007202 -1.391700 v -18.795122 146.756958 -3.404109 v -18.690916 152.217178 -5.702372 v -19.613728 148.305344 -7.146380 v -19.008186 144.325195 -4.625582 v -20.465666 144.656326 -7.929785 v -18.564182 140.569443 -6.032800 v -20.425526 142.346313 -8.884608 v -19.276388 135.568542 -8.448930 v -20.885679 137.125763 -11.226144 v -20.064123 129.571548 -11.638576 v -17.124449 128.516983 -10.424921 v -18.236193 124.870728 -13.290473 v -21.222364 125.304573 -13.887474 v -21.740732 131.086395 -14.300132 v -22.924040 126.809883 -16.940512 v -21.795866 125.701073 -16.534613 v -23.757143 124.104256 -18.398638 v -22.903206 128.039581 -20.614044 v -23.429380 125.718575 -21.506458 v -23.910517 123.322578 -21.687214 v -24.285189 120.917213 -20.753866 v -21.994982 122.606300 -23.948198 v -22.431736 119.197121 -22.646662 v -18.887377 122.145706 -24.715677 v -18.357178 125.643227 -24.696310 v -15.339843 124.949867 -23.604755 v -14.839157 127.533417 -22.766439 v -12.956281 126.184219 -19.601038 v -11.880474 130.680939 -16.981777 v -13.725375 132.533813 -20.311489 v -17.832191 128.383804 -23.941669 v -21.447102 125.936844 -23.894835 v -20.912430 128.577148 -23.119514 v -19.712069 133.713669 -20.696457 v -21.702473 132.861832 -18.141994 v -20.903622 138.836487 -14.908218 v -20.053844 143.955780 -12.764236 v -19.925385 146.246078 -11.852520 v -19.104277 149.159103 -11.038695 v -18.186779 152.700134 -9.778841 v -16.028313 154.418839 -5.401087 v -15.279111 150.268280 -13.517637 v -11.726213 146.019363 -14.789785 v -12.285069 145.591553 -14.802291 v -11.455322 144.965240 -12.261539 v -11.792189 143.418167 -7.971587 v -14.476195 143.264893 -1.894130 v -15.396235 144.090530 -0.492546 v -15.504067 145.083298 1.033518 v -11.620612 141.274963 -3.624127 v -8.443570 141.557785 -6.467235 v -9.113446 139.077667 -8.285270 v -11.757750 138.631058 -5.348123 v -15.288582 141.639771 -3.132534 v -15.248173 139.148117 -4.696101 v -16.038740 134.378571 -7.050795 v -14.077458 128.391693 -11.253597 v -15.155967 124.677391 -14.112625 v -15.474462 125.552963 -16.336082 v -18.602531 126.180817 -15.601875 v -18.791439 124.874435 -12.848219 v -21.938862 123.967545 -13.624157 v -24.015722 121.657448 -15.621446 v -24.329077 118.601448 -18.272129 v -22.544376 116.449043 -20.146070 v -19.334185 118.575386 -23.373705 v -15.774755 122.116707 -23.696493 v -13.700814 122.613708 -20.882242 v -13.179784 124.973862 -16.074776 v -12.087026 129.243530 -13.808069 v -10.520688 135.208496 -10.830178 v -10.556349 136.701019 -14.035365 v -12.147920 138.476440 -17.289461 v -16.665079 133.588379 -21.525133 v -15.471727 139.669968 -18.664165 v -10.768327 142.754364 -15.165388 v -9.116078 140.699768 -12.057584 v -8.384428 143.182220 -10.656863 v -9.773125 145.303238 -13.115635 v -14.126161 144.235046 -16.318542 v -18.740444 139.804382 -17.775190 v -17.518770 144.696686 -15.382508 v -16.603758 147.510345 -14.790949 v -16.334358 148.612747 -14.290703 v -13.308922 146.753296 -14.356651 v -12.770009 134.244156 -7.939775 v -13.606498 124.057320 -18.456789 v -13.958508 121.952248 -15.400769 v -15.743207 124.104652 -13.526826 v -16.218023 120.863205 -9.771025 v -19.194555 121.614906 -9.108294 v -22.251432 120.766411 -9.833842 v -24.378290 118.288734 -11.976319 v -24.632795 115.419823 -14.464874 v -22.873491 113.355026 -16.262749 v -19.496176 115.679260 -20.824665 v -19.896944 112.603317 -16.925476 v -16.348740 116.586151 -20.048729 v -16.840069 113.451820 -16.199930 v -14.151481 119.166405 -17.817451 v -14.745925 115.856140 -14.120971 v -14.458717 118.798409 -11.568891 v -15.326255 114.636879 -6.908083 v -16.901217 116.713074 -5.100970 v -19.678633 117.414497 -4.482579 v -22.597542 116.473190 -5.289130 v -24.543116 114.248741 -7.212532 v -24.772160 111.590782 -9.518110 v -23.197205 109.514587 -11.325228 v -20.419830 108.813179 -11.943608 v -17.500862 109.754471 -11.137077 v -15.555301 111.978920 -9.213666 v -15.954244 108.605354 -5.113702 v -15.665491 111.312874 -2.765313 v -17.135866 113.402618 -0.946815 v -19.803753 114.076370 -0.352808 v -22.650084 113.076790 -1.210188 v -24.587688 110.785675 -3.191459 v -24.876472 108.078140 -5.539830 v -23.406082 105.988411 -7.358336 v -20.738213 105.314667 -7.952346 v -17.891848 106.314240 -7.094972 v -17.617188 102.819954 -1.649484 v -15.984215 106.033218 -0.995275 v -15.961130 109.538635 0.068328 v -17.556734 111.997246 1.135064 v -20.161619 112.469963 1.797498 v -22.780727 110.776199 1.802587 v -24.413675 107.562927 1.148371 v -24.436731 104.057510 0.084746 v -22.841120 101.598892 -0.982008 v -20.236277 101.126190 -1.644415 v -22.386141 103.258919 -1.505342 v -23.526731 105.054382 -0.731220 v -23.499147 107.619591 0.044978 v -23.451496 107.141022 1.871042 v -23.523302 104.289726 1.016466 v -22.359732 102.308319 0.181111 v -20.513084 102.919014 -1.981668 v -20.405298 101.953651 -0.315887 v -20.121675 106.572762 0.883381 v -22.171797 109.773117 2.418455 v -22.313946 109.974716 0.526804 v -20.172876 111.180618 2.449569 v -20.423820 111.220200 0.530179 v -18.218420 110.825935 1.952542 v -18.550789 110.880295 0.053875 v -17.054859 108.844528 1.117204 v -17.126654 105.993233 0.262617 v -18.406368 103.361145 -0.284799 v -18.622969 104.164490 -1.978281 v -17.437754 106.519623 -1.496467 v -17.410192 109.084831 -0.720240 v -16.175682 119.289497 -22.657297 v -4.173226 161.750076 -0.873839 v -3.437090 163.891220 -2.041367 v -0.586899 164.798782 -4.374317 v 0.860472 167.416275 -5.198886 v -1.478318 167.016800 -4.583032 v -4.088677 166.248169 -2.134752 v -4.954387 165.709106 -1.382013 v -5.009133 163.537109 -0.195498 v -4.582647 162.211990 0.801328 v -5.498087 161.234863 4.064809 v -5.483699 160.238617 5.951284 v -5.342688 159.534714 7.512962 v -4.396662 159.433273 8.466735 v -3.239970 159.502899 9.154009 v -1.677446 160.181061 8.921835 v -1.162659 161.295898 9.602525 v -2.868908 160.526474 9.892479 v -2.358781 162.080231 10.327346 v -3.285553 161.537857 10.238132 v -2.821003 162.980209 10.478459 v -3.757885 162.588959 10.236213 v -3.805057 163.330048 10.780764 v -4.542873 163.187271 10.628786 v -4.606568 163.775986 10.462106 v -5.535329 163.660339 10.006703 v -4.597719 163.759979 9.977880 v -5.301692 163.622742 9.706755 v -5.498241 163.714310 9.960246 v -4.896528 163.873108 10.437851 v -3.706488 163.612152 10.331025 v -4.076719 163.736740 10.760042 v -3.373173 163.674500 10.668042 v -3.285171 163.901642 10.850708 v -3.901680 164.110855 10.937594 v -5.130281 164.326172 10.785661 v -5.867358 164.012558 10.438742 v -5.978024 164.558060 10.591012 v -6.376829 164.345016 9.812805 v -6.104573 163.891388 9.495045 v -5.732905 163.777161 9.091934 v -6.294453 163.651321 8.311274 v -6.618551 163.775192 8.776294 v -6.826253 164.155106 8.655140 v -6.895405 163.956253 8.033135 v -6.701097 163.724869 8.070795 v -6.961512 163.658386 7.313450 v -6.812683 163.626068 7.539379 v -6.664102 163.038345 7.479150 v -6.646468 162.145111 6.981063 v -6.345301 161.584137 7.850183 v -6.129959 160.575806 7.347423 v -6.248059 161.372818 5.633673 v -6.039979 162.375641 2.773765 v -5.898510 165.477264 -0.571200 v -5.824038 165.629898 -1.532769 v -6.152044 167.832443 -1.084957 v -7.381176 167.439362 1.598063 v -6.473725 164.303253 1.941148 v -7.393106 164.090881 4.388025 v -6.784505 162.630524 4.501485 v -7.183799 163.395218 6.162938 v -7.125834 163.660370 6.931920 v -7.264343 164.431259 7.427931 v -6.715477 165.003906 8.657825 v -6.165079 165.283569 9.860231 v -6.425492 164.777084 9.911065 v -5.723646 165.107559 10.275841 v -5.210061 165.269119 10.605566 v -5.885168 165.640884 10.493009 v -6.263289 165.850586 9.838525 v -6.603130 166.160172 8.855912 v -6.701038 166.736954 8.758343 v -6.787750 166.213165 9.525903 v -6.684366 166.101776 9.738687 v -6.537160 166.175385 10.339097 v -6.443703 165.895187 10.801285 v -6.272778 165.852524 10.993514 v -6.044022 165.889145 11.113212 v -5.154554 165.833817 10.703827 v -5.567692 166.160721 11.095708 v -6.058839 166.233978 11.860385 v -4.950856 166.075546 11.091588 v -4.717252 166.181839 11.141801 v -5.767832 166.499390 11.858060 v -6.499082 166.662506 12.075649 v -6.361106 166.144363 11.668932 v -6.977320 166.617661 11.910614 v -6.890893 167.250320 11.812147 v -7.252587 166.673904 11.487583 v -6.901169 166.152527 11.247445 v -6.689672 166.051361 11.531280 v -7.158547 166.250626 11.002129 v -7.221898 166.521393 10.723248 v -6.878415 166.960129 9.420182 v -6.503171 167.545944 9.747412 v -7.215488 167.099670 10.549761 v -7.256812 167.230713 11.252284 v -6.521703 167.843674 11.350783 v -6.789638 167.744049 10.820496 v -6.372567 168.723907 10.368290 v -6.414341 168.010269 9.344132 v -6.490502 167.671295 8.758307 v -7.575360 167.453751 6.411020 v -7.792018 165.744476 6.211139 v -7.510634 164.228409 6.168862 v -7.928697 166.090744 4.336383 v -7.683704 169.247986 2.489774 v -8.060548 167.767349 4.395259 v -7.843638 169.044754 5.133633 v -7.269145 168.606842 6.709624 v -6.220347 169.134430 7.660675 v -5.808087 169.772720 8.740017 v -5.953539 169.626495 9.842504 v -5.688157 169.759644 10.320262 v -6.095200 168.867050 10.824325 v -5.588170 168.712036 10.980466 v -5.944105 167.731262 11.480383 v -6.259335 167.215637 12.030755 v -5.590232 167.075073 11.818176 v -4.578693 166.925339 11.214978 v -3.983785 166.695847 10.878996 v -4.113003 166.122498 10.799306 v -3.915244 164.961548 10.843238 v -5.205711 164.758636 10.863030 v -2.599621 164.360687 11.068466 v -2.576488 163.592041 10.735702 v -2.832383 163.565872 10.645764 v -2.943472 163.577591 10.579494 v -2.972066 163.640472 10.418808 v -3.107589 163.605988 10.456468 v -3.855985 163.632294 10.509222 v -3.045608 163.495071 10.622074 v -2.166439 163.585327 10.802435 v -1.411291 163.307861 10.668039 v 0.089462 162.526535 9.866207 v 0.374523 163.973373 10.450192 v -1.322149 164.134796 10.998603 v -1.266503 165.645752 11.303912 v -1.480938 167.361557 11.167351 v -4.017303 167.633865 10.688491 v -4.597784 167.982788 10.761847 v -4.976200 167.522842 10.939121 v -5.162769 169.614532 10.459652 v -5.542810 170.423416 10.146937 v -5.945767 170.391113 9.671204 v -6.072116 170.354355 8.882036 v -5.875394 170.409424 8.313353 v -5.871873 169.877472 7.909170 v -6.295103 169.890625 7.374049 v -7.409274 169.164505 6.821891 v -7.458369 169.602737 6.686985 v -7.370320 169.675583 6.575751 v -6.064456 169.970993 7.217728 v -7.417247 170.532440 6.639974 v -7.935706 169.939682 5.337009 v -8.011439 169.761169 5.279985 v -8.063988 169.532074 5.248847 v -8.003642 169.862595 3.940338 v -7.423465 171.295319 1.049659 v -6.585318 171.329468 -0.385766 v -6.135538 170.393021 -1.397957 v -5.656524 168.114670 -2.865763 v -5.768250 166.298584 -2.593752 v -5.699372 167.514221 -3.750442 v -4.816138 167.624329 -3.815022 v -4.906840 166.300812 -2.503667 v -4.602607 169.776596 -3.168442 v -5.451994 171.617447 -2.897577 v -5.572677 171.118362 -2.040625 v -6.145767 171.143463 -2.402503 v -6.132565 171.480347 -3.566385 v -5.431254 171.541733 -3.413336 v -5.872583 170.849747 -4.735369 v -5.183898 170.844162 -4.628434 v -5.686158 169.017471 -4.936945 v -4.957386 168.983246 -4.748733 v -7.284447 175.274811 2.399433 v -8.507471 172.073502 4.344199 v -8.473030 171.247589 4.560701 v -8.115695 170.565002 3.687733 v -8.122340 170.487701 4.482671 v -8.104478 170.334000 4.990050 v -7.999949 170.613037 5.744652 v -7.569451 170.632233 6.820689 v -6.756514 170.565018 7.384728 v -6.584668 170.760635 7.451516 v -7.444902 170.978912 6.689479 v -7.986853 170.993240 5.726914 v -8.196742 171.679764 6.213902 v -7.417730 171.560165 7.351233 v -6.449411 170.935410 7.994983 v -5.905688 169.889938 7.675772 v -6.627238 171.176254 8.800421 v -6.364204 171.449631 9.830948 v -5.783220 171.485855 10.475358 v -4.984130 170.376572 10.421704 v -4.188530 170.325867 10.352063 v -4.125683 169.747269 10.053033 v -2.990487 169.085571 10.181387 v -1.823298 168.524460 10.959781 v -0.146739 168.928314 11.140601 v -0.195942 169.413040 11.389385 v -1.887781 169.080978 11.131085 v -0.234604 169.643524 11.349341 v -1.736776 169.516174 11.152348 v -1.648847 169.589020 11.041019 v -0.304951 169.824234 11.292357 v -1.683714 170.445694 11.114655 v -2.582875 169.918320 9.934894 v -2.680102 169.835938 10.195341 v -3.067293 169.847000 9.890970 v -2.565912 170.501617 10.655242 v -3.302168 169.838593 9.914671 v -2.668722 170.701385 10.507678 v -1.820257 170.545242 11.307591 v -0.672242 170.502167 11.463490 v -1.716668 170.892242 11.160023 v -3.225520 170.886627 10.511037 v -2.354392 171.483566 11.302866 v -3.959304 171.135895 10.882584 v -2.768224 171.970840 11.591115 v -4.948986 172.253479 10.792158 v -5.017785 171.429260 10.881747 v -5.680249 172.339020 10.359963 v -6.278524 172.273590 9.754533 v -7.587883 172.043762 7.829659 v -8.333568 172.449081 6.431175 v -7.964417 173.704666 5.858681 v -7.466657 175.663345 5.180467 v -6.068661 173.387466 9.426619 v -5.419997 173.390442 10.046968 v -5.034739 175.384415 9.592081 v -5.788547 175.454727 8.843654 v -5.416945 177.919266 7.332547 v -4.072011 177.903763 8.407772 v -4.124475 175.429535 10.142363 v -4.660870 173.366165 10.525315 v -0.733544 173.595276 11.501945 v -0.159562 175.552811 10.883220 v -2.702346 177.878189 9.451129 v -1.048989 180.380096 7.246170 v -2.419930 180.587692 6.343776 v 2.093838 181.599426 0.582469 v -3.631823 180.419174 5.230422 v -0.393590 181.084488 -0.965098 v 2.355464 179.218445 -5.026069 v -1.583798 178.159836 -4.960846 v 5.249752 179.689972 -3.496244 v 7.427116 179.141724 -1.067947 v 4.188925 181.015167 2.611282 v 1.840944 179.838974 7.374865 v 0.345628 177.927200 9.596433 v 2.487100 175.126968 10.025541 v 0.836935 171.932144 11.636950 v -1.222971 172.341507 11.980571 v -1.059780 171.571777 11.783875 v -0.651082 170.882263 11.452045 v 0.079990 170.210190 11.377538 v 0.579458 170.356049 11.273906 v 0.603053 171.110275 11.644041 v 3.755772 171.126190 9.774384 v 1.350539 170.421799 11.075562 v 1.065121 169.725403 11.017966 v 2.383329 169.095673 10.346490 v 0.598292 167.636353 11.152966 v 0.592010 165.961853 10.986284 v 2.529456 164.167038 8.967592 v 4.849408 165.314667 7.816908 v 3.141186 167.280167 9.810138 v 4.945766 171.155014 8.613555 v 6.301734 170.938721 7.226644 v 3.877049 177.105255 8.385373 v 4.947692 178.297974 6.776120 v 7.442924 176.102753 4.970164 v 8.647042 173.956482 4.095708 v 10.258606 175.074799 1.128360 v 8.299424 178.010315 2.752419 v 5.571980 179.627396 4.792706 v 8.994831 171.426620 3.454978 v 7.135505 169.599014 5.992452 v 7.113226 171.427353 6.908826 v 7.774262 167.433853 6.011033 v 7.607162 171.344467 6.762368 v 7.924594 171.267685 7.404388 v 8.983857 170.624985 6.859195 v 8.712972 170.633911 6.217243 v 9.099867 168.793762 6.602664 v 7.923761 167.308121 6.881601 v 7.066315 167.922180 7.063653 v 6.792292 170.947723 7.694879 v 5.801144 170.212433 7.917911 v 5.453485 167.656860 7.972465 v 5.767112 165.454529 7.513431 v 6.499188 166.128250 6.398057 v 6.795472 166.108505 7.211484 v 8.739869 168.776031 5.941156 v -0.538348 175.238144 -7.298018 v -0.876384 171.099014 -6.691886 v -2.557475 171.601395 -5.560908 v -3.047338 174.133408 -5.031058 v -3.563455 176.269287 -3.619658 v -4.669242 178.443466 -0.729322 v -5.993208 177.254578 0.682227 v -6.296253 178.027695 4.412841 v -4.467746 179.934418 2.451308 v -2.871446 179.755142 -1.796885 v -3.683478 170.376266 10.024012 v -6.086135 160.077545 8.436064 v -5.153275 159.976273 9.446231 v -3.945066 160.045166 10.107041 v -4.303662 161.131882 10.313823 v -5.339861 161.185196 9.708549 v -6.179410 161.160263 8.849912 v -5.915640 162.147690 8.837806 v -5.226265 162.298279 9.584568 v -4.337384 162.123810 10.069540 v -4.512469 162.490036 10.296731 v -5.423965 162.489838 9.841466 v -5.633204 163.116989 10.121556 v -6.388445 163.215179 9.188428 v -6.086730 162.513855 9.068114 v -6.209179 162.626022 8.323125 v -6.712166 163.374008 8.511939 v -6.200251 163.800095 9.218331 v -6.430700 163.671249 8.499805 v -6.561527 163.658234 7.760873 v -6.557216 163.694733 7.620815 v -6.721225 163.634720 7.631185 v -6.739310 163.550934 7.739360 vt 0.640670 0.469725 vt 0.630557 0.465076 vt 0.631820 0.461743 vt 0.637860 0.472104 vt 0.642922 0.493283 vt 0.516116 0.981185 vt 0.516878 0.984262 vt 0.502577 0.988980 vt 0.528663 0.983486 vt 0.528663 0.980380 vt 0.513075 0.961205 vt 0.501865 0.985768 vt 0.488634 0.991042 vt 0.492504 0.993789 vt 0.645468 0.493283 vt 0.654573 0.463390 vt 0.650532 0.433663 vt 0.620774 0.453023 vt 0.620774 0.458264 vt 0.033936 0.981185 vt 0.033174 0.984262 vt 0.021389 0.983486 vt 0.047475 0.988980 vt 0.048187 0.985768 vt 0.036977 0.961205 vt 0.021389 0.980380 vt 0.021389 0.960052 vt 0.528663 0.960052 vt 0.512760 0.958428 vt 0.528663 0.956954 vt 0.505389 0.933116 vt 0.481066 0.941256 vt 0.496061 0.964688 vt 0.498586 0.967603 vt 0.486375 0.978580 vt 0.653424 0.493283 vt 0.307083 0.959620 vt 0.308825 0.929740 vt 0.308820 0.959633 vt 0.334638 0.924981 vt 0.330357 0.959633 vt 0.467408 0.970675 vt 0.481673 0.977465 vt 0.467438 0.966040 vt 0.332384 0.959633 vt 0.346385 0.959633 vt 0.462997 0.938322 vt 0.454992 0.966086 vt 0.479446 0.939662 vt 0.467172 0.900856 vt 0.454814 0.900298 vt 0.446549 0.936981 vt 0.442457 0.899740 vt 0.430100 0.935641 vt 0.442546 0.966132 vt 0.360385 0.959633 vt 0.347888 0.924582 vt 0.339526 0.895543 vt 0.304745 0.898304 vt 0.342998 0.860742 vt 0.307570 0.857532 vt 0.275026 0.860263 vt 0.275026 0.898304 vt 0.620774 0.433663 vt 0.591686 0.433663 vt 0.609729 0.461743 vt 0.586975 0.463390 vt 0.600879 0.469725 vt 0.596080 0.493283 vt 0.588125 0.493283 vt 0.243349 0.959599 vt 0.241232 0.959633 vt 0.241227 0.929740 vt 0.051466 0.967603 vt 0.068379 0.977465 vt 0.063677 0.978580 vt 0.053991 0.964688 vt 0.037292 0.958428 vt 0.068986 0.941256 vt 0.044663 0.933116 vt 0.021389 0.956954 vt 0.021389 0.930344 vt 0.528663 0.930344 vt 0.504744 0.929835 vt 0.502865 0.900302 vt 0.465189 0.865977 vt 0.453493 0.867162 vt 0.441796 0.868346 vt 0.430100 0.869530 vt 0.430100 0.899182 vt 0.578039 0.901674 vt 0.593411 0.901674 vt 0.578039 0.922718 vt 0.593411 0.877599 vt 0.578039 0.877599 vt 0.430100 0.966178 vt 0.374386 0.959633 vt 0.361137 0.924182 vt 0.351146 0.895443 vt 0.353461 0.861910 vt 0.353845 0.832467 vt 0.343575 0.829653 vt 0.308837 0.826679 vt 0.275026 0.828128 vt 0.242483 0.857532 vt 0.245954 0.898304 vt 0.207054 0.860742 vt 0.210526 0.895543 vt 0.215414 0.924981 vt 0.219695 0.959633 vt 0.082644 0.970675 vt 0.082614 0.966040 vt 0.070606 0.939662 vt 0.087055 0.938322 vt 0.082880 0.900856 vt 0.045308 0.929835 vt 0.021389 0.926716 vt 0.528663 0.926716 vt 0.528663 0.901319 vt 0.498271 0.864759 vt 0.467202 0.834137 vt 0.454834 0.835456 vt 0.442467 0.836775 vt 0.430100 0.838094 vt 0.578039 0.942327 vt 0.593411 0.942327 vt 0.578039 0.963388 vt 0.593411 0.922718 vt 0.611196 0.901674 vt 0.611196 0.877599 vt 0.611196 0.855209 vt 0.593411 0.855209 vt 0.578039 0.855209 vt 0.374386 0.923783 vt 0.374386 0.895244 vt 0.362766 0.895343 vt 0.363924 0.863078 vt 0.364116 0.835280 vt 0.363159 0.821188 vt 0.353032 0.818724 vt 0.342905 0.816259 vt 0.308893 0.812512 vt 0.275026 0.812361 vt 0.241215 0.826679 vt 0.206477 0.829653 vt 0.556870 0.377817 vt 0.555701 0.346732 vt 0.587680 0.344170 vt 0.196207 0.832467 vt 0.197020 0.818724 vt 0.186893 0.821188 vt 0.187851 0.807096 vt 0.177867 0.809212 vt 0.180467 0.767792 vt 0.148499 0.811171 vt 0.152314 0.767792 vt 0.120465 0.810845 vt 0.119747 0.767792 vt 0.107738 0.767792 vt 0.108401 0.809968 vt 0.107993 0.823371 vt 0.095777 0.822273 vt 0.095218 0.835456 vt 0.082850 0.834137 vt 0.084863 0.865977 vt 0.051781 0.864759 vt 0.047187 0.900302 vt 0.021389 0.901319 vt 0.021389 0.864093 vt 0.528663 0.864093 vt 0.501369 0.832623 vt 0.466490 0.821175 vt 0.454275 0.822273 vt 0.442059 0.823371 vt 0.429843 0.824469 vt 0.404427 0.838094 vt 0.593411 0.963388 vt 0.578039 0.995892 vt 0.611196 0.942327 vt 0.611196 0.963388 vt 0.629763 0.942327 vt 0.629763 0.922718 vt 0.611196 0.922718 vt 0.629763 0.901674 vt 0.629763 0.877599 vt 0.629763 0.855209 vt 0.629763 0.834299 vt 0.611196 0.834299 vt 0.593411 0.834299 vt 0.578039 0.834299 vt 0.593411 0.814748 vt 0.578039 0.814748 vt 0.374386 0.864246 vt 0.374386 0.838094 vt 0.373286 0.823653 vt 0.372185 0.809212 vt 0.362201 0.807096 vt 0.352218 0.804981 vt 0.342234 0.802865 vt 0.308948 0.798345 vt 0.275026 0.796595 vt 0.241104 0.798345 vt 0.241159 0.812512 vt 0.207148 0.816259 vt 0.197834 0.804981 vt 0.190111 0.767792 vt 0.181544 0.720614 vt 0.153167 0.720614 vt 0.121415 0.720614 vt 0.109176 0.720614 vt 0.096937 0.720614 vt 0.095729 0.767792 vt 0.084698 0.720614 vt 0.083719 0.767792 vt 0.049312 0.767792 vt 0.049215 0.720614 vt 0.021389 0.767792 vt 0.021389 0.720614 vt 0.528663 0.767792 vt 0.500837 0.720614 vt 0.528663 0.720614 vt 0.500740 0.767792 vt 0.465354 0.720614 vt 0.466333 0.767792 vt 0.454323 0.767792 vt 0.453715 0.809090 vt 0.465779 0.808212 vt 0.500042 0.806286 vt 0.528663 0.804835 vt 0.021389 0.804835 vt 0.050010 0.806286 vt 0.084273 0.808212 vt 0.049346 0.819454 vt 0.021389 0.818490 vt 0.021389 0.832145 vt 0.528663 0.832145 vt 0.500706 0.819454 vt 0.528663 0.818490 vt 0.441651 0.809968 vt 0.429587 0.810845 vt 0.402990 0.824632 vt 0.578039 0.763369 vt 0.593411 0.793296 vt 0.578039 0.793296 vt 0.593411 0.763369 vt 0.611196 0.763369 vt 0.611196 0.793296 vt 0.629763 0.763369 vt 0.629763 0.793296 vt 0.664468 0.763369 vt 0.664468 0.793296 vt 0.710904 0.763369 vt 0.710904 0.793296 vt 0.744670 0.763369 vt 0.744670 0.793296 vt 0.772503 0.763369 vt 0.759916 0.963388 vt 0.773537 0.995892 vt 0.744670 0.995892 vt 0.771967 0.963388 vt 0.785828 0.963388 vt 0.787625 0.942327 vt 0.771308 0.942327 vt 0.757911 0.942327 vt 0.771213 0.922718 vt 0.757644 0.922718 vt 0.770986 0.901674 vt 0.758540 0.901674 vt 0.744670 0.922718 vt 0.744670 0.901674 vt 0.710904 0.922718 vt 0.710904 0.942327 vt 0.744670 0.942327 vt 0.744670 0.963388 vt 0.710904 0.995892 vt 0.710904 0.963388 vt 0.664468 0.995892 vt 0.664468 0.963388 vt 0.629763 0.995892 vt 0.629763 0.963388 vt 0.611196 0.995892 vt 0.593411 0.995892 vt 0.664468 0.942327 vt 0.664468 0.922718 vt 0.664468 0.901674 vt 0.664468 0.877599 vt 0.664468 0.855209 vt 0.664468 0.834299 vt 0.664468 0.814748 vt 0.629763 0.814748 vt 0.611196 0.814748 vt 0.710904 0.814748 vt 0.744670 0.814748 vt 0.769841 0.793296 vt 0.768282 0.814748 vt 0.800728 0.793296 vt 0.800728 0.763369 vt 0.800728 0.963388 vt 0.800728 0.995892 vt 0.800728 0.942327 vt 0.800728 0.922718 vt 0.787570 0.922718 vt 0.800728 0.901674 vt 0.784899 0.901674 vt 0.769679 0.877599 vt 0.744670 0.877599 vt 0.710904 0.901674 vt 0.710904 0.877599 vt 0.710904 0.855209 vt 0.710904 0.834299 vt 0.744670 0.834299 vt 0.768194 0.834299 vt 0.800728 0.814748 vt 0.834866 0.793296 vt 0.834866 0.763369 vt 0.877873 0.763369 vt 0.834866 0.995892 vt 0.877873 0.963388 vt 0.877873 0.995892 vt 0.834866 0.963388 vt 0.877873 0.942327 vt 0.834866 0.942327 vt 0.834866 0.922718 vt 0.834866 0.901674 vt 0.834866 0.878523 vt 0.800728 0.877324 vt 0.800728 0.855209 vt 0.768916 0.855209 vt 0.800728 0.834299 vt 0.834866 0.814748 vt 0.877873 0.793296 vt 0.914315 0.763369 vt 0.914315 0.963388 vt 0.914315 0.995892 vt 0.948307 0.963388 vt 0.948307 0.942327 vt 0.914315 0.942327 vt 0.914315 0.922718 vt 0.877873 0.922718 vt 0.914315 0.901674 vt 0.877873 0.901674 vt 0.877873 0.878121 vt 0.877873 0.855209 vt 0.834866 0.855209 vt 0.877873 0.834299 vt 0.834866 0.834299 vt 0.877873 0.814748 vt 0.914315 0.793296 vt 0.948307 0.763369 vt 0.948307 0.995892 vt 0.963121 0.963388 vt 0.963121 0.995892 vt 0.986738 0.963388 vt 0.986738 0.942327 vt 0.963121 0.942327 vt 0.963121 0.922718 vt 0.986738 0.922718 vt 0.986738 0.901674 vt 0.963121 0.901674 vt 0.948307 0.922718 vt 0.948307 0.901674 vt 0.948307 0.877557 vt 0.914315 0.877875 vt 0.914315 0.855209 vt 0.914315 0.834299 vt 0.914315 0.814748 vt 0.948307 0.793296 vt 0.963121 0.763369 vt 0.963121 0.793296 vt 0.986738 0.763369 vt 0.986738 0.995892 vt 0.692389 0.147666 vt 0.692391 0.169043 vt 0.672401 0.164695 vt 0.712380 0.164693 vt 0.724733 0.153306 vt 0.724733 0.139233 vt 0.712378 0.127847 vt 0.963121 0.855209 vt 0.986738 0.834299 vt 0.986738 0.855209 vt 0.963121 0.834299 vt 0.986738 0.814748 vt 0.963121 0.814748 vt 0.948307 0.834299 vt 0.948307 0.855209 vt 0.948307 0.814748 vt 0.986738 0.793296 vt 0.963121 0.877490 vt 0.986738 0.877376 vt 0.692388 0.123498 vt 0.672399 0.127849 vt 0.660045 0.139236 vt 0.660047 0.153310 vt 0.744670 0.855209 vt 0.401553 0.811171 vt 0.369585 0.767792 vt 0.359941 0.767792 vt 0.350296 0.767792 vt 0.340652 0.767792 vt 0.306314 0.767792 vt 0.275026 0.767792 vt 0.243738 0.767792 vt 0.207818 0.802865 vt 0.209400 0.767792 vt 0.555568 0.319689 vt 0.558346 0.283485 vt 0.590347 0.283245 vt 0.199756 0.767792 vt 0.190696 0.720614 vt 0.190797 0.695948 vt 0.181386 0.695948 vt 0.153311 0.695948 vt 0.120921 0.695948 vt 0.109355 0.695948 vt 0.109263 0.681982 vt 0.097770 0.681982 vt 0.107420 0.647816 vt 0.096562 0.647466 vt 0.086277 0.681982 vt 0.085705 0.647116 vt 0.049196 0.681982 vt 0.049390 0.695948 vt 0.021389 0.695948 vt 0.500662 0.695948 vt 0.528663 0.695948 vt 0.463828 0.695948 vt 0.453115 0.720614 vt 0.442314 0.767792 vt 0.430305 0.767792 vt 0.397738 0.767792 vt 0.368508 0.720614 vt 0.359356 0.720614 vt 0.350203 0.720614 vt 0.341050 0.720614 vt 0.305381 0.720614 vt 0.275026 0.720614 vt 0.244671 0.720614 vt 0.209002 0.720614 vt 0.559682 0.236121 vt 0.591931 0.236000 vt 0.199849 0.720614 vt 0.200209 0.695948 vt 0.191245 0.681982 vt 0.181694 0.681982 vt 0.153667 0.681982 vt 0.120756 0.681982 vt 0.118277 0.648166 vt 0.118046 0.630923 vt 0.107392 0.629624 vt 0.117655 0.611212 vt 0.106421 0.608108 vt 0.096737 0.628325 vt 0.095186 0.605004 vt 0.086083 0.627025 vt 0.083952 0.601900 vt 0.093566 0.583671 vt 0.081970 0.582343 vt 0.047627 0.597915 vt 0.048557 0.622908 vt 0.021389 0.624792 vt 0.021389 0.647341 vt 0.528663 0.647341 vt 0.501495 0.622908 vt 0.528663 0.624792 vt 0.500850 0.645551 vt 0.528663 0.681982 vt 0.500856 0.681982 vt 0.463775 0.681982 vt 0.452263 0.695948 vt 0.440876 0.720614 vt 0.428637 0.720614 vt 0.396885 0.720614 vt 0.368666 0.695948 vt 0.359255 0.695948 vt 0.349843 0.695948 vt 0.340432 0.695948 vt 0.305677 0.695948 vt 0.275026 0.695948 vt 0.244375 0.695948 vt 0.209620 0.695948 vt 0.200796 0.681982 vt 0.191280 0.646489 vt 0.181027 0.647473 vt 0.151942 0.647828 vt 0.151305 0.630813 vt 0.150506 0.611267 vt 0.149680 0.586528 vt 0.116757 0.586326 vt 0.149227 0.558787 vt 0.116226 0.558787 vt 0.115696 0.518209 vt 0.148775 0.518209 vt 0.177636 0.518209 vt 0.178017 0.558787 vt 0.188522 0.518209 vt 0.188776 0.558787 vt 0.199408 0.518209 vt 0.199535 0.558787 vt 0.210294 0.518209 vt 0.210294 0.558787 vt 0.245412 0.558787 vt 0.245717 0.518209 vt 0.275026 0.558787 vt 0.275026 0.518209 vt 0.304335 0.518209 vt 0.304640 0.558787 vt 0.275026 0.575382 vt 0.245108 0.577774 vt 0.210294 0.581756 vt 0.199662 0.583314 vt 0.211317 0.601529 vt 0.245739 0.593319 vt 0.275026 0.592542 vt 0.304313 0.593319 vt 0.304944 0.577774 vt 0.339758 0.558787 vt 0.339758 0.518209 vt 0.350517 0.558787 vt 0.339758 0.581756 vt 0.350390 0.583314 vt 0.361276 0.558787 vt 0.361022 0.584872 vt 0.372035 0.558787 vt 0.371654 0.586430 vt 0.400373 0.586528 vt 0.399546 0.611267 vt 0.432397 0.611212 vt 0.432006 0.630923 vt 0.442660 0.629624 vt 0.442632 0.647816 vt 0.453490 0.647466 vt 0.452282 0.681982 vt 0.440697 0.695948 vt 0.429131 0.695948 vt 0.396741 0.695948 vt 0.368358 0.681982 vt 0.358807 0.681982 vt 0.349256 0.681982 vt 0.339704 0.681982 vt 0.305596 0.681982 vt 0.275026 0.681982 vt 0.244456 0.681982 vt 0.210348 0.681982 vt 0.201534 0.645504 vt 0.190466 0.628766 vt 0.180241 0.630615 vt 0.179191 0.611137 vt 0.178398 0.586430 vt 0.189030 0.584872 vt 0.200608 0.604731 vt 0.210917 0.625068 vt 0.245051 0.618358 vt 0.275026 0.617894 vt 0.305001 0.618358 vt 0.339136 0.625068 vt 0.338265 0.644520 vt 0.305738 0.640337 vt 0.275026 0.640023 vt 0.244314 0.640337 vt 0.211787 0.644520 vt 0.200691 0.626917 vt 0.189899 0.607934 vt 0.348518 0.645504 vt 0.349361 0.626917 vt 0.349444 0.604731 vt 0.338735 0.601529 vt 0.360153 0.607934 vt 0.359586 0.628766 vt 0.358772 0.646489 vt 0.369025 0.647473 vt 0.369811 0.630615 vt 0.370861 0.611137 vt 0.398747 0.630813 vt 0.431775 0.648166 vt 0.440789 0.681982 vt 0.429296 0.681982 vt 0.396385 0.681982 vt 0.398110 0.647828 vt 0.464347 0.647116 vt 0.463969 0.627025 vt 0.453315 0.628325 vt 0.443631 0.608108 vt 0.433295 0.586326 vt 0.400825 0.558787 vt 0.372416 0.518209 vt 0.361530 0.518209 vt 0.350644 0.518209 vt 0.401277 0.518209 vt 0.434356 0.518209 vt 0.433826 0.558787 vt 0.445388 0.518209 vt 0.445139 0.558787 vt 0.456420 0.518209 vt 0.456453 0.558787 vt 0.467452 0.518209 vt 0.467767 0.558787 vt 0.501550 0.558787 vt 0.501880 0.518209 vt 0.528663 0.558787 vt 0.528663 0.581187 vt 0.501220 0.580220 vt 0.528663 0.597749 vt 0.502425 0.597915 vt 0.466100 0.601900 vt 0.454866 0.605004 vt 0.444891 0.584998 vt 0.456486 0.583671 vt 0.468082 0.582343 vt 0.021389 0.597749 vt 0.048832 0.580220 vt 0.021389 0.581187 vt 0.048502 0.558787 vt 0.021389 0.558787 vt 0.048172 0.518209 vt 0.021389 0.518209 vt 0.528663 0.518209 vt 0.082600 0.518209 vt 0.082285 0.558787 vt 0.093599 0.558787 vt 0.093632 0.518209 vt 0.104664 0.518209 vt 0.104913 0.558787 vt 0.105161 0.584998 vt 0.021389 0.681982 vt 0.049202 0.645551 vt 0.596890 0.209153 vt 0.571220 0.208718 vt 0.202267 0.502404 vt 0.233770 0.486411 vt 0.232654 0.502404 vt 0.202909 0.486411 vt 0.177568 0.502404 vt 0.177732 0.486411 vt 0.148485 0.502404 vt 0.147661 0.486411 vt 0.115413 0.502404 vt 0.115912 0.486411 vt 0.145671 0.451602 vt 0.115318 0.451587 vt 0.145484 0.438137 vt 0.115876 0.435997 vt 0.145481 0.425066 vt 0.116928 0.420335 vt 0.146296 0.415388 vt 0.119077 0.406326 vt 0.146942 0.399881 vt 0.119417 0.394033 vt 0.148052 0.374644 vt 0.119736 0.373770 vt 0.151635 0.330827 vt 0.121439 0.330827 vt 0.154256 0.289237 vt 0.123711 0.289237 vt 0.154944 0.257872 vt 0.124300 0.255416 vt 0.154294 0.240409 vt 0.124083 0.237756 vt 0.153634 0.223768 vt 0.123522 0.221226 vt 0.151734 0.204911 vt 0.122778 0.206216 vt 0.150750 0.165606 vt 0.122869 0.165606 vt 0.150394 0.124516 vt 0.122479 0.124516 vt 0.149574 0.091528 vt 0.120849 0.099164 vt 0.148905 0.064733 vt 0.121397 0.070962 vt 0.149867 0.042155 vt 0.121761 0.042155 vt 0.152232 0.017017 vt 0.120945 0.017017 vt 0.152532 0.005452 vt 0.121673 0.005452 vt 0.595130 0.147426 vt 0.590794 0.175078 vt 0.618958 0.170488 vt 0.565748 0.169239 vt 0.551805 0.151424 vt 0.551880 0.136193 vt 0.564245 0.123811 vt 0.219274 0.017017 vt 0.220349 0.005452 vt 0.238118 0.005452 vt 0.200804 0.017017 vt 0.201307 0.005452 vt 0.179560 0.017017 vt 0.179453 0.005452 vt 0.178761 0.044294 vt 0.200352 0.046968 vt 0.219910 0.043759 vt 0.238730 0.017017 vt 0.266107 0.005452 vt 0.266107 0.017017 vt 0.238454 0.042155 vt 0.265787 0.042155 vt 0.238959 0.055818 vt 0.265660 0.061564 vt 0.237029 0.081157 vt 0.265521 0.084612 vt 0.047472 0.056462 vt 0.018685 0.083405 vt 0.018824 0.059244 vt 0.047114 0.081762 vt 0.018676 0.124516 vt 0.047771 0.124516 vt 0.070598 0.084544 vt 0.071091 0.124516 vt 0.092453 0.088122 vt 0.070867 0.063295 vt 0.070210 0.042155 vt 0.095603 0.042155 vt 0.095076 0.017017 vt 0.070864 0.017017 vt 0.046596 0.042155 vt 0.018951 0.042155 vt 0.047691 0.017017 vt 0.019271 0.017017 vt 0.048010 0.005452 vt 0.070931 0.005452 vt 0.095809 0.005452 vt 0.630519 0.134806 vt 0.630883 0.152602 vt 0.618415 0.122289 vt 0.590184 0.119537 vt 0.019271 0.005452 vt 0.099991 0.124516 vt 0.071516 0.165606 vt 0.048337 0.165606 vt 0.048076 0.204564 vt 0.071320 0.204426 vt 0.099204 0.165606 vt 0.100575 0.204962 vt 0.071151 0.218940 vt 0.047851 0.219039 vt 0.047562 0.235132 vt 0.070935 0.235090 vt 0.100733 0.219657 vt 0.100293 0.236033 vt 0.070976 0.252640 vt 0.047617 0.252329 vt 0.048062 0.289237 vt 0.069615 0.289237 vt 0.100458 0.253785 vt 0.101008 0.289237 vt 0.068338 0.330827 vt 0.046246 0.330827 vt 0.041383 0.368221 vt 0.061609 0.372815 vt 0.098848 0.330827 vt 0.092553 0.373451 vt 0.058648 0.382157 vt 0.038683 0.375541 vt 0.035635 0.381827 vt 0.055705 0.390015 vt 0.014029 0.383337 vt 0.014029 0.372483 vt 0.511902 0.381827 vt 0.533509 0.372483 vt 0.533509 0.383337 vt 0.531017 0.368418 vt 0.508855 0.375541 vt 0.529300 0.364740 vt 0.506155 0.368221 vt 0.528267 0.363330 vt 0.501291 0.330827 vt 0.528267 0.330827 vt 0.499476 0.289237 vt 0.528267 0.289237 vt 0.499921 0.252329 vt 0.528267 0.251553 vt 0.499976 0.235132 vt 0.528267 0.228240 vt 0.499687 0.219039 vt 0.528267 0.215287 vt 0.499462 0.204564 vt 0.528494 0.202206 vt 0.499201 0.165606 vt 0.528613 0.165606 vt 0.499767 0.124516 vt 0.528862 0.124516 vt 0.500424 0.081762 vt 0.528852 0.083405 vt 0.500066 0.056462 vt 0.528714 0.059244 vt 0.528586 0.042155 vt 0.500942 0.042155 vt 0.499847 0.017017 vt 0.476674 0.017017 vt 0.476607 0.005452 vt 0.451729 0.005452 vt 0.452462 0.017017 vt 0.425865 0.005452 vt 0.426593 0.017017 vt 0.395006 0.005452 vt 0.395306 0.017017 vt 0.425777 0.042155 vt 0.451935 0.042155 vt 0.477328 0.042155 vt 0.476671 0.063295 vt 0.476940 0.084544 vt 0.476447 0.124516 vt 0.476022 0.165606 vt 0.447546 0.124516 vt 0.448334 0.165606 vt 0.425059 0.124516 vt 0.424669 0.165606 vt 0.397144 0.124516 vt 0.396788 0.165606 vt 0.424760 0.206216 vt 0.446963 0.204962 vt 0.476218 0.204426 vt 0.476386 0.218940 vt 0.446805 0.219657 vt 0.424016 0.221226 vt 0.395804 0.204911 vt 0.393904 0.223768 vt 0.423455 0.237756 vt 0.447245 0.236033 vt 0.476603 0.235090 vt 0.476562 0.252640 vt 0.477923 0.289237 vt 0.447080 0.253785 vt 0.446530 0.289237 vt 0.423238 0.255416 vt 0.423826 0.289237 vt 0.392594 0.257872 vt 0.393282 0.289237 vt 0.426099 0.330827 vt 0.448690 0.330827 vt 0.479200 0.330827 vt 0.485929 0.372815 vt 0.454984 0.373451 vt 0.427802 0.373770 vt 0.395903 0.330827 vt 0.399486 0.374644 vt 0.428121 0.394033 vt 0.458627 0.386368 vt 0.488890 0.382157 vt 0.491833 0.390015 vt 0.460701 0.393021 vt 0.428461 0.406326 vt 0.400596 0.399881 vt 0.401242 0.415388 vt 0.430610 0.420335 vt 0.464993 0.409557 vt 0.492055 0.402154 vt 0.533509 0.396157 vt 0.014029 0.396157 vt 0.055483 0.402154 vt 0.014029 0.407444 vt 0.533509 0.407444 vt 0.495920 0.426315 vt 0.467046 0.429856 vt 0.431662 0.435997 vt 0.466164 0.450113 vt 0.496005 0.447851 vt 0.533509 0.428028 vt 0.014029 0.428028 vt 0.051618 0.426315 vt 0.082545 0.409557 vt 0.086837 0.393021 vt 0.088911 0.386368 vt 0.080492 0.429856 vt 0.051533 0.447851 vt 0.014029 0.448725 vt 0.014029 0.486411 vt 0.533509 0.486411 vt 0.533509 0.448725 vt 0.495792 0.486411 vt 0.533509 0.502404 vt 0.494481 0.502404 vt 0.464350 0.486411 vt 0.465065 0.502404 vt 0.431626 0.486411 vt 0.432124 0.502404 vt 0.399877 0.486411 vt 0.399053 0.502404 vt 0.369806 0.486411 vt 0.369970 0.502404 vt 0.344629 0.486411 vt 0.345271 0.502404 vt 0.313768 0.486411 vt 0.314884 0.502404 vt 0.273769 0.486411 vt 0.273769 0.502404 vt 0.621219 0.209044 vt 0.621219 0.235907 vt 0.650507 0.236000 vt 0.645548 0.209153 vt 0.682756 0.236121 vt 0.671218 0.208718 vt 0.684092 0.283485 vt 0.652091 0.283245 vt 0.686870 0.319689 vt 0.654864 0.315997 vt 0.686737 0.346732 vt 0.654758 0.344170 vt 0.685568 0.377817 vt 0.653291 0.375115 vt 0.651242 0.416356 vt 0.621219 0.376026 vt 0.621190 0.416356 vt 0.591606 0.416356 vt 0.589147 0.375115 vt 0.621219 0.344650 vt 0.621219 0.314904 vt 0.587574 0.315997 vt 0.621219 0.283015 vt 0.273769 0.450031 vt 0.234067 0.449668 vt 0.205123 0.452589 vt 0.176053 0.452945 vt 0.176128 0.439649 vt 0.175951 0.426729 vt 0.175630 0.416831 vt 0.175332 0.401008 vt 0.174855 0.375533 vt 0.175536 0.330827 vt 0.176088 0.289237 vt 0.176159 0.258637 vt 0.177150 0.246189 vt 0.177981 0.236970 vt 0.179815 0.213704 vt 0.175244 0.196549 vt 0.176119 0.165606 vt 0.177429 0.124516 vt 0.176202 0.098264 vt 0.175870 0.068995 vt 0.201108 0.084044 vt 0.217801 0.063127 vt 0.217603 0.082473 vt 0.217768 0.124516 vt 0.197581 0.124516 vt 0.197897 0.165606 vt 0.216931 0.165606 vt 0.238987 0.124516 vt 0.265512 0.124516 vt 0.240265 0.165606 vt 0.265761 0.165606 vt 0.018925 0.165606 vt 0.019044 0.202206 vt 0.019271 0.215287 vt 0.019271 0.228240 vt 0.019271 0.251553 vt 0.019271 0.289237 vt 0.019271 0.330827 vt 0.019271 0.363330 vt 0.018237 0.364740 vt 0.016521 0.368418 vt 0.273769 0.385672 vt 0.271918 0.373988 vt 0.273769 0.377163 vt 0.249539 0.385380 vt 0.273769 0.403880 vt 0.230342 0.405428 vt 0.273769 0.422947 vt 0.230758 0.423415 vt 0.202517 0.425039 vt 0.199296 0.413905 vt 0.201140 0.399330 vt 0.197828 0.375938 vt 0.197848 0.330827 vt 0.199052 0.289237 vt 0.200105 0.258812 vt 0.199864 0.238952 vt 0.199536 0.225842 vt 0.199060 0.206952 vt 0.197262 0.193427 vt 0.217658 0.192665 vt 0.241839 0.193997 vt 0.265880 0.199071 vt 0.238809 0.210934 vt 0.266107 0.212752 vt 0.241143 0.227371 vt 0.266107 0.226942 vt 0.242852 0.242122 vt 0.266107 0.251860 vt 0.243972 0.254981 vt 0.243864 0.289237 vt 0.266107 0.289237 vt 0.242630 0.330827 vt 0.266107 0.330827 vt 0.243191 0.370330 vt 0.266107 0.363330 vt 0.245807 0.379151 vt 0.268754 0.369805 vt 0.226433 0.393754 vt 0.222533 0.375606 vt 0.221002 0.330827 vt 0.220913 0.289237 vt 0.221945 0.257558 vt 0.221523 0.239868 vt 0.220832 0.220315 vt 0.218450 0.206170 vt 0.204835 0.439882 vt 0.232213 0.437693 vt 0.273769 0.436491 vt 0.315325 0.437693 vt 0.316780 0.423415 vt 0.317196 0.405428 vt 0.297999 0.385380 vt 0.275620 0.373988 vt 0.278784 0.369805 vt 0.301730 0.379151 vt 0.321104 0.393754 vt 0.304347 0.370330 vt 0.281431 0.363330 vt 0.281431 0.330827 vt 0.304908 0.330827 vt 0.281431 0.289237 vt 0.303674 0.289237 vt 0.281431 0.251860 vt 0.303566 0.254981 vt 0.304685 0.242122 vt 0.281431 0.226942 vt 0.306395 0.227371 vt 0.281431 0.212752 vt 0.308728 0.210934 vt 0.281658 0.199071 vt 0.305698 0.193997 vt 0.281777 0.165606 vt 0.307273 0.165606 vt 0.282026 0.124516 vt 0.308550 0.124516 vt 0.282016 0.084612 vt 0.310509 0.081157 vt 0.281878 0.061564 vt 0.308579 0.055818 vt 0.281750 0.042155 vt 0.309083 0.042155 vt 0.281431 0.017017 vt 0.528267 0.017017 vt 0.499528 0.005452 vt 0.528267 0.005452 vt 0.328263 0.017017 vt 0.309419 0.005452 vt 0.327189 0.005452 vt 0.308808 0.017017 vt 0.327628 0.043759 vt 0.329737 0.063127 vt 0.329934 0.082473 vt 0.329770 0.124516 vt 0.330606 0.165606 vt 0.329880 0.192665 vt 0.329088 0.206170 vt 0.326706 0.220315 vt 0.326015 0.239868 vt 0.325593 0.257558 vt 0.326625 0.289237 vt 0.326536 0.330827 vt 0.325004 0.375606 vt 0.346397 0.399330 vt 0.348242 0.413905 vt 0.345021 0.425039 vt 0.342703 0.439882 vt 0.342415 0.452589 vt 0.313471 0.449668 vt 0.371484 0.452945 vt 0.371410 0.439649 vt 0.371586 0.426729 vt 0.402054 0.438137 vt 0.401867 0.451602 vt 0.432220 0.451587 vt 0.402057 0.425066 vt 0.371908 0.416831 vt 0.372206 0.401008 vt 0.372683 0.375533 vt 0.349710 0.375938 vt 0.349690 0.330827 vt 0.348486 0.289237 vt 0.347433 0.258812 vt 0.347674 0.238952 vt 0.348001 0.225842 vt 0.348478 0.206952 vt 0.350276 0.193427 vt 0.349641 0.165606 vt 0.349957 0.124516 vt 0.346430 0.084044 vt 0.347186 0.046968 vt 0.346734 0.017017 vt 0.346231 0.005452 vt 0.367978 0.017017 vt 0.368085 0.005452 vt 0.368777 0.044294 vt 0.371668 0.068995 vt 0.398633 0.064733 vt 0.397964 0.091528 vt 0.426689 0.099164 vt 0.426140 0.070962 vt 0.397671 0.042155 vt 0.455085 0.088122 vt 0.371336 0.098264 vt 0.370109 0.124516 vt 0.371419 0.165606 vt 0.372294 0.196549 vt 0.367723 0.213704 vt 0.393244 0.240409 vt 0.369557 0.236970 vt 0.370387 0.246189 vt 0.371379 0.258637 vt 0.371450 0.289237 vt 0.372002 0.330827 vt 0.281431 0.005452 vt 0.014029 0.502404 vt 0.051746 0.486411 vt 0.081374 0.450113 vt 0.083187 0.486411 vt 0.053057 0.502404 vt 0.082473 0.502404 vt 0.086224 0.695948 vt 0.097789 0.695948 vt 0.048683 0.832623 vt 0.083562 0.821175 vt 0.096337 0.809090 vt 0.095238 0.900298 vt 0.096559 0.867162 vt 0.107585 0.836775 vt 0.120209 0.824469 vt 0.147062 0.824632 vt 0.176766 0.823653 vt 0.185936 0.835280 vt 0.196591 0.861910 vt 0.198906 0.895443 vt 0.202164 0.924582 vt 0.203667 0.959633 vt 0.217668 0.959633 vt 0.095060 0.966086 vt 0.103503 0.936981 vt 0.107595 0.899740 vt 0.108256 0.868346 vt 0.119952 0.838094 vt 0.145625 0.838094 vt 0.175666 0.838094 vt 0.186128 0.863078 vt 0.187286 0.895343 vt 0.188915 0.924182 vt 0.175666 0.923783 vt 0.175666 0.895244 vt 0.578039 0.606920 vt 0.593411 0.586010 vt 0.578039 0.586010 vt 0.593411 0.606920 vt 0.578039 0.629309 vt 0.593411 0.629309 vt 0.611196 0.606920 vt 0.611196 0.629309 vt 0.629763 0.606920 vt 0.629763 0.629309 vt 0.664468 0.606920 vt 0.664468 0.629309 vt 0.710904 0.606920 vt 0.710904 0.586010 vt 0.744670 0.586010 vt 0.744670 0.606920 vt 0.710904 0.629309 vt 0.744670 0.629309 vt 0.768916 0.606920 vt 0.769679 0.629309 vt 0.744670 0.653385 vt 0.758540 0.653385 vt 0.770986 0.653385 vt 0.784899 0.653385 vt 0.771213 0.674428 vt 0.787570 0.674428 vt 0.771308 0.694038 vt 0.757911 0.694038 vt 0.759916 0.715099 vt 0.744670 0.715099 vt 0.744670 0.747603 vt 0.710904 0.747603 vt 0.710904 0.715099 vt 0.744670 0.694038 vt 0.757644 0.674428 vt 0.744670 0.674428 vt 0.710904 0.674428 vt 0.710904 0.653385 vt 0.664468 0.653385 vt 0.629763 0.653385 vt 0.611196 0.653385 vt 0.593411 0.653385 vt 0.578039 0.653385 vt 0.107506 0.966132 vt 0.119952 0.935641 vt 0.119952 0.966178 vt 0.119952 0.899182 vt 0.119952 0.869530 vt 0.578039 0.694038 vt 0.578039 0.715099 vt 0.593411 0.694038 vt 0.593411 0.715099 vt 0.578039 0.747603 vt 0.593411 0.747603 vt 0.593411 0.515079 vt 0.578039 0.515079 vt 0.578039 0.545007 vt 0.593411 0.545007 vt 0.593411 0.566459 vt 0.578039 0.566459 vt 0.175666 0.864246 vt 0.611196 0.566459 vt 0.611196 0.545007 vt 0.629763 0.545007 vt 0.629763 0.566459 vt 0.611196 0.586010 vt 0.629763 0.586010 vt 0.664468 0.586010 vt 0.710904 0.566459 vt 0.744670 0.566459 vt 0.768282 0.566459 vt 0.768194 0.586010 vt 0.800728 0.586010 vt 0.800728 0.606920 vt 0.800728 0.629035 vt 0.800728 0.653385 vt 0.800728 0.674428 vt 0.787625 0.694038 vt 0.771967 0.715099 vt 0.773537 0.747603 vt 0.772503 0.515079 vt 0.744670 0.515079 vt 0.744670 0.545007 vt 0.710904 0.545007 vt 0.710904 0.515079 vt 0.664468 0.545007 vt 0.664468 0.515079 vt 0.664468 0.747603 vt 0.664468 0.715099 vt 0.710904 0.694038 vt 0.664468 0.694038 vt 0.629763 0.715099 vt 0.629763 0.747603 vt 0.611196 0.747603 vt 0.611196 0.715099 vt 0.629763 0.694038 vt 0.664468 0.674428 vt 0.629763 0.674428 vt 0.611196 0.674428 vt 0.593411 0.674428 vt 0.578039 0.674428 vt 0.611196 0.694038 vt 0.611196 0.515079 vt 0.629763 0.515079 vt 0.664468 0.566459 vt 0.769841 0.545007 vt 0.800728 0.545007 vt 0.800728 0.566459 vt 0.834866 0.566459 vt 0.834866 0.586010 vt 0.834866 0.606920 vt 0.834866 0.630234 vt 0.834866 0.653385 vt 0.834866 0.674428 vt 0.800728 0.694038 vt 0.834866 0.694038 vt 0.800728 0.715099 vt 0.834866 0.715099 vt 0.800728 0.747603 vt 0.800728 0.515079 vt 0.834866 0.515079 vt 0.834866 0.545007 vt 0.877873 0.545007 vt 0.877873 0.566459 vt 0.877873 0.586010 vt 0.877873 0.606920 vt 0.877873 0.629832 vt 0.877873 0.653385 vt 0.877873 0.674428 vt 0.877873 0.694038 vt 0.877873 0.715099 vt 0.834866 0.747603 vt 0.877873 0.747603 vt 0.877873 0.515079 vt 0.914315 0.515079 vt 0.914315 0.545007 vt 0.914315 0.566459 vt 0.914315 0.586010 vt 0.914315 0.606920 vt 0.914315 0.629586 vt 0.914315 0.653385 vt 0.914315 0.674428 vt 0.914315 0.694038 vt 0.914315 0.715099 vt 0.914315 0.747603 vt 0.948307 0.715099 vt 0.948307 0.747603 vt 0.948307 0.515079 vt 0.948307 0.545007 vt 0.948307 0.566459 vt 0.948307 0.586010 vt 0.948307 0.606920 vt 0.948307 0.629268 vt 0.948307 0.653385 vt 0.948307 0.674428 vt 0.948307 0.694038 vt 0.963121 0.674428 vt 0.963121 0.653385 vt 0.963121 0.629200 vt 0.986738 0.629087 vt 0.986738 0.653385 vt 0.986738 0.674428 vt 0.963121 0.694038 vt 0.986738 0.694038 vt 0.986738 0.606920 vt 0.963121 0.606920 vt 0.986738 0.586010 vt 0.963121 0.586010 vt 0.986738 0.566459 vt 0.963121 0.566459 vt 0.986738 0.545007 vt 0.986738 0.715099 vt 0.963121 0.715099 vt 0.963121 0.747603 vt 0.986738 0.747603 vt 0.963121 0.515079 vt 0.963121 0.545007 vt 0.986738 0.515079 vt 0.785828 0.715099 vt 0.189667 0.959633 vt 0.175666 0.959633 vt 0.061418 0.991042 vt 0.057549 0.993789 vt 0.598626 0.493283 vt 0.603688 0.472104 vt 0.610991 0.465076 vt 0.734711 0.317324 vt 0.666689 0.354523 vt 0.652530 0.320049 vt 0.772191 0.401171 vt 0.810021 0.282025 vt 0.834136 0.352155 vt 0.872898 0.254110 vt 0.505646 0.296793 vt 0.505646 0.266136 vt 0.560725 0.285820 vt 0.450566 0.285820 vt 0.505646 0.322330 vt 0.452648 0.327475 vt 0.358761 0.320049 vt 0.344602 0.354523 vt 0.383917 0.372843 vt 0.427811 0.360175 vt 0.466470 0.356583 vt 0.505646 0.347118 vt 0.558643 0.327475 vt 0.544821 0.356583 vt 0.583480 0.360175 vt 0.627374 0.372843 vt 0.610686 0.421877 vt 0.680411 0.407492 vt 0.657500 0.450153 vt 0.742774 0.436664 vt 0.804176 0.496119 vt 0.826246 0.470863 vt 0.872623 0.427377 vt 0.916147 0.395120 vt 0.722249 0.234878 vt 0.800792 0.134172 vt 0.797520 0.180770 vt 0.727736 0.169140 vt 0.668995 0.233054 vt 0.727511 0.300817 vt 0.656211 0.289028 vt 0.796709 0.233205 vt 0.805791 0.269273 vt 0.965840 0.367441 vt 0.916400 0.318345 vt 0.964869 0.291063 vt 0.995908 0.337609 vt 0.045451 0.367441 vt 0.015383 0.337609 vt 0.046422 0.291063 vt 0.094891 0.318345 vt 0.138393 0.254110 vt 0.086385 0.224183 vt 0.924906 0.224183 vt 0.276581 0.317325 vt 0.239100 0.401171 vt 0.276580 0.317325 vt 0.201270 0.282025 vt 0.177155 0.352155 vt 0.095144 0.395120 vt 0.138668 0.427377 vt 0.185045 0.470863 vt 0.207115 0.496119 vt 0.268517 0.436664 vt 0.330880 0.407492 vt 0.400605 0.421877 vt 0.432724 0.404022 vt 0.469369 0.387000 vt 0.505646 0.383901 vt 0.541922 0.387000 vt 0.578567 0.404022 vt 0.594904 0.445855 vt 0.561122 0.429523 vt 0.576373 0.472080 vt 0.555161 0.455206 vt 0.566781 0.494899 vt 0.544010 0.483640 vt 0.548635 0.500425 vt 0.533669 0.499444 vt 0.532016 0.510646 vt 0.505646 0.513558 vt 0.530555 0.515791 vt 0.505646 0.515176 vt 0.505646 0.516691 vt 0.528476 0.522734 vt 0.548795 0.511793 vt 0.547850 0.521174 vt 0.562558 0.515258 vt 0.565054 0.521027 vt 0.555388 0.528565 vt 0.526618 0.534346 vt 0.505646 0.524086 vt 0.505646 0.542266 vt 0.484673 0.534346 vt 0.482815 0.522734 vt 0.480736 0.515791 vt 0.462496 0.511793 vt 0.463441 0.521174 vt 0.455903 0.528565 vt 0.446237 0.521027 vt 0.448733 0.515258 vt 0.435670 0.509061 vt 0.440597 0.507894 vt 0.444510 0.494899 vt 0.434918 0.472080 vt 0.456130 0.455206 vt 0.450169 0.429523 vt 0.416387 0.445855 vt 0.353791 0.450153 vt 0.242019 0.507164 vt 0.212698 0.518018 vt 0.224425 0.587819 vt 0.287730 0.588077 vt 0.312553 0.498001 vt 0.371588 0.511670 vt 0.384700 0.470926 vt 0.414384 0.500397 vt 0.428068 0.509365 vt 0.430719 0.530276 vt 0.447693 0.549694 vt 0.483008 0.556628 vt 0.482847 0.544765 vt 0.505646 0.553396 vt 0.528283 0.556628 vt 0.505646 0.567988 vt 0.478951 0.567524 vt 0.450473 0.577175 vt 0.443706 0.597918 vt 0.460933 0.581351 vt 0.474485 0.575534 vt 0.483329 0.576642 vt 0.496841 0.573856 vt 0.505646 0.574328 vt 0.514450 0.573856 vt 0.532340 0.567524 vt 0.527962 0.576642 vt 0.525762 0.582541 vt 0.536806 0.575534 vt 0.550358 0.581351 vt 0.533392 0.592543 vt 0.518612 0.594614 vt 0.513210 0.582519 vt 0.505646 0.593855 vt 0.505646 0.607215 vt 0.492679 0.594614 vt 0.498081 0.582519 vt 0.505646 0.581616 vt 0.485529 0.582541 vt 0.477899 0.592543 vt 0.459824 0.601428 vt 0.468591 0.618023 vt 0.474975 0.602070 vt 0.488245 0.608783 vt 0.505646 0.624559 vt 0.486576 0.621934 vt 0.484983 0.643478 vt 0.461468 0.632622 vt 0.449505 0.623619 vt 0.399939 0.613697 vt 0.396624 0.561829 vt 0.408109 0.522782 vt 0.355938 0.565661 vt 0.302382 0.644093 vt 0.349186 0.617239 vt 0.364746 0.646680 vt 0.405315 0.643748 vt 0.437919 0.658457 vt 0.463951 0.669683 vt 0.488933 0.661396 vt 0.505646 0.661795 vt 0.505646 0.646765 vt 0.526308 0.643478 vt 0.524715 0.621934 vt 0.523046 0.608783 vt 0.536316 0.602070 vt 0.551467 0.601428 vt 0.567585 0.597918 vt 0.560818 0.577175 vt 0.563598 0.549694 vt 0.528444 0.544765 vt 0.580572 0.530276 vt 0.575621 0.509061 vt 0.570694 0.507894 vt 0.567731 0.508572 vt 0.564346 0.509396 vt 0.562436 0.508056 vt 0.547538 0.506802 vt 0.564488 0.505387 vt 0.583223 0.509365 vt 0.596907 0.500397 vt 0.626591 0.470926 vt 0.639703 0.511670 vt 0.603182 0.522782 vt 0.614667 0.561829 vt 0.611352 0.613697 vt 0.561786 0.623619 vt 0.549823 0.632622 vt 0.542700 0.618023 vt 0.522358 0.661396 vt 0.505646 0.687833 vt 0.486414 0.685240 vt 0.465897 0.687460 vt 0.456568 0.690830 vt 0.448859 0.676038 vt 0.434189 0.675105 vt 0.406797 0.655968 vt 0.403776 0.667236 vt 0.403740 0.669120 vt 0.437417 0.678965 vt 0.403270 0.689598 vt 0.371415 0.674698 vt 0.368299 0.669437 vt 0.367243 0.662524 vt 0.337583 0.669089 vt 0.270203 0.695579 vt 0.234039 0.689052 vt 0.211063 0.660650 vt 0.181399 0.593806 vt 0.185585 0.543674 vt 0.155340 0.582050 vt 0.138908 0.571234 vt 0.173114 0.531863 vt 0.791204 0.040598 vt 0.741138 0.064226 vt 0.822926 0.052815 vt 0.689476 0.043955 vt 0.691441 0.056586 vt 0.164039 0.701604 vt 0.183152 0.682973 vt 0.189747 0.681908 vt 0.155052 0.681420 vt 0.145955 0.695668 vt 0.131669 0.662195 vt 0.117628 0.665144 vt 0.130525 0.618888 vt 0.116567 0.612671 vt 0.757672 0.007312 vt 0.711084 0.012955 vt 0.691532 0.032394 vt 0.308723 0.798679 vt 0.341337 0.722288 vt 0.351011 0.706055 vt 0.331087 0.688663 vt 0.349200 0.687759 vt 0.362110 0.685226 vt 0.379203 0.693167 vt 0.403633 0.694014 vt 0.428013 0.695668 vt 0.433979 0.698971 vt 0.405301 0.701354 vt 0.379516 0.700061 vt 0.384740 0.715952 vt 0.421209 0.714524 vt 0.447295 0.701406 vt 0.446285 0.677126 vt 0.463757 0.710332 vt 0.486847 0.718063 vt 0.505646 0.717165 vt 0.524877 0.685240 vt 0.545394 0.687460 vt 0.547340 0.669683 vt 0.573372 0.658457 vt 0.605976 0.643748 vt 0.646545 0.646680 vt 0.644048 0.662524 vt 0.604494 0.655968 vt 0.642992 0.669437 vt 0.607515 0.667236 vt 0.607551 0.669120 vt 0.639876 0.674698 vt 0.608021 0.689598 vt 0.573874 0.678965 vt 0.577102 0.675105 vt 0.565006 0.677126 vt 0.583278 0.695668 vt 0.562432 0.676038 vt 0.577312 0.698971 vt 0.607658 0.694014 vt 0.632088 0.693167 vt 0.605990 0.701354 vt 0.563996 0.701406 vt 0.590082 0.714524 vt 0.547534 0.710332 vt 0.584650 0.727034 vt 0.520932 0.739178 vt 0.524444 0.718063 vt 0.505646 0.744289 vt 0.490359 0.739178 vt 0.426641 0.727034 vt 0.387666 0.733506 vt 0.381574 0.762465 vt 0.380852 0.804903 vt 0.491037 0.763646 vt 0.505646 0.764375 vt 0.505646 0.805456 vt 0.482509 0.805051 vt 0.457733 0.855102 vt 0.505646 0.853915 vt 0.528782 0.805051 vt 0.520254 0.763646 vt 0.629717 0.762465 vt 0.630439 0.804903 vt 0.553558 0.855102 vt 0.570037 0.912512 vt 0.505646 0.911465 vt 0.505646 0.982999 vt 0.441254 0.912512 vt 0.363815 0.978479 vt 0.604644 0.219026 vt 0.539295 0.164895 vt 0.510878 0.205979 vt 0.617877 0.158535 vt 0.583765 0.263076 vt 0.647476 0.978479 vt 0.652748 0.906303 vt 0.633189 0.849079 vt 0.702568 0.798679 vt 0.669954 0.722288 vt 0.623625 0.733506 vt 0.626551 0.715952 vt 0.631775 0.700061 vt 0.649181 0.685226 vt 0.662091 0.687759 vt 0.660281 0.706055 vt 0.741088 0.695579 vt 0.680204 0.688663 vt 0.673708 0.669089 vt 0.708909 0.644093 vt 0.662105 0.617239 vt 0.655353 0.565661 vt 0.698738 0.498001 vt 0.769272 0.507164 vt 0.723561 0.588077 vt 0.777252 0.689052 vt 0.821544 0.681908 vt 0.731505 0.841400 vt 0.753851 0.873594 vt 0.588114 0.084389 vt 0.637276 0.114850 vt 0.674906 0.129001 vt 0.674252 0.181978 vt 0.571174 0.123925 vt 0.748826 0.909467 vt 0.716267 0.134014 vt 0.856239 0.681420 vt 0.865336 0.695668 vt 0.847252 0.701604 vt 0.879622 0.662195 vt 0.893663 0.665144 vt 0.880766 0.618888 vt 0.855951 0.582050 vt 0.829892 0.593806 vt 0.828139 0.682973 vt 0.800228 0.660650 vt 0.786866 0.587819 vt 0.798593 0.518018 vt 0.838177 0.531863 vt 0.825706 0.543674 vt 0.872383 0.571234 vt 0.828090 0.082222 vt 0.855034 0.058733 vt 0.894724 0.612671 vt 0.279786 0.841400 vt 0.257440 0.873594 vt 0.378102 0.849079 vt 0.358543 0.906303 vt 0.262465 0.909467 vt 0.554723 0.690830 vt 0.475618 0.417480 vt 0.505646 0.418415 vt 0.535673 0.417480 vt 0.532561 0.444392 vt 0.505646 0.442465 vt 0.478730 0.444392 vt 0.480714 0.470873 vt 0.505646 0.474865 vt 0.530577 0.470873 vt 0.530468 0.481544 vt 0.505646 0.482398 vt 0.505646 0.499009 vt 0.477622 0.499444 vt 0.480823 0.481544 vt 0.467281 0.483640 vt 0.462656 0.500425 vt 0.479275 0.510646 vt 0.463753 0.506802 vt 0.448855 0.508056 vt 0.446945 0.509396 vt 0.443560 0.508572 vt 0.446803 0.505387 vt -4.085537 113.649086 vt -4.706486 112.579254 vt -4.470658 112.592827 vn -0.253945 0.750999 0.609455 vn -0.306619 0.533250 0.788415 vn -0.309854 0.686026 0.658254 vn -0.086215 0.449202 0.889248 vn 0.270058 0.706626 0.653981 vn -0.279092 0.889553 0.361583 vn -0.877041 0.424635 0.224647 vn -0.537675 0.591845 0.600482 vn -0.174017 0.883938 0.433943 vn 0.182592 0.831996 -0.523850 vn 0.308054 0.920927 -0.238624 vn 0.550218 0.830683 0.084628 vn 0.181341 0.833247 0.522263 vn 0.113193 0.638539 0.761193 vn -0.163823 0.544572 0.822535 vn -0.258248 0.674276 0.691794 vn -0.257332 0.677358 0.689138 vn -0.033753 0.891903 0.450911 vn 0.000031 0.533799 -0.845576 vn -0.232582 0.955290 0.182501 vn -0.490005 0.820673 -0.293893 vn -0.098270 0.917020 -0.386486 vn -0.016785 0.999664 0.019684 vn 0.160009 0.980804 -0.111209 vn 0.186438 0.824488 -0.534227 vn 0.542955 0.451460 -0.708029 vn 0.829493 0.500229 -0.248329 vn 0.093173 0.990051 0.105258 vn 0.032868 0.998199 0.049898 vn 0.488388 0.803125 0.341166 vn -0.211676 0.931028 0.297189 vn 0.210395 0.790277 0.575457 vn 0.712149 0.663320 0.229774 vn 0.732902 0.665609 0.140538 vn 0.334208 0.925352 0.178808 vn 0.441847 0.831568 -0.336497 vn 0.698843 0.566149 -0.437117 vn 0.468398 0.440596 -0.765770 vn 0.533341 0.361034 -0.764946 vn 0.572131 0.746727 -0.339091 vn 0.715690 0.106357 -0.690237 vn 0.817805 0.449995 -0.358654 vn 0.429182 0.886196 0.174474 vn 0.175512 0.820338 0.544237 vn -0.022217 0.585009 0.810694 vn -0.020844 0.348949 0.936888 vn -0.200140 0.405408 0.891934 vn -0.309763 0.446516 0.839412 vn -0.299112 0.506760 0.808496 vn -0.421583 0.533982 0.732871 vn -0.197394 0.687124 0.699179 vn -0.584613 0.632771 0.507706 vn -0.209967 0.751427 0.625477 vn -0.488754 0.826777 0.278390 vn -0.607013 0.792566 -0.057436 vn -0.047029 0.932646 0.357677 vn -0.074252 0.997162 0.010895 vn -0.160375 0.986908 0.016419 vn -0.068575 0.978607 -0.193793 vn -0.490951 0.488327 -0.721427 vn 0.028993 0.446791 -0.894162 vn 0.309763 0.401502 -0.861873 vn 0.482192 0.416028 -0.770928 vn 0.386090 0.210425 -0.898129 vn 0.509171 -0.064608 -0.858211 vn 0.668477 -0.179937 -0.721610 vn 0.731132 -0.354869 -0.582629 vn 0.917142 -0.327219 -0.227424 vn 0.736351 -0.043214 -0.675161 vn 0.886898 0.160924 -0.432997 vn 0.942656 0.186193 0.276955 vn 0.721274 0.584185 0.372082 vn 0.317972 0.715842 0.621601 vn 0.085086 0.558428 0.825159 vn 0.218268 0.244026 0.944853 vn 0.448408 0.142705 0.882351 vn 0.138981 0.151158 0.978668 vn -0.145054 0.225776 0.963286 vn -0.328898 0.298715 0.895871 vn -0.460311 0.402997 0.790979 vn -0.562120 0.359416 0.744865 vn -0.535478 0.532090 0.655812 vn -0.558245 0.768273 0.313150 vn -0.712516 0.643757 -0.279000 vn -0.673788 0.663594 -0.324992 vn -0.275521 0.554521 -0.785211 vn -0.180609 0.839930 -0.511704 vn 0.059603 0.412488 -0.908994 vn 0.106632 0.403394 -0.908750 vn 0.318308 0.328227 -0.889309 vn 0.330515 0.153417 -0.931211 vn 0.402722 -0.039979 -0.914426 vn 0.632710 -0.270394 -0.725608 vn 0.783044 -0.244026 -0.572069 vn 0.779168 -0.246284 -0.576373 vn 0.916135 -0.274850 -0.291757 vn 0.621265 -0.097842 -0.777429 vn 0.524827 0.158849 -0.836207 vn 0.900662 0.146855 -0.408887 vn 0.971831 0.058321 0.228278 vn 0.636525 0.009308 0.771172 vn 0.620533 0.103702 0.777245 vn 0.477493 0.365429 0.799005 vn 0.367901 0.094699 0.925016 vn 0.306253 0.341746 0.888455 vn 0.339763 0.123814 0.932310 vn 0.423048 0.053194 0.904508 vn 0.486038 0.088839 0.869381 vn 0.505020 0.085055 0.858882 vn 0.244942 0.057161 0.967834 vn -0.101413 0.107608 0.988983 vn -0.325816 0.191900 0.925718 vn -0.519883 0.239937 0.819819 vn -0.713309 0.200110 0.671651 vn -0.442854 0.258400 0.858516 vn -0.875088 0.130161 0.466109 vn -0.927915 0.046693 0.369823 vn -0.928129 0.045412 0.369396 vn -0.915677 0.075076 0.394757 vn -0.989349 0.000427 0.145482 vn -0.987854 0.006653 0.155187 vn -0.951231 -0.085665 -0.296243 vn -0.959258 -0.085208 -0.269326 vn -0.701437 -0.192816 -0.686117 vn -0.782708 -0.123661 -0.609943 vn -0.547960 -0.178014 -0.817316 vn -0.360210 -0.302011 -0.882626 vn -0.434858 -0.292032 -0.851802 vn -0.259346 -0.294015 -0.919919 vn -0.145054 -0.311716 -0.939024 vn -0.031678 -0.229377 -0.972808 vn 0.136143 -0.039460 -0.989898 vn 0.249550 -0.025422 -0.968017 vn 0.245003 0.207007 -0.947142 vn 0.337077 -0.053499 -0.939940 vn 0.438459 -0.200262 -0.876125 vn 0.633351 -0.273080 -0.724052 vn 0.782556 -0.290780 -0.550462 vn 0.794031 -0.234016 -0.560991 vn 0.971984 -0.029237 -0.233192 vn 0.917234 0.312723 0.246651 vn 0.493301 0.830714 0.257942 vn -0.219581 0.442427 -0.869472 vn -0.564898 0.576525 -0.590320 vn -0.060976 0.075259 -0.995270 vn 0.515702 0.221351 -0.827662 vn 0.495285 0.232765 -0.836940 vn 0.909879 0.218207 -0.352733 vn 0.967589 0.102908 0.230567 vn 0.637349 0.026337 0.770074 vn 0.115268 -0.072207 0.990692 vn 0.138005 -0.119358 0.983184 vn 0.170263 -0.099826 0.980316 vn 0.319529 -0.356578 0.877895 vn 0.664754 -0.117710 0.737693 vn 0.775048 0.066897 0.628315 vn 0.703970 -0.001556 0.710196 vn 0.673757 0.001953 0.738914 vn 0.505173 0.027192 0.862575 vn 0.492691 0.016663 0.870022 vn 0.156652 0.033357 0.987060 vn -0.104068 0.122379 0.986999 vn -0.291482 0.181280 0.939207 vn -0.485214 0.153172 0.860836 vn -0.542497 0.164251 0.823817 vn -0.802545 0.087039 0.590197 vn -0.916837 0.056551 0.395184 vn -0.868740 0.067965 0.490524 vn -0.940672 0.047151 0.335948 vn -0.988586 0.023408 -0.148717 vn -0.857265 0.001373 -0.514817 vn -0.684255 -0.039674 -0.728141 vn -0.684561 -0.002411 -0.728935 vn -0.525956 -0.134342 -0.839808 vn -0.357891 -0.054689 -0.932127 vn -0.194006 -0.159490 -0.967925 vn 0.113590 -0.137455 -0.983947 vn -0.000671 -0.075198 -0.997162 vn 0.223487 -0.047517 -0.973540 vn 0.130039 -0.043458 -0.990539 vn 0.314737 0.012574 -0.949065 vn 0.389080 -0.057894 -0.919370 vn 0.681783 0.039460 -0.730461 vn 0.724326 -0.089908 -0.683523 vn 0.894559 -0.090609 -0.437635 vn 0.854610 -0.206671 -0.476333 vn 0.701804 -0.204260 -0.682424 vn 0.444685 -0.168798 -0.879604 vn 0.303964 -0.197607 -0.931944 vn 0.176214 -0.243385 -0.953764 vn -0.181555 -0.243538 -0.952727 vn 0.232337 -0.237342 -0.943205 vn 0.334025 -0.239601 -0.911557 vn 0.337107 -0.194250 -0.921201 vn 0.427412 -0.221870 -0.876370 vn 0.837519 -0.254952 -0.483200 vn 0.958434 -0.233436 -0.163854 vn 0.950133 0.024842 0.310770 vn 0.779290 0.187933 0.597797 vn -0.073580 0.994079 0.079592 vn -0.952788 0.226997 -0.201483 vn -0.883419 -0.429395 0.187445 vn -0.900266 -0.350780 -0.257759 vn -0.863430 -0.368816 0.344157 vn -0.921018 -0.292886 -0.256752 vn -0.898892 -0.317789 0.301614 vn -0.924497 -0.264107 -0.274758 vn -0.894803 -0.346477 0.281472 vn -0.908750 -0.248054 -0.335582 vn -0.955535 -0.237526 0.174657 vn -0.850307 -0.104434 -0.515793 vn -0.549760 -0.150517 -0.821619 vn -0.449812 -0.214911 -0.866848 vn -0.427198 -0.306864 -0.850459 vn 0.188147 -0.301584 -0.934660 vn 0.142857 -0.145665 -0.978942 vn 0.058290 -0.012299 -0.998199 vn 0.735069 -0.021241 -0.677633 vn 0.668874 0.123142 -0.733085 vn 0.975097 0.104617 -0.195410 vn 0.947600 0.210852 -0.239937 vn 0.589160 0.230079 -0.774529 vn 0.931303 0.291757 -0.217933 vn 0.542650 0.239540 -0.805048 vn -0.098148 0.067263 -0.992889 vn -0.033418 0.066103 -0.997223 vn -0.605090 -0.095004 -0.790429 vn -0.671560 -0.141423 -0.727287 vn -0.676626 -0.177587 -0.714560 vn -0.634785 -0.195502 -0.747490 vn -0.089541 0.054445 -0.994476 vn 0.540819 0.222907 -0.811060 vn 0.927641 0.241585 -0.284707 vn 0.954497 0.153081 0.255837 vn 0.666494 0.067080 0.742454 vn 0.099887 -0.049898 0.993744 vn -0.530381 -0.207099 0.822047 vn -0.468184 -0.216620 0.856655 vn -0.188025 -0.445357 0.875362 vn -0.523942 -0.289621 0.800989 vn -0.550615 -0.398968 0.733207 vn -0.998535 0.043184 0.031617 vn -0.773064 -0.127903 0.621235 vn -0.997162 -0.070009 -0.027070 vn -0.822230 -0.190497 -0.536271 vn -0.446394 -0.297647 -0.843867 vn 0.209357 -0.352916 -0.911924 vn 0.782556 -0.231452 -0.577929 vn 0.770562 -0.182440 -0.610645 vn 0.999725 -0.022126 -0.000763 vn 0.998810 -0.002808 -0.048280 vn 0.894284 0.190680 0.404797 vn 0.923795 0.169408 0.343303 vn 0.921506 0.283761 -0.265084 vn 0.936552 0.209815 0.280770 vn 0.672384 0.078402 0.736015 vn 0.121677 -0.122868 0.984924 vn 0.109226 -0.394147 0.912503 vn -0.172826 -0.079440 0.981719 vn -0.786493 0.140110 0.601459 vn -0.997589 -0.062410 0.029695 vn -0.843776 -0.237068 -0.481460 vn -0.845027 -0.222602 -0.486129 vn -0.446181 -0.328929 -0.832270 vn -0.428571 -0.346721 -0.834315 vn 0.205756 -0.333445 -0.920011 vn 0.219245 -0.349437 -0.910916 vn 0.788018 -0.220374 -0.574816 vn 0.999817 -0.016205 -0.007355 vn 0.845790 0.163366 0.507828 vn 0.843715 0.142338 0.517533 vn 0.405927 0.273782 0.871883 vn 0.452742 0.115421 0.884121 vn -0.215979 0.276437 0.936430 vn -0.789026 0.146123 0.596698 vn -0.998749 -0.049013 0.009613 vn -0.840846 -0.166631 -0.514969 vn -0.449202 -0.276162 -0.849635 vn -0.514847 -0.854549 -0.067995 vn -0.300333 -0.923917 -0.236946 vn 0.205298 -0.297281 -0.932432 vn 0.819544 -0.192602 -0.539628 vn 0.802149 -0.204291 -0.561052 vn 0.997406 -0.040345 0.059328 vn 0.999512 -0.027528 0.014008 vn 0.846553 0.140355 0.513413 vn 0.446211 0.264687 0.854854 vn 0.425520 0.273934 0.862453 vn -0.206732 0.303476 0.930113 vn -0.222114 0.288186 0.931455 vn -0.802911 0.172185 0.570635 vn -0.998688 0.009339 -0.050295 vn -0.601123 -0.788934 0.127201 vn -0.273659 -0.934141 -0.228950 vn -0.497055 -0.861141 -0.106479 vn -0.543626 -0.643635 -0.538652 vn -0.042695 -0.744896 -0.665792 vn 0.152348 -0.974578 -0.164159 vn 0.375683 -0.896420 0.234993 vn 0.587878 -0.732933 -0.342296 vn 0.761040 -0.595538 0.257057 vn 0.258065 -0.802545 0.537858 vn 0.062197 -0.975799 -0.209540 vn 0.288827 -0.950896 0.111118 vn 0.252815 -0.878353 0.405652 vn 0.837428 0.090793 0.538926 vn 0.446577 0.215613 0.868343 vn -0.203131 0.299753 0.932127 vn -0.818262 0.215278 0.532945 vn -0.610584 -0.710501 0.349803 vn -0.645558 -0.763329 0.023103 vn -0.807123 -0.512131 -0.293619 vn -0.245369 -0.921262 0.301737 vn -0.948088 -0.314707 0.045106 vn -0.796503 -0.091830 0.597613 vn -0.193182 -0.100681 0.975951 vn 0.323283 -0.289438 0.900937 vn -0.177190 -0.600482 0.779748 vn -0.586566 -0.502060 0.635487 vn -0.746635 -0.613941 0.256050 vn -0.134556 -0.694418 0.706839 vn 0.112735 -0.789605 0.603137 vn -0.447188 -0.653127 0.611072 vn 0.072054 -0.722739 0.687338 vn 0.605823 -0.457625 0.650777 vn 0.655812 -0.129887 0.743645 vn 0.932249 -0.069704 0.354991 vn 0.738029 -0.029817 0.674062 vn 0.508988 -0.032960 0.860103 vn 0.509049 -0.022095 0.860408 vn 0.224738 -0.019837 0.974212 vn 0.017182 0.045778 0.998779 vn -0.270211 0.098086 0.957762 vn -0.505264 0.081515 0.859066 vn -0.701041 0.098575 0.706259 vn -0.637715 0.078463 0.766228 vn -0.390973 0.073000 0.917478 vn -0.870022 0.040345 0.491287 vn -0.822810 0.075625 0.563219 vn -0.769524 0.140996 0.622852 vn -0.907010 0.132511 0.399670 vn -0.993042 0.097049 -0.066347 vn -0.880978 0.040437 -0.471358 vn -0.744743 0.025422 -0.666860 vn -0.776818 0.083285 -0.624165 vn -0.770043 0.115848 -0.627338 vn -0.768334 0.115299 -0.629536 vn -0.766800 0.124069 -0.629781 vn -0.488052 0.066530 -0.870235 vn -0.771050 0.112125 -0.626789 vn -0.513688 0.085421 -0.853694 vn -0.109989 0.052889 -0.992492 vn -0.060183 -0.046602 -0.997070 vn 0.073183 0.020447 -0.997101 vn 0.239906 0.052004 -0.969390 vn 0.621723 0.073550 -0.779748 vn 0.880215 0.025727 -0.473830 vn 0.893002 -0.095218 -0.439833 vn 0.977691 -0.064974 -0.199591 vn 0.966643 -0.064028 0.247963 vn 0.787347 -0.023133 0.616047 vn 0.588244 -0.035676 0.807855 vn 0.588610 -0.015473 0.808222 vn 0.359874 -0.071139 0.930265 vn 0.133366 0.009461 0.990997 vn -0.187841 0.045106 0.981140 vn -0.440687 0.058657 0.895718 vn -0.572710 0.077059 0.816095 vn -0.266854 0.070223 0.961150 vn -0.812952 0.065615 0.578600 vn -0.756645 0.115604 0.643513 vn -0.723136 0.157659 0.672414 vn -0.872005 0.155522 0.464064 vn -0.990997 0.130375 -0.029633 vn -0.911527 0.113559 -0.395215 vn -0.890835 0.138066 -0.432813 vn -0.870174 0.145726 -0.470656 vn -0.755913 0.097964 -0.647267 vn -0.791650 0.207190 -0.574755 vn -0.639271 0.162542 -0.751579 vn -0.766747 0.064302 -0.638691 vn -0.673849 0.093905 -0.732841 vn -0.531632 0.038057 -0.846095 vn -0.456008 0.065310 -0.887539 vn -0.558336 0.175054 -0.810907 vn -0.379009 0.143406 -0.914182 vn -0.155004 0.048097 -0.986724 vn -0.154942 0.032655 -0.987365 vn -0.006561 0.036042 -0.999298 vn 0.004639 0.068178 -0.997650 vn 0.160100 0.041536 -0.986206 vn 0.172369 0.073824 -0.982238 vn 0.032594 0.082064 -0.996063 vn 0.200018 0.096408 -0.975005 vn 0.615101 0.097140 -0.782434 vn 0.852077 0.064089 -0.519425 vn 0.879543 0.046663 -0.473464 vn 0.959716 0.056887 -0.275063 vn 0.984222 0.038148 0.172613 vn 0.819514 0.019013 0.572710 vn 0.632527 -0.025513 0.774102 vn 0.632923 -0.008728 0.774132 vn 0.499496 -0.009888 0.866237 vn 0.205542 0.013367 0.978545 vn -0.108219 0.037690 0.993408 vn -0.376476 0.076815 0.923215 vn -0.614368 0.117649 0.780175 vn -0.713370 0.121616 0.690146 vn -0.688314 0.099734 0.718497 vn -0.890957 0.123569 0.436903 vn -0.991119 0.132054 -0.014954 vn -0.977935 0.204016 -0.044618 vn -0.951628 0.267190 -0.151585 vn -0.936857 0.267190 -0.225562 vn -0.700766 0.254646 -0.666341 vn -0.933226 0.238227 -0.268899 vn -0.658284 0.205054 -0.724265 vn -0.707907 0.207312 -0.675161 vn -0.943205 0.233192 -0.236549 vn -0.956999 0.212531 0.197333 vn -0.916135 0.195837 0.349712 vn -0.797540 0.156621 0.582537 vn -0.791101 0.152745 0.592273 vn -0.798608 0.161351 0.579791 vn -0.789453 0.161138 0.592273 vn -0.660573 0.117374 0.741508 vn -0.630848 0.108951 0.768181 vn -0.294992 0.008423 0.955443 vn -0.210517 -0.011017 0.977508 vn 0.063356 -0.047121 0.996857 vn 0.072481 -0.045106 0.996338 vn 0.273812 -0.023316 0.961486 vn 0.315104 -0.017029 0.948882 vn 0.045503 -0.036653 0.998260 vn -0.378277 0.039918 0.924802 vn -0.675619 0.155034 0.720725 vn -0.759026 0.184362 0.624378 vn -0.626759 0.149388 0.764733 vn -0.277413 0.052400 0.959288 vn 0.010559 0.000214 0.999939 vn 0.290780 0.019440 0.956572 vn 0.368908 -0.001129 0.929441 vn 0.568743 0.067049 0.819758 vn 0.597156 0.077883 0.798303 vn 0.731773 0.130589 0.668905 vn 0.617512 0.110385 0.778741 vn 0.704581 0.146184 0.694357 vn 0.730583 0.121372 0.671896 vn 0.715354 0.136509 0.685263 vn 0.876125 0.181616 0.446516 vn 0.879391 0.233375 0.414930 vn 0.939665 0.314371 -0.134648 vn 0.956725 0.276193 -0.091464 vn 0.804987 0.241279 -0.541978 vn 0.885342 0.095553 -0.455000 vn 0.764672 0.049104 -0.642506 vn 0.785668 0.058138 -0.615864 vn 0.785791 0.041078 -0.617084 vn 0.831538 0.072787 -0.550645 vn 0.851039 0.081881 -0.518662 vn 0.938810 0.071169 -0.336955 vn 0.990783 0.069948 0.115818 vn 0.834834 0.006256 0.550401 vn 0.656758 -0.020325 0.753777 vn 0.657460 -0.007416 0.753410 vn 0.526261 -0.005921 0.850276 vn 0.237587 -0.003235 0.971343 vn -0.057344 0.024293 0.998047 vn -0.318400 0.078280 0.944700 vn -0.566698 0.114780 0.815882 vn -0.680135 0.087283 0.727836 vn -0.708243 0.063234 0.703116 vn -0.872463 0.111209 0.475814 vn -0.893094 0.207923 0.398846 vn -0.915799 0.238777 0.322855 vn -0.774773 0.169591 0.609027 vn -0.716178 0.168859 0.677145 vn -0.557176 0.113498 0.822565 vn -0.237526 0.040712 0.970519 vn -0.000824 -0.011933 0.999908 vn 0.245979 0.001434 0.969268 vn 0.549883 0.047578 0.833857 vn 0.538469 -0.005432 0.842616 vn 0.250649 -0.006653 0.968047 vn -0.014710 0.008026 0.999847 vn -0.262459 0.041505 0.964019 vn -0.534043 0.066012 0.842860 vn -0.687857 0.091220 0.720054 vn -0.746940 0.147191 0.648335 vn 0.672842 0.001099 0.739769 vn 0.680654 0.036164 0.731681 vn 0.682516 0.118809 0.721122 vn 0.582293 0.090884 0.807855 vn 0.705527 0.110874 0.699942 vn 0.693655 0.019135 0.720023 vn 0.675527 -0.007172 0.737266 vn 0.858425 0.006989 0.512833 vn 0.871242 0.048189 0.488449 vn 0.871334 0.184820 0.454482 vn 0.989166 0.145909 -0.014222 vn 0.911222 0.062624 -0.407056 vn 0.829524 0.095676 -0.550188 vn 0.943022 0.068239 -0.325571 vn 0.997253 0.045289 0.058596 vn 0.999542 0.027985 0.008637 vn 0.530320 0.059877 -0.845637 vn 0.532090 0.018555 -0.846461 vn 0.767632 0.022401 -0.640461 vn 0.644154 0.206244 -0.736534 vn 0.721702 0.339061 -0.603442 vn 0.949034 0.267190 -0.167150 vn 0.930845 0.209967 0.298990 vn 0.736595 0.127445 0.664174 vn 0.739586 0.132908 0.659780 vn 0.956786 0.258858 -0.132389 vn 0.817896 0.264046 -0.511155 vn 0.682516 0.260109 -0.683004 vn 0.569414 0.242256 -0.785516 vn 0.551042 0.251717 -0.795556 vn 0.582781 0.254311 -0.771783 vn 0.554949 0.271920 -0.786157 vn 0.345103 0.198431 -0.917325 vn 0.308176 0.217841 -0.926023 vn 0.069948 0.092105 -0.993286 vn 0.012757 0.063082 -0.997925 vn -0.065004 0.039003 -0.997101 vn -0.037843 0.046083 -0.998199 vn 0.112918 0.108249 -0.987671 vn -0.023164 0.061434 -0.997833 vn 0.145329 0.068392 -0.986999 vn 0.447768 0.114750 -0.886715 vn 0.668416 0.147649 -0.728935 vn 0.518418 0.282815 -0.806970 vn 0.542131 0.259621 -0.799158 vn 0.362896 0.214850 -0.906705 vn -0.139439 0.062258 -0.988250 vn -0.115238 0.036500 -0.992645 vn -0.098666 0.035310 -0.994476 vn -0.075442 0.015442 -0.997009 vn -0.233955 0.106937 -0.966338 vn -0.338481 0.131809 -0.931669 vn -0.530351 0.183691 -0.827601 vn -0.523087 0.179052 -0.833216 vn -0.521317 0.180578 -0.834010 vn -0.508560 0.180242 -0.841945 vn -0.508713 0.202521 -0.836756 vn -0.150548 0.079287 -0.985412 vn -0.174932 0.059420 0.982757 vn -0.421186 0.060152 0.904965 vn -0.145726 0.009369 0.989257 vn -0.481063 0.076937 0.873287 vn -0.784020 0.123661 0.608234 vn -0.844722 0.144658 0.515213 vn -0.985992 0.146336 0.079958 vn -0.980438 0.196814 0.001221 vn -0.889615 0.170537 -0.423627 vn -0.829615 0.215094 -0.515213 vn -0.979492 0.199438 -0.027863 vn -0.827967 0.197028 -0.524979 vn -0.974364 0.216529 -0.060976 vn -0.829096 0.194830 -0.524003 vn -0.949461 0.289285 -0.121708 vn -0.750694 0.304147 -0.586413 vn -0.925260 0.340526 -0.166967 vn -0.705924 0.223121 -0.672170 vn -0.953825 0.228614 -0.194769 vn -0.667318 0.139348 -0.731590 vn -0.950102 0.208960 -0.231544 vn -0.643727 0.168340 -0.746483 vn -0.955107 0.190252 -0.226997 vn -0.648000 0.190130 -0.737510 vn -0.961943 0.161596 -0.220252 vn -0.651418 0.162908 -0.740989 vn -0.967895 0.169805 -0.185278 vn -0.638661 0.188757 -0.745933 vn -0.955504 0.174780 -0.237526 vn -0.629048 0.207556 -0.749107 vn -0.954436 0.153050 -0.256081 vn -0.628498 0.216407 -0.747063 vn -0.953429 0.178655 -0.242958 vn -0.632008 0.227119 -0.740898 vn -0.956572 0.151616 -0.248878 vn -0.648885 0.162999 -0.743187 vn -0.955809 0.150884 -0.252205 vn -0.671346 0.157384 -0.724204 vn -0.936460 0.237617 -0.257973 vn -0.714347 0.222114 -0.663564 vn -0.934660 0.203192 -0.291665 vn -0.627674 0.149388 -0.764000 vn -0.910703 0.171514 -0.375683 vn -0.561571 0.153691 -0.812983 vn -0.889065 0.118137 -0.442244 vn -0.474776 0.076357 -0.876766 vn -0.707938 -0.641163 -0.296152 vn -0.284249 -0.730461 -0.620930 vn -0.122593 -0.975097 0.184698 vn -0.792413 -0.609943 0.001099 vn -0.696921 -0.527604 0.485672 vn -0.307291 -0.512101 0.802026 vn 0.249458 -0.603809 0.757073 vn -0.064669 0.178716 0.981750 vn -0.732139 0.241157 0.637013 vn -0.981017 0.189795 0.039277 vn -0.950285 0.227790 0.212195 vn -0.603107 0.259743 0.754173 vn -0.044069 0.104373 0.993530 vn 0.591113 0.047121 0.805170 vn 0.523942 -0.648305 0.552385 vn 0.849055 0.028962 0.527451 vn 0.613178 -0.114231 0.781610 vn 0.916807 -0.156774 0.367168 vn 0.602222 -0.276162 0.749016 vn 0.919431 -0.240455 0.311075 vn 0.695120 -0.161687 0.700430 vn 0.934355 -0.214576 0.284402 vn 0.978851 -0.181402 -0.094363 vn 0.954833 -0.178533 -0.237434 vn 0.929136 -0.261605 0.261208 vn 0.936033 -0.189489 -0.296457 vn 0.629719 -0.075411 -0.773125 vn 0.541307 -0.035554 -0.840052 vn 0.102725 0.039094 -0.993927 vn 0.693106 -0.062136 -0.718101 vn 0.691366 0.064730 -0.719565 vn 0.083956 0.128849 -0.988098 vn 0.231361 0.035188 -0.972198 vn 0.794671 0.037111 -0.605884 vn 0.989654 0.107608 -0.094821 vn 0.994903 0.090091 0.044679 vn 0.639332 -0.671621 0.374310 vn 0.635762 -0.751976 -0.174047 vn 0.204474 -0.776025 -0.596606 vn -0.102939 0.093936 -0.990234 vn 0.524125 0.015992 -0.851466 vn 0.936583 -0.128544 -0.325938 vn 0.927732 -0.114414 -0.355235 vn 0.533311 0.054872 -0.844111 vn -0.041780 0.117283 -0.992187 vn -0.014649 0.173650 -0.984680 vn 0.553941 0.041261 -0.831507 vn 0.935759 -0.065645 -0.346416 vn 0.944700 -0.113315 -0.307688 vn 0.569720 0.026276 -0.821406 vn -0.009369 0.178320 -0.983917 vn -0.004852 0.161962 -0.986755 vn 0.560533 0.011780 -0.828028 vn 0.942808 -0.142644 -0.301218 vn 0.931211 -0.174718 -0.319803 vn 0.537584 -0.039430 -0.842250 vn -0.008667 0.124851 -0.992126 vn -0.031739 0.072176 -0.996857 vn 0.522874 -0.064394 -0.849940 vn 0.906613 -0.208533 -0.366802 vn 0.863948 -0.227119 -0.449416 vn 0.490890 -0.108798 -0.864376 vn -0.064119 0.093112 -0.993561 vn -0.119694 0.060549 -0.990936 vn 0.457350 -0.200201 -0.866421 vn 0.866543 -0.211615 -0.451949 vn 0.565996 -0.696646 -0.440809 vn 0.212836 -0.518662 -0.828028 vn -0.048311 -0.933744 -0.354625 vn -0.045259 -0.991241 -0.123814 vn -0.610065 -0.647084 -0.457228 vn -0.723258 -0.690207 -0.020966 vn -0.848262 -0.235450 -0.474288 vn -0.885647 -0.451521 0.108280 vn -0.845973 -0.247627 -0.472182 vn -0.872189 -0.442061 0.209387 vn -0.870632 -0.230262 -0.434706 vn -0.928587 -0.308878 0.205542 vn -0.895566 -0.169622 -0.411267 vn -0.945250 -0.275399 0.174993 vn -0.908505 -0.134251 -0.395672 vn -0.938139 -0.258980 0.229713 vn -0.910245 -0.105411 -0.400403 vn -0.963408 -0.186163 0.192785 vn -0.898679 -0.053468 -0.435255 vn -0.952971 -0.247566 0.174688 vn -0.889096 -0.100833 -0.446455 vn -0.939848 -0.299692 0.163732 vn -0.900357 -0.116977 -0.419050 vn -0.959258 -0.228217 0.166478 vn -0.901486 -0.179724 -0.393689 vn -0.944609 -0.288461 0.156377 vn -0.921018 -0.180914 -0.344890 vn -0.952361 -0.252144 0.171392 vn -0.952300 -0.187536 -0.240669 vn -0.944426 -0.268105 0.190069 vn -0.957976 -0.191595 0.213324 vn -0.964568 0.050447 -0.258889 vn -0.987030 0.039583 -0.155461 vn -0.653859 -0.002045 -0.756584 vn -0.562334 -0.767052 -0.308817 vn -0.049806 -0.775567 -0.629261 vn -0.025300 0.031098 -0.999176 vn 0.432142 -0.716605 -0.547441 vn 0.642476 0.100345 -0.759697 vn 0.772881 -0.619221 -0.138554 vn 0.956755 0.151067 -0.248543 vn 0.672842 0.207404 -0.710105 vn 0.082827 0.152348 -0.984832 vn -0.555071 0.058443 -0.829737 vn -0.589312 -0.013306 -0.807764 vn -0.557787 -0.023072 -0.829615 vn -0.461165 0.014100 -0.887173 vn -0.443892 0.066500 -0.893582 vn 0.191839 0.160314 -0.968230 vn 0.130741 0.183081 -0.974334 vn 0.732231 0.212287 -0.647084 vn 0.711539 0.218879 -0.667653 vn 0.972228 0.177709 -0.152135 vn 0.972686 0.178198 -0.148686 vn 0.693442 0.282540 -0.662770 vn 0.102084 0.238533 -0.965728 vn -0.454360 0.104709 -0.884610 vn -0.475661 0.089938 -0.874996 vn 0.096652 0.243080 -0.965148 vn 0.690695 0.272225 -0.669942 vn 0.968535 0.204779 -0.141362 vn 0.971191 0.180120 -0.155950 vn 0.691580 0.263497 -0.672475 vn 0.092715 0.226905 -0.969481 vn -0.491256 0.074007 -0.867824 vn -0.480728 0.060945 -0.874722 vn -0.455245 0.009033 -0.890286 vn 0.097629 0.190283 -0.976836 vn 0.120792 0.138707 -0.982910 vn 0.701163 0.244636 -0.669668 vn 0.713858 0.218665 -0.665212 vn 0.977783 0.192297 -0.083285 vn 0.975219 0.186346 -0.119114 vn 0.699789 0.254006 -0.667623 vn 0.139103 0.171178 -0.975341 vn -0.445723 -0.021577 -0.894894 vn -0.444075 -0.066500 -0.893490 vn 0.150914 0.132054 -0.979675 vn 0.678335 0.227424 -0.698630 vn 0.968230 0.216193 -0.125431 vn 0.963713 0.233100 -0.129826 vn 0.694296 0.200476 -0.691183 vn 0.173345 0.069735 -0.982360 vn -0.430158 -0.160558 -0.888333 vn -0.241218 -0.486831 -0.839503 vn 0.269448 -0.082705 -0.959441 vn 0.707999 0.319926 -0.629566 vn 0.963286 0.253029 -0.089541 vn 0.896664 0.436872 -0.071505 vn 0.729209 0.395520 -0.558367 vn 0.376385 0.073000 -0.923551 vn -0.024628 -0.343760 -0.938719 vn -0.033143 -0.687338 -0.725547 vn -0.003296 -0.368816 -0.929472 vn -0.021027 -0.272011 -0.962035 vn 0.083102 0.040590 -0.995697 vn 0.478683 0.127842 -0.868587 vn 0.847102 0.149815 -0.509812 vn 0.455336 0.176275 -0.872677 vn 0.101840 0.194800 -0.975524 vn 0.004151 0.058107 -0.998291 vn -0.086184 0.020356 -0.996063 vn -0.379528 0.021516 -0.924894 vn -0.268136 -0.125401 -0.955168 vn -0.165502 0.005646 -0.986175 vn -0.472060 0.133305 -0.871395 vn -0.080355 0.201392 -0.976196 vn 0.012909 0.200690 -0.979553 vn 0.012635 0.251534 -0.967742 vn 0.036348 0.199683 -0.979156 vn 0.006867 0.151769 -0.988372 vn 0.000244 0.162725 -0.986663 vn 0.361461 0.165777 -0.917508 vn 0.466292 0.168340 -0.868435 vn 0.847865 0.136143 -0.512375 vn 0.901395 0.089297 -0.423627 vn 0.994690 0.102695 0.002380 vn 0.995178 0.056459 0.079958 vn 0.854030 0.065218 0.516068 vn 0.792016 0.052187 0.608234 vn 0.485092 0.033998 0.873775 vn 0.421613 -0.072115 0.903897 vn 0.145146 -0.003021 0.989380 vn 0.120151 -0.092349 0.988433 vn 0.000702 0.015564 0.999878 vn -0.049898 -0.003845 0.998718 vn -0.187964 -0.012726 0.982086 vn -0.025880 -0.074679 0.996857 vn -0.115940 0.003906 0.993225 vn -0.149052 0.045930 0.987732 vn -0.214728 0.215400 0.952605 vn -0.230628 0.364818 0.902036 vn -0.318125 0.390545 0.863826 vn -0.442427 0.363536 0.819788 vn -0.332041 0.263985 0.905545 vn -0.307566 0.113315 0.944731 vn -0.448073 0.109928 0.887173 vn -0.270241 0.034059 0.962157 vn -0.004303 -0.041932 0.999084 vn -0.137974 -0.023103 0.990143 vn -0.464614 0.057009 0.883633 vn -0.854396 0.144292 0.499161 vn -0.862392 0.162145 0.479568 vn -0.887387 0.197790 0.416395 vn -0.897916 0.234046 0.372723 vn -0.907895 0.228553 0.351390 vn -0.924192 0.190588 0.330882 vn -0.937803 0.141240 0.317118 vn -0.942595 0.101230 0.318125 vn -0.937376 0.107974 0.331095 vn -0.901669 0.117771 0.416059 vn -0.920621 0.143498 0.363018 vn -0.962645 0.019623 0.269967 vn -0.962279 0.046815 0.267953 vn -0.961180 0.116764 0.249916 vn -0.953642 0.094333 0.285684 vn -0.941588 0.166753 0.292550 vn -0.944914 0.211890 0.249367 vn -0.605853 0.093936 0.789972 vn -0.033174 -0.072268 0.996826 vn 0.166326 -0.046266 0.984954 vn 0.065554 -0.105441 0.992248 vn -0.577197 0.010041 0.816523 vn -0.612934 -0.003388 0.790094 vn 0.024476 -0.120853 0.992340 vn 0.629048 -0.237434 0.740196 vn 0.631214 -0.195929 0.750420 vn 0.942106 -0.200568 0.268624 vn 0.923826 -0.272408 0.268838 vn 0.935301 -0.219459 0.277474 vn 0.943480 -0.156438 0.292093 vn 0.915433 -0.224036 0.334300 vn 0.924161 -0.247749 0.290719 vn 0.918424 -0.262886 0.295541 vn 0.901914 -0.362407 0.234840 vn 0.937895 -0.327982 0.112949 vn 0.753197 -0.657430 -0.020600 vn -0.035585 -0.951781 0.304666 vn 0.428571 -0.692984 0.579699 vn -0.025513 -0.655446 0.754784 vn -0.025086 -0.251778 0.967437 vn -0.000061 -0.127384 0.991852 vn -0.157781 -0.040468 0.986633 vn -0.545518 0.055483 0.836238 vn -0.598437 0.058779 0.798975 vn -0.572466 0.098300 0.813990 vn -0.560533 0.078463 0.824366 vn -0.570544 0.036439 0.820429 vn -0.591937 -0.017396 0.805780 vn -0.586871 -0.029908 0.809107 vn -0.577776 -0.029542 0.815638 vn -0.537980 0.019379 0.842708 vn -0.569079 -0.127079 0.812372 vn -0.670003 -0.172430 0.722007 vn -0.034944 -0.260781 0.964751 vn 0.627491 -0.312021 0.713340 vn 0.602039 -0.299631 0.740074 vn 0.630360 -0.171545 0.757073 vn 0.652455 -0.193854 0.732566 vn 0.611133 -0.214911 0.761742 vn 0.631672 -0.240974 0.736808 vn 0.652913 -0.220588 0.724570 vn 0.638447 -0.290536 0.712699 vn 0.621784 -0.365154 0.692801 vn 0.076449 -0.151433 0.985504 vn 0.090732 -0.121891 0.988372 vn 0.073458 -0.125523 0.989349 vn 0.086337 -0.150700 0.984771 vn 0.092105 -0.153722 0.983795 vn 0.065096 -0.151097 0.986358 vn 0.029633 -0.131382 0.990875 vn 0.016419 -0.270363 0.962584 vn -0.476943 0.069796 0.876125 vn -0.115238 -0.026368 0.992981 vn -0.005005 -0.072176 0.997375 vn 0.111515 -0.050233 0.992462 vn 0.144932 -0.086428 0.985656 vn -0.005737 -0.305582 0.952147 vn -0.425214 -0.737114 0.525163 vn -0.601215 -0.464614 0.650105 vn -0.130070 -0.222022 0.966308 vn -0.666372 -0.369457 0.647603 vn -0.720695 -0.275369 0.636158 vn -0.691153 -0.303262 0.655965 vn -0.670461 -0.277566 0.688040 vn -0.713614 -0.249001 0.654775 vn -0.694235 -0.228126 0.682607 vn -0.662282 -0.354503 0.660024 vn -0.684957 -0.365368 0.630299 vn -0.694052 -0.252022 0.674337 vn -0.690237 -0.292764 0.661672 vn -0.753685 -0.215278 0.620960 vn -0.672811 -0.329234 0.662496 vn -0.733390 -0.135228 0.666189 vn -0.940001 0.009339 0.340983 vn -0.685171 -0.692343 0.226112 vn -0.611591 -0.668294 0.423444 vn 0.111148 -0.972594 0.204138 vn -0.388806 -0.618397 0.682913 vn 0.141758 -0.512284 0.847011 vn -0.147313 0.177557 0.972991 vn -0.749229 0.051820 0.660237 vn -0.166173 0.082644 0.982604 vn -0.127354 -0.134739 0.982635 vn -0.260598 -0.112918 0.958800 vn -0.154637 -0.171545 0.972961 vn -0.113468 -0.186468 0.975860 vn -0.049379 -0.323618 0.944884 vn -0.100162 -0.333598 0.937376 vn -0.118290 -0.196905 0.973235 vn -0.152837 -0.216681 0.964171 vn -0.179449 -0.219428 0.958953 vn -0.166204 -0.218726 0.961516 vn -0.149266 -0.194525 0.969451 vn -0.170446 -0.188177 0.967223 vn 0.504837 0.053072 0.861568 vn 0.542039 0.008332 0.840297 vn 0.518113 -0.006836 0.855251 vn 0.472213 0.013092 0.881375 vn 0.464125 0.010834 0.885678 vn 0.130802 -0.035249 0.990753 vn 0.861263 0.062471 0.504288 vn 0.864559 0.086520 0.494980 vn 0.874996 0.148869 0.460646 vn 0.988342 0.147771 -0.036103 vn 0.993713 0.110538 -0.016541 vn 0.849757 0.126255 -0.511795 vn 0.946196 0.316568 -0.066866 vn 0.856319 0.239998 0.457228 vn 0.867702 0.217139 0.447066 vn 0.886593 0.178106 0.426832 vn 0.487442 0.029603 0.872616 vn 0.493637 -0.011872 0.869564 vn 0.515641 -0.064150 0.854396 vn 0.510483 -0.076907 0.856410 vn 0.500809 -0.077059 0.862087 vn 0.457900 -0.030457 0.888455 vn 0.494125 -0.174291 0.851711 vn 0.603687 -0.212439 0.768364 vn 0.537736 -0.048921 0.841670 vn 0.499496 -0.037599 0.865474 vn 0.485153 0.042756 0.873348 vn 0.463027 0.229194 0.856166 vn 0.579089 0.243294 0.778100 vn 0.590075 -0.514054 0.622486 vn 0.790246 -0.588702 0.169958 vn 0.947539 0.206244 0.244148 vn 0.907407 0.218360 0.358989 vn 0.914640 0.208502 0.346294 vn 0.956023 0.231666 -0.179662 vn 0.951994 0.264412 -0.154057 vn 0.768395 0.273324 -0.578631 vn 0.696493 0.212317 -0.685385 vn 0.952879 0.204321 -0.224158 vn 0.015595 0.111118 -0.993683 vn 0.907743 0.157353 0.388836 vn 0.921628 0.085665 0.378430 vn 0.932035 0.110538 0.345042 vn 0.932646 0.039552 0.358531 vn 0.933317 0.012268 0.358806 vn 0.970183 0.200568 -0.136021 vn 0.880825 0.129276 0.455397 vn 0.857509 0.099857 0.504654 vn 0.901028 0.096103 0.422926 vn 0.907529 0.090304 0.410108 vn 0.901975 0.130619 0.411481 vn -0.017182 0.204505 -0.978698 vn -0.433088 0.214789 -0.875362 vn -0.342967 0.200476 -0.917692 vn 0.014466 0.162084 -0.986663 vn -0.449141 0.209845 -0.868435 vn -0.497543 0.006867 -0.867397 vn -0.733818 0.052034 -0.677328 vn 0.224342 -0.180578 -0.957610 vn -0.022858 -0.251320 -0.967620 vn -0.350627 -0.267525 -0.897458 vn 0.024781 0.405286 -0.913846 vn 0.064760 -0.090365 -0.993774 vn -0.549394 -0.360546 -0.753746 vn -0.834620 -0.149449 -0.530137 vn -0.910062 0.048616 -0.411542 vn -0.998169 -0.026002 0.054567 vn -0.922269 0.082034 0.377697 vn -0.763634 0.261574 0.590228 vn -0.671102 0.474013 0.569964 vn -0.514756 0.761681 0.393445 vn -0.379070 0.923215 0.062807 vn -0.299936 0.836390 -0.458754 vn 0.012848 0.476089 -0.879269 vn 0.017548 -0.172430 -0.984863 vn -0.670827 -0.476424 -0.568316 vn -0.889492 0.255348 -0.378857 vn -0.930235 0.287820 -0.227515 vn -0.955412 0.204718 0.212683 vn -0.838832 0.215491 0.499893 vn -0.635365 0.630970 0.445143 vn -0.879727 0.133793 0.456191 vn -0.884213 -0.239448 0.400983 vn -0.726859 -0.476089 0.494919 vn -0.867214 -0.127323 0.481338 vn -0.878170 0.441755 0.183325 vn -0.978759 0.172033 0.111423 vn -0.784082 -0.226691 0.577715 vn -0.983245 0.040498 0.177587 vn -0.706107 -0.273598 0.653096 vn -0.978942 -0.037019 0.200690 vn -0.706595 -0.247780 0.662801 vn -0.968413 -0.001068 0.249275 vn -0.672292 -0.266640 0.690573 vn -0.155217 -0.528794 0.834407 vn -0.227332 -0.940123 0.253853 vn -0.609088 -0.733665 0.301126 vn -0.957915 0.039583 0.284249 vn -0.954131 -0.063021 0.292581 vn -0.791345 0.112156 0.600940 vn -0.948943 0.234809 0.210517 vn -0.912900 0.333445 -0.235267 vn -0.890194 0.276406 -0.362133 vn -0.906613 0.120914 -0.404248 vn -0.957640 -0.057405 -0.282113 vn -0.536119 -0.060854 -0.841914 vn -0.584674 -0.387036 -0.712943 vn 0.026002 -0.178350 -0.983612 vn 0.073244 0.130161 -0.988769 vn 0.627766 0.009919 -0.778314 vn 0.672689 0.144566 -0.725639 vn 0.956938 -0.099673 -0.272530 vn 0.958190 -0.081759 -0.274117 vn 0.703665 0.171758 -0.689413 vn 0.112156 0.326090 -0.938658 vn -0.515000 0.232917 -0.824915 vn -0.512040 0.412000 -0.753655 vn -0.525773 0.454512 -0.718955 vn -0.929899 0.296731 -0.217231 vn -0.933348 0.266823 -0.240059 vn -0.910489 0.240913 -0.336070 vn -0.889859 0.265542 -0.370952 vn -0.841639 0.390576 -0.372875 vn -0.675436 0.634175 -0.376202 vn -0.514847 0.844844 0.145268 vn -0.231330 0.540208 -0.809076 vn 0.226447 -0.028565 -0.973571 vn -0.670003 -0.713248 -0.205756 vn -0.815851 0.500290 0.289956 vn -0.316721 0.943693 0.095492 vn 0.049898 0.998718 0.005524 vn -0.975249 -0.015076 -0.220557 vn -0.998321 0.044679 -0.036683 vn 0.455672 -0.387310 0.801447 vn 0.926603 0.016724 0.375652 vn 0.875973 -0.418744 0.239357 vn 0.421461 -0.541551 0.727348 vn -0.292337 -0.492752 0.819575 vn -0.205329 -0.465987 0.860591 vn -0.142155 -0.448195 0.882534 vn 0.484481 -0.550218 0.680044 vn 0.101291 -0.919034 0.380840 vn 0.714408 -0.670766 0.199164 vn 0.752464 -0.365062 0.548173 vn -0.001007 0.827021 0.562120 vn -0.602557 0.656301 0.454024 vn -0.940733 0.287454 0.179815 vn -0.966552 -0.154180 -0.204810 vn -0.614093 -0.546373 -0.569475 vn -0.002136 -0.519852 -0.854244 vn 0.527085 -0.247108 -0.813044 vn 0.907620 -0.313639 -0.278970 vn 0.670644 -0.650868 0.355724 vn 0.911405 -0.346263 0.222236 vn 0.904874 -0.373974 0.203253 vn 0.946165 -0.131840 -0.295602 vn 0.707450 0.133122 -0.694082 vn 0.128697 0.400189 -0.907315 vn 0.122440 0.405194 -0.905972 vn 0.702445 0.181158 -0.688253 vn 0.945036 -0.143498 -0.293771 vn 0.842799 0.537034 -0.035279 vn 0.549486 0.821406 -0.152745 vn 0.146947 0.493545 -0.857173 vn -0.530992 0.456557 -0.713828 vn -0.435926 0.442763 -0.783502 vn -0.392621 0.364605 -0.844325 vn -0.426832 0.354747 -0.831813 vn -0.106784 0.489303 -0.865535 vn 0.505814 -0.503128 0.700674 vn 0.332255 -0.843471 0.422010 vn 0.975005 0.116581 0.189123 vn 0.614185 0.631642 0.473006 vn 0.619373 0.543474 0.566546 vn -0.014801 0.748924 0.662465 vn -0.626606 0.605426 0.490677 vn -0.946806 0.269509 0.175634 vn -0.968322 -0.166509 -0.186010 vn -0.621509 -0.595325 -0.509171 vn 0.010254 -0.730094 -0.683248 vn 0.014405 -0.790155 -0.612690 vn 0.624439 -0.608997 -0.488998 vn 0.624928 -0.652577 -0.428480 vn 0.929716 -0.326426 -0.170324 vn 0.940642 -0.319132 -0.115360 vn 0.963042 0.110660 0.245521 vn 0.968566 0.112033 0.222022 vn 0.638356 0.554491 0.533830 vn -0.029817 0.758965 0.650441 vn -0.644642 0.590625 0.485366 vn -0.948241 0.252693 0.192236 vn -0.972777 -0.165258 -0.162267 vn -0.638966 -0.576830 -0.508866 vn 0.029237 -0.779168 -0.626087 vn 0.641011 -0.633808 -0.432813 vn 0.942564 -0.309000 -0.126621 vn 0.951323 -0.268410 -0.151311 vn 0.973327 0.144322 0.178259 vn 0.635395 0.584674 0.504349 vn -0.053957 0.788659 0.612415 vn -0.660939 0.600208 0.450423 vn -0.951292 0.241829 0.191076 vn -0.976440 -0.174413 -0.126926 vn -0.641285 -0.608997 -0.466720 vn 0.056429 -0.798334 -0.599536 vn 0.661702 -0.611347 -0.434004 vn 0.593554 -0.453230 0.664968 vn 0.558702 -0.251045 0.790429 vn 0.437544 -0.098575 0.893765 vn 0.232978 0.023072 0.972198 vn -0.014710 0.028718 0.999451 vn -0.200629 -0.096683 0.974853 vn -0.297708 -0.297403 0.907132 vn -0.279305 -0.574847 0.769097 vn 0.039003 -0.813807 0.579760 vn 0.445357 -0.704123 0.552995 vn -0.361614 -0.532579 0.765221 vn -0.377850 -0.222297 0.898770 vn -0.271035 -0.003601 0.962554 vn -0.769524 -0.047304 0.636799 vn -0.749229 -0.461501 0.475021 vn -0.347942 -0.903958 0.248573 vn 0.003784 -0.781304 0.624104 vn 0.357219 -0.916898 0.177831 vn 0.185583 -0.286081 0.940031 vn -0.620075 0.330515 0.711509 vn -0.087619 0.224219 0.970580 vn -0.189825 0.681082 0.707144 vn 0.336039 0.328410 0.882717 vn 0.509659 0.633686 0.581927 vn 0.638539 0.050111 0.767937 vn 0.880154 0.162358 0.445998 vn 0.897366 -0.246193 0.366161 vn 0.760369 -0.590747 0.269814 vn 0.417035 -0.652760 0.632405 vn 0.569170 -0.444075 0.691946 vn 0.647694 -0.240822 0.722800 vn 0.543046 -0.506363 -0.669820 vn -0.503250 0.789880 0.350414 vn -0.352611 0.691763 0.630146 vn -0.324503 0.528153 0.784661 vn 0.483596 -0.476363 0.734275 vn 0.867672 -0.267342 0.419111 vn 0.812006 -0.403516 0.421613 vn -0.336955 0.220649 0.915281 vn -0.444929 -0.160405 0.881039 vn -0.732688 -0.627552 0.263253 vn -0.971221 -0.237373 -0.018097 vn -0.517777 -0.826289 -0.221595 vn -0.340220 -0.907254 -0.247200 vn -0.181371 -0.962004 -0.203925 vn -0.076571 -0.990356 0.115299 vn 0.102634 -0.621326 0.776757 vn 0.217750 -0.966002 0.139134 vn 0.297983 -0.902341 0.311411 vn 0.321970 -0.813044 0.485000 vn 0.450880 -0.770714 0.450179 vn 0.486618 -0.661885 0.570147 vn 0.530534 -0.530168 0.661367 vn 0.695151 -0.480697 0.534471 vn 0.672140 -0.733970 0.097354 vn 0.899258 -0.418378 0.127445 vn 0.920927 -0.337504 0.194769 vn 0.937803 -0.299081 -0.176092 vn 0.900540 -0.291421 -0.322520 vn 0.972655 -0.231758 0.014710 vn 0.899899 0.220344 -0.376293 vn 0.601184 -0.198096 -0.774132 vn 0.571154 0.386090 -0.724326 vn 0.150761 0.231605 -0.961028 vn 0.088839 -0.279122 -0.956114 vn 0.292917 -0.317209 -0.901975 vn 0.584948 -0.295602 -0.755242 vn 0.797754 -0.324870 -0.507920 vn 0.869350 -0.173376 -0.462722 vn 0.544176 -0.152257 -0.825007 vn 0.118748 -0.154973 -0.980743 vn -0.777856 -0.096103 -0.621021 vn -0.401654 -0.058901 -0.913877 vn -0.062258 -0.283944 -0.956786 vn -0.418500 -0.317240 -0.850978 vn -0.349498 -0.399457 -0.847468 vn -0.271157 -0.719657 -0.639149 vn -0.660482 -0.489090 -0.569659 vn -0.654714 -0.657277 -0.373180 vn -0.560411 -0.755455 -0.339427 vn -0.530076 -0.788324 -0.312235 vn -0.443709 -0.880673 -0.165838 vn -0.096377 -0.989837 0.104312 vn 0.251869 -0.891171 0.377270 vn 0.416517 -0.802637 0.426893 vn 0.383190 -0.549150 0.742668 vn 0.316538 -0.464766 0.826899 vn 0.065859 -0.324503 0.943571 vn 0.007050 -0.110508 0.993835 vn -0.073977 -0.270882 0.959746 vn -0.029786 -0.391552 0.919645 vn 0.014588 0.187384 0.982147 vn -0.280404 -0.188238 0.941221 vn -0.131565 0.772607 0.621082 vn -0.365856 0.794763 0.484207 vn 0.007904 0.909879 0.414747 vn -0.593707 0.247902 0.765526 vn -0.195624 -0.952788 0.232185 vn -0.165899 -0.896634 0.410443 vn -0.233314 -0.696310 0.678732 vn -0.141362 -0.740989 0.656453 vn -0.111850 -0.919004 0.378002 vn -0.030122 -0.360363 0.932310 vn -0.027406 -0.055635 0.998047 vn -0.232093 -0.411206 0.881466 vn -0.460189 -0.675069 0.576556 vn -0.608112 0.137455 0.781823 vn -0.806330 -0.402600 0.433241 vn -0.374645 -0.893521 0.247444 vn -0.387066 0.915860 0.106418 vn -0.614856 -0.690481 0.380932 vn -0.616260 -0.733879 0.285684 vn -0.962462 -0.041536 0.268166 vn -0.903714 -0.347240 0.250343 vn -0.356731 -0.915311 0.186865 vn -0.822687 -0.430494 0.371258 vn -0.791650 -0.415723 0.447676 vn -0.918027 -0.258217 0.300882 vn -0.937254 -0.309427 0.160466 vn -0.967742 -0.095828 0.232887 vn -0.887478 -0.446669 -0.113132 vn -0.823542 -0.530992 -0.199500 vn -0.780023 -0.510422 -0.361919 vn -0.787255 -0.453078 -0.418195 vn -0.627461 -0.687063 -0.366375 vn -0.945311 -0.083621 -0.315256 vn -0.922422 -0.142796 -0.358776 vn -0.884823 -0.308390 -0.349223 vn -0.933470 -0.307077 -0.185095 vn -0.896695 -0.425733 -0.121067 vn -0.930509 -0.359386 0.070223 vn -0.906400 -0.325571 0.269051 vn -0.919706 -0.203894 0.335459 vn -0.916562 0.017518 0.399487 vn -0.872646 0.120151 0.473312 vn -0.902280 0.130192 0.410993 vn -0.612018 0.087954 0.785913 vn -0.245033 0.110691 0.963164 vn -0.433180 -0.720817 0.541063 vn -0.738304 -0.669881 0.078249 vn -0.935514 -0.274056 0.222816 vn -0.983215 0.103946 0.149754 vn -0.820948 -0.528428 -0.216285 vn -0.415967 -0.909360 -0.001129 vn -0.517930 -0.854274 -0.044069 vn -0.498276 -0.866329 -0.034242 vn -0.192816 -0.954222 0.228584 vn 0.137791 -0.875912 0.462355 vn 0.090579 -0.682363 0.725364 vn 0.152287 -0.864376 0.479202 vn 0.154180 -0.776391 0.611072 vn 0.084872 -0.916898 0.389904 vn 0.398877 -0.546800 0.736106 vn 0.394452 -0.199133 0.897061 vn -0.049226 -0.188482 0.980834 vn -0.113987 -0.758202 0.641957 vn -0.566668 -0.403760 0.718223 vn -0.561907 0.393536 0.727561 vn -0.942930 -0.175024 0.283212 vn -0.609180 -0.750755 0.255379 vn -0.298654 -0.881558 0.365581 vn -0.644642 -0.764367 -0.012574 vn -0.969481 -0.178594 -0.167821 vn -0.926695 0.194555 -0.321421 vn -0.858272 0.461989 -0.223334 vn -0.944304 0.273629 -0.182623 vn -0.844844 0.524796 0.103793 vn -0.455489 0.660909 0.596393 vn -0.850093 0.525956 -0.026093 vn -0.902676 0.416883 0.106357 vn -0.966247 0.250465 -0.060213 vn -0.925504 0.288736 0.245003 vn -0.933744 0.113559 0.339427 vn -0.979858 -0.078616 0.183386 vn -0.949522 -0.301950 0.084902 vn -0.968383 -0.170782 -0.181646 vn -0.983245 -0.050417 -0.174993 vn -0.998047 0.033784 0.051973 vn -0.986328 -0.133824 0.095859 vn -0.883908 -0.044099 0.465499 vn -0.806391 0.237159 0.541704 vn -0.995575 0.083407 -0.043001 vn -0.966643 0.198553 0.161748 vn -0.525559 0.506943 0.683187 vn -0.500259 0.569720 0.651997 vn 0.123569 0.401318 0.907529 vn 0.241310 0.509384 0.825983 vn 0.114078 0.510239 0.852412 vn 0.411206 0.253151 0.875668 vn 0.540056 0.172430 0.823756 vn 0.095157 0.087680 0.991577 vn 0.005646 -0.288217 0.957518 vn -0.164739 0.006165 0.986297 vn -0.177221 0.119236 0.976897 vn -0.106052 -0.216132 0.970580 vn -0.168554 -0.440321 0.881832 vn -0.249886 -0.423963 0.870479 vn -0.623096 0.235694 0.745750 vn -0.545701 -0.125126 0.828578 vn -0.088198 0.877865 0.470656 vn 0.116977 0.946379 0.301065 vn -0.113590 0.433210 0.894101 vn -0.047182 -0.338481 0.939787 vn 0.150792 -0.375622 0.914396 vn 0.326853 -0.444136 0.834193 vn 0.400067 -0.327158 0.856075 vn 0.142247 -0.318339 0.937223 vn 0.058290 -0.094272 0.993835 vn -0.100528 0.100955 0.989776 vn -0.007691 0.274819 0.961455 vn 0.297403 0.231361 0.926267 vn 0.433363 0.442427 0.785119 vn 0.081301 0.182684 0.979797 vn -0.614673 0.030610 0.788171 vn -0.861110 -0.192907 0.470351 vn -0.929044 -0.368694 -0.030183 vn -0.889523 -0.456801 0.007691 vn -0.890866 -0.016266 0.453932 vn -0.460524 0.740745 0.489029 vn -0.782891 0.002380 0.622120 vn -0.652303 0.569689 0.499893 vn -0.664785 0.567156 0.486129 vn -0.739280 0.124699 0.661733 vn -0.663472 -0.568499 0.486404 vn -0.948698 -0.024445 0.315165 vn -0.875027 0.302072 0.378216 vn -0.971648 -0.159612 0.174383 vn -0.967162 -0.211066 -0.141392 vn -0.940184 -0.038972 -0.338389 vn -0.874050 0.075777 -0.479843 vn -0.970061 0.173193 -0.170080 vn -0.993347 -0.060976 -0.097568 vn -0.534654 -0.619160 -0.575091 vn -0.816980 -0.380657 -0.433119 vn 0.724296 -0.316538 -0.612507 vn 0.360424 -0.709983 -0.604938 vn 0.149480 -0.079012 -0.985595 vn 0.371502 0.928404 -0.006592 vn -0.820673 0.403088 -0.404920 vn -0.770531 0.566851 0.291452 vn -0.696097 0.699973 -0.159429 vn 0.536149 0.804437 -0.255684 vn -0.714316 0.421125 -0.558855 vn 0.680380 0.372631 -0.631031 vn -0.098331 -0.269845 -0.957854 vn 0.624775 -0.144383 -0.767327 vn -0.918271 0.272622 -0.287088 vn -0.994934 0.080355 -0.060244 vn -0.963469 -0.267434 0.012543 vn -0.954161 -0.246284 -0.169897 vn -0.985412 -0.140141 0.096225 vn -0.956084 -0.234352 0.175939 vn -0.898434 -0.261696 0.352489 vn -0.726890 -0.208258 0.654378 vn -0.617084 -0.585131 0.526109 vn -0.667745 -0.111179 0.735984 vn -0.818354 -0.158208 0.552477 vn -0.915952 -0.250862 0.313120 vn -0.881405 -0.359661 0.306131 vn -0.716392 -0.594317 0.365398 vn -0.689444 -0.640706 0.337779 vn -0.928922 0.258065 0.265450 vn -0.840022 -0.506363 0.194769 vn -0.877132 -0.212958 0.430403 vn -0.612720 -0.106815 0.783013 vn -0.250862 -0.202094 0.946684 vn 0.247627 -0.386364 0.888455 vn 0.284677 0.064058 0.956450 vn -0.325236 0.229865 0.917234 vn -0.237831 -0.053835 0.969787 vn 0.143681 -0.150853 0.978027 vn 0.063509 -0.175176 0.982452 vn -0.413343 -0.003143 0.910550 vn -0.148839 0.291086 0.945036 vn -0.315836 0.564592 0.762535 vn -0.299509 0.561632 0.771264 vn -0.075991 -0.037599 0.996368 vn -0.321421 -0.573656 0.753380 vn -0.460036 0.120487 0.879665 vn -0.348613 0.739036 0.576403 vn -0.027253 0.244484 0.969237 vn -0.371502 -0.588794 0.717795 vn -0.224433 -0.026307 0.974120 vn -0.553850 -0.112888 0.824915 vn -0.462172 -0.212256 0.860988 vn -0.128819 -0.273324 0.953246 vn -0.340220 -0.165410 0.925657 vn -0.172369 -0.648457 0.741447 vn -0.191717 -0.602191 0.774957 vn 0.005310 -0.519059 0.854701 vn -0.268105 -0.164892 0.949156 vn -0.354228 0.196539 0.914243 vn -0.208625 -0.223029 0.952208 vn -0.589740 0.270547 0.760888 vn -0.797082 0.203253 0.568621 vn -0.858638 -0.155980 0.488235 vn -0.955657 0.072970 0.285257 vn -0.895718 0.350719 0.273232 vn -0.902951 0.362133 0.231330 vn -0.759209 0.302408 0.576250 vn -0.578997 0.324015 0.748161 vn -0.569109 0.365917 0.736320 vn -0.715415 0.391491 0.578661 vn -0.685781 0.580554 0.438826 vn -0.476699 0.620319 0.622822 vn -0.380261 0.386425 0.840266 vn -0.368938 0.296487 0.880856 vn -0.041139 0.337748 0.940306 vn 0.001465 0.348430 0.937315 vn -0.248299 0.573901 0.780358 vn -0.061495 0.863247 0.500961 vn -0.267434 0.893796 0.359996 vn 0.076571 0.993927 -0.078829 vn -0.454695 0.869228 0.193976 vn -0.237953 0.926054 -0.292856 vn 0.073519 0.737022 -0.671834 vn -0.422834 0.593646 -0.684652 vn 0.398083 0.772210 -0.495132 vn 0.647572 0.728416 -0.223670 vn 0.359111 0.917020 0.173345 vn 0.313456 0.747459 0.585681 vn 0.190619 0.556688 0.808527 vn 0.506180 0.251106 0.825037 vn 0.301187 0.060793 0.951598 vn -0.043458 0.059206 0.997284 vn -0.089846 -0.371563 0.924039 vn -0.086215 -0.263344 0.960814 vn 0.056825 -0.249611 0.966674 vn 0.143010 -0.157140 0.977142 vn 0.216407 -0.285195 0.933714 vn 0.555376 -0.061525 0.829279 vn 0.391491 -0.266549 0.880703 vn 0.367656 -0.231178 0.900754 vn 0.407178 -0.071383 0.910550 vn 0.192267 0.015809 0.981201 vn 0.407758 -0.191534 0.892758 vn 0.547410 -0.329936 0.769036 vn 0.587970 -0.473830 0.655538 vn 0.568896 -0.165258 0.805597 vn 0.678671 0.052339 0.732536 vn 0.599231 0.381634 0.703726 vn 0.539689 0.383160 0.749596 vn 0.637593 0.416028 0.648335 vn 0.756279 0.229865 0.612507 vn 0.816675 0.085482 0.570696 vn 0.952452 0.156346 0.261422 vn 0.777703 0.575579 0.252693 vn 0.525346 0.736534 0.426008 vn 0.872677 -0.134953 0.469253 vn 0.918241 -0.090640 -0.385479 vn -0.066164 0.934996 -0.348369 vn 0.412427 -0.311869 -0.855922 vn 0.133091 0.810511 -0.570360 vn 0.336558 0.684378 0.646748 vn 0.723167 0.399518 0.563341 vn 0.453993 0.376019 -0.807733 vn 0.947844 -0.285684 -0.141240 vn 0.611042 -0.402264 0.681722 vn 0.334330 -0.080996 0.938932 vn -0.085116 0.556475 0.826472 vn 0.403394 0.152470 0.902219 vn 0.533341 -0.105930 0.839229 vn 0.494522 -0.704062 0.509598 vn 0.485916 -0.711905 -0.506974 vn 0.675802 -0.637532 0.369854 vn 0.589923 -0.143895 -0.794488 vn -0.481521 0.177953 -0.858150 vn -0.254463 -0.213202 -0.943266 vn -0.669210 -0.111667 -0.734611 vn -0.749901 0.109134 -0.652455 vn -0.773095 0.252937 -0.581622 vn -0.775597 0.437391 -0.455092 vn -0.850703 0.404187 -0.335978 vn -0.819971 0.572008 0.019562 vn -0.629994 0.761773 -0.150945 vn -0.526688 0.752434 -0.395428 vn 0.199622 -0.473190 0.858028 vn -0.793176 -0.582324 0.178014 vn -0.523270 -0.538957 0.660024 vn 0.008759 -0.594378 0.804102 vn -0.282571 -0.058901 0.957427 vn -0.614673 0.029603 0.788202 vn -0.861141 -0.050172 0.505814 vn -0.860439 -0.103244 0.498947 vn -0.535752 -0.505020 0.676656 vn -0.277047 -0.112033 0.954283 vn -0.180425 -0.592669 0.784967 vn -0.493118 -0.610218 0.620014 vn -0.612110 -0.117161 0.782006 vn -0.848384 -0.179693 0.497879 vn -0.728660 -0.584429 0.356975 vn -0.892087 -0.378613 0.246529 vn -0.952666 0.202002 0.227088 vn -0.555925 0.779015 0.289834 vn -0.302622 0.952727 -0.026460 vn -0.418653 0.882839 0.212806 vn -0.673513 -0.123325 0.728782 vn -0.567583 0.234870 0.789087 vn -0.831507 0.444075 0.333689 g mesh1.002_mesh1-geometry_male-02-1noCullingID_male-02-1noCulling.JP usemtl male-02-1noCullingID_male-02-1noCulling.JP s 1 f 1/1/1 2/2/2 3/3/3 f 1/1/1 4/4/4 2/2/2 f 4/4/4 1/1/1 5/5/5 f 11/6/6 10/7/7 8/8/8 f 11/6/6 12/9/9 10/7/7 f 11/6/6 13/10/10 12/9/9 f 13/10/10 11/6/6 14/11/11 f 14/11/11 11/6/6 15/12/12 f 11/6/6 8/8/8 15/12/12 f 8/8/8 16/13/13 15/12/12 f 16/13/13 8/8/8 5/14/5 f 5/5/5 1/1/1 16/15/13 f 16/15/13 1/1/1 17/16/14 f 1/1/1 3/3/3 17/16/14 f 3/3/3 18/17/15 17/16/14 f 3/3/3 19/18/16 18/17/15 f 3/3/3 20/19/17 19/18/16 f 2/2/2 20/19/17 3/3/3 f 57/20/18 56/21/19 12/22/9 f 57/20/18 58/23/20 56/21/19 f 57/20/18 59/24/21 58/23/20 f 57/20/18 60/25/22 59/24/21 f 13/26/10 60/25/22 57/20/18 f 13/26/10 61/27/23 60/25/22 f 13/10/10 14/11/11 61/28/23 f 62/29/24 61/28/23 14/11/11 f 62/29/24 63/30/25 61/28/23 f 62/29/24 64/31/26 63/30/25 f 64/31/26 62/29/24 65/32/27 f 65/32/27 62/29/24 66/33/28 f 66/33/28 62/29/24 14/11/11 f 66/33/28 14/11/11 67/34/29 f 14/11/11 15/12/12 67/34/29 f 67/34/29 15/12/12 68/35/30 f 15/12/12 16/13/13 68/35/30 f 68/36/30 16/15/13 17/16/14 f 68/37/30 17/38/14 69/39/31 f 70/40/32 69/39/31 17/38/14 f 71/41/33 69/39/31 70/40/32 f 71/42/33 66/33/28 69/43/31 f 65/32/27 66/33/28 71/42/33 f 65/32/27 71/42/33 72/44/34 f 71/41/33 70/40/32 72/45/34 f 73/46/35 72/45/34 70/40/32 f 74/47/36 72/44/34 73/48/35 f 74/47/36 75/49/37 72/44/34 f 75/49/37 74/47/36 76/50/38 f 74/47/36 77/51/39 76/50/38 f 78/52/40 77/51/39 74/47/36 f 77/51/39 78/52/40 79/53/41 f 78/52/40 80/54/42 79/53/41 f 80/54/42 78/52/40 81/55/43 f 78/52/40 73/48/35 81/55/43 f 78/52/40 74/47/36 73/48/35 f 81/56/43 73/46/35 82/57/44 f 73/46/35 70/40/32 82/57/44 f 70/40/32 83/58/45 82/57/44 f 70/40/32 18/59/15 83/58/45 f 70/40/32 17/38/14 18/59/15 f 18/59/15 84/60/46 83/58/45 f 18/59/15 85/61/47 84/60/46 f 18/59/15 86/62/48 85/61/47 f 18/59/15 87/63/49 86/62/48 f 19/18/16 87/64/49 18/17/15 f 19/18/16 88/65/50 87/64/49 f 89/66/51 88/65/50 19/18/16 f 89/66/51 90/67/52 88/65/50 f 91/68/53 90/67/52 89/66/51 f 92/69/54 90/67/52 91/68/53 f 93/70/55 90/67/52 92/69/54 f 93/71/55 94/72/56 90/73/52 f 95/74/57 94/75/56 93/76/55 f 95/74/57 96/77/58 94/75/56 f 60/25/22 96/77/58 95/74/57 f 97/78/59 96/77/58 60/25/22 f 97/78/59 98/79/60 96/77/58 f 97/78/59 99/80/61 98/79/60 f 97/78/59 63/81/25 99/80/61 f 63/81/25 97/78/59 61/27/23 f 61/27/23 97/78/59 60/25/22 f 63/81/25 100/82/62 99/80/61 f 63/30/25 64/31/26 100/83/62 f 64/31/26 101/84/63 100/83/62 f 101/84/63 64/31/26 75/49/37 f 64/31/26 65/32/27 75/49/37 f 75/49/37 65/32/27 72/44/34 f 76/50/38 101/84/63 75/49/37 f 101/84/63 76/50/38 102/85/64 f 102/85/64 76/50/38 103/86/65 f 76/50/38 77/51/39 103/86/65 f 77/51/39 104/87/66 103/86/65 f 77/51/39 79/53/41 104/87/66 f 104/87/66 79/53/41 105/88/67 f 105/88/67 79/53/41 106/89/68 f 79/53/41 107/90/69 106/89/68 f 79/53/41 80/54/42 107/90/69 f 80/91/42 108/92/70 107/93/69 f 108/92/70 80/91/42 109/94/71 f 80/91/42 110/95/72 109/94/71 f 110/96/72 80/54/42 81/55/43 f 110/97/72 81/56/43 111/98/73 f 81/56/43 82/57/44 111/98/73 f 82/57/44 112/99/74 111/98/73 f 82/57/44 83/58/45 112/99/74 f 83/58/45 113/100/75 112/99/74 f 83/58/45 84/60/46 113/100/75 f 113/100/75 84/60/46 114/101/76 f 84/60/46 115/102/77 114/101/76 f 84/60/46 116/103/78 115/102/77 f 84/60/46 85/61/47 116/103/78 f 85/61/47 117/104/79 116/103/78 f 86/62/48 117/104/79 85/61/47 f 86/62/48 118/105/80 117/104/79 f 88/106/50 118/105/80 86/62/48 f 88/106/50 119/107/81 118/105/80 f 88/106/50 120/108/82 119/107/81 f 88/106/50 121/109/83 120/108/82 f 90/73/52 121/109/83 88/106/50 f 94/72/56 121/109/83 90/73/52 f 94/72/56 122/110/84 121/109/83 f 96/77/58 122/111/84 94/75/56 f 96/77/58 98/79/60 122/111/84 f 98/79/60 123/112/85 122/111/84 f 124/113/86 123/112/85 98/79/60 f 124/113/86 125/114/87 123/112/85 f 124/113/86 126/115/88 125/114/87 f 124/113/86 127/116/89 126/115/88 f 99/80/61 127/116/89 124/113/86 f 100/82/62 127/116/89 99/80/61 f 100/82/62 128/117/90 127/116/89 f 100/83/62 101/84/63 128/118/90 f 101/84/63 102/85/64 128/118/90 f 128/118/90 102/85/64 129/119/91 f 102/85/64 130/120/92 129/119/91 f 102/85/64 103/86/65 130/120/92 f 103/86/65 131/121/93 130/120/92 f 103/86/65 132/122/94 131/121/93 f 104/87/66 132/122/94 103/86/65 f 104/87/66 133/123/95 132/122/94 f 104/87/66 105/88/67 133/123/95 f 105/88/67 134/124/96 133/123/95 f 105/88/67 106/89/68 134/124/96 f 106/125/68 135/126/97 134/127/96 f 107/93/69 135/126/97 106/125/68 f 107/93/69 136/128/98 135/126/97 f 107/93/69 108/92/70 136/128/98 f 136/128/98 108/92/70 137/129/99 f 137/129/99 108/92/70 138/130/100 f 108/92/70 109/94/71 138/130/100 f 138/130/100 109/94/71 139/131/101 f 109/94/71 140/132/102 139/131/101 f 109/94/71 110/95/72 140/132/102 f 110/95/72 141/133/103 140/132/102 f 110/97/72 111/98/73 141/134/103 f 111/98/73 142/135/104 141/134/103 f 111/98/73 143/136/105 142/135/104 f 111/98/73 112/99/74 143/136/105 f 112/99/74 144/137/106 143/136/105 f 112/99/74 113/100/75 144/137/106 f 144/137/106 113/100/75 145/138/107 f 113/100/75 114/101/76 145/138/107 f 145/138/107 114/101/76 146/139/108 f 114/101/76 147/140/109 146/139/108 f 114/101/76 115/102/77 147/140/109 f 115/102/77 148/141/110 147/140/109 f 115/102/77 116/103/78 148/141/110 f 116/103/78 149/142/111 148/141/110 f 116/103/78 150/143/112 149/142/111 f 117/104/79 150/143/112 116/103/78 f 117/104/79 151/144/113 150/143/112 f 118/105/80 151/144/113 117/104/79 f 119/107/81 151/144/113 118/105/80 f 119/107/81 152/145/114 151/144/113 f 119/146/81 152/147/114 153/148/115 f 154/149/116 152/145/114 119/107/81 f 154/149/116 155/150/117 152/145/114 f 156/151/118 155/150/117 154/149/116 f 156/151/118 157/152/119 155/150/117 f 158/153/120 157/152/119 156/151/118 f 158/153/120 159/154/121 157/152/119 f 160/155/122 159/154/121 158/153/120 f 160/155/122 161/156/123 159/154/121 f 162/157/124 161/156/123 160/155/122 f 162/157/124 163/158/125 161/156/123 f 162/157/124 164/159/126 163/158/125 f 162/157/124 165/160/127 164/159/126 f 166/161/128 165/160/127 162/157/124 f 166/161/128 167/162/129 165/160/127 f 168/163/130 167/162/129 166/161/128 f 168/163/130 169/164/131 167/162/129 f 170/165/132 169/164/131 168/163/130 f 170/165/132 171/166/133 169/164/131 f 172/167/134 171/166/133 170/165/132 f 129/168/91 171/166/133 172/167/134 f 129/168/91 173/169/135 171/166/133 f 129/119/91 130/120/92 173/170/135 f 130/120/92 174/171/136 173/170/135 f 130/120/92 131/121/93 174/171/136 f 131/121/93 175/172/137 174/171/136 f 131/121/93 176/173/138 175/172/137 f 131/121/93 132/122/94 176/173/138 f 132/122/94 177/174/139 176/173/138 f 132/122/94 133/123/95 177/174/139 f 133/123/95 178/175/140 177/174/139 f 133/123/95 134/124/96 178/175/140 f 134/124/96 179/176/141 178/175/140 f 134/127/96 180/177/142 179/178/141 f 135/126/97 180/177/142 134/127/96 f 181/179/143 180/177/142 135/126/97 f 180/177/142 181/179/143 182/180/144 f 181/179/143 183/181/145 182/180/144 f 181/179/143 184/182/146 183/181/145 f 185/183/147 184/182/146 181/179/143 f 184/182/146 185/183/147 186/184/148 f 185/183/147 137/129/99 186/184/148 f 185/183/147 136/128/98 137/129/99 f 136/128/98 185/183/147 135/126/97 f 135/126/97 185/183/147 181/179/143 f 186/184/148 137/129/99 187/185/149 f 137/129/99 138/130/100 187/185/149 f 187/185/149 138/130/100 188/186/150 f 138/130/100 139/131/101 188/186/150 f 139/131/101 189/187/151 188/186/150 f 139/131/101 190/188/152 189/187/151 f 140/132/102 190/188/152 139/131/101 f 140/132/102 191/189/153 190/188/152 f 141/133/103 191/189/153 140/132/102 f 141/133/103 142/190/104 191/189/153 f 142/190/104 192/191/154 191/189/153 f 192/191/154 142/190/104 193/192/155 f 143/136/105 193/193/155 142/135/104 f 143/136/105 144/137/106 193/193/155 f 144/137/106 194/194/156 193/193/155 f 144/137/106 145/138/107 194/194/156 f 194/194/156 145/138/107 195/195/157 f 145/138/107 146/139/108 195/195/157 f 195/195/157 146/139/108 196/196/158 f 146/139/108 197/197/159 196/196/158 f 146/139/108 147/140/109 197/197/159 f 147/140/109 198/198/160 197/197/159 f 147/140/109 148/141/110 198/198/160 f 148/141/110 199/199/161 198/198/160 f 148/141/110 149/142/111 199/199/161 f 149/142/111 200/200/162 199/199/161 f 149/142/111 150/143/112 200/200/162 f 150/143/112 201/201/163 200/200/162 f 150/143/112 202/202/164 201/201/163 f 150/143/112 203/203/165 202/202/164 f 151/144/113 203/203/165 150/143/112 f 151/144/113 204/204/166 203/203/165 f 152/145/114 204/204/166 151/144/113 f 155/150/117 204/204/166 152/145/114 f 155/150/117 205/205/167 204/204/166 f 157/152/119 205/205/167 155/150/117 f 157/152/119 206/206/168 205/205/167 f 157/152/119 159/154/121 206/206/168 f 159/154/121 207/207/169 206/206/168 f 161/156/123 207/207/169 159/154/121 f 161/156/123 208/208/170 207/207/169 f 163/158/125 208/208/170 161/156/123 f 163/158/125 209/209/171 208/208/170 f 163/158/125 210/210/172 209/209/171 f 164/159/126 210/210/172 163/158/125 f 164/159/126 211/211/173 210/210/172 f 212/212/174 211/211/173 164/159/126 f 212/212/174 213/213/175 211/211/173 f 214/214/176 213/213/175 212/212/174 f 215/215/177 213/213/175 214/214/176 f 215/215/177 216/216/178 213/213/175 f 217/217/179 216/216/178 215/215/177 f 217/217/179 218/218/180 216/216/178 f 217/219/179 219/220/181 218/221/180 f 220/222/182 219/220/181 217/219/179 f 220/222/182 221/223/183 219/220/181 f 222/224/184 221/223/183 220/222/182 f 221/223/183 222/224/184 223/225/185 f 222/224/184 224/226/186 223/225/185 f 222/224/184 225/227/187 224/226/186 f 225/227/187 222/224/184 226/228/188 f 226/228/188 222/224/184 220/222/182 f 226/228/188 220/222/182 227/229/189 f 227/229/189 220/222/182 217/219/179 f 227/230/189 217/217/179 215/215/177 f 227/230/189 215/215/177 228/231/190 f 228/231/190 215/215/177 214/214/176 f 229/232/191 228/231/190 214/214/176 f 230/233/192 228/231/190 229/232/191 f 230/233/192 227/230/189 228/231/190 f 230/233/192 231/234/193 227/230/189 f 232/235/194 231/234/193 230/233/192 f 232/236/194 233/237/195 231/238/193 f 174/171/136 233/237/195 232/236/194 f 174/171/136 175/172/137 233/237/195 f 175/172/137 225/227/187 233/237/195 f 175/172/137 176/173/138 225/227/187 f 225/227/187 176/173/138 224/226/186 f 176/173/138 234/239/196 224/226/186 f 176/173/138 177/174/139 234/239/196 f 177/174/139 235/240/197 234/239/196 f 177/174/139 178/175/140 235/240/197 f 178/175/140 236/241/198 235/240/197 f 178/175/140 179/176/141 236/241/198 f 179/176/141 194/194/156 236/241/198 f 179/242/141 237/243/199 194/244/156 f 238/245/200 237/243/199 179/242/141 f 239/246/201 237/243/199 238/245/200 f 237/243/199 239/246/201 240/247/202 f 241/248/203 240/247/202 239/246/201 f 241/248/203 242/249/204 240/247/202 f 243/250/205 242/249/204 241/248/203 f 243/250/205 244/251/206 242/249/204 f 245/252/207 244/251/206 243/250/205 f 245/252/207 246/253/208 244/251/206 f 247/254/209 246/253/208 245/252/207 f 247/254/209 248/255/210 246/253/208 f 247/254/209 249/256/211 248/255/210 f 250/257/212 249/258/211 247/259/209 f 251/260/213 249/258/211 250/257/212 f 251/260/213 252/261/214 249/258/211 f 251/260/213 253/262/215 252/261/214 f 251/260/213 254/263/216 253/262/215 f 250/257/212 254/263/216 251/260/213 f 255/264/217 254/263/216 250/257/212 f 255/264/217 256/265/218 254/263/216 f 257/266/219 256/265/218 255/264/217 f 257/266/219 258/267/220 256/265/218 f 257/266/219 259/268/221 258/267/220 f 260/269/222 259/268/221 257/266/219 f 260/269/222 261/270/223 259/268/221 f 260/269/222 262/271/224 261/270/223 f 262/271/224 260/269/222 263/272/225 f 263/272/225 260/269/222 264/273/226 f 260/269/222 257/266/219 264/273/226 f 264/273/226 257/266/219 255/264/217 f 264/273/226 255/264/217 265/274/227 f 265/274/227 255/264/217 250/257/212 f 250/257/212 247/259/209 265/274/227 f 265/274/227 247/259/209 245/275/207 f 265/274/227 245/275/207 266/276/228 f 266/276/228 245/275/207 243/277/205 f 266/276/228 243/277/205 267/278/229 f 267/278/229 243/277/205 241/279/203 f 267/278/229 241/279/203 268/280/230 f 268/280/230 241/279/203 239/281/201 f 268/280/230 239/281/201 182/180/144 f 182/180/144 239/281/201 238/282/200 f 180/177/142 182/180/144 238/282/200 f 180/177/142 238/282/200 179/178/141 f 182/180/144 183/181/145 268/280/230 f 183/181/145 269/283/231 268/280/230 f 183/181/145 270/284/232 269/283/231 f 184/182/146 270/284/232 183/181/145 f 270/284/232 184/182/146 271/285/233 f 184/182/146 186/184/148 271/285/233 f 271/285/233 186/184/148 272/286/234 f 186/184/148 187/185/149 272/286/234 f 272/286/234 187/185/149 273/287/235 f 187/185/149 188/186/150 273/287/235 f 188/186/150 274/288/236 273/287/235 f 188/186/150 189/187/151 274/288/236 f 189/187/151 275/289/237 274/288/236 f 189/187/151 276/290/238 275/289/237 f 190/188/152 276/290/238 189/187/151 f 190/188/152 277/291/239 276/290/238 f 191/189/153 277/291/239 190/188/152 f 191/189/153 192/191/154 277/291/239 f 192/191/154 237/243/199 277/291/239 f 237/243/199 192/191/154 193/192/155 f 237/243/199 193/192/155 194/244/156 f 277/291/239 237/243/199 240/247/202 f 277/291/239 240/247/202 242/249/204 f 242/249/204 276/290/238 277/291/239 f 244/251/206 276/290/238 242/249/204 f 244/251/206 275/289/237 276/290/238 f 246/253/208 275/289/237 244/251/206 f 246/253/208 278/292/240 275/289/237 f 248/255/210 278/292/240 246/253/208 f 248/255/210 279/293/241 278/292/240 f 280/294/242 279/293/241 248/255/210 f 280/294/242 281/295/243 279/293/241 f 280/294/242 282/296/244 281/295/243 f 249/256/211 282/296/244 280/294/242 f 249/256/211 283/297/245 282/296/244 f 249/258/211 284/298/246 283/299/245 f 252/261/214 284/298/246 249/258/211 f 252/261/214 285/300/247 284/298/246 f 252/261/214 253/262/215 285/300/247 f 253/262/215 286/301/248 285/300/247 f 287/302/249 286/301/248 253/262/215 f 287/302/249 288/303/250 286/301/248 f 287/302/249 289/304/251 288/303/250 f 256/265/218 289/304/251 287/302/249 f 256/265/218 258/267/220 289/304/251 f 258/267/220 290/305/252 289/304/251 f 259/268/221 290/305/252 258/267/220 f 261/270/223 290/305/252 259/268/221 f 261/270/223 291/306/253 290/305/252 f 261/270/223 292/307/254 291/306/253 f 262/271/224 292/307/254 261/270/223 f 262/271/224 270/284/232 292/307/254 f 270/284/232 262/271/224 269/283/231 f 269/283/231 262/271/224 263/272/225 f 269/283/231 263/272/225 267/278/229 f 267/278/229 263/272/225 266/276/228 f 263/272/225 264/273/226 266/276/228 f 266/276/228 264/273/226 265/274/227 f 268/280/230 269/283/231 267/278/229 f 270/284/232 271/285/233 292/307/254 f 292/307/254 271/285/233 293/308/255 f 271/285/233 272/286/234 293/308/255 f 293/308/255 272/286/234 294/309/256 f 272/286/234 273/287/235 294/309/256 f 273/287/235 295/310/257 294/309/256 f 273/287/235 274/288/236 295/310/257 f 274/288/236 278/292/240 295/310/257 f 274/288/236 275/289/237 278/292/240 f 295/310/257 278/292/240 279/293/241 f 295/310/257 279/293/241 296/311/258 f 296/311/258 279/293/241 281/295/243 f 296/311/258 281/295/243 297/312/259 f 297/312/259 281/295/243 298/313/260 f 282/296/244 298/313/260 281/295/243 f 282/296/244 299/314/261 298/313/260 f 300/315/262 299/314/261 282/296/244 f 300/315/262 301/316/263 299/314/261 f 300/317/262 302/318/264 301/319/263 f 303/320/265 302/318/264 300/317/262 f 303/320/265 304/321/266 302/318/264 f 303/320/265 305/322/267 304/321/266 f 284/298/246 305/322/267 303/320/265 f 284/298/246 285/300/247 305/322/267 f 285/300/247 306/323/268 305/322/267 f 286/301/248 306/323/268 285/300/247 f 286/301/248 307/324/269 306/323/268 f 286/301/248 288/303/250 307/324/269 f 288/303/250 308/325/270 307/324/269 f 288/303/250 309/326/271 308/325/270 f 289/304/251 309/326/271 288/303/250 f 289/304/251 290/305/252 309/326/271 f 290/305/252 310/327/272 309/326/271 f 311/328/273 310/327/272 290/305/252 f 311/328/273 312/329/274 310/327/272 f 297/312/259 312/329/274 311/328/273 f 297/312/259 298/313/260 312/329/274 f 312/329/274 298/313/260 313/330/275 f 299/314/261 313/330/275 298/313/260 f 299/314/261 314/331/276 313/330/275 f 301/316/263 314/331/276 299/314/261 f 301/316/263 315/332/277 314/331/276 f 316/333/278 315/334/277 301/319/263 f 316/333/278 317/335/279 315/334/277 f 316/333/278 318/336/280 317/335/279 f 316/333/278 319/337/281 318/336/280 f 302/318/264 319/337/281 316/333/278 f 302/318/264 304/321/266 319/337/281 f 304/321/266 320/338/282 319/337/281 f 321/339/283 320/338/282 304/321/266 f 321/339/283 322/340/284 320/338/282 f 321/339/283 323/341/285 322/340/284 f 306/323/268 323/341/285 321/339/283 f 306/323/268 307/324/269 323/341/285 f 307/324/269 324/342/286 323/341/285 f 307/324/269 308/325/270 324/342/286 f 308/325/270 325/343/287 324/342/286 f 326/344/288 325/343/287 308/325/270 f 326/344/288 327/345/289 325/343/287 f 328/346/290 327/345/289 326/344/288 f 328/346/290 329/347/291 327/345/289 f 328/346/290 313/330/275 329/347/291 f 312/329/274 313/330/275 328/346/290 f 312/329/274 328/346/290 310/327/272 f 310/327/272 328/346/290 326/344/288 f 310/327/272 326/344/288 309/326/271 f 309/326/271 326/344/288 308/325/270 f 314/331/276 329/347/291 313/330/275 f 314/331/276 330/348/292 329/347/291 f 315/332/277 330/348/292 314/331/276 f 315/332/277 331/349/293 330/348/292 f 315/334/277 317/335/279 331/350/293 f 332/351/294 331/350/293 317/335/279 f 332/351/294 333/352/295 331/350/293 f 333/352/295 332/351/294 334/353/296 f 332/351/294 335/354/297 334/353/296 f 332/351/294 336/355/298 335/354/297 f 332/351/294 317/335/279 336/355/298 f 336/355/298 317/335/279 318/336/280 f 337/356/299 336/355/298 318/336/280 f 337/356/299 338/357/300 336/355/298 f 337/356/299 339/358/301 338/357/300 f 337/356/299 340/359/302 339/358/301 f 341/360/303 340/359/302 337/356/299 f 341/360/303 342/361/304 340/359/302 f 320/338/282 342/361/304 341/360/303 f 320/338/282 322/340/284 342/361/304 f 322/340/284 343/362/305 342/361/304 f 322/340/284 344/363/306 343/362/305 f 323/341/285 344/363/306 322/340/284 f 323/341/285 324/342/286 344/363/306 f 324/342/286 345/364/307 344/363/306 f 325/343/287 345/364/307 324/342/286 f 325/343/287 346/365/308 345/364/307 f 327/345/289 346/365/308 325/343/287 f 327/345/289 347/366/309 346/365/308 f 327/345/289 329/347/291 347/366/309 f 330/348/292 347/366/309 329/347/291 f 330/348/292 348/367/310 347/366/309 f 331/349/293 348/367/310 330/348/292 f 333/368/295 348/367/310 331/349/293 f 333/368/295 349/369/311 348/367/310 f 333/368/295 350/370/312 349/369/311 f 333/352/295 334/353/296 350/371/312 f 351/372/313 350/373/312 334/374/296 f 351/372/313 352/375/314 350/373/312 f 351/372/313 353/376/315 352/375/314 f 351/372/313 354/377/316 353/376/315 f 355/378/317 354/377/316 351/372/313 f 356/379/318 354/380/316 355/381/317 f 357/382/319 354/380/316 356/379/318 f 357/382/319 353/383/315 354/380/316 f 357/382/319 358/384/320 353/383/315 f 357/382/319 359/385/321 358/384/320 f 360/386/322 359/385/321 357/382/319 f 345/364/307 359/385/321 360/386/322 f 346/365/308 359/385/321 345/364/307 f 346/365/308 361/387/323 359/385/321 f 346/365/308 347/366/309 361/387/323 f 348/367/310 361/387/323 347/366/309 f 349/369/311 361/387/323 348/367/310 f 358/384/320 361/387/323 349/369/311 f 359/385/321 361/387/323 358/384/320 f 349/369/311 352/388/314 358/384/320 f 350/370/312 352/388/314 349/369/311 f 352/388/314 353/383/315 358/384/320 f 345/364/307 360/386/322 344/363/306 f 344/363/306 360/386/322 343/362/305 f 343/362/305 360/386/322 356/379/318 f 356/379/318 360/386/322 357/382/319 f 343/362/305 356/379/318 362/389/324 f 356/379/318 355/381/317 362/389/324 f 362/389/324 355/381/317 363/390/325 f 363/391/325 355/378/317 351/372/313 f 339/392/301 363/391/325 351/372/313 f 340/359/302 363/390/325 339/358/301 f 340/359/302 362/389/324 363/390/325 f 340/359/302 342/361/304 362/389/324 f 342/361/304 343/362/305 362/389/324 f 339/392/301 351/372/313 338/393/300 f 338/393/300 351/372/313 335/394/297 f 335/394/297 351/372/313 334/374/296 f 336/355/298 338/357/300 335/354/297 f 320/338/282 341/360/303 319/337/281 f 319/337/281 341/360/303 318/336/280 f 337/356/299 318/336/280 341/360/303 f 306/323/268 321/339/283 305/322/267 f 305/322/267 321/339/283 304/321/266 f 301/319/263 302/318/264 316/333/278 f 364/395/326 297/312/259 311/328/273 f 364/395/326 296/311/258 297/312/259 f 294/309/256 296/311/258 364/395/326 f 294/309/256 295/310/257 296/311/258 f 293/308/255 294/309/256 364/395/326 f 291/306/253 293/308/255 364/395/326 f 292/307/254 293/308/255 291/306/253 f 291/306/253 364/395/326 311/328/273 f 291/306/253 311/328/273 290/305/252 f 284/298/246 303/320/265 283/299/245 f 303/320/265 300/317/262 283/299/245 f 283/297/245 300/315/262 282/296/244 f 256/265/218 287/302/249 254/263/216 f 254/263/216 287/302/249 253/262/215 f 249/256/211 280/294/242 248/255/210 f 236/241/198 194/194/156 195/195/157 f 236/241/198 195/195/157 365/396/327 f 365/396/327 195/195/157 196/196/158 f 365/396/327 196/196/158 366/397/328 f 196/196/158 197/197/159 366/397/328 f 197/197/159 367/398/329 366/397/328 f 197/197/159 198/198/160 367/398/329 f 198/198/160 368/399/330 367/398/329 f 198/198/160 199/199/161 368/399/330 f 199/199/161 369/400/331 368/399/330 f 199/199/161 370/401/332 369/400/331 f 199/199/161 200/200/162 370/401/332 f 200/200/162 371/402/333 370/401/332 f 200/200/162 201/201/163 371/402/333 f 202/202/164 371/402/333 201/201/163 f 202/202/164 372/403/334 371/402/333 f 373/404/335 372/403/334 202/202/164 f 373/404/335 374/405/336 372/403/334 f 373/406/335 374/407/336 375/408/337 f 373/404/335 376/409/338 374/405/336 f 205/205/167 376/409/338 373/404/335 f 205/205/167 206/206/168 376/409/338 f 206/206/168 377/410/339 376/409/338 f 206/206/168 207/207/169 377/410/339 f 207/207/169 378/411/340 377/410/339 f 207/207/169 379/412/341 378/411/340 f 208/208/170 379/412/341 207/207/169 f 208/208/170 380/413/342 379/412/341 f 209/209/171 380/413/342 208/208/170 f 209/209/171 381/414/343 380/413/342 f 382/415/344 381/414/343 209/209/171 f 382/415/344 383/416/345 381/414/343 f 384/417/346 383/416/345 382/415/344 f 384/417/346 385/418/347 383/416/345 s off f 384/417/348 386/419/348 385/418/348 s 1 f 387/420/349 386/419/350 384/417/346 f 387/420/349 388/421/351 386/419/350 f 387/420/349 389/422/352 388/421/351 f 390/423/353 389/422/352 387/420/349 f 390/423/353 391/424/354 389/422/352 f 218/218/180 391/424/354 390/423/353 f 218/221/180 392/425/355 391/426/354 f 218/221/180 219/220/181 392/425/355 f 219/220/181 393/427/356 392/425/355 f 219/220/181 221/223/183 393/427/356 f 393/427/356 221/223/183 394/428/357 f 221/223/183 223/225/185 394/428/357 f 394/428/357 223/225/185 395/429/358 f 223/225/185 234/239/196 395/429/358 f 224/226/186 234/239/196 223/225/185 f 234/239/196 235/240/197 395/429/358 f 395/429/358 235/240/197 396/430/359 f 235/240/197 397/431/360 396/430/359 f 235/240/197 365/396/327 397/431/360 f 235/240/197 236/241/198 365/396/327 f 365/396/327 366/397/328 397/431/360 f 397/431/360 366/397/328 398/432/361 f 366/397/328 367/398/329 398/432/361 f 367/398/329 399/433/362 398/432/361 f 367/398/329 368/399/330 399/433/362 f 368/399/330 400/434/363 399/433/362 f 368/399/330 369/400/331 400/434/363 f 369/400/331 401/435/364 400/434/363 f 369/400/331 402/436/365 401/435/364 f 369/400/331 370/401/332 402/436/365 f 370/401/332 403/437/366 402/436/365 f 370/401/332 371/402/333 403/437/366 f 371/402/333 372/403/334 403/437/366 f 372/403/334 404/438/367 403/437/366 f 372/403/334 374/405/336 404/438/367 f 374/405/336 405/439/368 404/438/367 f 374/407/336 405/440/368 406/441/369 f 374/405/336 407/442/370 405/439/368 f 376/409/338 407/442/370 374/405/336 f 376/409/338 377/410/339 407/442/370 f 377/410/339 378/411/340 407/442/370 f 378/411/340 408/443/371 407/442/370 f 378/411/340 409/444/372 408/443/371 f 379/412/341 409/444/372 378/411/340 f 379/412/341 410/445/373 409/444/372 f 380/413/342 410/445/373 379/412/341 f 380/413/342 411/446/374 410/445/373 f 381/414/343 411/446/374 380/413/342 f 381/414/343 412/447/375 411/446/374 f 383/416/345 412/447/375 381/414/343 f 383/416/345 413/448/376 412/447/375 f 385/418/347 413/448/376 383/416/345 f 385/418/347 414/449/377 413/448/376 f 415/450/378 414/449/377 385/418/347 f 415/450/378 416/451/379 414/449/377 f 415/450/378 417/452/380 416/451/379 f 418/453/381 417/452/380 415/450/378 f 418/453/381 419/454/382 417/452/380 f 420/455/383 419/454/382 418/453/381 f 421/456/384 419/454/382 420/455/383 f 419/454/382 421/456/384 422/457/385 f 421/456/384 423/458/386 422/457/385 f 421/456/384 424/459/387 423/458/386 f 425/460/388 424/459/387 421/456/384 f 425/460/388 426/461/389 424/459/387 f 427/462/390 426/461/389 425/460/388 f 427/463/390 428/464/391 426/465/389 f 427/463/390 429/466/392 428/464/391 f 430/467/393 429/466/392 427/463/390 f 430/467/393 431/468/394 429/466/392 f 391/426/354 431/468/394 430/467/393 f 391/426/354 392/425/355 431/468/394 f 392/425/355 432/469/395 431/468/394 f 392/425/355 393/427/356 432/469/395 f 432/469/395 393/427/356 433/470/396 f 393/427/356 394/428/357 433/470/396 f 433/470/396 394/428/357 434/471/397 f 394/428/357 395/429/358 434/471/397 f 434/471/397 395/429/358 396/430/359 f 434/471/397 396/430/359 435/472/398 f 435/472/398 396/430/359 436/473/399 f 396/430/359 397/431/360 436/473/399 f 436/473/399 397/431/360 398/432/361 f 436/473/399 398/432/361 437/474/400 f 399/433/362 437/474/400 398/432/361 f 399/433/362 438/475/401 437/474/400 f 400/434/363 438/475/401 399/433/362 f 400/434/363 439/476/402 438/475/401 f 401/435/364 439/476/402 400/434/363 f 401/435/364 440/477/403 439/476/402 f 401/435/364 441/478/404 440/477/403 f 402/436/365 441/478/404 401/435/364 f 402/436/365 442/479/405 441/478/404 f 403/437/366 442/479/405 402/436/365 f 404/438/367 442/479/405 403/437/366 f 404/438/367 443/480/406 442/479/405 f 405/439/368 443/480/406 404/438/367 f 405/439/368 444/481/407 443/480/406 f 408/443/371 444/481/407 405/439/368 f 408/443/371 445/482/408 444/481/407 f 409/444/372 445/482/408 408/443/371 f 409/444/372 446/483/409 445/482/408 f 410/445/373 446/483/409 409/444/372 f 410/445/373 447/484/410 446/483/409 f 411/446/374 447/484/410 410/445/373 f 411/446/374 448/485/411 447/484/410 f 412/447/375 448/485/411 411/446/374 f 413/448/376 448/485/411 412/447/375 f 413/448/376 449/486/412 448/485/411 f 414/449/377 449/486/412 413/448/376 f 414/449/377 450/487/413 449/486/412 f 416/451/379 450/487/413 414/449/377 f 416/451/379 451/488/414 450/487/413 f 452/489/415 451/488/414 416/451/379 f 452/489/415 453/490/416 451/488/414 f 454/491/417 453/490/416 452/489/415 f 455/492/418 453/490/416 454/491/417 f 455/492/418 456/493/419 453/490/416 f 456/493/419 457/494/420 453/490/416 f 453/490/416 457/494/420 458/495/421 f 457/494/420 459/496/422 458/495/421 f 458/495/421 459/496/422 460/497/423 f 459/496/422 461/498/424 460/497/423 f 460/497/423 461/498/424 462/499/425 f 461/498/424 463/500/426 462/499/425 f 462/499/425 463/500/426 464/501/427 f 464/501/427 463/500/426 465/502/428 f 465/502/428 463/500/426 466/503/429 f 465/502/428 466/503/429 467/504/430 f 467/504/430 466/503/429 468/505/431 f 467/504/430 468/505/431 469/506/432 f 470/507/433 467/504/430 469/506/432 f 471/508/434 467/504/430 470/507/433 f 471/508/434 465/502/428 467/504/430 f 472/509/435 465/502/428 471/508/434 f 472/509/435 464/501/427 465/502/428 f 473/510/436 464/501/427 472/509/435 f 462/499/425 464/501/427 473/510/436 f 462/499/425 473/510/436 474/511/437 f 474/511/437 473/510/436 475/512/438 f 475/512/438 473/510/436 472/509/435 f 475/512/438 472/509/435 476/513/439 f 476/513/439 472/509/435 471/508/434 f 476/513/439 471/508/434 477/514/440 f 477/514/440 471/508/434 478/515/441 f 478/515/441 471/508/434 479/516/442 f 479/516/442 471/508/434 470/507/433 f 479/516/442 470/507/433 480/517/443 f 480/517/443 470/507/433 481/518/444 f 470/507/433 469/506/432 481/518/444 f 482/519/445 480/517/443 481/518/444 f 482/519/445 483/520/446 480/517/443 f 482/519/445 484/521/447 483/520/446 f 485/522/448 484/521/447 482/519/445 f 485/522/448 486/523/449 484/521/447 f 487/524/450 486/523/449 485/522/448 f 487/524/450 488/525/451 486/523/449 f 489/526/452 488/525/451 487/524/450 f 489/526/452 490/527/453 488/525/451 f 491/528/454 490/527/453 489/526/452 f 491/528/454 492/529/455 490/527/453 f 493/530/456 492/529/455 491/528/454 f 493/530/456 494/531/457 492/529/455 f 495/532/458 494/531/457 493/530/456 f 495/532/458 496/533/459 494/531/457 f 432/469/395 496/533/459 495/532/458 f 432/469/395 433/470/396 496/533/459 f 496/533/459 433/470/396 497/534/460 f 433/470/396 434/471/397 497/534/460 f 497/534/460 434/471/397 435/472/398 f 497/534/460 435/472/398 498/535/461 f 498/535/461 435/472/398 499/536/462 f 435/472/398 436/473/399 499/536/462 f 499/536/462 436/473/399 437/474/400 f 499/536/462 437/474/400 500/537/463 f 438/475/401 500/537/463 437/474/400 f 438/475/401 501/538/464 500/537/463 f 439/476/402 501/538/464 438/475/401 f 439/476/402 502/539/465 501/538/464 f 440/477/403 502/539/465 439/476/402 f 440/477/403 503/540/466 502/539/465 f 440/477/403 504/541/467 503/540/466 f 441/478/404 504/541/467 440/477/403 f 441/478/404 505/542/468 504/541/467 f 442/479/405 505/542/468 441/478/404 f 443/480/406 505/542/468 442/479/405 f 443/480/406 506/543/469 505/542/468 f 444/481/407 506/543/469 443/480/406 f 444/481/407 507/544/470 506/543/469 f 445/482/408 507/544/470 444/481/407 f 445/482/408 508/545/471 507/544/470 f 445/482/408 446/483/409 508/545/471 f 446/483/409 509/546/472 508/545/471 f 446/483/409 510/547/473 509/546/472 f 447/484/410 510/547/473 446/483/409 f 448/485/411 510/547/473 447/484/410 f 449/486/412 510/547/473 448/485/411 f 449/486/412 511/548/474 510/547/473 f 450/487/413 511/548/474 449/486/412 f 450/487/413 512/549/475 511/548/474 f 451/488/414 512/549/475 450/487/413 f 451/488/414 458/495/421 512/549/475 f 453/490/416 458/495/421 451/488/414 f 458/495/421 513/550/476 512/549/475 f 458/495/421 460/497/423 513/550/476 f 460/497/423 474/511/437 513/550/476 f 460/497/423 462/499/425 474/511/437 f 513/550/476 474/511/437 514/551/477 f 474/511/437 475/512/438 514/551/477 f 514/551/477 475/512/438 515/552/478 f 515/552/478 475/512/438 476/513/439 f 515/552/478 476/513/439 516/553/479 f 516/553/479 476/513/439 477/514/440 f 516/553/479 477/514/440 517/554/480 f 517/554/480 477/514/440 518/555/481 f 518/555/481 477/514/440 478/515/441 f 519/556/482 518/555/481 478/515/441 f 520/557/483 518/555/481 519/556/482 f 520/557/483 521/558/484 518/555/481 f 503/540/466 521/558/484 520/557/483 f 504/541/467 521/558/484 503/540/466 f 504/541/467 522/559/485 521/558/484 f 505/542/468 522/559/485 504/541/467 f 506/543/469 522/559/485 505/542/468 f 506/543/469 523/560/486 522/559/485 f 507/544/470 523/560/486 506/543/469 f 507/544/470 524/561/487 523/560/486 f 507/544/470 508/545/471 524/561/487 f 508/545/471 525/562/488 524/561/487 f 508/545/471 509/546/472 525/562/488 f 509/546/472 526/563/489 525/562/488 f 511/548/474 526/563/489 509/546/472 f 512/549/475 526/563/489 511/548/474 f 512/549/475 513/550/476 526/563/489 f 513/550/476 514/551/477 526/563/489 f 526/563/489 514/551/477 525/562/488 f 525/562/488 514/551/477 515/552/478 f 524/561/487 525/562/488 515/552/478 f 524/561/487 515/552/478 516/553/479 f 524/561/487 516/553/479 523/560/486 f 523/560/486 516/553/479 517/554/480 f 523/560/486 517/554/480 522/559/485 f 522/559/485 517/554/480 521/558/484 f 521/558/484 517/554/480 518/555/481 f 511/548/474 509/546/472 510/547/473 f 503/540/466 520/557/483 527/564/490 f 527/564/490 520/557/483 528/565/491 f 520/557/483 519/556/482 528/565/491 f 528/565/491 519/556/482 529/566/492 f 519/556/482 530/567/493 529/566/492 f 519/556/482 478/515/441 530/567/493 f 530/567/493 478/515/441 479/516/442 f 530/567/493 479/516/442 483/520/446 f 483/520/446 479/516/442 480/517/443 f 530/567/493 483/520/446 484/521/447 f 529/566/492 530/567/493 484/521/447 f 529/566/492 484/521/447 486/523/449 f 531/568/494 529/566/492 486/523/449 f 528/565/491 529/566/492 531/568/494 f 532/569/495 528/565/491 531/568/494 f 527/564/490 528/565/491 532/569/495 f 533/570/496 527/564/490 532/569/495 f 502/539/465 527/564/490 533/570/496 f 503/540/466 527/564/490 502/539/465 f 502/539/465 533/570/496 501/538/464 f 501/538/464 533/570/496 534/571/497 f 534/571/497 533/570/496 535/572/498 f 533/570/496 532/569/495 535/572/498 f 535/572/498 532/569/495 536/573/499 f 536/573/499 532/569/495 531/568/494 f 488/525/451 536/573/499 531/568/494 f 490/527/453 536/573/499 488/525/451 f 490/527/453 537/574/500 536/573/499 f 492/529/455 537/574/500 490/527/453 f 492/529/455 538/575/501 537/574/500 f 494/531/457 538/575/501 492/529/455 f 494/531/457 539/576/502 538/575/501 f 496/533/459 539/576/502 494/531/457 f 496/533/459 497/534/460 539/576/502 f 539/576/502 497/534/460 498/535/461 f 539/576/502 498/535/461 540/577/503 f 540/577/503 498/535/461 541/578/504 f 498/535/461 499/536/462 541/578/504 f 541/578/504 499/536/462 500/537/463 f 541/578/504 500/537/463 534/571/497 f 501/538/464 534/571/497 500/537/463 f 542/579/505 541/578/504 534/571/497 f 540/577/503 541/578/504 542/579/505 f 538/575/501 540/577/503 542/579/505 f 539/576/502 540/577/503 538/575/501 f 538/575/501 542/579/505 537/574/500 f 537/574/500 542/579/505 535/572/498 f 542/579/505 534/571/497 535/572/498 f 537/574/500 535/572/498 536/573/499 f 488/525/451 531/568/494 486/523/449 f 543/580/506 432/469/395 495/532/458 f 431/468/394 432/469/395 543/580/506 f 431/468/394 543/580/506 429/466/392 f 543/580/506 544/581/507 429/466/392 f 544/581/507 543/580/506 545/582/508 f 543/580/506 495/532/458 545/582/508 f 545/582/508 495/532/458 493/530/456 f 545/582/508 493/530/456 546/583/509 f 546/583/509 493/530/456 491/528/454 f 491/528/454 547/584/510 546/583/509 f 547/584/510 491/528/454 489/526/452 f 547/584/510 489/526/452 548/585/511 f 548/585/511 489/526/452 487/524/450 f 548/585/511 487/524/450 549/586/512 f 549/586/512 487/524/450 550/587/513 f 487/524/450 485/522/448 550/587/513 f 550/587/513 485/522/448 551/588/514 f 485/522/448 482/519/445 551/588/514 f 551/588/514 482/519/445 481/518/444 f 552/589/515 548/585/511 549/586/512 f 553/590/516 548/585/511 552/589/515 f 553/590/516 554/591/517 548/585/511 f 554/591/517 553/590/516 555/592/518 f 554/591/517 555/592/518 556/593/519 f 556/593/519 555/592/518 557/594/520 f 556/593/519 557/594/520 558/595/521 f 558/595/521 557/594/520 559/596/522 f 558/595/521 559/596/522 560/597/523 f 560/597/523 559/596/522 561/598/524 f 561/598/524 559/596/522 562/599/525 f 563/600/526 561/598/524 562/599/525 f 564/601/527 561/598/524 563/600/526 f 564/601/527 565/602/528 561/598/524 f 566/603/529 565/602/528 564/601/527 f 566/603/529 567/604/530 565/602/528 f 426/465/389 567/604/530 566/603/529 f 426/465/389 428/464/391 567/604/530 f 428/464/391 568/605/531 567/604/530 f 544/581/507 568/605/531 428/464/391 f 568/605/531 544/581/507 569/606/532 f 544/581/507 545/582/508 569/606/532 f 569/606/532 545/582/508 546/583/509 f 546/583/509 570/607/533 569/606/532 f 546/583/509 547/584/510 570/607/533 f 547/584/510 554/591/517 570/607/533 f 554/591/517 547/584/510 548/585/511 f 570/607/533 554/591/517 556/593/519 f 570/607/533 556/593/519 571/608/534 f 571/608/534 556/593/519 558/595/521 f 571/608/534 558/595/521 572/609/535 f 572/609/535 558/595/521 560/597/523 f 572/609/535 560/597/523 565/602/528 f 565/602/528 560/597/523 561/598/524 f 567/604/530 572/609/535 565/602/528 f 568/605/531 572/609/535 567/604/530 f 568/605/531 571/608/534 572/609/535 f 569/606/532 571/608/534 568/605/531 f 569/606/532 570/607/533 571/608/534 f 429/466/392 544/581/507 428/464/391 f 426/461/389 566/610/529 424/459/387 f 424/459/387 566/610/529 573/611/536 f 566/610/529 564/612/527 573/611/536 f 573/611/536 564/612/527 574/613/537 f 564/612/527 563/614/526 574/613/537 f 574/613/537 563/614/526 575/615/538 f 563/614/526 576/616/539 575/615/538 f 563/600/526 562/599/525 576/617/539 f 574/613/537 575/615/538 577/618/540 f 578/619/541 574/613/537 577/618/540 f 573/611/536 574/613/537 578/619/541 f 423/458/386 573/611/536 578/619/541 f 424/459/387 573/611/536 423/458/386 f 423/458/386 578/619/541 579/620/542 f 579/620/542 578/619/541 580/621/543 f 578/619/541 577/618/540 580/621/543 f 579/620/542 580/621/543 581/622/544 f 582/623/545 579/620/542 581/622/544 f 422/457/385 579/620/542 582/623/545 f 422/457/385 423/458/386 579/620/542 f 583/624/546 422/457/385 582/623/545 f 419/454/382 422/457/385 583/624/546 f 417/452/380 419/454/382 583/624/546 f 417/452/380 583/624/546 452/489/415 f 452/489/415 583/624/546 454/491/417 f 583/624/546 582/623/545 454/491/417 f 454/491/417 582/623/545 455/492/418 f 582/623/545 581/622/544 455/492/418 f 416/451/379 417/452/380 452/489/415 f 407/442/370 408/443/371 405/439/368 f 391/424/354 430/625/393 389/422/352 f 389/422/352 430/625/393 584/626/547 f 430/625/393 427/462/390 584/626/547 f 584/626/547 427/462/390 425/460/388 f 584/626/547 425/460/388 420/455/383 f 420/455/383 425/460/388 421/456/384 f 388/421/351 584/626/547 420/455/383 f 389/422/352 584/626/547 388/421/351 f 420/455/383 418/453/381 388/421/351 f 388/421/351 418/453/381 386/419/350 f 418/453/381 415/450/378 386/419/350 f 386/419/350 415/450/378 385/418/347 f 405/440/368 585/627/548 406/441/369 f 405/440/368 586/628/549 585/627/548 f 586/629/549 587/630/550 585/631/548 f 586/629/549 588/632/551 587/630/550 f 589/633/552 588/632/551 586/629/549 f 589/633/552 590/634/553 588/632/551 f 591/635/554 590/634/553 589/633/552 f 591/635/554 592/636/555 590/634/553 f 593/637/556 592/636/555 591/635/554 f 594/638/557 592/636/555 593/637/556 f 594/638/557 595/639/558 592/636/555 f 596/640/559 595/639/558 594/638/557 f 596/640/559 597/641/560 595/639/558 f 598/642/561 597/641/560 596/640/559 f 598/642/561 599/643/562 597/641/560 f 600/644/563 599/643/562 598/642/561 f 600/644/563 601/645/564 599/643/562 f 602/646/565 601/645/564 600/644/563 f 602/646/565 603/647/566 601/645/564 f 604/648/567 603/647/566 602/646/565 f 604/648/567 605/649/568 603/647/566 f 606/650/569 605/649/568 604/648/567 f 606/650/569 607/651/570 605/649/568 f 608/652/571 607/651/570 606/650/569 f 608/652/571 609/653/572 607/651/570 f 610/654/573 609/653/572 608/652/571 f 610/654/573 611/655/574 609/653/572 f 612/656/575 611/655/574 610/654/573 f 612/656/575 613/657/576 611/655/574 f 614/658/577 613/657/576 612/656/575 f 614/658/577 615/659/578 613/657/576 f 616/660/579 615/659/578 614/658/577 f 616/660/579 617/661/580 615/659/578 f 618/662/581 617/661/580 616/660/579 f 618/662/581 619/663/582 617/661/580 f 620/664/583 619/663/582 618/662/581 f 620/664/583 621/665/584 619/663/582 f 622/666/585 621/665/584 620/664/583 f 622/666/585 623/667/586 621/665/584 f 624/668/587 623/667/586 622/666/585 f 624/668/587 625/669/588 623/667/586 f 626/670/589 625/669/588 624/668/587 f 626/670/589 627/671/590 625/669/588 f 628/672/591 627/671/590 626/670/589 f 628/672/591 629/673/592 627/671/590 f 630/674/593 629/673/592 628/672/591 f 630/674/593 631/675/594 629/673/592 f 632/676/595 631/675/594 630/674/593 f 633/677/596 631/678/594 632/679/595 f 633/677/596 634/680/597 631/678/594 f 633/677/596 635/681/598 634/680/597 f 633/677/596 636/682/599 635/681/598 f 637/683/600 636/682/599 633/677/596 f 638/684/601 636/685/599 637/686/600 f 639/687/602 636/685/599 638/684/601 f 639/687/602 635/688/598 636/685/599 f 640/689/603 635/688/598 639/687/602 f 640/689/603 634/690/597 635/688/598 f 629/673/592 634/690/597 640/689/603 f 629/673/592 631/675/594 634/690/597 f 629/673/592 640/689/603 627/671/590 f 627/671/590 640/689/603 641/691/604 f 640/689/603 639/687/602 641/691/604 f 641/691/604 639/687/602 642/692/605 f 642/692/605 639/687/602 638/684/601 f 642/692/605 638/684/601 643/693/606 f 643/693/606 638/684/601 644/694/607 f 638/684/601 637/686/600 644/694/607 f 645/695/608 644/694/607 637/686/600 f 646/696/609 644/694/607 645/695/608 f 646/696/609 647/697/610 644/694/607 f 648/698/611 647/697/610 646/696/609 f 648/698/611 649/699/612 647/697/610 f 650/700/613 649/699/612 648/698/611 f 650/700/613 651/701/614 649/699/612 f 650/700/613 652/702/615 651/701/614 f 653/703/616 652/704/615 650/705/613 f 654/706/617 652/704/615 653/703/616 f 654/706/617 655/707/618 652/704/615 f 654/706/617 656/708/619 655/707/618 f 657/709/620 656/708/619 654/706/617 f 657/709/620 658/710/621 656/708/619 f 658/710/621 657/709/620 659/711/622 f 659/711/622 657/709/620 660/712/623 f 657/709/620 654/706/617 660/712/623 f 660/712/623 654/706/617 653/703/616 f 661/713/624 660/712/623 653/703/616 f 659/711/622 660/712/623 661/713/624 f 659/711/622 661/713/624 662/714/625 f 662/714/625 661/713/624 663/715/626 f 661/713/624 664/716/627 663/715/626 f 664/716/627 661/713/624 665/717/628 f 661/713/624 653/703/616 665/717/628 f 665/717/628 653/703/616 648/718/611 f 653/703/616 650/705/613 648/718/611 f 665/717/628 648/718/611 666/719/629 f 666/719/629 648/718/611 646/720/609 f 667/721/630 666/719/629 646/720/609 f 668/722/631 666/719/629 667/721/630 f 664/716/627 666/719/629 668/722/631 f 664/716/627 665/717/628 666/719/629 f 664/716/627 668/722/631 669/723/632 f 668/724/631 633/677/596 669/725/632 f 667/726/630 633/677/596 668/724/631 f 667/726/630 645/727/608 633/677/596 f 667/721/630 646/720/609 645/728/608 f 645/727/608 637/683/600 633/677/596 f 669/725/632 633/677/596 632/679/595 f 663/715/626 669/723/632 632/676/595 f 663/715/626 664/716/627 669/723/632 f 630/674/593 663/715/626 632/676/595 f 662/714/625 663/715/626 630/674/593 f 628/672/591 662/714/625 630/674/593 f 659/711/622 662/714/625 628/672/591 f 659/711/622 628/672/591 626/670/589 f 670/729/633 659/711/622 626/670/589 f 670/729/633 658/710/621 659/711/622 f 671/730/634 658/710/621 670/729/633 f 658/710/621 671/730/634 672/731/635 f 671/730/634 673/732/636 672/731/635 f 671/730/634 674/733/637 673/732/636 f 674/733/637 671/730/634 675/734/638 f 675/734/638 671/730/634 670/729/633 f 675/734/638 670/729/633 622/666/585 f 622/666/585 670/729/633 624/668/587 f 670/729/633 626/670/589 624/668/587 f 620/664/583 675/734/638 622/666/585 f 676/735/639 675/734/638 620/664/583 f 676/735/639 674/733/637 675/734/638 f 677/736/640 674/733/637 676/735/639 f 674/733/637 677/736/640 678/737/641 f 677/736/640 679/738/642 678/737/641 f 677/736/640 680/739/643 679/738/642 f 680/739/643 677/736/640 681/740/644 f 681/740/644 677/736/640 676/735/639 f 681/740/644 676/735/639 618/662/581 f 618/662/581 676/735/639 620/664/583 f 616/660/579 681/740/644 618/662/581 f 682/741/645 681/740/644 616/660/579 f 682/741/645 680/739/643 681/740/644 f 683/742/646 680/739/643 682/741/645 f 680/739/643 683/742/646 684/743/647 f 683/742/646 685/744/648 684/743/647 f 683/742/646 686/745/649 685/744/648 f 686/745/649 683/742/646 687/746/650 f 687/746/650 683/742/646 682/741/645 f 687/746/650 682/741/645 614/658/577 f 614/658/577 682/741/645 616/660/579 f 612/656/575 687/746/650 614/658/577 f 688/747/651 687/746/650 612/656/575 f 688/747/651 686/745/649 687/746/650 f 689/748/652 686/745/649 688/747/651 f 686/745/649 689/748/652 690/749/653 f 689/748/652 691/750/654 690/749/653 f 689/748/652 692/751/655 691/750/654 f 692/751/655 689/748/652 693/752/656 f 693/752/656 689/748/652 688/747/651 f 693/752/656 688/747/651 610/654/573 f 610/654/573 688/747/651 612/656/575 f 608/652/571 693/752/656 610/654/573 f 694/753/657 693/752/656 608/652/571 f 694/753/657 692/751/655 693/752/656 f 695/754/658 692/751/655 694/753/657 f 695/754/658 696/755/659 692/751/655 f 695/754/658 697/756/660 696/755/659 f 698/757/661 697/756/660 695/754/658 f 699/758/662 697/756/660 698/757/661 f 699/758/662 700/759/663 697/756/660 f 701/760/664 700/761/663 699/762/662 f 701/760/664 702/763/665 700/761/663 f 703/764/666 702/763/665 701/760/664 f 703/764/666 704/765/667 702/763/665 f 705/766/668 704/765/667 703/764/666 f 705/766/668 706/767/669 704/765/667 f 707/768/670 706/767/669 705/766/668 f 707/768/670 708/769/671 706/767/669 f 709/770/672 708/769/671 707/768/670 f 709/770/672 710/771/673 708/769/671 f 711/772/674 710/771/673 709/770/672 f 711/772/674 712/773/675 710/771/673 f 713/774/676 712/773/675 711/772/674 f 713/774/676 714/775/677 712/773/675 f 715/776/678 714/775/677 713/774/676 f 715/776/678 716/777/679 714/775/677 f 717/778/680 716/777/679 715/776/678 f 717/778/680 718/779/681 716/777/679 f 719/780/682 718/779/681 717/778/680 f 719/780/682 720/781/683 718/779/681 f 721/782/684 720/781/683 719/780/682 f 721/782/684 722/783/685 720/781/683 f 723/784/686 722/783/685 721/782/684 f 723/784/686 724/785/687 722/783/685 f 725/786/688 724/785/687 723/784/686 f 725/786/688 726/787/689 724/785/687 f 725/786/688 727/788/690 726/787/689 f 728/789/691 727/788/690 725/786/688 f 728/789/691 729/790/692 727/788/690 f 730/791/693 729/790/692 728/789/691 f 730/791/693 731/792/694 729/790/692 f 730/791/693 732/793/695 731/792/694 f 733/794/696 732/793/695 730/791/693 f 733/794/696 734/795/697 732/793/695 f 735/796/698 734/795/697 733/794/696 f 734/795/697 735/796/698 736/797/699 f 735/796/698 737/798/700 736/797/699 f 735/796/698 738/799/701 737/798/700 f 738/799/701 735/796/698 739/800/702 f 739/800/702 735/796/698 733/794/696 f 739/800/702 733/794/696 740/801/703 f 740/801/703 733/794/696 730/791/693 f 730/791/693 728/789/691 740/801/703 f 740/801/703 728/789/691 725/786/688 f 740/801/703 725/786/688 741/802/704 f 741/802/704 725/786/688 723/784/686 f 741/802/704 723/784/686 742/803/705 f 742/803/705 723/784/686 721/782/684 f 742/803/705 721/782/684 743/804/706 f 743/804/706 721/782/684 719/780/682 f 744/805/707 743/804/706 719/780/682 f 744/805/707 745/806/708 743/804/706 f 746/807/709 745/806/708 744/805/707 f 746/807/709 747/808/710 745/806/708 f 748/809/711 747/808/710 746/807/709 f 747/808/710 748/809/711 749/810/712 f 748/809/711 750/811/713 749/810/712 f 748/809/711 751/812/714 750/811/713 f 751/812/714 748/809/711 752/813/715 f 752/813/715 748/809/711 746/807/709 f 752/813/715 746/807/709 753/814/716 f 753/814/716 746/807/709 744/805/707 f 753/814/716 744/805/707 717/778/680 f 717/778/680 744/805/707 719/780/682 f 715/776/678 753/814/716 717/778/680 f 754/815/717 753/814/716 715/776/678 f 754/815/717 752/813/715 753/814/716 f 755/816/718 752/813/715 754/815/717 f 755/816/718 751/812/714 752/813/715 f 756/817/719 751/812/714 755/816/718 f 751/812/714 756/817/719 757/818/720 f 756/817/719 758/819/721 757/818/720 f 756/817/719 759/820/722 758/819/721 f 759/820/722 756/817/719 760/821/723 f 760/821/723 756/817/719 755/816/718 f 760/821/723 755/816/718 761/822/724 f 761/822/724 755/816/718 754/815/717 f 754/815/717 713/774/676 761/822/724 f 713/774/676 754/815/717 715/776/678 f 761/822/724 713/774/676 711/772/674 f 761/822/724 711/772/674 762/823/725 f 762/823/725 711/772/674 709/770/672 f 763/824/726 762/823/725 709/770/672 f 763/824/726 764/825/727 762/823/725 f 765/826/728 764/825/727 763/824/726 f 765/826/728 766/827/729 764/825/727 f 767/828/730 766/827/729 765/826/728 f 766/827/729 767/828/730 768/829/731 f 767/828/730 769/830/732 768/829/731 f 767/828/730 770/831/733 769/830/732 f 770/831/733 767/828/730 771/832/734 f 771/832/734 767/828/730 765/826/728 f 771/832/734 765/826/728 772/833/735 f 772/833/735 765/826/728 763/824/726 f 772/833/735 763/824/726 707/768/670 f 707/768/670 763/824/726 709/770/672 f 705/766/668 772/833/735 707/768/670 f 773/834/736 772/833/735 705/766/668 f 773/834/736 771/832/734 772/833/735 f 774/835/737 771/832/734 773/834/736 f 774/835/737 770/831/733 771/832/734 f 775/836/738 770/831/733 774/835/737 f 770/831/733 775/836/738 776/837/739 f 775/836/738 777/838/740 776/837/739 f 775/836/738 778/839/741 777/838/740 f 778/839/741 775/836/738 779/840/742 f 779/840/742 775/836/738 774/835/737 f 779/840/742 774/835/737 780/841/743 f 780/841/743 774/835/737 773/834/736 f 780/841/743 773/834/736 703/764/666 f 703/764/666 773/834/736 705/766/668 f 780/841/743 703/764/666 701/760/664 f 781/842/744 780/841/743 701/760/664 f 781/842/744 779/840/742 780/841/743 f 782/843/745 779/840/742 781/842/744 f 778/839/741 779/840/742 782/843/745 f 783/844/746 778/839/741 782/843/745 f 778/839/741 783/844/746 784/845/747 f 783/844/746 785/846/748 784/845/747 f 783/844/746 786/847/749 785/846/748 f 786/847/749 783/844/746 787/848/750 f 783/844/746 782/843/745 787/848/750 f 787/848/750 782/843/745 788/849/751 f 788/849/751 782/843/745 781/842/744 f 788/849/751 781/842/744 789/850/752 f 781/842/744 699/762/662 789/850/752 f 781/842/744 701/760/664 699/762/662 f 789/851/752 699/758/662 698/757/661 f 790/852/753 789/851/752 698/757/661 f 791/853/754 789/851/752 790/852/753 f 788/849/751 789/850/752 791/854/754 f 792/855/755 788/849/751 791/854/754 f 792/855/755 787/848/750 788/849/751 f 793/856/756 787/848/750 792/855/755 f 793/856/756 786/847/749 787/848/750 f 793/856/756 794/857/757 786/847/749 f 793/856/756 795/858/758 794/857/757 f 795/858/758 793/856/756 796/859/759 f 796/859/759 793/856/756 792/855/755 f 796/859/759 792/855/755 797/860/760 f 797/860/760 792/855/755 791/854/754 f 797/861/760 791/853/754 798/862/761 f 798/862/761 791/853/754 790/852/753 f 798/862/761 790/852/753 799/863/762 f 799/863/762 790/852/753 800/864/763 f 790/852/753 698/757/661 800/864/763 f 800/864/763 698/757/661 801/865/764 f 698/757/661 695/754/658 801/865/764 f 801/865/764 695/754/658 694/753/657 f 801/865/764 694/753/657 606/650/569 f 606/650/569 694/753/657 608/652/571 f 604/648/567 801/865/764 606/650/569 f 604/648/567 800/864/763 801/865/764 f 602/646/565 800/864/763 604/648/567 f 602/646/565 799/863/762 800/864/763 f 600/644/563 799/863/762 602/646/565 f 802/866/765 799/863/762 600/644/563 f 802/866/765 798/862/761 799/863/762 f 803/867/766 798/862/761 802/866/765 f 803/867/766 797/861/760 798/862/761 f 803/867/766 804/868/767 797/861/760 f 805/869/768 804/868/767 803/867/766 f 805/870/768 796/859/759 804/871/767 f 805/870/768 806/872/769 796/859/759 f 807/873/770 806/872/769 805/870/768 f 807/873/770 808/874/771 806/872/769 f 808/874/771 809/875/772 806/872/769 f 808/874/771 810/876/773 809/875/772 f 810/876/773 811/877/774 809/875/772 f 810/876/773 812/878/775 811/877/774 f 811/877/774 812/878/775 813/879/776 f 812/878/775 814/880/777 813/879/776 f 814/880/777 815/881/778 813/879/776 f 814/880/777 816/882/779 815/881/778 f 816/882/779 817/883/780 815/881/778 f 818/884/781 817/883/780 816/882/779 f 818/884/781 819/885/782 817/883/780 f 820/886/783 819/885/782 818/884/781 f 820/886/783 821/887/784 819/885/782 f 822/888/785 821/887/784 820/886/783 f 821/887/784 822/888/785 585/631/548 f 406/441/369 585/627/548 822/889/785 f 406/441/369 822/889/785 823/890/786 f 823/890/786 822/889/785 824/891/787 f 824/891/787 822/889/785 820/892/783 f 824/891/787 820/892/783 401/893/364 f 401/893/364 820/892/783 818/894/781 f 369/895/331 824/891/787 401/893/364 f 369/895/331 825/896/788 824/891/787 f 199/897/161 825/896/788 369/895/331 f 199/897/161 826/898/789 825/896/788 f 115/899/77 826/898/789 199/897/161 f 115/899/77 827/900/790 826/898/789 f 84/901/46 827/900/790 115/899/77 f 84/901/46 828/902/791 827/900/790 f 18/903/15 828/902/791 84/901/46 f 18/903/15 829/904/792 828/902/791 f 18/903/15 87/905/49 829/904/792 f 88/906/50 829/904/792 87/905/49 f 88/906/50 830/907/793 829/904/792 f 88/906/50 119/146/81 830/907/793 f 119/146/81 153/148/115 830/907/793 f 830/907/793 153/148/115 831/908/794 f 831/908/794 153/148/115 832/909/795 f 153/148/115 833/910/796 832/909/795 f 152/147/114 833/910/796 153/148/115 f 152/147/114 373/406/335 833/910/796 f 373/406/335 375/408/337 833/910/796 f 833/910/796 375/408/337 834/911/797 f 834/911/797 375/408/337 823/890/786 f 375/408/337 406/441/369 823/890/786 f 375/408/337 374/407/336 406/441/369 f 825/896/788 834/911/797 823/890/786 f 826/898/789 834/911/797 825/896/788 f 826/898/789 832/909/795 834/911/797 f 827/900/790 832/909/795 826/898/789 f 831/908/794 832/909/795 827/900/790 f 828/902/791 831/908/794 827/900/790 f 829/904/792 831/908/794 828/902/791 f 829/904/792 830/907/793 831/908/794 f 833/910/796 834/911/797 832/909/795 f 825/896/788 823/890/786 824/891/787 f 88/106/50 86/62/48 87/63/49 f 585/631/548 587/630/550 821/887/784 f 587/630/550 819/885/782 821/887/784 f 819/885/782 587/630/550 835/912/798 f 587/630/550 836/913/799 835/912/798 f 588/632/551 836/913/799 587/630/550 f 588/632/551 837/914/800 836/913/799 f 590/634/553 837/914/800 588/632/551 f 590/634/553 838/915/801 837/914/800 f 592/636/555 838/915/801 590/634/553 f 595/639/558 838/915/801 592/636/555 f 595/639/558 839/916/802 838/915/801 f 597/641/560 839/916/802 595/639/558 f 597/641/560 840/917/803 839/916/802 f 599/643/562 840/917/803 597/641/560 f 599/643/562 841/918/804 840/917/803 f 601/645/564 841/918/804 599/643/562 f 601/645/564 842/919/805 841/918/804 f 603/647/566 842/919/805 601/645/564 f 603/647/566 843/920/806 842/919/805 f 605/649/568 843/920/806 603/647/566 f 605/649/568 844/921/807 843/920/806 f 607/651/570 844/921/807 605/649/568 f 607/651/570 845/922/808 844/921/807 f 609/653/572 845/922/808 607/651/570 f 609/653/572 846/923/809 845/922/808 f 611/655/574 846/923/809 609/653/572 f 611/655/574 847/924/810 846/923/809 f 611/655/574 848/925/811 847/924/810 f 613/657/576 848/925/811 611/655/574 f 613/657/576 849/926/812 848/925/811 f 615/659/578 849/926/812 613/657/576 f 615/659/578 850/927/813 849/926/812 f 617/661/580 850/927/813 615/659/578 f 617/661/580 851/928/814 850/927/813 f 619/663/582 851/928/814 617/661/580 f 619/663/582 852/929/815 851/928/814 f 621/665/584 852/929/815 619/663/582 f 621/665/584 853/930/816 852/929/815 f 623/667/586 853/930/816 621/665/584 f 623/667/586 854/931/817 853/930/816 f 625/669/588 854/931/817 623/667/586 f 625/669/588 641/691/604 854/931/817 f 627/671/590 641/691/604 625/669/588 f 641/691/604 855/932/818 854/931/817 f 641/691/604 642/692/605 855/932/818 f 855/932/818 642/692/605 643/693/606 f 855/932/818 643/693/606 856/933/819 f 856/933/819 643/693/606 647/697/610 f 643/693/606 644/694/607 647/697/610 f 856/933/819 647/697/610 649/699/612 f 857/934/820 856/933/819 649/699/612 f 855/932/818 856/933/819 857/934/820 f 858/935/821 855/932/818 857/934/820 f 859/936/822 855/932/818 858/935/821 f 853/930/816 855/932/818 859/936/822 f 854/931/817 855/932/818 853/930/816 f 853/930/816 859/936/822 852/929/815 f 852/929/815 859/936/822 860/937/823 f 860/937/823 859/936/822 861/938/824 f 861/938/824 859/936/822 858/935/821 f 861/938/824 858/935/821 862/939/825 f 858/935/821 651/701/614 862/939/825 f 858/935/821 857/934/820 651/701/614 f 857/934/820 649/699/612 651/701/614 f 652/702/615 862/939/825 651/701/614 f 652/702/615 655/940/618 862/939/825 f 655/940/618 863/941/826 862/939/825 f 655/940/618 864/942/827 863/941/826 f 656/708/619 864/943/827 655/707/618 f 656/708/619 672/731/635 864/943/827 f 658/710/621 672/731/635 656/708/619 f 672/731/635 865/944/828 864/943/827 f 672/731/635 673/732/636 865/944/828 f 673/732/636 866/945/829 865/944/828 f 673/732/636 678/737/641 866/945/829 f 674/733/637 678/737/641 673/732/636 f 678/737/641 867/946/830 866/945/829 f 678/737/641 679/738/642 867/946/830 f 679/738/642 868/947/831 867/946/830 f 679/738/642 684/743/647 868/947/831 f 680/739/643 684/743/647 679/738/642 f 684/743/647 869/948/832 868/947/831 f 684/743/647 685/744/648 869/948/832 f 685/744/648 870/949/833 869/948/832 f 685/744/648 690/749/653 870/949/833 f 686/745/649 690/749/653 685/744/648 f 690/749/653 871/950/834 870/949/833 f 690/749/653 691/750/654 871/950/834 f 691/750/654 872/951/835 871/950/834 f 691/750/654 696/755/659 872/951/835 f 692/751/655 696/755/659 691/750/654 f 696/755/659 873/952/836 872/951/835 f 696/755/659 697/756/660 873/952/836 f 700/759/663 873/952/836 697/756/660 f 874/953/837 873/954/836 700/955/663 f 874/953/837 875/956/838 873/954/836 f 876/957/839 875/956/838 874/953/837 f 876/957/839 877/958/840 875/956/838 f 878/959/841 877/958/840 876/957/839 f 879/960/842 877/958/840 878/959/841 f 880/961/843 877/958/840 879/960/842 f 880/961/843 881/962/844 877/958/840 f 840/917/803 881/962/844 880/961/843 f 841/918/804 881/962/844 840/917/803 f 841/918/804 882/963/845 881/962/844 f 842/919/805 882/963/845 841/918/804 f 842/919/805 883/964/846 882/963/845 f 843/920/806 883/964/846 842/919/805 f 843/920/806 884/965/847 883/964/846 f 844/921/807 884/965/847 843/920/806 f 844/921/807 885/966/848 884/965/847 f 845/922/808 885/966/848 844/921/807 f 845/922/808 886/967/849 885/966/848 f 846/923/809 886/967/849 845/922/808 f 846/923/809 887/968/850 886/967/849 f 847/924/810 887/968/850 846/923/809 f 847/924/810 888/969/851 887/968/850 f 848/925/811 888/969/851 847/924/810 f 848/925/811 889/970/852 888/969/851 f 849/926/812 889/970/852 848/925/811 f 849/926/812 890/971/853 889/970/852 f 850/927/813 890/971/853 849/926/812 f 850/927/813 860/937/823 890/971/853 f 851/928/814 860/937/823 850/927/813 f 852/929/815 860/937/823 851/928/814 f 890/971/853 860/937/823 891/972/854 f 891/972/854 860/937/823 861/938/824 f 891/972/854 861/938/824 863/941/826 f 861/938/824 862/939/825 863/941/826 f 891/972/854 863/941/826 892/973/855 f 864/942/827 892/973/855 863/941/826 f 864/942/827 865/974/828 892/973/855 f 865/974/828 893/975/856 892/973/855 f 865/974/828 866/976/829 893/975/856 f 866/976/829 894/977/857 893/975/856 f 866/976/829 867/978/830 894/977/857 f 867/978/830 895/979/858 894/977/857 f 867/978/830 868/980/831 895/979/858 f 868/980/831 896/981/859 895/979/858 f 868/980/831 897/982/860 896/981/859 f 868/980/831 869/983/832 897/982/860 f 869/983/832 898/984/861 897/982/860 f 869/983/832 870/985/833 898/984/861 f 870/985/833 899/986/862 898/984/861 f 871/987/834 899/986/862 870/985/833 f 871/987/834 900/988/863 899/986/862 f 872/989/835 900/988/863 871/987/834 f 872/989/835 875/956/838 900/988/863 f 873/954/836 875/956/838 872/989/835 f 877/958/840 900/988/863 875/956/838 f 877/958/840 901/990/864 900/988/863 f 881/962/844 901/990/864 877/958/840 f 881/962/844 882/963/845 901/990/864 f 882/963/845 902/991/865 901/990/864 f 882/963/845 883/964/846 902/991/865 f 883/964/846 903/992/866 902/991/865 f 883/964/846 884/965/847 903/992/866 f 884/965/847 904/993/867 903/992/866 f 884/965/847 885/966/848 904/993/867 f 885/966/848 905/994/868 904/993/867 f 885/966/848 886/967/849 905/994/868 f 886/967/849 906/995/869 905/994/868 f 886/967/849 887/968/850 906/995/869 f 887/968/850 907/996/870 906/995/869 f 887/968/850 888/969/851 907/996/870 f 888/969/851 908/997/871 907/996/870 f 888/969/851 889/970/852 908/997/871 f 889/970/852 891/972/854 908/997/871 f 889/970/852 890/971/853 891/972/854 f 908/997/871 891/972/854 892/973/855 f 893/975/856 908/997/871 892/973/855 f 907/996/870 908/997/871 893/975/856 f 894/977/857 907/996/870 893/975/856 f 906/995/869 907/996/870 894/977/857 f 895/979/858 906/995/869 894/977/857 f 905/994/868 906/995/869 895/979/858 f 905/994/868 895/979/858 896/981/859 f 904/993/867 905/994/868 896/981/859 f 904/993/867 896/981/859 897/982/860 f 903/992/866 904/993/867 897/982/860 f 903/992/866 897/982/860 898/984/861 f 902/991/865 903/992/866 898/984/861 f 902/991/865 898/984/861 899/986/862 f 901/990/864 902/991/865 899/986/862 f 901/990/864 899/986/862 900/988/863 f 840/917/803 880/961/843 839/916/802 f 839/916/802 880/961/843 909/998/872 f 909/998/872 880/961/843 879/960/842 f 909/998/872 879/960/842 910/999/873 f 910/999/873 879/960/842 878/959/841 f 910/999/873 878/959/841 911/1000/874 f 911/1000/874 878/959/841 912/1001/875 f 912/1001/875 878/959/841 913/1002/876 f 878/959/841 914/1003/877 913/1002/876 f 878/959/841 876/957/839 914/1003/877 f 914/1003/877 876/957/839 915/1004/878 f 915/1004/878 876/957/839 874/953/837 f 915/1004/878 874/953/837 702/1005/665 f 702/1005/665 874/953/837 700/955/663 f 702/1005/665 704/1006/667 915/1004/878 f 916/1007/879 915/1004/878 704/1006/667 f 914/1003/877 915/1004/878 916/1007/879 f 914/1003/877 916/1007/879 917/1008/880 f 917/1008/880 916/1007/879 918/1009/881 f 706/1010/669 918/1009/881 916/1007/879 f 708/1011/671 918/1009/881 706/1010/669 f 708/1011/671 919/1012/882 918/1009/881 f 710/1013/673 919/1012/882 708/1011/671 f 710/1013/673 920/1014/883 919/1012/882 f 712/1015/675 920/1014/883 710/1013/673 f 712/1015/675 921/1016/884 920/1014/883 f 712/1015/675 922/1017/885 921/1016/884 f 714/1018/677 922/1017/885 712/1015/675 f 714/1018/677 923/1019/886 922/1017/885 f 716/1020/679 923/1019/886 714/1018/677 f 716/1020/679 924/1021/887 923/1019/886 f 718/1022/681 924/1021/887 716/1020/679 f 718/1022/681 925/1023/888 924/1021/887 f 720/1024/683 925/1023/888 718/1022/681 f 720/1024/683 926/1025/889 925/1023/888 f 722/1026/685 926/1025/889 720/1024/683 f 722/1026/685 927/1027/890 926/1025/889 f 724/1028/687 927/1027/890 722/1026/685 f 724/1028/687 928/1029/891 927/1027/890 f 726/1030/689 928/1029/891 724/1028/687 f 726/1030/689 929/1031/892 928/1029/891 f 727/1032/690 929/1031/892 726/1030/689 f 727/1032/690 930/1033/893 929/1031/892 f 727/1032/690 931/1034/894 930/1033/893 f 729/790/692 931/1035/894 727/788/690 f 932/1036/895 931/1035/894 729/790/692 f 932/1036/895 933/1037/896 931/1035/894 f 934/677/897 933/727/896 932/726/895 f 934/677/897 935/683/898 933/727/896 f 936/682/899 935/683/898 934/677/897 f 937/1038/900 935/1039/898 936/1040/899 f 937/1038/900 938/1041/901 935/1039/898 f 939/1042/902 938/1041/901 937/1038/900 f 939/1042/902 930/1033/893 938/1041/901 f 940/1043/903 930/1033/893 939/1042/902 f 940/1043/903 929/1031/892 930/1033/893 f 941/1044/904 929/1031/892 940/1043/903 f 941/1044/904 928/1029/891 929/1031/892 f 942/1045/905 928/1029/891 941/1044/904 f 942/1045/905 927/1027/890 928/1029/891 f 943/1046/906 927/1027/890 942/1045/905 f 943/1046/906 926/1025/889 927/1027/890 f 944/1047/907 926/1025/889 943/1046/906 f 944/1047/907 925/1023/888 926/1025/889 f 945/1048/908 925/1023/888 944/1047/907 f 924/1021/887 925/1023/888 945/1048/908 f 946/1049/909 924/1021/887 945/1048/908 f 923/1019/886 924/1021/887 946/1049/909 f 947/1050/910 923/1019/886 946/1049/909 f 922/1017/885 923/1019/886 947/1050/910 f 948/1051/911 922/1017/885 947/1050/910 f 948/1051/911 921/1016/884 922/1017/885 f 949/1052/912 921/1016/884 948/1051/911 f 949/1052/912 920/1014/883 921/1016/884 f 950/1053/913 920/1014/883 949/1052/912 f 950/1053/913 919/1012/882 920/1014/883 f 951/1054/914 919/1012/882 950/1053/913 f 951/1054/914 918/1009/881 919/1012/882 f 917/1008/880 918/1009/881 951/1054/914 f 952/1055/915 917/1008/880 951/1054/914 f 953/1056/916 917/1008/880 952/1055/915 f 953/1056/916 914/1003/877 917/1008/880 f 954/1057/917 914/1003/877 953/1056/916 f 954/1057/917 913/1002/876 914/1003/877 f 955/1058/918 913/1002/876 954/1057/917 f 955/1058/918 912/1001/875 913/1002/876 f 956/1059/919 912/1001/875 955/1058/918 f 956/1059/919 957/1060/920 912/1001/875 f 817/883/780 957/1060/920 956/1059/919 f 819/885/782 957/1060/920 817/883/780 f 819/885/782 835/912/798 957/1060/920 f 835/912/798 911/1000/874 957/1060/920 f 836/913/799 911/1000/874 835/912/798 f 836/913/799 910/999/873 911/1000/874 f 837/914/800 910/999/873 836/913/799 f 837/914/800 909/998/872 910/999/873 f 838/915/801 909/998/872 837/914/800 f 838/915/801 839/916/802 909/998/872 f 957/1060/920 911/1000/874 912/1001/875 f 817/883/780 956/1059/919 815/881/778 f 815/881/778 956/1059/919 958/1061/921 f 958/1061/921 956/1059/919 955/1058/918 f 958/1061/921 955/1058/918 959/1062/922 f 959/1062/922 955/1058/918 954/1057/917 f 960/1063/923 959/1062/922 954/1057/917 f 961/1064/924 959/1062/922 960/1063/923 f 961/1064/924 962/1065/925 959/1062/922 f 963/1066/926 962/1065/925 961/1064/924 f 963/1066/926 811/877/774 962/1065/925 f 809/875/772 811/877/774 963/1066/926 f 795/858/758 809/875/772 963/1066/926 f 806/872/769 809/875/772 795/858/758 f 806/872/769 795/858/758 796/859/759 f 795/858/758 963/1066/926 794/857/757 f 794/857/757 963/1066/926 961/1064/924 f 794/857/757 961/1064/924 964/1067/927 f 964/1067/927 961/1064/924 960/1063/923 f 964/1067/927 960/1063/923 965/1068/928 f 965/1068/928 960/1063/923 953/1056/916 f 960/1063/923 954/1057/917 953/1056/916 f 965/1068/928 953/1056/916 952/1055/915 f 966/1069/929 965/1068/928 952/1055/915 f 785/846/748 965/1068/928 966/1069/929 f 785/846/748 964/1067/927 965/1068/928 f 786/847/749 964/1067/927 785/846/748 f 786/847/749 794/857/757 964/1067/927 f 784/845/747 785/846/748 966/1069/929 f 784/845/747 966/1069/929 967/1070/930 f 967/1070/930 966/1069/929 968/1071/931 f 966/1069/929 952/1055/915 968/1071/931 f 952/1055/915 951/1054/914 968/1071/931 f 968/1071/931 951/1054/914 950/1053/913 f 968/1071/931 950/1053/913 969/1072/932 f 969/1072/932 950/1053/913 949/1052/912 f 969/1072/932 949/1052/912 970/1073/933 f 970/1073/933 949/1052/912 948/1051/911 f 970/1073/933 948/1051/911 971/1074/934 f 971/1074/934 948/1051/911 947/1050/910 f 971/1074/934 947/1050/910 972/1075/935 f 972/1075/935 947/1050/910 946/1049/909 f 972/1075/935 946/1049/909 973/1076/936 f 973/1076/936 946/1049/909 945/1048/908 f 973/1076/936 945/1048/908 974/1077/937 f 974/1077/937 945/1048/908 944/1047/907 f 974/1077/937 944/1047/907 975/1078/938 f 975/1078/938 944/1047/907 976/1079/939 f 944/1047/907 943/1046/906 976/1079/939 f 976/1079/939 943/1046/906 977/1080/940 f 943/1046/906 942/1045/905 977/1080/940 f 977/1080/940 942/1045/905 978/1081/941 f 942/1045/905 941/1044/904 978/1081/941 f 978/1081/941 941/1044/904 940/1043/903 f 978/1081/941 940/1043/903 939/1042/902 f 978/1081/941 939/1042/902 979/1082/942 f 979/1082/942 939/1042/902 937/1038/900 f 979/1082/942 937/1038/900 980/1083/943 f 980/1083/943 937/1038/900 936/1040/899 f 980/1083/943 936/1040/899 981/1084/944 f 981/681/944 936/682/899 934/677/897 f 982/680/945 981/681/944 934/677/897 f 983/1085/946 981/1084/944 982/1086/945 f 983/1085/946 980/1083/943 981/1084/944 f 984/1087/947 980/1083/943 983/1085/946 f 984/1087/947 979/1082/942 980/1083/943 f 984/1087/947 978/1081/941 979/1082/942 f 978/1081/941 984/1087/947 985/1088/948 f 986/1089/949 985/1088/948 984/1087/947 f 986/1089/949 987/1090/950 985/1088/948 f 988/1091/951 987/1090/950 986/1089/949 f 988/1091/951 747/808/710 987/1090/950 f 747/808/710 988/1091/951 745/806/708 f 745/806/708 988/1091/951 989/1092/952 f 989/1092/952 988/1091/951 986/1089/949 f 989/1092/952 986/1089/949 990/1093/953 f 990/1093/953 986/1089/949 984/1087/947 f 990/1093/953 984/1087/947 983/1085/946 f 737/798/700 990/1093/953 983/1085/946 f 738/799/701 990/1093/953 737/798/700 f 738/799/701 989/1092/952 990/1093/953 f 991/1094/954 989/1092/952 738/799/701 f 745/806/708 989/1092/952 991/1094/954 f 745/806/708 991/1094/954 743/804/706 f 743/804/706 991/1094/954 742/803/705 f 991/1094/954 741/802/704 742/803/705 f 991/1094/954 740/801/703 741/802/704 f 991/1094/954 739/800/702 740/801/703 f 991/1094/954 738/799/701 739/800/702 f 737/798/700 983/1085/946 982/1086/945 f 737/798/700 982/1086/945 736/797/699 f 982/680/945 934/677/897 736/678/699 f 736/678/699 934/677/897 734/679/697 f 734/679/697 934/677/897 732/725/695 f 934/677/897 731/724/694 732/725/695 f 934/677/897 932/726/895 731/724/694 f 731/792/694 932/1036/895 729/790/692 f 747/808/710 749/810/712 987/1090/950 f 987/1090/950 749/810/712 992/1095/955 f 749/810/712 993/1096/956 992/1095/955 f 749/810/712 750/811/713 993/1096/956 f 750/811/713 994/1097/957 993/1096/956 f 750/811/713 757/818/720 994/1097/957 f 751/812/714 757/818/720 750/811/713 f 757/818/720 995/1098/958 994/1097/957 f 757/818/720 758/819/721 995/1098/958 f 758/819/721 996/1099/959 995/1098/958 f 758/819/721 997/1100/960 996/1099/959 f 759/820/722 997/1100/960 758/819/721 f 759/820/722 766/827/729 997/1100/960 f 766/827/729 759/820/722 764/825/727 f 764/825/727 759/820/722 760/821/723 f 764/825/727 760/821/723 762/823/725 f 762/823/725 760/821/723 761/822/724 f 766/827/729 768/829/731 997/1100/960 f 997/1100/960 768/829/731 998/1101/961 f 768/829/731 999/1102/962 998/1101/961 f 768/829/731 1000/1103/963 999/1102/962 f 768/829/731 769/830/732 1000/1103/963 f 769/830/732 1001/1104/964 1000/1103/963 f 769/830/732 776/837/739 1001/1104/964 f 770/831/733 776/837/739 769/830/732 f 776/837/739 1002/1105/965 1001/1104/964 f 776/837/739 777/838/740 1002/1105/965 f 777/838/740 967/1070/930 1002/1105/965 f 777/838/740 784/845/747 967/1070/930 f 778/839/741 784/845/747 777/838/740 f 1002/1105/965 967/1070/930 969/1072/932 f 967/1070/930 968/1071/931 969/1072/932 f 1002/1105/965 969/1072/932 970/1073/933 f 1001/1104/964 1002/1105/965 970/1073/933 f 1001/1104/964 970/1073/933 971/1074/934 f 1000/1103/963 1001/1104/964 971/1074/934 f 1000/1103/963 971/1074/934 972/1075/935 f 999/1102/962 1000/1103/963 972/1075/935 f 999/1102/962 972/1075/935 973/1076/936 f 999/1102/962 973/1076/936 998/1101/961 f 998/1101/961 973/1076/936 974/1077/937 f 998/1101/961 974/1077/937 996/1099/959 f 996/1099/959 974/1077/937 975/1078/938 f 995/1098/958 996/1099/959 975/1078/938 f 995/1098/958 975/1078/938 976/1079/939 f 994/1097/957 995/1098/958 976/1079/939 f 993/1096/956 994/1097/957 976/1079/939 f 993/1096/956 976/1079/939 977/1080/940 f 992/1095/955 993/1096/956 977/1080/940 f 992/1095/955 977/1080/940 978/1081/941 f 992/1095/955 978/1081/941 985/1088/948 f 987/1090/950 992/1095/955 985/1088/948 f 997/1100/960 998/1101/961 996/1099/959 f 811/877/774 813/879/776 962/1065/925 f 962/1065/925 813/879/776 958/1061/921 f 813/879/776 815/881/778 958/1061/921 f 962/1065/925 958/1061/921 959/1062/922 f 931/1034/894 938/1041/901 930/1033/893 f 931/1034/894 933/1106/896 938/1041/901 f 933/1106/896 935/1039/898 938/1041/901 f 704/1006/667 706/1010/669 916/1007/879 f 807/1107/770 805/869/768 1003/1108/966 f 1003/1108/966 805/869/768 803/867/766 f 1003/1108/966 803/867/766 1004/1109/967 f 1004/1109/967 803/867/766 802/866/765 f 802/866/765 598/642/561 1004/1109/967 f 802/866/765 600/644/563 598/642/561 f 596/640/559 1004/1109/967 598/642/561 f 1005/1110/968 1004/1109/967 596/640/559 f 1005/1110/968 1003/1108/966 1004/1109/967 f 1006/1111/969 1003/1108/966 1005/1110/968 f 1006/1111/969 807/1107/770 1003/1108/966 f 1007/1112/970 1006/1111/969 1005/1110/968 f 1007/1112/970 1005/1110/968 594/638/557 f 594/638/557 1005/1110/968 596/640/559 f 593/637/556 1007/1112/970 594/638/557 f 804/871/767 796/859/759 797/860/760 f 216/216/178 218/218/180 390/423/353 f 216/216/178 390/423/353 1008/1113/971 f 1008/1113/971 390/423/353 387/420/349 f 1008/1113/971 387/420/349 384/417/346 f 1008/1113/971 384/417/346 1009/1114/972 f 1009/1114/972 384/417/346 382/415/344 f 1009/1114/972 382/415/344 210/210/172 f 209/209/171 210/210/172 382/415/344 f 210/210/172 211/211/173 1009/1114/972 f 1008/1113/971 1009/1114/972 211/211/173 f 211/211/173 213/213/175 1008/1113/971 f 213/213/175 216/216/178 1008/1113/971 f 205/205/167 373/404/335 204/204/166 f 204/204/166 373/404/335 203/203/165 f 203/203/165 373/404/335 202/202/164 f 233/237/195 225/227/187 226/228/188 f 233/237/195 226/228/188 227/229/189 f 233/237/195 227/229/189 231/238/193 f 173/170/135 174/171/136 232/236/194 f 173/169/135 232/235/194 1010/1115/973 f 1010/1115/973 232/235/194 230/233/192 f 1010/1115/973 230/233/192 1011/1116/974 f 1011/1116/974 230/233/192 229/232/191 f 167/162/129 1011/1116/974 229/232/191 f 169/164/131 1011/1116/974 167/162/129 f 169/164/131 1010/1115/973 1011/1116/974 f 171/166/133 1010/1115/973 169/164/131 f 173/169/135 1010/1115/973 171/166/133 f 167/162/129 229/232/191 1012/1117/975 f 1012/1117/975 229/232/191 212/212/174 f 229/232/191 214/214/176 212/212/174 f 165/160/127 1012/1117/975 212/212/174 f 167/162/129 1012/1117/975 165/160/127 f 165/160/127 212/212/174 164/159/126 f 128/117/90 129/168/91 172/167/134 f 127/116/89 128/117/90 172/167/134 f 127/116/89 172/167/134 126/115/88 f 172/167/134 170/165/132 126/115/88 f 126/115/88 170/165/132 1013/1118/976 f 1013/1118/976 170/165/132 1014/1119/977 f 1014/1119/977 170/165/132 168/163/130 f 1014/1119/977 168/163/130 1015/1120/978 f 1015/1120/978 168/163/130 166/161/128 f 1015/1120/978 166/161/128 1016/1121/979 f 1016/1121/979 166/161/128 162/157/124 f 1016/1121/979 162/157/124 1017/1122/980 f 162/157/124 160/155/122 1017/1122/980 f 1017/1122/980 160/155/122 1018/1123/981 f 160/155/122 158/153/120 1018/1123/981 f 1018/1123/981 158/153/120 156/151/118 f 1018/1123/981 156/151/118 1019/1124/982 f 1019/1124/982 156/151/118 154/149/116 f 1019/1124/982 154/149/116 1020/1125/983 f 119/107/81 1020/1125/983 154/149/116 f 120/108/82 1020/1125/983 119/107/81 f 120/108/82 1021/1126/984 1020/1125/983 f 120/108/82 1022/1127/985 1021/1126/984 f 121/109/83 1022/1127/985 120/108/82 f 121/109/83 1023/1128/986 1022/1127/985 f 123/1129/85 1023/1128/986 121/109/83 f 123/112/85 125/114/87 1023/1130/986 f 125/114/87 1024/1131/987 1023/1130/986 f 125/114/87 1013/1118/976 1024/1131/987 f 125/114/87 126/115/88 1013/1118/976 f 1024/1131/987 1013/1118/976 1025/1132/988 f 1013/1118/976 1014/1119/977 1025/1132/988 f 1025/1132/988 1014/1119/977 1026/1133/989 f 1026/1133/989 1014/1119/977 1015/1120/978 f 1026/1133/989 1015/1120/978 1027/1134/990 f 1027/1134/990 1015/1120/978 1016/1121/979 f 1027/1134/990 1016/1121/979 1028/1135/991 f 1016/1121/979 1017/1122/980 1028/1135/991 f 1028/1135/991 1017/1122/980 1029/1136/992 f 1017/1122/980 1018/1123/981 1029/1136/992 f 1029/1136/992 1018/1123/981 1019/1124/982 f 1029/1136/992 1019/1124/982 1030/1137/993 f 1030/1137/993 1019/1124/982 1020/1125/983 f 1021/1126/984 1030/1137/993 1020/1125/983 f 1021/1126/984 1031/1138/994 1030/1137/993 f 1032/1139/995 1031/1138/994 1021/1126/984 f 1033/1140/996 1031/1138/994 1032/1139/995 f 1033/1140/996 1034/1141/997 1031/1138/994 f 1033/1142/996 1035/1143/998 1034/1144/997 f 1033/1142/996 1036/1145/999 1035/1143/998 f 1037/1146/1000 1036/1145/999 1033/1142/996 f 1038/1147/1001 1036/1145/999 1037/1146/1000 f 1038/1147/1001 1039/1148/1002 1036/1145/999 f 1040/1149/1003 1039/1148/1002 1038/1147/1001 f 1040/1149/1003 1041/1150/1004 1039/1148/1002 f 1042/1151/1005 1041/1150/1004 1040/1149/1003 f 1042/1151/1005 1043/1152/1006 1041/1150/1004 f 1044/1153/1007 1043/1152/1006 1042/1151/1005 f 1045/1154/1008 1043/1152/1006 1044/1153/1007 f 1043/1152/1006 1045/1154/1008 1046/1155/1009 f 1045/1154/1008 1047/1156/1010 1046/1155/1009 f 1045/1154/1008 1048/1157/1011 1047/1156/1010 f 1049/1158/1012 1048/1157/1011 1045/1154/1008 f 1050/1159/1013 1048/1157/1011 1049/1158/1012 f 1050/1159/1013 1051/1160/1014 1048/1157/1011 f 1050/1159/1013 1052/1161/1015 1051/1160/1014 f 1053/1162/1016 1052/1161/1015 1050/1159/1013 f 1054/1163/1017 1052/1161/1015 1053/1162/1016 f 1055/1164/1018 1052/1161/1015 1054/1163/1017 f 1055/1164/1018 1056/1165/1019 1052/1161/1015 f 1057/1166/1020 1056/1165/1019 1055/1164/1018 f 1057/1166/1020 1058/1167/1021 1056/1165/1019 f 1057/1166/1020 1059/1168/1022 1058/1167/1021 f 1060/1169/1023 1059/1168/1022 1057/1166/1020 f 1060/1169/1023 1061/1170/1024 1059/1168/1022 f 1062/1171/1025 1061/1170/1024 1060/1169/1023 f 1061/1170/1024 1062/1171/1025 1063/1172/1026 f 1062/1171/1025 1064/1173/1027 1063/1172/1026 f 1062/1171/1025 1065/1174/1028 1064/1173/1027 f 1065/1174/1028 1062/1171/1025 1066/1175/1029 f 1066/1175/1029 1062/1171/1025 1060/1169/1023 f 1066/1175/1029 1060/1169/1023 1067/1176/1030 f 1067/1176/1030 1060/1169/1023 1057/1166/1020 f 1057/1166/1020 1055/1164/1018 1067/1176/1030 f 1067/1176/1030 1055/1164/1018 1054/1163/1017 f 1067/1176/1030 1054/1163/1017 1068/1177/1031 f 1068/1177/1031 1054/1163/1017 1053/1162/1016 f 1068/1177/1031 1053/1162/1016 1069/1178/1032 f 1069/1178/1032 1053/1162/1016 1070/1179/1033 f 1053/1162/1016 1050/1159/1013 1070/1179/1033 f 1070/1179/1033 1050/1159/1013 1049/1158/1012 f 1070/1179/1033 1049/1158/1012 1071/1180/1034 f 1071/1180/1034 1049/1158/1012 1044/1153/1007 f 1049/1158/1012 1045/1154/1008 1044/1153/1007 f 1071/1180/1034 1044/1153/1007 1072/1181/1035 f 1072/1181/1035 1044/1153/1007 1042/1151/1005 f 1072/1181/1035 1042/1151/1005 1073/1182/1036 f 1073/1182/1036 1042/1151/1005 1040/1149/1003 f 1073/1182/1036 1040/1149/1003 1074/1183/1037 f 1074/1183/1037 1040/1149/1003 1038/1147/1001 f 1074/1183/1037 1038/1147/1001 1075/1184/1038 f 1075/1184/1038 1038/1147/1001 1037/1146/1000 f 1076/1185/1039 1075/1186/1038 1037/1187/1000 f 1024/1131/987 1075/1186/1038 1076/1185/1039 f 1024/1131/987 1025/1132/988 1075/1186/1038 f 1025/1132/988 1077/1188/1040 1075/1186/1038 f 1025/1132/988 1078/1189/1041 1077/1188/1040 f 1025/1132/988 1026/1133/989 1078/1189/1041 f 1026/1133/989 1027/1134/990 1078/1189/1041 f 1078/1190/1041 1027/1191/990 1079/1192/1042 f 1079/1192/1042 1027/1191/990 1080/1193/1043 f 1080/1193/1043 1027/1191/990 1028/1194/991 f 1080/1193/1043 1028/1194/991 1081/1195/1044 f 1081/1196/1044 1028/1197/991 1029/1198/992 f 1081/1196/1044 1029/1198/992 1082/1199/1045 f 1082/1199/1045 1029/1198/992 1083/1200/1046 f 1083/1200/1046 1029/1198/992 1084/1201/1047 f 1084/1202/1047 1029/1136/992 1030/1137/993 f 1084/1202/1047 1030/1137/993 1031/1138/994 f 1031/1138/994 1034/1141/997 1084/1202/1047 f 1083/1200/1046 1084/1201/1047 1034/1144/997 f 1035/1143/998 1083/1200/1046 1034/1144/997 f 1085/1203/1048 1083/1200/1046 1035/1143/998 f 1085/1203/1048 1082/1199/1045 1083/1200/1046 f 1082/1199/1045 1085/1203/1048 1086/1204/1049 f 1086/1204/1049 1085/1203/1048 1087/1205/1050 f 1087/1205/1050 1085/1203/1048 1088/1206/1051 f 1089/1207/1052 1088/1206/1051 1085/1203/1048 f 1089/1207/1052 1090/1208/1053 1088/1206/1051 f 1039/1148/1002 1090/1208/1053 1089/1207/1052 f 1039/1148/1002 1041/1150/1004 1090/1208/1053 f 1041/1150/1004 1091/1209/1054 1090/1208/1053 f 1041/1150/1004 1043/1152/1006 1091/1209/1054 f 1043/1152/1006 1046/1155/1009 1091/1209/1054 f 1091/1209/1054 1046/1155/1009 1092/1210/1055 f 1046/1155/1009 1093/1211/1056 1092/1210/1055 f 1046/1155/1009 1047/1156/1010 1093/1211/1056 f 1093/1211/1056 1047/1156/1010 1094/1212/1057 f 1094/1212/1057 1047/1156/1010 1095/1213/1058 f 1047/1156/1010 1048/1157/1011 1095/1213/1058 f 1095/1213/1058 1048/1157/1011 1051/1160/1014 f 1095/1213/1058 1051/1160/1014 1096/1214/1059 f 1096/1214/1059 1051/1160/1014 1097/1215/1060 f 1052/1161/1015 1097/1215/1060 1051/1160/1014 f 1052/1161/1015 1098/1216/1061 1097/1215/1060 f 1056/1165/1019 1098/1216/1061 1052/1161/1015 f 1056/1165/1019 1099/1217/1062 1098/1216/1061 f 1058/1167/1021 1099/1217/1062 1056/1165/1019 f 1058/1167/1021 1100/1218/1063 1099/1217/1062 f 1058/1167/1021 1101/1219/1064 1100/1218/1063 f 1059/1168/1022 1101/1219/1064 1058/1167/1021 f 1059/1168/1022 1102/1220/1065 1101/1219/1064 f 1061/1170/1024 1102/1220/1065 1059/1168/1022 f 1102/1220/1065 1061/1170/1024 1103/1221/1066 f 1061/1170/1024 1063/1172/1026 1103/1221/1066 f 1103/1222/1066 1063/1223/1026 1104/1224/1067 f 1063/1223/1026 1105/1225/1068 1104/1224/1067 f 1063/1223/1026 1064/1226/1027 1105/1225/1068 f 1064/1226/1027 1106/1227/1069 1105/1225/1068 f 1064/1226/1027 1107/1228/1070 1106/1227/1069 f 1065/1174/1028 1107/1229/1070 1064/1173/1027 f 1065/1174/1028 1108/1230/1071 1107/1229/1070 f 1108/1230/1071 1065/1174/1028 1109/1231/1072 f 1109/1231/1072 1065/1174/1028 1066/1175/1029 f 1109/1231/1072 1066/1175/1029 1068/1177/1031 f 1068/1177/1031 1066/1175/1029 1067/1176/1030 f 1069/1178/1032 1109/1231/1072 1068/1177/1031 f 1110/1232/1073 1109/1231/1072 1069/1178/1032 f 1110/1232/1073 1108/1230/1071 1109/1231/1072 f 1111/1233/1074 1108/1230/1071 1110/1232/1073 f 1108/1230/1071 1111/1233/1074 1112/1234/1075 f 1111/1233/1074 1113/1235/1076 1112/1234/1075 f 1111/1233/1074 1114/1236/1077 1113/1235/1076 f 1114/1236/1077 1111/1233/1074 1115/1237/1078 f 1115/1237/1078 1111/1233/1074 1110/1232/1073 f 1115/1237/1078 1110/1232/1073 1116/1238/1079 f 1116/1238/1079 1110/1232/1073 1069/1178/1032 f 1069/1178/1032 1070/1179/1033 1116/1238/1079 f 1070/1179/1033 1071/1180/1034 1116/1238/1079 f 1116/1238/1079 1071/1180/1034 1117/1239/1080 f 1117/1239/1080 1071/1180/1034 1072/1181/1035 f 1117/1239/1080 1072/1181/1035 1118/1240/1081 f 1118/1240/1081 1072/1181/1035 1073/1182/1036 f 1118/1240/1081 1073/1182/1036 1119/1241/1082 f 1119/1241/1082 1073/1182/1036 1074/1183/1037 f 1077/1242/1040 1119/1241/1082 1074/1183/1037 f 1077/1242/1040 1078/1190/1041 1119/1241/1082 f 1119/1241/1082 1078/1190/1041 1079/1192/1042 f 1119/1241/1082 1079/1192/1042 1120/1243/1083 f 1079/1192/1042 1080/1193/1043 1120/1243/1083 f 1114/1236/1077 1120/1243/1083 1080/1193/1043 f 1120/1243/1083 1114/1236/1077 1115/1237/1078 f 1120/1243/1083 1115/1237/1078 1117/1239/1080 f 1117/1239/1080 1115/1237/1078 1116/1238/1079 f 1118/1240/1081 1120/1243/1083 1117/1239/1080 f 1119/1241/1082 1120/1243/1083 1118/1240/1081 f 1114/1236/1077 1080/1193/1043 1081/1195/1044 f 1113/1235/1076 1114/1236/1077 1081/1195/1044 f 1113/1244/1076 1081/1196/1044 1082/1199/1045 f 1113/1244/1076 1082/1199/1045 1086/1204/1049 f 1112/1245/1075 1113/1244/1076 1086/1204/1049 f 1112/1245/1075 1086/1204/1049 1087/1205/1050 f 1107/1228/1070 1112/1245/1075 1087/1205/1050 f 1108/1230/1071 1112/1234/1075 1107/1229/1070 f 1107/1228/1070 1087/1205/1050 1106/1227/1069 f 1106/1227/1069 1087/1205/1050 1088/1206/1051 f 1106/1227/1069 1088/1206/1051 1121/1246/1084 f 1090/1208/1053 1121/1246/1084 1088/1206/1051 f 1090/1208/1053 1091/1209/1054 1121/1246/1084 f 1091/1209/1054 1092/1210/1055 1121/1246/1084 f 1105/1225/1068 1121/1246/1084 1092/1210/1055 f 1105/1225/1068 1106/1227/1069 1121/1246/1084 f 1104/1224/1067 1105/1225/1068 1092/1210/1055 f 1104/1224/1067 1092/1210/1055 1093/1211/1056 f 1104/1224/1067 1093/1211/1056 1122/1247/1085 f 1122/1247/1085 1093/1211/1056 1094/1212/1057 f 1122/1247/1085 1094/1212/1057 1123/1248/1086 f 1094/1212/1057 1124/1249/1087 1123/1248/1086 f 1094/1212/1057 1095/1213/1058 1124/1249/1087 f 1124/1249/1087 1095/1213/1058 1096/1214/1059 f 1124/1249/1087 1096/1214/1059 1125/1250/1088 f 1125/1250/1088 1096/1214/1059 1126/1251/1089 f 1096/1214/1059 1097/1215/1060 1126/1251/1089 f 1126/1251/1089 1097/1215/1060 1127/1252/1090 f 1098/1216/1061 1127/1252/1090 1097/1215/1060 f 1098/1216/1061 1128/1253/1091 1127/1252/1090 f 1099/1217/1062 1128/1253/1091 1098/1216/1061 f 1099/1217/1062 1129/1254/1092 1128/1253/1091 f 1100/1218/1063 1129/1254/1092 1099/1217/1062 f 1100/1218/1063 1130/1255/1093 1129/1254/1092 f 1131/1256/1094 1130/1255/1093 1100/1218/1063 f 1131/1256/1094 1132/1257/1095 1130/1255/1093 f 1133/1258/1096 1132/1257/1095 1131/1256/1094 f 1133/1258/1096 1134/1259/1097 1132/1257/1095 f 1133/1258/1096 1135/1260/1098 1134/1259/1097 f 1103/1221/1066 1135/1260/1098 1133/1258/1096 f 1103/1222/1066 1123/1248/1086 1135/1261/1098 f 1103/1222/1066 1122/1247/1085 1123/1248/1086 f 1103/1222/1066 1104/1224/1067 1122/1247/1085 f 1135/1261/1098 1123/1248/1086 1136/1262/1099 f 1123/1248/1086 1137/1263/1100 1136/1262/1099 f 1123/1248/1086 1124/1249/1087 1137/1263/1100 f 1124/1249/1087 1125/1250/1088 1137/1263/1100 f 1137/1263/1100 1125/1250/1088 1138/1264/1101 f 1125/1250/1088 1139/1265/1102 1138/1264/1101 f 1125/1250/1088 1126/1251/1089 1139/1265/1102 f 1139/1265/1102 1126/1251/1089 1140/1266/1103 f 1126/1251/1089 1127/1252/1090 1140/1266/1103 f 1140/1266/1103 1127/1252/1090 1141/1267/1104 f 1128/1253/1091 1141/1267/1104 1127/1252/1090 f 1128/1253/1091 1142/1268/1105 1141/1267/1104 f 1129/1254/1092 1142/1268/1105 1128/1253/1091 f 1129/1254/1092 1143/1269/1106 1142/1268/1105 f 1130/1255/1093 1143/1269/1106 1129/1254/1092 f 1130/1255/1093 1144/1270/1107 1143/1269/1106 f 1132/1257/1095 1144/1270/1107 1130/1255/1093 f 1132/1257/1095 1145/1271/1108 1144/1270/1107 f 1134/1259/1097 1145/1271/1108 1132/1257/1095 f 1134/1259/1097 1146/1272/1109 1145/1271/1108 f 1134/1259/1097 1136/1273/1099 1146/1272/1109 f 1135/1260/1098 1136/1273/1099 1134/1259/1097 f 1136/1273/1099 1147/1274/1110 1146/1272/1109 f 1136/1262/1099 1137/1263/1100 1147/1275/1110 f 1137/1263/1100 1138/1264/1101 1147/1275/1110 f 1147/1275/1110 1138/1264/1101 1148/1276/1111 f 1138/1264/1101 1149/1277/1112 1148/1276/1111 f 1138/1264/1101 1139/1265/1102 1149/1277/1112 f 1139/1265/1102 1150/1278/1113 1149/1277/1112 f 1139/1265/1102 1140/1266/1103 1150/1278/1113 f 1150/1278/1113 1140/1266/1103 1151/1279/1114 f 1140/1266/1103 1141/1267/1104 1151/1279/1114 f 1151/1279/1114 1141/1267/1104 1152/1280/1115 f 1142/1268/1105 1152/1280/1115 1141/1267/1104 f 1142/1268/1105 1153/1281/1116 1152/1280/1115 f 1143/1269/1106 1153/1281/1116 1142/1268/1105 f 1143/1269/1106 1154/1282/1117 1153/1281/1116 f 1144/1270/1107 1154/1282/1117 1143/1269/1106 f 1144/1270/1107 1155/1283/1118 1154/1282/1117 f 1145/1271/1108 1155/1283/1118 1144/1270/1107 f 1145/1271/1108 1156/1284/1119 1155/1283/1118 f 1146/1272/1109 1156/1284/1119 1145/1271/1108 f 1146/1272/1109 1157/1285/1120 1156/1284/1119 f 1146/1272/1109 1147/1274/1110 1157/1285/1120 f 1147/1274/1110 1148/1286/1111 1157/1285/1120 f 1157/1285/1120 1148/1286/1111 1158/1287/1121 f 1148/1286/1111 1159/1288/1122 1158/1287/1121 f 1148/1276/1111 1149/1277/1112 1159/1289/1122 f 1149/1277/1112 1160/1290/1123 1159/1289/1122 f 1149/1277/1112 1150/1278/1113 1160/1290/1123 f 1150/1278/1113 1161/1291/1124 1160/1290/1123 f 1150/1278/1113 1151/1279/1114 1161/1291/1124 f 1161/1291/1124 1151/1279/1114 1162/1292/1125 f 1151/1279/1114 1152/1280/1115 1162/1292/1125 f 1162/1292/1125 1152/1280/1115 1163/1293/1126 f 1153/1281/1116 1163/1293/1126 1152/1280/1115 f 1153/1281/1116 1164/1294/1127 1163/1293/1126 f 1154/1282/1117 1164/1294/1127 1153/1281/1116 f 1154/1282/1117 1165/1295/1128 1164/1294/1127 f 1155/1283/1118 1165/1295/1128 1154/1282/1117 f 1155/1283/1118 1166/1296/1129 1165/1295/1128 f 1156/1284/1119 1166/1296/1129 1155/1283/1118 f 1167/1297/1130 1166/1296/1129 1156/1284/1119 f 1168/1298/1131 1166/1296/1129 1167/1297/1130 f 1169/1299/1132 1166/1296/1129 1168/1298/1131 f 1169/1299/1132 1165/1295/1128 1166/1296/1129 f 1169/1299/1132 1170/1300/1133 1165/1295/1128 f 1169/1299/1132 1171/1301/1134 1170/1300/1133 f 1169/1299/1132 1172/1302/1135 1171/1301/1134 f 1168/1298/1131 1172/1302/1135 1169/1299/1132 f 1168/1298/1131 1173/1303/1136 1172/1302/1135 f 1174/1304/1137 1173/1303/1136 1168/1298/1131 f 1175/1305/1138 1173/1303/1136 1174/1304/1137 f 1176/372/1139 1173/393/1136 1175/394/1138 f 1176/372/1139 1172/392/1135 1173/393/1136 f 1171/391/1134 1172/392/1135 1176/372/1139 f 1177/378/1140 1171/391/1134 1176/372/1139 f 1170/1300/1133 1171/1301/1134 1177/1306/1140 f 1170/1300/1133 1177/1306/1140 1178/1307/1141 f 1179/1308/1142 1178/1307/1141 1177/1306/1140 f 1179/1308/1142 1180/1309/1143 1178/1307/1141 f 1181/1310/1144 1180/1309/1143 1179/1308/1142 f 1181/1310/1144 1182/1311/1145 1180/1309/1143 f 1182/1311/1145 1181/1310/1144 1183/1312/1146 f 1181/376/1144 1176/372/1139 1183/375/1146 f 1179/377/1142 1176/372/1139 1181/376/1144 f 1179/377/1142 1177/378/1140 1176/372/1139 f 1183/375/1146 1176/372/1139 1184/373/1147 f 1176/372/1139 1185/374/1148 1184/373/1147 f 1176/372/1139 1175/394/1138 1185/374/1148 f 1185/1313/1148 1175/1305/1138 1186/1314/1149 f 1186/1314/1149 1175/1305/1138 1174/1304/1137 f 1186/1314/1149 1174/1304/1137 1158/1287/1121 f 1174/1304/1137 1167/1297/1130 1158/1287/1121 f 1168/1298/1131 1167/1297/1130 1174/1304/1137 f 1158/1287/1121 1167/1297/1130 1157/1285/1120 f 1157/1285/1120 1167/1297/1130 1156/1284/1119 f 1159/1288/1122 1186/1314/1149 1158/1287/1121 f 1187/1315/1150 1186/1314/1149 1159/1288/1122 f 1186/1314/1149 1187/1315/1150 1185/1313/1148 f 1187/1315/1150 1184/1316/1147 1185/1313/1148 f 1187/1317/1150 1188/1318/1151 1184/1319/1147 f 1160/1290/1123 1188/1318/1151 1187/1317/1150 f 1161/1291/1124 1188/1318/1151 1160/1290/1123 f 1161/1291/1124 1182/1311/1145 1188/1318/1151 f 1161/1291/1124 1162/1292/1125 1182/1311/1145 f 1182/1311/1145 1162/1292/1125 1180/1309/1143 f 1162/1292/1125 1163/1293/1126 1180/1309/1143 f 1180/1309/1143 1163/1293/1126 1178/1307/1141 f 1178/1307/1141 1163/1293/1126 1164/1294/1127 f 1170/1300/1133 1178/1307/1141 1164/1294/1127 f 1170/1300/1133 1164/1294/1127 1165/1295/1128 f 1188/1318/1151 1182/1311/1145 1183/1312/1146 f 1188/1318/1151 1183/1312/1146 1184/1319/1147 f 1160/1290/1123 1187/1317/1150 1159/1289/1122 f 1189/1320/1152 1103/1221/1066 1133/1258/1096 f 1102/1220/1065 1103/1221/1066 1189/1320/1152 f 1102/1220/1065 1189/1320/1152 1101/1219/1064 f 1189/1320/1152 1131/1256/1094 1101/1219/1064 f 1189/1320/1152 1133/1258/1096 1131/1256/1094 f 1101/1219/1064 1131/1256/1094 1100/1218/1063 f 1075/1184/1038 1077/1242/1040 1074/1183/1037 f 1036/1145/999 1039/1148/1002 1089/1207/1052 f 1036/1145/999 1089/1207/1052 1035/1143/998 f 1035/1143/998 1089/1207/1052 1085/1203/1048 f 1023/1130/986 1024/1131/987 1076/1185/1039 f 1023/1128/986 1076/1321/1039 1022/1127/985 f 1022/1127/985 1076/1321/1039 1032/1139/995 f 1032/1139/995 1076/1321/1039 1037/1322/1000 f 1037/1322/1000 1033/1140/996 1032/1139/995 f 1022/1127/985 1032/1139/995 1021/1126/984 f 123/1129/85 121/109/83 122/110/84 f 98/79/60 99/80/61 124/113/86 f 59/24/21 60/25/22 95/74/57 f 95/74/57 93/76/55 59/24/21 f 59/24/21 93/76/55 92/1323/54 f 59/24/21 92/1323/54 58/23/20 f 58/23/20 92/1323/54 1190/1324/1153 f 1190/1325/1153 92/69/54 91/68/53 f 25/1326/1154 1190/1325/1153 91/68/53 f 22/1327/1155 25/1326/1154 91/68/53 f 22/1327/1155 91/68/53 89/66/51 f 20/19/17 22/1327/1155 89/66/51 f 20/19/17 89/66/51 19/18/16 f 66/33/28 67/34/29 69/43/31 f 67/34/29 68/35/30 69/43/31 f 13/26/10 57/20/18 12/22/9 g mesh1.002_mesh1-geometry_orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu usemtl orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu f 5/1328/5 6/1329/1156 4/1330/4 f 5/1328/5 7/1331/1157 6/1329/1156 f 8/1332/8 7/1331/1157 5/1328/5 f 8/1332/8 9/1333/1158 7/1331/1157 f 10/1334/7 8/1332/8 9/1333/1158 f 21/1335/1159 20/1336/17 2/1337/2 f 21/1335/1159 22/1338/1155 20/1336/17 f 23/1339/1160 22/1338/1155 21/1335/1159 f 24/1340/1161 22/1338/1155 23/1339/1160 f 24/1340/1161 25/1341/1154 22/1338/1155 f 24/1340/1161 26/1342/1162 25/1341/1154 f 24/1340/1161 27/1343/1163 26/1342/1162 f 24/1340/1161 28/1344/1164 27/1343/1163 f 24/1340/1161 29/1345/1165 28/1344/1164 f 24/1340/1161 30/1346/1166 29/1345/1165 f 23/1339/1160 30/1346/1166 24/1340/1161 f 31/1347/1167 30/1346/1166 23/1339/1160 f 31/1347/1167 32/1348/1168 30/1346/1166 f 31/1347/1167 33/1349/1169 32/1348/1168 f 34/1350/1170 33/1349/1169 31/1347/1167 f 34/1350/1170 35/1351/1171 33/1349/1169 f 36/1352/1172 35/1351/1171 34/1350/1170 f 36/1352/1172 37/1353/1173 35/1351/1171 f 36/1352/1172 38/1354/1174 37/1353/1173 f 38/1354/1174 36/1352/1172 6/1329/1156 f 36/1352/1172 34/1350/1170 6/1329/1156 f 6/1329/1156 34/1350/1170 31/1347/1167 f 6/1329/1156 31/1347/1167 4/1330/4 f 31/1347/1167 2/1337/2 4/1330/4 f 31/1347/1167 23/1339/1160 2/1337/2 f 23/1339/1160 21/1335/1159 2/1337/2 f 7/1331/1157 38/1354/1174 6/1329/1156 f 7/1331/1157 39/1355/1175 38/1354/1174 f 7/1331/1157 40/1356/1176 39/1355/1175 f 9/1333/1158 40/1356/1176 7/1331/1157 f 9/1333/1158 41/1357/1177 40/1356/1176 f 42/1358/1178 41/1357/1177 9/1333/1158 f 43/1359/1179 41/1360/1177 42/1361/1178 f 43/1359/1179 44/1362/1180 41/1360/1177 f 43/1359/1179 45/1363/1181 44/1362/1180 f 46/1364/1182 45/1363/1181 43/1359/1179 f 46/1364/1182 47/1365/1183 45/1363/1181 f 47/1365/1183 46/1364/1182 48/1363/1184 f 48/1363/1184 46/1364/1182 49/1359/1185 f 46/1364/1182 50/1366/1186 49/1359/1185 f 46/1364/1182 51/1367/1187 50/1366/1186 f 46/1364/1182 52/1366/1188 51/1367/1187 f 46/1364/1182 43/1359/1179 52/1366/1188 f 43/1359/1179 42/1361/1178 52/1366/1188 f 52/1368/1188 42/1358/1178 53/1369/1189 f 53/1369/1189 42/1358/1178 9/1333/1158 f 10/1334/7 9/1333/1158 53/1369/1189 f 54/1370/1190 53/1369/1189 10/1334/7 f 54/1370/1190 52/1368/1188 53/1369/1189 f 51/1371/1187 52/1368/1188 54/1370/1190 f 50/1372/1186 51/1373/1187 54/1374/1190 f 50/1372/1186 54/1374/1190 55/1375/1191 f 54/1374/1190 56/1376/19 55/1375/1191 f 54/1374/1190 12/1377/9 56/1376/19 f 54/1370/1190 10/1334/7 12/1378/9 f 1190/1379/1153 25/1341/1154 26/1342/1162 f 1191/1380/1192 1190/1381/1153 26/1342/1162 f 58/1382/20 1190/1381/1153 1191/1380/1192 f 1192/1383/1193 58/1382/20 1191/1380/1192 f 1192/1383/1193 56/1376/19 58/1382/20 f 55/1375/1191 56/1376/19 1192/1383/1193 f 1193/1384/1194 55/1375/1191 1192/1383/1193 f 50/1372/1186 55/1375/1191 1193/1384/1194 f 49/1359/1185 50/1366/1186 1193/1361/1194 f 49/1359/1185 1193/1361/1194 1194/1360/1195 f 1193/1384/1194 1192/1383/1193 1194/1385/1195 f 1194/1385/1195 1192/1383/1193 1195/1386/1196 f 1195/1386/1196 1192/1383/1193 1191/1380/1192 f 1195/1386/1196 1191/1380/1192 1196/1387/1197 f 1191/1380/1192 1197/1388/1198 1196/1387/1197 f 1191/1380/1192 26/1342/1162 1197/1388/1198 f 1197/1388/1198 26/1342/1162 1198/1389/1199 f 1198/1389/1199 26/1342/1162 27/1343/1163 f 27/1343/1163 1199/1390/1200 1198/1389/1199 f 28/1344/1164 1199/1390/1200 27/1343/1163 f 28/1344/1164 1200/1391/1201 1199/1390/1200 f 29/1345/1165 1200/1391/1201 28/1344/1164 f 29/1345/1165 1201/1392/1202 1200/1391/1201 f 29/1345/1165 1202/1393/1203 1201/1392/1202 f 30/1346/1166 1202/1393/1203 29/1345/1165 f 32/1348/1168 1202/1393/1203 30/1346/1166 f 32/1348/1168 1203/1394/1204 1202/1393/1203 f 32/1348/1168 1204/1395/1205 1203/1394/1204 f 33/1349/1169 1204/1395/1205 32/1348/1168 f 35/1351/1171 1204/1395/1205 33/1349/1169 f 1205/1396/1206 1204/1395/1205 35/1351/1171 f 1205/1396/1206 1206/1397/1207 1204/1395/1205 f 1207/1398/1208 1206/1397/1207 1205/1396/1206 f 1207/1398/1208 1208/1399/1209 1206/1397/1207 f 1209/1400/1210 1208/1399/1209 1207/1398/1208 f 1209/1400/1210 1210/1401/1211 1208/1399/1209 f 1211/1402/1212 1210/1401/1211 1209/1400/1210 f 1211/1402/1212 1212/1403/1213 1210/1401/1211 f 1213/1404/1214 1212/1403/1213 1211/1402/1212 f 1213/1404/1214 1214/1405/1215 1212/1403/1213 f 1215/1406/1216 1214/1405/1215 1213/1404/1214 f 1215/1406/1216 1216/1407/1217 1214/1405/1215 f 1215/1406/1216 1217/1408/1218 1216/1407/1217 f 1215/1406/1216 1218/1409/1219 1217/1408/1218 f 1219/1410/1220 1218/1409/1219 1215/1406/1216 f 1219/1410/1220 1220/1411/1221 1218/1409/1219 f 1221/1412/1222 1220/1411/1221 1219/1410/1220 f 1222/1413/1223 1220/1411/1221 1221/1412/1222 f 1223/1414/1224 1220/1411/1221 1222/1413/1223 f 1224/1415/1225 1220/1411/1221 1223/1414/1224 f 1220/1411/1221 1224/1415/1225 1218/1409/1219 f 1224/1415/1225 1225/1416/1226 1218/1409/1219 f 1226/1417/1227 1225/1416/1226 1224/1415/1225 f 1227/1418/1228 1225/1416/1226 1226/1417/1227 f 1228/1419/1229 1225/1416/1226 1227/1418/1228 f 1217/1408/1218 1225/1416/1226 1228/1419/1229 f 1218/1409/1219 1225/1416/1226 1217/1408/1218 f 1217/1408/1218 1228/1419/1229 1229/1420/1230 f 1229/1420/1230 1228/1419/1229 1230/1421/1231 f 1228/1419/1229 1231/1422/1232 1230/1421/1231 f 1228/1419/1229 1227/1418/1228 1231/1422/1232 f 1232/1423/1233 1231/1422/1232 1227/1418/1228 f 1233/1424/1234 1231/1422/1232 1232/1423/1233 f 1233/1424/1234 1234/1425/1235 1231/1422/1232 f 1235/1426/1236 1234/1425/1235 1233/1424/1234 f 1234/1425/1235 1235/1426/1236 1236/1427/1237 f 1235/1426/1236 1237/1428/1238 1236/1427/1237 f 1238/1429/1239 1237/1428/1238 1235/1426/1236 f 1238/1429/1239 1239/1430/1240 1237/1428/1238 f 1238/1429/1239 1240/1431/1241 1239/1430/1240 f 1241/1432/1242 1240/1431/1241 1238/1429/1239 f 1241/1432/1242 1200/1391/1201 1240/1431/1241 f 1199/1390/1200 1200/1391/1201 1241/1432/1242 f 1242/1433/1243 1199/1390/1200 1241/1432/1242 f 1198/1389/1199 1199/1390/1200 1242/1433/1243 f 1197/1388/1198 1198/1389/1199 1242/1433/1243 f 1243/1434/1244 1197/1388/1198 1242/1433/1243 f 1196/1387/1197 1197/1388/1198 1243/1434/1244 f 1196/1387/1197 1243/1434/1244 1244/1435/1245 f 1244/1435/1245 1243/1434/1244 1245/1436/1246 f 1245/1436/1246 1243/1434/1244 1246/1437/1247 f 1243/1434/1244 1247/1438/1248 1246/1437/1247 f 1243/1434/1244 1242/1433/1243 1247/1438/1248 f 1247/1438/1248 1242/1433/1243 1248/1439/1249 f 1242/1433/1243 1249/1440/1250 1248/1439/1249 f 1242/1433/1243 1241/1432/1242 1249/1440/1250 f 1249/1440/1250 1241/1432/1242 1238/1429/1239 f 1249/1440/1250 1238/1429/1239 1250/1441/1251 f 1250/1441/1251 1238/1429/1239 1251/1442/1252 f 1251/1442/1252 1238/1429/1239 1235/1426/1236 f 1251/1442/1252 1235/1426/1236 1252/1443/1253 f 1235/1426/1236 1233/1424/1234 1252/1443/1253 f 1252/1443/1253 1233/1424/1234 1253/1444/1254 f 1233/1424/1234 1232/1423/1233 1253/1444/1254 f 1232/1423/1233 1254/1445/1255 1253/1444/1254 f 1232/1423/1233 1255/1446/1256 1254/1445/1255 f 1232/1423/1233 1227/1418/1228 1255/1446/1256 f 1227/1418/1228 1226/1417/1227 1255/1446/1256 f 1254/1445/1255 1255/1446/1256 1226/1417/1227 f 1254/1445/1255 1226/1417/1227 1256/1447/1257 f 1257/1448/1258 1256/1447/1257 1226/1417/1227 f 1258/1449/1259 1256/1447/1257 1257/1448/1258 f 1254/1445/1255 1256/1447/1257 1258/1449/1259 f 1259/1450/1260 1254/1445/1255 1258/1449/1259 f 1260/1451/1261 1254/1445/1255 1259/1450/1260 f 1253/1444/1254 1254/1445/1255 1260/1451/1261 f 1253/1444/1254 1260/1451/1261 1261/1452/1262 f 1261/1452/1262 1260/1451/1261 1262/1453/1263 f 1259/1450/1260 1262/1453/1263 1260/1451/1261 f 1259/1450/1260 1263/1454/1264 1262/1453/1263 f 1259/1450/1260 1264/1455/1265 1263/1454/1264 f 1259/1450/1260 1265/1456/1266 1264/1455/1265 f 1258/1449/1259 1265/1456/1266 1259/1450/1260 f 1258/1449/1259 1266/1457/1267 1265/1456/1266 f 1258/1449/1259 1267/1458/1268 1266/1457/1267 f 1268/1459/1269 1267/1458/1268 1258/1449/1259 f 1269/1460/1270 1267/1458/1268 1268/1459/1269 f 1269/1460/1270 1270/1461/1271 1267/1458/1268 f 1271/1462/1272 1270/1461/1271 1269/1460/1270 f 1272/1463/1273 1270/1461/1271 1271/1462/1272 f 1273/1464/1274 1270/1461/1271 1272/1463/1273 f 1274/1465/1275 1270/1461/1271 1273/1464/1274 f 1274/1465/1275 1275/1466/1276 1270/1461/1271 f 1274/1465/1275 1276/1467/1277 1275/1466/1276 f 1277/1468/1278 1276/1467/1277 1274/1465/1275 f 1278/1469/1279 1276/1467/1277 1277/1468/1278 f 1279/1470/1280 1276/1467/1277 1278/1469/1279 f 1279/1470/1280 1280/1471/1281 1276/1467/1277 f 1265/1456/1266 1280/1471/1281 1279/1470/1280 f 1266/1457/1267 1280/1471/1281 1265/1456/1266 f 1267/1458/1268 1280/1471/1281 1266/1457/1267 f 1267/1458/1268 1275/1466/1276 1280/1471/1281 f 1267/1458/1268 1270/1461/1271 1275/1466/1276 f 1276/1467/1277 1280/1471/1281 1275/1466/1276 f 1265/1456/1266 1279/1470/1280 1281/1472/1282 f 1281/1472/1282 1279/1470/1280 1278/1469/1279 f 1282/1473/1283 1281/1472/1282 1278/1469/1279 f 1262/1453/1263 1281/1472/1282 1282/1473/1283 f 1263/1454/1264 1281/1472/1282 1262/1453/1263 f 1264/1455/1265 1281/1472/1282 1263/1454/1264 f 1265/1456/1266 1281/1472/1282 1264/1455/1265 f 1283/1474/1284 1262/1453/1263 1282/1473/1283 f 1261/1452/1262 1262/1453/1263 1283/1474/1284 f 1261/1452/1262 1283/1474/1284 1284/1475/1285 f 1283/1474/1284 1285/1476/1286 1284/1475/1285 f 1283/1474/1284 1282/1473/1283 1285/1476/1286 f 1285/1476/1286 1282/1473/1283 1278/1469/1279 f 1285/1476/1286 1278/1469/1279 1286/1477/1287 f 1286/1477/1287 1278/1469/1279 1277/1468/1278 f 1287/1478/1288 1286/1477/1287 1277/1468/1278 f 1287/1478/1288 1288/1479/1289 1286/1477/1287 f 1289/1480/1290 1288/1479/1289 1287/1478/1288 f 1284/1475/1285 1288/1479/1289 1289/1480/1290 f 1284/1475/1285 1286/1477/1287 1288/1479/1289 f 1284/1475/1285 1285/1476/1286 1286/1477/1287 f 1290/1481/1291 1284/1475/1285 1289/1480/1290 f 1261/1452/1262 1284/1475/1285 1290/1481/1291 f 1291/1482/1292 1261/1452/1262 1290/1481/1291 f 1292/1483/1293 1261/1452/1262 1291/1482/1292 f 1293/1484/1294 1261/1452/1262 1292/1483/1293 f 1293/1484/1294 1252/1443/1253 1261/1452/1262 f 1294/1485/1295 1252/1443/1253 1293/1484/1294 f 1294/1485/1295 1251/1442/1252 1252/1443/1253 f 1250/1441/1251 1251/1442/1252 1294/1485/1295 f 1249/1440/1250 1250/1441/1251 1294/1485/1295 f 1248/1439/1249 1249/1440/1250 1294/1485/1295 f 1248/1439/1249 1294/1485/1295 1293/1484/1294 f 1295/1486/1296 1248/1439/1249 1293/1484/1294 f 1247/1438/1248 1248/1439/1249 1295/1486/1296 f 1246/1437/1247 1247/1438/1248 1295/1486/1296 f 1246/1437/1247 1295/1486/1296 1296/1487/1297 f 1296/1487/1297 1295/1486/1296 1297/1488/1298 f 1295/1486/1296 1293/1484/1294 1297/1488/1298 f 1297/1488/1298 1293/1484/1294 1292/1483/1293 f 1297/1488/1298 1292/1483/1293 1298/1489/1299 f 1298/1489/1299 1292/1483/1293 1299/1490/1300 f 1292/1483/1293 1291/1482/1292 1299/1490/1300 f 1299/1490/1300 1291/1482/1292 1300/1491/1301 f 1300/1491/1301 1291/1482/1292 1301/1492/1302 f 1301/1492/1302 1291/1482/1292 1290/1481/1291 f 1301/1492/1302 1290/1481/1291 1302/1493/1303 f 1290/1481/1291 1289/1480/1290 1302/1493/1303 f 1302/1493/1303 1289/1480/1290 1303/1494/1304 f 1303/1494/1304 1289/1480/1290 1304/1495/1305 f 1289/1480/1290 1287/1478/1288 1304/1495/1305 f 1304/1495/1305 1287/1478/1288 1305/1496/1306 f 1305/1496/1306 1287/1478/1288 1306/1497/1307 f 1306/1497/1307 1287/1478/1288 1307/1498/1308 f 1287/1478/1288 1277/1468/1278 1307/1498/1308 f 1277/1468/1278 1274/1465/1275 1307/1498/1308 f 1307/1498/1308 1274/1465/1275 1308/1499/1309 f 1308/1499/1309 1274/1465/1275 1273/1464/1274 f 1308/1499/1309 1273/1464/1274 1309/1500/1310 f 1309/1500/1310 1273/1464/1274 1272/1463/1273 f 1309/1500/1310 1272/1463/1273 1310/1501/1311 f 1310/1501/1311 1272/1463/1273 1311/1502/1312 f 1311/1502/1312 1272/1463/1273 1268/1459/1269 f 1272/1463/1273 1271/1462/1272 1268/1459/1269 f 1271/1462/1272 1269/1460/1270 1268/1459/1269 f 1311/1502/1312 1268/1459/1269 1257/1448/1258 f 1268/1459/1269 1258/1449/1259 1257/1448/1258 f 1311/1502/1312 1257/1448/1258 1312/1503/1313 f 1257/1448/1258 1223/1414/1224 1312/1503/1313 f 1257/1448/1258 1313/1504/1314 1223/1414/1224 f 1257/1448/1258 1226/1417/1227 1313/1504/1314 f 1313/1504/1314 1226/1417/1227 1224/1415/1225 f 1313/1504/1314 1224/1415/1225 1223/1414/1224 f 1312/1503/1313 1223/1414/1224 1222/1413/1223 f 1312/1503/1313 1222/1413/1223 1314/1505/1315 f 1314/1505/1315 1222/1413/1223 1315/1506/1316 f 1222/1413/1223 1221/1412/1222 1315/1506/1316 f 1315/1506/1316 1221/1412/1222 1316/1507/1317 f 1316/1507/1317 1221/1412/1222 1317/1508/1318 f 1317/1508/1318 1221/1412/1222 1318/1509/1319 f 1318/1509/1319 1221/1412/1222 1219/1410/1220 f 1318/1509/1319 1219/1410/1220 1319/1510/1320 f 1319/1510/1320 1219/1410/1220 1320/1511/1321 f 1219/1410/1220 1215/1406/1216 1320/1511/1321 f 1320/1511/1321 1215/1406/1216 1213/1404/1214 f 1213/1404/1214 1211/1402/1212 1320/1511/1321 f 1320/1511/1321 1211/1402/1212 1319/1510/1320 f 1321/1512/1322 1319/1510/1320 1211/1402/1212 f 1317/1508/1318 1319/1510/1320 1321/1512/1322 f 1317/1508/1318 1318/1509/1319 1319/1510/1320 f 1316/1507/1317 1317/1508/1318 1321/1512/1322 f 1316/1507/1317 1321/1512/1322 1209/1400/1210 f 1321/1512/1322 1211/1402/1212 1209/1400/1210 f 1315/1506/1316 1316/1507/1317 1209/1400/1210 f 1315/1506/1316 1209/1400/1210 1207/1398/1208 f 1315/1506/1316 1207/1398/1208 1322/1513/1323 f 1322/1513/1323 1207/1398/1208 1323/1514/1324 f 1323/1514/1324 1207/1398/1208 1324/1515/1325 f 1324/1515/1325 1207/1398/1208 1205/1396/1206 f 1324/1515/1325 1205/1396/1206 37/1353/1173 f 37/1353/1173 1205/1396/1206 35/1351/1171 f 1325/1516/1326 1324/1515/1325 37/1353/1173 f 1326/1517/1327 1324/1515/1325 1325/1516/1326 f 1326/1517/1327 1323/1514/1324 1324/1515/1325 f 1326/1517/1327 1322/1513/1323 1323/1514/1324 f 1314/1505/1315 1322/1513/1323 1326/1517/1327 f 1314/1505/1315 1315/1506/1316 1322/1513/1323 f 1327/1518/1328 1314/1505/1315 1326/1517/1327 f 1310/1501/1311 1314/1505/1315 1327/1518/1328 f 1310/1501/1311 1312/1503/1313 1314/1505/1315 f 1310/1501/1311 1311/1502/1312 1312/1503/1313 f 1328/1519/1329 1310/1501/1311 1327/1518/1328 f 1329/1520/1330 1310/1501/1311 1328/1519/1329 f 1330/1521/1331 1310/1501/1311 1329/1520/1330 f 1330/1521/1331 1331/1522/1332 1310/1501/1311 f 1305/1496/1306 1331/1522/1332 1330/1521/1331 f 1305/1496/1306 1306/1497/1307 1331/1522/1332 f 1306/1497/1307 1307/1498/1308 1331/1522/1332 f 1331/1522/1332 1307/1498/1308 1308/1499/1309 f 1331/1522/1332 1308/1499/1309 1309/1500/1310 f 1310/1501/1311 1331/1522/1332 1309/1500/1310 f 1332/1523/1333 1305/1496/1306 1330/1521/1331 f 1303/1494/1304 1305/1496/1306 1332/1523/1333 f 1303/1494/1304 1304/1495/1305 1305/1496/1306 f 1333/1524/1334 1303/1494/1304 1332/1523/1333 f 1302/1493/1303 1303/1494/1304 1333/1524/1334 f 1334/1525/1335 1302/1493/1303 1333/1524/1334 f 1335/1526/1336 1302/1493/1303 1334/1525/1335 f 1301/1492/1302 1302/1493/1303 1335/1526/1336 f 1336/1527/1337 1301/1492/1302 1335/1526/1336 f 1337/1528/1338 1301/1492/1302 1336/1527/1337 f 1300/1491/1301 1301/1492/1302 1337/1528/1338 f 1338/1529/1339 1300/1491/1301 1337/1528/1338 f 1338/1529/1339 1339/1530/1340 1300/1491/1301 f 1338/1529/1339 1340/1531/1341 1339/1530/1340 f 1338/1529/1339 1341/1532/1342 1340/1531/1341 f 1342/1533/1343 1341/1532/1342 1338/1529/1339 f 1343/1534/1344 1341/1532/1342 1342/1533/1343 f 1344/1535/1345 1341/1532/1342 1343/1534/1344 f 1345/1536/1346 1341/1532/1342 1344/1535/1345 f 1341/1532/1342 1345/1536/1346 1340/1531/1341 f 1345/1536/1346 1339/1530/1340 1340/1531/1341 f 1346/1537/1347 1339/1530/1340 1345/1536/1346 f 1346/1537/1347 1299/1490/1300 1339/1530/1340 f 1298/1489/1299 1299/1490/1300 1346/1537/1347 f 1347/1538/1348 1298/1489/1299 1346/1537/1347 f 1296/1487/1297 1298/1489/1299 1347/1538/1348 f 1296/1487/1297 1297/1488/1298 1298/1489/1299 f 1348/1539/1349 1296/1487/1297 1347/1538/1348 f 1348/1539/1349 1246/1437/1247 1296/1487/1297 f 1349/1540/1350 1246/1437/1247 1348/1539/1349 f 1245/1436/1246 1246/1437/1247 1349/1540/1350 f 1350/1541/1351 1245/1436/1246 1349/1540/1350 f 1351/1542/1352 1245/1436/1246 1350/1541/1351 f 1351/1542/1352 1244/1435/1245 1245/1436/1246 f 1351/1542/1352 1352/1543/1353 1244/1435/1245 f 1353/1544/1354 1352/1543/1353 1351/1542/1352 f 1354/1545/1355 1352/1543/1353 1353/1544/1354 f 1354/1545/1355 1355/1546/1356 1352/1543/1353 f 1354/1547/1355 1356/1548/1357 1355/1549/1356 f 1357/1550/1358 1356/1548/1357 1354/1547/1355 f 1356/1548/1357 1357/1550/1358 1358/1551/1359 f 1357/1552/1358 1359/1553/1360 1358/1554/1359 f 1357/1552/1358 1360/1555/1361 1359/1553/1360 f 1361/1556/1362 1360/1555/1361 1357/1552/1358 f 1361/1556/1362 1362/1557/1363 1360/1555/1361 f 1363/1558/1364 1362/1557/1363 1361/1556/1362 f 1362/1557/1363 1363/1558/1364 1364/1559/1365 f 1363/1558/1364 1365/1560/1366 1364/1559/1365 f 1365/1561/1366 1363/1562/1364 1354/1547/1355 f 1363/1562/1364 1361/1563/1362 1354/1547/1355 f 1354/1547/1355 1361/1563/1362 1357/1550/1358 f 1364/1559/1365 1365/1560/1366 1354/1545/1355 f 1364/1559/1365 1354/1545/1355 1353/1544/1354 f 1364/1559/1365 1353/1544/1354 1362/1557/1363 f 1362/1557/1363 1353/1544/1354 1351/1542/1352 f 1362/1557/1363 1351/1542/1352 1360/1555/1361 f 1360/1555/1361 1351/1542/1352 1359/1553/1360 f 1351/1542/1352 1350/1541/1351 1359/1553/1360 f 1358/1554/1359 1359/1553/1360 1350/1541/1351 f 1358/1554/1359 1350/1541/1351 1349/1540/1350 f 1358/1554/1359 1349/1540/1350 1366/1564/1367 f 1349/1540/1350 1348/1539/1349 1366/1564/1367 f 1348/1539/1349 1367/1565/1368 1366/1564/1367 f 1348/1539/1349 1368/1566/1369 1367/1565/1368 f 1348/1539/1349 1369/1567/1370 1368/1566/1369 f 1348/1539/1349 1347/1538/1348 1369/1567/1370 f 1369/1567/1370 1347/1538/1348 1370/1568/1371 f 1347/1538/1348 1346/1537/1347 1370/1568/1371 f 1370/1568/1371 1346/1537/1347 1345/1536/1346 f 1370/1568/1371 1345/1536/1346 1344/1535/1345 f 1370/1568/1371 1344/1535/1345 1371/1569/1372 f 1371/1569/1372 1344/1535/1345 1343/1534/1344 f 1343/1534/1344 1372/1570/1373 1371/1569/1372 f 1343/1534/1344 1373/1571/1374 1372/1570/1373 f 1374/1572/1375 1373/1571/1374 1343/1534/1344 f 1375/1573/1376 1373/1571/1374 1374/1572/1375 f 1376/1574/1377 1373/1571/1374 1375/1573/1376 f 1372/1570/1373 1373/1571/1374 1376/1574/1377 f 1377/1575/1378 1372/1570/1373 1376/1574/1377 f 1371/1569/1372 1372/1570/1373 1377/1575/1378 f 1370/1568/1371 1371/1569/1372 1377/1575/1378 f 1370/1568/1371 1377/1575/1378 1368/1566/1369 f 1368/1566/1369 1377/1575/1378 1378/1576/1379 f 1377/1575/1378 1379/1577/1380 1378/1576/1379 f 1377/1575/1378 1376/1574/1377 1379/1577/1380 f 1376/1574/1377 1380/1578/1381 1379/1577/1380 f 1380/1578/1381 1376/1574/1377 1375/1573/1376 f 1375/1573/1376 1337/1528/1338 1380/1578/1381 f 1375/1573/1376 1374/1572/1375 1337/1528/1338 f 1337/1528/1338 1374/1572/1375 1381/1579/1382 f 1381/1579/1382 1374/1572/1375 1342/1533/1343 f 1342/1533/1343 1374/1572/1375 1343/1534/1344 f 1381/1579/1382 1342/1533/1343 1338/1529/1339 f 1337/1528/1338 1381/1579/1382 1338/1529/1339 f 1337/1528/1338 1336/1527/1337 1380/1578/1381 f 1336/1527/1337 1382/1580/1383 1380/1578/1381 f 1336/1527/1337 1335/1526/1336 1382/1580/1383 f 1382/1580/1383 1335/1526/1336 1383/1581/1384 f 1335/1526/1336 1334/1525/1335 1383/1581/1384 f 1334/1525/1335 1384/1582/1385 1383/1581/1384 f 1334/1525/1335 1333/1524/1334 1384/1582/1385 f 1384/1582/1385 1333/1524/1334 1385/1583/1386 f 1333/1524/1334 1332/1523/1333 1385/1583/1386 f 1385/1583/1386 1332/1523/1333 1386/1584/1387 f 1386/1584/1387 1332/1523/1333 1387/1585/1388 f 1387/1585/1388 1332/1523/1333 1330/1521/1331 f 1387/1585/1388 1330/1521/1331 1329/1520/1330 f 1387/1585/1388 1329/1520/1330 1388/1586/1389 f 1388/1586/1389 1329/1520/1330 1389/1587/1390 f 1389/1587/1390 1329/1520/1330 1328/1519/1329 f 1390/1588/1391 1389/1587/1390 1328/1519/1329 f 1391/1589/1392 1389/1587/1390 1390/1588/1391 f 1391/1589/1392 1392/1590/1393 1389/1587/1390 f 1393/1591/1394 1392/1590/1393 1391/1589/1392 f 1393/1591/1394 1394/1592/1395 1392/1590/1393 f 1393/1591/1394 1395/1593/1396 1394/1592/1395 f 1396/1594/1397 1395/1593/1396 1393/1591/1394 f 1397/1595/1398 1395/1593/1396 1396/1594/1397 f 1398/1596/1399 1395/1593/1396 1397/1595/1398 f 1395/1593/1396 1398/1596/1399 1399/1597/1400 f 1398/1596/1399 1400/1598/1401 1399/1597/1400 f 1401/1599/1402 1400/1598/1401 1398/1596/1399 f 1402/1600/1403 1401/1599/1402 1403/1601/1404 f 1403/1601/1404 1401/1599/1402 1404/1602/1405 f 1397/1595/1398 1404/1602/1405 1401/1599/1402 f 1405/1603/1406 1404/1602/1405 1397/1595/1398 f 1406/1604/1407 1404/1602/1405 1405/1603/1406 f 1406/1604/1407 1403/1601/1404 1404/1602/1405 f 1406/1604/1407 1407/1605/1408 1403/1601/1404 f 1408/1606/1409 1407/1605/1408 1406/1604/1407 f 1408/1606/1409 1409/1607/1410 1407/1605/1408 f 1410/1608/1411 1409/1607/1410 1408/1606/1409 f 1411/1609/1412 1409/1607/1410 1410/1608/1411 f 1411/1609/1412 1412/1610/1413 1409/1607/1410 f 1411/1609/1412 1384/1582/1385 1412/1610/1413 f 1413/1611/1414 1384/1582/1385 1411/1609/1412 f 1414/1612/1415 1384/1582/1385 1413/1611/1414 f 1414/1612/1415 1383/1581/1384 1384/1582/1385 f 1382/1580/1383 1383/1581/1384 1414/1612/1415 f 1415/1613/1416 1382/1580/1383 1414/1612/1415 f 1379/1577/1380 1382/1580/1383 1415/1613/1416 f 1380/1578/1381 1382/1580/1383 1379/1577/1380 f 1378/1576/1379 1379/1577/1380 1415/1613/1416 f 1378/1576/1379 1415/1613/1416 1416/1614/1417 f 1417/1615/1418 1416/1614/1417 1415/1613/1416 f 1367/1565/1368 1416/1614/1417 1417/1615/1418 f 1367/1565/1368 1378/1576/1379 1416/1614/1417 f 1367/1565/1368 1368/1566/1369 1378/1576/1379 f 1366/1564/1367 1367/1565/1368 1417/1615/1418 f 1366/1564/1367 1417/1615/1418 1418/1616/1419 f 1418/1616/1419 1417/1615/1418 1419/1617/1420 f 1417/1615/1418 1414/1612/1415 1419/1617/1420 f 1417/1615/1418 1415/1613/1416 1414/1612/1415 f 1420/1618/1421 1419/1617/1420 1414/1612/1415 f 1421/1619/1422 1419/1617/1420 1420/1618/1421 f 1422/1620/1423 1419/1617/1420 1421/1619/1422 f 1418/1616/1419 1419/1617/1420 1422/1620/1423 f 1418/1616/1419 1422/1620/1423 1423/1621/1424 f 1423/1621/1424 1422/1620/1423 1424/1622/1425 f 1424/1622/1425 1422/1620/1423 1421/1619/1422 f 1424/1622/1425 1421/1619/1422 1425/1623/1426 f 1425/1623/1426 1421/1619/1422 1426/1624/1427 f 1421/1619/1422 1420/1618/1421 1426/1624/1427 f 1420/1618/1421 1411/1609/1412 1426/1624/1427 f 1420/1618/1421 1413/1611/1414 1411/1609/1412 f 1414/1612/1415 1413/1611/1414 1420/1618/1421 f 1427/1625/1428 1426/1624/1427 1411/1609/1412 f 1428/1626/1429 1426/1624/1427 1427/1625/1428 f 1428/1626/1429 1425/1623/1426 1426/1624/1427 f 1429/1627/1430 1425/1623/1426 1428/1626/1429 f 1424/1622/1425 1425/1623/1426 1429/1627/1430 f 1430/1628/1431 1424/1622/1425 1429/1627/1430 f 1430/1628/1431 1431/1629/1432 1424/1622/1425 f 1432/1630/1433 1431/1629/1432 1430/1628/1431 f 1432/1630/1433 1433/1631/1434 1431/1629/1432 f 1432/1630/1433 1434/1632/1435 1433/1631/1434 f 1435/1633/1436 1434/1634/1435 1432/1635/1433 f 1435/1633/1436 1436/1636/1437 1434/1634/1435 f 1435/1633/1436 48/1363/1184 1436/1636/1437 f 1435/1633/1436 47/1365/1183 48/1363/1184 f 1437/1637/1438 47/1365/1183 1435/1633/1436 f 47/1365/1183 1437/1637/1438 1438/1633/1439 f 1438/1633/1439 1437/1637/1438 1432/1635/1433 f 1437/1637/1438 1435/1633/1436 1432/1635/1433 f 1438/1633/1439 1432/1635/1433 1439/1634/1440 f 1439/1638/1440 1432/1630/1433 1430/1628/1431 f 1439/1638/1440 1430/1628/1431 1440/1639/1441 f 1440/1639/1441 1430/1628/1431 1441/1640/1442 f 1430/1628/1431 1429/1627/1430 1441/1640/1442 f 1441/1640/1442 1429/1627/1430 1428/1626/1429 f 1441/1640/1442 1428/1626/1429 1442/1641/1443 f 1428/1626/1429 1427/1625/1428 1442/1641/1443 f 1442/1641/1443 1427/1625/1428 1443/1642/1444 f 1427/1625/1428 1444/1643/1445 1443/1642/1444 f 1427/1625/1428 1410/1608/1411 1444/1643/1445 f 1427/1625/1428 1411/1609/1412 1410/1608/1411 f 1444/1643/1445 1410/1608/1411 1445/1644/1446 f 1410/1608/1411 1408/1606/1409 1445/1644/1446 f 1445/1644/1446 1408/1606/1409 1446/1645/1447 f 1408/1606/1409 1406/1604/1407 1446/1645/1447 f 1406/1604/1407 1405/1603/1406 1446/1645/1447 f 1446/1645/1447 1405/1603/1406 1447/1646/1448 f 1447/1646/1448 1405/1603/1406 1397/1595/1398 f 1397/1595/1398 1396/1594/1397 1447/1646/1448 f 1448/1647/1449 1447/1646/1448 1396/1594/1397 f 1446/1645/1447 1447/1646/1448 1448/1647/1449 f 1449/1648/1450 1446/1645/1447 1448/1647/1449 f 1445/1644/1446 1446/1645/1447 1449/1648/1450 f 1443/1642/1444 1445/1644/1446 1449/1648/1450 f 1444/1643/1445 1445/1644/1446 1443/1642/1444 f 1443/1642/1444 1449/1648/1450 1450/1649/1451 f 1450/1649/1451 1449/1648/1450 1451/1650/1452 f 1449/1648/1450 1448/1647/1449 1451/1650/1452 f 1451/1650/1452 1448/1647/1449 1452/1651/1453 f 1448/1647/1449 1391/1589/1392 1452/1651/1453 f 1448/1647/1449 1393/1591/1394 1391/1589/1392 f 1448/1647/1449 1396/1594/1397 1393/1591/1394 f 1452/1651/1453 1391/1589/1392 1390/1588/1391 f 1452/1651/1453 1390/1588/1391 1453/1652/1454 f 1453/1652/1454 1390/1588/1391 1454/1653/1455 f 1390/1588/1391 1328/1519/1329 1454/1653/1455 f 1454/1653/1455 1328/1519/1329 1327/1518/1328 f 1454/1653/1455 1327/1518/1328 1455/1654/1456 f 1455/1654/1456 1327/1518/1328 1325/1516/1326 f 1327/1518/1328 1326/1517/1327 1325/1516/1326 f 1455/1654/1456 1325/1516/1326 1456/1655/1457 f 1456/1655/1457 1325/1516/1326 37/1353/1173 f 1457/1656/1458 1456/1655/1457 37/1353/1173 f 1458/1657/1459 1456/1655/1457 1457/1656/1458 f 1458/1657/1459 1455/1654/1456 1456/1655/1457 f 1453/1652/1454 1455/1654/1456 1458/1657/1459 f 1453/1652/1454 1454/1653/1455 1455/1654/1456 f 1450/1649/1451 1453/1652/1454 1458/1657/1459 f 1450/1649/1451 1452/1651/1453 1453/1652/1454 f 1450/1649/1451 1451/1650/1452 1452/1651/1453 f 1459/1658/1460 1450/1649/1451 1458/1657/1459 f 1442/1641/1443 1450/1649/1451 1459/1658/1460 f 1442/1641/1443 1443/1642/1444 1450/1649/1451 f 1460/1659/1461 1442/1641/1443 1459/1658/1460 f 1461/1660/1462 1442/1641/1443 1460/1659/1461 f 1441/1640/1442 1442/1641/1443 1461/1660/1462 f 1440/1639/1441 1441/1640/1442 1461/1660/1462 f 1440/1639/1441 1461/1660/1462 1462/1661/1463 f 1462/1661/1463 1461/1660/1462 1460/1659/1461 f 1462/1662/1463 1460/1551/1461 1463/1663/1464 f 1464/1664/1465 1463/1663/1464 1460/1551/1461 f 1465/1665/1466 1463/1663/1464 1464/1664/1465 f 1465/1665/1466 1466/1636/1467 1463/1663/1464 f 45/1363/1181 1466/1636/1467 1465/1665/1466 f 45/1363/1181 1438/1633/1439 1466/1636/1467 f 47/1365/1183 1438/1633/1439 45/1363/1181 f 1466/1636/1467 1438/1633/1439 1439/1634/1440 f 1466/1636/1467 1439/1634/1440 1467/1666/1468 f 1467/1667/1468 1439/1638/1440 1440/1639/1441 f 1467/1667/1468 1440/1639/1441 1462/1661/1463 f 1466/1636/1467 1467/1666/1468 1462/1662/1463 f 1466/1636/1467 1462/1662/1463 1463/1663/1464 f 45/1363/1181 1465/1665/1466 44/1362/1180 f 1465/1665/1466 1468/1668/1469 44/1362/1180 f 1465/1665/1466 1464/1664/1465 1468/1668/1469 f 1468/1668/1469 1464/1664/1465 1460/1551/1461 f 1468/1668/1469 1460/1551/1461 1469/1548/1470 f 1470/1550/1471 1469/1548/1470 1460/1551/1461 f 1469/1548/1470 1470/1550/1471 1471/1547/1472 f 1470/1550/1471 1472/1563/1473 1471/1547/1472 f 1473/1669/1474 1472/1670/1473 1470/1671/1471 f 1474/1672/1475 1472/1670/1473 1473/1669/1474 f 1474/1672/1475 1475/1673/1476 1472/1670/1473 f 1475/1673/1476 1474/1672/1475 1476/1674/1477 f 1474/1672/1475 1477/1675/1478 1476/1674/1477 f 1474/1672/1475 1478/1676/1479 1477/1675/1478 f 1473/1669/1474 1478/1676/1479 1474/1672/1475 f 1473/1669/1474 1479/1677/1480 1478/1676/1479 f 1473/1669/1474 1470/1671/1471 1479/1677/1480 f 1470/1671/1471 1460/1659/1461 1479/1677/1480 f 1479/1677/1480 1460/1659/1461 1480/1678/1481 f 1460/1659/1461 1459/1658/1460 1480/1678/1481 f 1459/1658/1460 1481/1679/1482 1480/1678/1481 f 1459/1658/1460 1458/1657/1459 1481/1679/1482 f 1481/1679/1482 1458/1657/1459 1457/1656/1458 f 1481/1679/1482 1457/1656/1458 1482/1680/1483 f 1482/1680/1483 1457/1656/1458 39/1355/1175 f 39/1355/1175 1457/1656/1458 38/1354/1174 f 1457/1656/1458 37/1353/1173 38/1354/1174 f 1483/1681/1484 1482/1680/1483 39/1355/1175 f 1484/1682/1485 1482/1680/1483 1483/1681/1484 f 1478/1676/1479 1482/1680/1483 1484/1682/1485 f 1478/1676/1479 1481/1679/1482 1482/1680/1483 f 1480/1678/1481 1481/1679/1482 1478/1676/1479 f 1479/1677/1480 1480/1678/1481 1478/1676/1479 f 1478/1676/1479 1484/1682/1485 1477/1675/1478 f 1477/1675/1478 1484/1682/1485 1471/1683/1472 f 1471/1683/1472 1484/1682/1485 1483/1681/1484 f 1469/1548/1470 1471/1547/1472 1483/1549/1484 f 40/1684/1176 1469/1548/1470 1483/1549/1484 f 41/1360/1177 1469/1548/1470 40/1684/1176 f 41/1360/1177 1468/1668/1469 1469/1548/1470 f 44/1362/1180 1468/1668/1469 41/1360/1177 f 1483/1549/1484 39/1685/1175 40/1684/1176 f 1471/1683/1472 1476/1674/1477 1477/1675/1478 f 1485/1686/1486 1476/1674/1477 1471/1683/1472 f 1485/1686/1486 1475/1673/1476 1476/1674/1477 f 1475/1562/1476 1485/1561/1486 1471/1547/1472 f 1472/1563/1473 1475/1562/1476 1471/1547/1472 f 1436/1636/1437 48/1363/1184 1486/1665/1487 f 48/1363/1184 1487/1362/1488 1486/1665/1487 f 48/1363/1184 49/1359/1185 1487/1362/1488 f 49/1359/1185 1194/1360/1195 1487/1362/1488 f 1488/1668/1489 1487/1362/1488 1194/1360/1195 f 1486/1665/1487 1487/1362/1488 1488/1668/1489 f 1486/1665/1487 1488/1668/1489 1489/1664/1490 f 1488/1668/1489 1358/1551/1359 1489/1664/1490 f 1488/1668/1489 1356/1548/1357 1358/1551/1359 f 1488/1668/1489 1194/1360/1195 1356/1548/1357 f 1356/1548/1357 1194/1360/1195 1195/1684/1196 f 1356/1548/1357 1195/1684/1196 1355/1549/1356 f 1195/1684/1196 1196/1685/1197 1355/1549/1356 f 1355/1546/1356 1196/1387/1197 1244/1435/1245 f 1355/1546/1356 1244/1435/1245 1352/1543/1353 f 1489/1664/1490 1358/1551/1359 1490/1663/1491 f 1490/1663/1491 1358/1551/1359 1491/1662/1492 f 1358/1554/1359 1492/1687/1493 1491/1688/1492 f 1358/1554/1359 1366/1564/1367 1492/1687/1493 f 1492/1687/1493 1366/1564/1367 1493/1689/1494 f 1366/1564/1367 1418/1616/1419 1493/1689/1494 f 1493/1689/1494 1418/1616/1419 1423/1621/1424 f 1493/1689/1494 1423/1621/1424 1433/1631/1434 f 1433/1631/1434 1423/1621/1424 1424/1622/1425 f 1431/1629/1432 1433/1631/1434 1424/1622/1425 f 1433/1631/1434 1494/1690/1495 1493/1689/1494 f 1434/1632/1435 1494/1690/1495 1433/1631/1434 f 1434/1632/1435 1495/1691/1496 1494/1690/1495 f 1434/1634/1435 1436/1636/1437 1495/1666/1496 f 1436/1636/1437 1491/1662/1492 1495/1666/1496 f 1436/1636/1437 1490/1663/1491 1491/1662/1492 f 1486/1665/1487 1490/1663/1491 1436/1636/1437 f 1486/1665/1487 1489/1664/1490 1490/1663/1491 f 1495/1691/1496 1491/1688/1492 1494/1690/1495 f 1491/1688/1492 1492/1687/1493 1494/1690/1495 f 1492/1687/1493 1493/1689/1494 1494/1690/1495 f 1384/1582/1385 1385/1583/1386 1412/1610/1413 f 1412/1610/1413 1385/1583/1386 1386/1584/1387 f 1412/1610/1413 1386/1584/1387 1409/1607/1410 f 1409/1607/1410 1386/1584/1387 1496/1692/1497 f 1496/1692/1497 1386/1584/1387 1387/1585/1388 f 1496/1692/1497 1387/1585/1388 1402/1600/1403 f 1402/1600/1403 1387/1585/1388 1388/1586/1389 f 1402/1600/1403 1388/1586/1389 1399/1597/1400 f 1399/1597/1400 1388/1586/1389 1392/1590/1393 f 1388/1586/1389 1389/1587/1390 1392/1590/1393 f 1399/1597/1400 1392/1590/1393 1394/1592/1395 f 1395/1593/1396 1399/1597/1400 1394/1592/1395 f 1399/1597/1400 1400/1598/1401 1402/1600/1403 f 1407/1605/1408 1496/1692/1497 1402/1600/1403 f 1407/1605/1408 1409/1607/1410 1496/1692/1497 f 1407/1605/1408 1402/1600/1403 1403/1601/1404 f 1397/1595/1398 1401/1599/1402 1398/1596/1399 f 1369/1567/1370 1370/1568/1371 1368/1566/1369 f 1339/1530/1340 1299/1490/1300 1300/1491/1301 f 1252/1443/1253 1253/1444/1254 1261/1452/1262 f 1200/1391/1201 1201/1392/1202 1240/1431/1241 f 1240/1431/1241 1201/1392/1202 1497/1693/1498 f 1202/1393/1203 1497/1693/1498 1201/1392/1202 f 1202/1393/1203 1498/1694/1499 1497/1693/1498 f 1499/1695/1500 1498/1694/1499 1202/1393/1203 f 1500/1696/1501 1498/1694/1499 1499/1695/1500 f 1501/1697/1502 1498/1694/1499 1500/1696/1501 f 1502/1698/1503 1498/1694/1499 1501/1697/1502 f 1497/1693/1498 1498/1694/1499 1502/1698/1503 f 1239/1430/1240 1497/1693/1498 1502/1698/1503 f 1240/1431/1241 1497/1693/1498 1239/1430/1240 f 1239/1430/1240 1502/1698/1503 1503/1699/1504 f 1503/1699/1504 1502/1698/1503 1501/1697/1502 f 1503/1699/1504 1501/1697/1502 1504/1700/1505 f 1504/1700/1505 1501/1697/1502 1505/1701/1506 f 1505/1701/1506 1501/1697/1502 1500/1696/1501 f 1505/1701/1506 1500/1696/1501 1208/1399/1209 f 1208/1399/1209 1500/1696/1501 1499/1695/1500 f 1208/1399/1209 1499/1695/1500 1206/1397/1207 f 1206/1397/1207 1499/1695/1500 1203/1394/1204 f 1203/1394/1204 1499/1695/1500 1202/1393/1203 f 1206/1397/1207 1203/1394/1204 1204/1395/1205 f 1210/1401/1211 1505/1701/1506 1208/1399/1209 f 1210/1401/1211 1506/1702/1507 1505/1701/1506 f 1212/1403/1213 1506/1702/1507 1210/1401/1211 f 1212/1403/1213 1507/1703/1508 1506/1702/1507 f 1212/1403/1213 1508/1704/1509 1507/1703/1508 f 1214/1405/1215 1508/1704/1509 1212/1403/1213 f 1509/1705/1510 1508/1704/1509 1214/1405/1215 f 1509/1705/1510 1507/1703/1508 1508/1704/1509 f 1510/1706/1511 1507/1703/1508 1509/1705/1510 f 1504/1700/1505 1507/1703/1508 1510/1706/1511 f 1506/1702/1507 1507/1703/1508 1504/1700/1505 f 1506/1702/1507 1504/1700/1505 1505/1701/1506 f 1504/1700/1505 1510/1706/1511 1503/1699/1504 f 1511/1707/1512 1503/1699/1504 1510/1706/1511 f 1239/1430/1240 1503/1699/1504 1511/1707/1512 f 1237/1428/1238 1239/1430/1240 1511/1707/1512 f 1237/1428/1238 1511/1707/1512 1512/1708/1513 f 1511/1707/1512 1509/1705/1510 1512/1708/1513 f 1511/1707/1512 1510/1706/1511 1509/1705/1510 f 1512/1708/1513 1509/1705/1510 1513/1709/1514 f 1509/1705/1510 1214/1405/1215 1513/1709/1514 f 1214/1405/1215 1229/1420/1230 1513/1709/1514 f 1216/1407/1217 1229/1420/1230 1214/1405/1215 f 1216/1407/1217 1217/1408/1218 1229/1420/1230 f 1229/1420/1230 1514/1710/1515 1513/1709/1514 f 1229/1420/1230 1230/1421/1231 1514/1710/1515 f 1230/1421/1231 1515/1711/1516 1514/1710/1515 f 1230/1421/1231 1516/1712/1517 1515/1711/1516 f 1230/1421/1231 1234/1425/1235 1516/1712/1517 f 1230/1421/1231 1231/1422/1232 1234/1425/1235 f 1516/1712/1517 1234/1425/1235 1517/1713/1518 f 1234/1425/1235 1236/1427/1237 1517/1713/1518 f 1517/1713/1518 1236/1427/1237 1518/1714/1519 f 1237/1428/1238 1518/1714/1519 1236/1427/1237 f 1237/1428/1238 1512/1708/1513 1518/1714/1519 f 1515/1711/1516 1518/1714/1519 1512/1708/1513 f 1515/1711/1516 1517/1713/1518 1518/1714/1519 f 1516/1712/1517 1517/1713/1518 1515/1711/1516 f 1515/1711/1516 1512/1708/1513 1514/1710/1515 f 1514/1710/1515 1512/1708/1513 1513/1709/1514 g mesh1.002_mesh1-geometry_FrontColorNoCullingID_orig_02_-_Defaul1noCu usemtl FrontColorNoCullingID_orig_02_-_Defaul1noCu f 1401/1715/1402 1402/1716/1403 1400/1717/1401 o mesh2.002_mesh2-geometry v 35.644905 4.219306 13.797381 v 30.849451 3.335130 14.154451 v 30.938114 0.466119 14.119235 v 33.641563 5.379838 7.747740 v 38.582417 4.174241 6.105197 v 32.090347 6.887986 3.128864 v 37.648487 5.310963 1.280646 v 37.786777 0.836031 1.225739 v 35.900349 3.587236 -2.835028 v 34.358379 7.179622 -2.315924 v 32.656975 7.654055 -7.006633 v 31.482405 12.402974 -6.827024 v 29.119473 12.399153 -11.862528 v 25.687037 11.902954 -11.026190 v 23.989033 11.897144 -14.593759 v 26.881168 12.270669 -14.558105 v 29.543446 7.623479 -12.354070 v 33.377335 2.954099 -7.666845 v 35.985512 0.830693 -2.868852 v 32.283295 0.643538 3.052226 v 38.686562 0.804447 6.063834 v 28.148563 0.435865 9.561161 v 26.141665 0.428725 5.090501 v 26.003410 4.903602 5.145436 v 28.044182 3.813617 9.602624 v 35.756149 0.619502 13.753192 v 39.210423 3.629709 11.205149 v 39.299088 0.760698 11.169930 v 30.600399 8.350374 -0.400168 v 28.056583 11.843219 -4.920524 v 23.762556 11.286984 -4.946030 v 22.100754 11.384519 -10.152368 v 22.103041 11.593475 -13.618792 v 23.408049 7.467344 -15.083333 v 26.632156 7.569440 -15.281748 v 30.192455 3.362859 -12.578096 v 30.272448 0.773716 -12.609867 v 26.914593 0.710042 -15.876889 v 25.714935 0.614268 -11.097299 v 28.560335 0.640516 -6.072480 v 20.953169 0.447672 -9.516941 v 23.193316 0.452745 -4.291248 v 28.494141 2.783255 -6.046187 v 23.127115 2.595484 -4.264955 v 30.718245 0.646411 -1.120726 v 24.836227 0.440623 0.831423 v 24.751066 3.197166 0.865250 v 25.611649 6.873608 0.586982 v 23.742319 7.342165 -4.047997 v 21.438437 7.339915 -9.664141 v 20.873177 3.036813 -9.485171 v 20.682966 3.088218 -14.150083 v 20.762957 0.499076 -14.181853 v 23.373932 0.598346 -15.693467 v 23.293940 3.187487 -15.661697 v 26.834600 3.299184 -15.845119 v 21.198496 7.382856 -13.764971 v 33.443535 0.811360 -7.693138 vt 0.776762 0.135847 vt 0.782079 0.162083 vt 0.769518 0.172356 vt 0.815969 0.133482 vt 0.809602 0.100288 vt 0.848027 0.131809 vt 0.840076 0.094491 vt 0.829210 0.068416 vt 0.862826 0.076523 vt 0.873018 0.101010 vt 0.903387 0.087924 vt 0.919497 0.109859 vt 0.951669 0.095964 vt 0.954976 0.114221 vt 0.955775 0.137062 vt 0.980478 0.141721 vt 0.975495 0.123681 vt 0.972361 0.087202 vt 0.939505 0.071184 vt 0.892753 0.059736 vt 0.856476 0.059589 vt 0.699381 0.083750 vt 0.698785 0.049489 vt 0.673039 0.081736 vt 0.728102 0.079284 vt 0.726961 0.013681 vt 0.728102 0.079283 vt 0.698120 0.011255 vt 0.834759 0.201305 vt 0.803784 0.191174 vt 0.844220 0.174284 vt 0.813106 0.171753 vt 0.765212 0.047881 vt 0.757820 0.020303 vt 0.726960 0.013681 vt 0.756229 0.136246 vt 0.780488 0.112058 vt 0.767166 0.102440 vt 0.757754 0.072694 vt 0.798647 0.081588 vt 0.874353 0.131744 vt 0.914143 0.133120 vt 0.921756 0.158337 vt 0.956233 0.160942 vt 0.977586 0.155152 vt 0.987599 0.183505 vt 0.982129 0.210966 vt 0.974095 0.180474 vt 0.990266 0.081565 vt 0.963680 0.060841 vt 0.983252 0.054504 vt 0.927431 0.046694 vt 0.920833 0.031595 vt 0.948663 0.019875 vt 0.592484 0.069253 vt 0.591990 0.040881 vt 0.567705 0.056934 vt 0.625559 0.046896 vt 0.591989 0.040881 vt 0.591473 0.011237 vt 0.625560 0.046896 vt 0.624976 0.013484 vt 0.638221 0.046666 vt 0.637637 0.013254 vt 0.672468 0.048945 vt 0.671830 0.012328 vt 0.861455 0.209246 vt 0.867472 0.192308 vt 0.875938 0.168181 vt 0.897053 0.209072 vt 0.906575 0.180716 vt 0.941923 0.197272 vt 0.930494 0.222199 vt 0.957597 0.233245 vt 0.952141 0.248579 vt 0.923939 0.237276 vt 0.565107 0.019317 vt 0.561796 0.036835 vt 0.975875 0.238207 vt 0.970898 0.254271 vt 0.954645 0.035111 vt 0.970118 0.012124 vt 0.975831 0.027771 vt 0.966142 0.207239 vt 0.953428 0.172039 vt 0.891066 0.221475 vt 0.638752 0.077065 vt 0.626091 0.077296 vt 0.886925 0.047327 vn 0.239662 0.648030 0.722892 vn -0.383404 0.635151 0.670461 vn -0.427900 -0.305002 0.850765 vn 0.013428 0.973540 0.228004 vn 0.788995 0.614277 -0.010224 vn 0.079897 0.952757 0.292917 vn 0.746940 0.655812 -0.109287 vn 0.866970 -0.419752 -0.268532 vn 0.884457 0.188757 -0.426679 vn 0.719047 0.694632 0.020966 vn 0.878903 0.236885 -0.413984 vn 0.493698 0.869472 0.015412 vn 0.492965 0.808954 -0.320200 vn -0.128584 0.989907 0.059587 vn -0.128584 0.989907 0.059588 vn -0.128583 0.989907 0.059587 vn 0.450026 0.455580 -0.768029 vn 0.789483 0.139103 -0.597766 vn 0.928068 -0.201880 -0.312876 vn 0.493545 -0.796319 -0.349620 vn 0.030881 -0.999448 -0.012282 vn 0.030886 -0.999448 -0.012269 vn 0.030885 -0.999448 -0.012268 vn 0.030886 -0.999448 -0.012268 vn -0.638966 -0.730857 0.239784 vn -0.510788 -0.819910 0.258461 vn -0.798730 0.431379 0.419385 vn -0.660573 0.568163 0.490707 vn 0.322764 -0.717154 0.617634 vn 0.786065 0.336436 0.518509 vn 0.923460 -0.328623 0.197943 vn 0.469283 -0.879543 -0.078341 vn 0.125187 0.911130 0.392560 vn 0.042817 0.898618 0.436567 vn -0.128574 0.989898 0.059572 vn -0.656240 0.651295 0.380963 vn -0.675741 0.728294 0.113620 vn -0.128583 0.989907 0.059588 vn -0.203314 0.841700 -0.500137 vn -0.685202 0.490463 -0.538408 vn -0.287942 0.138035 -0.947630 vn 0.356487 0.134404 -0.924558 vn 0.748589 0.087008 -0.657277 vn 0.583605 -0.686117 -0.434278 vn 0.409864 -0.563066 -0.717582 vn 0.030893 -0.999447 -0.012273 vn 0.030894 -0.999447 -0.012273 vn 0.315050 -0.001913 0.949073 vn 0.315049 -0.001912 0.949073 vn -0.087940 -0.927720 -0.362769 vn -0.049104 -0.967009 -0.249886 vn -0.685598 -0.718070 0.119449 vn -0.887478 -0.248695 0.387951 vn 0.030885 -0.999420 -0.012268 vn 0.030889 -0.999448 -0.012260 vn -0.958586 0.103488 0.265236 vn -0.696646 0.522782 0.491256 vn -0.917692 0.103885 0.383404 vn -0.968596 0.140110 0.205237 vn -0.974425 0.046144 0.219886 vn -0.926542 0.080508 -0.367412 vn -0.740776 -0.522355 -0.422346 vn -0.651326 -0.735130 0.187841 vn -0.363384 0.068728 -0.929075 vn -0.153264 -0.559343 -0.814631 vn 0.209601 0.079501 -0.974517 vn -0.866207 0.173376 -0.468612 vn -0.918590 -0.033212 0.393813 vn 0.315050 -0.001912 0.949073 vn 0.839814 0.032596 -0.541895 g mesh2.002_mesh2-geometry_male-02-1noCullingID_male-02-1noCulling.JP usemtl male-02-1noCullingID_male-02-1noCulling.JP s 1 f 1519/1718/1520 1520/1719/1521 1521/1720/1522 f 1519/1718/1520 1522/1721/1523 1520/1719/1521 f 1522/1721/1523 1519/1718/1520 1523/1722/1524 f 1523/1722/1524 1524/1723/1525 1522/1721/1523 f 1523/1722/1524 1525/1724/1526 1524/1723/1525 f 1526/1725/1527 1525/1724/1526 1523/1722/1524 f 1527/1726/1528 1525/1724/1526 1526/1725/1527 f 1527/1726/1528 1528/1727/1529 1525/1724/1526 f 1529/1728/1530 1528/1727/1529 1527/1726/1528 f 1529/1728/1530 1530/1729/1531 1528/1727/1529 f 1531/1730/1532 1530/1729/1531 1529/1728/1530 s off f 1530/1729/1533 1531/1731/1533 1532/1732/1533 f 1531/1731/1534 1533/1733/1534 1532/1732/1534 f 1531/1731/1535 1534/1734/1535 1533/1733/1535 s 1 f 1534/1735/1536 1531/1730/1532 1535/1736/1537 f 1535/1736/1537 1531/1730/1532 1529/1728/1530 f 1535/1736/1537 1529/1728/1530 1536/1737/1538 f 1536/1737/1538 1529/1728/1530 1527/1726/1528 f 1536/1737/1538 1527/1726/1528 1537/1738/1539 f 1537/1738/1539 1527/1726/1528 1526/1725/1527 s off f 1526/1739/1540 1538/1740/1540 1537/1741/1540 f 1539/1742/1541 1538/1740/1541 1526/1739/1541 f 1540/1743/1542 1538/1740/1542 1539/1744/1542 f 1538/1740/1543 1540/1743/1543 1541/1745/1543 s 1 f 1541/1746/1544 1540/1747/1545 1542/1748/1546 f 1542/1748/1546 1540/1747/1545 1543/1749/1547 f 1540/1747/1545 1521/1720/1522 1543/1749/1547 s off f 1544/1750/1543 1521/1751/1543 1540/1752/1543 s 1 f 1519/1718/1520 1521/1720/1522 1544/1753/1548 f 1519/1718/1520 1544/1753/1548 1545/1754/1549 f 1545/1754/1549 1544/1753/1548 1546/1755/1550 s off f 1546/1756/1543 1544/1750/1543 1539/1742/1543 f 1539/1742/1543 1544/1750/1543 1540/1752/1543 s 1 f 1539/1757/1551 1523/1722/1524 1546/1755/1550 f 1526/1725/1527 1523/1722/1524 1539/1757/1551 f 1523/1722/1524 1545/1754/1549 1546/1755/1550 f 1523/1722/1524 1519/1718/1520 1545/1754/1549 f 1543/1749/1547 1521/1720/1522 1520/1719/1521 f 1522/1721/1523 1543/1749/1547 1520/1719/1521 f 1522/1721/1523 1524/1723/1525 1543/1749/1547 f 1524/1723/1525 1542/1748/1546 1543/1749/1547 f 1524/1723/1525 1547/1758/1552 1542/1748/1546 f 1525/1724/1526 1547/1758/1552 1524/1723/1525 f 1525/1724/1526 1528/1727/1529 1547/1758/1552 f 1528/1727/1529 1548/1759/1553 1547/1758/1552 f 1528/1727/1529 1530/1729/1531 1548/1759/1553 f 1530/1729/1531 1532/1732/1554 1548/1759/1553 f 1548/1759/1553 1532/1732/1554 1549/1760/1555 f 1532/1732/1554 1550/1761/1556 1549/1760/1555 s off f 1532/1732/1557 1533/1733/1557 1550/1761/1557 s 1 f 1533/1733/1558 1551/1762/1559 1550/1761/1556 f 1533/1763/1558 1552/1764/1560 1551/1765/1559 f 1533/1766/1558 1553/1767/1561 1552/1768/1560 f 1534/1735/1536 1553/1767/1561 1533/1766/1558 f 1553/1767/1561 1534/1735/1536 1535/1736/1537 f 1553/1767/1561 1535/1736/1537 1554/1769/1562 f 1554/1769/1562 1535/1736/1537 1536/1737/1538 f 1555/1770/1563 1554/1769/1562 1536/1737/1538 f 1554/1769/1562 1555/1770/1563 1556/1771/1564 s off f 1555/1772/1565 1557/1773/1565 1556/1774/1565 f 1558/1775/1565 1557/1776/1565 1555/1772/1565 f 1557/1776/1566 1558/1775/1566 1559/1777/1566 f 1558/1778/1565 1560/1779/1565 1559/1777/1565 f 1561/1780/1567 1560/1779/1567 1558/1778/1567 f 1561/1780/1568 1562/1781/1568 1560/1779/1568 f 1563/1782/1569 1562/1781/1569 1561/1780/1569 s 1 f 1563/1782/1570 1564/1783/1571 1562/1781/1572 f 1538/1740/1573 1564/1783/1571 1563/1782/1570 s off f 1538/1740/1574 1541/1745/1574 1564/1783/1574 s 1 f 1564/1784/1571 1541/1746/1544 1542/1748/1546 f 1564/1784/1571 1542/1748/1546 1565/1785/1575 f 1566/1786/1576 1565/1785/1575 1542/1748/1546 f 1562/1787/1572 1565/1785/1575 1566/1786/1576 f 1562/1787/1572 1564/1784/1571 1565/1785/1575 f 1562/1787/1572 1566/1786/1576 1567/1788/1577 f 1549/1760/1555 1567/1788/1577 1566/1786/1576 f 1568/1789/1578 1567/1788/1577 1549/1760/1555 f 1568/1789/1578 1569/1790/1579 1567/1788/1577 f 1570/1791/1580 1569/1790/1579 1568/1789/1578 f 1571/1792/1581 1569/1790/1579 1570/1791/1580 f 1571/1792/1581 1559/1793/1582 1569/1790/1579 s off f 1557/1773/1566 1559/1777/1566 1571/1794/1566 f 1557/1773/1566 1571/1794/1566 1572/1795/1566 s 1 f 1573/1796/1583 1572/1797/1584 1571/1792/1581 f 1574/1798/1585 1572/1799/1584 1573/1800/1583 f 1574/1798/1585 1556/1771/1564 1572/1799/1584 f 1554/1769/1562 1556/1771/1564 1574/1798/1585 f 1553/1767/1561 1554/1769/1562 1574/1798/1585 f 1553/1767/1561 1574/1798/1585 1552/1768/1560 f 1552/1768/1560 1574/1798/1585 1573/1800/1583 f 1552/1764/1560 1573/1796/1583 1575/1801/1586 f 1575/1801/1586 1573/1796/1583 1570/1791/1580 f 1573/1796/1583 1571/1792/1581 1570/1791/1580 f 1570/1791/1580 1568/1789/1578 1575/1801/1586 f 1575/1801/1586 1568/1789/1578 1550/1802/1556 f 1550/1802/1556 1568/1789/1578 1549/1760/1555 f 1575/1801/1586 1550/1802/1556 1551/1765/1559 f 1551/1765/1559 1552/1764/1560 1575/1801/1586 s off f 1556/1774/1565 1557/1773/1565 1572/1795/1565 s 1 f 1559/1793/1582 1562/1787/1572 1569/1790/1579 s off f 1559/1793/1587 1560/1803/1587 1562/1787/1587 s 1 f 1569/1790/1579 1562/1787/1572 1567/1788/1577 f 1548/1759/1553 1549/1760/1555 1566/1786/1576 f 1547/1758/1552 1548/1759/1553 1566/1786/1576 f 1547/1758/1552 1566/1786/1576 1542/1748/1546 f 1537/1741/1539 1538/1740/1573 1563/1782/1570 f 1537/1741/1539 1563/1782/1570 1536/1804/1538 s off f 1536/1804/1569 1563/1782/1569 1561/1780/1569 f 1536/1804/1567 1561/1780/1567 1558/1778/1567 f 1536/1804/1588 1558/1778/1588 1576/1805/1588 f 1576/1805/1565 1558/1778/1565 1555/1772/1565 f 1555/1770/1589 1536/1737/1589 1576/1806/1589 o mesh3.002_mesh3-geometry v -38.144539 4.033179 15.502475 v -38.149284 0.431515 15.472356 v -33.522182 0.413709 16.872576 v -41.048199 3.333338 12.207139 v -41.051979 0.462845 12.183134 v -39.350761 0.501187 7.329915 v -39.346317 3.872721 7.358109 v -34.911068 5.222375 10.017142 v -32.437466 6.752743 5.827391 v -37.421009 5.013754 2.837957 v -30.258217 8.240450 2.688941 v -33.480904 6.957309 0.018434 v -26.703766 11.911404 -1.084502 v -29.775900 12.336839 -3.514633 v -23.440910 11.809790 -6.709597 v -26.683567 12.208182 -8.087702 v -21.226566 11.716014 -9.945671 v -24.072268 12.032483 -10.378309 v -23.145741 7.504829 -10.974320 v -20.039295 7.493262 -10.082739 v -19.523855 11.483739 -8.681244 v -20.052916 11.393542 -5.269725 v -22.482883 11.440822 -0.415159 v -25.564119 6.907279 4.746111 v -26.880997 4.947190 9.132148 v -29.808414 3.820488 13.053915 v -33.518402 3.284203 16.896582 v -29.812870 0.440991 13.025656 v -26.886911 0.470008 9.094691 v -24.691755 0.499520 5.218594 v -24.688131 3.257465 5.241638 v -21.977694 2.678653 0.590174 v -22.749348 7.407266 0.620149 v -18.660234 3.159547 -4.023751 v -19.285879 7.444412 -4.364959 v -18.165766 7.476011 -8.317202 v -19.690756 3.215770 -10.578664 v -17.466860 3.195749 -8.537541 v -17.470261 0.605291 -8.559187 v -19.694160 0.625313 -10.600307 v -22.973579 0.596327 -6.619170 v -18.663635 0.569090 -4.045395 v -21.980513 0.534826 0.572262 v -26.835457 2.709351 -2.310744 v -26.838272 0.565524 -2.328656 v -31.255301 2.737283 -4.950150 v -31.258118 0.593455 -4.968063 v -27.098640 0.622395 -9.082540 v -27.095236 3.212852 -9.060896 v -23.113045 0.637744 -11.545768 v -23.109642 3.228202 -11.524125 v -26.621832 7.490771 -8.745783 v -30.818119 7.458257 -4.198294 v -34.779495 3.321237 -0.784639 v -34.783115 0.563293 -0.807682 v -30.015642 0.533165 2.039319 v -32.445675 0.505091 5.775163 v -34.917324 0.473207 9.977428 v -37.426853 0.536529 2.800554 vt 0.776762 0.135847 vt 0.756229 0.136246 vt 0.769518 0.172356 vt 0.780488 0.112058 vt 0.767166 0.102440 vt 0.765212 0.047881 vt 0.757754 0.072694 vt 0.728102 0.079284 vt 0.798647 0.081588 vt 0.809602 0.100288 vt 0.815969 0.133482 vt 0.848027 0.131809 vt 0.840076 0.094491 vt 0.874353 0.131744 vt 0.873018 0.101010 vt 0.914143 0.133120 vt 0.919497 0.109859 vt 0.955775 0.137062 vt 0.954976 0.114221 vt 0.980478 0.141721 vt 0.975495 0.123681 vt 0.972361 0.087202 vt 0.990266 0.081565 vt 0.963680 0.060841 vt 0.983252 0.054504 vt 0.987599 0.183505 vt 0.974095 0.180474 vt 0.982129 0.210966 vt 0.977586 0.155152 vt 0.956233 0.160942 vt 0.921756 0.158337 vt 0.875938 0.168181 vt 0.844220 0.174284 vt 0.813106 0.171753 vt 0.782079 0.162083 vt 0.803784 0.191174 vt 0.834759 0.201305 vt 0.861455 0.209246 vt 0.867472 0.192308 vt 0.897053 0.209072 vt 0.906575 0.180716 vt 0.930494 0.222199 vt 0.941923 0.197272 vt 0.953428 0.172039 vt 0.966142 0.207239 vt 0.975875 0.238207 vt 0.957597 0.233245 vt 0.952141 0.248579 vt 0.970898 0.254271 vt 0.565107 0.019317 vt 0.591990 0.040881 vt 0.561796 0.036835 vt 0.591473 0.011237 vt 0.923939 0.237276 vt 0.891066 0.221475 vt 0.638221 0.046666 vt 0.624976 0.013484 vt 0.637637 0.013254 vt 0.625560 0.046896 vt 0.638752 0.077065 vt 0.626091 0.077296 vt 0.892753 0.059736 vt 0.920833 0.031595 vt 0.886925 0.047327 vt 0.927431 0.046694 vt 0.948663 0.019875 vt 0.954645 0.035111 vt 0.970118 0.012124 vt 0.975831 0.027771 vt 0.939505 0.071184 vt 0.903387 0.087924 vt 0.862826 0.076523 vt 0.856476 0.059589 vt 0.672468 0.048945 vt 0.673039 0.081736 vt 0.698785 0.049489 vt 0.671830 0.012328 vt 0.698120 0.011255 vt 0.726960 0.013681 vt 0.727571 0.048790 vt 0.757820 0.020303 vt 0.699381 0.083750 vt 0.829210 0.068416 vt 0.951669 0.095964 vt 0.567705 0.056934 vt 0.592484 0.069253 vt 0.591989 0.040881 vt 0.625559 0.046896 vn -0.407239 0.644276 0.647298 vn -0.363262 -0.813074 0.454848 vn 0.241554 -0.289254 0.926237 vn -0.888150 0.316752 0.332865 vn -0.935484 -0.353282 -0.002899 vn -0.001317 -0.999964 -0.008362 vn -0.418043 -0.892575 -0.168859 vn -0.783898 0.592059 -0.186834 vn -0.087924 0.973785 0.209662 vn -0.166295 0.951445 0.258889 vn -0.722526 0.634327 -0.274850 vn -0.233772 0.906674 0.351054 vn -0.723441 0.677450 -0.132817 vn -0.148564 0.898648 0.412702 vn -0.496597 0.862972 -0.092837 vn 0.104038 0.993652 0.042390 vn 0.104058 0.993667 0.042409 vn 0.104058 0.993667 0.042408 vn -0.311167 0.422437 -0.851283 vn 0.274392 0.835170 -0.476577 vn -0.160436 0.112583 -0.980590 vn 0.474075 0.147557 -0.868007 vn 0.736869 0.535447 -0.412610 vn 0.610675 0.767174 0.196081 vn 0.563494 0.669881 0.483413 vn 0.564409 0.534562 0.628986 vn 0.677511 0.455245 0.577654 vn 0.523667 0.588458 0.615986 vn 0.212531 0.648488 0.730918 vn 0.464064 -0.804254 0.371166 vn 0.590869 -0.711753 0.379742 vn 0.662069 -0.698233 0.272195 vn 0.875484 0.131260 0.465072 vn 0.788720 -0.222205 0.573138 vn 0.811396 0.120548 0.571886 vn 0.902219 0.074190 0.424787 vn 0.899930 0.179724 0.397259 vn 0.932310 0.223945 -0.283883 vn 0.553850 0.074709 -0.829249 vn 0.981658 0.104617 -0.159307 vn 0.827998 -0.503403 -0.246864 vn 0.340434 -0.558428 -0.756432 vn -0.001321 -0.999964 -0.008369 vn -0.001322 -0.999964 -0.008369 vn 0.614307 -0.715903 0.331736 vn 0.812194 -0.005942 0.583357 vn -0.512729 -0.006499 0.858526 vn -0.512729 -0.006500 0.858526 vn -0.703258 0.006864 -0.710901 vn -0.590686 0.063295 -0.804376 vn -0.457656 -0.704001 -0.543046 vn -0.832789 -0.228980 -0.503983 vn -0.230049 -0.577380 -0.783349 vn 0.004120 0.069369 -0.997559 vn -0.653127 0.101535 -0.750389 vn -0.778314 0.220588 -0.587817 vn -0.775842 0.162236 -0.609668 vn -0.385205 -0.811274 -0.439802 vn 0.127293 -0.966369 -0.223426 vn -0.001312 -0.999939 -0.008362 vn -0.001319 -0.999964 -0.008360 vn -0.001318 -0.999964 -0.008362 vn -0.777062 -0.444868 -0.445204 vn -0.001309 -0.999964 -0.008376 vn -0.434828 0.791742 -0.428938 vn 0.188596 -0.926500 -0.325620 vn 0.188596 -0.926501 -0.325620 g mesh3.002_mesh3-geometry_male-02-1noCullingID_male-02-1noCulling.JP usemtl male-02-1noCullingID_male-02-1noCulling.JP s 1 f 1577/1807/1590 1578/1808/1591 1579/1809/1592 f 1578/1808/1591 1577/1807/1590 1580/1810/1593 f 1581/1811/1594 1578/1808/1591 1580/1810/1593 s off f 1578/1812/1595 1581/1813/1595 1582/1814/1595 s 1 f 1582/1815/1596 1581/1811/1594 1583/1816/1597 f 1583/1816/1597 1581/1811/1594 1580/1810/1593 f 1577/1807/1590 1583/1816/1597 1580/1810/1593 f 1583/1816/1597 1577/1807/1590 1584/1817/1598 f 1585/1818/1599 1583/1816/1597 1584/1817/1598 f 1585/1818/1599 1586/1819/1600 1583/1816/1597 f 1587/1820/1601 1586/1819/1600 1585/1818/1599 f 1587/1820/1601 1588/1821/1602 1586/1819/1600 f 1589/1822/1603 1588/1821/1602 1587/1820/1601 f 1589/1822/1603 1590/1823/1604 1588/1821/1602 f 1591/1824/1605 1590/1823/1604 1589/1822/1603 s off f 1591/1824/1606 1592/1825/1606 1590/1823/1606 f 1593/1826/1606 1592/1825/1606 1591/1824/1606 f 1593/1826/1607 1594/1827/1607 1592/1825/1607 s 1 f 1594/1828/1608 1593/1829/1609 1595/1830/1610 f 1593/1829/1609 1596/1831/1611 1595/1830/1610 f 1593/1832/1609 1597/1833/1612 1596/1834/1611 f 1597/1835/1612 1593/1826/1609 1598/1836/1613 s off f 1598/1836/1606 1593/1826/1606 1591/1824/1606 s 1 f 1598/1836/1613 1591/1824/1605 1599/1837/1614 f 1599/1837/1614 1591/1824/1605 1589/1822/1603 f 1599/1837/1614 1589/1822/1603 1600/1838/1615 f 1600/1838/1615 1589/1822/1603 1587/1820/1601 f 1600/1838/1615 1587/1820/1601 1601/1839/1616 f 1601/1839/1616 1587/1820/1601 1585/1818/1599 f 1601/1839/1616 1585/1818/1599 1602/1840/1617 f 1602/1840/1617 1585/1818/1599 1584/1817/1598 f 1602/1840/1617 1584/1817/1598 1603/1841/1618 f 1584/1817/1598 1577/1807/1590 1603/1841/1618 f 1577/1807/1590 1579/1809/1592 1603/1841/1618 f 1602/1840/1617 1603/1841/1618 1579/1809/1592 f 1604/1842/1619 1602/1840/1617 1579/1809/1592 f 1601/1839/1616 1602/1840/1617 1604/1842/1619 f 1605/1843/1620 1601/1839/1616 1604/1842/1619 f 1606/1844/1621 1601/1839/1616 1605/1843/1620 f 1606/1844/1621 1607/1845/1622 1601/1839/1616 f 1608/1846/1623 1607/1845/1622 1606/1844/1621 f 1608/1846/1623 1600/1838/1615 1607/1845/1622 f 1608/1846/1623 1609/1847/1624 1600/1838/1615 f 1610/1848/1625 1609/1847/1624 1608/1846/1623 f 1611/1849/1626 1609/1847/1624 1610/1848/1625 f 1611/1849/1626 1599/1837/1614 1609/1847/1624 f 1598/1850/1613 1599/1837/1614 1611/1849/1626 f 1612/1851/1627 1598/1850/1613 1611/1849/1626 f 1597/1833/1612 1598/1850/1613 1612/1851/1627 f 1597/1833/1612 1612/1851/1627 1596/1834/1611 f 1596/1834/1611 1612/1851/1627 1613/1852/1628 f 1612/1851/1627 1614/1853/1629 1613/1852/1628 f 1614/1853/1629 1612/1851/1627 1611/1849/1626 f 1614/1853/1629 1611/1849/1626 1610/1848/1625 f 1615/1854/1630 1614/1853/1629 1610/1848/1625 f 1613/1852/1628 1614/1853/1629 1615/1854/1630 f 1613/1852/1628 1615/1854/1630 1616/1855/1631 s off f 1615/1856/1632 1617/1857/1632 1616/1858/1632 f 1615/1856/1633 1618/1859/1633 1617/1857/1633 s 1 f 1615/1854/1630 1610/1848/1625 1618/1860/1634 f 1618/1860/1634 1610/1848/1625 1608/1846/1623 s off f 1618/1860/1635 1608/1846/1635 1619/1861/1635 f 1620/1862/1636 1619/1863/1636 1608/1864/1636 f 1620/1862/1637 1621/1865/1637 1619/1863/1637 f 1622/1866/1637 1621/1865/1637 1620/1862/1637 f 1622/1866/1637 1623/1867/1637 1621/1865/1637 f 1622/1868/1638 1624/1869/1638 1623/1870/1638 s 1 f 1625/1871/1639 1624/1869/1640 1622/1868/1641 f 1625/1871/1639 1626/1872/1642 1624/1869/1640 f 1627/1873/1643 1626/1872/1642 1625/1871/1639 f 1627/1873/1643 1616/1874/1631 1626/1872/1642 f 1627/1873/1643 1613/1875/1628 1616/1874/1631 f 1596/1831/1611 1613/1875/1628 1627/1873/1643 f 1595/1830/1610 1596/1831/1611 1627/1873/1643 f 1595/1830/1610 1627/1873/1643 1625/1871/1639 f 1595/1830/1610 1625/1871/1639 1628/1876/1644 f 1625/1871/1639 1622/1868/1641 1628/1876/1644 f 1628/1876/1644 1622/1868/1641 1629/1877/1645 f 1622/1868/1641 1630/1878/1646 1629/1877/1645 f 1622/1868/1641 1631/1879/1647 1630/1878/1646 f 1632/1880/1648 1631/1881/1647 1622/1866/1641 f 1632/1880/1648 1633/1882/1649 1631/1881/1647 f 1606/1883/1621 1633/1882/1649 1632/1880/1648 s off f 1606/1883/1650 1605/1884/1650 1633/1882/1650 f 1604/1885/1595 1633/1882/1595 1605/1884/1595 f 1633/1882/1651 1604/1885/1651 1634/1886/1651 f 1604/1885/1651 1578/1812/1651 1634/1886/1651 f 1604/1885/1651 1579/1887/1651 1578/1812/1651 f 1634/1886/1595 1578/1812/1595 1582/1814/1595 f 1633/1882/1595 1634/1886/1595 1582/1814/1595 f 1633/1882/1595 1582/1814/1595 1635/1888/1595 s 1 f 1635/1889/1652 1582/1815/1596 1583/1816/1597 f 1635/1889/1652 1583/1816/1597 1586/1819/1600 f 1630/1878/1646 1635/1889/1652 1586/1819/1600 f 1631/1879/1647 1635/1889/1652 1630/1878/1646 s off f 1633/1882/1653 1635/1888/1653 1631/1881/1653 s 1 f 1630/1878/1646 1586/1819/1600 1588/1821/1602 f 1629/1877/1645 1630/1878/1646 1588/1821/1602 f 1629/1877/1645 1588/1821/1602 1590/1823/1604 f 1592/1890/1654 1629/1877/1645 1590/1823/1604 f 1628/1876/1644 1629/1877/1645 1592/1890/1654 f 1592/1890/1654 1594/1828/1608 1628/1876/1644 f 1594/1828/1608 1595/1830/1610 1628/1876/1644 f 1608/1864/1623 1606/1883/1621 1632/1880/1648 s off f 1608/1864/1655 1632/1880/1655 1620/1862/1655 f 1620/1862/1656 1632/1880/1656 1622/1866/1656 f 1616/1858/1632 1617/1857/1632 1626/1891/1632 f 1617/1857/1632 1624/1892/1632 1626/1891/1632 f 1617/1893/1632 1621/1894/1632 1624/1892/1632 f 1621/1894/1632 1617/1893/1632 1618/1859/1632 f 1618/1859/1632 1619/1863/1632 1621/1865/1632 f 1621/1865/1632 1623/1867/1632 1624/1892/1632 s 1 f 1599/1837/1614 1600/1838/1615 1609/1847/1624 f 1600/1838/1615 1601/1839/1616 1607/1845/1622 o mesh4.002_mesh4-geometry v 8.297646 173.643738 -4.147326 v 7.876331 177.213272 -2.070835 v 9.232541 173.807632 -2.569132 v 7.446055 173.513367 -5.160358 v 5.879395 177.579330 -4.261196 v 6.365656 173.597977 -5.999300 v 7.792958 169.501266 -6.233909 v 8.896169 169.704529 -5.619246 v 9.929724 169.475449 -4.054068 v 10.298515 169.500854 -2.972721 v 10.279252 168.983093 -1.015845 v 9.918608 173.205002 -0.780906 v 9.162860 176.903442 0.665456 v 10.366465 173.251129 0.500125 v 9.027205 176.832367 2.603460 v 9.753546 173.296066 3.764577 v 7.511401 177.309677 5.379242 v 7.821137 173.555466 6.230288 v 8.819935 170.989731 5.144444 v 8.171333 170.346786 5.302597 v 8.407271 167.644699 4.930859 v 9.138886 167.675247 4.676209 v 8.546442 166.541382 4.761230 v 9.254675 166.623260 4.573937 v 9.420131 165.318848 4.769481 v 8.929603 165.166901 4.893147 v 10.011168 163.777679 5.144779 v 10.562061 168.473953 2.923881 v 10.719966 168.756409 0.591140 v 11.075859 166.475311 -1.316617 v 11.493757 166.180374 -0.010769 v 12.234684 165.446381 -2.574760 v 12.788539 165.061752 -1.600830 v 14.766304 163.097412 -2.488952 v 11.187075 166.297150 2.105196 v 11.285152 166.240051 0.372422 v 12.656817 165.144562 0.353019 v 11.959157 165.119034 -0.100405 v 14.466885 163.685806 -0.038252 v 9.664052 166.127350 4.239790 v 10.900988 166.195312 2.772604 v 10.627325 164.998444 3.826723 v 11.117855 165.287155 2.816767 v 13.060345 164.163101 1.516707 v 11.312892 166.329422 -1.300184 v 11.243655 166.896240 -3.353939 v 10.560167 167.272720 -4.640790 v 9.844875 167.178925 -6.033222 v 8.604935 166.822922 -6.802577 v 8.557759 165.388031 -8.169714 v 9.912040 165.335678 -7.468669 v 9.915230 165.520050 -7.455635 v 10.060588 163.640656 -9.894338 v 10.990295 165.932434 -5.998745 v 11.586139 165.881195 -5.203870 v 13.217003 163.960114 -6.086912 v 11.897261 165.353256 -4.038371 v 6.522163 169.550552 -7.295707 v 8.063948 167.133881 -7.083258 v 6.215429 167.309708 -8.346956 v 7.261048 165.683807 -8.762534 v 6.341824 165.220169 -8.710615 v 5.761347 163.995605 -11.156421 v 4.953676 167.559387 -9.110716 v 4.359668 165.627045 -9.970131 v 3.649427 165.804565 -10.707653 v 2.556964 165.804047 -10.294046 v 2.013835 164.393646 -12.511470 v 3.443015 167.649109 -8.578211 v 4.801587 169.781296 -8.163532 v 4.175054 173.868332 -6.680264 v 3.261612 177.283081 -5.672348 v 3.399768 173.707321 -7.178087 v 3.823660 169.565735 -8.100909 v 1.981372 169.348801 -8.846408 v 1.693423 167.664597 -8.862779 v -0.147558 164.866180 -10.359701 v -0.895068 165.175064 -10.416383 v -2.674155 163.018509 -12.017067 v -2.060718 164.773254 -9.959138 v 0.085842 167.312256 -8.542287 v -0.273320 169.206741 -8.180530 v 1.203776 173.216309 -7.418054 v 0.289038 177.037689 -6.260032 v -0.304259 173.126099 -7.593051 v -2.429562 169.381699 -7.030611 v -2.014982 167.271225 -7.968330 v -3.366771 165.316437 -9.521338 v -2.369837 165.460999 -9.922440 v -5.102951 164.106750 -10.459863 v -2.864373 173.446091 -6.095177 v -1.562681 176.992569 -5.661312 v -3.876081 177.481949 -3.508008 v -4.847246 173.747131 -3.656629 v -3.965854 171.336960 -5.477665 v -3.653317 169.314926 -5.968734 v -3.344675 166.524734 -7.025994 v -2.418780 166.505463 -7.889871 v -4.210052 165.260345 -7.656205 v -3.762278 165.542130 -7.929229 v -6.040331 162.852829 -8.589507 v -4.784128 165.217667 -6.755927 v -3.171365 166.312576 -6.347096 v -3.921063 168.889023 -5.456721 v -4.027284 171.098770 -5.074068 vt -1.213924 -1.175955 vt -1.243910 -1.091856 vt -1.274247 -1.175938 vt -1.150366 -1.175965 vt -1.150499 -1.091419 vt -4.164889 -0.066553 vt -4.197845 -0.170213 vt -4.137818 -0.170086 vt -4.197140 -0.259086 vt -1.150396 -1.247025 vt -1.213257 -1.247009 vt -1.274088 -1.246995 vt -1.641531 -1.254281 vt -1.660398 -1.183226 vt -1.688697 -1.254264 vt -1.688611 -1.183226 vt -1.746296 -1.254260 vt -1.746807 -1.183200 vt -1.748267 -1.098870 vt -1.688541 -1.098772 vt -2.174173 -1.135754 vt -2.233738 -1.033690 vt -2.229737 -1.135726 vt -2.312609 -1.033757 vt -2.313521 -1.135749 vt -2.839895 -1.034670 vt -2.877928 -1.034709 vt -2.839376 -1.135721 vt -2.926258 -1.034759 vt -2.926218 -1.135716 vt -3.463975 -0.989814 vt -3.492539 -1.091531 vt -3.418042 -1.091524 vt -3.490777 -1.178065 vt -3.417544 -1.178069 vt -3.491107 -1.290194 vt -3.416189 -1.290147 vt -3.417256 -1.386935 vt -3.489571 -1.386855 vt -3.436989 -1.489137 vt -2.838801 -1.222284 vt -2.926041 -1.222278 vt -2.230272 -1.222260 vt -2.313275 -1.222291 vt -2.174841 -1.222297 vt -2.175949 -1.334365 vt -2.232654 -1.334253 vt -2.178117 -1.430508 vt -2.232626 -1.430156 vt -2.199865 -1.536784 vt -2.313134 -1.334275 vt -2.312655 -1.430411 vt -2.272568 -1.536784 vt -2.925820 -1.334372 vt -2.838969 -1.334443 vt -2.904340 -1.431004 vt -2.839508 -1.431179 vt -2.893258 -1.534724 vt -1.745156 -1.346343 vt -1.691211 -1.346447 vt -1.641357 -1.346474 vt -1.274333 -1.339045 vt -1.211834 -1.339086 vt -1.150466 -1.339127 vt -1.150609 -1.418566 vt -1.213268 -1.418604 vt -1.274238 -1.418403 vt -1.211826 -1.503123 vt -1.641381 -1.426117 vt -1.692520 -1.426119 vt -1.692462 -1.510728 vt -1.746656 -1.425852 vt -4.138954 -0.259123 vt -4.196353 -0.382683 vt -4.138202 -0.382891 vt -4.196116 -0.479175 vt -4.139833 -0.479197 vt -4.169056 -0.554130 vt -3.873768 -0.258917 vt -3.875038 -0.382948 vt -3.824220 -0.382801 vt -3.872772 -0.479393 vt -3.825378 -0.479464 vt -3.776519 -0.479528 vt -3.829144 -0.554086 vt -3.763759 -0.384287 vt -3.816013 -0.259078 vt -3.815362 -0.171031 vt -3.875978 -0.170252 vt -3.819637 -0.078534 vt -3.873764 -0.078490 vt -3.791513 -0.170416 vt -3.769352 -0.259226 vt -2.422973 -0.259401 vt -2.422475 -0.386966 vt -2.345092 -0.259393 vt -2.344512 -0.387118 vt -2.411665 -0.479761 vt -2.343838 -0.479904 vt -2.345288 -0.554238 vt -2.272361 -0.479991 vt -2.269954 -0.387991 vt -2.271875 -0.259656 vt -2.345145 -0.169130 vt -2.420887 -0.169655 vt -2.345335 -0.078458 vt -2.420335 -0.078489 vt -2.272395 -0.169307 vt -2.918242 -0.134161 vt -2.918241 -0.231215 vt -2.823488 -0.231365 vt -2.918239 -0.326059 vt -2.837804 -0.326198 vt -2.855562 -0.418725 vt -2.909631 -0.418694 vt -2.878680 -0.493125 vt -2.822959 -0.134239 vt -2.874755 -0.017112 vt -2.918417 -0.017268 vt -2.822192 -0.016925 vt -2.764565 -0.016563 vt -2.764596 -0.134250 vt -2.761215 -0.231367 vt -2.761607 -0.325836 vt -2.808156 -0.326310 vt -2.762069 -0.418363 vt -2.794018 -0.418424 vt -2.762764 -0.493153 vt -2.735533 -0.418648 vt -2.735462 -0.327132 vt -2.735746 -0.231826 vt -2.735431 -0.134344 vt -2.750458 -0.016563 vn 0.711661 0.346385 -0.611164 vn 0.754997 0.405133 -0.515549 vn 0.903073 0.285562 -0.320750 vn 0.662618 0.344005 -0.665242 vn 0.571368 0.402814 -0.714988 vn 0.480850 0.329539 -0.812494 vn 0.552690 0.297555 -0.778436 vn 0.675283 0.356395 -0.645711 vn 0.849513 0.314066 -0.423841 vn 0.938902 0.319712 -0.127262 vn 0.966399 0.199744 -0.161748 vn 0.928922 0.199927 -0.311563 vn 0.918546 0.329722 -0.218024 vn 0.977752 0.193121 -0.081668 vn 0.928861 0.294443 0.224677 vn 0.906339 0.158177 0.391766 vn 0.823603 0.256630 0.505722 vn 0.690481 0.012879 0.723197 vn 0.599658 -0.059969 0.797967 vn 0.376507 -0.155187 0.913297 vn 0.330058 -0.101230 0.938505 vn 0.512680 -0.043214 0.857479 vn 0.258370 0.038850 0.965239 vn 0.249367 0.054506 0.966857 vn 0.194067 0.203467 0.959624 vn 0.174322 0.218574 0.960112 vn 0.149388 0.287637 0.945982 vn 0.878170 0.096255 0.468490 vn 0.978027 0.204596 -0.039705 vn 0.858577 0.487197 -0.159429 vn 0.754692 0.647938 -0.102847 vn 0.648335 0.759056 -0.058718 vn 0.650716 0.755913 -0.071505 vn 0.678640 0.727805 -0.098483 vn 0.899319 0.433973 0.053407 vn 0.770501 0.588641 -0.244514 vn 0.517289 0.711692 -0.475265 vn 0.415662 0.610675 -0.673971 vn 0.392651 0.659200 -0.641255 vn 0.747551 0.175024 0.640675 vn 0.779687 0.226600 0.583667 vn 0.747398 0.398785 0.531297 vn 0.769066 0.409589 0.490616 vn 0.657888 0.576647 0.484359 vn 0.933866 0.349162 0.077059 vn 0.861263 0.484298 -0.153844 vn 0.832759 0.398572 -0.384198 vn 0.398053 0.500595 -0.768700 vn 0.348918 0.498978 -0.793237 vn 0.318705 0.681967 -0.658254 vn -0.545396 0.593646 -0.591693 vn -0.996877 0.022597 -0.075660 vn -0.848018 0.323313 -0.419843 vn -0.996781 0.022682 -0.076893 vn -0.562487 0.661153 -0.496445 vn 0.648213 0.680441 -0.341716 vn 0.730705 0.656240 -0.188086 vn 0.711447 0.681936 -0.169591 vn 0.881497 0.471236 0.029511 vn 0.513077 0.318461 -0.797052 vn 0.566881 0.377361 -0.732261 vn 0.423536 0.306314 -0.852473 vn -0.024079 0.606311 -0.794824 vn -0.333323 0.577380 -0.745323 vn -0.441450 0.839869 -0.315714 vn 0.249397 0.449934 -0.857509 vn 0.668294 0.107334 -0.736076 vn 0.322123 0.536729 -0.779809 vn -0.206946 0.773461 -0.599048 vn 0.341288 0.564837 -0.751274 vn 0.010895 0.330058 -0.943876 vn 0.079073 0.355602 -0.931272 vn 0.324686 0.329661 -0.886502 vn 0.330393 0.378643 -0.864528 vn 0.241798 0.308725 -0.919889 vn 0.165014 0.273049 -0.947722 vn 0.052248 0.182195 -0.981842 vn -0.111698 0.362041 -0.925413 vn 0.204016 0.391736 -0.897153 vn -0.121647 0.635029 -0.762810 vn -0.112522 0.650410 -0.751183 vn -0.397656 0.720634 -0.567888 vn -0.308084 0.477218 -0.822993 vn -0.275063 0.142613 -0.950774 vn 0.052644 0.278848 -0.958861 vn -0.004913 0.341319 -0.939909 vn -0.260598 0.234230 -0.936583 vn -0.526872 0.178014 -0.831050 vn -0.232795 0.531907 -0.814142 vn -0.280313 0.776727 -0.563982 vn -0.315867 0.810694 -0.492904 vn -0.311960 0.820002 -0.479812 vn -0.624775 0.195410 -0.755943 vn -0.460829 0.314646 -0.829798 vn -0.680258 0.267006 -0.682577 vn -0.847896 0.089297 -0.522538 vn -0.876705 0.019593 -0.480575 vn -0.833766 0.023438 -0.551592 vn -0.811884 0.450880 -0.370830 vn -0.629902 0.594043 -0.500290 vn -0.620777 0.687735 -0.376293 vn -0.622272 0.739097 -0.257729 vn -0.652669 0.648213 -0.392132 vn -0.678732 0.720115 -0.143834 vn -0.981353 0.190832 0.022523 vn -0.920835 -0.038209 -0.388043 vn -0.974700 -0.092898 -0.203162 g mesh4.002_mesh4-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 1636/1895/1657 1637/1896/1658 1638/1897/1659 f 1637/1896/1658 1636/1895/1657 1639/1898/1660 f 1639/1898/1660 1640/1899/1661 1637/1896/1658 f 1640/1900/1661 1639/1901/1660 1641/1902/1662 f 1641/1902/1662 1639/1901/1660 1642/1903/1663 f 1639/1898/1660 1636/1895/1657 1642/1904/1663 f 1636/1895/1657 1643/1905/1664 1642/1904/1663 f 1643/1905/1664 1636/1895/1657 1644/1906/1665 f 1636/1895/1657 1638/1897/1659 1644/1906/1665 f 1644/1907/1665 1638/1908/1659 1645/1909/1666 f 1645/1909/1666 1638/1910/1659 1646/1911/1667 f 1638/1910/1659 1647/1912/1668 1646/1911/1667 f 1638/1910/1659 1648/1913/1669 1647/1912/1668 f 1638/1910/1659 1637/1914/1658 1648/1913/1669 f 1647/1915/1668 1648/1916/1669 1649/1917/1670 f 1649/1917/1670 1648/1916/1669 1650/1918/1671 f 1649/1917/1670 1650/1918/1671 1651/1919/1672 f 1650/1920/1671 1652/1921/1673 1651/1922/1672 f 1651/1922/1672 1652/1921/1673 1653/1923/1674 f 1651/1922/1672 1653/1923/1674 1654/1924/1675 f 1653/1925/1674 1655/1926/1676 1654/1927/1675 f 1654/1927/1675 1655/1926/1676 1656/1928/1677 f 1654/1927/1675 1656/1928/1677 1657/1929/1678 f 1657/1929/1678 1656/1928/1677 1658/1930/1679 f 1657/1929/1678 1658/1930/1679 1659/1931/1680 f 1659/1931/1680 1658/1930/1679 1660/1932/1681 f 1658/1930/1679 1661/1933/1682 1660/1932/1681 f 1660/1932/1681 1661/1933/1682 1662/1934/1683 f 1663/1935/1684 1654/1924/1675 1657/1936/1678 f 1663/1935/1684 1651/1922/1672 1654/1924/1675 f 1664/1937/1685 1651/1919/1672 1663/1938/1684 f 1649/1917/1670 1651/1919/1672 1664/1937/1685 f 1646/1939/1667 1649/1917/1670 1664/1937/1685 f 1646/1939/1667 1647/1915/1668 1649/1917/1670 f 1665/1940/1686 1646/1939/1667 1664/1937/1685 f 1665/1940/1686 1664/1937/1685 1666/1941/1687 f 1667/1942/1688 1665/1940/1686 1666/1941/1687 f 1668/1943/1689 1667/1942/1688 1666/1941/1687 f 1669/1944/1690 1667/1942/1688 1668/1943/1689 f 1664/1937/1685 1663/1938/1684 1670/1945/1691 f 1671/1941/1692 1664/1937/1685 1670/1945/1691 f 1672/1946/1693 1671/1941/1692 1670/1945/1691 f 1671/1941/1692 1672/1946/1693 1673/1943/1694 f 1674/1947/1695 1673/1943/1694 1672/1946/1693 f 1663/1935/1684 1657/1936/1678 1675/1948/1696 f 1676/1949/1697 1663/1935/1684 1675/1948/1696 f 1676/1949/1697 1675/1948/1696 1677/1950/1698 f 1676/1949/1697 1677/1950/1698 1678/1951/1699 f 1679/1952/1700 1678/1951/1699 1677/1950/1698 f 1645/1909/1666 1646/1911/1667 1680/1953/1701 f 1681/1954/1702 1645/1909/1666 1680/1953/1701 f 1682/1955/1703 1645/1909/1666 1681/1954/1702 f 1682/1955/1703 1644/1907/1665 1645/1909/1666 f 1643/1905/1664 1644/1906/1665 1682/1956/1703 f 1683/1957/1704 1643/1905/1664 1682/1956/1703 f 1643/1905/1664 1683/1957/1704 1642/1904/1663 f 1642/1904/1663 1683/1957/1704 1684/1958/1705 f 1683/1957/1704 1685/1959/1706 1684/1958/1705 f 1683/1957/1704 1686/1960/1707 1685/1959/1706 s off f 1686/1960/1708 1683/1957/1708 1687/1961/1708 s 1 f 1687/1961/1709 1683/1957/1704 1682/1956/1703 s off f 1688/1962/1710 1686/1960/1710 1687/1961/1710 s 1 f 1688/1962/1711 1685/1959/1706 1686/1960/1707 f 1689/1963/1712 1682/1955/1703 1681/1954/1702 f 1690/1964/1713 1689/1963/1712 1681/1954/1702 f 1691/1965/1714 1689/1963/1712 1690/1964/1713 f 1691/1965/1714 1690/1964/1713 1692/1966/1715 f 1690/1964/1713 1681/1954/1702 1692/1966/1715 f 1692/1966/1715 1681/1954/1702 1680/1953/1701 f 1641/1902/1662 1642/1903/1663 1693/1967/1716 f 1693/1967/1716 1642/1903/1663 1694/1968/1717 f 1693/1967/1716 1694/1968/1717 1695/1969/1718 f 1695/1969/1718 1694/1968/1717 1696/1970/1719 f 1695/1969/1718 1696/1970/1719 1697/1971/1720 f 1696/1970/1719 1698/1972/1721 1697/1971/1720 f 1693/1973/1716 1695/1974/1718 1699/1975/1722 f 1699/1975/1722 1695/1974/1718 1700/1976/1723 f 1701/1977/1724 1699/1975/1722 1700/1976/1723 f 1699/1975/1722 1701/1977/1724 1702/1978/1725 f 1701/1977/1724 1703/1979/1726 1702/1978/1725 f 1703/1979/1726 1701/1977/1724 1700/1976/1723 f 1699/1975/1722 1702/1978/1725 1704/1980/1727 f 1705/1981/1728 1699/1975/1722 1704/1980/1727 f 1705/1981/1728 1693/1973/1716 1699/1975/1722 f 1706/1982/1729 1693/1973/1716 1705/1981/1728 f 1706/1982/1729 1641/1983/1662 1693/1973/1716 f 1707/1984/1730 1641/1983/1662 1706/1982/1729 f 1640/1985/1661 1641/1983/1662 1707/1984/1730 f 1707/1984/1730 1706/1982/1729 1708/1986/1731 f 1706/1982/1729 1709/1987/1732 1708/1986/1731 f 1706/1982/1729 1705/1981/1728 1709/1987/1732 f 1705/1981/1728 1704/1980/1727 1709/1987/1732 f 1709/1988/1732 1704/1989/1727 1710/1990/1733 f 1710/1990/1733 1704/1989/1727 1711/1991/1734 f 1711/1991/1734 1704/1989/1727 1712/1992/1735 f 1711/1991/1734 1712/1992/1735 1713/1993/1736 f 1713/1993/1736 1712/1992/1735 1714/1994/1737 f 1713/1993/1736 1714/1994/1737 1715/1995/1738 f 1711/1991/1734 1713/1993/1736 1715/1995/1738 f 1711/1991/1734 1715/1995/1738 1716/1996/1739 f 1717/1997/1740 1711/1991/1734 1716/1996/1739 f 1710/1990/1733 1711/1991/1734 1717/1997/1740 f 1718/1998/1741 1710/1990/1733 1717/1997/1740 f 1718/1998/1741 1709/1988/1732 1710/1990/1733 f 1708/1999/1731 1709/1988/1732 1718/1998/1741 f 1719/2000/1742 1708/1999/1731 1718/1998/1741 f 1707/2001/1730 1708/1999/1731 1719/2000/1742 f 1719/2000/1742 1718/1998/1741 1720/2002/1743 f 1718/1998/1741 1717/1997/1740 1720/2002/1743 f 1720/2003/1743 1717/2004/1740 1721/2005/1744 f 1721/2005/1744 1717/2004/1740 1716/2006/1739 f 1721/2005/1744 1716/2006/1739 1722/2007/1745 f 1716/2006/1739 1723/2008/1746 1722/2007/1745 f 1716/2006/1739 1724/2009/1747 1723/2008/1746 f 1724/2009/1747 1725/2010/1748 1723/2008/1746 f 1726/2011/1749 1720/2003/1743 1721/2005/1744 f 1727/2012/1750 1720/2003/1743 1726/2011/1749 f 1719/2013/1742 1720/2003/1743 1727/2012/1750 f 1728/2014/1751 1727/2012/1750 1726/2011/1749 f 1726/2011/1749 1729/2015/1752 1728/2014/1751 f 1726/2011/1749 1730/2016/1753 1729/2015/1752 f 1726/2011/1749 1731/2017/1754 1730/2016/1753 f 1726/2011/1749 1721/2005/1744 1731/2017/1754 f 1721/2005/1744 1732/2018/1755 1731/2017/1754 f 1721/2005/1744 1733/2019/1756 1732/2018/1755 f 1733/2019/1756 1734/2020/1757 1732/2018/1755 f 1733/2019/1756 1735/2021/1758 1734/2020/1757 f 1736/2022/1759 1734/2020/1757 1735/2021/1758 f 1736/2022/1759 1737/2023/1760 1734/2020/1757 f 1734/2020/1757 1737/2023/1760 1732/2018/1755 f 1738/2024/1761 1732/2018/1755 1737/2023/1760 f 1732/2018/1755 1738/2024/1761 1731/2017/1754 f 1738/2024/1761 1739/2025/1762 1731/2017/1754 f 1731/2017/1754 1739/2025/1762 1730/2016/1753 f 1730/2016/1753 1739/2025/1762 1740/2026/1763 f 1730/2016/1753 1740/2026/1763 1729/2027/1752 o mesh5.002_mesh5-geometry v 8.914974 169.858246 -4.737385 v 9.035167 173.402832 -2.713000 v 9.535662 169.931961 -2.844899 v 7.855681 169.888336 -5.887990 v 6.748581 173.560196 -5.453587 v 6.939497 169.895798 -6.609490 v 6.835015 165.767899 -6.275025 v 8.572981 165.271988 -5.127158 v 9.239975 165.305008 -3.960318 v 9.303375 165.837326 -2.909727 v 10.034826 165.462555 -0.922827 v 10.156316 170.006821 -0.367350 v 10.066978 173.246490 0.565389 v 10.220516 170.117859 1.194666 v 9.451221 173.300629 3.528631 v 10.199927 170.272659 3.215986 v 9.194364 170.561890 4.667402 v 7.821137 173.555466 6.230288 v 8.516171 170.635101 5.143562 v 7.284851 166.076782 5.120026 v 8.407318 165.975296 4.776474 v 6.908578 164.376068 4.945885 v 7.935189 164.299774 4.863610 v 8.105780 163.414764 4.412398 v 7.307560 163.066833 4.705713 v 8.105918 161.382019 5.627229 v 9.585253 165.791275 3.342038 v 8.895230 164.206055 4.483354 v 9.890329 164.770355 2.470128 v 9.938880 163.790604 3.499324 v 10.295213 163.745575 2.726878 v 11.921071 162.123505 2.914888 v 10.159228 165.587967 1.005977 v 10.406758 164.577301 -2.002413 v 10.896535 164.620789 -0.713769 v 10.992848 163.297974 -1.731407 v 11.313541 163.357697 -0.935401 v 12.206075 161.383926 -1.129275 v 10.406104 164.732849 1.816971 v 10.738146 164.664948 0.157920 v 11.144683 163.701111 1.471537 v 11.124478 163.724213 0.512562 v 12.643658 162.174362 0.972657 v 10.084022 164.553406 -2.722110 v 9.666948 164.505188 -4.071345 v 8.560682 164.489594 -5.062342 v 10.176469 161.874008 -4.422299 v 10.618312 161.883499 -3.942971 v 10.769410 161.920654 -3.017846 v 11.162154 160.278625 -3.077256 v 8.131356 164.430038 -6.687566 v 6.948956 164.424133 -7.477797 v 7.575133 161.796036 -7.746854 v 8.448121 161.790436 -7.344855 v 8.648582 161.819092 -6.580623 v 8.223360 159.950119 -7.601409 v 5.496352 165.368896 -6.806637 v 6.466179 164.423370 -7.799314 v 4.245910 164.464081 -8.250482 v 6.333885 161.783249 -8.780404 v 5.090712 161.811218 -8.901316 v 5.724835 160.323395 -9.487854 v 2.700611 164.478836 -8.847383 v 3.156065 161.841431 -9.387615 v 2.394412 161.854462 -9.555525 v 2.258322 160.773834 -9.888454 v 1.649747 161.878845 -9.453978 v 1.046125 164.551971 -8.198953 v 3.351560 165.831345 -7.886188 v 4.337472 169.997696 -7.414265 v 3.532148 173.486084 -7.007777 v 3.658697 170.028107 -7.810861 v 2.281837 165.902740 -7.542142 v 1.027987 165.909912 -8.517309 v 1.258058 170.199463 -8.083265 v 0.098297 173.397308 -7.214571 v 0.191380 170.282166 -7.801727 v 0.308554 165.655960 -7.825106 v -0.726382 164.581726 -8.614036 v -0.147982 161.944763 -9.060076 v -0.978490 161.965820 -9.084684 v -0.959200 159.719604 -9.755598 v -1.801720 162.001923 -8.768738 v -1.916886 164.642624 -7.945671 v -1.872500 166.144882 -6.379629 v -3.961308 164.720261 -7.347854 v -4.433941 162.791519 -8.493470 v -3.588289 162.751312 -8.888321 v -4.791910 161.555847 -9.470869 v -1.815413 170.537231 -6.732057 v -2.626256 173.483353 -5.897119 v -4.847246 173.747131 -3.656629 v -3.461527 170.708038 -6.003465 v -2.932690 165.995102 -6.193698 v -4.586208 164.789856 -5.980371 v -3.521029 164.737198 -6.641411 v -4.695747 162.838287 -6.940668 v -4.022436 162.810547 -7.158913 v -4.260471 160.814499 -7.831158 v -4.089131 162.863632 -6.004550 v -4.236040 164.818695 -5.008827 v -3.085209 166.053696 -5.530861 v -3.902264 170.805328 -5.214504 v -3.740905 166.107635 -5.389036 v -3.849797 164.598938 -5.055307 v -3.799726 164.396683 -5.436823 v -5.283962 163.062164 -4.587533 v -3.750422 166.174820 -4.454177 v -3.751309 164.482651 -4.153491 v -3.822930 164.436615 -4.895537 v -4.910494 162.641571 -2.443195 vt -1.658420 0.843151 vt -1.688406 0.927249 vt -1.718743 0.843168 vt -1.594862 0.843140 vt -1.594995 0.927686 vt -3.842736 1.952552 vt -3.875692 1.848892 vt -3.815665 1.849020 vt -3.874987 1.760020 vt -1.594892 0.772081 vt -1.657753 0.772097 vt -1.718584 0.772110 vt -1.774766 0.764825 vt -1.793633 0.835880 vt -1.821932 0.764842 vt -1.821846 0.835880 vt -1.879531 0.764846 vt -1.880042 0.835906 vt -1.821776 0.920334 vt -1.881502 0.920236 vt -2.253242 0.835960 vt -2.282861 0.919731 vt -2.308806 0.835983 vt -2.391678 0.919683 vt -2.392590 0.835963 vt -2.839376 0.835986 vt -2.839895 0.918934 vt -2.926218 0.835991 vt -2.926258 0.918861 vt -3.463975 0.955754 vt -3.492539 0.872260 vt -3.418042 0.872266 vt -3.490777 0.801229 vt -3.417544 0.801225 vt -3.491107 0.709189 vt -3.416189 0.709227 vt -3.417256 0.629779 vt -3.489571 0.629845 vt -3.436989 0.545887 vt -2.926041 0.764937 vt -2.838801 0.764932 vt -2.925820 0.672925 vt -2.838969 0.672866 vt -2.925758 0.593653 vt -2.839508 0.593461 vt -2.893258 0.508467 vt -2.309341 0.764951 vt -2.392344 0.764926 vt -2.253910 0.764921 vt -2.255018 0.672930 vt -2.290855 0.672989 vt -2.255958 0.638730 vt -2.277383 0.641388 vt -2.257186 0.594012 vt -2.392203 0.673005 vt -2.311723 0.673023 vt -2.391724 0.594092 vt -2.311695 0.594301 vt -2.311247 0.506776 vt -1.878391 0.672763 vt -1.824446 0.672659 vt -1.774592 0.672631 vt -1.774616 0.592988 vt -1.825755 0.592987 vt -1.879891 0.593254 vt -1.825697 0.508377 vt -1.718829 0.680061 vt -1.656330 0.680020 vt -1.594962 0.679979 vt -1.595105 0.600540 vt -1.657764 0.600502 vt -1.718734 0.600703 vt -1.656322 0.515983 vt -3.816801 1.759983 vt -3.874200 1.636423 vt -3.816049 1.636215 vt -3.873963 1.539931 vt -3.817680 1.539909 vt -3.846903 1.464975 vt -3.790425 1.760189 vt -3.791695 1.636158 vt -3.740877 1.636305 vt -3.789429 1.539713 vt -3.742035 1.539641 vt -3.745801 1.465020 vt -3.693176 1.539578 vt -3.680416 1.634819 vt -3.732670 1.760027 vt -3.732019 1.848075 vt -3.792635 1.848854 vt -3.736294 1.940572 vt -3.790421 1.940616 vt -3.708170 1.848689 vt -3.686009 1.759879 vt -3.265605 1.759713 vt -3.343486 1.759705 vt -3.342988 1.632139 vt -3.265658 1.849976 vt -3.341400 1.849451 vt -3.265848 1.940648 vt -3.340848 1.940616 vt -3.192908 1.849799 vt -3.192388 1.759449 vt -3.265025 1.631988 vt -3.309991 1.539298 vt -3.264351 1.539201 vt -3.265801 1.464868 vt -3.192874 1.539115 vt -3.190467 1.631115 vt -2.918241 1.659046 vt -2.918239 1.564203 vt -2.823488 1.658896 vt -2.837804 1.564063 vt -2.855562 1.471536 vt -2.909631 1.471568 vt -2.878680 1.397136 vt -2.918242 1.756100 vt -2.822959 1.756022 vt -2.918417 1.872994 vt -2.822192 1.873337 vt -2.764565 1.873698 vt -2.764596 1.756012 vt -2.761215 1.658895 vt -2.761607 1.564425 vt -2.808156 1.563952 vt -2.762069 1.471899 vt -2.794018 1.471838 vt -2.762764 1.397109 vt -2.735533 1.471613 vt -2.735462 1.563130 vt -2.735746 1.658435 vt -2.735431 1.755918 vt -2.594712 1.755716 vt -2.608504 1.657475 vt -2.574317 1.657594 vt -2.604759 1.563373 vt -2.576900 1.562640 vt -2.591082 1.471270 vt -2.533985 1.658380 vt -2.503424 1.657941 vt -2.516402 1.755768 vt -2.499522 1.562391 vt -2.530165 1.562880 vt -2.519431 1.471374 vt -2.750458 1.873698 vn 0.822108 0.067415 -0.565294 vn 0.878475 0.212806 -0.427747 vn 0.967071 0.035218 -0.251961 vn 0.692801 0.144597 -0.706473 vn 0.592120 0.290414 -0.751671 vn 0.445051 0.089877 -0.890957 vn 0.525132 0.284463 -0.802026 vn 0.819117 0.127293 -0.559282 vn 0.949309 -0.226112 -0.218238 vn 0.963988 0.139225 -0.226417 vn 0.972808 0.152379 -0.174230 vn 0.983032 0.056490 -0.174322 vn 0.995575 0.081454 -0.046419 vn 0.998474 0.054201 0.009522 vn 0.934660 0.156316 0.319254 vn 0.935362 0.006897 0.353557 vn 0.677267 -0.034791 0.734886 vn 0.729820 -0.021912 0.683279 vn 0.555071 -0.162999 0.815638 vn 0.378887 -0.114628 0.918302 vn 0.532853 -0.045747 0.844935 vn 0.195868 -0.163274 0.966918 vn 0.062014 -0.216224 0.974364 vn 0.182348 0.001556 0.983215 vn 0.241646 0.238533 0.940580 vn 0.091403 0.510849 0.854762 vn 0.896237 0.049318 0.440809 vn 0.821741 0.198126 0.534288 vn 0.842586 0.305979 0.443098 vn 0.735893 0.562487 0.376873 vn 0.760216 0.566668 0.317637 vn 0.665181 0.697592 0.266182 vn 0.951323 0.306192 0.034089 vn 0.794366 0.562181 -0.230018 vn 0.788965 0.518784 -0.329173 vn 0.858119 0.364208 -0.361827 vn 0.847194 0.381329 -0.369915 vn 0.833583 0.412976 -0.366802 vn 0.871700 0.462325 0.162420 vn 0.888852 0.447279 0.099033 vn 0.834895 0.548479 0.045534 vn 0.835932 0.548784 -0.004364 vn 0.713858 0.700278 0.001801 vn 0.872585 0.410382 -0.264840 vn 0.796411 0.377789 -0.472213 vn 0.913877 0.022858 -0.405286 vn 0.707907 0.113132 -0.697134 vn 0.880123 0.178594 -0.439833 vn 0.937223 0.279397 -0.208563 vn 0.894009 0.063723 -0.443464 vn 0.752403 0.329508 -0.570330 vn 0.500717 0.427869 -0.752434 vn 0.457472 0.185766 -0.869594 vn 0.761773 0.121464 -0.636311 vn 0.962218 0.091464 -0.256355 vn 0.767205 -0.004273 -0.641377 vn 0.323069 0.380871 -0.866329 vn 0.129063 0.640126 -0.757317 vn 0.218207 0.484909 -0.846858 vn 0.130497 0.334452 -0.933317 vn 0.098666 0.334605 -0.937162 vn 0.097598 0.400708 -0.910977 vn 0.091983 0.423566 -0.901151 vn 0.259468 0.247322 -0.933531 vn 0.046937 0.271950 -0.961150 vn 0.047243 0.288644 -0.956236 vn -0.191229 0.307352 -0.932157 vn 0.047182 0.260933 -0.964171 vn 0.037233 0.384289 -0.922422 vn 0.304544 0.051393 -0.951079 vn 0.320322 0.231971 -0.918455 vn 0.265816 0.089328 -0.959868 vn 0.245643 0.058473 -0.967589 vn 0.045808 0.148381 -0.987854 vn -0.066103 0.098605 -0.992920 vn -0.193091 0.204840 -0.959532 vn -0.400189 0.050630 -0.915006 vn -0.495712 0.427107 -0.756188 vn -0.197058 0.347697 -0.916654 vn 0.099002 0.224708 -0.969359 vn -0.155339 0.235878 -0.959258 vn -0.152409 0.281625 -0.947325 vn -0.382214 0.237312 -0.893063 vn -0.297189 0.606067 -0.737785 vn -0.346782 0.301126 -0.888272 vn -0.195959 0.629383 -0.751946 vn -0.274575 0.604511 -0.747765 vn -0.301675 0.635334 -0.710837 vn -0.298379 0.643788 -0.704611 vn -0.434156 0.093112 -0.895993 vn -0.578539 0.071017 -0.812525 vn -0.676992 0.167516 -0.716636 vn -0.762658 0.052614 -0.644612 vn -0.666707 0.286386 -0.688070 vn -0.856777 0.368358 -0.360820 vn -0.387738 0.448286 -0.805383 vn -0.850642 0.149266 -0.504044 vn -0.279244 0.326334 -0.903043 vn -0.935514 -0.047151 -0.350078 vn -0.839167 -0.284341 0.463576 vn -0.879086 0.463088 0.112705 vn -0.728019 0.054018 -0.683401 vn -0.834773 -0.041597 -0.548967 vn -0.817316 -0.054964 -0.573534 vn 0.857936 -0.455885 -0.236763 vn 0.904752 -0.315531 0.286019 vn 0.728904 -0.560625 0.392865 vn -0.999786 -0.017640 -0.008881 vn -0.974517 0.219916 0.043519 vn -0.941374 0.329875 0.070376 vn -0.826044 0.561785 0.044862 g mesh5.002_mesh5-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 1741/2028/1764 1742/2029/1765 1743/2030/1766 f 1742/2029/1765 1741/2028/1764 1744/2031/1767 f 1744/2031/1767 1745/2032/1768 1742/2029/1765 f 1745/2033/1768 1744/2034/1767 1746/2035/1769 f 1746/2035/1769 1744/2034/1767 1747/2036/1770 f 1744/2031/1767 1741/2028/1764 1747/2037/1770 f 1741/2028/1764 1748/2038/1771 1747/2037/1770 f 1748/2038/1771 1741/2028/1764 1749/2039/1772 f 1741/2028/1764 1743/2030/1766 1749/2039/1772 f 1749/2040/1772 1743/2041/1766 1750/2042/1773 f 1750/2042/1773 1743/2043/1766 1751/2044/1774 f 1743/2043/1766 1752/2045/1775 1751/2044/1774 f 1743/2043/1766 1742/2046/1765 1752/2045/1775 f 1742/2046/1765 1753/2047/1776 1752/2045/1775 f 1752/2048/1775 1753/2049/1776 1754/2050/1777 f 1753/2049/1776 1755/2051/1778 1754/2050/1777 f 1754/2050/1777 1755/2051/1778 1756/2052/1779 f 1756/2053/1779 1755/2054/1778 1757/2055/1780 f 1755/2054/1778 1758/2056/1781 1757/2055/1780 f 1758/2057/1781 1759/2058/1782 1757/2059/1780 f 1759/2058/1782 1760/2060/1783 1757/2059/1780 f 1757/2059/1780 1760/2060/1783 1761/2061/1784 f 1760/2060/1783 1762/2062/1785 1761/2061/1784 f 1761/2061/1784 1762/2062/1785 1763/2063/1786 f 1762/2062/1785 1764/2064/1787 1763/2063/1786 f 1762/2062/1785 1765/2065/1788 1764/2064/1787 f 1764/2064/1787 1765/2065/1788 1766/2066/1789 f 1756/2053/1779 1757/2055/1780 1761/2067/1784 f 1756/2053/1779 1761/2067/1784 1767/2068/1790 f 1767/2068/1790 1761/2067/1784 1768/2069/1791 f 1769/2070/1792 1767/2068/1790 1768/2069/1791 f 1769/2070/1792 1768/2069/1791 1770/2071/1793 f 1769/2070/1792 1770/2071/1793 1771/2072/1794 f 1772/2073/1795 1771/2072/1794 1770/2071/1793 f 1773/2074/1796 1756/2052/1779 1767/2075/1790 f 1773/2074/1796 1754/2050/1777 1756/2052/1779 f 1751/2076/1774 1754/2050/1777 1773/2074/1796 f 1751/2076/1774 1752/2048/1775 1754/2050/1777 f 1774/2077/1797 1751/2076/1774 1773/2074/1796 f 1775/2078/1798 1774/2077/1797 1773/2074/1796 f 1774/2077/1797 1775/2078/1798 1776/2079/1799 f 1776/2079/1799 1775/2078/1798 1777/2080/1800 f 1776/2079/1799 1777/2080/1800 1778/2081/1801 f 1773/2074/1796 1767/2075/1790 1779/2082/1802 f 1780/2083/1803 1773/2074/1796 1779/2082/1802 f 1780/2083/1803 1779/2082/1802 1781/2084/1804 f 1780/2083/1803 1781/2084/1804 1782/2085/1805 f 1782/2085/1805 1781/2084/1804 1783/2086/1806 f 1750/2042/1773 1751/2044/1774 1784/2087/1807 f 1785/2088/1808 1750/2042/1773 1784/2087/1807 f 1785/2088/1808 1786/2089/1809 1750/2042/1773 f 1785/2088/1808 1787/2090/1810 1786/2089/1809 f 1787/2090/1810 1785/2088/1808 1788/2091/1811 f 1785/2088/1808 1789/2092/1812 1788/2091/1811 f 1785/2088/1808 1784/2087/1807 1789/2092/1812 f 1788/2091/1811 1789/2092/1812 1790/2093/1813 f 1787/2090/1810 1788/2091/1811 1790/2093/1813 f 1750/2042/1773 1786/2089/1809 1749/2040/1772 f 1748/2038/1771 1749/2039/1772 1786/2094/1809 f 1791/2095/1814 1748/2038/1771 1786/2094/1809 f 1748/2038/1771 1791/2095/1814 1747/2037/1770 f 1747/2037/1770 1791/2095/1814 1792/2096/1815 f 1791/2095/1814 1793/2097/1816 1792/2096/1815 f 1791/2095/1814 1794/2098/1817 1793/2097/1816 f 1794/2098/1817 1791/2095/1814 1795/2099/1818 f 1791/2095/1814 1786/2094/1809 1795/2099/1818 f 1796/2100/1819 1794/2098/1817 1795/2099/1818 f 1793/2097/1816 1794/2098/1817 1796/2100/1819 f 1746/2035/1769 1747/2036/1770 1797/2101/1820 f 1747/2036/1770 1798/2102/1821 1797/2101/1820 f 1798/2102/1821 1799/2103/1822 1797/2101/1820 f 1799/2103/1822 1798/2102/1821 1800/2104/1823 f 1799/2103/1822 1800/2104/1823 1801/2105/1824 f 1801/2105/1824 1800/2104/1823 1802/2106/1825 f 1797/2107/1820 1799/2108/1822 1803/2109/1826 f 1803/2109/1826 1799/2108/1822 1804/2110/1827 f 1803/2109/1826 1804/2110/1827 1805/2111/1828 f 1805/2111/1828 1804/2110/1827 1806/2112/1829 f 1807/2113/1830 1805/2111/1828 1806/2112/1829 f 1803/2109/1826 1805/2111/1828 1807/2113/1830 f 1808/2114/1831 1803/2109/1826 1807/2113/1830 f 1809/2115/1832 1803/2109/1826 1808/2114/1831 f 1809/2115/1832 1797/2107/1820 1803/2109/1826 f 1810/2116/1833 1797/2107/1820 1809/2115/1832 f 1810/2116/1833 1746/2117/1769 1797/2107/1820 f 1811/2118/1834 1746/2117/1769 1810/2116/1833 f 1745/2119/1768 1746/2117/1769 1811/2118/1834 f 1811/2118/1834 1810/2116/1833 1812/2120/1835 f 1812/2120/1835 1810/2116/1833 1813/2121/1836 f 1810/2116/1833 1809/2115/1832 1813/2121/1836 f 1813/2121/1836 1809/2115/1832 1808/2114/1831 f 1814/2122/1837 1813/2123/1836 1808/2124/1831 f 1815/2125/1838 1813/2123/1836 1814/2122/1837 f 1815/2125/1838 1812/2126/1835 1813/2123/1836 f 1816/2127/1839 1812/2126/1835 1815/2125/1838 f 1811/2128/1834 1812/2126/1835 1816/2127/1839 f 1816/2127/1839 1815/2125/1838 1817/2129/1840 f 1817/2129/1840 1815/2125/1838 1818/2130/1841 f 1814/2122/1837 1818/2130/1841 1815/2125/1838 f 1814/2122/1837 1819/2131/1842 1818/2130/1841 f 1814/2122/1837 1808/2124/1831 1819/2131/1842 f 1819/2131/1842 1808/2124/1831 1820/2132/1843 f 1819/2131/1842 1820/2132/1843 1821/2133/1844 f 1821/2133/1844 1820/2132/1843 1822/2134/1845 f 1823/2135/1846 1821/2133/1844 1822/2134/1845 f 1819/2131/1842 1821/2133/1844 1823/2135/1846 f 1824/2136/1847 1819/2131/1842 1823/2135/1846 f 1818/2130/1841 1819/2131/1842 1824/2136/1847 f 1818/2137/1841 1824/2138/1847 1825/2139/1848 f 1825/2139/1848 1824/2138/1847 1826/2140/1849 f 1826/2140/1849 1824/2138/1847 1827/2141/1850 f 1824/2138/1847 1828/2142/1851 1827/2141/1850 f 1827/2141/1850 1828/2142/1851 1829/2143/1852 f 1817/2144/1840 1818/2137/1841 1825/2139/1848 f 1830/2145/1853 1817/2144/1840 1825/2139/1848 f 1816/2146/1839 1817/2144/1840 1830/2145/1853 f 1831/2147/1854 1816/2146/1839 1830/2145/1853 f 1830/2145/1853 1832/2148/1855 1831/2147/1854 f 1832/2148/1855 1830/2145/1853 1833/2149/1856 f 1833/2149/1856 1830/2145/1853 1834/2150/1857 f 1830/2145/1853 1825/2139/1848 1834/2150/1857 f 1825/2139/1848 1835/2151/1858 1834/2150/1857 f 1825/2139/1848 1836/2152/1859 1835/2151/1858 f 1835/2151/1858 1836/2152/1859 1837/2153/1860 f 1836/2152/1859 1838/2154/1861 1837/2153/1860 f 1837/2153/1860 1838/2154/1861 1839/2155/1862 f 1839/2155/1862 1840/2156/1863 1837/2153/1860 f 1837/2153/1860 1840/2156/1863 1835/2151/1858 f 1840/2156/1863 1841/2157/1864 1835/2151/1858 f 1834/2150/1857 1835/2151/1858 1841/2157/1864 f 1834/2150/1857 1841/2157/1864 1842/2158/1865 f 1834/2150/1857 1842/2158/1865 1833/2149/1856 f 1833/2149/1856 1842/2158/1865 1843/2159/1866 f 1843/2160/1866 1842/2161/1865 1844/2162/1867 f 1844/2162/1867 1842/2161/1865 1845/2163/1868 f 1846/2164/1869 1844/2162/1867 1845/2163/1868 f 1846/2164/1869 1845/2163/1868 1847/2165/1870 f 1844/2166/1867 1848/2167/1871 1843/2168/1866 f 1844/2166/1867 1849/2169/1872 1848/2167/1871 f 1844/2166/1867 1850/2170/1873 1849/2169/1872 f 1850/2170/1873 1851/2171/1874 1849/2169/1872 f 1833/2149/1856 1843/2159/1866 1832/2172/1855 o mesh6.002_mesh6-geometry v -0.521407 173.119904 -6.426266 v 0.812564 169.238144 -7.522570 v -1.535649 168.991821 -6.744250 v 3.894099 169.439819 -6.804372 v 2.858482 173.700089 -6.140868 v 5.660649 169.717941 -6.276171 v 6.055125 173.961761 -4.533422 v 7.537468 169.665924 -4.883699 v 6.073896 164.155258 -5.326345 v 8.674204 169.367508 -3.073784 v 8.361501 173.616852 -1.846091 v 6.031561 173.962128 -4.551812 v 9.447274 172.969086 1.353694 v 10.114603 169.097412 -0.262884 v 9.924402 168.818436 2.199635 v 8.868930 172.331039 4.255651 v 7.254053 171.781296 6.922287 v 9.298072 168.785934 4.295428 v 8.750032 168.455032 4.372321 v 8.031408 162.858917 2.738187 v 9.318915 163.119553 2.054832 v 10.059672 160.980057 1.407837 v 9.357282 160.381165 1.430797 v 11.965581 158.717926 -0.114448 v 10.447781 161.054794 0.582908 v 9.015560 163.331833 0.736250 v 8.831248 163.643646 -1.052946 v 9.049035 163.844910 -2.000243 v 8.171953 163.998535 -3.323385 v 7.711526 164.057251 -3.885271 v 8.353170 161.858597 -4.674542 v 9.276829 161.710266 -3.571204 v 10.014275 161.541901 -2.401379 v 9.696683 161.336670 -1.212701 v 9.834291 161.067291 0.117395 v 12.438554 158.938843 -1.664322 v 11.029427 159.996994 -2.336363 v 11.006041 160.111343 -2.942734 v 10.398808 160.218567 -3.853108 v 13.023131 158.937439 -4.071572 v 9.761738 160.226837 -4.247693 v 8.973063 160.361725 -5.407319 v 8.224761 160.531815 -6.734704 v 6.480162 161.931366 -6.014196 v 4.057840 164.130524 -6.296028 v 4.310543 161.944214 -7.271014 v 6.405725 160.586777 -8.026747 v 5.072738 160.555573 -8.589611 v 6.749031 158.313751 -10.087786 v 2.595204 161.869827 -7.892623 v 4.384693 160.539307 -8.880887 v 2.865259 160.373642 -8.820922 v 3.909931 158.608154 -11.178285 v 1.466885 160.243027 -8.883619 v 2.055799 158.401703 -11.081213 v 1.173012 161.726074 -8.100363 v 2.299386 164.067810 -6.910072 v 1.580622 164.011383 -7.007226 v -0.002902 163.862579 -7.059298 v -0.207475 161.561859 -8.114233 v 0.797128 160.237289 -9.219410 v -0.294412 160.133392 -9.258467 v -0.436556 158.970398 -11.580874 v -0.895595 160.008865 -8.915766 v -1.047925 161.357635 -7.217776 v -0.691888 163.662201 -6.375350 v -2.306362 163.353943 -5.591481 v -2.249013 161.090866 -6.635866 v -2.161482 158.976898 -9.806972 v -3.588870 163.144745 -5.159226 v -3.319264 161.006180 -6.069544 v -2.966345 161.080963 -6.914139 v -3.223752 158.758484 -8.584764 v -3.114303 160.463593 -5.852821 v -3.573723 162.969711 -4.223419 v -3.417670 168.978302 -5.628449 v -5.414330 171.972946 -2.964630 v -3.208549 172.513763 -5.170101 v -3.365551 168.638321 -5.083168 v 10.388448 158.595520 -7.557493 v 11.281310 158.383713 -5.925149 vt -2.911842 -0.071953 vt -2.911668 -0.180363 vt -2.822959 -0.180436 vt -3.174328 -0.009210 vt -3.231843 -0.093788 vt -3.146494 -0.093383 vt -3.231422 -0.009239 vt -3.784801 -0.009281 vt -3.827691 -0.094342 vt -3.772469 -0.094779 vt -3.826006 -0.009240 vt -4.164889 0.001830 vt -4.197845 -0.094306 vt -4.137818 -0.094188 vt -4.197140 -0.176728 vt -3.826008 -0.176571 vt -2.822192 -0.071636 vt -2.764565 -0.071301 vt -2.764596 -0.180445 vt -2.750458 -0.071301 vt -2.735431 -0.180532 vt -2.735746 -0.270939 vt -2.761215 -0.270514 vt -2.762069 -0.443937 vt -2.735533 -0.444202 vt -2.762764 -0.513298 vt -2.817028 -0.442350 vt -2.823488 -0.270512 vt -2.911667 -0.270373 vt -3.174144 -0.177013 vt -3.114517 -0.177257 vt -3.233431 -0.177020 vt -3.782043 -0.176721 vt -3.746522 -0.176858 vt -3.788290 -0.291463 vt -3.742264 -0.292842 vt -3.233052 -0.295327 vt -3.173702 -0.295468 vt -3.113055 -0.296277 vt -2.911665 -0.358332 vt -2.837804 -0.358462 vt -2.872106 -0.513273 vt -3.133179 -0.381574 vt -3.173189 -0.381519 vt -3.224822 -0.381386 vt -3.174293 -0.450458 vt -3.751977 -0.381170 vt -3.789171 -0.381111 vt -3.825250 -0.381045 vt -3.826975 -0.291600 vt -4.196353 -0.291354 vt -4.138954 -0.176763 vt -4.138202 -0.291547 vt -4.183674 -0.380847 vt -4.146772 -0.380861 vt -4.169056 -0.450358 vt -3.809546 -0.450317 vt -3.770640 -0.450317 vt -3.127869 -0.381582 vn -0.136845 0.214331 -0.967101 vn -0.198553 0.023011 -0.979797 vn -0.449263 0.050325 -0.891964 vn 0.216742 0.066500 -0.973937 vn 0.240059 0.232948 -0.942381 vn 0.438063 0.084017 -0.894986 vn 0.495163 0.290231 -0.818873 vn 0.739952 0.104892 -0.664418 vn 0.608814 0.104495 -0.786370 vn 0.848506 0.057680 -0.526017 vn 0.854793 0.224555 -0.467849 vn 0.740410 0.305765 -0.598559 vn 0.975249 0.197607 -0.098941 vn 0.981445 -0.035310 -0.188421 vn 0.983215 0.034730 0.178961 vn 0.925199 0.058565 0.374859 vn 0.800470 -0.044984 0.597644 vn 0.689901 -0.184057 0.700064 vn 0.347880 -0.376659 0.858516 vn 0.399640 -0.260720 0.878780 vn 0.922697 -0.061800 0.380474 vn 0.730644 0.098544 0.675588 vn 0.306131 -0.324717 0.894864 vn 0.652211 0.040132 0.756951 vn 0.799127 0.434553 0.415326 vn 0.987060 0.159124 -0.018464 vn 0.986023 0.114994 0.120304 vn 0.951537 0.207678 -0.226661 vn 0.821955 0.153294 -0.548479 vn 0.719230 0.245216 -0.650044 vn 0.659627 0.500290 -0.560839 vn 0.744316 0.457686 -0.486251 vn 0.857418 0.513291 -0.036653 vn 0.871853 0.472793 0.127628 vn 0.826350 0.562395 0.028382 vn 0.663686 0.743492 0.081912 vn 0.741172 0.648579 0.173162 vn 0.650960 0.753441 -0.092441 vn 0.618793 0.720206 -0.313669 vn 0.494003 0.869167 -0.021119 vn 0.682791 0.590442 -0.430311 vn 0.681478 0.645924 -0.343974 vn 0.606281 0.695608 -0.385327 vn 0.441664 0.543016 -0.714133 vn 0.370220 0.192267 -0.908811 vn 0.311197 0.632954 -0.708853 vn 0.280923 0.731651 -0.621052 vn 0.262825 0.702475 -0.661367 vn 0.276070 0.668142 -0.690878 vn 0.123264 0.511734 -0.850246 vn 0.000275 0.691427 -0.722404 vn -0.063753 0.652089 -0.755425 vn -0.108860 0.771874 -0.626331 vn 0.008972 0.596393 -0.802606 vn -0.041932 0.760247 -0.648244 vn 0.023896 0.464736 -0.885098 vn 0.192694 0.239051 -0.951659 vn 0.100467 0.139653 -0.985076 vn -0.003815 0.158147 -0.987396 vn 0.042451 0.653401 -0.755791 vn -0.056398 0.725700 -0.685659 vn -0.258858 0.760796 -0.595080 vn -0.235664 0.874660 -0.423566 vn -0.530106 0.662404 -0.529283 vn -0.438948 0.578021 -0.687857 vn -0.130100 -0.267434 -0.954741 vn -0.482498 0.170263 -0.859157 vn -0.456832 0.573412 -0.680044 vn -0.415235 0.751579 -0.512497 vn -0.762719 0.007538 -0.646657 vn -0.970550 0.081942 -0.226447 vn -0.863186 0.384930 -0.326609 vn -0.996765 0.037019 -0.070956 vn -0.941038 -0.279153 0.191015 vn -0.993378 -0.081332 0.080813 vn -0.799341 0.325938 -0.504715 vn -0.185736 0.509537 -0.840144 vn -0.586749 0.081362 -0.805628 vn -0.179052 0.827052 0.532792 vn 0.595996 0.766991 -0.237678 vn 0.578997 0.755760 -0.305856 g mesh6.002_mesh6-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 1852/2173/1875 1853/2174/1876 1854/2175/1877 f 1852/2176/1875 1855/2177/1878 1853/2178/1876 f 1855/2177/1878 1852/2176/1875 1856/2179/1879 f 1856/2180/1879 1857/2181/1880 1855/2182/1878 f 1858/2183/1881 1857/2181/1880 1856/2180/1879 f 1858/2184/1881 1859/2185/1882 1857/2186/1880 f 1857/2186/1880 1859/2185/1882 1860/2187/1883 f 1860/2188/1883 1859/2181/1882 1861/2182/1884 f 1859/2181/1882 1862/2180/1885 1861/2182/1884 f 1859/2181/1882 1863/2183/1886 1862/2180/1885 f 1861/2177/1884 1862/2179/1885 1864/2176/1887 f 1861/2177/1884 1864/2176/1887 1865/2178/1888 f 1865/2174/1888 1864/2173/1887 1866/2175/1889 f 1864/2173/1887 1867/2189/1890 1866/2175/1889 f 1866/2175/1889 1867/2189/1890 1868/2190/1891 f 1866/2175/1889 1868/2190/1891 1869/2191/1892 f 1868/2192/1891 1870/2193/1893 1869/2191/1892 f 1869/2191/1892 1870/2193/1893 1871/2194/1894 f 1869/2191/1892 1871/2194/1894 1872/2195/1895 f 1872/2195/1895 1871/2194/1894 1873/2196/1896 f 1871/2194/1894 1874/2197/1897 1873/2196/1896 f 1873/2196/1896 1874/2197/1897 1875/2198/1898 f 1875/2198/1898 1876/2199/1899 1873/2196/1896 f 1876/2199/1899 1877/2200/1900 1873/2196/1896 f 1877/2200/1900 1872/2195/1895 1873/2196/1896 f 1877/2200/1900 1866/2175/1889 1872/2195/1895 f 1865/2174/1888 1866/2175/1889 1877/2200/1900 f 1878/2201/1901 1865/2174/1888 1877/2200/1900 f 1879/2202/1902 1865/2178/1888 1878/2203/1901 f 1880/2204/1903 1865/2178/1888 1879/2202/1902 f 1880/2204/1903 1861/2177/1884 1865/2178/1888 f 1881/2205/1904 1861/2182/1884 1880/2206/1903 f 1861/2182/1884 1881/2205/1904 1860/2188/1883 f 1860/2188/1883 1881/2205/1904 1882/2207/1905 f 1882/2207/1905 1881/2205/1904 1883/2208/1906 f 1881/2205/1904 1880/2206/1903 1883/2208/1906 f 1883/2209/1906 1880/2204/1903 1879/2202/1902 f 1883/2209/1906 1879/2202/1902 1884/2210/1907 f 1884/2210/1907 1879/2202/1902 1878/2203/1901 f 1884/2210/1907 1878/2203/1901 1885/2211/1908 f 1885/2212/1908 1878/2201/1901 1877/2200/1900 f 1885/2212/1908 1877/2200/1900 1886/2213/1909 f 1887/2214/1910 1885/2212/1908 1886/2213/1909 f 1884/2210/1907 1885/2211/1908 1888/2215/1911 f 1889/2216/1912 1884/2210/1907 1888/2215/1911 f 1890/2217/1913 1884/2210/1907 1889/2216/1912 f 1890/2217/1913 1883/2209/1906 1884/2210/1907 f 1891/2218/1914 1890/2217/1913 1889/2216/1912 f 1891/2218/1914 1889/2216/1912 1888/2215/1911 f 1882/2207/1905 1883/2208/1906 1892/2219/1915 f 1893/2220/1916 1882/2207/1905 1892/2219/1915 f 1894/2221/1917 1882/2207/1905 1893/2220/1916 f 1882/2207/1905 1894/2221/1917 1895/2222/1918 f 1860/2188/1883 1882/2207/1905 1895/2222/1918 f 1860/2187/1883 1895/2223/1918 1896/2224/1919 f 1896/2224/1919 1895/2223/1918 1897/2225/1920 f 1895/2223/1918 1898/2226/1921 1897/2225/1920 f 1898/2226/1921 1899/2227/1922 1897/2225/1920 f 1898/2226/1921 1900/2228/1923 1899/2227/1922 f 1896/2188/1919 1897/2222/1920 1901/2207/1924 f 1902/2221/1925 1901/2207/1924 1897/2222/1920 f 1901/2207/1924 1902/2221/1925 1903/2220/1926 f 1902/2221/1925 1904/2229/1927 1903/2220/1926 f 1901/2207/1924 1903/2220/1926 1905/2219/1928 f 1903/2220/1926 1906/2230/1929 1905/2219/1928 f 1901/2207/1924 1905/2219/1928 1907/2208/1930 f 1908/2205/1931 1901/2207/1924 1907/2208/1930 f 1896/2188/1919 1901/2207/1924 1908/2205/1931 f 1855/2182/1878 1896/2188/1919 1908/2205/1931 f 1857/2181/1880 1896/2188/1919 1855/2182/1878 f 1857/2186/1880 1860/2187/1883 1896/2224/1919 f 1855/2182/1878 1908/2205/1931 1909/2206/1932 f 1908/2205/1931 1907/2208/1930 1909/2206/1932 f 1909/2204/1932 1907/2209/1930 1910/2202/1933 f 1910/2202/1933 1907/2209/1930 1911/2210/1934 f 1907/2209/1930 1912/2217/1935 1911/2210/1934 f 1911/2210/1934 1912/2217/1935 1913/2216/1936 f 1912/2217/1935 1914/2218/1937 1913/2216/1936 f 1913/2216/1936 1914/2218/1937 1915/2231/1938 f 1911/2210/1934 1913/2216/1936 1915/2231/1938 f 1915/2231/1938 1916/2211/1939 1911/2210/1934 f 1911/2210/1934 1917/2203/1940 1916/2211/1939 f 1911/2210/1934 1910/2202/1933 1917/2203/1940 f 1853/2178/1876 1910/2202/1933 1917/2203/1940 f 1853/2178/1876 1909/2204/1932 1910/2202/1933 f 1855/2177/1878 1909/2204/1932 1853/2178/1876 f 1853/2174/1876 1917/2201/1940 1918/2200/1941 f 1917/2201/1940 1916/2212/1939 1918/2200/1941 f 1918/2200/1941 1916/2212/1939 1919/2213/1942 f 1916/2212/1939 1920/2214/1943 1919/2213/1942 f 1853/2174/1876 1918/2200/1941 1854/2175/1877 f 1854/2175/1877 1918/2200/1941 1921/2195/1944 f 1918/2200/1941 1922/2196/1945 1921/2195/1944 f 1923/2199/1946 1922/2196/1945 1918/2200/1941 f 1924/2198/1947 1922/2196/1945 1923/2199/1946 f 1924/2198/1947 1925/2197/1948 1922/2196/1945 f 1922/2196/1945 1925/2197/1948 1926/2194/1949 f 1922/2196/1945 1926/2194/1949 1921/2195/1944 f 1927/2191/1950 1921/2195/1944 1926/2194/1949 f 1854/2175/1877 1921/2195/1944 1927/2191/1950 f 1928/2190/1951 1854/2175/1877 1927/2191/1950 f 1929/2189/1952 1854/2175/1877 1928/2190/1951 f 1852/2173/1875 1854/2175/1877 1929/2189/1952 f 1927/2191/1950 1928/2192/1951 1930/2193/1953 f 1927/2191/1950 1926/2194/1949 1930/2193/1953 f 1931/2229/1954 1894/2221/1917 1893/2220/1916 f 1932/2230/1955 1893/2220/1916 1892/2219/1915 f 1872/2195/1895 1866/2175/1889 1869/2191/1892 o mesh7.002_mesh7-geometry v 8.516812 179.213318 -2.049338 v 7.614021 179.071335 -3.280771 v 6.141802 181.563492 -0.821662 v 9.452683 176.801208 -3.022944 v 9.973782 176.782166 -2.428882 v 10.565123 176.257645 0.040458 v 9.473500 179.022522 0.538084 v 6.707494 181.523071 1.176218 v 3.947714 182.420044 1.839826 v 3.547768 182.553284 0.755714 v 5.742507 181.559952 -1.448285 v 5.850313 178.972046 -4.756730 v 6.767653 176.809677 -5.999644 v 8.534463 177.033752 -4.422623 v 9.703923 173.684967 -4.163786 v 11.069258 173.960831 -3.079342 v 10.600483 173.373505 -0.687817 v 10.596956 176.066391 1.748332 v 9.195215 178.761490 2.070107 v 6.786744 181.373138 2.399554 v 3.583206 182.263977 3.072141 v 2.444417 181.939850 2.474065 v 2.797291 181.972153 1.384911 v 2.844765 182.456863 0.210405 v 4.344836 181.611908 -2.443566 v 5.362096 179.056396 -5.008393 v 5.615037 176.883255 -6.594032 v 7.263352 173.209167 -6.610976 v 8.942813 173.591858 -5.591980 v 9.501699 170.877548 -5.864146 v 9.341678 171.207779 -6.668988 v 8.265245 170.923401 -7.056123 v 10.503204 168.977081 -8.030001 v 5.851542 173.340927 -7.499870 v 7.104819 171.256714 -7.053508 v 6.266498 171.222153 -7.995930 v 7.499195 169.018387 -9.134934 v 3.819540 173.964157 -8.669659 v 5.344097 171.205475 -8.977736 v 4.368594 171.342743 -9.477033 v 4.754057 169.454468 -10.512764 v 3.358434 171.369095 -9.023886 v 2.377729 173.695084 -8.219124 v 3.444935 177.121964 -7.795917 v 3.284467 179.294846 -6.035090 v 3.113142 181.761520 -2.756674 v 2.708170 179.165131 -5.884731 v 2.446167 176.935928 -7.328882 v -0.280876 176.821121 -7.488700 v 0.281869 173.857025 -8.555741 v 2.254921 171.548538 -8.813036 v 0.786232 171.678345 -9.139033 v 1.781852 169.450867 -10.960031 v 0.124914 171.334595 -8.566776 v -1.037863 173.722458 -7.583132 v -0.982560 176.558411 -7.008246 v 0.143873 179.527145 -5.743537 v 1.046741 181.701309 -2.784233 v -0.293412 179.396179 -5.436271 v -2.751432 176.679443 -6.247355 v -2.521316 173.764633 -7.063844 v -1.989829 170.635681 -7.505325 v -1.142620 170.757523 -7.953349 v -1.324677 168.646912 -9.016819 v -3.996229 173.827499 -6.500041 v -3.465490 172.345139 -7.308052 v -2.626914 172.478943 -7.595311 v -2.966504 171.066925 -8.630920 v -3.658828 171.936142 -7.046606 v -4.183976 173.620789 -6.102923 v -4.225375 176.616455 -5.380733 v -4.258365 176.187012 -4.685509 v -3.513392 179.718811 -3.388178 v -3.935044 179.515335 -2.845530 v -4.899068 176.262329 -4.240829 v -5.454847 173.807678 -4.995084 v -5.674469 173.704407 -4.417326 v -7.302790 171.343750 -5.025360 v -4.879489 175.977554 -3.412332 v -6.047281 173.463425 -3.700484 v -5.948580 173.727631 -4.356814 v -7.192784 171.327972 -3.705098 v -4.361206 179.575958 -2.190157 v -5.746024 176.021744 -3.004792 v -6.799747 172.021362 -2.734898 v -7.120978 172.241302 -1.794855 v -7.384484 169.415070 -1.339519 v -7.606100 169.764465 -0.678368 v -7.997060 167.474274 0.637105 v -8.266316 167.814941 1.185468 v -8.879881 165.718201 3.347964 v -8.131458 168.065170 1.700267 v -7.658235 170.128143 0.307554 v -7.432484 172.314896 -0.796247 v -6.616254 175.424591 -1.419389 v -7.407074 175.287842 -0.219392 v -7.888806 172.185486 0.338133 v -8.015405 170.453049 1.070738 v -7.991167 170.211395 0.390055 v -8.466050 168.236694 1.982360 v -6.012369 179.227661 -0.001568 v -7.860868 175.640961 1.971948 v -8.262136 172.671829 2.649217 v -7.970124 172.371475 0.390095 v -8.855232 170.050827 2.972684 v -8.629545 169.686920 1.648750 v -9.255339 167.706589 3.511180 v -8.297399 175.883423 2.475741 v -8.873331 172.739883 2.759324 v -8.697191 170.338837 3.303780 v -8.650322 172.672256 3.573869 v -8.124218 175.763718 3.162527 v -8.540962 176.232437 4.340662 v -9.099364 172.956665 4.515010 v -9.032777 169.274597 5.609592 v -8.834107 172.697815 5.662657 v -8.301044 175.652740 5.833913 v -7.198427 177.820953 6.230858 v -7.429335 179.002457 4.658905 v -5.381828 179.927200 6.577448 v -5.569195 180.021454 8.048686 v -7.140346 177.882950 7.979737 v -8.330891 175.428925 6.141499 v -8.440488 175.039352 7.196908 v -8.797618 172.612045 6.284318 v -5.259625 178.840408 9.262204 v -6.815423 176.738327 9.257519 v -8.368861 175.336349 7.663415 v -7.950434 174.619263 8.716148 v -8.757265 173.349182 7.176359 v -8.298317 173.099930 7.750376 v -8.773274 170.699203 6.789248 v -5.130870 178.837234 9.950705 v -6.527408 176.382019 10.192033 v -7.566748 174.313110 8.975780 v -7.549910 173.981781 9.709790 v -8.394423 171.437775 8.075489 v -5.032514 178.834152 10.795145 v -6.549596 176.234604 11.075280 v -7.437412 173.931686 9.803565 v -7.273568 173.836716 10.622828 v -8.357972 170.818817 8.833326 v -6.394793 173.695770 10.865056 v -4.815533 176.022293 11.095480 v -3.923943 177.934555 10.825703 v -3.096463 180.559784 9.134977 v -3.403150 180.481308 8.413737 v -1.093921 181.180664 6.963611 v -1.426776 181.495972 6.607491 v -0.807817 181.188629 6.358299 v -1.415505 181.444016 6.070183 v -0.917494 182.069290 5.351390 v -0.187098 181.409821 5.710878 v 0.434604 181.419662 5.034532 v -0.376703 182.404633 4.620813 v 0.270067 182.691742 3.726228 v 1.196476 182.019180 4.227810 v 1.151612 182.672180 2.588970 v 2.035876 181.928116 3.139685 v 1.752552 182.593674 1.864903 v 2.366642 182.517578 0.999187 v 1.920748 182.720612 -0.070301 v 0.727217 182.911041 0.472368 v -0.702388 181.904556 -1.909857 v -1.947557 179.835907 -4.658123 v -2.243977 181.782349 -0.879808 v -2.360624 181.919907 -0.376065 v -3.302325 181.453369 0.776723 v -5.343869 179.131134 -1.059212 v -3.925100 180.978592 1.796422 v -6.962436 179.118881 2.027076 v -7.233053 179.076172 2.578478 v -7.057696 178.677444 3.226721 v -5.594052 180.932114 5.046420 v -4.890356 181.145981 3.468508 v -2.881905 181.903961 4.376432 v -1.990306 182.257614 3.317702 v -1.362376 182.619614 2.442854 v -0.323327 182.887665 1.255786 v -3.394577 181.846481 5.573609 v -3.689114 181.108978 6.244208 v -3.767493 181.324829 7.566070 v 3.139014 182.121475 3.944028 v 5.377476 181.332336 5.074918 v 6.320092 181.267410 3.691865 v 8.440474 178.500854 3.866986 v 7.948385 178.295792 5.498707 v 7.487756 178.329834 5.719580 v 6.155817 178.291580 6.946959 v 4.549810 181.160431 6.033801 v 2.334073 182.065018 4.924311 v 1.453303 181.735580 5.751376 v 0.834937 181.769760 6.517385 v 0.076401 181.318512 6.922841 v -0.655978 181.068756 7.082665 v -0.813910 181.153107 7.383029 v -0.527889 181.375229 6.953347 v -0.964940 181.006241 9.543161 v -0.155480 181.337952 9.237908 v -0.367611 180.255310 11.105441 v 0.193089 180.526627 10.920803 v 0.427857 179.174820 12.292580 v -0.286102 181.441452 6.857575 v 0.413875 180.946579 9.245246 v 1.288801 181.163635 8.861809 v 1.510381 179.324860 10.880245 v 2.067076 179.587021 10.573010 v 1.972585 177.550034 12.017916 v -0.881821 180.013702 9.505754 v -1.859444 180.238663 9.801348 v -2.392971 179.945740 9.219793 v -3.618806 178.009003 11.242619 v -4.552562 176.021271 11.735526 v -5.340848 174.145599 11.041581 v -5.401017 174.070435 11.631402 v -5.991083 171.965530 10.691309 v -4.183076 176.288361 12.429445 v -4.951551 173.931854 12.436950 v -5.822685 171.351532 11.322635 v -3.417236 173.682205 12.171033 v -2.644819 175.858368 11.933985 v -1.975404 177.593658 11.265246 v -3.127722 178.128265 11.912287 v -1.009350 177.700928 11.161062 v -1.365578 175.576874 12.005592 v -2.114523 173.458267 12.387155 v -3.641938 171.940414 12.102407 v 0.695167 178.367508 11.269442 v 0.296813 180.768799 9.302468 v 1.185525 180.134262 8.969335 v 1.779628 180.472549 8.320696 v 2.539218 180.921082 8.029945 v 3.173279 180.596222 6.992294 v 4.900164 178.366928 8.275186 v 4.103662 178.987976 9.335391 v 3.231852 178.463257 9.883278 v 1.964072 178.121277 10.493256 v 0.593780 175.964172 12.193280 v -0.733034 173.415100 12.316161 v 0.453792 173.345154 12.625346 v 0.000904 171.416336 12.109293 v 0.957123 173.244675 11.945206 v 1.596893 175.446716 11.358034 v 3.486648 175.430664 10.603986 v 3.280457 172.305634 11.223832 v 1.815994 173.007919 11.572869 v 1.723062 169.928009 12.137476 v 4.780055 175.492050 10.130818 v 5.162759 175.063156 9.088696 v 4.159685 171.689087 11.027234 v 2.961352 170.010345 11.505468 v 4.303921 171.236160 9.905435 v 7.111721 175.251373 7.855134 v 8.245305 174.991928 6.908223 v 7.980112 172.649979 7.841328 v 6.478055 172.907410 8.201979 v 6.620066 169.888229 9.023378 v 5.705120 170.085739 9.229033 v 4.878360 167.406174 10.455186 v 8.641180 174.934021 6.147870 v 8.638316 172.691620 7.317061 v 8.095916 172.854065 7.618126 v 8.556336 170.714584 9.377292 v 9.158899 174.967819 5.726284 v 9.378760 173.111267 6.776695 v 8.898371 173.021317 7.041698 v 9.679564 171.147385 8.653232 v 9.982117 175.503937 3.539283 v 10.617971 173.174957 3.164146 v 11.218256 173.505142 1.232379 v 11.135729 171.517380 -0.616798 v 11.603329 171.921463 0.568514 v 11.137632 171.269653 1.673286 v 12.546949 169.550995 -0.616408 v 9.753348 173.418869 5.343938 v 10.340876 173.498184 3.392196 v 10.406744 172.145126 4.405775 v 10.337196 172.591827 3.241967 v 11.353980 170.737350 2.781551 v 5.865089 170.979904 9.550778 v 4.216149 168.106812 10.977663 v 11.463002 171.497223 -2.414451 v 11.388038 171.687668 -3.681973 v 10.771915 171.436447 -4.600043 v 12.361035 169.138138 -5.592087 vt -1.718743 -3.415484 vt -1.658420 -3.415500 vt -1.718994 -3.337938 vt -1.718584 -3.481048 vt -1.774766 -3.487770 vt -1.793633 -3.422209 vt -1.821932 -3.487755 vt -1.821846 -3.422209 vt -1.879531 -3.487751 vt -1.880042 -3.422184 vt -1.821776 -3.344283 vt -1.881502 -3.344374 vt -1.880752 -3.253557 vt -1.821345 -3.253551 vt -1.657819 -3.337867 vt -1.659606 -3.253051 vt -1.594862 -3.415509 vt -1.594892 -3.481076 vt -1.657753 -3.481060 vt -1.718829 -3.565981 vt -1.774592 -3.572837 vt -1.824446 -3.572811 vt -1.878391 -3.572715 vt -2.498179 -3.572561 vt -2.497071 -3.487682 vt -2.614932 -3.487653 vt -2.614397 -3.422114 vt -2.496403 -3.422135 vt -2.497818 -3.344786 vt -2.614117 -3.344880 vt -2.612236 -3.253583 vt -2.696038 -3.253582 vt -2.695379 -3.111292 vt -2.615356 -3.111293 vt -1.852480 -3.111291 vt -1.595081 -3.253042 vt -1.617530 -3.111459 vt -1.594995 -3.337499 vt -3.634805 -2.391564 vt -3.574778 -2.391454 vt -3.601849 -2.302783 vt -3.634100 -2.467679 vt -3.575914 -2.467711 vt -3.633313 -2.573535 vt -1.656330 -3.566019 vt -1.594962 -3.566057 vt -1.718734 -3.639205 vt -1.657764 -3.639390 vt -1.616046 -3.639366 vt -1.656322 -3.717375 vt -3.575162 -2.573713 vt -3.633076 -2.656176 vt -3.576793 -2.656195 vt -3.606016 -2.720372 vt -4.093904 -2.467534 vt -4.095174 -2.573762 vt -4.044356 -2.573636 vt -4.072944 -2.656389 vt -4.045514 -2.656424 vt -4.049280 -2.720335 vt -3.996655 -2.656479 vt -3.983895 -2.574909 vt -4.036150 -2.467673 vt -4.035498 -2.392263 vt -4.096114 -2.391597 vt -4.039773 -2.313044 vt -4.011649 -2.391737 vt -3.989488 -2.467799 vt -3.541158 -2.467949 vt -3.540660 -2.577203 vt -3.463277 -2.467942 vt -3.462697 -2.577333 vt -3.529850 -2.656678 vt -3.462023 -2.656801 vt -3.463473 -2.720465 vt -3.390546 -2.656875 vt -3.388139 -2.578081 vt -3.390060 -2.468168 vt -3.463330 -2.390635 vt -3.539072 -2.391085 vt -3.463520 -2.312979 vt -3.390580 -2.390787 vt -2.918242 -2.471036 vt -2.918241 -2.554159 vt -2.823488 -2.554287 vt -2.918239 -2.635388 vt -2.837804 -2.635508 vt -2.855562 -2.714753 vt -2.909631 -2.714726 vt -2.878680 -2.778474 vt -2.808156 -2.635603 vt -2.761607 -2.635198 vt -2.762069 -2.714443 vt -2.794018 -2.714495 vt -2.762764 -2.778497 vt -2.735533 -2.714687 vt -2.735462 -2.636307 vt -2.761215 -2.554289 vt -2.735746 -2.554682 vt -2.764596 -2.471112 vt -2.735431 -2.471192 vt -2.594712 -2.471365 vt -2.608504 -2.555504 vt -2.574317 -2.555402 vt -2.604759 -2.636099 vt -2.576900 -2.636726 vt -2.591082 -2.714982 vt -2.533985 -2.554729 vt -2.503424 -2.555106 vt -2.516402 -2.471321 vt -2.499522 -2.636940 vt -2.530165 -2.636521 vt -2.519431 -2.714892 vt -1.938599 -2.548173 vt -1.877068 -2.478823 vt -1.938841 -2.478822 vt -1.876925 -2.548240 vt -1.938809 -2.615874 vt -1.876838 -2.615718 vt -1.938442 -2.656266 vt -1.876737 -2.656164 vt -1.938218 -2.681015 vt -1.876675 -2.680993 vt -1.876256 -2.733627 vt -1.828956 -2.680945 vt -1.825324 -2.655370 vt -1.819740 -2.616053 vt -1.807715 -2.548395 vt -1.786750 -2.680511 vt -1.716725 -2.548780 vt -1.717170 -2.680441 vt -1.735164 -2.700389 vt -1.776886 -2.704670 vt -1.765089 -2.733564 vt -1.715767 -2.478890 vt -0.985835 0.400607 vt -0.894473 0.400534 vt -0.985869 0.485490 vt -0.895035 0.309644 vt -0.985798 0.309745 vt -0.894804 0.215069 vt -0.985406 0.216994 vt -0.943378 0.142607 vt -0.838494 0.400594 vt -0.836651 0.309733 vt -0.798587 0.400603 vt -0.798487 0.309775 vt -0.798639 0.218007 vt -0.758454 0.309729 vt -0.757742 0.400530 vt -0.662570 0.400451 vt -0.662600 0.309610 vt -0.599919 0.400448 vt -0.600133 0.309632 vt -0.600396 0.214545 vt -0.521169 0.309562 vt -0.520213 0.400431 vt -0.520477 0.485619 vt -0.599657 0.485551 vt -0.520697 0.584172 vt 0.031395 0.365189 vt 0.072822 0.488983 vt 0.031355 0.489033 vt 0.072825 0.365360 vt 0.031573 0.251683 vt 0.056998 0.253284 vt 0.054325 0.202767 vt 0.125837 0.488980 vt 0.124825 0.365095 vt 0.072739 0.254276 vt 0.126143 0.253156 vt 0.072739 0.214535 vt 0.102844 0.213901 vt 0.072739 0.163179 vt 0.168220 0.364641 vt 0.187481 0.488928 vt 0.167944 0.488994 vt 0.187312 0.364388 vt 0.168178 0.255069 vt 0.190181 0.255163 vt 0.188784 0.212791 vt 0.212987 0.488841 vt 0.212594 0.364055 vt 0.212184 0.255257 vt 0.213055 0.162992 vt 0.264492 0.254985 vt 0.264528 0.364249 vt 0.264548 0.488904 vt 0.213377 0.656816 vt 0.167697 0.656844 vt 0.214060 0.875810 vt 0.126486 0.874375 vt 0.075171 0.874016 vt 0.126017 0.656857 vt 0.072739 1.039977 vt 0.032381 0.873469 vt -0.597826 0.917318 vt -0.662468 0.845911 vt -0.598401 0.845154 vt -0.662541 0.917579 vt -0.985722 0.918945 vt -0.893714 0.845090 vt -0.894284 0.918266 vt -0.985788 0.844357 vt -1.716029 -2.102358 vt -1.806582 -2.182442 vt -1.714845 -2.183447 vt -1.806765 -2.103459 vt -1.880520 -2.181962 vt -1.880602 -2.103744 vt -2.765764 -2.110532 vt -2.822605 -2.189329 vt -2.765130 -2.190436 vt -2.823271 -2.110502 vt -2.918243 -2.190993 vt -2.918240 -2.111865 vt -3.536874 -2.190869 vt -3.465752 -2.120602 vt -3.495525 -2.058426 vt -3.463906 -2.196173 vt -3.538520 -2.313006 vt -2.918243 -2.323226 vt -2.918417 -2.370921 vt -2.822145 -2.322577 vt -2.822192 -2.370628 vt -2.822959 -2.471103 vt -2.764565 -2.370318 vt -2.750458 -2.370318 vt -1.939309 -2.395608 vt -1.877046 -2.395688 vt -1.807485 -2.395655 vt -1.807901 -2.478847 vt -1.716787 -2.395336 vt -0.985987 0.584529 vt -0.894451 0.485538 vt -0.798624 0.485591 vt -0.838584 0.485635 vt -0.758471 0.485690 vt -0.662559 0.485593 vt -0.599277 0.584372 vt -0.662457 0.584493 vt -0.662487 0.670205 vt -0.985998 0.669865 vt -0.894633 0.584521 vt -0.893977 0.670285 vt -1.716025 -2.318019 vt -1.807394 -2.316793 vt -1.880493 -2.316884 vt -1.906354 -2.316884 vt -2.764757 -2.323550 vt -0.599140 0.670316 vt -0.521182 0.670859 vt 0.032427 0.656844 vt 0.075171 0.656840 vt -0.798756 0.584446 vt -4.093900 -2.313006 vt -4.055399 -2.102313 vt -2.926784 -3.253634 vt -2.841585 -3.111105 vt -2.926708 -3.111092 vt -2.840952 -3.253630 vt -2.926258 -3.345643 vt -2.839895 -3.345575 vt -2.697269 -3.344884 vt -2.698181 -3.422131 vt -2.926218 -3.422106 vt -2.839376 -3.422110 vt -3.463975 -3.311602 vt -3.492539 -3.388641 vt -3.418042 -3.388635 vt -3.624413 -3.311410 vt -3.671927 -3.388674 vt -3.624039 -3.388667 vt -3.672107 -3.311403 vt -3.624759 -3.250973 vt -3.671281 -3.250973 vt -3.624709 -3.112139 vt -3.671158 -3.112139 vt -3.838899 -3.246660 vt -3.839382 -3.113582 vt -3.907263 -3.246702 vt -3.907331 -3.113591 vt -0.565051 -0.175445 vt -0.565168 -0.033588 vt -0.613492 -0.175570 vt -0.613527 -0.031376 vt -0.672709 -0.175117 vt -0.672698 -0.036608 vt 0.727591 0.875655 vt 0.661723 0.998578 vt 0.662061 0.874251 vt 0.613155 0.873857 vt 0.927468 0.976621 vt 0.862235 0.975182 vt 0.863362 0.829828 vt 0.861898 0.829376 vt 0.861918 0.977887 vt 0.813027 0.905266 vt 0.813233 0.656782 vt 0.861798 0.656816 vt 0.813562 0.514422 vt 0.862091 0.514374 vt 0.837776 0.370860 vt 0.927521 0.829766 vt 0.868961 0.656814 vt 0.927776 0.656804 vt 0.927821 0.514458 vt 0.895345 0.371297 vt 0.613370 0.656782 vt 0.403343 0.656890 vt 0.358033 0.875580 vt 0.358048 0.656893 vt 0.309579 0.656861 vt 0.264533 0.656761 vt 0.309502 0.488501 vt 0.328185 0.488493 vt 0.309481 0.363717 vt 0.333735 0.363799 vt 0.309548 0.252957 vt 0.338047 0.253049 vt 0.329826 0.215257 vt 0.357988 0.363881 vt 0.357965 0.253114 vt 0.357890 0.163079 vt 0.403385 0.253506 vt 0.403332 0.364132 vt 0.403296 0.488656 vt 0.358116 0.488479 vt 0.468596 0.656623 vt 0.457636 0.488298 vt 0.487178 0.488494 vt 0.462959 0.363336 vt 0.497961 0.363699 vt 0.472092 0.255098 vt 0.496695 0.254436 vt 0.493034 0.163585 vt 0.662228 0.514374 vt 0.613698 0.514422 vt 0.612965 0.370366 vt 0.661934 0.656816 vt 0.727912 0.656804 vt -0.741699 -0.296138 vt -0.785542 -0.174766 vt -0.816000 -0.294754 vt -0.613743 -0.298103 vt -0.672714 -0.296138 vt -0.564477 -0.298785 vt -3.907363 -3.325044 vt -3.835677 -3.325044 vt -3.907895 -3.390561 vt -0.564243 -0.416260 vt -0.614130 -0.416281 vt -0.672742 -0.416259 vt -0.741483 -0.416259 vt -0.815910 -0.416253 vt 0.727957 0.514458 vt 0.662859 0.371354 vt 0.612370 0.247015 vt 0.662454 0.244769 vt 0.662578 0.138516 vt 0.703243 0.244971 vt 0.728104 0.371239 vt -0.815828 -0.578365 vt -0.741408 -0.577067 vt -0.742200 -0.707268 vt -0.815797 -0.707101 vt -0.781450 -0.789689 vt -0.614066 -0.576176 vt -0.672751 -0.577067 vt -0.672735 -0.707553 vt -0.564518 -0.576307 vt -0.613604 -0.707762 vt -0.613559 -0.791839 vt -0.565747 -0.707655 vt -3.832266 -3.475622 vt -3.907224 -3.475635 vt -3.907204 -3.548275 vt -3.832543 -3.390537 vt -3.672326 -3.454194 vt -3.624432 -3.454203 vt -3.630742 -3.539108 vt -3.672330 -3.539127 vt -3.633579 -3.611844 vt -3.672732 -3.612065 vt -3.638585 -3.657456 vt -3.561716 -3.454206 vt -3.563216 -3.539107 vt -3.624531 -3.539105 vt -3.594719 -3.611826 vt -3.490777 -3.454181 vt -3.417544 -3.454184 vt -3.417256 -3.612376 vt -3.489571 -3.612315 vt -3.436989 -3.689782 vt -2.926041 -3.487667 vt -2.838801 -3.487672 vt -2.697935 -3.487677 vt -2.697794 -3.572492 vt -2.617314 -3.572476 vt -2.500346 -3.645377 vt -2.617286 -3.645111 vt -2.683146 -3.645270 vt -2.616838 -3.725870 vt -2.925820 -3.572566 vt -2.838969 -3.572620 vt -2.925758 -3.645709 vt -2.839508 -3.645886 vt -2.893258 -3.724310 vt -3.834711 -3.548249 vt -3.877101 -3.626742 vt -1.864221 -3.646149 vt -1.825755 -3.646324 vt -1.774616 -3.646322 vt -1.825697 -3.724392 vn 0.724570 0.582202 -0.368755 vn 0.568316 0.635517 -0.522568 vn 0.480544 0.851558 -0.209449 vn 0.734977 0.417554 -0.534227 vn 0.851619 0.373516 -0.367718 vn 0.949339 0.307871 -0.062716 vn 0.790155 0.611713 -0.037355 vn 0.555406 0.831050 0.029054 vn 0.032105 0.997131 0.068239 vn -0.021851 0.999451 0.024232 vn 0.340312 0.863308 -0.372631 vn 0.442640 0.668325 -0.597797 vn 0.494736 0.445143 -0.746361 vn 0.722739 0.403851 -0.560778 vn 0.731681 0.305307 -0.609424 vn 0.891964 0.324656 -0.314585 vn 0.978576 0.195776 -0.063326 vn 0.942717 0.280526 0.180425 vn 0.803339 0.545457 0.238899 vn 0.494736 0.851741 0.172430 vn 0.093387 0.984283 0.149785 vn 0.102329 0.987426 0.120334 vn 0.032716 0.965697 0.257515 vn 0.197424 0.979919 -0.027314 vn 0.295236 0.845943 -0.444014 vn 0.384838 0.659780 -0.645375 vn 0.476821 0.392529 -0.786462 vn 0.486953 0.232185 -0.841975 vn 0.675558 0.308878 -0.669454 vn 0.932096 0.305673 -0.194250 vn 0.670003 0.506455 -0.542711 vn 0.259896 0.455061 -0.851650 vn 0.621265 0.617664 -0.482131 vn 0.577441 0.262886 -0.772912 vn 0.628101 0.356975 -0.691366 vn 0.657033 0.454848 -0.601123 vn 0.583239 0.605853 -0.541032 vn 0.157140 0.294565 -0.942595 vn 0.488815 0.411908 -0.768975 vn 0.041383 0.397015 -0.916868 vn 0.044404 0.487381 -0.872036 vn -0.365490 0.256508 -0.894742 vn -0.122135 0.263558 -0.956847 vn -0.063662 0.424268 -0.903287 vn 0.024689 0.681967 -0.730949 vn 0.111454 0.874966 -0.471114 vn -0.113010 0.697684 -0.707389 vn -0.191473 0.463515 -0.865139 vn -0.208441 0.396466 -0.894040 vn -0.296121 0.211585 -0.931394 vn 0.212043 0.419843 -0.882443 vn -0.269356 0.366771 -0.890439 vn -0.282785 0.528123 -0.800653 vn -0.659413 0.107364 -0.744041 vn -0.452986 0.141148 -0.880245 vn -0.527635 0.348704 -0.774590 vn -0.282723 0.648793 -0.706473 vn -0.103854 0.862606 -0.495071 vn -0.366558 0.629994 -0.684622 vn -0.369945 0.352733 -0.859462 vn -0.333110 0.258461 -0.906735 vn -0.432356 0.214301 -0.875851 vn -0.479904 0.280923 -0.831111 vn -0.469680 0.429212 -0.771447 vn -0.676077 0.169530 -0.717032 vn -0.582995 0.321818 -0.745994 vn -0.350993 0.499283 -0.792138 vn -0.663015 0.397565 -0.634266 vn -0.869655 0.038026 -0.492141 vn -0.954192 0.015900 -0.298746 vn -0.825037 0.295328 -0.481704 vn -0.840144 0.301614 -0.450697 vn -0.739464 0.556413 -0.378887 vn -0.733573 0.542894 -0.408765 vn -0.870510 0.398083 -0.289346 vn -0.777398 0.439406 -0.450026 vn -0.858730 0.449416 -0.246101 vn -0.783898 0.590289 -0.192450 vn -0.818079 0.315317 -0.480911 vn -0.904508 0.419324 0.077364 vn -0.903256 0.427503 0.036256 vn -0.879788 0.471816 0.057619 vn -0.692587 0.542863 -0.474929 vn -0.783898 0.250710 -0.567949 vn -0.813837 0.107303 -0.571062 vn -0.937773 0.114963 -0.327616 vn -0.945555 0.017609 -0.324900 vn -0.964232 0.044649 -0.261208 vn -0.928922 -0.070284 -0.363475 vn -0.979034 0.136387 -0.151189 vn -0.979583 0.121799 -0.159795 vn -0.942808 0.320597 0.091128 vn -0.981414 0.189032 -0.032319 vn -0.942595 0.101047 -0.318186 vn -0.833216 0.272378 -0.481124 vn -0.922269 0.183325 -0.340251 vn -0.927396 -0.007599 -0.373913 vn -0.976318 0.090701 -0.196356 vn -0.978545 0.180548 -0.098941 vn -0.982482 0.161748 -0.092410 vn -0.766137 0.541276 -0.346385 vn -0.873531 0.187262 -0.449263 vn -0.795709 0.021912 -0.605243 vn -0.971587 0.166845 -0.167791 vn -0.970489 0.154393 -0.185064 vn -0.970641 0.131230 -0.201514 vn -0.972594 0.120304 -0.198859 vn -0.933958 0.203925 -0.293405 vn -0.943876 0.028382 -0.328990 vn -0.846492 -0.176000 -0.502396 vn -0.987365 0.061068 -0.146153 vn -0.960784 0.272561 -0.050569 vn -0.960784 0.268258 -0.070162 vn -0.996307 0.080447 -0.029267 vn -0.995575 -0.042787 -0.083407 vn -0.963439 0.105075 0.246376 vn -0.935026 0.242683 0.258400 vn -0.846583 0.501389 0.178411 vn -0.855403 0.515885 0.046022 vn -0.632649 0.730369 0.257424 vn -0.620624 0.708426 0.336009 vn -0.826563 0.469497 0.310404 vn -0.942717 0.333384 0.008667 vn -0.958586 0.284646 0.005524 vn -0.985961 0.161168 -0.042879 vn -0.629749 0.624653 0.461684 vn -0.802820 0.409070 0.433699 vn -0.844844 0.234901 0.480636 vn -0.856807 0.066897 0.511246 vn -0.844508 -0.061525 0.531938 vn -0.801141 -0.129643 0.584246 vn -0.795587 -0.082858 0.600116 vn -0.755028 0.631031 0.178014 vn -0.889950 0.410718 0.198065 vn -0.933348 0.277749 0.227363 vn -0.942351 0.296304 0.155370 vn -0.962951 0.236793 0.128971 vn -0.560259 0.670583 0.486190 vn -0.617542 0.258095 0.742973 vn -0.950407 0.268777 0.156285 vn -0.608295 -0.010620 0.793603 vn -0.753502 -0.113254 0.647603 vn -0.286935 -0.168523 0.942991 vn -0.541093 0.229499 0.809015 vn -0.140416 0.445784 0.884030 vn 0.057772 0.796869 0.601337 vn -0.321024 0.847530 0.422590 vn 0.031037 0.968596 0.246620 vn 0.178899 0.961272 0.209510 vn 0.030824 0.979827 0.197394 vn 0.047975 0.908567 0.414930 vn 0.149480 0.853511 0.499130 vn -0.006928 0.966277 0.257332 vn 0.126865 0.922544 0.364360 vn 0.016968 0.930692 0.365368 vn 0.156438 0.925840 0.344005 vn 0.088687 0.947996 0.305643 vn 0.303720 0.931150 0.201605 vn 0.216620 0.967009 0.133854 vn 0.362041 0.911191 0.196478 vn 0.472182 0.856471 0.208472 vn 0.166875 0.979858 -0.109592 vn 0.027497 0.991943 -0.123600 vn -0.217414 0.899777 -0.378246 vn -0.342753 0.696585 -0.630268 vn -0.422895 0.837153 -0.346873 vn -0.490524 0.831690 -0.260018 vn -0.550401 0.824824 -0.129246 vn -0.700369 0.557421 -0.445784 vn -0.525681 0.832728 -0.173650 vn -0.718772 0.604572 -0.343272 vn -0.867794 0.486618 -0.100497 vn -0.856777 0.511948 0.061586 vn -0.578173 0.813990 0.055696 vn -0.538865 0.836879 -0.095798 vn -0.265114 0.962798 0.051698 vn -0.384228 0.923063 0.016724 vn -0.302927 0.950591 0.067751 vn -0.192480 0.977050 -0.090915 vn -0.235633 0.866787 0.439467 vn -0.292032 0.934080 0.205298 vn -0.323618 0.921201 0.215857 vn 0.013825 0.991913 0.126041 vn 0.443190 0.754112 0.484603 vn 0.597247 0.741508 0.305643 vn 0.813715 0.446944 0.371563 vn 0.658284 0.447005 0.605640 vn 0.592059 0.405866 0.696219 vn 0.623554 0.463576 0.629475 vn 0.344737 0.770135 0.536668 vn 0.033052 0.968139 0.248115 vn -0.045015 0.972808 0.227058 vn -0.022645 0.991882 0.125095 vn -0.118442 0.928678 0.351421 vn -0.140721 0.952910 0.268532 vn -0.225471 0.967711 0.112613 vn -0.335582 0.941984 0.004028 vn -0.289438 0.932585 0.215522 vn -0.267190 0.899503 0.345622 vn -0.180486 0.811548 0.555681 vn -0.184271 0.784112 0.592608 vn -0.105472 0.699210 0.707083 vn -0.283273 0.941954 0.180029 vn -0.094150 0.910276 0.403119 vn -0.001679 0.840632 0.541551 vn 0.103671 0.686850 0.719321 vn 0.101840 0.658040 0.746025 vn 0.179571 0.563585 0.806269 vn 0.018921 0.766320 0.642140 vn -0.000671 0.808802 0.588031 vn -0.339610 0.799341 0.495682 vn -0.722617 0.569689 0.391461 vn -0.861232 0.419843 0.286264 vn -0.943419 0.318827 0.091037 vn -0.921781 0.292245 0.254677 vn -0.953887 0.294107 -0.059816 vn -0.328623 0.297250 0.896451 vn -0.283639 -0.029420 0.958464 vn -0.474563 -0.209021 0.855007 vn -0.011017 -0.011719 0.999847 vn 0.149449 0.168981 0.974212 vn 0.322092 0.334300 0.885678 vn -0.409955 0.628590 0.660878 vn -0.102420 0.480605 0.870907 vn -0.102695 0.263009 0.959288 vn -0.145878 0.100986 0.984100 vn -0.166540 -0.017335 0.985870 vn 0.182989 0.518845 0.835017 vn -0.005982 0.836360 0.548143 vn 0.389172 0.736930 0.552660 vn 0.027375 0.746422 0.664876 vn 0.264901 0.810785 0.521928 vn 0.359874 0.838374 0.409375 vn 0.707907 0.478408 0.519578 vn 0.534135 0.462539 0.707602 vn 0.229072 0.526017 0.819025 vn 0.453536 0.378674 0.806757 vn 0.251595 0.211798 0.944334 vn -0.207343 0.028993 0.977813 vn 0.403211 -0.080142 0.911557 vn 0.281228 -0.309091 0.908475 vn 0.772485 -0.203009 0.601672 vn 0.541307 0.114536 0.832972 vn 0.359386 0.219916 0.906888 vn 0.313120 0.139927 0.939329 vn 0.290994 0.136143 0.946959 vn 0.302042 0.163060 0.939238 vn 0.677175 0.174047 0.714927 vn 0.836604 0.045839 0.545854 vn 0.762810 -0.112644 0.636708 vn 0.632099 -0.241432 0.736290 vn 0.663717 -0.002411 0.747948 vn 0.516434 0.247963 0.819605 vn 0.707907 0.306223 0.636433 vn 0.399884 0.190435 0.896542 vn 0.260567 0.202857 0.943876 vn 0.269265 0.286233 0.919523 vn 0.269967 0.296976 0.915891 vn 0.274117 0.328929 0.903684 vn 0.634388 0.344188 0.692099 vn 0.665731 0.372051 0.646779 vn 0.533128 0.431257 0.727805 vn 0.516800 0.607318 0.603351 vn 0.772149 0.350749 0.529801 vn 0.393017 0.536546 0.746727 vn 0.313211 0.568438 0.760735 vn 0.246895 0.688955 0.681448 vn 0.886227 0.270730 0.375835 vn 0.935209 0.125675 0.331004 vn 0.978057 0.208197 -0.007508 vn 0.823878 0.389080 -0.412030 vn 0.951048 0.308695 -0.014161 vn 0.919034 0.067324 0.388318 vn 0.927824 0.372906 -0.007172 vn 0.920316 0.217750 0.324839 vn 0.974059 0.140690 0.177129 vn 0.961455 0.246956 0.120701 vn 0.970916 0.237068 0.032960 vn 0.882748 0.453841 0.121433 vn 0.257759 0.298715 0.918851 vn 0.258431 0.306619 0.916044 vn 0.967559 0.243294 0.067721 vn 0.872616 0.373791 -0.314310 vn 0.629231 0.435987 -0.643391 vn 0.799280 0.524613 -0.293069 g mesh7.002_mesh7-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 1933/2232/1956 1934/2233/1957 1935/2234/1958 f 1934/2233/1957 1933/2232/1956 1936/2235/1959 f 1936/2236/1959 1933/2237/1956 1937/2238/1960 f 1937/2238/1960 1933/2239/1956 1938/2240/1961 f 1933/2239/1956 1939/2241/1962 1938/2240/1961 f 1939/2241/1962 1933/2239/1956 1935/2242/1958 f 1939/2241/1962 1935/2242/1958 1940/2243/1963 f 1940/2243/1963 1935/2242/1958 1941/2244/1964 f 1935/2242/1958 1942/2245/1965 1941/2244/1964 f 1935/2234/1958 1943/2246/1966 1942/2247/1965 f 1934/2233/1957 1943/2246/1966 1935/2234/1958 f 1934/2233/1957 1944/2248/1967 1943/2246/1966 f 1934/2233/1957 1945/2249/1968 1944/2248/1967 f 1934/2233/1957 1946/2250/1969 1945/2249/1968 f 1946/2250/1969 1934/2233/1957 1936/2235/1959 f 1946/2250/1969 1936/2235/1959 1947/2251/1970 f 1947/2252/1970 1936/2236/1959 1937/2238/1960 f 1937/2238/1960 1948/2253/1971 1947/2252/1970 f 1948/2253/1971 1937/2238/1960 1949/2254/1972 f 1937/2238/1960 1938/2240/1961 1949/2254/1972 f 1949/2255/1972 1938/2256/1961 1950/2257/1973 f 1938/2256/1961 1951/2258/1974 1950/2257/1973 f 1938/2256/1961 1939/2259/1962 1951/2258/1974 f 1939/2259/1962 1940/2260/1963 1951/2258/1974 f 1940/2260/1963 1952/2261/1975 1951/2258/1974 f 1952/2261/1975 1940/2260/1963 1941/2262/1964 f 1952/2261/1975 1941/2262/1964 1953/2263/1976 f 1941/2262/1964 1954/2264/1977 1953/2263/1976 f 1941/2262/1964 1955/2265/1978 1954/2264/1977 f 1941/2244/1964 1942/2245/1965 1955/2266/1978 f 1942/2247/1965 1956/2267/1979 1955/2268/1978 f 1943/2246/1966 1956/2267/1979 1942/2247/1965 f 1943/2246/1966 1957/2269/1980 1956/2267/1979 f 1944/2248/1967 1957/2269/1980 1943/2246/1966 f 1944/2270/1967 1958/2271/1981 1957/2272/1980 f 1958/2271/1981 1944/2270/1967 1945/2273/1968 f 1958/2271/1981 1945/2273/1968 1959/2274/1982 f 1959/2274/1982 1945/2273/1968 1960/2275/1983 f 1945/2249/1968 1961/2276/1984 1960/2277/1983 f 1946/2250/1969 1961/2276/1984 1945/2249/1968 f 1961/2276/1984 1946/2250/1969 1947/2251/1970 f 1962/2278/1985 1961/2276/1984 1947/2251/1970 f 1963/2279/1986 1961/2276/1984 1962/2278/1985 f 1961/2276/1984 1963/2279/1986 1964/2280/1987 f 1963/2279/1986 1965/2281/1988 1964/2280/1987 f 1965/2281/1988 1963/2279/1986 1962/2278/1985 f 1961/2276/1984 1964/2280/1987 1960/2277/1983 f 1959/2274/1982 1960/2275/1983 1966/2282/1989 f 1966/2282/1989 1960/2275/1983 1967/2283/1990 f 1968/2284/1991 1966/2282/1989 1967/2283/1990 f 1969/2285/1992 1968/2284/1991 1967/2283/1990 f 1959/2286/1982 1966/2287/1989 1970/2288/1993 f 1970/2288/1993 1966/2287/1989 1971/2289/1994 f 1970/2288/1993 1971/2289/1994 1972/2290/1995 f 1972/2290/1995 1971/2289/1994 1973/2291/1996 f 1974/2292/1997 1972/2290/1995 1973/2291/1996 f 1970/2288/1993 1972/2290/1995 1974/2292/1997 f 1970/2288/1993 1974/2292/1997 1975/2293/1998 f 1976/2294/1999 1970/2288/1993 1975/2293/1998 f 1976/2294/1999 1959/2286/1982 1970/2288/1993 f 1977/2295/2000 1959/2286/1982 1976/2294/1999 f 1977/2295/2000 1958/2296/1981 1959/2286/1982 f 1958/2296/1981 1977/2295/2000 1978/2297/2001 f 1977/2295/2000 1979/2298/2002 1978/2297/2001 f 1977/2295/2000 1980/2299/2003 1979/2298/2002 f 1977/2295/2000 1976/2294/1999 1980/2299/2003 f 1976/2294/1999 1975/2293/1998 1980/2299/2003 f 1980/2300/2003 1975/2301/1998 1981/2302/2004 f 1981/2302/2004 1975/2301/1998 1982/2303/2005 f 1982/2303/2005 1975/2301/1998 1983/2304/2006 f 1982/2303/2005 1983/2304/2006 1984/2305/2007 f 1984/2305/2007 1983/2304/2006 1985/2306/2008 f 1985/2306/2008 1986/2307/2009 1984/2305/2007 f 1982/2303/2005 1984/2305/2007 1986/2307/2009 f 1982/2303/2005 1986/2307/2009 1987/2308/2010 f 1988/2309/2011 1982/2303/2005 1987/2308/2010 f 1981/2302/2004 1982/2303/2005 1988/2309/2011 f 1989/2310/2012 1981/2302/2004 1988/2309/2011 f 1989/2310/2012 1980/2300/2003 1981/2302/2004 f 1989/2310/2012 1979/2311/2002 1980/2300/2003 f 1979/2311/2002 1989/2310/2012 1990/2312/2013 f 1990/2312/2013 1989/2310/2012 1991/2313/2014 f 1989/2310/2012 1988/2309/2011 1991/2313/2014 f 1991/2314/2014 1988/2315/2011 1992/2316/2015 f 1992/2316/2015 1988/2315/2011 1987/2317/2010 f 1992/2316/2015 1987/2317/2010 1993/2318/2016 f 1993/2318/2016 1987/2317/2010 1994/2319/2017 f 1987/2317/2010 1995/2320/2018 1994/2319/2017 f 1995/2320/2018 1996/2321/2019 1994/2319/2017 f 1992/2316/2015 1993/2322/2016 1997/2323/2020 f 1997/2323/2020 1993/2322/2016 1998/2324/2021 f 1993/2322/2016 1999/2325/2022 1998/2324/2021 f 1999/2325/2022 2000/2326/2023 1998/2324/2021 f 2000/2326/2023 2001/2327/2024 1998/2324/2021 f 1998/2324/2021 2001/2327/2024 1997/2323/2020 f 2001/2327/2024 2002/2328/2025 1997/2323/2020 f 1997/2323/2020 2002/2328/2025 2003/2329/2026 f 2002/2328/2025 2004/2330/2027 2003/2329/2026 f 2003/2329/2026 2004/2330/2027 2005/2331/2028 f 2004/2330/2027 2006/2332/2029 2005/2331/2028 f 2006/2333/2029 2004/2334/2027 2007/2335/2030 f 2007/2335/2030 2004/2334/2027 2008/2336/2031 f 2008/2336/2031 2009/2337/2032 2007/2335/2030 f 2010/2338/2033 2009/2337/2032 2008/2336/2031 f 2007/2339/2030 2011/2340/2034 2006/2341/2029 f 2007/2339/2030 2012/2342/2035 2011/2340/2034 f 2013/2343/2036 2012/2342/2035 2007/2339/2030 f 2013/2343/2036 2014/2344/2037 2012/2342/2035 f 2011/2345/2034 2015/2346/2038 2006/2347/2029 f 2015/2346/2038 2011/2345/2034 2016/2348/2039 f 2016/2348/2039 2011/2345/2034 2017/2349/2040 f 2016/2348/2039 2017/2349/2040 2018/2350/2041 f 2017/2349/2040 2019/2351/2042 2018/2350/2041 f 2018/2350/2041 2019/2351/2042 2020/2352/2043 f 2019/2351/2042 2021/2353/2044 2020/2352/2043 f 2020/2352/2043 2021/2353/2044 2022/2354/2045 f 2021/2353/2044 2023/2355/2046 2022/2354/2045 f 2022/2354/2045 2023/2355/2046 2024/2356/2047 f 2025/2357/2048 2022/2354/2045 2024/2356/2047 f 2020/2352/2043 2022/2354/2045 2025/2357/2048 f 2026/2358/2049 2020/2352/2043 2025/2357/2048 f 2018/2350/2041 2020/2352/2043 2026/2358/2049 f 2016/2348/2039 2018/2350/2041 2026/2358/2049 f 2016/2348/2039 2026/2358/2049 2027/2359/2050 f 2027/2359/2050 2026/2360/2049 2028/2361/2051 f 2026/2360/2049 2029/2362/2052 2028/2361/2051 f 2026/2360/2049 2030/2363/2053 2029/2362/2052 f 2026/2360/2049 2031/2364/2054 2030/2363/2053 f 2031/2364/2054 2032/2365/2055 2030/2363/2053 f 2027/2359/2050 2028/2361/2051 2033/2366/2056 f 2028/2367/2051 2034/2368/2057 2033/2369/2056 f 2028/2367/2051 2035/2370/2058 2034/2368/2057 f 2028/2367/2051 2036/2371/2059 2035/2370/2058 f 2036/2371/2059 2037/2372/2060 2035/2370/2058 f 2036/2371/2059 2038/2373/2061 2037/2372/2060 f 2038/2373/2061 2039/2374/2062 2037/2372/2060 f 2034/2375/2057 2035/2376/2058 2040/2377/2063 f 2040/2377/2063 2035/2376/2058 2041/2378/2064 f 2041/2378/2064 2035/2376/2058 2042/2379/2065 f 2041/2378/2064 2042/2379/2065 2043/2380/2066 f 2041/2378/2064 2043/2380/2066 2044/2381/2067 f 2044/2382/2067 2043/2383/2066 2045/2384/2068 f 2043/2383/2066 2046/2385/2069 2045/2384/2068 f 2043/2383/2066 2047/2386/2070 2046/2385/2069 f 2046/2385/2069 2047/2386/2070 2048/2387/2071 f 2046/2385/2069 2048/2387/2071 2049/2388/2072 f 2045/2384/2068 2046/2385/2069 2049/2388/2072 f 2045/2384/2068 2049/2388/2072 2050/2389/2073 f 2045/2384/2068 2050/2389/2073 2051/2390/2074 f 2051/2390/2074 2050/2389/2073 2052/2391/2075 f 2050/2392/2073 2053/2393/2076 2052/2394/2075 f 2050/2392/2073 2054/2395/2077 2053/2393/2076 f 2055/2396/2078 2054/2395/2077 2050/2392/2073 f 2055/2396/2078 2056/2397/2079 2054/2395/2077 f 2055/2396/2078 2057/2398/2080 2056/2397/2079 f 2054/2395/2077 2058/2399/2081 2053/2393/2076 f 2054/2395/2077 2059/2400/2082 2058/2399/2081 f 2060/2401/2083 2059/2400/2082 2054/2395/2077 f 2060/2401/2083 2061/2402/2084 2059/2400/2082 f 2062/2403/2085 2061/2402/2084 2060/2401/2083 f 2062/2403/2085 2063/2404/2086 2061/2402/2084 f 2064/2405/2087 2063/2404/2086 2062/2403/2085 f 2059/2406/2082 2065/2407/2088 2058/2408/2081 f 2059/2406/2082 2066/2409/2089 2065/2407/2088 f 2067/2410/2090 2066/2409/2089 2059/2406/2082 f 2067/2410/2090 2068/2411/2091 2066/2409/2089 f 2069/2412/2092 2068/2411/2091 2067/2410/2090 f 2065/2407/2088 2066/2409/2089 2070/2413/2093 f 2066/2409/2089 2071/2414/2094 2070/2413/2093 f 2072/2411/2095 2071/2414/2094 2066/2409/2089 f 2072/2411/2095 2073/2415/2096 2071/2414/2094 f 2074/2416/2097 2073/2415/2096 2072/2411/2095 f 2073/2415/2096 2074/2416/2097 2075/2417/2098 f 2076/2418/2099 2073/2415/2096 2075/2417/2098 f 2071/2414/2094 2073/2415/2096 2076/2418/2099 f 2077/2419/2100 2071/2414/2094 2076/2418/2099 f 2070/2413/2093 2071/2414/2094 2077/2419/2100 f 2078/2420/2101 2070/2413/2093 2077/2419/2100 f 2078/2420/2101 2079/2421/2102 2070/2413/2093 f 2080/2422/2103 2079/2421/2102 2078/2420/2101 f 2080/2423/2103 2081/2424/2104 2079/2425/2102 f 2082/2426/2105 2081/2424/2104 2080/2423/2103 f 2082/2426/2105 2083/2427/2106 2081/2424/2104 f 2082/2428/2105 2084/2429/2107 2083/2430/2106 f 2085/2431/2108 2084/2429/2107 2082/2428/2105 f 2086/2432/2109 2084/2433/2107 2085/2434/2108 f 2086/2432/2109 2087/2435/2110 2084/2433/2107 f 2086/2436/2109 2088/2437/2111 2087/2438/2110 f 2089/2439/2112 2088/2437/2111 2086/2436/2109 f 2089/2439/2112 2090/2440/2113 2088/2437/2111 f 2091/2441/2114 2090/2440/2113 2089/2439/2112 f 2091/2442/2114 2092/2443/2115 2090/2444/2113 f 1954/2445/1977 2092/2443/2115 2091/2442/2114 f 1954/2445/1977 2093/2446/2116 2092/2443/2115 f 1955/2447/1978 2093/2446/2116 1954/2445/1977 f 1956/2448/1979 2093/2449/2116 1955/2450/1978 f 1956/2448/1979 2094/2451/2117 2093/2449/2116 f 1978/2452/2001 2094/2451/2117 1956/2448/1979 f 1978/2452/2001 1990/2312/2013 2094/2451/2117 f 1978/2452/2001 1979/2311/2002 1990/2312/2013 f 2094/2453/2117 1990/2454/2013 2095/2455/2118 f 1990/2454/2013 2096/2456/2119 2095/2455/2118 f 1990/2454/2013 2097/2457/2120 2096/2456/2119 f 1990/2454/2013 1991/2314/2014 2097/2457/2120 f 2097/2457/2120 1991/2314/2014 1992/2316/2015 f 2097/2457/2120 1992/2316/2015 2003/2329/2026 f 1992/2316/2015 1997/2323/2020 2003/2329/2026 f 2097/2457/2120 2003/2329/2026 2005/2331/2028 f 2097/2457/2120 2005/2331/2028 2098/2458/2121 f 2098/2459/2121 2005/2331/2028 2006/2332/2029 f 2098/2460/2121 2006/2347/2029 2099/2461/2122 f 2099/2461/2122 2006/2347/2029 2015/2346/2038 f 2099/2461/2122 2015/2346/2038 2100/2462/2123 f 2100/2462/2123 2015/2346/2038 2101/2463/2124 f 2015/2346/2038 2027/2359/2050 2101/2463/2124 f 2016/2348/2039 2027/2359/2050 2015/2346/2038 f 2027/2359/2050 2033/2366/2056 2101/2463/2124 f 2100/2462/2123 2101/2463/2124 2033/2366/2056 f 2100/2462/2123 2033/2366/2056 2102/2464/2125 f 2102/2465/2125 2033/2369/2056 2103/2466/2126 f 2033/2369/2056 2034/2368/2057 2103/2466/2126 f 2034/2375/2057 2104/2467/2127 2103/2468/2126 f 2104/2467/2127 2034/2375/2057 2040/2377/2063 f 2040/2377/2063 2105/2469/2128 2104/2467/2127 f 2040/2377/2063 2044/2381/2067 2105/2469/2128 f 2040/2377/2063 2041/2378/2064 2044/2381/2067 f 2044/2382/2067 2051/2390/2074 2105/2470/2128 f 2044/2382/2067 2045/2384/2068 2051/2390/2074 f 2106/2471/2129 2105/2470/2128 2051/2390/2074 f 2105/2470/2128 2106/2471/2129 2107/2472/2130 f 2108/2473/2131 2107/2472/2130 2106/2471/2129 f 2109/2474/2132 2107/2475/2130 2108/2476/2131 f 2109/2474/2132 2102/2465/2125 2107/2475/2130 f 2109/2477/2132 2100/2462/2123 2102/2464/2125 f 2110/2478/2133 2100/2462/2123 2109/2477/2132 f 2111/2479/2134 2100/2462/2123 2110/2478/2133 f 2111/2479/2134 2099/2461/2122 2100/2462/2123 f 2111/2480/2134 2098/2460/2121 2099/2461/2122 f 2111/2481/2134 2096/2456/2119 2098/2458/2121 f 2095/2455/2118 2096/2456/2119 2111/2481/2134 f 2090/2444/2113 2095/2455/2118 2111/2481/2134 f 2092/2443/2115 2095/2455/2118 2090/2444/2113 f 2094/2453/2117 2095/2455/2118 2092/2443/2115 f 2093/2446/2116 2094/2453/2117 2092/2443/2115 f 2090/2440/2113 2111/2479/2134 2088/2437/2111 f 2088/2437/2111 2111/2479/2134 2110/2478/2133 f 2088/2437/2111 2110/2478/2133 2087/2438/2110 f 2087/2438/2110 2110/2478/2133 2109/2477/2132 f 2087/2435/2110 2109/2474/2132 2108/2476/2131 f 2087/2435/2110 2108/2476/2131 2084/2433/2107 f 2084/2429/2107 2108/2473/2131 2112/2482/2135 f 2108/2473/2131 2106/2471/2129 2112/2482/2135 f 2112/2482/2135 2106/2471/2129 2052/2391/2075 f 2051/2390/2074 2052/2391/2075 2106/2471/2129 f 2112/2482/2135 2052/2391/2075 2113/2483/2136 f 2113/2484/2136 2052/2394/2075 2114/2485/2137 f 2114/2485/2137 2052/2394/2075 2053/2393/2076 f 2114/2485/2137 2053/2393/2076 2079/2425/2102 f 2079/2425/2102 2053/2393/2076 2058/2399/2081 f 2079/2421/2102 2058/2408/2081 2065/2407/2088 f 2079/2421/2102 2065/2407/2088 2070/2413/2093 f 2081/2424/2104 2114/2485/2137 2079/2425/2102 f 2081/2424/2104 2113/2484/2136 2114/2485/2137 f 2083/2427/2106 2113/2484/2136 2081/2424/2104 f 2112/2482/2135 2113/2483/2136 2083/2430/2106 f 2084/2429/2107 2112/2482/2135 2083/2430/2106 f 2096/2456/2119 2097/2457/2120 2098/2458/2121 f 2102/2465/2125 2103/2466/2126 2107/2475/2130 f 2107/2486/2130 2103/2468/2126 2104/2467/2127 f 2104/2467/2127 2105/2469/2128 2107/2486/2130 f 1957/2487/1980 1978/2297/2001 1956/2488/1979 f 1958/2296/1981 1978/2297/2001 1957/2487/1980 f 2115/2489/2138 1954/2490/1977 2091/2491/2114 f 1953/2492/1976 1954/2490/1977 2115/2489/2138 f 2116/2493/2139 1953/2492/1976 2115/2489/2138 f 2117/2494/2140 1953/2492/1976 2116/2493/2139 f 1952/2261/1975 1953/2263/1976 2117/2495/2140 f 1951/2258/1974 1952/2261/1975 2117/2495/2140 f 1951/2258/1974 2117/2495/2140 2118/2496/2141 f 2117/2494/2140 2119/2497/2142 2118/2498/2141 f 2117/2494/2140 2116/2493/2139 2119/2497/2142 f 2116/2499/2139 2120/2500/2143 2119/2501/2142 f 2116/2502/2139 2121/2503/2144 2120/2504/2143 f 2116/2502/2139 2122/2505/2145 2121/2503/2144 f 2116/2502/2139 2115/2506/2138 2122/2505/2145 f 2122/2505/2145 2115/2506/2138 2123/2507/2146 f 2115/2506/2138 2091/2508/2114 2123/2507/2146 f 2123/2507/2146 2091/2508/2114 2089/2509/2112 f 2123/2510/2146 2089/2511/2112 2124/2512/2147 f 2124/2512/2147 2089/2511/2112 2086/2513/2109 f 2124/2514/2147 2086/2515/2109 2125/2516/2148 f 2125/2516/2148 2086/2515/2109 2085/2517/2108 f 2125/2516/2148 2085/2517/2108 2126/2518/2149 f 2126/2518/2149 2085/2517/2108 2082/2519/2105 f 2126/2520/2149 2082/2521/2105 2127/2522/2150 f 2127/2522/2150 2082/2521/2105 2080/2523/2103 f 2082/2524/2105 2080/2525/2103 2128/2526/2151 f 2129/2527/2152 2082/2528/2105 2080/2529/2103 f 2129/2527/2152 2080/2529/2103 2130/2530/2153 f 2131/2531/2154 2129/2527/2152 2130/2530/2153 f 2131/2531/2154 2130/2530/2153 2132/2532/2155 f 2133/2533/2156 2131/2531/2154 2132/2532/2155 f 2133/2533/2156 2132/2532/2155 2134/2534/2157 f 2135/2535/2158 2082/2524/2105 2128/2526/2151 f 2136/2536/2159 2135/2535/2158 2128/2526/2151 f 2137/2537/2160 2135/2535/2158 2136/2536/2159 f 2138/2533/2161 2137/2537/2160 2136/2536/2159 f 2139/2538/2162 2137/2537/2160 2138/2533/2161 f 2139/2538/2162 2138/2533/2161 2140/2539/2163 f 2127/2522/2150 2080/2523/2103 2141/2540/2164 f 2141/2541/2164 2080/2542/2103 2142/2543/2165 f 2080/2542/2103 2143/2544/2166 2142/2543/2165 f 2080/2422/2103 2078/2420/2101 2143/2545/2166 f 2078/2420/2101 2077/2419/2100 2143/2545/2166 f 2143/2544/2166 2077/2546/2100 2144/2547/2167 f 2077/2546/2100 2076/2548/2099 2144/2547/2167 f 2076/2548/2099 2145/2549/2168 2144/2547/2167 f 2146/2550/2169 2145/2549/2168 2076/2548/2099 f 2146/2550/2169 2147/2551/2170 2145/2549/2168 f 2148/2552/2171 2147/2551/2170 2146/2550/2169 f 2147/2551/2170 2149/2553/2172 2145/2549/2168 f 2147/2551/2170 2150/2554/2173 2149/2553/2172 f 2151/2555/2174 2150/2554/2173 2147/2551/2170 f 2150/2554/2173 2151/2555/2174 2152/2556/2175 f 2153/2557/2176 2150/2554/2173 2152/2556/2175 f 2149/2553/2172 2150/2554/2173 2153/2557/2176 f 2154/2558/2177 2149/2553/2172 2153/2557/2176 f 2155/2559/2178 2149/2553/2172 2154/2558/2177 f 2145/2549/2168 2149/2553/2172 2155/2559/2178 f 2144/2547/2167 2145/2549/2168 2155/2559/2178 f 2143/2544/2166 2144/2547/2167 2155/2559/2178 f 2142/2543/2165 2143/2544/2166 2155/2559/2178 f 2142/2543/2165 2155/2559/2178 2154/2558/2177 f 2142/2543/2165 2154/2558/2177 2141/2541/2164 f 2141/2560/2164 2154/2561/2177 2156/2562/2179 f 2156/2562/2179 2154/2561/2177 2153/2563/2176 f 2156/2562/2179 2153/2563/2176 2157/2564/2180 f 2153/2563/2176 2152/2565/2175 2157/2564/2180 f 2157/2564/2180 2152/2565/2175 2158/2566/2181 f 2152/2565/2175 2159/2567/2182 2158/2566/2181 f 2160/2568/2183 2156/2569/2179 2157/2570/2180 f 2161/2571/2184 2156/2569/2179 2160/2568/2183 f 2161/2571/2184 2141/2540/2164 2156/2569/2179 f 2161/2571/2184 2127/2522/2150 2141/2540/2164 f 2161/2571/2184 2126/2520/2149 2127/2522/2150 f 2162/2572/2185 2126/2520/2149 2161/2571/2184 f 2163/2573/2186 2126/2574/2149 2162/2575/2185 f 2164/2576/2187 2126/2518/2149 2163/2577/2186 f 2164/2576/2187 2125/2516/2148 2126/2518/2149 f 2165/2578/2188 2125/2516/2148 2164/2576/2187 f 2165/2578/2188 2124/2514/2147 2125/2516/2148 f 2165/2579/2188 2123/2510/2146 2124/2512/2147 f 2122/2580/2145 2123/2510/2146 2165/2579/2188 f 2122/2580/2145 2165/2579/2188 2166/2581/2189 f 2165/2578/2188 2164/2576/2187 2166/2582/2189 f 2164/2576/2187 2167/2583/2190 2166/2582/2189 f 2164/2576/2187 2168/2584/2191 2167/2583/2190 f 2164/2576/2187 2163/2577/2186 2168/2584/2191 f 2168/2585/2191 2163/2573/2186 2162/2575/2185 f 2162/2575/2185 2169/2586/2192 2168/2585/2191 f 2169/2587/2192 2162/2572/2185 2160/2568/2183 f 2162/2572/2185 2161/2571/2184 2160/2568/2183 f 2160/2568/2183 2170/2588/2193 2169/2587/2192 f 2160/2568/2183 2157/2570/2180 2170/2588/2193 f 2170/2588/2193 2157/2570/2180 2171/2589/2194 f 2170/2588/2193 2171/2589/2194 2172/2590/2195 f 2171/2589/2194 2173/2591/2196 2172/2590/2195 f 2174/2592/2197 2172/2590/2195 2173/2591/2196 f 2175/2593/2198 2172/2590/2195 2174/2592/2197 f 2170/2588/2193 2172/2590/2195 2175/2593/2198 f 2169/2587/2192 2170/2588/2193 2175/2593/2198 f 2169/2586/2192 2175/2594/2198 2176/2595/2199 f 2175/2594/2198 2177/2596/2200 2176/2595/2199 f 2175/2594/2198 2178/2597/2201 2177/2596/2200 f 2178/2597/2201 2179/2598/2202 2177/2596/2200 f 2180/2599/2203 2176/2600/2199 2177/2601/2200 f 2167/2583/2190 2176/2600/2199 2180/2599/2203 f 2167/2583/2190 2168/2584/2191 2176/2600/2199 f 2168/2585/2191 2169/2586/2192 2176/2595/2199 f 2166/2582/2189 2167/2583/2190 2180/2599/2203 f 2166/2582/2189 2180/2599/2203 2181/2602/2204 f 2181/2602/2204 2180/2599/2203 2182/2603/2205 f 2180/2599/2203 2177/2601/2200 2182/2603/2205 f 2177/2601/2200 2183/2604/2206 2182/2603/2205 f 2184/2605/2207 2182/2603/2205 2183/2604/2206 f 2181/2602/2204 2182/2603/2205 2184/2605/2207 f 2185/2606/2208 2181/2607/2204 2184/2608/2207 f 2166/2581/2189 2181/2607/2204 2185/2606/2208 f 2121/2609/2144 2166/2581/2189 2185/2606/2208 f 2122/2580/2145 2166/2581/2189 2121/2609/2144 f 2121/2503/2144 2185/2610/2208 2186/2611/2209 f 2185/2610/2208 2187/2612/2210 2186/2611/2209 f 2185/2610/2208 2188/2613/2211 2187/2612/2210 f 2188/2613/2211 2189/2614/2212 2187/2612/2210 f 2188/2613/2211 2190/2615/2213 2189/2614/2212 f 2190/2615/2213 2191/2616/2214 2189/2614/2212 f 2120/2504/2143 2121/2503/2144 2186/2611/2209 f 2120/2504/2143 2186/2611/2209 2192/2617/2215 f 2192/2617/2215 2186/2611/2209 2193/2618/2216 f 2186/2611/2209 2194/2619/2217 2193/2618/2216 f 2193/2618/2216 2194/2619/2217 2195/2620/2218 f 2120/2500/2143 2192/2621/2215 2119/2501/2142 f 2119/2501/2142 2192/2621/2215 2196/2622/2219 f 2196/2622/2219 2192/2621/2215 2197/2623/2220 f 2192/2621/2215 2198/2624/2221 2197/2623/2220 f 2199/2625/2222 2197/2623/2220 2198/2624/2221 f 2118/2498/2141 2119/2497/2142 2196/2626/2219 f 2200/2627/2223 2118/2498/2141 2196/2626/2219 f 1950/2257/1973 2118/2496/2141 2200/2628/2223 f 1950/2257/1973 1951/2258/1974 2118/2496/2141 f 1950/2257/1973 2200/2628/2223 2201/2629/2224 f 2202/2630/2225 1950/2257/1973 2201/2629/2224 f 1949/2255/1972 1950/2257/1973 2202/2630/2225 f 1949/2255/1972 2202/2630/2225 2203/2631/2226 f 2203/2631/2226 2202/2630/2225 2204/2632/2227 f 2204/2632/2227 2202/2630/2225 2205/2633/2228 f 2202/2630/2225 2201/2629/2224 2205/2633/2228 f 2206/2634/2229 2204/2632/2227 2205/2633/2228 f 2203/2631/2226 2204/2632/2227 2206/2634/2229 f 2200/2627/2223 2196/2626/2219 2207/2635/2230 f 2208/2636/2231 2200/2627/2223 2207/2635/2230 f 2208/2636/2231 2207/2635/2230 2209/2637/2232 f 2210/2638/2233 2208/2636/2231 2209/2637/2232 f 2211/2639/2234 2210/2638/2233 2209/2637/2232 f 2185/2606/2208 2184/2608/2207 2212/2640/2235 f 2184/2608/2207 2213/2641/2236 2212/2640/2235 f 1948/2253/1971 1949/2254/1972 2214/2642/2237 f 2215/2643/2238 1948/2253/1971 2214/2642/2237 f 2216/2644/2239 1948/2253/1971 2215/2643/2238 f 1948/2253/1971 2216/2644/2239 1947/2252/1970 f 2217/2645/2240 2216/2644/2239 2215/2643/2238 f 2217/2645/2240 2215/2643/2238 2214/2642/2237 o mesh8.002_mesh8-geometry v 8.954842 170.863342 -5.666499 v 8.181046 173.641891 -4.815341 v 9.370777 170.916214 -4.424400 v 6.877951 173.476379 -5.909607 v 7.837963 170.614349 -6.251672 v 9.669710 168.807068 -6.789335 v 9.872521 168.855042 -5.848143 v 10.129843 167.343231 -7.881916 v 8.920670 168.595612 -7.090837 v 5.883221 177.578720 -4.266107 v 9.225629 173.678970 -3.434134 v 8.076360 177.181534 -2.327628 v 10.144288 173.718491 -2.298999 v 9.554225 176.868454 0.552738 v 10.737745 173.304337 0.204279 v 9.304937 176.828171 2.820214 v 10.388980 173.149399 2.714012 v 9.703493 173.154663 4.352629 v 8.771960 173.417419 5.952346 v 7.696657 177.306870 5.523823 v 7.801187 173.577011 6.550474 v 5.485177 174.315262 8.773406 v 5.471434 177.968430 7.717664 v 4.814170 171.546066 9.352816 v 6.083731 169.949539 8.104106 v 5.301187 168.590332 9.439359 v 4.561038 169.106522 9.714550 v 3.626033 166.299896 10.341051 v 6.069249 168.682129 8.662709 v 5.211421 166.426483 9.108024 v 4.696611 166.767761 9.696289 v 3.756783 164.717606 10.087630 v 7.715466 170.460587 6.562573 v 8.674432 170.410263 5.407427 v 10.669754 171.062607 2.912311 v 10.841431 168.590790 2.545670 v 10.160682 168.603485 3.935877 v 11.843439 166.266891 2.680949 v 10.867573 170.663925 -0.306959 v 11.173637 170.155014 1.162896 v 11.758604 168.782211 -0.462563 v 11.786506 168.548431 0.551609 v 12.893523 167.260620 -0.767615 v 10.537197 171.275726 -2.322043 v 10.043166 171.011719 -3.585562 v 11.455971 169.158401 -3.159552 v 10.529687 170.308823 -1.094209 v 11.648591 169.175018 -2.298416 v 12.983411 167.678055 -3.603760 v 11.335406 168.919296 -3.774682 v 5.633813 173.641464 -7.076691 v 4.042210 173.718445 -7.752871 v 4.287736 171.005432 -8.466344 v 5.746992 170.884003 -8.453108 v 6.592042 170.605331 -7.507113 v 6.616467 168.889359 -9.599125 v 5.698420 168.948059 -9.534078 v 7.496499 166.760635 -9.938947 v 7.093239 168.666168 -8.942430 v 2.728867 171.346558 -8.839230 v 2.589295 169.792160 -9.886319 v 3.563942 169.518280 -9.548856 v 2.473308 168.391449 -11.656853 v 1.870944 169.754929 -9.576420 v 1.255827 171.423050 -8.728148 v 0.239056 173.467224 -7.930739 v 2.421983 173.765366 -7.989254 v 3.402936 177.260666 -5.853776 v 0.659464 176.978928 -6.735578 v -1.836610 176.996185 -5.882995 v -2.062373 173.337234 -7.011421 v 0.682130 170.817474 -8.263987 v -1.269270 170.395599 -7.795252 v 0.605475 168.950394 -9.174812 v -0.541910 168.756241 -8.763513 v 0.433137 167.448578 -10.500100 v -3.485785 173.353638 -5.948710 v -2.142155 171.251266 -7.161013 v -4.279790 170.649826 -5.307121 v -2.311113 168.806259 -7.481991 v -3.302464 168.796082 -6.730677 v -2.798763 166.487854 -8.754314 v -4.806963 173.622314 -4.653089 v -4.037190 177.483841 -3.641641 v -5.298401 173.774643 -3.680869 v -5.442376 170.582764 -3.314993 v -6.503075 170.284088 -2.138649 v -7.315010 171.537903 0.314451 v -7.390373 168.822876 0.117568 v -6.909474 168.415344 -1.173426 v -7.170786 166.654358 0.027666 v -7.445217 166.992004 0.803531 v -7.704632 164.931549 1.725894 v -7.755823 169.219986 0.828507 v -8.070772 166.517410 1.795607 v -6.729930 174.499527 -0.767653 v -5.592623 178.135269 -0.925068 vt 0.311778 1.652145 vt 0.329319 1.854833 vt 0.273740 1.652145 vt 0.369634 1.857437 vt 0.358740 1.652145 vt 0.306922 1.573046 vt 0.281926 1.573046 vt 0.306328 1.464314 vt 0.343581 1.573046 vt 0.369634 1.991401 vt 0.249463 1.857437 vt 0.250380 1.991401 vt 0.216405 1.854833 vt 0.158061 1.991401 vt 0.159190 1.857437 vt -1.841979 1.792754 vt -1.841546 1.939466 vt -1.793711 1.945786 vt -1.798155 1.789424 vt -1.779115 1.790876 vt -1.729275 1.785188 vt -1.718254 1.945072 vt -1.282158 1.945270 vt -1.238243 1.793618 vt -1.298809 1.793618 vt -1.254722 1.945270 vt -1.190301 1.790699 vt -1.243585 1.793618 vt -1.189316 1.945270 vt -1.190823 1.563427 vt -1.242682 1.563427 vt -1.238539 1.453802 vt -1.200377 1.453802 vt -1.218924 1.332491 vt -1.216752 1.563427 vt -1.231899 1.412734 vt -1.207105 1.409792 vt -1.177372 1.557716 vt -1.266940 1.559144 vt -1.356508 1.560572 vt -1.730170 1.557839 vt -1.803244 1.567549 vt -1.799589 1.465222 vt -1.730582 1.462308 vt -1.755968 1.336911 vt -1.842003 1.568141 vt -1.835422 1.465453 vt -1.816051 1.348477 vt 0.205707 1.652145 vt 0.244376 1.652145 vt 0.209917 1.570736 vt 0.158468 1.652145 vt 0.159719 1.569658 vt 0.213241 1.464351 vt 0.245348 1.570736 vt 0.198508 1.860206 vt 0.152353 1.991529 vt 0.152353 1.860206 vt 0.266685 1.860206 vt 0.248248 1.654914 vt 0.210209 1.654914 vt 0.163247 1.654914 vt 0.215065 1.575815 vt 0.240061 1.575815 vt 0.215659 1.464324 vt 0.178406 1.575815 vt 0.268852 1.657518 vt 0.304601 1.654914 vt 0.312070 1.573505 vt 0.276640 1.573505 vt 0.308747 1.464360 vt 0.362268 1.572427 vt 0.363519 1.654914 vt 0.362798 1.860206 vt 0.293904 1.860206 vt 0.265768 1.991529 vt 0.363927 1.991529 vt -1.250870 1.558888 vt -1.208300 1.563427 vt -1.210941 1.453802 vn 0.698294 0.419996 -0.579577 vn 0.709250 0.384106 -0.591083 vn 0.847468 0.341563 -0.406323 vn 0.607166 0.349834 -0.713370 vn 0.308695 0.420576 -0.853084 vn 0.537004 0.554369 -0.635792 vn 0.872127 0.424909 -0.242500 vn 0.574969 0.597705 -0.558672 vn 0.174932 0.547227 -0.818476 vn 0.560076 0.462935 -0.687002 vn 0.750511 0.333934 -0.570238 vn 0.722800 0.439100 -0.533555 vn 0.861965 0.310556 -0.400647 vn 0.915006 0.377361 -0.142491 vn 0.984466 0.175390 -0.001465 vn 0.907743 0.282296 0.310251 vn 0.959288 0.205664 0.193457 vn 0.873928 0.103977 0.474746 vn 0.758354 0.091922 0.645314 vn 0.713370 0.234046 0.660512 vn 0.647420 0.064547 0.759392 vn 0.710013 0.129154 0.692221 vn 0.717368 0.195898 0.668538 vn 0.653310 0.052705 0.755211 vn 0.713126 0.103488 0.693319 vn 0.628834 0.058260 0.775323 vn 0.397931 0.083499 0.913602 vn 0.392407 0.073916 0.916807 vn 0.703696 0.082522 0.705679 vn 0.701437 -0.150304 0.696646 vn 0.695853 -0.157933 0.700583 vn 0.686117 -0.179968 0.704856 vn 0.664174 -0.056276 0.745415 vn 0.821467 0.000305 0.570208 vn 0.838466 0.021058 0.544511 vn 0.838923 0.240211 0.488296 vn 0.835597 0.370251 0.405774 vn 0.831355 0.381939 0.403607 vn 0.966887 0.255165 0.001831 vn 0.933744 0.356853 -0.027161 vn 0.890347 0.453322 0.041932 vn 0.882107 0.463729 0.082614 vn 0.807154 0.579699 0.111423 vn 0.938749 0.233985 -0.252876 vn 0.812128 0.435347 -0.388409 vn 0.757286 0.617237 -0.213263 vn 0.927427 0.373363 0.020173 vn 0.639943 0.752037 -0.157659 vn 0.625263 0.728843 -0.278909 vn 0.687399 0.621204 -0.376202 vn 0.436262 0.417463 -0.797082 vn 0.292795 0.402631 -0.867244 vn 0.247963 0.404401 -0.880306 vn 0.394757 0.471145 -0.788751 vn 0.751122 0.443464 -0.488998 vn 0.499161 0.476516 -0.723685 vn -0.014863 0.375011 -0.926878 vn 0.434828 0.314463 -0.843806 vn 0.788934 0.448012 -0.420484 vn 0.097385 0.399243 -0.911649 vn 0.070009 0.584002 -0.808710 vn 0.407208 0.565752 -0.716971 vn 0.058748 0.780999 -0.621723 vn -0.354564 0.550523 -0.755730 vn -0.162633 0.408307 -0.898221 vn -0.209418 0.284494 -0.935514 vn 0.075625 0.392926 -0.916440 vn 0.267037 0.481796 -0.834590 vn -0.049135 0.386242 -0.921079 vn -0.511673 0.308145 -0.801965 vn -0.442274 0.179327 -0.878750 vn -0.316752 0.224128 -0.921628 vn -0.312876 0.320688 -0.893979 vn -0.343425 0.477737 -0.808557 vn -0.365856 0.501572 -0.783898 vn -0.352733 0.641560 -0.681143 vn -0.637440 0.141850 -0.757317 vn -0.642872 0.078921 -0.761864 vn -0.704611 0.087008 -0.704184 vn -0.601550 0.308115 -0.736991 vn -0.559191 0.387982 -0.732597 vn -0.529344 0.491012 -0.691824 vn -0.780511 0.150792 -0.606647 vn -0.787988 0.282479 -0.547014 vn -0.864071 0.115726 -0.489853 vn -0.836451 -0.032655 -0.547014 vn -0.895321 0.044374 -0.443190 vn -0.908750 0.068392 -0.411634 vn -0.927396 -0.014435 -0.373699 vn -0.939787 -0.030915 -0.340312 vn -0.946532 -0.063814 -0.316172 vn -0.948576 -0.054750 -0.311686 vn -0.945891 -0.025666 -0.323374 vn -0.888363 0.004334 -0.459090 vn -0.899411 -0.050508 -0.434095 vn -0.854946 0.179876 -0.486496 vn -0.818659 0.233345 -0.524705 g mesh8.002_mesh8-geometry__01_-_Default1noCulli__01_-_Default1noCulli usemtl _01_-_Default1noCulli__01_-_Default1noCulli s 1 f 2218/2646/2241 2219/2647/2242 2220/2648/2243 f 2219/2647/2242 2218/2646/2241 2221/2649/2244 f 2221/2649/2244 2218/2646/2241 2222/2650/2245 f 2218/2646/2241 2223/2651/2246 2222/2650/2245 f 2223/2651/2246 2218/2646/2241 2224/2652/2247 f 2224/2652/2247 2218/2646/2241 2220/2648/2243 f 2225/2653/2248 2223/2651/2246 2224/2652/2247 f 2223/2651/2246 2225/2653/2248 2226/2654/2249 f 2222/2650/2245 2223/2651/2246 2226/2654/2249 f 2227/2655/2250 2219/2647/2242 2221/2649/2244 f 2219/2647/2242 2227/2655/2250 2228/2656/2251 f 2227/2655/2250 2229/2657/2252 2228/2656/2251 f 2228/2656/2251 2229/2657/2252 2230/2658/2253 f 2229/2657/2252 2231/2659/2254 2230/2658/2253 f 2230/2658/2253 2231/2659/2254 2232/2660/2255 f 2232/2661/2255 2231/2662/2254 2233/2663/2256 f 2232/2661/2255 2233/2663/2256 2234/2664/2257 f 2234/2664/2257 2233/2663/2256 2235/2665/2258 f 2233/2663/2256 2236/2666/2259 2235/2665/2258 f 2233/2663/2256 2237/2667/2260 2236/2666/2259 f 2237/2668/2260 2238/2669/2261 2236/2670/2259 f 2237/2671/2260 2239/2672/2262 2238/2673/2261 f 2237/2671/2260 2240/2674/2263 2239/2672/2262 f 2239/2672/2262 2241/2675/2264 2238/2673/2261 f 2238/2673/2261 2241/2675/2264 2242/2676/2265 f 2242/2676/2265 2241/2675/2264 2243/2677/2266 f 2241/2675/2264 2244/2678/2267 2243/2677/2266 f 2244/2678/2267 2245/2679/2268 2243/2677/2266 f 2242/2680/2265 2243/2678/2266 2246/2677/2269 f 2246/2677/2269 2243/2678/2266 2247/2681/2270 f 2247/2681/2270 2243/2678/2266 2248/2682/2271 f 2248/2682/2271 2249/2679/2272 2247/2681/2270 f 2238/2669/2261 2242/2683/2265 2250/2684/2273 f 2238/2669/2261 2250/2684/2273 2236/2670/2259 f 2251/2685/2274 2236/2670/2259 2250/2684/2273 f 2235/2665/2258 2236/2666/2259 2251/2686/2274 f 2252/2687/2275 2235/2665/2258 2251/2686/2274 f 2234/2664/2257 2235/2665/2258 2252/2687/2275 f 2253/2688/2276 2252/2687/2275 2251/2686/2274 f 2253/2688/2276 2251/2686/2274 2254/2689/2277 f 2253/2688/2276 2254/2689/2277 2255/2690/2278 f 2256/2691/2279 2232/2661/2255 2234/2664/2257 f 2256/2691/2279 2234/2664/2257 2257/2687/2280 f 2258/2692/2281 2256/2691/2279 2257/2687/2280 f 2258/2692/2281 2257/2687/2280 2259/2688/2282 f 2260/2693/2283 2258/2692/2281 2259/2688/2282 f 2261/2694/2284 2230/2658/2253 2232/2660/2255 f 2228/2656/2251 2230/2658/2253 2261/2694/2284 f 2262/2695/2285 2228/2656/2251 2261/2694/2284 f 2262/2695/2285 2261/2694/2284 2263/2696/2286 f 2263/2696/2286 2261/2694/2284 2264/2697/2287 f 2261/2694/2284 2232/2660/2255 2264/2697/2287 f 2265/2698/2288 2263/2696/2286 2264/2697/2287 f 2266/2699/2289 2263/2696/2286 2265/2698/2288 f 2266/2699/2289 2267/2700/2290 2263/2696/2286 f 2267/2700/2290 2262/2695/2285 2263/2696/2286 f 2219/2647/2242 2228/2656/2251 2220/2648/2243 f 2268/2701/2291 2227/2702/2250 2221/2703/2244 f 2227/2702/2250 2268/2701/2291 2269/2704/2292 f 2269/2704/2292 2268/2701/2291 2270/2705/2293 f 2268/2701/2291 2271/2706/2294 2270/2705/2293 f 2271/2706/2294 2268/2701/2291 2221/2703/2244 f 2271/2706/2294 2221/2703/2244 2272/2707/2295 f 2273/2708/2296 2271/2706/2294 2272/2707/2295 f 2271/2706/2294 2273/2708/2296 2274/2709/2297 f 2274/2709/2297 2273/2708/2296 2275/2710/2298 f 2275/2710/2298 2273/2708/2296 2276/2711/2299 f 2273/2708/2296 2272/2707/2295 2276/2711/2299 f 2270/2705/2293 2271/2706/2294 2274/2709/2297 f 2269/2704/2292 2270/2712/2293 2277/2713/2300 f 2277/2713/2300 2270/2712/2293 2278/2714/2301 f 2270/2712/2293 2279/2715/2302 2278/2714/2301 f 2279/2715/2302 2280/2716/2303 2278/2714/2301 f 2278/2714/2301 2280/2716/2303 2281/2717/2304 f 2282/2718/2305 2278/2714/2301 2281/2717/2304 f 2282/2718/2305 2277/2713/2300 2278/2714/2301 f 2283/2719/2306 2277/2713/2300 2282/2718/2305 f 2284/2720/2307 2277/2713/2300 2283/2719/2306 f 2284/2720/2307 2269/2704/2292 2277/2713/2300 f 2285/2721/2308 2269/2704/2292 2284/2720/2307 f 2227/2702/2250 2269/2704/2292 2285/2721/2308 f 2285/2721/2308 2284/2720/2307 2286/2722/2309 f 2286/2722/2309 2284/2720/2307 2283/2719/2306 f 2287/2663/2310 2286/2662/2309 2283/2661/2306 f 2287/2663/2310 2283/2661/2306 2288/2664/2311 f 2283/2661/2306 2289/2691/2312 2288/2664/2311 f 2288/2664/2311 2289/2691/2312 2290/2687/2313 f 2289/2691/2312 2291/2692/2314 2290/2687/2313 f 2290/2687/2313 2291/2692/2314 2292/2688/2315 f 2291/2692/2314 2293/2693/2316 2292/2688/2315 f 2287/2663/2310 2288/2664/2311 2294/2665/2317 f 2294/2665/2317 2288/2664/2311 2295/2687/2318 f 2294/2665/2317 2295/2687/2318 2296/2686/2319 f 2295/2687/2318 2297/2688/2320 2296/2686/2319 f 2296/2686/2319 2297/2688/2320 2298/2689/2321 f 2297/2688/2320 2299/2690/2322 2298/2689/2321 f 2300/2666/2323 2294/2665/2317 2296/2686/2319 f 2287/2663/2310 2294/2665/2317 2300/2666/2323 f 2301/2667/2324 2287/2663/2310 2300/2666/2323 f 2300/2670/2323 2302/2669/2325 2301/2668/2324 f 2300/2670/2323 2303/2723/2326 2302/2669/2325 f 2296/2685/2319 2303/2723/2326 2300/2670/2323 f 2302/2669/2325 2303/2723/2326 2304/2683/2327 f 2302/2673/2325 2304/2676/2327 2305/2724/2328 f 2304/2676/2327 2306/2677/2329 2305/2724/2328 f 2304/2680/2327 2307/2677/2330 2306/2678/2329 f 2307/2677/2330 2308/2681/2331 2306/2678/2329 f 2308/2681/2331 2309/2682/2332 2306/2678/2329 f 2308/2681/2331 2310/2679/2333 2309/2682/2332 f 2306/2677/2329 2311/2725/2334 2305/2724/2328 f 2306/2677/2329 2312/2679/2335 2311/2725/2334 f 2302/2673/2325 2305/2724/2328 2313/2672/2336 f 2302/2673/2325 2313/2672/2336 2301/2671/2324 f 2301/2671/2324 2313/2672/2336 2314/2674/2337 o mesh9.002_mesh9-geometry v 22.169228 88.586823 16.655272 v 21.192451 89.311661 17.303040 v 21.404673 88.844391 16.428429 v 21.807301 89.132507 17.699356 v 22.874031 89.018295 16.800470 v 22.480928 89.479553 17.588417 v 24.003559 90.940193 15.800607 v 23.111362 91.608658 16.992546 v 23.200008 91.853897 16.941498 v 24.193165 91.148216 15.719616 v 22.952761 90.743530 15.289865 v 21.781448 91.069511 15.201379 v 23.076591 90.940643 15.148145 v 21.859367 91.257446 15.032834 v 22.385612 92.545258 13.647466 v 21.754278 94.772858 14.669790 v 21.303627 92.037369 16.064711 v 21.285048 91.794220 16.178223 v 22.202597 91.757942 16.786314 v 22.242458 92.006805 16.702934 v 22.836191 94.929070 15.637346 v 23.543980 96.841095 13.700783 v 22.168859 96.386734 12.614346 v 24.952211 97.992355 12.686328 v 23.603140 97.815117 11.808199 v 25.440607 98.874191 12.096235 v 24.266891 98.730766 11.261772 v 24.350292 101.101601 10.163377 v 24.364828 100.587036 8.692602 v 24.069981 98.171509 9.805542 v 24.737326 97.668259 8.768760 v 25.176399 100.178337 7.738992 v 25.551744 99.632866 6.273879 v 24.894917 97.049240 7.278371 v 26.181408 96.570213 6.502246 v 26.941732 99.286163 5.651366 v 26.171717 102.346832 5.551109 v 27.659311 102.126785 5.076231 v 28.328203 99.235909 5.936953 v 29.033998 102.196243 5.522309 v 29.365707 99.353157 6.606339 v 30.092611 102.345566 6.176800 v 29.752491 99.803474 8.281925 v 30.138063 102.906364 8.003312 v 29.019957 103.478951 9.681160 v 29.023750 100.414429 9.869109 v 26.871977 103.976326 10.949691 v 26.944689 101.265411 11.453995 v 25.356483 103.894974 10.442328 v 25.653536 101.391251 11.143962 v 24.405727 103.603683 9.344674 v 24.632397 103.135109 7.861035 v 25.586643 102.818672 6.987800 v 26.984703 98.691093 12.247600 v 26.619846 97.790176 13.099362 v 25.636982 96.779831 14.504494 v 24.393995 94.569679 16.394306 v 25.457512 92.606888 15.610518 v 23.491804 92.057182 14.713554 v 24.097490 90.123215 16.106524 v 23.320280 90.246857 15.294415 v 24.251364 93.248962 11.492286 v 25.002338 89.735802 13.806530 v 24.836843 92.403610 10.242093 v 25.898218 88.857788 12.161765 v 25.367596 91.938843 8.879768 v 26.656160 88.370110 10.381343 v 27.052273 91.006516 7.666314 v 27.526350 88.099121 8.904814 v 28.205946 90.874123 8.059794 v 26.024986 95.458824 6.725495 v 27.547546 95.321144 6.875689 v 27.578457 96.399231 6.626262 v 28.630331 96.495285 7.313104 v 28.739130 95.453804 7.591876 v 29.330008 96.820793 8.827513 v 24.634781 95.975090 7.560846 v 24.394407 96.090034 9.241013 v 23.593878 97.177948 10.218721 v 22.580179 94.686394 11.339685 v 28.730801 97.635963 10.663162 v 28.873560 96.627708 11.035565 v 26.847555 93.282127 14.718787 v 26.734468 89.271339 14.997664 v 25.254320 90.165939 16.370001 v 24.127497 87.169029 16.620148 v 23.473948 87.135231 16.054062 v 24.252563 86.635033 14.877175 v 23.472561 86.874138 16.109003 v 24.207010 86.384575 14.948961 v 25.166552 86.560005 15.207605 v 25.586267 89.071632 14.494160 v 24.232365 86.396217 14.055287 v 24.878565 85.849953 12.876779 v 24.164677 86.139702 14.082907 v 24.794746 85.604897 12.932021 v 25.708828 85.654045 13.263476 v 26.568632 88.402107 12.744558 v 25.322001 86.322174 12.343653 v 25.935171 85.992409 11.277829 v 25.232183 86.073875 12.357909 v 25.831982 85.755119 11.335246 v 26.789076 85.623436 11.550590 v 27.503643 88.111504 10.946728 v 26.384836 87.063393 10.538836 v 26.864458 86.500191 9.526622 v 26.262993 86.828407 10.537219 v 26.716513 86.288307 9.565248 v 27.465174 86.103874 9.793700 v 28.270107 87.688713 9.174411 v 29.210148 90.996994 8.978347 v 28.900469 87.580376 9.945461 v 29.027330 91.859947 10.953090 v 29.451653 95.816711 9.203488 v 28.303816 92.574921 12.671320 v 27.785368 88.521835 13.278325 v 25.851738 86.100105 15.111632 v 24.875565 86.365875 14.782771 v 26.031624 86.577919 15.857128 v 25.052586 87.069160 16.860563 v 25.016396 86.807930 16.894468 v 24.111507 86.907555 16.661299 v 23.330196 84.440109 16.541681 v 23.918907 84.168053 15.465104 v 23.261929 84.190643 16.545574 v 23.836763 83.923973 15.486184 v 24.586834 83.964851 15.683677 v 25.115250 86.307198 15.267276 v 25.958897 86.329430 15.913600 v 24.425270 84.131859 17.143894 v 23.754295 84.345665 17.010008 v 23.673550 84.099869 17.008749 v 22.216026 82.250732 16.188688 v 22.423100 81.855858 16.616426 v 23.048136 81.564720 15.417445 v 23.536947 81.554192 15.865146 v 23.092512 81.748917 16.707016 v 25.041836 83.594467 16.224129 v 24.486963 83.725777 15.695314 v 25.162271 83.825745 16.225334 v 22.687037 82.041840 15.294284 v 24.331629 83.890785 17.133316 v 24.800282 86.112541 14.805801 v 23.523178 83.786522 14.456396 v 24.113085 83.453606 13.425505 v 23.392860 83.571030 14.441613 v 23.972862 83.244057 13.428023 v 24.675465 83.089966 13.662271 v 25.619101 85.408325 13.306560 v 26.490105 85.563095 13.953248 v 26.378325 85.325211 13.993203 v 25.763559 85.848091 15.118495 v 23.916653 83.563850 15.024146 v 23.777662 83.354408 14.993243 v 21.792458 82.102432 13.852724 v 21.898422 81.652191 14.199434 v 22.547022 81.353424 13.115736 v 22.915258 81.121277 13.596844 v 22.512144 81.334732 14.308155 v 24.971378 82.628975 14.211453 v 24.423082 82.931625 15.164415 v 24.575054 83.129059 15.208100 v 25.138647 82.819664 14.232191 v 24.522633 82.888344 13.653838 v 22.327623 81.892113 13.007864 v 25.979763 86.203804 13.005674 v 25.878609 85.959351 13.019110 v 24.445280 84.301750 12.406524 v 24.970886 84.013107 11.562846 v 24.296021 84.099579 12.363680 v 24.804508 83.821205 11.548494 v 23.350307 82.876846 11.118680 v 23.487255 82.223366 11.113758 v 25.350496 83.308723 11.687312 v 25.529200 83.489014 11.711253 v 26.680113 85.385506 11.587653 v 27.493584 85.462318 12.166327 v 28.609066 88.202477 11.485122 v 26.890076 85.841019 13.378291 v 27.628120 86.247566 11.354810 v 26.955582 86.723778 10.992229 v 26.811676 86.504753 10.977283 v 25.172150 85.594940 10.279697 v 25.691259 85.289124 9.501575 v 26.032074 84.823257 9.780774 v 27.302595 85.901726 9.833206 v 27.898129 85.882622 10.431888 v 27.729546 85.682625 10.452735 v 27.464062 86.041069 11.321606 v 25.447660 85.195320 10.693679 v 25.247795 85.040215 10.630948 v 24.986095 85.425171 10.222971 v 25.488413 85.131210 9.469933 v 25.819012 84.679665 9.744536 v 26.290913 84.424797 10.311051 v 25.871426 84.703163 10.993931 v 25.661003 84.566093 10.919572 v 23.547836 84.086929 9.906569 v 23.736153 84.611320 9.672705 v 24.125784 84.366791 9.097562 v 24.007614 83.779549 9.200069 v 26.073578 84.289932 10.262244 v 24.037483 83.781258 10.182966 v 24.298098 83.542610 9.687321 v 26.774916 85.602989 13.376622 v 24.809818 84.005974 12.982134 v 24.646196 83.815697 12.931549 v 23.007946 83.055321 11.645571 v 22.954906 82.606445 12.082231 v 23.889988 81.969406 11.567054 v 23.494854 82.204712 12.216602 v 25.773846 82.954308 12.226777 v 25.212042 83.297142 13.161048 v 25.385843 83.471809 13.227775 v 25.963739 83.123100 12.263474 v 27.369459 85.230309 12.199182 vt 0.984274 0.366115 vt 0.987662 0.378387 vt 0.982536 0.372393 vt 0.993746 0.377331 vt 0.697346 0.401186 vt 0.700495 0.388564 vt 0.706796 0.392679 vt 0.704318 0.400482 vt 0.726623 0.394580 vt 0.722268 0.408250 vt 0.723501 0.410745 vt 0.729310 0.392965 vt 0.721644 0.385111 vt 0.961855 0.372987 vt 0.964464 0.384651 vt 0.959715 0.373394 vt 0.962031 0.385539 vt 0.939910 0.388588 vt 0.950104 0.414551 vt 0.969403 0.396187 vt 0.971180 0.394473 vt 0.979968 0.399515 vt 0.717152 0.415623 vt 0.719716 0.415915 vt 0.978484 0.401632 vt 0.961053 0.423593 vt 0.945213 0.437702 vt 0.934406 0.428597 vt 0.931385 0.446349 vt 0.920691 0.438203 vt 0.927573 0.452785 vt 0.916978 0.446641 vt 0.914541 0.469928 vt 0.901300 0.468885 vt 0.903886 0.444556 vt 0.892546 0.443643 vt 0.890079 0.468429 vt 0.876422 0.467606 vt 0.878601 0.441998 vt 0.864651 0.440995 vt 0.863173 0.467105 vt 0.874243 0.493215 vt 0.861696 0.493215 vt 0.851582 0.466764 vt 0.851245 0.493214 vt 0.841922 0.466748 vt 0.843415 0.493214 vt 0.827193 0.466755 vt 0.829384 0.493214 vt 0.813397 0.493214 vt 0.810045 0.467981 vt 0.792147 0.493214 vt 0.788828 0.470616 vt 0.777815 0.493214 vt 0.774519 0.475336 vt 0.912104 0.493215 vt 0.926248 0.473000 vt 0.924923 0.493215 vt 0.898713 0.493215 vt 0.887612 0.493215 vt 0.771222 0.457457 vt 0.785509 0.448018 vt 0.762723 0.451863 vt 0.778954 0.442165 vt 0.753145 0.447725 vt 0.767090 0.433785 vt 0.738857 0.434696 vt 0.747760 0.420556 vt 0.753045 0.394400 vt 0.724537 0.384008 vt 0.732329 0.380080 vt 0.950214 0.373749 vt 0.953189 0.359732 vt 0.944324 0.359463 vt 0.910549 0.395983 vt 0.920565 0.354188 vt 0.895802 0.392327 vt 0.897754 0.351619 vt 0.881665 0.392256 vt 0.877154 0.352174 vt 0.861754 0.386423 vt 0.856461 0.354312 vt 0.849323 0.385086 vt 0.865394 0.427650 vt 0.851636 0.426626 vt 0.851918 0.440313 vt 0.840429 0.440282 vt 0.838777 0.427265 vt 0.825002 0.440297 vt 0.879861 0.430471 vt 0.895140 0.428075 vt 0.906389 0.434874 vt 0.919833 0.412106 vt 0.806694 0.442747 vt 0.804877 0.432887 vt 0.773344 0.400914 vt 0.777280 0.364488 vt 0.758004 0.370058 vt 0.744729 0.369419 vt 0.743835 0.344283 vt 0.952908 0.332655 vt 0.960494 0.333581 vt 0.938718 0.326505 vt 0.953629 0.330325 vt 0.939946 0.324267 vt 0.931537 0.323133 vt 0.924017 0.340951 vt 0.918580 0.324491 vt 0.904603 0.321478 vt 0.918600 0.322072 vt 0.905093 0.319006 vt 0.898425 0.320202 vt 0.896814 0.332107 vt 0.889745 0.323164 vt 0.877706 0.325839 vt 0.889094 0.320664 vt 0.877560 0.323310 vt 0.870801 0.325210 vt 0.873203 0.339909 vt 0.863459 0.335139 vt 0.851400 0.338460 vt 0.861677 0.332578 vt 0.850622 0.336184 vt 0.841743 0.339759 vt 0.845291 0.356207 vt 0.835203 0.387488 vt 0.832307 0.357955 vt 0.816288 0.393237 vt 0.822848 0.428540 vt 0.797969 0.397565 vt 0.797158 0.361121 vt 0.774073 0.334238 vt 0.770329 0.333951 vt 0.776691 0.361190 vt 0.764492 0.336292 vt 0.767844 0.334784 vt 0.749596 0.342700 vt 0.749254 0.340145 vt 0.741987 0.342361 vt 0.961101 0.331237 vt 0.960397 0.307742 vt 0.949134 0.303815 vt 0.961060 0.305349 vt 0.950119 0.301520 vt 0.942679 0.301053 vt 0.932481 0.321130 vt 0.767854 0.331904 vt 0.762541 0.334375 vt 0.741961 0.318421 vt 0.737206 0.319362 vt 0.966383 0.309103 vt 0.966864 0.306636 vt 0.966130 0.285353 vt 0.970574 0.282728 vt 0.956433 0.277603 vt 0.744333 0.293141 vt 0.731682 0.293269 vt 0.745408 0.287643 vt 0.736782 0.296115 vt 0.752787 0.312208 vt 0.758268 0.308614 vt 0.754770 0.313842 vt 0.758447 0.311550 vt 0.943931 0.298774 vt 0.957948 0.282343 vt 0.742237 0.315892 vt 0.735690 0.317062 vt 0.926114 0.325608 vt 0.926284 0.323578 vt 0.920462 0.298407 vt 0.908810 0.296921 vt 0.920626 0.295942 vt 0.909250 0.294502 vt 0.902026 0.295486 vt 0.898684 0.318387 vt 0.791026 0.329072 vt 0.787973 0.330170 vt 0.791077 0.326323 vt 0.786758 0.327916 vt 0.774083 0.331730 vt 0.769489 0.331342 vt 0.766047 0.307519 vt 0.927581 0.299140 vt 0.927522 0.296474 vt 0.921779 0.274672 vt 0.925130 0.270285 vt 0.910802 0.268862 vt 0.775597 0.283522 vt 0.762220 0.281377 vt 0.779989 0.278040 vt 0.768663 0.284897 vt 0.781055 0.303729 vt 0.770515 0.304825 vt 0.770276 0.308132 vt 0.782378 0.305755 vt 0.785971 0.301234 vt 0.785823 0.304096 vt 0.765167 0.304946 vt 0.902655 0.292910 vt 0.913244 0.274148 vt 0.894703 0.320787 vt 0.894349 0.318994 vt 0.883996 0.299235 vt 0.874436 0.301118 vt 0.883330 0.296854 vt 0.874160 0.298673 vt 0.872675 0.281098 vt 0.868285 0.277360 vt 0.866275 0.298789 vt 0.866378 0.301314 vt 0.870459 0.323285 vt 0.816926 0.331244 vt 0.813294 0.332328 vt 0.817912 0.328789 vt 0.815656 0.362043 vt 0.798161 0.332931 vt 0.823109 0.339074 vt 0.820524 0.336368 vt 0.816882 0.349406 vt 0.867742 0.329794 vt 0.866684 0.327959 vt 0.853261 0.317369 vt 0.845295 0.321539 vt 0.838700 0.322195 vt 0.841283 0.337369 vt 0.832002 0.339285 vt 0.832028 0.336783 vt 0.824318 0.336994 vt 0.820313 0.333518 vt 0.822447 0.318838 vt 0.858454 0.314449 vt 0.857058 0.312407 vt 0.852076 0.315188 vt 0.844467 0.319202 vt 0.838295 0.319688 vt 0.832613 0.321691 vt 0.825077 0.320349 vt 0.825485 0.318478 vt 0.822079 0.316137 vt 0.825136 0.297565 vt 0.844736 0.301419 vt 0.844883 0.296242 vt 0.839260 0.304110 vt 0.835182 0.299431 vt 0.832607 0.319265 vt 0.827717 0.301978 vt 0.831863 0.302478 vt 0.794179 0.332592 vt 0.798861 0.330516 vt 0.793354 0.329966 vt 0.793432 0.307356 vt 0.890029 0.297738 vt 0.889264 0.295324 vt 0.877922 0.280152 vt 0.880866 0.275831 vt 0.807965 0.288060 vt 0.795659 0.284233 vt 0.810835 0.282897 vt 0.801325 0.288318 vt 0.810067 0.305791 vt 0.799414 0.306143 vt 0.798241 0.308367 vt 0.811189 0.307888 vt 0.811983 0.330197 vt 0.814471 0.306676 vt 0.814963 0.303828 vt 0.792550 0.304585 vt -30.622080 84.367462 vt -29.315384 81.513290 vt -29.370056 84.157234 vt -30.794760 84.643562 vt -28.910404 81.645950 vt -29.466593 84.518417 vt 30.792715 86.366386 vt 29.464312 86.243790 vt 29.039476 83.992798 vn 0.096530 -0.926695 -0.363140 vn -0.766137 -0.287881 0.574572 vn -0.763634 -0.512864 -0.392163 vn -0.044984 -0.302713 0.951994 vn 0.650136 -0.688040 0.322336 vn 0.594073 -0.190558 0.781487 vn 0.857753 -0.501846 0.111179 vn 0.202216 0.193518 0.959990 vn 0.399396 -0.076479 0.913572 vn 0.697317 -0.699545 -0.156041 vn 0.235603 -0.620136 -0.748253 vn -0.384472 -0.444227 -0.809198 vn 0.235023 -0.597400 -0.766717 vn -0.734367 -0.312296 -0.602588 vn -0.796381 -0.450362 -0.403607 vn -0.965423 0.257027 0.043367 vn -0.842891 0.290841 0.452651 vn -0.994110 0.106388 0.020356 vn -0.382336 0.363933 0.849300 vn -0.321726 0.336375 0.885037 vn -0.416425 0.572039 0.706626 vn -0.355754 0.777154 0.519059 vn -0.777306 0.623707 0.081942 vn -0.274789 0.729392 0.626453 vn -0.760949 0.633961 0.137883 vn -0.385022 0.515519 0.765496 vn -0.892972 0.398907 0.208441 vn -0.904843 0.195898 0.377941 vn -0.953276 -0.015015 -0.301675 vn -0.947569 0.157689 -0.277840 vn -0.901395 0.041566 -0.430921 vn -0.868709 -0.017365 -0.494980 vn -0.790735 -0.017457 -0.611896 vn -0.879635 0.058931 -0.471938 vn -0.341166 -0.178961 -0.922788 vn -0.133610 -0.214393 -0.967559 vn -0.721335 -0.021363 -0.692251 vn 0.063082 -0.192572 -0.979247 vn 0.390637 -0.275704 -0.878262 vn 0.467299 -0.232612 -0.852901 vn 0.760765 -0.292093 -0.579547 vn 0.909574 -0.227912 -0.347392 vn 0.982208 -0.123386 0.141423 vn 0.948820 -0.090732 0.302469 vn 0.776177 0.009583 0.630421 vn 0.743645 0.105594 0.660176 vn 0.309030 0.138951 0.940825 vn 0.126255 0.242470 0.961882 vn -0.448775 0.172155 0.876888 vn -0.428205 0.272134 0.861721 vn -0.879910 0.118900 0.459975 vn -0.914914 -0.039583 -0.401685 vn -0.824366 -0.032655 -0.565081 vn 0.345317 0.404462 0.846828 vn 0.340403 0.592303 0.730247 vn 0.254799 0.565874 0.784082 vn 0.131382 0.334208 0.933287 vn 0.708640 -0.102084 0.698141 vn -0.262978 0.254433 0.930631 vn -0.526322 0.264870 0.807947 vn -0.940855 -0.242653 -0.236335 vn -0.697745 -0.447035 -0.559679 vn -0.751091 -0.247353 -0.612079 vn -0.916837 -0.303690 -0.259072 vn -0.828547 -0.206610 -0.520371 vn -0.862270 -0.350414 -0.365612 vn -0.789483 -0.216712 -0.574206 vn -0.421064 -0.368755 -0.828669 vn -0.203162 -0.331309 -0.921354 vn 0.396100 -0.232154 -0.888363 vn -0.105136 -0.212165 -0.971557 vn 0.358104 -0.204352 -0.911008 vn 0.249153 -0.266549 -0.931028 vn 0.743950 -0.231422 -0.626850 vn 0.835902 -0.100436 -0.539537 vn 0.990539 -0.026337 -0.134587 vn -0.773247 -0.152043 -0.615558 vn -0.948576 -0.079989 -0.306223 vn -0.872951 0.123447 -0.471847 vn -0.830622 -0.103549 -0.547105 vn 0.894528 0.139164 0.424757 vn 0.841487 0.204321 0.500076 vn 0.714835 0.131840 0.686697 vn 0.731681 -0.042726 0.680258 vn 0.056673 0.266610 0.962127 vn -0.379986 0.159581 0.911100 vn -0.913755 0.064333 0.401074 vn -0.531816 -0.210669 -0.820215 vn -0.992004 0.037660 -0.120304 vn -0.114170 -0.221229 -0.968505 vn 0.433699 -0.327036 -0.839595 vn -0.776818 0.040223 0.628407 vn -0.906644 0.265450 0.327860 vn -0.562883 -0.001129 -0.826502 vn -0.957427 0.234993 -0.167486 vn -0.091464 -0.177435 -0.979858 vn 0.445845 -0.328593 -0.832575 vn -0.716605 0.061312 0.694754 vn -0.873196 0.301889 0.382519 vn -0.618000 0.012879 -0.786035 vn -0.920713 0.350841 -0.170721 vn -0.185125 -0.072390 -0.980041 vn 0.360881 -0.343120 -0.867183 vn -0.547533 -0.018830 0.836543 vn -0.800958 0.325083 0.502731 vn -0.580035 0.068667 -0.811670 vn -0.806940 0.571306 -0.149724 vn -0.056185 -0.040834 -0.997559 vn 0.362987 -0.463393 -0.808374 vn 0.482772 -0.369335 -0.794031 vn 0.898709 -0.126041 -0.419965 vn 0.919553 -0.373455 -0.122166 vn 0.989380 -0.043733 0.138493 vn 0.997436 0.031159 0.063967 vn 0.896756 0.007263 0.442427 vn 0.832179 -0.173406 0.526627 vn 0.526322 -0.146428 0.837550 vn -0.463546 0.195929 0.864101 vn 0.921049 -0.301584 -0.246254 vn 0.449171 0.069369 0.890713 vn 0.106906 0.096438 0.989563 vn -0.534562 0.172308 0.827357 vn -0.910154 0.198950 0.363323 vn -0.594806 -0.002075 -0.803827 vn -0.914029 0.381512 -0.137669 vn -0.098392 0.055788 -0.993561 vn 0.420454 -0.241676 -0.874508 vn 0.475661 -0.286233 -0.831721 vn 0.962798 -0.246803 0.109775 vn 0.466506 -0.140019 0.873348 vn -0.374340 0.136906 0.917112 vn -0.562975 0.170751 0.808618 vn -0.994018 -0.063265 0.088931 vn -0.512070 -0.585253 0.628651 vn 0.030732 -0.635701 -0.771294 vn 0.316843 -0.948149 0.023957 vn 0.293283 -0.661153 0.690512 vn 0.858150 -0.510727 0.051881 vn 0.490921 -0.235664 -0.838710 vn 0.891446 -0.383831 -0.240669 vn -0.652882 0.097140 -0.751183 vn 0.113132 -0.162938 0.980102 vn -0.587207 0.253548 0.768670 vn -0.874416 0.390637 0.287637 vn -0.534471 0.151799 -0.831416 vn -0.744194 0.645985 -0.169744 vn 0.001892 0.135929 -0.990692 vn 0.429121 -0.304147 -0.850459 vn 0.502121 -0.335490 -0.797021 vn 0.864803 -0.426954 -0.264168 vn 0.905545 -0.423597 0.022797 vn 0.110477 0.000549 0.993866 vn -0.417615 0.170629 0.892422 vn -0.562670 0.261238 0.784295 vn -0.980712 0.194922 0.013764 vn -0.697439 -0.502426 0.510941 vn -0.072604 -0.578784 -0.812220 vn 0.013031 -0.996826 -0.078402 vn 0.037416 -0.807001 0.589312 vn 0.673818 -0.738884 0.002045 vn -0.012665 -0.317301 0.948210 vn 0.455092 -0.340526 0.822718 vn 0.803003 -0.544115 -0.243080 vn 0.484176 -0.332072 -0.809473 vn -0.499313 0.329997 -0.801080 vn -0.453627 0.212745 0.865413 vn -0.558641 0.271859 0.783563 vn -0.828730 0.478744 0.289773 vn -0.479934 0.293039 -0.826899 vn -0.674490 0.714957 -0.183996 vn -0.013337 0.253822 -0.967132 vn -0.421400 0.462996 -0.779748 vn -0.158818 -0.448897 -0.879330 vn 0.428358 -0.293069 -0.854732 vn 0.348613 -0.258187 -0.900967 vn 0.424329 -0.324595 -0.845302 vn 0.840358 -0.446120 -0.307779 vn 0.881069 -0.241981 0.406354 vn 0.554430 -0.196570 0.808649 vn 0.510880 -0.378704 0.771722 vn -0.433027 0.195776 0.879818 vn -0.463363 0.259529 0.847285 vn -0.687765 0.599109 0.409894 vn -0.271706 0.422285 -0.864742 vn 0.418653 -0.412305 -0.809137 vn 0.446120 -0.484085 -0.752739 vn 0.767663 -0.601337 -0.221412 vn 0.692618 -0.721183 0.011414 vn -0.064516 -0.128880 0.989532 vn -0.447401 0.260811 0.855434 vn -0.525956 0.334056 0.782128 vn -0.568468 0.807245 -0.158544 vn 0.150609 0.092990 -0.984191 vn 0.450117 -0.454756 -0.768487 vn 0.598315 -0.770043 -0.221412 vn 0.190802 -0.534684 0.823206 vn -0.253700 -0.218268 0.942320 vn -0.852840 -0.209876 0.478072 vn -0.860469 0.503342 -0.078768 vn -0.334788 0.463759 -0.820246 vn -0.106113 -0.491501 -0.864376 vn 0.446730 -0.894375 0.022034 vn -0.196661 -0.760552 0.618732 vn -0.158788 -0.987243 -0.009735 vn 0.051454 -0.056001 0.997101 vn -0.462569 0.192022 0.865535 vn -0.602771 0.305399 0.737144 vn -0.931089 0.358013 -0.069765 vn -0.813929 -0.373852 0.444624 vn -0.120701 -0.988098 -0.095065 vn -0.126469 -0.825770 0.549608 vn 0.567003 -0.823389 -0.021973 vn -0.148595 -0.339030 0.928953 vn 0.348674 -0.441084 0.826930 vn 0.734001 -0.624317 -0.267281 vn 0.851619 -0.523942 -0.014222 g mesh9.002_mesh9-geometry_male-02-1noCullingID_male-02-1noCulling.JP usemtl male-02-1noCullingID_male-02-1noCulling.JP s 1 f 2315/2726/2338 2316/2727/2339 2317/2728/2340 f 2315/2726/2338 2318/2729/2341 2316/2727/2339 f 2318/2730/2341 2315/2731/2338 2319/2732/2342 f 2319/2732/2342 2320/2733/2343 2318/2730/2341 f 2321/2734/2344 2320/2733/2343 2319/2732/2342 f 2321/2734/2344 2322/2735/2345 2320/2733/2343 f 2321/2734/2344 2323/2736/2346 2322/2735/2345 f 2323/2736/2346 2321/2734/2344 2324/2737/2347 f 2324/2737/2347 2321/2734/2344 2325/2738/2348 f 2321/2734/2344 2315/2731/2338 2325/2738/2348 f 2319/2732/2342 2315/2731/2338 2321/2734/2344 f 2325/2739/2348 2315/2726/2338 2326/2740/2349 f 2326/2740/2349 2327/2741/2350 2325/2739/2348 f 2328/2742/2351 2327/2741/2350 2326/2740/2349 f 2327/2741/2350 2328/2742/2351 2329/2743/2352 f 2329/2743/2352 2328/2742/2351 2330/2744/2353 f 2330/2744/2353 2328/2742/2351 2331/2745/2354 f 2328/2742/2351 2332/2746/2355 2331/2745/2354 f 2328/2742/2351 2326/2740/2349 2332/2746/2355 f 2326/2740/2349 2317/2728/2340 2332/2746/2355 f 2326/2740/2349 2315/2726/2338 2317/2728/2340 f 2332/2746/2355 2317/2728/2340 2316/2727/2339 f 2332/2746/2355 2316/2727/2339 2333/2747/2356 f 2333/2747/2356 2316/2727/2339 2318/2729/2341 f 2333/2748/2356 2318/2730/2341 2322/2735/2345 f 2322/2735/2345 2318/2730/2341 2320/2733/2343 f 2334/2749/2357 2333/2748/2356 2322/2735/2345 f 2331/2745/2354 2333/2747/2356 2334/2750/2357 f 2331/2745/2354 2332/2746/2355 2333/2747/2356 f 2335/2751/2358 2331/2745/2354 2334/2750/2357 f 2335/2751/2358 2330/2744/2353 2331/2745/2354 f 2336/2752/2359 2330/2744/2353 2335/2751/2358 f 2336/2752/2359 2337/2753/2360 2330/2744/2353 f 2338/2754/2361 2337/2753/2360 2336/2752/2359 f 2338/2754/2361 2339/2755/2362 2337/2753/2360 f 2340/2756/2363 2339/2755/2362 2338/2754/2361 f 2340/2756/2363 2341/2757/2364 2339/2755/2362 f 2342/2758/2365 2341/2757/2364 2340/2756/2363 f 2343/2759/2366 2341/2757/2364 2342/2758/2365 f 2343/2759/2366 2344/2760/2367 2341/2757/2364 f 2343/2759/2366 2345/2761/2368 2344/2760/2367 f 2346/2762/2369 2345/2761/2368 2343/2759/2366 f 2347/2763/2370 2345/2761/2368 2346/2762/2369 f 2347/2763/2370 2348/2764/2371 2345/2761/2368 f 2347/2763/2370 2349/2765/2372 2348/2764/2371 f 2347/2763/2370 2350/2766/2373 2349/2765/2372 f 2351/2767/2374 2350/2766/2373 2347/2763/2370 f 2351/2767/2374 2352/2768/2375 2350/2766/2373 f 2352/2768/2375 2353/2769/2376 2350/2766/2373 f 2354/2770/2377 2353/2769/2376 2352/2768/2375 f 2354/2770/2377 2355/2771/2378 2353/2769/2376 f 2356/2772/2379 2355/2771/2378 2354/2770/2377 f 2356/2772/2379 2357/2773/2380 2355/2771/2378 f 2356/2772/2379 2358/2774/2381 2357/2773/2380 f 2358/2774/2381 2359/2775/2382 2357/2773/2380 f 2357/2773/2380 2359/2775/2382 2360/2776/2383 f 2361/2777/2384 2360/2776/2383 2359/2775/2382 f 2361/2777/2384 2362/2778/2385 2360/2776/2383 f 2361/2777/2384 2363/2779/2386 2362/2778/2385 f 2363/2779/2386 2364/2780/2387 2362/2778/2385 f 2365/2781/2388 2364/2782/2387 2363/2783/2386 f 2365/2781/2388 2342/2758/2365 2364/2782/2387 f 2366/2784/2389 2342/2758/2365 2365/2781/2388 f 2366/2784/2389 2343/2759/2366 2342/2758/2365 f 2346/2762/2369 2343/2759/2366 2366/2784/2389 f 2366/2784/2389 2367/2785/2390 2346/2762/2369 f 2351/2767/2374 2346/2762/2369 2367/2785/2390 f 2351/2767/2374 2347/2763/2370 2346/2762/2369 f 2364/2782/2387 2342/2758/2365 2340/2756/2363 f 2364/2780/2387 2340/2786/2363 2368/2787/2391 f 2340/2786/2363 2338/2788/2361 2368/2787/2391 f 2368/2787/2391 2338/2788/2361 2369/2789/2392 f 2369/2789/2392 2338/2788/2361 2336/2790/2359 f 2369/2789/2392 2336/2790/2359 2370/2791/2393 f 2370/2791/2393 2336/2790/2359 2335/2792/2358 f 2370/2791/2393 2335/2792/2358 2371/2793/2394 f 2335/2792/2358 2334/2749/2357 2371/2793/2394 f 2371/2793/2394 2334/2749/2357 2323/2736/2346 f 2334/2749/2357 2322/2735/2345 2323/2736/2346 f 2371/2793/2394 2323/2736/2346 2372/2794/2395 f 2372/2794/2395 2323/2736/2346 2324/2737/2347 f 2372/2794/2395 2324/2737/2347 2327/2795/2350 f 2324/2737/2347 2325/2738/2348 2327/2795/2350 f 2372/2794/2395 2327/2795/2350 2373/2796/2396 f 2329/2743/2352 2373/2797/2396 2327/2741/2350 f 2329/2743/2352 2374/2798/2397 2373/2797/2396 f 2329/2743/2352 2375/2799/2398 2374/2798/2397 f 2376/2800/2399 2375/2799/2398 2329/2743/2352 f 2376/2800/2399 2377/2801/2400 2375/2799/2398 f 2378/2802/2401 2377/2801/2400 2376/2800/2399 f 2378/2802/2401 2379/2803/2402 2377/2801/2400 f 2380/2804/2403 2379/2803/2402 2378/2802/2401 f 2380/2804/2403 2381/2805/2404 2379/2803/2402 f 2382/2806/2405 2381/2805/2404 2380/2804/2403 f 2382/2806/2405 2383/2807/2406 2381/2805/2404 f 2382/2806/2405 2384/2808/2407 2383/2807/2406 f 2385/2809/2408 2384/2808/2407 2382/2806/2405 f 2385/2809/2408 2386/2810/2409 2384/2808/2407 f 2387/2811/2410 2386/2810/2409 2385/2809/2408 f 2388/2812/2411 2386/2810/2409 2387/2811/2410 f 2388/2812/2411 2389/2813/2412 2386/2810/2409 f 2388/2812/2411 2390/2814/2413 2389/2813/2412 f 2388/2812/2411 2357/2773/2380 2390/2814/2413 f 2355/2771/2378 2357/2773/2380 2388/2812/2411 f 2355/2771/2378 2388/2812/2411 2353/2769/2376 f 2353/2769/2376 2388/2812/2411 2387/2811/2410 f 2350/2766/2373 2353/2769/2376 2387/2811/2410 f 2350/2766/2373 2387/2811/2410 2349/2765/2372 f 2349/2765/2372 2387/2811/2410 2385/2809/2408 f 2349/2765/2372 2385/2809/2408 2391/2815/2414 f 2391/2815/2414 2385/2809/2408 2382/2806/2405 f 2391/2815/2414 2382/2806/2405 2380/2804/2403 f 2391/2815/2414 2380/2804/2403 2392/2816/2415 f 2380/2804/2403 2378/2802/2401 2392/2816/2415 f 2392/2816/2415 2378/2802/2401 2376/2800/2399 f 2392/2816/2415 2376/2800/2399 2393/2817/2416 f 2393/2817/2416 2376/2800/2399 2394/2818/2417 f 2376/2800/2399 2329/2743/2352 2394/2818/2417 f 2394/2818/2417 2329/2743/2352 2330/2744/2353 f 2394/2818/2417 2330/2744/2353 2337/2753/2360 f 2394/2818/2417 2337/2753/2360 2339/2755/2362 f 2393/2817/2416 2394/2818/2417 2339/2755/2362 f 2393/2817/2416 2339/2755/2362 2341/2757/2364 f 2344/2760/2367 2393/2817/2416 2341/2757/2364 f 2345/2761/2368 2393/2817/2416 2344/2760/2367 f 2345/2761/2368 2392/2816/2415 2393/2817/2416 f 2348/2764/2371 2392/2816/2415 2345/2761/2368 f 2348/2764/2371 2391/2815/2414 2392/2816/2415 f 2348/2764/2371 2349/2765/2372 2391/2815/2414 f 2357/2773/2380 2395/2819/2418 2390/2814/2413 f 2357/2773/2380 2360/2776/2383 2395/2819/2418 f 2360/2776/2383 2368/2787/2391 2395/2819/2418 f 2362/2778/2385 2368/2787/2391 2360/2776/2383 f 2364/2780/2387 2368/2787/2391 2362/2778/2385 f 2395/2819/2418 2368/2787/2391 2396/2820/2419 f 2396/2820/2419 2368/2787/2391 2369/2789/2392 f 2396/2820/2419 2369/2789/2392 2397/2821/2420 f 2369/2789/2392 2370/2791/2393 2397/2821/2420 f 2370/2791/2393 2372/2794/2395 2397/2821/2420 f 2370/2791/2393 2371/2793/2394 2372/2794/2395 f 2397/2821/2420 2372/2794/2395 2398/2822/2421 f 2398/2822/2421 2372/2794/2395 2399/2823/2422 f 2372/2794/2395 2373/2796/2396 2399/2823/2422 f 2373/2796/2396 2374/2824/2397 2399/2823/2422 f 2399/2823/2422 2374/2824/2397 2400/2825/2423 f 2374/2798/2397 2401/2826/2424 2400/2827/2423 f 2375/2799/2398 2401/2826/2424 2374/2798/2397 f 2402/2828/2425 2401/2826/2424 2375/2799/2398 f 2402/2828/2425 2403/2829/2426 2401/2826/2424 f 2402/2828/2425 2404/2830/2427 2403/2829/2426 f 2402/2828/2425 2405/2831/2428 2404/2830/2427 f 2377/2801/2400 2405/2831/2428 2402/2828/2425 f 2377/2801/2400 2406/2832/2429 2405/2831/2428 f 2377/2801/2400 2407/2833/2430 2406/2832/2429 f 2408/2834/2431 2407/2833/2430 2377/2801/2400 f 2408/2834/2431 2409/2835/2432 2407/2833/2430 f 2408/2834/2431 2410/2836/2433 2409/2835/2432 f 2408/2834/2431 2411/2837/2434 2410/2836/2433 f 2379/2803/2402 2411/2837/2434 2408/2834/2431 f 2379/2803/2402 2412/2838/2435 2411/2837/2434 f 2379/2803/2402 2413/2839/2436 2412/2838/2435 f 2414/2840/2437 2413/2839/2436 2379/2803/2402 f 2414/2840/2437 2415/2841/2438 2413/2839/2436 f 2414/2840/2437 2416/2842/2439 2415/2841/2438 f 2414/2840/2437 2417/2843/2440 2416/2842/2439 f 2381/2805/2404 2417/2843/2440 2414/2840/2437 f 2381/2805/2404 2418/2844/2441 2417/2843/2440 f 2381/2805/2404 2419/2845/2442 2418/2844/2441 f 2420/2846/2443 2419/2845/2442 2381/2805/2404 f 2420/2846/2443 2421/2847/2444 2419/2845/2442 f 2420/2846/2443 2422/2848/2445 2421/2847/2444 f 2420/2846/2443 2423/2849/2446 2422/2848/2445 f 2383/2807/2406 2423/2849/2446 2420/2846/2443 f 2383/2807/2406 2424/2850/2447 2423/2849/2446 f 2384/2808/2407 2424/2850/2447 2383/2807/2406 f 2425/2851/2448 2424/2850/2447 2384/2808/2407 f 2425/2851/2448 2426/2852/2449 2424/2850/2447 f 2425/2851/2448 2427/2853/2450 2426/2852/2449 f 2389/2813/2412 2427/2853/2450 2425/2851/2448 f 2389/2813/2412 2428/2854/2451 2427/2853/2450 f 2389/2813/2412 2390/2814/2413 2428/2854/2451 f 2390/2814/2413 2395/2819/2418 2428/2854/2451 f 2428/2854/2451 2395/2819/2418 2396/2820/2419 f 2428/2854/2451 2396/2820/2419 2429/2855/2452 f 2396/2820/2419 2397/2821/2420 2429/2855/2452 f 2429/2855/2452 2397/2821/2420 2430/2856/2453 f 2430/2856/2453 2397/2821/2420 2398/2822/2421 f 2430/2856/2453 2398/2822/2421 2431/2857/2454 f 2398/2822/2421 2432/2858/2455 2431/2857/2454 f 2398/2822/2421 2406/2859/2429 2432/2858/2455 f 2398/2822/2421 2433/2860/2456 2405/2861/2428 f 2398/2822/2421 2434/2862/2457 2433/2860/2456 f 2399/2823/2422 2434/2862/2457 2398/2822/2421 f 2399/2823/2422 2400/2825/2423 2434/2862/2457 f 2400/2825/2423 2435/2863/2458 2434/2862/2457 f 2400/2825/2423 2436/2864/2459 2435/2863/2458 f 2400/2827/2423 2401/2826/2424 2436/2865/2459 f 2401/2826/2424 2403/2829/2426 2436/2865/2459 f 2436/2865/2459 2403/2829/2426 2437/2866/2460 f 2438/2867/2461 2437/2866/2460 2403/2829/2426 f 2438/2867/2461 2439/2868/2462 2437/2866/2460 f 2438/2867/2461 2440/2869/2463 2439/2868/2462 f 2438/2867/2461 2441/2870/2464 2440/2869/2463 f 2404/2830/2427 2441/2870/2464 2438/2867/2461 f 2404/2830/2427 2442/2871/2465 2441/2870/2464 f 2405/2831/2428 2442/2871/2465 2404/2830/2427 f 2433/2860/2456 2442/2872/2465 2405/2861/2428 f 2433/2860/2456 2443/2873/2466 2442/2872/2465 f 2434/2862/2457 2443/2873/2466 2433/2860/2456 f 2443/2873/2466 2434/2862/2457 2435/2863/2458 f 2435/2863/2458 2444/2874/2467 2443/2873/2466 f 2435/2863/2458 2445/2875/2468 2444/2874/2467 f 2436/2864/2459 2445/2875/2468 2435/2863/2458 f 2437/2866/2460 2445/2876/2468 2436/2865/2459 f 2437/2866/2460 2446/2877/2469 2445/2876/2468 f 2437/2866/2460 2439/2868/2462 2446/2877/2469 f 2447/2878/2470 2446/2877/2469 2439/2868/2462 f 2447/2878/2470 2448/2879/2471 2446/2877/2469 f 2449/2880/2472 2448/2879/2471 2447/2878/2470 f 2450/2881/2473 2448/2882/2471 2449/2883/2472 f 2450/2881/2473 2451/2884/2474 2448/2882/2471 f 2450/2881/2473 2452/2885/2475 2451/2884/2474 f 2452/2885/2475 2450/2881/2473 2449/2883/2472 f 2453/2886/2476 2452/2885/2475 2449/2883/2472 f 2454/2887/2477 2452/2885/2475 2453/2886/2476 f 2452/2885/2475 2454/2887/2477 2444/2874/2467 f 2443/2873/2466 2444/2874/2467 2454/2887/2477 f 2443/2873/2466 2454/2887/2477 2441/2888/2464 f 2441/2888/2464 2454/2887/2477 2453/2886/2476 f 2441/2870/2464 2453/2889/2476 2440/2869/2463 f 2440/2869/2463 2453/2889/2476 2449/2880/2472 f 2440/2869/2463 2449/2880/2472 2455/2890/2478 f 2455/2890/2478 2449/2880/2472 2447/2878/2470 f 2455/2890/2478 2447/2878/2470 2439/2868/2462 f 2455/2890/2478 2439/2868/2462 2440/2869/2463 f 2443/2873/2466 2441/2888/2464 2442/2872/2465 f 2452/2885/2475 2444/2874/2467 2456/2891/2479 f 2445/2875/2468 2456/2891/2479 2444/2874/2467 f 2445/2875/2468 2446/2892/2469 2456/2891/2479 f 2446/2892/2469 2448/2882/2471 2456/2891/2479 f 2456/2891/2479 2448/2882/2471 2451/2884/2474 f 2456/2891/2479 2451/2884/2474 2452/2885/2475 f 2404/2830/2427 2438/2867/2461 2403/2829/2426 f 2407/2833/2430 2432/2893/2455 2406/2832/2429 f 2407/2833/2430 2457/2894/2480 2432/2893/2455 f 2407/2833/2430 2409/2835/2432 2457/2894/2480 f 2409/2835/2432 2458/2895/2481 2457/2894/2480 f 2459/2896/2482 2458/2895/2481 2409/2835/2432 f 2459/2896/2482 2460/2897/2483 2458/2895/2481 f 2459/2896/2482 2461/2898/2484 2460/2897/2483 f 2459/2896/2482 2462/2899/2485 2461/2898/2484 f 2410/2836/2433 2462/2899/2485 2459/2896/2482 f 2410/2836/2433 2463/2900/2486 2462/2899/2485 f 2411/2837/2434 2463/2900/2486 2410/2836/2433 f 2411/2901/2434 2464/2902/2487 2463/2903/2486 f 2430/2856/2453 2464/2902/2487 2411/2901/2434 f 2430/2856/2453 2431/2857/2454 2464/2902/2487 f 2464/2902/2487 2431/2857/2454 2465/2904/2488 f 2465/2904/2488 2431/2857/2454 2466/2905/2489 f 2432/2858/2455 2466/2905/2489 2431/2857/2454 f 2432/2858/2455 2457/2906/2480 2466/2905/2489 f 2457/2906/2480 2467/2907/2490 2466/2905/2489 f 2458/2895/2481 2467/2908/2490 2457/2894/2480 f 2458/2895/2481 2468/2909/2491 2467/2908/2490 f 2460/2897/2483 2468/2909/2491 2458/2895/2481 f 2469/2910/2492 2468/2909/2491 2460/2897/2483 f 2468/2909/2491 2469/2910/2492 2470/2911/2493 f 2471/2912/2494 2470/2911/2493 2469/2910/2492 f 2472/2913/2495 2470/2914/2493 2471/2915/2494 f 2472/2913/2495 2473/2916/2496 2470/2914/2493 f 2474/2917/2497 2473/2916/2496 2472/2913/2495 f 2474/2917/2497 2475/2918/2498 2473/2916/2496 f 2474/2917/2497 2476/2919/2499 2475/2918/2498 f 2474/2917/2497 2477/2920/2500 2476/2919/2499 f 2478/2921/2501 2477/2920/2500 2474/2917/2497 f 2462/2922/2485 2477/2920/2500 2478/2921/2501 f 2465/2904/2488 2477/2920/2500 2462/2922/2485 f 2465/2904/2488 2476/2919/2499 2477/2920/2500 f 2465/2904/2488 2466/2905/2489 2476/2919/2499 f 2466/2905/2489 2467/2907/2490 2476/2919/2499 f 2467/2907/2490 2475/2918/2498 2476/2919/2499 f 2467/2907/2490 2468/2923/2491 2475/2918/2498 f 2468/2923/2491 2470/2914/2493 2475/2918/2498 f 2475/2918/2498 2470/2914/2493 2473/2916/2496 f 2463/2903/2486 2465/2904/2488 2462/2922/2485 f 2464/2902/2487 2465/2904/2488 2463/2903/2486 f 2461/2898/2484 2462/2899/2485 2478/2924/2501 f 2461/2898/2484 2478/2924/2501 2471/2912/2494 f 2478/2921/2501 2474/2917/2497 2471/2915/2494 f 2474/2917/2497 2472/2913/2495 2471/2915/2494 f 2461/2898/2484 2471/2912/2494 2479/2925/2502 f 2479/2925/2502 2471/2912/2494 2469/2910/2492 f 2460/2897/2483 2479/2925/2502 2469/2910/2492 f 2461/2898/2484 2479/2925/2502 2460/2897/2483 f 2412/2838/2435 2413/2839/2436 2480/2926/2503 f 2413/2839/2436 2481/2927/2504 2480/2926/2503 f 2413/2839/2436 2415/2841/2438 2481/2927/2504 f 2415/2841/2438 2482/2928/2505 2481/2927/2504 f 2483/2929/2506 2482/2928/2505 2415/2841/2438 f 2483/2929/2506 2484/2930/2507 2482/2928/2505 f 2485/2931/2508 2484/2930/2507 2483/2929/2506 f 2485/2931/2508 2486/2932/2509 2484/2930/2507 f 2485/2931/2508 2487/2933/2510 2486/2932/2509 f 2485/2931/2508 2488/2934/2511 2487/2933/2510 f 2485/2931/2508 2489/2935/2512 2488/2934/2511 f 2483/2929/2506 2489/2935/2512 2485/2931/2508 f 2416/2842/2439 2489/2935/2512 2483/2929/2506 f 2416/2842/2439 2490/2936/2513 2489/2935/2512 f 2416/2842/2439 2417/2843/2440 2490/2936/2513 f 2417/2937/2440 2491/2938/2514 2490/2939/2513 f 2492/2940/2515 2491/2938/2514 2417/2937/2440 f 2492/2940/2515 2493/2941/2516 2491/2938/2514 f 2492/2940/2515 2430/2856/2453 2493/2941/2516 f 2492/2940/2515 2429/2855/2452 2430/2856/2453 f 2427/2853/2450 2429/2855/2452 2492/2940/2515 f 2428/2854/2451 2429/2855/2452 2427/2853/2450 f 2426/2852/2449 2427/2853/2450 2492/2940/2515 f 2426/2852/2449 2492/2940/2515 2494/2942/2517 f 2492/2940/2515 2495/2943/2518 2494/2942/2517 f 2492/2940/2515 2418/2944/2441 2495/2943/2518 f 2492/2940/2515 2417/2937/2440 2418/2944/2441 f 2418/2844/2441 2419/2845/2442 2495/2945/2518 f 2419/2845/2442 2496/2946/2519 2495/2945/2518 f 2419/2845/2442 2421/2847/2444 2496/2946/2519 f 2421/2847/2444 2497/2947/2520 2496/2946/2519 f 2421/2847/2444 2498/2948/2521 2497/2947/2520 f 2422/2848/2445 2498/2948/2521 2421/2847/2444 f 2422/2848/2445 2499/2949/2522 2498/2948/2521 f 2422/2848/2445 2500/2950/2523 2499/2949/2522 f 2422/2848/2445 2423/2849/2446 2500/2950/2523 f 2423/2849/2446 2501/2951/2524 2500/2950/2523 f 2423/2849/2446 2426/2852/2449 2501/2951/2524 f 2424/2850/2447 2426/2852/2449 2423/2849/2446 f 2426/2852/2449 2494/2942/2517 2501/2951/2524 f 2501/2951/2524 2494/2942/2517 2502/2952/2525 f 2502/2952/2525 2494/2942/2517 2503/2953/2526 f 2495/2943/2518 2503/2953/2526 2494/2942/2517 f 2495/2943/2518 2496/2954/2519 2503/2953/2526 f 2496/2954/2519 2504/2955/2527 2503/2953/2526 f 2496/2946/2519 2497/2947/2520 2504/2956/2527 f 2497/2947/2520 2505/2957/2528 2504/2956/2527 f 2497/2947/2520 2506/2958/2529 2505/2957/2528 f 2498/2948/2521 2506/2958/2529 2497/2947/2520 f 2498/2948/2521 2507/2959/2530 2506/2958/2529 f 2498/2948/2521 2499/2949/2522 2507/2959/2530 f 2507/2959/2530 2499/2949/2522 2508/2960/2531 f 2499/2949/2522 2509/2961/2532 2508/2960/2531 f 2502/2952/2525 2509/2961/2532 2499/2949/2522 f 2502/2952/2525 2510/2962/2533 2509/2961/2532 f 2502/2952/2525 2503/2953/2526 2510/2962/2533 f 2503/2953/2526 2504/2955/2527 2510/2962/2533 f 2504/2955/2527 2511/2963/2534 2510/2962/2533 f 2504/2955/2527 2505/2964/2528 2511/2963/2534 f 2505/2964/2528 2512/2965/2535 2511/2963/2534 f 2505/2957/2528 2513/2966/2536 2512/2967/2535 f 2506/2958/2529 2513/2966/2536 2505/2957/2528 f 2506/2958/2529 2514/2968/2537 2513/2966/2536 f 2507/2959/2530 2514/2968/2537 2506/2958/2529 f 2507/2959/2530 2515/2969/2538 2514/2968/2537 f 2507/2959/2530 2508/2960/2531 2515/2969/2538 f 2508/2960/2531 2516/2970/2539 2515/2969/2538 f 2508/2960/2531 2509/2961/2532 2516/2970/2539 f 2509/2961/2532 2510/2962/2533 2516/2970/2539 f 2516/2970/2539 2510/2962/2533 2511/2963/2534 f 2516/2970/2539 2511/2963/2534 2517/2971/2540 f 2511/2963/2534 2512/2965/2535 2517/2971/2540 f 2518/2972/2541 2517/2971/2540 2512/2965/2535 f 2516/2970/2539 2517/2971/2540 2518/2972/2541 f 2516/2970/2539 2518/2972/2541 2515/2969/2538 f 2518/2972/2541 2512/2965/2535 2515/2969/2538 f 2515/2969/2538 2512/2967/2535 2513/2966/2536 f 2514/2968/2537 2515/2969/2538 2513/2966/2536 f 2502/2952/2525 2499/2949/2522 2500/2950/2523 f 2500/2950/2523 2501/2951/2524 2502/2952/2525 f 2430/2856/2453 2480/2973/2503 2493/2941/2516 f 2480/2973/2503 2519/2974/2542 2493/2941/2516 f 2480/2973/2503 2481/2975/2504 2519/2974/2542 f 2481/2975/2504 2520/2976/2543 2519/2974/2542 f 2482/2928/2505 2520/2977/2543 2481/2927/2504 f 2482/2928/2505 2521/2978/2544 2520/2977/2543 f 2484/2930/2507 2521/2978/2544 2482/2928/2505 f 2522/2979/2545 2521/2978/2544 2484/2930/2507 f 2522/2979/2545 2523/2980/2546 2521/2978/2544 f 2487/2933/2510 2523/2980/2546 2522/2979/2545 f 2524/2981/2547 2523/2982/2546 2487/2983/2510 f 2524/2981/2547 2525/2984/2548 2523/2982/2546 f 2526/2985/2549 2525/2984/2548 2524/2981/2547 f 2526/2985/2549 2527/2986/2550 2525/2984/2548 f 2526/2985/2549 2528/2987/2551 2527/2986/2550 f 2529/2988/2552 2528/2987/2551 2526/2985/2549 f 2530/2989/2553 2528/2987/2551 2529/2988/2552 f 2530/2989/2553 2519/2974/2542 2528/2987/2551 f 2530/2989/2553 2493/2941/2516 2519/2974/2542 f 2491/2938/2514 2493/2941/2516 2530/2989/2553 f 2491/2938/2514 2530/2989/2553 2490/2939/2513 f 2490/2939/2513 2530/2989/2553 2489/2990/2512 f 2530/2989/2553 2529/2988/2552 2489/2990/2512 f 2489/2990/2512 2529/2988/2552 2488/2991/2511 f 2488/2991/2511 2529/2988/2552 2526/2985/2549 f 2488/2991/2511 2526/2985/2549 2487/2983/2510 f 2526/2985/2549 2524/2981/2547 2487/2983/2510 f 2519/2974/2542 2520/2976/2543 2528/2987/2551 f 2520/2976/2543 2527/2986/2550 2528/2987/2551 f 2520/2976/2543 2521/2992/2544 2527/2986/2550 f 2521/2992/2544 2523/2982/2546 2527/2986/2550 f 2527/2986/2550 2523/2982/2546 2525/2984/2548 f 2487/2933/2510 2522/2979/2545 2486/2932/2509 f 2484/2930/2507 2486/2932/2509 2522/2979/2545 f 2416/2842/2439 2483/2929/2506 2415/2841/2438 f 2410/2836/2433 2459/2896/2482 2409/2835/2432 f 2389/2813/2412 2425/2851/2448 2384/2808/2407 f 2389/2813/2412 2384/2808/2407 2386/2810/2409 f 2383/2807/2406 2420/2846/2443 2381/2805/2404 f 2381/2805/2404 2414/2840/2437 2379/2803/2402 f 2379/2803/2402 2408/2834/2431 2377/2801/2400 f 2375/2799/2398 2377/2801/2400 2402/2828/2425 g mesh9.002_mesh9-geometry_FrontColorNoCullingID_male-02-1noCulling.JP usemtl FrontColorNoCullingID_male-02-1noCulling.JP f 2398/2993/2421 2405/2994/2428 2406/2995/2429 f 2430/2996/2453 2411/2997/2434 2412/2998/2435 f 2430/2999/2453 2412/3000/2435 2480/3001/2503 o mesh10.002_mesh10-geometry v -17.376911 107.267654 10.626536 v -17.513220 106.120552 10.197070 v -16.671518 107.197556 10.372264 v -18.195976 106.450989 9.838389 v -17.973299 107.366150 10.156271 v -18.862438 106.995895 7.779521 v -17.737236 106.625847 7.804854 v -17.806618 106.657722 7.543258 v -19.009422 107.069511 7.537134 v -18.240459 108.393097 8.349224 v -17.300064 108.464417 8.314463 v -18.294319 108.525566 8.125278 v -17.298573 108.583061 8.076990 v -19.081184 110.040077 5.678270 v -17.420919 109.973549 5.099025 v -16.232397 108.277740 7.832600 v -16.129681 109.368294 4.790526 v -18.016541 109.713409 2.620876 v -16.404119 109.002426 2.205710 v -16.522728 106.697174 2.906340 v -16.964714 107.086327 5.644564 v -16.577364 106.947372 7.527525 v -16.558176 106.935158 7.790724 v -16.261406 108.181320 8.082028 v -16.698570 106.239670 10.040486 v -18.176559 107.251579 6.657430 v -20.267923 107.895592 6.801469 v -20.179464 109.698860 3.214209 v -21.350672 107.365646 5.707272 v -20.215752 109.415184 1.227624 v -22.316919 106.928261 0.927626 v -22.288828 105.136665 4.725232 v -22.783129 104.960007 0.420618 v -22.584242 103.282227 4.046473 v -22.005749 103.535545 -0.356128 v -22.289455 101.249710 3.368461 v -21.104254 100.701691 2.965601 v -20.963459 99.300407 5.997738 v -21.774773 99.634483 6.481232 v -20.437485 98.735107 7.629031 v -21.049866 98.947845 8.108858 v -20.905478 98.847046 8.305265 v -20.304390 98.644630 7.838060 v -19.417912 98.133369 8.858746 v -19.789677 98.162460 9.437785 v -19.572838 98.080742 9.535403 v -19.208157 98.053215 8.969969 v -17.354946 97.555794 9.285430 v -17.716221 97.628838 9.777460 v -17.112791 98.349968 9.625538 v -17.308599 98.528168 9.082318 v -18.906179 99.025352 9.423280 v -18.562794 99.070549 8.936002 v -17.521238 97.881897 8.800344 v -18.835388 98.249718 8.539461 v -19.034626 98.338844 8.417322 v -19.641617 98.828102 7.526909 v -19.760347 98.928413 7.315145 v -20.167364 99.539909 5.676567 v -19.900419 100.730919 2.734913 v -19.654203 100.971901 6.562263 v -18.568647 102.553543 3.025248 v -17.959000 104.129143 -0.980547 v -17.768106 105.517372 -0.015961 v -18.300552 104.569641 -1.975793 v -18.229446 106.123123 -1.516509 v -19.023310 106.136505 -4.765839 v -18.884289 107.506248 -4.005524 v -19.232662 108.730080 -7.042399 v -19.020920 109.944611 -5.989255 v -18.311964 110.797226 -5.251908 v -18.228333 108.519341 -3.516854 v -18.441082 109.840721 -2.754148 v -18.459230 111.979294 -4.225674 v -19.798107 110.380791 -2.547499 v -19.652304 112.640083 -3.648106 v -21.201654 110.486229 -2.026580 v -21.246763 112.739861 -3.555933 v -22.993052 108.498833 -2.719722 v -23.015020 111.355682 -4.750798 v -23.477495 107.054749 -3.597434 v -23.683786 109.854179 -6.051353 v -23.187931 108.460960 -7.262056 v -22.835588 105.703606 -4.545321 v -21.999945 108.160942 -7.526561 v -21.712038 105.303291 -4.906374 v -20.557138 108.081291 -7.600732 v -20.298285 105.321953 -5.080599 v -19.524569 103.577095 -2.034681 v -19.281923 103.060028 -1.043084 v -20.790972 102.982155 -0.766493 v -21.977062 103.984283 -1.342044 v -22.736330 105.310928 -0.598667 v -22.249483 107.286064 -0.093684 v -20.633987 109.299011 0.010293 v -18.561367 109.340744 0.727475 v -19.107285 109.406143 -0.303108 v -17.182232 108.645164 0.241064 v -17.906618 108.753281 -0.779323 v -17.083361 107.015388 -0.275250 v -18.114723 105.524803 3.893093 v -17.881840 106.482704 8.471236 v -18.679333 106.738060 9.231292 v -19.832336 106.663139 9.504215 v -21.021544 104.830231 9.052030 v -21.481344 102.952019 8.229349 v -21.804373 101.265411 7.169002 v -21.034220 99.884285 8.535503 v -20.879078 99.740982 8.699175 v -19.576227 98.907509 9.782914 v -19.359280 98.805450 9.863651 v -17.609083 98.187050 9.995308 v -19.110523 99.134270 9.324437 v -18.752918 99.188469 8.825676 v -19.453527 99.951775 7.907082 v -20.126141 99.937233 8.298296 v -20.255953 100.080070 8.118407 v -19.557358 100.100296 7.712302 v -20.603058 101.023445 7.015978 v -19.936909 99.936989 9.099360 v -19.108196 100.196449 8.684280 v -19.807774 99.812462 9.290793 v -18.988028 100.084663 8.889921 v -18.587036 98.969589 10.433309 v -20.557699 99.964317 9.815605 v -19.070868 98.975533 11.078537 v -18.851088 98.875900 11.178615 v -18.379118 98.867661 10.550390 v -16.491371 98.288261 11.046000 v -16.966330 98.322876 11.499227 v -16.254900 99.342430 11.494210 v -16.768883 99.024315 11.819242 v -18.539968 99.874077 11.641224 v -18.750904 100.001671 11.559605 v -20.216372 101.131981 10.447224 v -20.701538 100.084236 9.630715 v -20.357780 101.280899 10.283742 v -19.331137 101.335014 9.980295 v -19.457306 101.481438 9.802021 v -18.609888 101.112297 9.444986 v -18.725368 101.263268 9.263952 v -19.428965 102.758682 7.411986 v -20.177402 102.720345 8.071156 v -19.519444 101.367973 10.537334 v -18.709513 101.464928 10.106424 v -19.390583 101.249321 10.730927 v -18.588346 101.353264 10.308594 v -17.733162 100.146294 12.268170 v -20.201744 101.448669 11.302280 v -18.254383 100.233276 12.891383 v -18.043863 100.128624 13.015539 v -17.537308 100.038841 12.409687 v -15.533504 99.111237 13.545909 v -16.008617 99.250572 13.965205 v -15.185759 100.245842 14.071363 v -15.802469 100.001518 14.293250 v -17.747532 101.133339 13.467009 v -17.948696 101.262352 13.354057 v -19.895222 102.720909 11.754598 v -20.350452 101.558159 11.116702 v -20.029411 102.868401 11.583040 v -18.983982 102.949554 11.328488 v -19.103701 103.090599 11.144026 v -18.273563 102.654823 10.771112 v -18.386007 102.797020 10.581017 v -19.205397 104.718307 7.893387 v -19.789064 104.594322 8.844087 v -18.993055 103.450111 10.906176 v -19.790209 103.570137 11.598031 v -19.628117 103.451073 11.762913 v -18.848619 103.322784 11.080660 v -17.340542 102.274071 12.154015 v -17.809307 102.302597 12.826263 v -17.593864 102.179024 12.922918 v -17.140434 102.145515 12.271019 v -15.119991 100.954681 13.198359 v -15.608115 101.102242 13.621949 v -14.716628 102.138222 13.789561 v -15.316400 101.928268 14.042395 v -17.099112 103.200615 13.284437 v -17.294834 103.346443 13.182294 v -18.982492 104.701500 12.067080 v -19.117044 104.855530 11.904968 v -18.318661 105.088005 11.457877 v -17.707268 104.937080 10.886881 v -18.193487 103.606514 10.404160 v -18.055338 103.486305 10.588161 v -17.604458 104.784386 11.073109 v -18.202339 104.931511 11.630241 v -16.780312 103.655334 12.767265 v -16.429928 103.586143 12.221060 v -16.822453 102.522369 11.678032 v -16.636337 102.389725 11.810394 v -16.253693 103.434181 12.346616 v -16.594286 103.507286 12.883090 v -14.623205 102.183815 13.180477 v -14.931334 101.305191 12.734916 v -18.371292 103.947525 3.634737 v -17.630320 107.288841 -1.280550 v -20.905190 103.466812 -1.755175 v -17.198296 100.378487 11.814021 v -16.882072 101.468391 12.298309 v -17.342916 101.604652 12.882944 v -17.154808 101.472801 13.014328 v -16.704609 101.341232 12.446060 v -17.015593 100.269890 11.969578 v -15.301414 99.413803 13.093613 v -15.001475 100.290245 13.525256 v -18.087343 99.374161 9.976269 v -17.785223 100.264977 10.409544 v -18.215565 100.352776 11.025047 v -18.015570 100.222458 11.129117 v -17.599092 100.127998 10.527081 v -17.891727 99.267494 10.108040 v -16.425125 98.776253 10.595114 v -16.242682 99.342018 10.865849 vt 0.993746 0.377331 vt 0.984274 0.366115 vt 0.987662 0.378387 vt 0.697346 0.401186 vt 0.706796 0.392679 vt 0.700495 0.388564 vt 0.704318 0.400482 vt 0.726683 0.395249 vt 0.721644 0.385111 vt 0.725228 0.385327 vt 0.729349 0.393025 vt 0.722135 0.408521 vt 0.716945 0.415585 vt 0.723605 0.410603 vt 0.719612 0.416057 vt 0.747760 0.420556 vt 0.738857 0.434696 vt 0.969403 0.396187 vt 0.961053 0.423593 vt 0.978484 0.401632 vt 0.950104 0.414551 vt 0.945213 0.437702 vt 0.934406 0.428597 vt 0.919833 0.412106 vt 0.939910 0.388588 vt 0.962031 0.385539 vt 0.964464 0.384651 vt 0.971180 0.394473 vt 0.979968 0.399515 vt 0.982536 0.372393 vt 0.961855 0.372987 vt 0.959715 0.373394 vt 0.950214 0.373749 vt 0.753045 0.394400 vt 0.732329 0.380080 vt 0.767090 0.433785 vt 0.773344 0.400914 vt 0.778954 0.442165 vt 0.804877 0.432887 vt 0.797969 0.397565 vt 0.822848 0.428540 vt 0.816288 0.393237 vt 0.838777 0.427265 vt 0.835203 0.387488 vt 0.849323 0.385086 vt 0.845291 0.356207 vt 0.832307 0.357955 vt 0.841743 0.339759 vt 0.832002 0.339285 vt 0.832028 0.336783 vt 0.841283 0.337369 vt 0.838700 0.322195 vt 0.832613 0.321691 vt 0.832607 0.319265 vt 0.838295 0.319688 vt 0.835182 0.299431 vt 0.831863 0.302478 vt 0.825136 0.297565 vt 0.844736 0.301419 vt 0.844883 0.296242 vt 0.857058 0.312407 vt 0.852076 0.315188 vt 0.839260 0.304110 vt 0.844467 0.319202 vt 0.845295 0.321539 vt 0.850622 0.336184 vt 0.851400 0.338460 vt 0.856461 0.354312 vt 0.861754 0.386423 vt 0.877154 0.352174 vt 0.881665 0.392256 vt 0.879861 0.430471 vt 0.895140 0.428075 vt 0.878601 0.441998 vt 0.892546 0.443643 vt 0.876422 0.467606 vt 0.890079 0.468429 vt 0.874243 0.493215 vt 0.887612 0.493215 vt 0.898713 0.493215 vt 0.901300 0.468885 vt 0.914541 0.469928 vt 0.912104 0.493215 vt 0.926248 0.473000 vt 0.924923 0.493215 vt 0.777815 0.493214 vt 0.788828 0.470616 vt 0.774519 0.475336 vt 0.792147 0.493214 vt 0.810045 0.467981 vt 0.813397 0.493214 vt 0.827193 0.466755 vt 0.829384 0.493214 vt 0.843415 0.493214 vt 0.841922 0.466748 vt 0.851245 0.493214 vt 0.851582 0.466764 vt 0.861696 0.493215 vt 0.863173 0.467105 vt 0.864651 0.440995 vt 0.865394 0.427650 vt 0.851636 0.426626 vt 0.840429 0.440282 vt 0.825002 0.440297 vt 0.806694 0.442747 vt 0.785509 0.448018 vt 0.762723 0.451863 vt 0.771222 0.457457 vt 0.920691 0.438203 vt 0.927573 0.452785 vt 0.931385 0.446349 vt 0.916978 0.446641 vt 0.906389 0.434874 vt 0.753145 0.447725 vt 0.910549 0.395983 vt 0.944324 0.359463 vt 0.953189 0.359732 vt 0.758004 0.370058 vt 0.744729 0.369419 vt 0.777280 0.364488 vt 0.797158 0.361121 vt 0.815656 0.362043 vt 0.823358 0.339150 vt 0.824318 0.336994 vt 0.825495 0.320386 vt 0.825991 0.318272 vt 0.827717 0.301978 vt 0.822079 0.316137 vt 0.822734 0.318800 vt 0.858454 0.314449 vt 0.853261 0.317369 vt 0.861677 0.332578 vt 0.866684 0.327959 vt 0.867742 0.329794 vt 0.863459 0.335139 vt 0.873203 0.339909 vt 0.870801 0.325210 vt 0.877706 0.325839 vt 0.870459 0.323285 vt 0.877560 0.323310 vt 0.866378 0.301314 vt 0.814549 0.306647 vt 0.811983 0.330197 vt 0.817912 0.328789 vt 0.811112 0.307917 vt 0.810067 0.305791 vt 0.814963 0.303828 vt 0.810835 0.282897 vt 0.807965 0.288060 vt 0.795659 0.284233 vt 0.801325 0.288318 vt 0.799414 0.306143 vt 0.798382 0.308396 vt 0.798861 0.330516 vt 0.813218 0.332350 vt 0.817001 0.331221 vt 0.798302 0.332943 vt 0.793354 0.329966 vt 0.794037 0.332580 vt 0.889094 0.320664 vt 0.894703 0.320787 vt 0.894349 0.318994 vt 0.889745 0.323164 vt 0.897754 0.351619 vt 0.896814 0.332107 vt 0.898425 0.320202 vt 0.904603 0.321478 vt 0.898684 0.318387 vt 0.905093 0.319006 vt 0.902026 0.295486 vt 0.785925 0.304046 vt 0.786758 0.327916 vt 0.791077 0.326323 vt 0.782276 0.305804 vt 0.781055 0.303729 vt 0.785971 0.301234 vt 0.779989 0.278040 vt 0.775597 0.283522 vt 0.762220 0.281377 vt 0.768663 0.284897 vt 0.770515 0.305775 vt 0.770439 0.308156 vt 0.774083 0.331730 vt 0.787873 0.330206 vt 0.791126 0.329036 vt 0.774233 0.334250 vt 0.769489 0.331342 vt 0.770169 0.333939 vt 0.918600 0.322072 vt 0.926114 0.325608 vt 0.926284 0.323578 vt 0.918580 0.324491 vt 0.920565 0.354188 vt 0.924017 0.340951 vt 0.931537 0.323133 vt 0.767926 0.334747 vt 0.776691 0.361190 vt 0.764410 0.336329 vt 0.762541 0.334375 vt 0.767854 0.331904 vt 0.758534 0.311496 vt 0.754683 0.313896 vt 0.752787 0.312208 vt 0.758122 0.308907 vt 0.745408 0.287643 vt 0.744333 0.293141 vt 0.731682 0.293269 vt 0.736782 0.296115 vt 0.742237 0.315892 vt 0.742103 0.318393 vt 0.750340 0.339960 vt 0.749743 0.342660 vt 0.743688 0.344323 vt 0.952908 0.332655 vt 0.960494 0.333581 vt 0.938718 0.326505 vt 0.939946 0.324267 vt 0.953629 0.330325 vt 0.961101 0.331237 vt 0.741987 0.342361 vt 0.737065 0.319390 vt 0.960397 0.307742 vt 0.966383 0.309103 vt 0.949134 0.303815 vt 0.950119 0.301520 vt 0.961060 0.305349 vt 0.966864 0.306636 vt 0.735690 0.317062 vt 0.966130 0.285353 vt 0.970574 0.282728 vt 0.957948 0.282343 vt 0.956433 0.277603 vt 0.943931 0.298774 vt 0.942679 0.301053 vt 0.932481 0.321130 vt 0.895802 0.392327 vt 0.903886 0.444556 vt 0.851918 0.440313 vt 0.908810 0.296921 vt 0.920462 0.298407 vt 0.927581 0.299140 vt 0.765884 0.307496 vt 0.765167 0.304946 vt 0.920626 0.295942 vt 0.927522 0.296474 vt 0.909250 0.294502 vt 0.913244 0.274148 vt 0.921779 0.274672 vt 0.925130 0.270285 vt 0.910802 0.268862 vt 0.902655 0.292910 vt 0.796722 0.357180 vt 0.874436 0.301118 vt 0.883996 0.299235 vt 0.890029 0.297738 vt 0.793291 0.307326 vt 0.793491 0.304796 vt 0.883330 0.296854 vt 0.889264 0.295324 vt 0.874160 0.298673 vt 0.872675 0.281098 vt 0.877922 0.280152 vt 0.880866 0.275831 vt 0.868285 0.277360 vt 0.866275 0.298789 vt 0.816882 0.349406 vt 0.820627 0.336291 vt 0.820313 0.333518 vt -22.076759 54.249214 vt -21.650667 57.049053 vt -22.844391 57.488297 vt -21.724340 54.575508 vt -21.730633 56.822567 vt -22.996489 57.242767 vn -0.215522 0.419691 0.881680 vn -0.077273 -0.929685 0.360057 vn 0.570788 0.258339 0.779382 vn -0.758538 -0.353679 0.547227 vn -0.779168 0.314035 0.542436 vn -0.771477 -0.618976 0.147160 vn 0.021851 -0.990143 -0.138279 vn -0.178167 -0.950499 -0.254494 vn -0.835414 -0.419233 0.355358 vn -0.574450 0.631550 0.520676 vn 0.130741 0.878018 0.460372 vn -0.404248 0.660054 0.633137 vn 0.189276 0.880215 0.435163 vn -0.271645 0.887997 0.370952 vn 0.232154 0.964965 0.122227 vn 0.889096 0.405957 0.211341 vn 0.948546 0.314035 -0.039949 vn 0.166601 0.969543 -0.179388 vn 0.732627 0.615314 -0.290902 vn 0.929472 -0.362438 -0.068575 vn 0.870479 -0.484756 0.085238 vn 0.677419 -0.723014 -0.135166 vn 0.694662 -0.707785 -0.128208 vn 0.848842 0.436628 0.297952 vn 0.790155 -0.552263 0.265694 vn -0.096622 0.995025 -0.023194 vn -0.827021 0.368236 0.424726 vn -0.464431 0.884945 0.034120 vn -0.869839 0.435804 0.231056 vn -0.471816 0.881039 -0.032929 vn -0.885250 0.447554 0.126438 vn -0.964629 0.161016 0.208625 vn -0.999908 -0.005158 -0.010071 vn -0.992676 -0.103427 0.062319 vn -0.785455 -0.538835 -0.304422 vn -0.773095 -0.573992 -0.269845 vn -0.230934 -0.852626 -0.468642 vn -0.258919 -0.904172 -0.339671 vn -0.857448 -0.512070 0.050203 vn -0.215491 -0.940184 -0.263741 vn -0.797082 -0.547777 0.254036 vn -0.664083 -0.716422 0.213782 vn -0.140843 -0.933714 -0.329051 vn -0.211951 -0.933042 -0.290628 vn -0.586047 -0.624592 0.516129 vn -0.342692 -0.847682 0.404889 vn -0.172765 -0.920530 -0.350322 vn 0.362865 -0.888760 -0.279946 vn 0.280038 -0.676931 0.680654 vn 0.739891 0.365398 0.564806 vn 0.778191 0.532548 -0.332804 vn 0.261391 0.861721 0.434858 vn 0.479446 0.795618 -0.370251 vn 0.426374 -0.101108 -0.898862 vn 0.233711 -0.405957 -0.883480 vn 0.435621 -0.520951 -0.734001 vn 0.559832 -0.557329 -0.613117 vn 0.628803 -0.626728 -0.460189 vn 0.430464 -0.823115 -0.370312 vn 0.584613 -0.763970 -0.272988 vn 0.914853 -0.385083 -0.121189 vn 0.938902 -0.335856 0.075014 vn 0.813074 -0.499466 -0.298959 vn 0.977111 -0.188299 -0.098880 vn 0.879727 -0.260048 -0.398022 vn 0.907743 -0.196600 -0.370525 vn 0.840358 -0.337779 -0.423841 vn 0.934263 -0.176061 -0.310038 vn 0.839442 -0.323954 -0.436262 vn 0.936125 -0.188849 -0.296609 vn 0.972839 -0.123905 -0.195471 vn 0.962676 -0.078890 -0.258858 vn 0.820276 0.507065 0.264504 vn 0.710868 0.351909 0.608936 vn 0.334880 0.704947 0.625172 vn 0.335765 0.440260 0.832698 vn -0.283181 0.636525 0.717338 vn -0.473128 0.494980 0.728751 vn -0.849757 0.301737 0.432234 vn -0.889492 0.256569 0.378033 vn -0.987396 -0.143437 0.066775 vn -0.997711 -0.016297 0.065249 vn -0.816858 -0.442915 -0.369457 vn -0.657674 -0.637989 -0.400464 vn -0.278664 -0.673666 -0.684439 vn -0.270058 -0.778161 -0.567003 vn 0.133213 -0.662099 -0.737449 vn 0.254250 -0.735801 -0.627613 vn 0.379955 -0.768517 -0.514756 vn 0.170934 -0.855342 -0.489029 vn -0.324595 -0.835871 -0.442610 vn -0.690695 -0.680135 -0.245552 vn -0.989837 -0.135868 0.041780 vn -0.883053 0.391522 0.258644 vn -0.328623 0.903226 0.275979 vn 0.175390 0.971648 -0.158483 vn 0.300333 0.946196 0.120396 vn 0.757469 0.561693 -0.332682 vn 0.844783 0.493576 -0.206610 vn 0.913480 -0.218024 -0.343486 vn 0.834712 -0.542802 0.092563 vn 0.992279 -0.114658 0.046815 vn 0.373333 0.845027 0.382733 vn -0.222114 0.837764 0.498764 vn -0.846217 0.272866 0.457595 vn -0.923093 0.051515 0.381054 vn -0.917447 -0.079897 0.389721 vn -0.537461 0.426344 0.727531 vn -0.472549 0.406110 0.782128 vn -0.325968 0.406903 0.853298 vn -0.108890 0.309854 0.944517 vn 0.142399 -0.098270 0.984893 vn 0.230079 0.864650 0.446547 vn 0.678579 0.695517 -0.236061 vn 0.789239 0.613056 -0.035096 vn 0.196081 0.837092 0.510666 vn 0.221809 0.797662 0.560778 vn 0.840388 0.529588 0.115177 vn 0.334758 0.468001 0.817835 vn -0.216010 -0.903104 -0.371105 vn 0.604419 -0.580737 -0.545305 vn -0.150853 -0.879971 -0.450392 vn 0.529588 -0.502213 -0.683584 vn -0.190527 -0.887265 -0.420026 vn -0.674429 -0.720267 0.162175 vn -0.604266 -0.625813 0.493118 vn -0.390881 -0.856594 0.336802 vn -0.120212 -0.855831 -0.503067 vn 0.420209 -0.871181 -0.253822 vn 0.252602 -0.714133 0.652791 vn 0.717795 0.240974 0.653188 vn 0.100528 -0.180059 0.978484 vn -0.133000 0.230659 0.963866 vn -0.294259 0.355602 0.887082 vn -0.410535 0.430525 0.803797 vn -0.828669 -0.491745 0.267312 vn -0.492691 0.499771 0.712333 vn 0.321848 0.831477 0.452773 vn 0.331950 0.824458 0.458327 vn 0.826441 0.535295 -0.174352 vn 0.870174 0.488662 -0.063173 vn 0.950926 -0.289682 -0.108676 vn 0.567797 0.641255 0.516098 vn -0.276650 -0.893338 -0.354076 vn 0.537400 -0.640309 -0.548753 vn -0.236763 -0.895871 -0.375896 vn 0.467971 -0.568590 -0.676504 vn -0.260109 -0.905698 -0.334666 vn -0.678854 -0.703665 0.209723 vn -0.644734 -0.585131 0.491836 vn -0.532701 -0.776116 0.337352 vn -0.193884 -0.898679 -0.393414 vn 0.289193 -0.956603 -0.034822 vn 0.033235 -0.686331 0.726493 vn 0.559832 0.210486 0.801386 vn -0.151097 -0.090701 0.984344 vn -0.281716 0.295572 0.912809 vn -0.344920 0.376843 0.859645 vn -0.420026 0.456191 0.784478 vn -0.844111 -0.452223 0.287912 vn -0.505844 0.536363 0.675558 vn 0.311228 0.849940 0.425092 vn 0.353282 0.829829 0.431867 vn 0.819727 0.526078 -0.226356 vn 0.885769 0.456710 -0.082461 vn 0.895016 -0.419660 -0.150853 vn 0.665639 0.595416 0.449843 vn -0.281930 -0.891171 -0.355327 vn -0.836940 -0.340312 0.428571 vn -0.673696 -0.685202 0.276772 vn -0.251747 -0.866939 -0.430128 vn -0.305582 -0.864467 -0.399091 vn -0.620167 -0.530412 0.577929 vn -0.566881 -0.756310 0.326456 vn -0.270180 -0.843287 -0.464553 vn 0.243660 -0.957762 -0.152623 vn 0.025300 -0.725333 0.687918 vn 0.634663 0.170812 0.753655 vn -0.093905 -0.086306 0.991821 vn -0.187719 0.333018 0.924009 vn -0.215979 0.398999 0.891110 vn -0.275307 0.500992 0.820460 vn -0.367534 0.617817 0.695090 vn 0.328898 0.799676 0.502304 vn 0.922575 0.382916 -0.047029 vn 0.445936 -0.697684 -0.560656 vn 0.394391 -0.549730 -0.736351 vn 0.829981 0.520554 -0.200262 vn 0.336100 0.806543 0.486312 vn 0.347636 0.807337 0.476760 vn 0.756615 0.587024 -0.287912 vn 0.339579 -0.451766 -0.824946 vn 0.293954 -0.389050 -0.873043 vn 0.697653 0.626972 -0.346599 vn 0.354320 0.805048 0.475723 vn 0.949767 0.306619 -0.062105 vn 0.646718 -0.244331 -0.722495 vn 0.969024 -0.185827 0.162542 vn 0.921445 -0.033815 -0.386944 vn -0.198401 -0.877712 -0.436140 vn 0.424177 -0.492508 -0.759911 vn 0.745201 0.589038 -0.312510 vn 0.292367 0.855922 0.426466 vn 0.284188 0.848842 0.445692 vn 0.679220 0.635639 -0.366863 vn 0.377392 -0.443007 -0.813196 vn 0.696188 -0.294595 -0.654592 vn 0.943663 0.330607 0.013276 vn 0.460524 -0.409650 -0.787439 vn 0.735649 0.608081 -0.298349 vn 0.323283 0.840297 0.435163 vn 0.335398 0.844081 0.418317 vn 0.587359 0.700156 -0.405896 vn 0.322214 -0.304086 -0.896481 vn 0.554369 -0.108127 -0.825190 vn 0.876644 0.430097 -0.215583 g mesh10.002_mesh10-geometry_male-02-1noCullingID_male-02-1noCulling.JP usemtl male-02-1noCullingID_male-02-1noCulling.JP s 1 f 2531/3002/2554 2532/3003/2555 2533/3004/2556 f 2531/3005/2554 2534/3006/2557 2532/3007/2555 f 2534/3006/2557 2531/3005/2554 2535/3008/2558 f 2536/3009/2559 2534/3006/2557 2535/3008/2558 f 2532/3007/2555 2534/3006/2557 2536/3009/2559 f 2532/3007/2555 2536/3009/2559 2537/3010/2560 f 2537/3010/2560 2536/3009/2559 2538/3011/2561 f 2538/3011/2561 2536/3009/2559 2539/3012/2562 f 2539/3012/2562 2536/3009/2559 2540/3013/2563 f 2536/3009/2559 2535/3008/2558 2540/3013/2563 f 2531/3005/2554 2540/3013/2563 2535/3008/2558 f 2540/3013/2563 2531/3005/2554 2541/3014/2564 f 2541/3014/2564 2542/3015/2565 2540/3013/2563 f 2543/3016/2566 2542/3015/2565 2541/3014/2564 f 2543/3016/2566 2544/3017/2567 2542/3015/2565 f 2543/3016/2566 2545/3018/2568 2544/3017/2567 f 2546/3019/2569 2545/3020/2568 2543/3021/2566 f 2547/3022/2570 2545/3020/2568 2546/3019/2569 f 2547/3022/2570 2548/3023/2571 2545/3020/2568 f 2547/3022/2570 2549/3024/2572 2548/3023/2571 f 2549/3024/2572 2547/3022/2570 2550/3025/2573 f 2550/3025/2573 2547/3022/2570 2551/3026/2574 f 2547/3022/2570 2552/3027/2575 2551/3026/2574 f 2547/3022/2570 2546/3019/2569 2552/3027/2575 f 2552/3027/2575 2546/3019/2569 2553/3028/2576 f 2553/3028/2576 2546/3019/2569 2554/3029/2577 f 2546/3019/2569 2543/3021/2566 2554/3029/2577 f 2554/3029/2577 2543/3021/2566 2541/3030/2564 f 2554/3029/2577 2541/3030/2564 2533/3004/2556 f 2541/3030/2564 2531/3002/2554 2533/3004/2556 f 2554/3029/2577 2533/3004/2556 2555/3031/2578 f 2533/3004/2556 2532/3003/2555 2555/3031/2578 f 2553/3028/2576 2555/3031/2578 2532/3003/2555 f 2553/3028/2576 2554/3029/2577 2555/3031/2578 f 2553/3028/2576 2532/3003/2555 2537/3032/2560 f 2553/3028/2576 2537/3032/2560 2552/3027/2575 f 2552/3027/2575 2537/3032/2560 2538/3033/2561 f 2552/3027/2575 2538/3033/2561 2551/3026/2574 f 2551/3026/2574 2538/3033/2561 2556/3034/2579 f 2538/3011/2561 2557/3035/2580 2556/3036/2579 f 2538/3011/2561 2539/3012/2562 2557/3035/2580 f 2542/3015/2565 2557/3035/2580 2539/3012/2562 f 2542/3015/2565 2544/3017/2567 2557/3035/2580 f 2558/3037/2581 2557/3035/2580 2544/3017/2567 f 2558/3037/2581 2559/3038/2582 2557/3035/2580 f 2560/3039/2583 2559/3038/2582 2558/3037/2581 f 2561/3040/2584 2559/3038/2582 2560/3039/2583 f 2561/3040/2584 2562/3041/2585 2559/3038/2582 f 2563/3042/2586 2562/3041/2585 2561/3040/2584 f 2563/3042/2586 2564/3043/2587 2562/3041/2585 f 2565/3044/2588 2564/3043/2587 2563/3042/2586 f 2565/3044/2588 2566/3045/2589 2564/3043/2587 f 2567/3046/2590 2566/3045/2589 2565/3044/2588 f 2568/3047/2591 2566/3045/2589 2567/3046/2590 f 2568/3047/2591 2569/3048/2592 2566/3045/2589 f 2570/3049/2593 2569/3048/2592 2568/3047/2591 f 2570/3049/2593 2571/3050/2594 2569/3048/2592 f 2570/3049/2593 2572/3051/2595 2571/3050/2594 f 2573/3052/2596 2572/3051/2595 2570/3049/2593 f 2574/3053/2597 2572/3051/2595 2573/3052/2596 f 2574/3053/2597 2575/3054/2598 2572/3051/2595 f 2574/3053/2597 2576/3055/2599 2575/3054/2598 f 2577/3056/2600 2576/3055/2599 2574/3053/2597 f 2578/3057/2601 2576/3055/2599 2577/3056/2600 f 2578/3057/2601 2579/3058/2602 2576/3055/2599 f 2578/3057/2601 2580/3059/2603 2579/3058/2602 f 2581/3060/2604 2580/3061/2603 2578/3057/2601 f 2580/3061/2603 2581/3060/2604 2582/3062/2605 f 2581/3060/2604 2583/3063/2606 2582/3062/2605 f 2583/3063/2606 2581/3060/2604 2584/3064/2607 f 2584/3064/2607 2581/3060/2604 2578/3057/2601 f 2578/3057/2601 2585/3065/2608 2584/3064/2607 f 2578/3057/2601 2577/3056/2600 2585/3065/2608 f 2585/3065/2608 2577/3056/2600 2586/3066/2609 f 2586/3066/2609 2577/3056/2600 2574/3053/2597 f 2586/3066/2609 2574/3053/2597 2587/3067/2610 f 2574/3053/2597 2573/3052/2596 2587/3067/2610 f 2587/3067/2610 2573/3052/2596 2588/3068/2611 f 2588/3068/2611 2573/3052/2596 2570/3049/2593 f 2588/3068/2611 2570/3049/2593 2589/3069/2612 f 2589/3069/2612 2570/3049/2593 2568/3047/2591 f 2589/3069/2612 2568/3047/2591 2567/3046/2590 f 2590/3070/2613 2589/3069/2612 2567/3046/2590 f 2590/3070/2613 2591/3071/2614 2589/3069/2612 f 2590/3070/2613 2592/3072/2615 2591/3071/2614 f 2593/3073/2616 2592/3072/2615 2590/3070/2613 f 2593/3073/2616 2594/3074/2617 2592/3072/2615 f 2595/3075/2618 2594/3074/2617 2593/3073/2616 f 2595/3075/2618 2596/3076/2619 2594/3074/2617 f 2597/3077/2620 2596/3076/2619 2595/3075/2618 f 2597/3077/2620 2598/3078/2621 2596/3076/2619 f 2599/3079/2622 2598/3078/2621 2597/3077/2620 f 2599/3079/2622 2600/3080/2623 2598/3078/2621 f 2600/3080/2623 2601/3081/2624 2598/3078/2621 f 2601/3081/2624 2602/3082/2625 2598/3078/2621 f 2601/3081/2624 2603/3083/2626 2602/3082/2625 f 2601/3081/2624 2604/3084/2627 2603/3083/2626 f 2604/3084/2627 2605/3085/2628 2603/3083/2626 f 2606/3086/2629 2605/3085/2628 2604/3084/2627 f 2606/3087/2629 2607/3088/2630 2605/3089/2628 f 2608/3090/2631 2607/3088/2630 2606/3087/2629 f 2608/3090/2631 2609/3091/2632 2607/3088/2630 f 2610/3092/2633 2609/3091/2632 2608/3090/2631 f 2610/3092/2633 2611/3093/2634 2609/3091/2632 f 2612/3094/2635 2611/3093/2634 2610/3092/2633 f 2613/3095/2636 2611/3093/2634 2612/3094/2635 f 2613/3095/2636 2614/3096/2637 2611/3093/2634 f 2615/3097/2638 2614/3096/2637 2613/3095/2636 f 2615/3097/2638 2616/3098/2639 2614/3096/2637 f 2615/3097/2638 2617/3099/2640 2616/3098/2639 f 2617/3099/2640 2618/3100/2641 2616/3098/2639 f 2599/3079/2622 2618/3100/2641 2617/3099/2640 f 2599/3079/2622 2597/3077/2620 2618/3100/2641 f 2597/3077/2620 2619/3101/2642 2618/3100/2641 f 2595/3075/2618 2619/3101/2642 2597/3077/2620 f 2593/3073/2616 2619/3101/2642 2595/3075/2618 f 2593/3073/2616 2620/3102/2643 2619/3101/2642 f 2593/3073/2616 2590/3070/2613 2620/3102/2643 f 2620/3102/2643 2590/3070/2613 2567/3046/2590 f 2620/3102/2643 2567/3046/2590 2621/3103/2644 f 2621/3103/2644 2567/3046/2590 2565/3044/2588 f 2621/3103/2644 2565/3044/2588 2622/3104/2645 f 2622/3104/2645 2565/3044/2588 2623/3105/2646 f 2623/3105/2646 2565/3044/2588 2563/3042/2586 f 2623/3105/2646 2563/3042/2586 2624/3106/2647 f 2624/3106/2647 2563/3042/2586 2561/3040/2584 f 2624/3106/2647 2561/3040/2584 2625/3107/2648 f 2625/3107/2648 2561/3040/2584 2560/3039/2583 f 2626/3108/2649 2625/3107/2648 2560/3039/2583 f 2626/3108/2649 2627/3109/2650 2625/3107/2648 f 2628/3110/2651 2627/3111/2650 2626/3112/2649 f 2628/3110/2651 2629/3113/2652 2627/3111/2650 f 2629/3113/2652 2628/3110/2651 2630/3114/2653 f 2630/3114/2653 2628/3110/2651 2550/3025/2573 f 2628/3110/2651 2549/3024/2572 2550/3025/2573 f 2549/3024/2572 2628/3110/2651 2626/3112/2649 f 2549/3024/2572 2626/3112/2649 2548/3023/2571 f 2548/3115/2571 2626/3108/2649 2560/3039/2583 f 2548/3115/2571 2560/3039/2583 2558/3037/2581 f 2545/3018/2568 2548/3115/2571 2558/3037/2581 f 2545/3018/2568 2558/3037/2581 2544/3017/2567 f 2550/3025/2573 2631/3116/2654 2630/3114/2653 f 2550/3025/2573 2551/3026/2574 2631/3116/2654 f 2631/3116/2654 2551/3026/2574 2632/3117/2655 f 2551/3026/2574 2633/3118/2656 2632/3117/2655 f 2551/3026/2574 2556/3034/2579 2633/3118/2656 f 2556/3036/2579 2634/3119/2657 2633/3120/2656 f 2556/3036/2579 2557/3035/2580 2634/3119/2657 f 2557/3035/2580 2635/3121/2658 2634/3119/2657 f 2559/3038/2582 2635/3121/2658 2557/3035/2580 f 2559/3038/2582 2636/3122/2659 2635/3121/2658 f 2562/3041/2585 2636/3122/2659 2559/3038/2582 f 2562/3041/2585 2637/3123/2660 2636/3122/2659 f 2564/3043/2587 2637/3123/2660 2562/3041/2585 f 2564/3043/2587 2569/3048/2592 2637/3123/2660 f 2566/3045/2589 2569/3048/2592 2564/3043/2587 f 2569/3048/2592 2638/3124/2661 2637/3123/2660 f 2569/3048/2592 2571/3050/2594 2638/3124/2661 f 2571/3050/2594 2639/3125/2662 2638/3124/2661 f 2571/3050/2594 2572/3051/2595 2639/3125/2662 f 2572/3051/2595 2640/3126/2663 2639/3125/2662 f 2572/3051/2595 2575/3054/2598 2640/3126/2663 f 2640/3126/2663 2575/3054/2598 2641/3127/2664 f 2641/3127/2664 2575/3054/2598 2576/3055/2599 f 2641/3127/2664 2576/3055/2599 2642/3128/2665 f 2642/3128/2665 2576/3055/2599 2579/3058/2602 f 2580/3059/2603 2642/3128/2665 2579/3058/2602 f 2580/3059/2603 2641/3127/2664 2642/3128/2665 f 2580/3059/2603 2582/3129/2605 2641/3127/2664 f 2582/3129/2605 2640/3126/2663 2641/3127/2664 f 2582/3129/2605 2643/3130/2666 2640/3126/2663 f 2583/3063/2606 2643/3131/2666 2582/3062/2605 f 2583/3063/2606 2644/3132/2667 2643/3131/2666 f 2644/3132/2667 2583/3063/2606 2585/3065/2608 f 2583/3063/2606 2584/3064/2607 2585/3065/2608 f 2644/3132/2667 2585/3065/2608 2586/3066/2609 f 2645/3133/2668 2644/3132/2667 2586/3066/2609 f 2644/3132/2667 2645/3133/2668 2646/3134/2669 f 2645/3133/2668 2647/3135/2670 2646/3134/2669 f 2645/3133/2668 2648/3136/2671 2647/3135/2670 f 2587/3067/2610 2648/3136/2671 2645/3133/2668 f 2588/3068/2611 2648/3136/2671 2587/3067/2610 f 2591/3071/2614 2648/3136/2671 2588/3068/2611 f 2648/3136/2671 2591/3071/2614 2649/3137/2672 f 2591/3071/2614 2650/3138/2673 2649/3137/2672 f 2651/3139/2674 2650/3138/2673 2591/3071/2614 f 2651/3139/2674 2652/3140/2675 2650/3138/2673 f 2653/3141/2676 2652/3140/2675 2651/3139/2674 f 2654/3142/2677 2652/3140/2675 2653/3141/2676 f 2654/3143/2677 2655/3144/2678 2652/3145/2675 f 2654/3143/2677 2656/3146/2679 2655/3144/2678 f 2654/3143/2677 2657/3147/2680 2656/3146/2679 f 2658/3148/2681 2657/3147/2680 2654/3143/2677 f 2659/3149/2682 2657/3147/2680 2658/3148/2681 f 2659/3149/2682 2660/3150/2683 2657/3147/2680 f 2661/3151/2684 2660/3150/2683 2659/3149/2682 f 2661/3151/2684 2662/3152/2685 2660/3150/2683 f 2663/3153/2686 2662/3152/2685 2661/3151/2684 f 2663/3153/2686 2657/3147/2680 2662/3152/2685 f 2663/3153/2686 2656/3146/2679 2657/3147/2680 f 2664/3154/2687 2656/3146/2679 2663/3153/2686 f 2664/3154/2687 2655/3144/2678 2656/3146/2679 f 2665/3155/2688 2655/3144/2678 2664/3154/2687 f 2666/3156/2689 2655/3144/2678 2665/3155/2688 f 2650/3157/2673 2655/3144/2678 2666/3156/2689 f 2652/3145/2675 2655/3144/2678 2650/3157/2673 f 2650/3157/2673 2666/3156/2689 2637/3123/2660 f 2637/3123/2660 2666/3156/2689 2667/3158/2690 f 2666/3156/2689 2665/3155/2688 2667/3158/2690 f 2668/3159/2691 2667/3158/2690 2665/3155/2688 f 2668/3159/2691 2669/3160/2692 2667/3158/2690 f 2670/3161/2693 2669/3162/2692 2668/3163/2691 f 2670/3161/2693 2671/3164/2694 2669/3162/2692 f 2653/3141/2676 2671/3164/2694 2670/3161/2693 f 2651/3139/2674 2671/3164/2694 2653/3141/2676 f 2672/3165/2695 2671/3164/2694 2651/3139/2674 f 2671/3164/2694 2672/3165/2695 2673/3166/2696 f 2672/3165/2695 2674/3167/2697 2673/3166/2696 f 2675/3168/2698 2674/3167/2697 2672/3165/2695 f 2675/3168/2698 2676/3169/2699 2674/3167/2697 f 2677/3170/2700 2676/3169/2699 2675/3168/2698 f 2678/3171/2701 2676/3169/2699 2677/3170/2700 f 2678/3172/2701 2679/3173/2702 2676/3174/2699 f 2678/3172/2701 2680/3175/2703 2679/3173/2702 f 2678/3172/2701 2681/3176/2704 2680/3175/2703 f 2682/3177/2705 2681/3176/2704 2678/3172/2701 f 2683/3178/2706 2681/3176/2704 2682/3177/2705 f 2683/3178/2706 2684/3179/2707 2681/3176/2704 f 2685/3180/2708 2684/3179/2707 2683/3178/2706 f 2685/3180/2708 2686/3181/2709 2684/3179/2707 f 2687/3182/2710 2686/3181/2709 2685/3180/2708 f 2687/3182/2710 2681/3176/2704 2686/3181/2709 f 2687/3182/2710 2680/3175/2703 2681/3176/2704 f 2688/3183/2711 2680/3175/2703 2687/3182/2710 f 2679/3173/2702 2680/3175/2703 2688/3183/2711 f 2689/3184/2712 2679/3173/2702 2688/3183/2711 f 2690/3185/2713 2679/3173/2702 2689/3184/2712 f 2674/3186/2697 2679/3173/2702 2690/3185/2713 f 2676/3174/2699 2679/3173/2702 2674/3186/2697 f 2674/3186/2697 2690/3185/2713 2636/3122/2659 f 2636/3122/2659 2690/3185/2713 2691/3187/2714 f 2690/3185/2713 2689/3184/2712 2691/3187/2714 f 2692/3188/2715 2691/3187/2714 2689/3184/2712 f 2692/3188/2715 2693/3189/2716 2691/3187/2714 f 2694/3190/2717 2693/3191/2716 2692/3192/2715 f 2694/3190/2717 2695/3193/2718 2693/3191/2716 f 2677/3170/2700 2695/3193/2718 2694/3190/2717 f 2675/3168/2698 2695/3193/2718 2677/3170/2700 f 2696/3194/2719 2695/3193/2718 2675/3168/2698 f 2695/3193/2718 2696/3194/2719 2697/3195/2720 f 2698/3196/2721 2697/3195/2720 2696/3194/2719 f 2698/3197/2721 2635/3121/2658 2697/3198/2720 f 2698/3197/2721 2699/3199/2722 2635/3121/2658 f 2698/3197/2721 2700/3200/2723 2699/3199/2722 f 2701/3201/2724 2700/3200/2723 2698/3197/2721 f 2702/3202/2725 2700/3200/2723 2701/3201/2724 f 2702/3202/2725 2703/3203/2726 2700/3200/2723 f 2702/3202/2725 2704/3204/2727 2703/3203/2726 f 2705/3205/2728 2704/3204/2727 2702/3202/2725 f 2706/3206/2729 2704/3204/2727 2705/3205/2728 f 2706/3206/2729 2707/3207/2730 2704/3204/2727 f 2708/3208/2731 2707/3207/2730 2706/3206/2729 f 2708/3208/2731 2709/3209/2732 2707/3207/2730 f 2710/3210/2733 2709/3209/2732 2708/3208/2731 f 2710/3210/2733 2704/3204/2727 2709/3209/2732 f 2710/3210/2733 2703/3203/2726 2704/3204/2727 f 2711/3211/2734 2703/3203/2726 2710/3210/2733 f 2700/3200/2723 2703/3203/2726 2711/3211/2734 f 2712/3212/2735 2700/3200/2723 2711/3211/2734 f 2712/3212/2735 2699/3199/2722 2700/3200/2723 f 2713/3213/2736 2699/3199/2722 2712/3212/2735 f 2635/3121/2658 2699/3199/2722 2713/3213/2736 f 2635/3121/2658 2713/3213/2736 2634/3119/2657 f 2714/3214/2737 2634/3119/2657 2713/3213/2736 f 2714/3214/2737 2633/3120/2656 2634/3119/2657 f 2715/3215/2738 2633/3118/2656 2714/3216/2737 f 2715/3215/2738 2632/3117/2655 2633/3118/2656 f 2632/3117/2655 2715/3215/2738 2716/3217/2739 f 2716/3217/2739 2715/3215/2738 2717/3218/2740 f 2717/3218/2740 2715/3215/2738 2718/3219/2741 f 2718/3219/2741 2715/3215/2738 2714/3216/2737 f 2718/3219/2741 2714/3216/2737 2719/3220/2742 f 2719/3221/2742 2714/3214/2737 2713/3213/2736 f 2719/3221/2742 2713/3213/2736 2712/3212/2735 f 2720/3222/2743 2719/3221/2742 2712/3212/2735 f 2721/3223/2744 2719/3220/2742 2720/3224/2743 f 2721/3223/2744 2718/3219/2741 2719/3220/2742 f 2718/3219/2741 2721/3223/2744 2722/3225/2745 f 2721/3223/2744 2723/3226/2746 2722/3225/2745 f 2721/3223/2744 2724/3227/2747 2723/3226/2746 f 2724/3227/2747 2721/3223/2744 2720/3224/2743 f 2724/3227/2747 2720/3224/2743 2725/3228/2748 f 2725/3229/2748 2720/3222/2743 2711/3211/2734 f 2720/3222/2743 2712/3212/2735 2711/3211/2734 f 2725/3229/2748 2711/3211/2734 2710/3210/2733 f 2725/3229/2748 2710/3210/2733 2708/3208/2731 f 2726/3230/2749 2725/3228/2748 2708/3231/2731 f 2726/3230/2749 2724/3227/2747 2725/3228/2748 f 2724/3227/2747 2726/3230/2749 2727/3232/2750 f 2727/3232/2750 2726/3230/2749 2706/3233/2729 f 2726/3230/2749 2708/3231/2731 2706/3233/2729 f 2727/3232/2750 2706/3233/2729 2723/3226/2746 f 2706/3233/2729 2705/3234/2728 2723/3226/2746 f 2723/3226/2746 2705/3234/2728 2722/3225/2745 f 2722/3225/2745 2705/3234/2728 2702/3235/2725 f 2722/3225/2745 2702/3235/2725 2717/3218/2740 f 2702/3235/2725 2701/3236/2724 2717/3218/2740 f 2717/3218/2740 2701/3236/2724 2716/3217/2739 f 2716/3217/2739 2701/3236/2724 2698/3196/2721 f 2716/3217/2739 2698/3196/2721 2696/3194/2719 f 2696/3194/2719 2632/3117/2655 2716/3217/2739 f 2631/3116/2654 2632/3117/2655 2696/3194/2719 f 2728/3237/2751 2631/3116/2654 2696/3194/2719 f 2594/3074/2617 2631/3116/2654 2728/3237/2751 f 2630/3114/2653 2631/3116/2654 2594/3074/2617 f 2596/3076/2619 2630/3114/2653 2594/3074/2617 f 2596/3076/2619 2729/3238/2752 2630/3114/2653 f 2602/3082/2625 2729/3238/2752 2596/3076/2619 f 2602/3082/2625 2629/3113/2652 2729/3238/2752 f 2602/3082/2625 2603/3083/2626 2629/3113/2652 f 2629/3113/2652 2603/3083/2626 2627/3111/2650 f 2603/3083/2626 2605/3085/2628 2627/3111/2650 f 2627/3109/2650 2605/3089/2628 2625/3107/2648 f 2605/3089/2628 2607/3088/2630 2625/3107/2648 f 2607/3088/2630 2624/3106/2647 2625/3107/2648 f 2609/3091/2632 2624/3106/2647 2607/3088/2630 f 2609/3091/2632 2623/3105/2646 2624/3106/2647 f 2611/3093/2634 2623/3105/2646 2609/3091/2632 f 2611/3093/2634 2622/3104/2645 2623/3105/2646 f 2614/3096/2637 2622/3104/2645 2611/3093/2634 f 2616/3098/2639 2622/3104/2645 2614/3096/2637 f 2730/3239/2753 2622/3104/2645 2616/3098/2639 f 2621/3103/2644 2622/3104/2645 2730/3239/2753 f 2620/3102/2643 2621/3103/2644 2730/3239/2753 f 2620/3102/2643 2730/3239/2753 2619/3101/2642 f 2619/3101/2642 2730/3239/2753 2618/3100/2641 f 2618/3100/2641 2730/3239/2753 2616/3098/2639 f 2729/3238/2752 2629/3113/2652 2630/3114/2653 f 2598/3078/2621 2602/3082/2625 2596/3076/2619 f 2594/3074/2617 2728/3237/2751 2592/3072/2615 f 2592/3072/2615 2728/3237/2751 2672/3165/2695 f 2728/3237/2751 2696/3194/2719 2672/3165/2695 f 2672/3165/2695 2696/3194/2719 2675/3168/2698 f 2592/3072/2615 2672/3165/2695 2591/3071/2614 f 2591/3071/2614 2672/3165/2695 2651/3139/2674 f 2718/3219/2741 2722/3225/2745 2717/3218/2740 f 2724/3227/2747 2727/3232/2750 2723/3226/2746 f 2704/3204/2727 2707/3207/2730 2709/3209/2732 f 2695/3193/2718 2697/3195/2720 2693/3191/2716 f 2693/3189/2716 2635/3121/2658 2691/3187/2714 f 2636/3122/2659 2691/3187/2714 2635/3121/2658 f 2677/3170/2700 2694/3190/2717 2731/3240/2754 f 2694/3190/2717 2732/3241/2755 2731/3240/2754 f 2732/3241/2755 2694/3190/2717 2692/3192/2715 f 2732/3241/2755 2692/3192/2715 2733/3242/2756 f 2733/3243/2756 2692/3188/2715 2689/3184/2712 f 2733/3243/2756 2689/3184/2712 2688/3183/2711 f 2734/3244/2757 2733/3243/2756 2688/3183/2711 f 2735/3245/2758 2733/3242/2756 2734/3246/2757 f 2735/3245/2758 2732/3241/2755 2733/3242/2756 f 2732/3241/2755 2735/3245/2758 2736/3247/2759 f 2735/3245/2758 2737/3248/2760 2736/3247/2759 f 2735/3245/2758 2738/3249/2761 2737/3248/2760 f 2738/3249/2761 2735/3245/2758 2734/3246/2757 f 2738/3249/2761 2734/3246/2757 2685/3250/2708 f 2685/3180/2708 2734/3244/2757 2687/3182/2710 f 2734/3244/2757 2688/3183/2711 2687/3182/2710 f 2738/3249/2761 2685/3250/2708 2683/3251/2706 f 2737/3248/2760 2738/3249/2761 2683/3251/2706 f 2737/3248/2760 2683/3251/2706 2736/3247/2759 f 2683/3251/2706 2682/3252/2705 2736/3247/2759 f 2736/3247/2759 2682/3252/2705 2731/3240/2754 f 2731/3240/2754 2682/3252/2705 2678/3171/2701 f 2731/3240/2754 2678/3171/2701 2677/3170/2700 f 2732/3241/2755 2736/3247/2759 2731/3240/2754 f 2674/3186/2697 2636/3122/2659 2673/3253/2696 f 2671/3164/2694 2673/3166/2696 2669/3162/2692 f 2669/3160/2692 2636/3122/2659 2667/3158/2690 f 2637/3123/2660 2667/3158/2690 2636/3122/2659 f 2681/3176/2704 2684/3179/2707 2686/3181/2709 f 2653/3141/2676 2670/3161/2693 2739/3254/2762 f 2670/3161/2693 2740/3255/2763 2739/3254/2762 f 2740/3255/2763 2670/3161/2693 2668/3163/2691 f 2740/3255/2763 2668/3163/2691 2741/3256/2764 f 2741/3257/2764 2668/3159/2691 2665/3155/2688 f 2741/3257/2764 2665/3155/2688 2664/3154/2687 f 2742/3258/2765 2741/3257/2764 2664/3154/2687 f 2743/3259/2766 2741/3256/2764 2742/3260/2765 f 2743/3259/2766 2740/3255/2763 2741/3256/2764 f 2740/3255/2763 2743/3259/2766 2744/3261/2767 f 2743/3259/2766 2745/3262/2768 2744/3261/2767 f 2743/3259/2766 2746/3263/2769 2745/3262/2768 f 2746/3263/2769 2743/3259/2766 2742/3260/2765 f 2746/3263/2769 2742/3260/2765 2661/3264/2684 f 2661/3151/2684 2742/3258/2765 2663/3153/2686 f 2742/3258/2765 2664/3154/2687 2663/3153/2686 f 2746/3263/2769 2661/3264/2684 2659/3265/2682 f 2745/3262/2768 2746/3263/2769 2659/3265/2682 f 2744/3261/2767 2745/3262/2768 2659/3265/2682 f 2659/3265/2682 2658/3266/2681 2744/3261/2767 f 2744/3261/2767 2658/3266/2681 2739/3254/2762 f 2739/3254/2762 2658/3266/2681 2654/3142/2677 f 2739/3254/2762 2654/3142/2677 2653/3141/2676 f 2740/3255/2763 2744/3261/2767 2739/3254/2762 f 2650/3157/2673 2637/3123/2660 2649/3267/2672 f 2647/3268/2670 2649/3267/2672 2637/3123/2660 f 2648/3136/2671 2649/3137/2672 2647/3135/2670 f 2647/3268/2670 2637/3123/2660 2638/3124/2661 f 2646/3269/2669 2647/3268/2670 2638/3124/2661 f 2646/3269/2669 2638/3124/2661 2639/3125/2662 f 2643/3130/2666 2646/3269/2669 2639/3125/2662 f 2644/3132/2667 2646/3134/2669 2643/3131/2666 f 2643/3130/2666 2639/3125/2662 2640/3126/2663 f 2662/3152/2685 2657/3147/2680 2660/3150/2683 f 2589/3069/2612 2591/3071/2614 2588/3068/2611 f 2587/3067/2610 2645/3133/2668 2586/3066/2609 f 2539/3012/2562 2540/3013/2563 2542/3015/2565 g mesh10.002_mesh10-geometry_FrontColorNoCullingID_male-02-1noCulling.JP usemtl FrontColorNoCullingID_male-02-1noCulling.JP f 2693/3270/2716 2697/3271/2720 2635/3272/2658 f 2669/3273/2692 2673/3274/2696 2636/3275/2659 ================================================ FILE: examples/models/male02/male02_dds.mtl ================================================ # Material Count: 5 newmtl _01_-_Default1noCulli__01_-_Default1noCulli Ns 30.0000 Ka 0.640000 0.640000 0.640000 Kd 0.640000 0.640000 0.640000 Ks 0.050000 0.050000 0.050000 Ni 1.000000 d 1.000000 illum 2 map_Kd 01_-_Default1noCulling.dds newmtl FrontColorNoCullingID_male-02-1noCulling.JP Ns 30.0000 Ka 0.800000 0.800000 0.800000 Kd 0.800000 0.800000 0.800000 Ks 0.050000 0.050000 0.050000 Ni 1.000000 d 1.000000 illum 2 map_Kd male-02-1noCulling.dds newmtl male-02-1noCullingID_male-02-1noCulling.JP Ns 30.0000 Ka 0.640000 0.640000 0.640000 Kd 0.640000 0.640000 0.640000 Ks 0.050000 0.050000 0.050000 Ni 1.000000 d 1.000000 illum 2 map_Kd male-02-1noCulling.dds newmtl orig_02_-_Defaul1noCu_orig_02_-_Defaul1noCu Ns 30.0000 Ka 0.640000 0.640000 0.640000 Kd 0.640000 0.640000 0.640000 Ks 0.050000 0.050000 0.050000 Ni 1.000000 d 1.000000 illum 2 map_Kd orig_02_-_Defaul1noCulling.dds newmtl FrontColorNoCullingID_orig_02_-_Defaul1noCu Ns 30.0000 Ka 0.800000 0.800000 0.800000 Kd 0.800000 0.800000 0.800000 Ks 0.050000 0.050000 0.050000 Ni 1.000000 d 1.000000 illum 2 map_Kd orig_02_-_Defaul1noCulling.dds ================================================ FILE: examples/models/male02/readme.txt ================================================ Model by Reallusion iClone from Google 3d Warehouse: https://3dwarehouse.sketchup.com/user.html?id=0122725873552223594220183 ================================================ FILE: examples/opencv-aruco/createMarker.html ================================================

Set the maker number in this code and run it:

(Marker generator courtesy of Ningxin Hu @ Intel)


================================================ FILE: examples/opencv-aruco/index.html ================================================ OpenCV Aruco example

OpenCV Aruco Marker Tracking Demo

(click to dismiss)

Use OpenCV's Aruco library to find and track markers in 3D. You can generate marker images here.

================================================ FILE: examples/opencv-aruco/opencv.js ================================================ (function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(function () { return (root.cv = factory()); }); } else if (typeof module === 'object' && module.exports) { // Node. Does not work with strict CommonJS, but // only CommonJS-like environments that support module.exports, // like Node. module.exports = factory(); } else { // Browser globals root.cv = factory(); } }(this, function () { var cv = function(cv) { cv = cv || {}; var Module=typeof cv!=="undefined"?cv:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="opencv_js.wast";var wasmBinaryFile="opencv_js.wasm";var asmjsCodeFile="opencv_js.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___gxx_personality_v0(){}function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])}),destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]}));return[]}))}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,(function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)}),argCount-1);whenDependentTypesAreResolved([],argTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]}))}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_smart_ptr(rawType,rawPointeeType,name,sharingPolicy,getPointeeSignature,rawGetPointee,constructorSignature,rawConstructor,shareSignature,rawShare,destructorSignature,rawDestructor){name=readLatin1String(name);rawGetPointee=embind__requireFunction(getPointeeSignature,rawGetPointee);rawConstructor=embind__requireFunction(constructorSignature,rawConstructor);rawShare=embind__requireFunction(shareSignature,rawShare);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);whenDependentTypesAreResolved([rawType],[rawPointeeType],(function(pointeeType){pointeeType=pointeeType[0];var registeredPointer=new RegisteredPointer(name,pointeeType.registeredClass,false,false,true,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor);return[registeredPointer]}))}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map((function(t){return t.name})).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return __emval_register([])}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_key_delete(key){if(key in PTHREAD_SPECIFIC){delete PTHREAD_SPECIFIC[key];return 0}return ERRNO_CODES.EINVAL}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_mutexattr_destroy(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["wasmTableSize"]=4458;Module["wasmMaxTableSize"]=4458;function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiddi(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiid(index,a1,a2,a3,a4){try{return Module["dynCall_diiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiddi(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_diiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiii(index,a1,a2,a3,a4){try{return Module["dynCall_diiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_diiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_diiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_diiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fii(index,a1,a2){try{return Module["dynCall_fii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiii(index,a1,a2,a3){try{return Module["dynCall_fiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiii(index,a1,a2,a3,a4){try{return Module["dynCall_fiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_fiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidi(index,a1,a2,a3){try{return Module["dynCall_iidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiid(index,a1,a2,a3){try{return Module["dynCall_iiid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module["dynCall_iiidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidi(index,a1,a2,a3,a4){try{return Module["dynCall_iiidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiid(index,a1,a2,a3,a4){try{return Module["dynCall_iiiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiif(index,a1,a2,a3,a4){try{return Module["dynCall_iiiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiifiididiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14){try{return Module["dynCall_iiiiiifiididiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiididiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{return Module["dynCall_iiiiiiiididiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{return Module["dynCall_iiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiij"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdii(index,a1,a2,a3){try{Module["dynCall_vdii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdiii(index,a1,a2,a3,a4){try{Module["dynCall_vdiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vididdi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vididdi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vididdii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_vididdii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidii(index,a1,a2,a3,a4){try{Module["dynCall_vidii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vifiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vifiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vifiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_vifiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidd(index,a1,a2,a3,a4){try{Module["dynCall_viidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiddid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddidd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiddidd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddiddd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiddiddd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddidddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiddidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiddii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiddiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididdi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viididdi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididdii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viididdii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viididi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viididii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidiiid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viidiiid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viif(index,a1,a2,a3){try{Module["dynCall_viif"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viifiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viifiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viifiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viifiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidd(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiidd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidddd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidddii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiidddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiidddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiddid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddidd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddidd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddidddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiddidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiddii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiddiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiidi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiididi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiididi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiididii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiididii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiidii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiidiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiif(index,a1,a2,a3,a4){try{Module["dynCall_viiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiid(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiddd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiidddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiidddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiddii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiddiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiidiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiidd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiidi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiidii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiidiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiidiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiidiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiif(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiif"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiidii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiiiidiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiif(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiif"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{Module["dynCall_viiiiiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiiiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viijii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vij(index,a1,a2,a3){try{Module["dynCall_vij"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_di":invoke_di,"invoke_dii":invoke_dii,"invoke_diiddi":invoke_diiddi,"invoke_diii":invoke_diii,"invoke_diiid":invoke_diiid,"invoke_diiiddi":invoke_diiiddi,"invoke_diiii":invoke_diiii,"invoke_diiiid":invoke_diiiid,"invoke_diiiii":invoke_diiiii,"invoke_diiiiii":invoke_diiiiii,"invoke_diiiiiii":invoke_diiiiiii,"invoke_diiiiiiii":invoke_diiiiiiii,"invoke_fii":invoke_fii,"invoke_fiii":invoke_fiii,"invoke_fiiii":invoke_fiiii,"invoke_fiiiii":invoke_fiiiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iid":invoke_iid,"invoke_iidi":invoke_iidi,"invoke_iii":invoke_iii,"invoke_iiid":invoke_iiid,"invoke_iiidd":invoke_iiidd,"invoke_iiidi":invoke_iiidi,"invoke_iiii":invoke_iiii,"invoke_iiiid":invoke_iiiid,"invoke_iiiif":invoke_iiiif,"invoke_iiiii":invoke_iiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_iiiiiifiididiii":invoke_iiiiiifiididiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiididiii":invoke_iiiiiiiididiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiij":invoke_iiiiij,"invoke_v":invoke_v,"invoke_vdii":invoke_vdii,"invoke_vdiii":invoke_vdiii,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidi":invoke_vidi,"invoke_vididdi":invoke_vididdi,"invoke_vididdii":invoke_vididdii,"invoke_vidii":invoke_vidii,"invoke_vidiii":invoke_vidiii,"invoke_vifiiii":invoke_vifiiii,"invoke_vifiiiii":invoke_vifiiiii,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viidd":invoke_viidd,"invoke_viiddi":invoke_viiddi,"invoke_viiddid":invoke_viiddid,"invoke_viiddidd":invoke_viiddidd,"invoke_viiddiddd":invoke_viiddiddd,"invoke_viiddidddd":invoke_viiddidddd,"invoke_viiddii":invoke_viiddii,"invoke_viiddiii":invoke_viiddiii,"invoke_viidi":invoke_viidi,"invoke_viididdi":invoke_viididdi,"invoke_viididdii":invoke_viididdii,"invoke_viididi":invoke_viididi,"invoke_viididii":invoke_viididii,"invoke_viidiiid":invoke_viidiiid,"invoke_viif":invoke_viif,"invoke_viifiiii":invoke_viifiiii,"invoke_viifiiiii":invoke_viifiiiii,"invoke_viii":invoke_viii,"invoke_viiid":invoke_viiid,"invoke_viiidd":invoke_viiidd,"invoke_viiiddd":invoke_viiiddd,"invoke_viiidddd":invoke_viiidddd,"invoke_viiiddddi":invoke_viiiddddi,"invoke_viiiddddii":invoke_viiiddddii,"invoke_viiidddi":invoke_viiidddi,"invoke_viiidddii":invoke_viiidddii,"invoke_viiidddiii":invoke_viiidddiii,"invoke_viiidddiiii":invoke_viiidddiiii,"invoke_viiiddi":invoke_viiiddi,"invoke_viiiddid":invoke_viiiddid,"invoke_viiiddidd":invoke_viiiddidd,"invoke_viiiddiddd":invoke_viiiddiddd,"invoke_viiiddidddd":invoke_viiiddidddd,"invoke_viiiddii":invoke_viiiddii,"invoke_viiiddiii":invoke_viiiddiii,"invoke_viiiddiiid":invoke_viiiddiiid,"invoke_viiiddiiii":invoke_viiiddiiii,"invoke_viiiddiiiid":invoke_viiiddiiiid,"invoke_viiidi":invoke_viiidi,"invoke_viiididi":invoke_viiididi,"invoke_viiididii":invoke_viiididii,"invoke_viiidii":invoke_viiidii,"invoke_viiidiiddi":invoke_viiidiiddi,"invoke_viiidiii":invoke_viiidiii,"invoke_viiidiiid":invoke_viiidiiid,"invoke_viiidiiii":invoke_viiidiiii,"invoke_viiidiiiidi":invoke_viiidiiiidi,"invoke_viiif":invoke_viiif,"invoke_viiii":invoke_viiii,"invoke_viiiid":invoke_viiiid,"invoke_viiiidd":invoke_viiiidd,"invoke_viiiiddd":invoke_viiiiddd,"invoke_viiiidddd":invoke_viiiidddd,"invoke_viiiiddddi":invoke_viiiiddddi,"invoke_viiiiddddii":invoke_viiiiddddii,"invoke_viiiidddi":invoke_viiiidddi,"invoke_viiiidddii":invoke_viiiidddii,"invoke_viiiidddiii":invoke_viiiidddiii,"invoke_viiiidddiiii":invoke_viiiidddiiii,"invoke_viiiiddi":invoke_viiiiddi,"invoke_viiiiddii":invoke_viiiiddii,"invoke_viiiiddiii":invoke_viiiiddiii,"invoke_viiiiddiiid":invoke_viiiiddiiid,"invoke_viiiiddiiii":invoke_viiiiddiiii,"invoke_viiiiddiiiid":invoke_viiiiddiiiid,"invoke_viiiidi":invoke_viiiidi,"invoke_viiiidii":invoke_viiiidii,"invoke_viiiidiid":invoke_viiiidiid,"invoke_viiiidiidd":invoke_viiiidiidd,"invoke_viiiidiiddi":invoke_viiiidiiddi,"invoke_viiiidiii":invoke_viiiidiii,"invoke_viiiidiiii":invoke_viiiidiiii,"invoke_viiiidiiiidi":invoke_viiiidiiiidi,"invoke_viiiii":invoke_viiiii,"invoke_viiiiid":invoke_viiiiid,"invoke_viiiiidd":invoke_viiiiidd,"invoke_viiiiiddi":invoke_viiiiiddi,"invoke_viiiiidi":invoke_viiiiidi,"invoke_viiiiidii":invoke_viiiiidii,"invoke_viiiiidiid":invoke_viiiiidiid,"invoke_viiiiidiidd":invoke_viiiiidiidd,"invoke_viiiiidiiddi":invoke_viiiiidiiddi,"invoke_viiiiidiii":invoke_viiiiidiii,"invoke_viiiiidiiii":invoke_viiiiidiiii,"invoke_viiiiidiiiii":invoke_viiiiidiiiii,"invoke_viiiiif":invoke_viiiiif,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiid":invoke_viiiiiid,"invoke_viiiiiidd":invoke_viiiiiidd,"invoke_viiiiiiddi":invoke_viiiiiiddi,"invoke_viiiiiidi":invoke_viiiiiidi,"invoke_viiiiiidii":invoke_viiiiiidii,"invoke_viiiiiidiii":invoke_viiiiiidiii,"invoke_viiiiiidiiii":invoke_viiiiiidiiii,"invoke_viiiiiidiiiii":invoke_viiiiiidiiiii,"invoke_viiiiiif":invoke_viiiiiif,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiid":invoke_viiiiiiid,"invoke_viiiiiiidd":invoke_viiiiiiidd,"invoke_viiiiiiiddi":invoke_viiiiiiiddi,"invoke_viiiiiiidi":invoke_viiiiiiidi,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiidd":invoke_viiiiiiiiidd,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiid":invoke_viiiiiiiiiid,"invoke_viiiiiiiiiiddi":invoke_viiiiiiiiiiddi,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viiiiiiiiiiid":invoke_viiiiiiiiiiid,"invoke_viijii":invoke_viijii,"invoke_vij":invoke_vij,"ClassHandle":ClassHandle,"ClassHandle_clone":ClassHandle_clone,"ClassHandle_delete":ClassHandle_delete,"ClassHandle_deleteLater":ClassHandle_deleteLater,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"ClassHandle_isDeleted":ClassHandle_isDeleted,"RegisteredClass":RegisteredClass,"RegisteredPointer":RegisteredPointer,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"RegisteredPointer_destructor":RegisteredPointer_destructor,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___buildEnvironment":___buildEnvironment,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___lock":___lock,"___map_file":___map_file,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall4":___syscall4,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall91":___syscall91,"___unlock":___unlock,"__addDays":__addDays,"__arraySum":__arraySum,"__embind_finalize_value_array":__embind_finalize_value_array,"__embind_finalize_value_object":__embind_finalize_value_object,"__embind_register_bool":__embind_register_bool,"__embind_register_class":__embind_register_class,"__embind_register_class_class_function":__embind_register_class_class_function,"__embind_register_class_constructor":__embind_register_class_constructor,"__embind_register_class_function":__embind_register_class_function,"__embind_register_class_property":__embind_register_class_property,"__embind_register_constant":__embind_register_constant,"__embind_register_emval":__embind_register_emval,"__embind_register_float":__embind_register_float,"__embind_register_function":__embind_register_function,"__embind_register_integer":__embind_register_integer,"__embind_register_memory_view":__embind_register_memory_view,"__embind_register_smart_ptr":__embind_register_smart_ptr,"__embind_register_std_string":__embind_register_std_string,"__embind_register_std_wstring":__embind_register_std_wstring,"__embind_register_value_array":__embind_register_value_array,"__embind_register_value_array_element":__embind_register_value_array_element,"__embind_register_value_object":__embind_register_value_object,"__embind_register_value_object_field":__embind_register_value_object_field,"__embind_register_void":__embind_register_void,"__emval_addMethodCaller":__emval_addMethodCaller,"__emval_allocateDestructors":__emval_allocateDestructors,"__emval_as":__emval_as,"__emval_call_void_method":__emval_call_void_method,"__emval_decref":__emval_decref,"__emval_get_method_caller":__emval_get_method_caller,"__emval_get_property":__emval_get_property,"__emval_incref":__emval_incref,"__emval_lookupTypes":__emval_lookupTypes,"__emval_new_array":__emval_new_array,"__emval_new_cstring":__emval_new_cstring,"__emval_register":__emval_register,"__emval_run_destructors":__emval_run_destructors,"__emval_take_value":__emval_take_value,"__isLeapYear":__isLeapYear,"_abort":_abort,"_embind_repr":_embind_repr,"_emscripten_get_now":_emscripten_get_now,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_getenv":_getenv,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_fabs_f32":_llvm_fabs_f32,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_pow_f64":_llvm_pow_f64,"_llvm_trap":_llvm_trap,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_getspecific":_pthread_getspecific,"_pthread_key_create":_pthread_key_create,"_pthread_key_delete":_pthread_key_delete,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_mutex_init":_pthread_mutex_init,"_pthread_mutexattr_destroy":_pthread_mutexattr_destroy,"_pthread_mutexattr_init":_pthread_mutexattr_init,"_pthread_mutexattr_settype":_pthread_mutexattr_settype,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"_strftime":_strftime,"_strftime_l":_strftime_l,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"count_emval_handles":count_emval_handles,"craftInvokerFunction":craftInvokerFunction,"createNamedFunction":createNamedFunction,"downcastPointer":downcastPointer,"embind__requireFunction":embind__requireFunction,"embind_init_charCodes":embind_init_charCodes,"ensureOverloadTable":ensureOverloadTable,"exposePublicSymbol":exposePublicSymbol,"extendError":extendError,"floatReadValueFromPointer":floatReadValueFromPointer,"flushPendingDeletes":flushPendingDeletes,"genericPointerToWireType":genericPointerToWireType,"getBasestPointer":getBasestPointer,"getInheritedInstance":getInheritedInstance,"getInheritedInstanceCount":getInheritedInstanceCount,"getLiveInheritedInstances":getLiveInheritedInstances,"getShiftFromSize":getShiftFromSize,"getStringOrSymbol":getStringOrSymbol,"getTypeName":getTypeName,"get_first_emval":get_first_emval,"heap32VectorToArray":heap32VectorToArray,"init_ClassHandle":init_ClassHandle,"init_RegisteredPointer":init_RegisteredPointer,"init_embind":init_embind,"init_emval":init_emval,"integerReadValueFromPointer":integerReadValueFromPointer,"makeClassHandle":makeClassHandle,"makeLegalFunctionName":makeLegalFunctionName,"new_":new_,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"readLatin1String":readLatin1String,"registerType":registerType,"replacePublicSymbol":replacePublicSymbol,"requireHandle":requireHandle,"requireRegisteredType":requireRegisteredType,"runDestructor":runDestructor,"runDestructors":runDestructors,"setDelayFunction":setDelayFunction,"shallowCopyInternalPointer":shallowCopyInternalPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwBindingError":throwBindingError,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"throwInternalError":throwInternalError,"throwUnboundTypeError":throwUnboundTypeError,"upcastPointer":upcastPointer,"validateThis":validateThis,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=(function(){return Module["asm"]["__GLOBAL__I_000101"].apply(null,arguments)});var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bind_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_bindings_cpp=Module["__GLOBAL__sub_I_bindings_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bindings_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_color_lab_cpp=Module["__GLOBAL__sub_I_color_lab_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_color_lab_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_dictionary_cpp=Module["__GLOBAL__sub_I_dictionary_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_dictionary_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_haar_cpp=Module["__GLOBAL__sub_I_haar_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_haar_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_histogram_cpp=Module["__GLOBAL__sub_I_histogram_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_histogram_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_hog_cpp=Module["__GLOBAL__sub_I_hog_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_hog_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_imgwarp_cpp=Module["__GLOBAL__sub_I_imgwarp_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_imgwarp_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_iostream_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_kmeans_cpp=Module["__GLOBAL__sub_I_kmeans_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_kmeans_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_persistence_types_cpp=Module["__GLOBAL__sub_I_persistence_types_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_persistence_types_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_system_cpp=Module["__GLOBAL__sub_I_system_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_system_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_umatrix_cpp=Module["__GLOBAL__sub_I_umatrix_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_umatrix_cpp"].apply(null,arguments)});var ___cxa_can_catch=Module["___cxa_can_catch"]=(function(){return Module["asm"]["___cxa_can_catch"].apply(null,arguments)});var ___cxa_demangle=Module["___cxa_demangle"]=(function(){return Module["asm"]["___cxa_demangle"].apply(null,arguments)});var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=(function(){return Module["asm"]["___cxa_is_pointer_type"].apply(null,arguments)});var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var ___getTypeName=Module["___getTypeName"]=(function(){return Module["asm"]["___getTypeName"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _free=Module["_free"]=(function(){return Module["asm"]["_free"].apply(null,arguments)});var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=(function(){return Module["asm"]["_llvm_bswap_i32"].apply(null,arguments)});var _malloc=Module["_malloc"]=(function(){return Module["asm"]["_malloc"].apply(null,arguments)});var _memcpy=Module["_memcpy"]=(function(){return Module["asm"]["_memcpy"].apply(null,arguments)});var _memmove=Module["_memmove"]=(function(){return Module["asm"]["_memmove"].apply(null,arguments)});var _memset=Module["_memset"]=(function(){return Module["asm"]["_memset"].apply(null,arguments)});var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=(function(){return Module["asm"]["_pthread_cond_broadcast"].apply(null,arguments)});var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=(function(){return Module["asm"]["_pthread_mutex_lock"].apply(null,arguments)});var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=(function(){return Module["asm"]["_pthread_mutex_unlock"].apply(null,arguments)});var _rintf=Module["_rintf"]=(function(){return Module["asm"]["_rintf"].apply(null,arguments)});var _sbrk=Module["_sbrk"]=(function(){return Module["asm"]["_sbrk"].apply(null,arguments)});var establishStackSpace=Module["establishStackSpace"]=(function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)});var getTempRet0=Module["getTempRet0"]=(function(){return Module["asm"]["getTempRet0"].apply(null,arguments)});var runPostSets=Module["runPostSets"]=(function(){return Module["asm"]["runPostSets"].apply(null,arguments)});var setTempRet0=Module["setTempRet0"]=(function(){return Module["asm"]["setTempRet0"].apply(null,arguments)});var setThrew=Module["setThrew"]=(function(){return Module["asm"]["setThrew"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_di=Module["dynCall_di"]=(function(){return Module["asm"]["dynCall_di"].apply(null,arguments)});var dynCall_dii=Module["dynCall_dii"]=(function(){return Module["asm"]["dynCall_dii"].apply(null,arguments)});var dynCall_diiddi=Module["dynCall_diiddi"]=(function(){return Module["asm"]["dynCall_diiddi"].apply(null,arguments)});var dynCall_diii=Module["dynCall_diii"]=(function(){return Module["asm"]["dynCall_diii"].apply(null,arguments)});var dynCall_diiid=Module["dynCall_diiid"]=(function(){return Module["asm"]["dynCall_diiid"].apply(null,arguments)});var dynCall_diiiddi=Module["dynCall_diiiddi"]=(function(){return Module["asm"]["dynCall_diiiddi"].apply(null,arguments)});var dynCall_diiii=Module["dynCall_diiii"]=(function(){return Module["asm"]["dynCall_diiii"].apply(null,arguments)});var dynCall_diiiid=Module["dynCall_diiiid"]=(function(){return Module["asm"]["dynCall_diiiid"].apply(null,arguments)});var dynCall_diiiii=Module["dynCall_diiiii"]=(function(){return Module["asm"]["dynCall_diiiii"].apply(null,arguments)});var dynCall_diiiiii=Module["dynCall_diiiiii"]=(function(){return Module["asm"]["dynCall_diiiiii"].apply(null,arguments)});var dynCall_diiiiiii=Module["dynCall_diiiiiii"]=(function(){return Module["asm"]["dynCall_diiiiiii"].apply(null,arguments)});var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=(function(){return Module["asm"]["dynCall_diiiiiiii"].apply(null,arguments)});var dynCall_fii=Module["dynCall_fii"]=(function(){return Module["asm"]["dynCall_fii"].apply(null,arguments)});var dynCall_fiii=Module["dynCall_fiii"]=(function(){return Module["asm"]["dynCall_fiii"].apply(null,arguments)});var dynCall_fiiii=Module["dynCall_fiiii"]=(function(){return Module["asm"]["dynCall_fiiii"].apply(null,arguments)});var dynCall_fiiiii=Module["dynCall_fiiiii"]=(function(){return Module["asm"]["dynCall_fiiiii"].apply(null,arguments)});var dynCall_i=Module["dynCall_i"]=(function(){return Module["asm"]["dynCall_i"].apply(null,arguments)});var dynCall_ii=Module["dynCall_ii"]=(function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)});var dynCall_iid=Module["dynCall_iid"]=(function(){return Module["asm"]["dynCall_iid"].apply(null,arguments)});var dynCall_iidi=Module["dynCall_iidi"]=(function(){return Module["asm"]["dynCall_iidi"].apply(null,arguments)});var dynCall_iii=Module["dynCall_iii"]=(function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)});var dynCall_iiid=Module["dynCall_iiid"]=(function(){return Module["asm"]["dynCall_iiid"].apply(null,arguments)});var dynCall_iiidd=Module["dynCall_iiidd"]=(function(){return Module["asm"]["dynCall_iiidd"].apply(null,arguments)});var dynCall_iiidi=Module["dynCall_iiidi"]=(function(){return Module["asm"]["dynCall_iiidi"].apply(null,arguments)});var dynCall_iiii=Module["dynCall_iiii"]=(function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)});var dynCall_iiiid=Module["dynCall_iiiid"]=(function(){return Module["asm"]["dynCall_iiiid"].apply(null,arguments)});var dynCall_iiiif=Module["dynCall_iiiif"]=(function(){return Module["asm"]["dynCall_iiiif"].apply(null,arguments)});var dynCall_iiiii=Module["dynCall_iiiii"]=(function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)});var dynCall_iiiiid=Module["dynCall_iiiiid"]=(function(){return Module["asm"]["dynCall_iiiiid"].apply(null,arguments)});var dynCall_iiiiii=Module["dynCall_iiiiii"]=(function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)});var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=(function(){return Module["asm"]["dynCall_iiiiiid"].apply(null,arguments)});var dynCall_iiiiiifiididiii=Module["dynCall_iiiiiifiididiii"]=(function(){return Module["asm"]["dynCall_iiiiiifiididiii"].apply(null,arguments)});var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)});var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiididiii=Module["dynCall_iiiiiiiididiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiididiii"].apply(null,arguments)});var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiiiiiii"].apply(null,arguments)});var dynCall_iiiiij=Module["dynCall_iiiiij"]=(function(){return Module["asm"]["dynCall_iiiiij"].apply(null,arguments)});var dynCall_v=Module["dynCall_v"]=(function(){return Module["asm"]["dynCall_v"].apply(null,arguments)});var dynCall_vdii=Module["dynCall_vdii"]=(function(){return Module["asm"]["dynCall_vdii"].apply(null,arguments)});var dynCall_vdiii=Module["dynCall_vdiii"]=(function(){return Module["asm"]["dynCall_vdiii"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});var dynCall_vid=Module["dynCall_vid"]=(function(){return Module["asm"]["dynCall_vid"].apply(null,arguments)});var dynCall_vidi=Module["dynCall_vidi"]=(function(){return Module["asm"]["dynCall_vidi"].apply(null,arguments)});var dynCall_vididdi=Module["dynCall_vididdi"]=(function(){return Module["asm"]["dynCall_vididdi"].apply(null,arguments)});var dynCall_vididdii=Module["dynCall_vididdii"]=(function(){return Module["asm"]["dynCall_vididdii"].apply(null,arguments)});var dynCall_vidii=Module["dynCall_vidii"]=(function(){return Module["asm"]["dynCall_vidii"].apply(null,arguments)});var dynCall_vidiii=Module["dynCall_vidiii"]=(function(){return Module["asm"]["dynCall_vidiii"].apply(null,arguments)});var dynCall_vifiiii=Module["dynCall_vifiiii"]=(function(){return Module["asm"]["dynCall_vifiiii"].apply(null,arguments)});var dynCall_vifiiiii=Module["dynCall_vifiiiii"]=(function(){return Module["asm"]["dynCall_vifiiiii"].apply(null,arguments)});var dynCall_vii=Module["dynCall_vii"]=(function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)});var dynCall_viid=Module["dynCall_viid"]=(function(){return Module["asm"]["dynCall_viid"].apply(null,arguments)});var dynCall_viidd=Module["dynCall_viidd"]=(function(){return Module["asm"]["dynCall_viidd"].apply(null,arguments)});var dynCall_viiddi=Module["dynCall_viiddi"]=(function(){return Module["asm"]["dynCall_viiddi"].apply(null,arguments)});var dynCall_viiddid=Module["dynCall_viiddid"]=(function(){return Module["asm"]["dynCall_viiddid"].apply(null,arguments)});var dynCall_viiddidd=Module["dynCall_viiddidd"]=(function(){return Module["asm"]["dynCall_viiddidd"].apply(null,arguments)});var dynCall_viiddiddd=Module["dynCall_viiddiddd"]=(function(){return Module["asm"]["dynCall_viiddiddd"].apply(null,arguments)});var dynCall_viiddidddd=Module["dynCall_viiddidddd"]=(function(){return Module["asm"]["dynCall_viiddidddd"].apply(null,arguments)});var dynCall_viiddii=Module["dynCall_viiddii"]=(function(){return Module["asm"]["dynCall_viiddii"].apply(null,arguments)});var dynCall_viiddiii=Module["dynCall_viiddiii"]=(function(){return Module["asm"]["dynCall_viiddiii"].apply(null,arguments)});var dynCall_viidi=Module["dynCall_viidi"]=(function(){return Module["asm"]["dynCall_viidi"].apply(null,arguments)});var dynCall_viididdi=Module["dynCall_viididdi"]=(function(){return Module["asm"]["dynCall_viididdi"].apply(null,arguments)});var dynCall_viididdii=Module["dynCall_viididdii"]=(function(){return Module["asm"]["dynCall_viididdii"].apply(null,arguments)});var dynCall_viididi=Module["dynCall_viididi"]=(function(){return Module["asm"]["dynCall_viididi"].apply(null,arguments)});var dynCall_viididii=Module["dynCall_viididii"]=(function(){return Module["asm"]["dynCall_viididii"].apply(null,arguments)});var dynCall_viidiiid=Module["dynCall_viidiiid"]=(function(){return Module["asm"]["dynCall_viidiiid"].apply(null,arguments)});var dynCall_viif=Module["dynCall_viif"]=(function(){return Module["asm"]["dynCall_viif"].apply(null,arguments)});var dynCall_viifiiii=Module["dynCall_viifiiii"]=(function(){return Module["asm"]["dynCall_viifiiii"].apply(null,arguments)});var dynCall_viifiiiii=Module["dynCall_viifiiiii"]=(function(){return Module["asm"]["dynCall_viifiiiii"].apply(null,arguments)});var dynCall_viii=Module["dynCall_viii"]=(function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)});var dynCall_viiid=Module["dynCall_viiid"]=(function(){return Module["asm"]["dynCall_viiid"].apply(null,arguments)});var dynCall_viiidd=Module["dynCall_viiidd"]=(function(){return Module["asm"]["dynCall_viiidd"].apply(null,arguments)});var dynCall_viiiddd=Module["dynCall_viiiddd"]=(function(){return Module["asm"]["dynCall_viiiddd"].apply(null,arguments)});var dynCall_viiidddd=Module["dynCall_viiidddd"]=(function(){return Module["asm"]["dynCall_viiidddd"].apply(null,arguments)});var dynCall_viiiddddi=Module["dynCall_viiiddddi"]=(function(){return Module["asm"]["dynCall_viiiddddi"].apply(null,arguments)});var dynCall_viiiddddii=Module["dynCall_viiiddddii"]=(function(){return Module["asm"]["dynCall_viiiddddii"].apply(null,arguments)});var dynCall_viiidddi=Module["dynCall_viiidddi"]=(function(){return Module["asm"]["dynCall_viiidddi"].apply(null,arguments)});var dynCall_viiidddii=Module["dynCall_viiidddii"]=(function(){return Module["asm"]["dynCall_viiidddii"].apply(null,arguments)});var dynCall_viiidddiii=Module["dynCall_viiidddiii"]=(function(){return Module["asm"]["dynCall_viiidddiii"].apply(null,arguments)});var dynCall_viiidddiiii=Module["dynCall_viiidddiiii"]=(function(){return Module["asm"]["dynCall_viiidddiiii"].apply(null,arguments)});var dynCall_viiiddi=Module["dynCall_viiiddi"]=(function(){return Module["asm"]["dynCall_viiiddi"].apply(null,arguments)});var dynCall_viiiddid=Module["dynCall_viiiddid"]=(function(){return Module["asm"]["dynCall_viiiddid"].apply(null,arguments)});var dynCall_viiiddidd=Module["dynCall_viiiddidd"]=(function(){return Module["asm"]["dynCall_viiiddidd"].apply(null,arguments)});var dynCall_viiiddiddd=Module["dynCall_viiiddiddd"]=(function(){return Module["asm"]["dynCall_viiiddiddd"].apply(null,arguments)});var dynCall_viiiddidddd=Module["dynCall_viiiddidddd"]=(function(){return Module["asm"]["dynCall_viiiddidddd"].apply(null,arguments)});var dynCall_viiiddii=Module["dynCall_viiiddii"]=(function(){return Module["asm"]["dynCall_viiiddii"].apply(null,arguments)});var dynCall_viiiddiii=Module["dynCall_viiiddiii"]=(function(){return Module["asm"]["dynCall_viiiddiii"].apply(null,arguments)});var dynCall_viiiddiiid=Module["dynCall_viiiddiiid"]=(function(){return Module["asm"]["dynCall_viiiddiiid"].apply(null,arguments)});var dynCall_viiiddiiii=Module["dynCall_viiiddiiii"]=(function(){return Module["asm"]["dynCall_viiiddiiii"].apply(null,arguments)});var dynCall_viiiddiiiid=Module["dynCall_viiiddiiiid"]=(function(){return Module["asm"]["dynCall_viiiddiiiid"].apply(null,arguments)});var dynCall_viiidi=Module["dynCall_viiidi"]=(function(){return Module["asm"]["dynCall_viiidi"].apply(null,arguments)});var dynCall_viiididi=Module["dynCall_viiididi"]=(function(){return Module["asm"]["dynCall_viiididi"].apply(null,arguments)});var dynCall_viiididii=Module["dynCall_viiididii"]=(function(){return Module["asm"]["dynCall_viiididii"].apply(null,arguments)});var dynCall_viiidii=Module["dynCall_viiidii"]=(function(){return Module["asm"]["dynCall_viiidii"].apply(null,arguments)});var dynCall_viiidiiddi=Module["dynCall_viiidiiddi"]=(function(){return Module["asm"]["dynCall_viiidiiddi"].apply(null,arguments)});var dynCall_viiidiii=Module["dynCall_viiidiii"]=(function(){return Module["asm"]["dynCall_viiidiii"].apply(null,arguments)});var dynCall_viiidiiid=Module["dynCall_viiidiiid"]=(function(){return Module["asm"]["dynCall_viiidiiid"].apply(null,arguments)});var dynCall_viiidiiii=Module["dynCall_viiidiiii"]=(function(){return Module["asm"]["dynCall_viiidiiii"].apply(null,arguments)});var dynCall_viiidiiiidi=Module["dynCall_viiidiiiidi"]=(function(){return Module["asm"]["dynCall_viiidiiiidi"].apply(null,arguments)});var dynCall_viiif=Module["dynCall_viiif"]=(function(){return Module["asm"]["dynCall_viiif"].apply(null,arguments)});var dynCall_viiii=Module["dynCall_viiii"]=(function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)});var dynCall_viiiid=Module["dynCall_viiiid"]=(function(){return Module["asm"]["dynCall_viiiid"].apply(null,arguments)});var dynCall_viiiidd=Module["dynCall_viiiidd"]=(function(){return Module["asm"]["dynCall_viiiidd"].apply(null,arguments)});var dynCall_viiiiddd=Module["dynCall_viiiiddd"]=(function(){return Module["asm"]["dynCall_viiiiddd"].apply(null,arguments)});var dynCall_viiiidddd=Module["dynCall_viiiidddd"]=(function(){return Module["asm"]["dynCall_viiiidddd"].apply(null,arguments)});var dynCall_viiiiddddi=Module["dynCall_viiiiddddi"]=(function(){return Module["asm"]["dynCall_viiiiddddi"].apply(null,arguments)});var dynCall_viiiiddddii=Module["dynCall_viiiiddddii"]=(function(){return Module["asm"]["dynCall_viiiiddddii"].apply(null,arguments)});var dynCall_viiiidddi=Module["dynCall_viiiidddi"]=(function(){return Module["asm"]["dynCall_viiiidddi"].apply(null,arguments)});var dynCall_viiiidddii=Module["dynCall_viiiidddii"]=(function(){return Module["asm"]["dynCall_viiiidddii"].apply(null,arguments)});var dynCall_viiiidddiii=Module["dynCall_viiiidddiii"]=(function(){return Module["asm"]["dynCall_viiiidddiii"].apply(null,arguments)});var dynCall_viiiidddiiii=Module["dynCall_viiiidddiiii"]=(function(){return Module["asm"]["dynCall_viiiidddiiii"].apply(null,arguments)});var dynCall_viiiiddi=Module["dynCall_viiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiddi"].apply(null,arguments)});var dynCall_viiiiddii=Module["dynCall_viiiiddii"]=(function(){return Module["asm"]["dynCall_viiiiddii"].apply(null,arguments)});var dynCall_viiiiddiii=Module["dynCall_viiiiddiii"]=(function(){return Module["asm"]["dynCall_viiiiddiii"].apply(null,arguments)});var dynCall_viiiiddiiid=Module["dynCall_viiiiddiiid"]=(function(){return Module["asm"]["dynCall_viiiiddiiid"].apply(null,arguments)});var dynCall_viiiiddiiii=Module["dynCall_viiiiddiiii"]=(function(){return Module["asm"]["dynCall_viiiiddiiii"].apply(null,arguments)});var dynCall_viiiiddiiiid=Module["dynCall_viiiiddiiiid"]=(function(){return Module["asm"]["dynCall_viiiiddiiiid"].apply(null,arguments)});var dynCall_viiiidi=Module["dynCall_viiiidi"]=(function(){return Module["asm"]["dynCall_viiiidi"].apply(null,arguments)});var dynCall_viiiidii=Module["dynCall_viiiidii"]=(function(){return Module["asm"]["dynCall_viiiidii"].apply(null,arguments)});var dynCall_viiiidiid=Module["dynCall_viiiidiid"]=(function(){return Module["asm"]["dynCall_viiiidiid"].apply(null,arguments)});var dynCall_viiiidiidd=Module["dynCall_viiiidiidd"]=(function(){return Module["asm"]["dynCall_viiiidiidd"].apply(null,arguments)});var dynCall_viiiidiiddi=Module["dynCall_viiiidiiddi"]=(function(){return Module["asm"]["dynCall_viiiidiiddi"].apply(null,arguments)});var dynCall_viiiidiii=Module["dynCall_viiiidiii"]=(function(){return Module["asm"]["dynCall_viiiidiii"].apply(null,arguments)});var dynCall_viiiidiiii=Module["dynCall_viiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiidiiii"].apply(null,arguments)});var dynCall_viiiidiiiidi=Module["dynCall_viiiidiiiidi"]=(function(){return Module["asm"]["dynCall_viiiidiiiidi"].apply(null,arguments)});var dynCall_viiiii=Module["dynCall_viiiii"]=(function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)});var dynCall_viiiiid=Module["dynCall_viiiiid"]=(function(){return Module["asm"]["dynCall_viiiiid"].apply(null,arguments)});var dynCall_viiiiidd=Module["dynCall_viiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiidd"].apply(null,arguments)});var dynCall_viiiiiddi=Module["dynCall_viiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiddi"].apply(null,arguments)});var dynCall_viiiiidi=Module["dynCall_viiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiidi"].apply(null,arguments)});var dynCall_viiiiidii=Module["dynCall_viiiiidii"]=(function(){return Module["asm"]["dynCall_viiiiidii"].apply(null,arguments)});var dynCall_viiiiidiid=Module["dynCall_viiiiidiid"]=(function(){return Module["asm"]["dynCall_viiiiidiid"].apply(null,arguments)});var dynCall_viiiiidiidd=Module["dynCall_viiiiidiidd"]=(function(){return Module["asm"]["dynCall_viiiiidiidd"].apply(null,arguments)});var dynCall_viiiiidiiddi=Module["dynCall_viiiiidiiddi"]=(function(){return Module["asm"]["dynCall_viiiiidiiddi"].apply(null,arguments)});var dynCall_viiiiidiii=Module["dynCall_viiiiidiii"]=(function(){return Module["asm"]["dynCall_viiiiidiii"].apply(null,arguments)});var dynCall_viiiiidiiii=Module["dynCall_viiiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiiidiiii"].apply(null,arguments)});var dynCall_viiiiidiiiii=Module["dynCall_viiiiidiiiii"]=(function(){return Module["asm"]["dynCall_viiiiidiiiii"].apply(null,arguments)});var dynCall_viiiiif=Module["dynCall_viiiiif"]=(function(){return Module["asm"]["dynCall_viiiiif"].apply(null,arguments)});var dynCall_viiiiii=Module["dynCall_viiiiii"]=(function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)});var dynCall_viiiiiid=Module["dynCall_viiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiid"].apply(null,arguments)});var dynCall_viiiiiidd=Module["dynCall_viiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiddi=Module["dynCall_viiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiidi=Module["dynCall_viiiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiiidi"].apply(null,arguments)});var dynCall_viiiiiidii=Module["dynCall_viiiiiidii"]=(function(){return Module["asm"]["dynCall_viiiiiidii"].apply(null,arguments)});var dynCall_viiiiiidiii=Module["dynCall_viiiiiidiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiii"].apply(null,arguments)});var dynCall_viiiiiidiiii=Module["dynCall_viiiiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiiii"].apply(null,arguments)});var dynCall_viiiiiidiiiii=Module["dynCall_viiiiiidiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiiiii"].apply(null,arguments)});var dynCall_viiiiiif=Module["dynCall_viiiiiif"]=(function(){return Module["asm"]["dynCall_viiiiiif"].apply(null,arguments)});var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)});var dynCall_viiiiiiid=Module["dynCall_viiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiid"].apply(null,arguments)});var dynCall_viiiiiiidd=Module["dynCall_viiiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiiddi=Module["dynCall_viiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiiidi=Module["dynCall_viiiiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiiiidi"].apply(null,arguments)});var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiidd=Module["dynCall_viiiiiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiiid=Module["dynCall_viiiiiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiid"].apply(null,arguments)});var dynCall_viiiiiiiiiiddi=Module["dynCall_viiiiiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiiiid=Module["dynCall_viiiiiiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiiid"].apply(null,arguments)});var dynCall_viijii=Module["dynCall_viijii"]=(function(){return Module["asm"]["dynCall_viijii"].apply(null,arguments)});var dynCall_vij=Module["dynCall_vij"]=(function(){return Module["asm"]["dynCall_vij"].apply(null,arguments)});Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();Module["imread"]=(function(imageSource){var img=null;if(typeof imageSource==="string"){img=document.getElementById(imageSource)}else{img=imageSource}var canvas=null;var ctx=null;if(img instanceof HTMLImageElement){canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;ctx=canvas.getContext("2d");ctx.drawImage(img,0,0,img.width,img.height)}else if(img instanceof HTMLCanvasElement){canvas=img;ctx=canvas.getContext("2d")}else{throw new Error("Please input the valid canvas or img id.");return}var imgData=ctx.getImageData(0,0,canvas.width,canvas.height);return cv.matFromImageData(imgData)});Module["imshow"]=(function(canvasSource,mat){var canvas=null;if(typeof canvasSource==="string"){canvas=document.getElementById(canvasSource)}else{canvas=canvasSource}if(!(canvas instanceof HTMLCanvasElement)){throw new Error("Please input the valid canvas element or id.");return}if(!(mat instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}var img=new cv.Mat;var depth=mat.type()%8;var scale=depth<=cv.CV_8S?1:depth<=cv.CV_32S?1/256:255;var shift=depth===cv.CV_8S||depth===cv.CV_16S?128:0;mat.convertTo(img,cv.CV_8U,scale,shift);switch(img.type()){case cv.CV_8UC1:cv.cvtColor(img,img,cv.COLOR_GRAY2RGBA);break;case cv.CV_8UC3:cv.cvtColor(img,img,cv.COLOR_RGB2RGBA);break;case cv.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)");return}var imgData=new ImageData(new Uint8ClampedArray(img.data),img.cols,img.rows);var ctx=canvas.getContext("2d");ctx.clearRect(0,0,canvas.width,canvas.height);canvas.width=imgData.width;canvas.height=imgData.height;ctx.putImageData(imgData,0,0);img.delete()});Module["VideoCapture"]=(function(videoSource){var video=null;if(typeof videoSource==="string"){video=document.getElementById(videoSource)}else{video=videoSource}if(!(video instanceof HTMLVideoElement)){throw new Error("Please input the valid video element or id.");return}var canvas=document.createElement("canvas");canvas.width=video.width;canvas.height=video.height;var ctx=canvas.getContext("2d");this.video=video;this.read=(function(frame){if(!(frame instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}if(frame.type()!==cv.CV_8UC4){throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");return}if(frame.cols!==video.width||frame.rows!==video.height){throw new Error("Bad size of input mat: the size should be same as the video.");return}ctx.drawImage(video,0,0,video.width,video.height);frame.data.set(ctx.getImageData(0,0,video.width,video.height).data)})});function Range(start,end){this.start=typeof start==="undefined"?0:start;this.end=typeof end==="undefined"?0:end}Module["Range"]=Range;function Point(x,y){this.x=typeof x==="undefined"?0:x;this.y=typeof y==="undefined"?0:y}Module["Point"]=Point;function Size(width,height){this.width=typeof width==="undefined"?0:width;this.height=typeof height==="undefined"?0:height}Module["Size"]=Size;function Rect(){switch(arguments.length){case 0:{this.x=0;this.y=0;this.width=0;this.height=0;break};case 1:{var rect=arguments[0];this.x=rect.x;this.y=rect.y;this.width=rect.width;this.height=rect.height;break};case 2:{var point=arguments[0];var size=arguments[1];this.x=point.x;this.y=point.y;this.width=size.width;this.height=size.height;break};case 4:{this.x=arguments[0];this.y=arguments[1];this.width=arguments[2];this.height=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["Rect"]=Rect;function RotatedRect(){switch(arguments.length){case 0:{this.center={x:0,y:0};this.size={width:0,height:0};this.angle=0;break};case 3:{this.center=arguments[0];this.size=arguments[1];this.angle=arguments[2];break};default:{throw new Error("Invalid arguments")}}}RotatedRect.points=(function(obj){return Module.rotatedRectPoints(obj)});RotatedRect.boundingRect=(function(obj){return Module.rotatedRectBoundingRect(obj)});RotatedRect.boundingRect2f=(function(obj){return Module.rotatedRectBoundingRect2f(obj)});Module["RotatedRect"]=RotatedRect;function Scalar(v0,v1,v2,v3){this.push(typeof v0==="undefined"?0:v0);this.push(typeof v1==="undefined"?0:v1);this.push(typeof v2==="undefined"?0:v2);this.push(typeof v3==="undefined"?0:v3)}Scalar.prototype=new Array;Scalar.all=(function(v){return new Scalar(v,v,v,v)});Module["Scalar"]=Scalar;function MinMaxLoc(){switch(arguments.length){case 0:{this.minVal=0;this.maxVal=0;this.minLoc=new Point;this.maxLoc=new Point;break};case 4:{this.minVal=arguments[0];this.maxVal=arguments[1];this.minLoc=arguments[2];this.maxLoc=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["MinMaxLoc"]=MinMaxLoc;function Circle(){switch(arguments.length){case 0:{this.center=new Point;this.radius=0;break};case 2:{this.center=arguments[0];this.radius=arguments[1];break};default:{throw new Error("Invalid arguments")}}}Module["Circle"]=Circle;function TermCriteria(){switch(arguments.length){case 0:{this.type=0;this.maxCount=0;this.epsilon=0;break};case 3:{this.type=arguments[0];this.maxCount=arguments[1];this.epsilon=arguments[2];break};default:{throw new Error("Invalid arguments")}}}Module["TermCriteria"]=TermCriteria;Module["matFromArray"]=(function(rows,cols,type,array){var mat=new cv.Mat(rows,cols,type);switch(type){case cv.CV_8U:case cv.CV_8UC1:case cv.CV_8UC2:case cv.CV_8UC3:case cv.CV_8UC4:{mat.data.set(array);break};case cv.CV_8S:case cv.CV_8SC1:case cv.CV_8SC2:case cv.CV_8SC3:case cv.CV_8SC4:{mat.data8S.set(array);break};case cv.CV_16U:case cv.CV_16UC1:case cv.CV_16UC2:case cv.CV_16UC3:case cv.CV_16UC4:{mat.data16U.set(array);break};case cv.CV_16S:case cv.CV_16SC1:case cv.CV_16SC2:case cv.CV_16SC3:case cv.CV_16SC4:{mat.data16S.set(array);break};case cv.CV_32S:case cv.CV_32SC1:case cv.CV_32SC2:case cv.CV_32SC3:case cv.CV_32SC4:{mat.data32S.set(array);break};case cv.CV_32F:case cv.CV_32FC1:case cv.CV_32FC2:case cv.CV_32FC3:case cv.CV_32FC4:{mat.data32F.set(array);break};case cv.CV_64F:case cv.CV_64FC1:case cv.CV_64FC2:case cv.CV_64FC3:case cv.CV_64FC4:{mat.data64F.set(array);break};default:{throw new Error("Type is unsupported")}}return mat});Module["matFromImageData"]=(function(imageData){var mat=new cv.Mat(imageData.height,imageData.width,cv.CV_8UC4);mat.data.set(imageData.data);return mat}) return cv; }; if (typeof exports === 'object' && typeof module === 'object') module.exports = cv; else if (typeof define === 'function' && define['amd']) define([], function() { return cv; }); else if (typeof exports === 'object') exports["cv"] = cv; if (typeof Module === 'undefined') Module = {}; return cv(Module); })); ================================================ FILE: examples/opencv-aruco/worker.js ================================================ importScripts('../../dist/webxr-worker.js') importScripts("../../polyfill/fill/gl-matrix.js") console.log("loaded webxr-worker.js") var openCVready = false; // need to load up the files for tracking the face and eyes var Module = { onRuntimeInitialized: function() { openCVready = true; postMessage({type: "cvReady"}); }, setStatus: function(msg) { postMessage({type: "cvStatus", msg: msg}); } }; console.log("set up pre-load") importScripts('opencv.js') console.log("loaded opencv.js:" + cv); // Edge doesn't support Array.from. // This is a VERY SIMPLIFIED version (from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) // that only works if the input is a typed array buffer if (!Array.from) { Array.from = (function (arrayLike) { var normalArray = Array.prototype.slice.call(arrayLike); normalArray.length === 4; normalArray.constructor === Array; return normalArray }) } /** * In the video callback, ev.detail contains: { "frame": { "buffers": [ // Array of base64 encoded string buffers { "size": { "width": 320, "height": 180, "bytesPerRow": 320, "bytesPerPixel": 1 }, "buffer": "e3x...d7d" /// convert to Uint8 buffer in code below }, { "size": { "width": 160, "height": 90, "bytesPerRow": 320, "bytesPerPixel": 2 }, "buffer": "ZZF.../fIJ7" /// convert to Uint8 buffer in code below } ], "pixelFormat": "YUV420P", /// Added in the code below, clients should ignore pixelFormatType "timestamp": 337791 }, "camera": { "cameraIntrinsics": [3x3 matrix], fx 0 px 0 fy py 0 0 1 fx and fy are the focal length in pixels. px and py are the coordinates of the principal point in pixels. The origin is at the center of the upper-left pixel. "cameraImageResolution": { "width": 1280, "height": 720 }, "viewMatrix": [4x4 camera view matrix], "arCamera": true; "cameraOrientation": 0, // orientation in degrees of image relative to display // normally 0, but on video mixed displays that keep the camera in a fixed // orientation, but rotate the UI, like on some phones, this will change // as the display orientation changes "projectionMatrix": [4x4 camera projection matrix] } } */ // createCVMat // // this routine does two things (if needed) as part of copying the input buffer to a cv.Mat: // - rotates the image so it is upright // - converts to greyscale var rotatedImage = null; var img_gray = null; var img_rgba = null; function createCVMat2(rotation, buffer, pixelFormat) { var width = buffer.size.width var height = buffer.size.height if (!img_gray) img_gray = new cv.Mat(); if (!img_rgba) img_rgba = new cv.Mat(); // if (!rotatedImage) rotatedImage = new cv.Mat(); switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: var b = new Uint8Array(buffer.buffer); img_gray.create(height,width,cv.CV_8U) img_gray.data.set(b); break; case XRVideoFrame.IMAGEFORMAT_RGBA32: var b = new Uint8Array(buffer.buffer); img_rgba.create(height,width,cv.CV_8UC4) img_rgba.data.set(b); cv.cvtColor(img_rgba, img_gray, cv.COLOR_RGBA2GRAY, 0); break; } return img_gray; } /////////// var endTime = 0; var camDistortion = null; var dictionary = null; var parameter = null; var markerIds = null; var markerCorners = null; var rotMat = null; var rVec = null; var antiRotation = mat4.create(); self.addEventListener('message', function(event){ // send back some timing messages, letting the main thread know the message is // received and CV processing has started postMessage({type: "cvStart", time: ( performance || Date ).now()}); // create a videoFrame object frome the message. Eventually, this may // be passed in by the browser, if we create something like a "vision worker" var videoFrame = XRVideoFrame.createFromMessage(event); // did we find any? var markers = [] // don't do anything until opencv.js and WASM and support files are loaded if (openCVready) { // some fixed values if (dictionary == null) { dictionary = new cv.Dictionary(cv.DICT_6X6_250); markerIds = new cv.Mat(); markerCorners = new cv.MatVector(); rvecs = new cv.Mat(); tvecs = new cv.Mat(); rvec = new cv.Mat(3, 1, cv.CV_64F); camIntrinsics = new cv.Mat(); rotMat = new cv.Mat(); resizeMat = new cv.Mat(); flipMat = new cv.Mat(); parameter = new cv.DetectorParameters(); parameter.adaptiveThreshWinSizeMin = 3, //parameter.adaptiveThreshWinSizeMin = 23; // parameter.adaptiveThreshWinSizeMax = 23, parameter.adaptiveThreshWinSizeMax = 23; parameter.adaptiveThreshWinSizeStep = 10, parameter.adaptiveThreshConstant = 7; // parameter.minMarkerPerimeterRate = 0.03; parameter.minMarkerPerimeterRate = 0.1; parameter.maxMarkerPerimeterRate = 3.5; parameter.polygonalApproxAccuracyRate = 0.05; parameter.minCornerDistanceRate = 0.05; parameter.minDistanceToBorder = 3; parameter.minMarkerDistanceRate = 0.05; parameter.cornerRefinementMethod = cv.CORNER_REFINE_SUBPIX; // cv.CORNER_REFINE_NONE; parameter.cornerRefinementWinSize = 5; parameter.cornerRefinementMaxIterations = 50; parameter.cornerRefinementMinAccuracy = 0.01; parameter.markerBorderBits = 1; parameter.perspectiveRemovePixelPerCell = 4; //parameter.perspectiveRemovePixelPerCell = 2; parameter.perspectiveRemoveIgnoredMarginPerCell = 0.13; parameter.maxErroneousBitsInBorderRate = 0.35; parameter.minOtsuStdDev = 5.0; parameter.errorCorrectionRate = 0.6; } var scale = 1; var buffer = videoFrame.buffer(0); var width = buffer.size.width; var height = buffer.size.height; // set up a camera coefficient matrices, for distortion and projection if (camDistortion == null) { // we assume we're getting no distortion for now, since our cameras appear rectaliner // we probably want to add distortion coefficients to the camera definition since I assume some // cameras will have it camDistortion = cv.matFromArray(5, 1, cv.CV_64F, [0, 0, 0, 0, 0]); } //videoFrame.camera.cameraIntrinsics[8] = 1.0 // was broken in the app, should be fixed now camIntrinsics.create(3, 3, cv.CV_64F) camIntrinsics.data64F.set(videoFrame.camera.cameraIntrinsics); // put image into a cv.Mat and converts to 8bit grey scale if necessary var rotation = videoFrame.camera.cameraOrientation; var image = createCVMat2(rotation, videoFrame.buffer(0), videoFrame.pixelFormat) postMessage({type: "cvAfterMat", time: ( performance || Date ).now()}); var imageToUse = image; // did we decide to scale? if (scale != 1) { cv.resize(image, resizeMat, new cv.Size(), scale, scale); for (var i = 0; i < 8; i++) { camIntrinsics.data64F[i] = camIntrinsics.data64F[i] * scale; } imageToUse = resizeMat; } // While experimenting with the front facing camera on iOS, I realized that you need flip the image on the y // axis, since they flip it behind your back inside. But, then the results are then wrong, and would need to // be scaled on the appropriate axis. Not worth the effort right now. // //cv.flip(imageToUse, flipMat, 1); //imageToUse = flipMat // detect the aruco markers cv.detectMarkers(imageToUse, dictionary, markerCorners, markerIds, parameter); postMessage({type: "cvAfterDetect", time: ( performance || Date ).now()}); // did we find any? if (markerIds.rows > 0) { // Need to adjust the corners to be around 0,0 at the center. // Weirdly, the aruco detector returns the values in image coordinates, // even though pose estimation expects them relative to the center of the // screen. for(let i=0; i < markerIds.rows; ++i) { let cornervec = markerCorners.get(i).data32F cornervec[0] -= width/2; cornervec[0] *= -1 cornervec[1] -= height/2; // cornervec[1] *= -1 cornervec[2] -= width/2; cornervec[2] *= -1 cornervec[3] -= height/2; // cornervec[3] *= -1 cornervec[4] -= width/2; cornervec[4] *= -1 cornervec[5] -= height/2; // cornervec[5] *= -1 cornervec[6] -= width/2; cornervec[6] *= -1 cornervec[7] -= height/2; // cornervec[7] *= -1 } // estimate the poses of the found markers cv.estimatePoseSingleMarkers(markerCorners, 0.053, camIntrinsics, camDistortion, rvecs, tvecs); for(let i=0; i < markerIds.rows; ++i) { let id = markerIds.data32S[i] let cornervec = markerCorners.get(i).data32F rvec.data64F.set([rvecs.doublePtr(0, i)[0], rvecs.doublePtr(0, i)[1], rvecs.doublePtr(0, i)[2]]); // Convert rotation vector into matrix cv.Rodrigues(rvec, rotMat); var tm; if (rotMat.depth() == 4) { tm = Array.from(rotMat.data32F) } else { tm = Array.from(rotMat.data64F) } // construct a pose matrix from rotation and position var returnMat = [tm[0], tm[1], tm[2], 0, tm[3], tm[4], tm[5], 0, tm[6], tm[7], tm[8], 0,0,0,0, 1] mat4.translate(returnMat, returnMat, [tvecs.doublePtr(0, i)[0], tvecs.doublePtr(0, i)[1], tvecs.doublePtr(0, i)[2]]); // invert it so it's marker relative to camera, not the usual camera relative to marker mat4.invert(returnMat,returnMat) // account for camera rotation relative to screen, which happens in video mixed handhelds mat4.fromZRotation(antiRotation, rotation * Math.PI/180); mat4.multiply(returnMat, antiRotation, returnMat) // save the marker info! markers.push({ id: id, corners: [{x: cornervec[0], y: cornervec[1]}, {x: cornervec[2], y: cornervec[3]}, {x: cornervec[4], y: cornervec[5]}, {x: cornervec[6], y: cornervec[7]}], pose: returnMat }) } } } // reply, even if opencv isn't ready. endTime = ( performance || Date ).now() videoFrame.postReplyMessage({type: "cvFrame", markers: markers, time: endTime}) videoFrame.release(); }); ================================================ FILE: examples/opencv-face/haarcascade_eye.xml ================================================ BOOST HAAR 20 20 93 0 24 <_> 6 -1.4562760591506958e+00 <_> 0 -1 0 1.2963959574699402e-01 -7.7304208278656006e-01 6.8350148200988770e-01 <_> 0 -1 1 -4.6326808631420135e-02 5.7352751493453979e-01 -4.9097689986228943e-01 <_> 0 -1 2 -1.6173090785741806e-02 6.0254341363906860e-01 -3.1610709428787231e-01 <_> 0 -1 3 -4.5828841626644135e-02 6.4177548885345459e-01 -1.5545040369033813e-01 <_> 0 -1 4 -5.3759619593620300e-02 5.4219317436218262e-01 -2.0480829477310181e-01 <_> 0 -1 5 3.4171190112829208e-02 -2.3388190567493439e-01 4.8410901427268982e-01 <_> 12 -1.2550230026245117e+00 <_> 0 -1 6 -2.1727620065212250e-01 7.1098899841308594e-01 -5.9360730648040771e-01 <_> 0 -1 7 1.2071969918906689e-02 -2.8240481019020081e-01 5.9013551473617554e-01 <_> 0 -1 8 -1.7854139208793640e-02 5.3137522935867310e-01 -2.2758960723876953e-01 <_> 0 -1 9 2.2333610802888870e-02 -1.7556099593639374e-01 6.3356137275695801e-01 <_> 0 -1 10 -9.1420017182826996e-02 6.1563092470169067e-01 -1.6899530589580536e-01 <_> 0 -1 11 2.8973650187253952e-02 -1.2250079959630966e-01 7.4401170015335083e-01 <_> 0 -1 12 7.8203463926911354e-03 1.6974370181560516e-01 -6.5441650152206421e-01 <_> 0 -1 13 2.0340489223599434e-02 -1.2556649744510651e-01 8.2710450887680054e-01 <_> 0 -1 14 -1.1926149949431419e-02 3.8605681061744690e-01 -2.0992340147495270e-01 <_> 0 -1 15 -9.7281101625412703e-04 -6.3761192560195923e-01 1.2952390313148499e-01 <_> 0 -1 16 1.8322050891583785e-05 -3.4631478786468506e-01 2.2924269735813141e-01 <_> 0 -1 17 -8.0854417756199837e-03 -6.3665801286697388e-01 1.3078659772872925e-01 <_> 9 -1.3728189468383789e+00 <_> 0 -1 18 -1.1812269687652588e-01 6.7844521999359131e-01 -5.0045782327651978e-01 <_> 0 -1 19 -3.4332759678363800e-02 6.7186361551284790e-01 -3.5744878649711609e-01 <_> 0 -1 20 -2.1530799567699432e-02 7.2220700979232788e-01 -1.8192419409751892e-01 <_> 0 -1 21 -2.1909970790147781e-02 6.6529387235641479e-01 -2.7510228753089905e-01 <_> 0 -1 22 -2.8713539242744446e-02 6.9955700635910034e-01 -1.9615580141544342e-01 <_> 0 -1 23 -1.1467480100691319e-02 5.9267348051071167e-01 -2.2097350656986237e-01 <_> 0 -1 24 -2.2611169144511223e-02 3.4483069181442261e-01 -3.8379558920860291e-01 <_> 0 -1 25 -1.9308089977130294e-03 -7.9445719718933105e-01 1.5628659725189209e-01 <_> 0 -1 26 5.6419910833938047e-05 -3.0896010994911194e-01 3.5431089997291565e-01 <_> 16 -1.2879480123519897e+00 <_> 0 -1 27 1.9886520504951477e-01 -5.2860701084136963e-01 3.5536721348762512e-01 <_> 0 -1 28 -3.6008939146995544e-02 4.2109689116477966e-01 -3.9348980784416199e-01 <_> 0 -1 29 -7.7569849789142609e-02 4.7991541028022766e-01 -2.5122168660163879e-01 <_> 0 -1 30 8.2630853285081685e-05 -3.8475489616394043e-01 3.1849220395088196e-01 <_> 0 -1 31 3.2773229759186506e-04 -2.6427319645881653e-01 3.2547241449356079e-01 <_> 0 -1 32 -1.8574850633740425e-02 4.6736589074134827e-01 -1.5067270398139954e-01 <_> 0 -1 33 -7.0008762122597545e-05 2.9313150048255920e-01 -2.5365099310874939e-01 <_> 0 -1 34 -1.8552130088210106e-02 4.6273660659790039e-01 -1.3148050010204315e-01 <_> 0 -1 35 -1.3030420057475567e-02 4.1627219319343567e-01 -1.7751489579677582e-01 <_> 0 -1 36 6.5694141085259616e-05 -2.8035101294517517e-01 2.6680740714073181e-01 <_> 0 -1 37 1.7005260451696813e-04 -2.7027249336242676e-01 2.3981650173664093e-01 <_> 0 -1 38 -3.3129199873656034e-03 4.4411438703536987e-01 -1.4428889751434326e-01 <_> 0 -1 39 1.7583490116521716e-03 -1.6126190125942230e-01 4.2940768599510193e-01 <_> 0 -1 40 -2.5194749236106873e-02 4.0687298774719238e-01 -1.8202580511569977e-01 <_> 0 -1 41 1.4031709870323539e-03 8.4759786725044250e-02 -8.0018568038940430e-01 <_> 0 -1 42 -7.3991729877889156e-03 5.5766099691390991e-01 -1.1843159794807434e-01 <_> 23 -1.2179850339889526e+00 <_> 0 -1 43 -2.9943080618977547e-02 3.5810810327529907e-01 -3.8487631082534790e-01 <_> 0 -1 44 -1.2567380070686340e-01 3.9316931366920471e-01 -3.0012258887290955e-01 <_> 0 -1 45 5.3635272197425365e-03 -4.3908619880676270e-01 1.9257010519504547e-01 <_> 0 -1 46 -8.0971820279955864e-03 3.9906668663024902e-01 -2.3407870531082153e-01 <_> 0 -1 47 -1.6597909852862358e-02 4.2095288634300232e-01 -2.2674840688705444e-01 <_> 0 -1 48 -2.0199299324303865e-03 -7.4156731367111206e-01 1.2601189315319061e-01 <_> 0 -1 49 -1.5202340437099338e-03 -7.6154601573944092e-01 8.6373612284660339e-02 <_> 0 -1 50 -4.9663940444588661e-03 4.2182239890098572e-01 -1.7904919385910034e-01 <_> 0 -1 51 -1.9207600504159927e-02 4.6894899010658264e-01 -1.4378750324249268e-01 <_> 0 -1 52 -1.2222680263221264e-02 3.2842078804969788e-01 -2.1802149713039398e-01 <_> 0 -1 53 5.7548668235540390e-02 -3.6768808960914612e-01 2.4357110261917114e-01 <_> 0 -1 54 -9.5794079825282097e-03 -7.2245067358016968e-01 6.3664563000202179e-02 <_> 0 -1 55 -2.9545740690082312e-03 3.5846439003944397e-01 -1.6696329414844513e-01 <_> 0 -1 56 -4.2017991654574871e-03 3.9094808697700500e-01 -1.2041790038347244e-01 <_> 0 -1 57 -1.3624990358948708e-02 -5.8767718076705933e-01 8.8404729962348938e-02 <_> 0 -1 58 6.2853112467564642e-05 -2.6348459720611572e-01 2.1419279277324677e-01 <_> 0 -1 59 -2.6782939676195383e-03 -7.8390169143676758e-01 8.0526962876319885e-02 <_> 0 -1 60 -7.0597179234027863e-02 4.1469261050224304e-01 -1.3989959657192230e-01 <_> 0 -1 61 9.2093646526336670e-02 -1.3055180013179779e-01 5.0435781478881836e-01 <_> 0 -1 62 -8.8004386052489281e-03 3.6609750986099243e-01 -1.4036649465560913e-01 <_> 0 -1 63 7.5080977694597095e-05 -2.9704439640045166e-01 2.0702940225601196e-01 <_> 0 -1 64 -2.9870450962334871e-03 3.5615700483322144e-01 -1.5445969998836517e-01 <_> 0 -1 65 -2.6441509835422039e-03 -5.4353517293930054e-01 1.0295110195875168e-01 <_> 27 -1.2905240058898926e+00 <_> 0 -1 66 -4.7862470149993896e-02 4.1528239846229553e-01 -3.4185820817947388e-01 <_> 0 -1 67 8.7350532412528992e-02 -3.8749781250953674e-01 2.4204200506210327e-01 <_> 0 -1 68 -1.6849499195814133e-02 5.3082478046417236e-01 -1.7282910645008087e-01 <_> 0 -1 69 -2.8870029374957085e-02 3.5843509435653687e-01 -2.2402590513229370e-01 <_> 0 -1 70 2.5679389946162701e-03 1.4990499615669250e-01 -6.5609407424926758e-01 <_> 0 -1 71 -2.4116659536957741e-02 5.5889678001403809e-01 -1.4810280501842499e-01 <_> 0 -1 72 -3.2826658338308334e-02 4.6468681097030640e-01 -1.0785529762506485e-01 <_> 0 -1 73 -1.5233060345053673e-02 -7.3954427242279053e-01 5.6236881762742996e-02 <_> 0 -1 74 -3.0209511169232428e-04 -4.5548820495605469e-01 9.7069837152957916e-02 <_> 0 -1 75 7.5365108205005527e-04 9.5147296786308289e-02 -5.4895019531250000e-01 <_> 0 -1 76 -1.0638950392603874e-02 4.0912970900535583e-01 -1.2308409810066223e-01 <_> 0 -1 77 -7.5217830017209053e-03 4.0289148688316345e-01 -1.6048780083656311e-01 <_> 0 -1 78 -1.0677099972963333e-01 6.1759322881698608e-01 -7.3091186583042145e-02 <_> 0 -1 79 1.6256919130682945e-02 -1.3103680312633514e-01 3.7453651428222656e-01 <_> 0 -1 80 -2.0679360255599022e-02 -7.1402907371520996e-01 5.2390009164810181e-02 <_> 0 -1 81 1.7052369192242622e-02 1.2822860479354858e-01 -3.1080681085586548e-01 <_> 0 -1 82 -5.7122060097754002e-03 -6.0556507110595703e-01 8.1884756684303284e-02 <_> 0 -1 83 2.0851430235779844e-05 -2.6812988519668579e-01 1.4453840255737305e-01 <_> 0 -1 84 7.9284431412816048e-03 -7.8795351088047028e-02 5.6762582063674927e-01 <_> 0 -1 85 -2.5217379443347454e-03 3.7068629264831543e-01 -1.3620570302009583e-01 <_> 0 -1 86 -2.2426199167966843e-02 -6.8704998493194580e-01 5.1062859594821930e-02 <_> 0 -1 87 -7.6451441273093224e-03 2.3492220044136047e-01 -1.7905959486961365e-01 <_> 0 -1 88 -1.1175329564139247e-03 -5.9869050979614258e-01 7.4324436485767365e-02 <_> 0 -1 89 1.9212789833545685e-02 -1.5702550113201141e-01 2.9737469553947449e-01 <_> 0 -1 90 5.6293429806828499e-03 -9.9769018590450287e-02 4.2130270600318909e-01 <_> 0 -1 91 -9.5671862363815308e-03 -6.0858798027038574e-01 7.3506258428096771e-02 <_> 0 -1 92 1.1217960156500340e-02 -1.0320810228586197e-01 4.1909849643707275e-01 <_> 28 -1.1600480079650879e+00 <_> 0 -1 93 -1.7486440017819405e-02 3.1307280063629150e-01 -3.3681181073188782e-01 <_> 0 -1 94 3.0714649707078934e-02 -1.8766190111637115e-01 5.3780800104141235e-01 <_> 0 -1 95 -2.2188719362020493e-02 3.6637881398200989e-01 -1.6124810278415680e-01 <_> 0 -1 96 -5.0700771680567414e-05 2.1245710551738739e-01 -2.8444620966911316e-01 <_> 0 -1 97 -7.0170420221984386e-03 3.9543110132217407e-01 -1.3173590600490570e-01 <_> 0 -1 98 -6.8563609384000301e-03 3.0373859405517578e-01 -2.0657819509506226e-01 <_> 0 -1 99 -1.4129259623587132e-02 -7.6503008604049683e-01 9.8213188350200653e-02 <_> 0 -1 100 -4.7915481030941010e-02 4.8307389020919800e-01 -1.3006809353828430e-01 <_> 0 -1 101 4.7032979637151584e-05 -2.5216570496559143e-01 2.4386680126190186e-01 <_> 0 -1 102 1.0221180273219943e-03 6.8857602775096893e-02 -6.5861141681671143e-01 <_> 0 -1 103 -2.6056109927594662e-03 4.2942029237747192e-01 -1.3022460043430328e-01 <_> 0 -1 104 5.4505340813193470e-05 -1.9288620352745056e-01 2.8958499431610107e-01 <_> 0 -1 105 -6.6721157054416835e-05 3.0290710926055908e-01 -1.9854369759559631e-01 <_> 0 -1 106 2.6281431317329407e-01 -2.3293940722942352e-01 2.3692460358142853e-01 <_> 0 -1 107 -2.3569669574499130e-02 1.9401040673255920e-01 -2.8484618663787842e-01 <_> 0 -1 108 -3.9120172150433064e-03 5.5378979444503784e-01 -9.5665678381919861e-02 <_> 0 -1 109 5.0788799853762612e-05 -2.3912659287452698e-01 2.1799489855766296e-01 <_> 0 -1 110 -7.8732017427682877e-03 4.0697428584098816e-01 -1.2768040597438812e-01 <_> 0 -1 111 -1.6778609715402126e-03 -5.7744657993316650e-01 9.7324788570404053e-02 <_> 0 -1 112 -2.6832430739887059e-04 2.9021880030632019e-01 -1.6831269860267639e-01 <_> 0 -1 113 7.8687182394787669e-05 -1.9551570713520050e-01 2.7720969915390015e-01 <_> 0 -1 114 1.2953500263392925e-02 -9.6838317811489105e-02 4.0323871374130249e-01 <_> 0 -1 115 -1.3043959625065327e-02 4.7198569774627686e-01 -8.9287549257278442e-02 <_> 0 -1 116 3.0261781066656113e-03 -1.3623380661010742e-01 3.0686271190643311e-01 <_> 0 -1 117 -6.0438038781285286e-03 -7.7954101562500000e-01 5.7316310703754425e-02 <_> 0 -1 118 -2.2507249377667904e-03 3.0877059698104858e-01 -1.5006309747695923e-01 <_> 0 -1 119 1.5826810151338577e-02 6.4551889896392822e-02 -7.2455567121505737e-01 <_> 0 -1 120 6.5864507632795721e-05 -1.7598840594291687e-01 2.3210389912128448e-01 <_> 36 -1.2257250547409058e+00 <_> 0 -1 121 -2.7854869142174721e-02 4.5518448948860168e-01 -1.8099910020828247e-01 <_> 0 -1 122 1.2895040214061737e-01 -5.2565532922744751e-01 1.6188900172710419e-01 <_> 0 -1 123 2.4403180927038193e-02 -1.4974960684776306e-01 4.2357379198074341e-01 <_> 0 -1 124 -2.4458570405840874e-03 3.2948669791221619e-01 -1.7447690665721893e-01 <_> 0 -1 125 -3.5336529836058617e-03 4.7426640987396240e-01 -7.3618359863758087e-02 <_> 0 -1 126 5.1358150813030079e-05 -3.0421930551528931e-01 1.5633270144462585e-01 <_> 0 -1 127 -1.6225680708885193e-02 2.3002180457115173e-01 -2.0359820127487183e-01 <_> 0 -1 128 -4.6007009223103523e-03 4.0459269285202026e-01 -1.3485440611839294e-01 <_> 0 -1 129 -2.1928999572992325e-02 -6.8724489212036133e-01 8.0684266984462738e-02 <_> 0 -1 130 -2.8971210122108459e-03 -6.9619607925415039e-01 4.8545219004154205e-02 <_> 0 -1 131 -4.4074649922549725e-03 2.5166261196136475e-01 -1.6236649453639984e-01 <_> 0 -1 132 2.8437169268727303e-02 6.0394261032342911e-02 -6.6744458675384521e-01 <_> 0 -1 133 8.3212882280349731e-02 6.4357921481132507e-02 -5.3626042604446411e-01 <_> 0 -1 134 -1.2419329956173897e-02 -7.0816862583160400e-01 5.7526610791683197e-02 <_> 0 -1 135 -4.6992599964141846e-03 5.1254332065582275e-01 -8.7350800633430481e-02 <_> 0 -1 136 -7.8025809489190578e-04 2.6687660813331604e-01 -1.7961509525775909e-01 <_> 0 -1 137 -1.9724339246749878e-02 -6.7563730478286743e-01 7.2941906750202179e-02 <_> 0 -1 138 1.0269250487908721e-03 5.3919319063425064e-02 -5.5540180206298828e-01 <_> 0 -1 139 -2.5957189500331879e-02 5.6362527608871460e-01 -7.1898393332958221e-02 <_> 0 -1 140 -1.2552699772641063e-03 -5.0346630811691284e-01 8.9691452682018280e-02 <_> 0 -1 141 -4.9970578402280807e-02 1.7685119807720184e-01 -2.2301959991455078e-01 <_> 0 -1 142 -2.9899610672146082e-03 3.9122420549392700e-01 -1.0149750113487244e-01 <_> 0 -1 143 4.8546842299401760e-03 -1.1770179867744446e-01 4.2190939188003540e-01 <_> 0 -1 144 1.0448860120959580e-04 -1.7333979904651642e-01 2.2344440221786499e-01 <_> 0 -1 145 5.9689260524464771e-05 -2.3409630358219147e-01 1.6558240354061127e-01 <_> 0 -1 146 -1.3423919677734375e-02 4.3023818731307983e-01 -9.9723652005195618e-02 <_> 0 -1 147 2.2581999655812979e-03 7.2720989584922791e-02 -5.7501018047332764e-01 <_> 0 -1 148 -1.2546280398964882e-02 3.6184579133987427e-01 -1.1457010358572006e-01 <_> 0 -1 149 -2.8705769218504429e-03 2.8210538625717163e-01 -1.2367550283670425e-01 <_> 0 -1 150 1.9785640761256218e-02 4.7876749187707901e-02 -8.0666238069534302e-01 <_> 0 -1 151 4.7588930465281010e-03 -1.0925389826297760e-01 3.3746978640556335e-01 <_> 0 -1 152 -6.9974269717931747e-03 -8.0295938253402710e-01 4.5706700533628464e-02 <_> 0 -1 153 -1.3033480383455753e-02 1.8680439889431000e-01 -1.7688910663127899e-01 <_> 0 -1 154 -1.3742579612880945e-03 2.7725479006767273e-01 -1.2809009850025177e-01 <_> 0 -1 155 2.7657810132950544e-03 9.0758942067623138e-02 -4.2594739794731140e-01 <_> 0 -1 156 2.8941841446794569e-04 -3.8816329836845398e-01 8.9267797768115997e-02 <_> 47 -1.2863140106201172e+00 <_> 0 -1 157 -1.4469229616224766e-02 3.7507829070091248e-01 -2.4928289651870728e-01 <_> 0 -1 158 -1.3317629694938660e-01 3.0166378617286682e-01 -2.2414070367813110e-01 <_> 0 -1 159 -1.0132160037755966e-02 3.6985591053962708e-01 -1.7850010097026825e-01 <_> 0 -1 160 -7.8511182218790054e-03 4.6086761355400085e-01 -1.2931390106678009e-01 <_> 0 -1 161 -1.4295839704573154e-02 4.4841429591178894e-01 -1.0226240009069443e-01 <_> 0 -1 162 -5.9606940485537052e-03 2.7927988767623901e-01 -1.5323829650878906e-01 <_> 0 -1 163 1.0932769626379013e-02 -1.5141740441322327e-01 3.9889648556709290e-01 <_> 0 -1 164 5.0430990086169913e-05 -2.2681570053100586e-01 2.1644389629364014e-01 <_> 0 -1 165 -5.8431681245565414e-03 4.5420148968696594e-01 -1.2587159872055054e-01 <_> 0 -1 166 -2.2346209734678268e-02 -6.2690192461013794e-01 8.2403123378753662e-02 <_> 0 -1 167 -4.8836669884622097e-03 2.6359251141548157e-01 -1.4686630666255951e-01 <_> 0 -1 168 7.5506002758629620e-05 -2.4507020413875580e-01 1.6678880155086517e-01 <_> 0 -1 169 -4.9026997294276953e-04 -4.2649960517883301e-01 8.9973561465740204e-02 <_> 0 -1 170 1.4861579984426498e-03 -1.2040250003337860e-01 3.0097651481628418e-01 <_> 0 -1 171 -1.1988339945673943e-02 2.7852478623390198e-01 -1.2244340032339096e-01 <_> 0 -1 172 1.0502239689230919e-02 4.0452759712934494e-02 -7.4050408601760864e-01 <_> 0 -1 173 -3.0963009223341942e-02 -6.2842690944671631e-01 4.8013761639595032e-02 <_> 0 -1 174 1.1414520442485809e-02 3.9405211806297302e-02 -7.1674120426177979e-01 <_> 0 -1 175 -1.2337000109255314e-02 1.9941329956054688e-01 -1.9274300336837769e-01 <_> 0 -1 176 -5.9942267835140228e-03 5.1318162679672241e-01 -6.1658058315515518e-02 <_> 0 -1 177 -1.1923230485990644e-03 -7.2605299949645996e-01 5.0652720034122467e-02 <_> 0 -1 178 -7.4582789093255997e-03 2.9603078961372375e-01 -1.1754789948463440e-01 <_> 0 -1 179 2.7877509128302336e-03 4.5068711042404175e-02 -6.9535410404205322e-01 <_> 0 -1 180 -2.2503209766000509e-04 2.0047250390052795e-01 -1.5775249898433685e-01 <_> 0 -1 181 -5.0367889925837517e-03 2.9299819469451904e-01 -1.1700499802827835e-01 <_> 0 -1 182 7.4742160737514496e-02 -1.1392319947481155e-01 3.0256620049476624e-01 <_> 0 -1 183 2.0255519077181816e-02 -1.0515890270471573e-01 4.0670460462570190e-01 <_> 0 -1 184 4.4214509427547455e-02 -2.7631640434265137e-01 1.2363869696855545e-01 <_> 0 -1 185 -8.7259558495134115e-04 2.4355030059814453e-01 -1.3300949335098267e-01 <_> 0 -1 186 -2.4453739169985056e-03 -5.3866171836853027e-01 6.2510646879673004e-02 <_> 0 -1 187 8.2725353422574699e-05 -2.0772209763526917e-01 1.6270439326763153e-01 <_> 0 -1 188 -3.6627110093832016e-02 3.6568409204483032e-01 -9.0330280363559723e-02 <_> 0 -1 189 3.0996399000287056e-03 -1.3183020055294037e-01 2.5354298949241638e-01 <_> 0 -1 190 -2.4709280114620924e-03 -5.6853497028350830e-01 5.3505431860685349e-02 <_> 0 -1 191 -1.4114670455455780e-02 -4.8599010705947876e-01 5.8485250920057297e-02 <_> 0 -1 192 8.4537261864170432e-04 -8.0093637108802795e-02 4.0265649557113647e-01 <_> 0 -1 193 -7.1098632179200649e-03 4.4703239202499390e-01 -6.2947437167167664e-02 <_> 0 -1 194 -1.9125960767269135e-02 -6.6422867774963379e-01 4.9822770059108734e-02 <_> 0 -1 195 -5.0773010589182377e-03 1.7379400134086609e-01 -1.6850599646568298e-01 <_> 0 -1 196 -2.9198289848864079e-03 -6.0110282897949219e-01 5.7427939027547836e-02 <_> 0 -1 197 -2.4902150034904480e-02 2.3397980630397797e-01 -1.1818459630012512e-01 <_> 0 -1 198 2.0147779956459999e-02 -8.9459821581840515e-02 3.6024400591850281e-01 <_> 0 -1 199 1.7597640398889780e-03 4.9458440393209457e-02 -6.3102620840072632e-01 <_> 0 -1 200 1.3812039978802204e-03 -1.5218059718608856e-01 1.8971739709377289e-01 <_> 0 -1 201 -1.0904540307819843e-02 -5.8097380399703979e-01 4.4862728565931320e-02 <_> 0 -1 202 7.5157178798690438e-05 -1.3777349889278412e-01 1.9543160498142242e-01 <_> 0 -1 203 3.8649770431220531e-03 -1.0302229970693588e-01 2.5374969840049744e-01 <_> 48 -1.1189440488815308e+00 <_> 0 -1 204 -1.0215889662504196e-01 4.1681259870529175e-01 -1.6655629873275757e-01 <_> 0 -1 205 -5.1939819008111954e-02 3.3023950457572937e-01 -2.0715710520744324e-01 <_> 0 -1 206 -4.2717780917882919e-02 2.6093730330467224e-01 -1.6013890504837036e-01 <_> 0 -1 207 4.3890418601222336e-04 -3.4750530123710632e-01 1.3918919861316681e-01 <_> 0 -1 208 2.4264389649033546e-02 -4.2552059888839722e-01 1.3578380644321442e-01 <_> 0 -1 209 -2.3820599541068077e-02 3.1749808788299561e-01 -1.6652040183544159e-01 <_> 0 -1 210 -7.0518180727958679e-03 3.0947178602218628e-01 -1.3338300585746765e-01 <_> 0 -1 211 -6.8517157342284918e-04 -6.0082262754440308e-01 8.7747000157833099e-02 <_> 0 -1 212 5.3705149330198765e-03 -1.2311449646949768e-01 3.8333550095558167e-01 <_> 0 -1 213 -1.3403539545834064e-02 3.3877369761466980e-01 -1.0140489786863327e-01 <_> 0 -1 214 -6.6856360062956810e-03 -6.1193597316741943e-01 4.7740221023559570e-02 <_> 0 -1 215 -4.2887418530881405e-03 2.5275790691375732e-01 -1.4434510469436646e-01 <_> 0 -1 216 -1.0876749642193317e-02 5.4775732755661011e-01 -5.9455480426549911e-02 <_> 0 -1 217 3.7882640026509762e-04 8.3410300314426422e-02 -4.4226369261741638e-01 <_> 0 -1 218 -2.4550149682909250e-03 2.3330999910831451e-01 -1.3964480161666870e-01 <_> 0 -1 219 1.2721839593723416e-03 6.0480289161205292e-02 -4.9456089735031128e-01 <_> 0 -1 220 -4.8933159559965134e-03 -6.6833269596099854e-01 4.6218499541282654e-02 <_> 0 -1 221 2.6449989527463913e-02 -7.3235362768173218e-02 4.4425961375236511e-01 <_> 0 -1 222 -3.3706070389598608e-03 -4.2464339733123779e-01 6.8676561117172241e-02 <_> 0 -1 223 -2.9559480026364326e-03 1.6218039393424988e-01 -1.8222999572753906e-01 <_> 0 -1 224 3.0619909986853600e-02 -5.8643341064453125e-02 5.3263628482818604e-01 <_> 0 -1 225 -9.5765907317399979e-03 -6.0562682151794434e-01 5.3345989435911179e-02 <_> 0 -1 226 6.6372493165545166e-05 -1.6680839657783508e-01 1.9284160435199738e-01 <_> 0 -1 227 5.0975950434803963e-03 4.4119510799646378e-02 -5.7458841800689697e-01 <_> 0 -1 228 3.7112718564458191e-04 -1.1086399853229523e-01 2.3105390369892120e-01 <_> 0 -1 229 -8.6607588455080986e-03 4.0456289052963257e-01 -6.2446091324090958e-02 <_> 0 -1 230 8.7489158613607287e-04 6.4875148236751556e-02 -4.4871041178703308e-01 <_> 0 -1 231 1.1120870476588607e-03 -9.3861460685729980e-02 3.0453911423683167e-01 <_> 0 -1 232 -2.3837819695472717e-02 -5.8887428045272827e-01 4.6659421175718307e-02 <_> 0 -1 233 2.2272899514064193e-04 -1.4898599684238434e-01 1.7701950669288635e-01 <_> 0 -1 234 2.4467470124363899e-02 -5.5789601057767868e-02 4.9208301305770874e-01 <_> 0 -1 235 -1.4239320158958435e-01 1.5192000567913055e-01 -1.8778899312019348e-01 <_> 0 -1 236 -2.0123120397329330e-02 2.1780100464820862e-01 -1.2081900238990784e-01 <_> 0 -1 237 1.1513679783092812e-04 -1.6856589913368225e-01 1.6451929509639740e-01 <_> 0 -1 238 -2.7556740678846836e-03 -6.9442039728164673e-01 3.9449468255043030e-02 <_> 0 -1 239 -7.5843912782147527e-05 1.8941369652748108e-01 -1.5183840692043304e-01 <_> 0 -1 240 -7.0697711780667305e-03 4.7064599394798279e-01 -5.7927619665861130e-02 <_> 0 -1 241 -3.7393178790807724e-02 -7.5892448425292969e-01 3.4116048365831375e-02 <_> 0 -1 242 -1.5995610505342484e-02 3.0670469999313354e-01 -8.7525576353073120e-02 <_> 0 -1 243 -3.1183990649878979e-03 2.6195371150970459e-01 -9.1214887797832489e-02 <_> 0 -1 244 1.0651360498741269e-03 -1.7427560687065125e-01 1.5277640521526337e-01 <_> 0 -1 245 -1.6029420075938106e-03 3.5612630844116211e-01 -7.6629996299743652e-02 <_> 0 -1 246 4.3619908392429352e-03 4.9356970936059952e-02 -5.9228771924972534e-01 <_> 0 -1 247 -1.0779909789562225e-02 -6.3922178745269775e-01 3.3204540610313416e-02 <_> 0 -1 248 -4.3590869754552841e-03 1.6107389330863953e-01 -1.5221320092678070e-01 <_> 0 -1 249 7.4596069753170013e-03 3.3172961324453354e-02 -7.5007742643356323e-01 <_> 0 -1 250 8.1385448575019836e-03 2.6325279846787453e-02 -7.1731162071228027e-01 <_> 0 -1 251 -3.3338490873575211e-02 3.3536610007286072e-01 -7.0803590118885040e-02 <_> 55 -1.1418989896774292e+00 <_> 0 -1 252 1.9553979858756065e-02 -1.0439720004796982e-01 5.3128951787948608e-01 <_> 0 -1 253 2.2122919559478760e-02 -2.4747270345687866e-01 2.0847250521183014e-01 <_> 0 -1 254 -4.1829389519989491e-03 3.8289439678192139e-01 -1.4711579680442810e-01 <_> 0 -1 255 -8.6381728760898113e-04 -6.2632888555526733e-01 1.1993259936571121e-01 <_> 0 -1 256 7.9958612332120538e-04 9.2573471367359161e-02 -5.5168831348419189e-01 <_> 0 -1 257 9.1527570039033890e-03 -7.2929807007312775e-02 5.5512511730194092e-01 <_> 0 -1 258 -3.9388681761920452e-03 2.0196039974689484e-01 -2.0912039279937744e-01 <_> 0 -1 259 1.4613410166930407e-04 -2.7861818671226501e-01 1.3817410171031952e-01 <_> 0 -1 260 -3.1691689509898424e-03 3.6685898900032043e-01 -7.6308242976665497e-02 <_> 0 -1 261 -2.2189389914274216e-02 3.9096599817276001e-01 -1.0971540212631226e-01 <_> 0 -1 262 -7.4523608200252056e-03 1.2838590145111084e-01 -2.4159869551658630e-01 <_> 0 -1 263 7.7997002517804503e-04 7.1978069841861725e-02 -4.3976500630378723e-01 <_> 0 -1 264 -4.6783639118075371e-03 2.1569849550724030e-01 -1.4205920696258545e-01 <_> 0 -1 265 -1.5188639983534813e-02 3.6458781361579895e-01 -8.2675926387310028e-02 <_> 0 -1 266 5.0619798712432384e-03 -3.4380409121513367e-01 9.2068232595920563e-02 <_> 0 -1 267 -1.7351920250803232e-03 -6.1725497245788574e-01 4.9214478582143784e-02 <_> 0 -1 268 -1.2423450127243996e-02 -5.8558952808380127e-01 4.6112600713968277e-02 <_> 0 -1 269 -1.3031429611146450e-02 -5.9710788726806641e-01 4.0672458708286285e-02 <_> 0 -1 270 -1.2369629694148898e-03 -6.8334168195724487e-01 3.3156178891658783e-02 <_> 0 -1 271 6.1022108420729637e-03 -9.4729237258434296e-02 3.0102241039276123e-01 <_> 0 -1 272 6.6952849738299847e-04 8.1816866993904114e-02 -3.5196030139923096e-01 <_> 0 -1 273 -1.7970580374822021e-03 2.3718979954719543e-01 -1.1768709868192673e-01 <_> 0 -1 274 -7.1074528386816382e-04 -4.4763788580894470e-01 5.7682480663061142e-02 <_> 0 -1 275 -5.9126471169292927e-03 4.3425410985946655e-01 -6.6868573427200317e-02 <_> 0 -1 276 -3.3132149837911129e-03 1.8150010704994202e-01 -1.4180320501327515e-01 <_> 0 -1 277 -6.0814660042524338e-02 4.7221711277961731e-01 -6.1410639435052872e-02 <_> 0 -1 278 -9.6714183688163757e-02 2.7683168649673462e-01 -9.4490036368370056e-02 <_> 0 -1 279 3.9073550142347813e-03 -1.2278530001640320e-01 2.1057400107383728e-01 <_> 0 -1 280 -9.0431869029998779e-03 3.5641568899154663e-01 -7.7806226909160614e-02 <_> 0 -1 281 -4.8800031654536724e-03 -4.1034790873527527e-01 6.9694377481937408e-02 <_> 0 -1 282 -4.3547428213059902e-03 -7.3017889261245728e-01 3.6655150353908539e-02 <_> 0 -1 283 -9.6500627696514130e-03 5.5181127786636353e-01 -5.3168080747127533e-02 <_> 0 -1 284 -1.7397310584783554e-02 -5.7084232568740845e-01 5.0214089453220367e-02 <_> 0 -1 285 -6.8304329179227352e-03 -4.6180281043052673e-01 5.0202690064907074e-02 <_> 0 -1 286 3.3255619928240776e-04 -9.5362730324268341e-02 2.5983759760856628e-01 <_> 0 -1 287 -2.3100529797375202e-03 2.2872470319271088e-01 -1.0533530265092850e-01 <_> 0 -1 288 -7.5426651164889336e-03 -5.6990510225296021e-01 4.8863459378480911e-02 <_> 0 -1 289 -5.2723060362040997e-03 3.5145181417465210e-01 -8.2390107214450836e-02 <_> 0 -1 290 -4.8578968271613121e-03 -6.0417622327804565e-01 4.4539440423250198e-02 <_> 0 -1 291 1.5867310576140881e-03 -1.0340909659862518e-01 2.3282019793987274e-01 <_> 0 -1 292 -4.7427811659872532e-03 2.8490281105041504e-01 -9.8090499639511108e-02 <_> 0 -1 293 -1.3515240279957652e-03 2.3096430301666260e-01 -1.1361840367317200e-01 <_> 0 -1 294 2.2526069078594446e-03 6.4478322863578796e-02 -4.2205891013145447e-01 <_> 0 -1 295 -3.8038659840822220e-04 -3.8076201081275940e-01 6.0043290257453918e-02 <_> 0 -1 296 4.9043921753764153e-03 -7.6104998588562012e-02 3.3232170343399048e-01 <_> 0 -1 297 -9.0969670563936234e-03 1.4287790656089783e-01 -1.6887800395488739e-01 <_> 0 -1 298 -6.9317929446697235e-03 2.7255409955978394e-01 -9.2879563570022583e-02 <_> 0 -1 299 1.1471060570329428e-03 -1.5273059904575348e-01 1.9702400267124176e-01 <_> 0 -1 300 -3.7662889808416367e-02 -5.9320437908172607e-01 4.0738601237535477e-02 <_> 0 -1 301 -6.8165571428835392e-03 2.5494089722633362e-01 -9.4081960618495941e-02 <_> 0 -1 302 6.6205562325194478e-04 4.6795718371868134e-02 -4.8454371094703674e-01 <_> 0 -1 303 -4.2202551849186420e-03 2.4682149291038513e-01 -9.4673976302146912e-02 <_> 0 -1 304 -6.8986512720584869e-02 -6.6514801979064941e-01 3.5926390439271927e-02 <_> 0 -1 305 6.1707608401775360e-03 2.5833319872617722e-02 -7.2686272859573364e-01 <_> 0 -1 306 1.0536249727010727e-02 -8.1828996539115906e-02 2.9760798811912537e-01 <_> 32 -1.1255199909210205e+00 <_> 0 -1 307 -6.2758728861808777e-02 2.7899080514907837e-01 -2.9656109213829041e-01 <_> 0 -1 308 3.4516479354351759e-03 -3.4635880589485168e-01 2.0903840661048889e-01 <_> 0 -1 309 -7.8699486330151558e-03 2.4144889414310455e-01 -1.9205570220947266e-01 <_> 0 -1 310 -3.4624869003891945e-03 -5.9151780605316162e-01 1.2486449629068375e-01 <_> 0 -1 311 -9.4818761572241783e-03 1.8391540646553040e-01 -2.4858260154724121e-01 <_> 0 -1 312 2.3226840130519122e-04 -3.3047258853912354e-01 1.0999260097742081e-01 <_> 0 -1 313 1.8101120367646217e-03 9.8744012415409088e-02 -4.9634781479835510e-01 <_> 0 -1 314 -5.4422430694103241e-03 2.9344418644905090e-01 -1.3094750046730042e-01 <_> 0 -1 315 7.4148122221231461e-03 -1.4762699604034424e-01 3.3277168869972229e-01 <_> 0 -1 316 -1.5565140172839165e-02 -6.8404901027679443e-01 9.9872693419456482e-02 <_> 0 -1 317 2.8720520436763763e-02 -1.4833280444145203e-01 3.0902579426765442e-01 <_> 0 -1 318 9.6687392215244472e-05 -1.7431040108203888e-01 2.1402959525585175e-01 <_> 0 -1 319 5.2371058613061905e-02 -7.0156857371330261e-02 4.9222990870475769e-01 <_> 0 -1 320 -8.6485691368579865e-02 5.0757247209548950e-01 -7.5294211506843567e-02 <_> 0 -1 321 -4.2169868946075439e-02 4.5680961012840271e-01 -9.0219900012016296e-02 <_> 0 -1 322 4.5369830331765115e-05 -2.6538279652595520e-01 1.6189539432525635e-01 <_> 0 -1 323 5.2918000146746635e-03 7.4890151619911194e-02 -5.4054671525955200e-01 <_> 0 -1 324 -7.5511651812121272e-04 -4.9261990189552307e-01 5.8723948895931244e-02 <_> 0 -1 325 7.5108138844370842e-05 -2.1432100236415863e-01 1.4077760279178619e-01 <_> 0 -1 326 4.9981209449470043e-03 -9.0547338128089905e-02 3.5716068744659424e-01 <_> 0 -1 327 -1.4929979806765914e-03 2.5623458623886108e-01 -1.4229069650173187e-01 <_> 0 -1 328 2.7239411137998104e-03 -1.5649250149726868e-01 2.1088710427284241e-01 <_> 0 -1 329 2.2218320518732071e-03 -1.5072989463806152e-01 2.6801869273185730e-01 <_> 0 -1 330 -7.3993072146549821e-04 2.9546990990638733e-01 -1.0692390054464340e-01 <_> 0 -1 331 2.0113459322601557e-03 5.0614349544048309e-02 -7.1683371067047119e-01 <_> 0 -1 332 1.1452870443463326e-02 -1.2719069421291351e-01 2.4152779579162598e-01 <_> 0 -1 333 -1.0782170575112104e-03 2.4813009798526764e-01 -1.3461199402809143e-01 <_> 0 -1 334 3.3417691010981798e-03 5.3578309714794159e-02 -5.2274167537689209e-01 <_> 0 -1 335 6.9398651248775423e-05 -2.1698740124702454e-01 1.2812179327011108e-01 <_> 0 -1 336 -4.0982551872730255e-03 2.4401889741420746e-01 -1.1570589989423752e-01 <_> 0 -1 337 -1.6289720078930259e-03 2.8261470794677734e-01 -1.0659469664096832e-01 <_> 0 -1 338 1.3984859921038151e-02 4.2715899646282196e-02 -7.3646312952041626e-01 <_> 30 -1.1729990243911743e+00 <_> 0 -1 339 1.6416519880294800e-01 -4.8960301280021667e-01 1.7607709765434265e-01 <_> 0 -1 340 8.3413062384352088e-04 -2.8220430016517639e-01 2.4199579656124115e-01 <_> 0 -1 341 -1.7193210078403354e-03 -7.1485888957977295e-01 8.6162216961383820e-02 <_> 0 -1 342 -1.5654950402677059e-03 -7.2972381114959717e-01 9.4070672988891602e-02 <_> 0 -1 343 1.9124479731544852e-03 -3.1187158823013306e-01 1.8143390119075775e-01 <_> 0 -1 344 -1.3512369990348816e-01 2.9577299952507019e-01 -2.2179250419139862e-01 <_> 0 -1 345 -4.0300549007952213e-03 -6.6595137119293213e-01 8.5431016981601715e-02 <_> 0 -1 346 -2.8640460222959518e-03 -6.2086361646652222e-01 5.3106021136045456e-02 <_> 0 -1 347 -1.4065420255064964e-03 2.2346289455890656e-01 -2.0211009681224823e-01 <_> 0 -1 348 -3.5820449702441692e-03 -5.4030400514602661e-01 6.8213619291782379e-02 <_> 0 -1 349 4.1544470936059952e-02 -6.5215840935707092e-02 6.2109231948852539e-01 <_> 0 -1 350 -9.1709550470113754e-03 -7.5553297996520996e-01 5.2640449255704880e-02 <_> 0 -1 351 6.1552738770842552e-03 9.0939402580261230e-02 -4.4246131181716919e-01 <_> 0 -1 352 -1.0043520014733076e-03 2.4292330443859100e-01 -1.8669790029525757e-01 <_> 0 -1 353 1.1519829742610455e-02 -1.1763150244951248e-01 3.6723458766937256e-01 <_> 0 -1 354 -8.9040733873844147e-03 -4.8931330442428589e-01 1.0897020250558853e-01 <_> 0 -1 355 5.3973670583218336e-04 -2.1850399672985077e-01 1.8489989638328552e-01 <_> 0 -1 356 1.3727260520681739e-03 -1.5072910487651825e-01 2.9173129796981812e-01 <_> 0 -1 357 -1.0807390324771404e-02 4.2897450923919678e-01 -1.0280139744281769e-01 <_> 0 -1 358 1.2670770520344377e-03 7.4192158877849579e-02 -6.4208251237869263e-01 <_> 0 -1 359 2.2991129662841558e-03 4.7100279480218887e-02 -7.2335231304168701e-01 <_> 0 -1 360 2.7187510859221220e-03 -1.7086869478225708e-01 2.3513509333133698e-01 <_> 0 -1 361 -6.6619180142879486e-03 -7.8975427150726318e-01 4.5084670186042786e-02 <_> 0 -1 362 -4.8266649246215820e-02 -6.9579917192459106e-01 4.1976079344749451e-02 <_> 0 -1 363 1.5214690007269382e-02 -1.0818280279636383e-01 3.6460620164871216e-01 <_> 0 -1 364 -6.0080131515860558e-03 3.0970990657806396e-01 -1.1359210312366486e-01 <_> 0 -1 365 6.6127157770097256e-03 8.0665342509746552e-02 -4.6658530831336975e-01 <_> 0 -1 366 -7.9607013612985611e-03 -8.7201941013336182e-01 3.6774590611457825e-02 <_> 0 -1 367 3.8847199175506830e-03 -1.1666289716959000e-01 3.3070269227027893e-01 <_> 0 -1 368 -1.0988810099661350e-03 2.3872570693492889e-01 -1.7656759917736053e-01 <_> 44 -1.0368299484252930e+00 <_> 0 -1 369 3.5903379321098328e-03 -2.3688079416751862e-01 2.4631640315055847e-01 <_> 0 -1 370 6.4815930090844631e-03 -3.1373620033264160e-01 1.8675759434700012e-01 <_> 0 -1 371 7.3048402555286884e-05 -2.7644351124763489e-01 1.6496239602565765e-01 <_> 0 -1 372 -3.8514640182256699e-03 -5.6014508008956909e-01 1.1294739693403244e-01 <_> 0 -1 373 3.8588210009038448e-03 3.9848998188972473e-02 -5.8071857690811157e-01 <_> 0 -1 374 -2.4651220068335533e-02 1.6755010187625885e-01 -2.5343671441078186e-01 <_> 0 -1 375 4.7245521098375320e-02 -1.0662080347537994e-01 3.9451980590820312e-01 <_> 0 -1 376 6.5964651294052601e-03 -1.7744250595569611e-01 2.7280190587043762e-01 <_> 0 -1 377 -1.3177490327507257e-03 -5.4272651672363281e-01 4.8606589436531067e-02 <_> 0 -1 378 -5.0261709839105606e-03 2.4394249916076660e-01 -1.3143649697303772e-01 <_> 0 -1 379 3.4632768947631121e-03 6.9049343466758728e-02 -7.0336240530014038e-01 <_> 0 -1 380 2.1692588925361633e-03 -1.3289460539817810e-01 2.2098529338836670e-01 <_> 0 -1 381 2.9395870864391327e-02 -2.8530520200729370e-01 1.3543990254402161e-01 <_> 0 -1 382 -9.6181448316201568e-04 -5.8041381835937500e-01 3.7450648844242096e-02 <_> 0 -1 383 -1.0820999741554260e-01 3.9467281103134155e-01 -7.8655943274497986e-02 <_> 0 -1 384 -1.8024869263172150e-02 2.7355629205703735e-01 -1.3415299355983734e-01 <_> 0 -1 385 6.2509840354323387e-03 2.3388059809803963e-02 -8.0088591575622559e-01 <_> 0 -1 386 -1.6088379779830575e-03 -5.6762522459030151e-01 4.1215669363737106e-02 <_> 0 -1 387 7.7564752427861094e-04 -1.4891269803047180e-01 1.9086180627346039e-01 <_> 0 -1 388 8.7122338300105184e-05 -1.5557530522346497e-01 1.9428220391273499e-01 <_> 0 -1 389 -2.0755320787429810e-02 -6.3006532192230225e-01 3.6134380847215652e-02 <_> 0 -1 390 -6.2931738793849945e-03 2.5609248876571655e-01 -1.0588269680738449e-01 <_> 0 -1 391 1.0844149626791477e-02 -1.0124850273132324e-01 3.0322128534317017e-01 <_> 0 -1 392 -6.3752777350600809e-05 1.9111579656600952e-01 -1.3849230110645294e-01 <_> 0 -1 393 6.6480963141657412e-05 -1.5205250680446625e-01 2.1706309914588928e-01 <_> 0 -1 394 1.3560829684138298e-03 4.9431789666414261e-02 -6.4279842376708984e-01 <_> 0 -1 395 -9.0662558795884252e-04 1.7982010543346405e-01 -1.4044609665870667e-01 <_> 0 -1 396 1.0473709553480148e-03 -1.0933549702167511e-01 2.4265940487384796e-01 <_> 0 -1 397 -1.0243969736620784e-03 2.7162680029869080e-01 -1.1820919811725616e-01 <_> 0 -1 398 -1.2024149764329195e-03 -7.0151102542877197e-01 3.9489898830652237e-02 <_> 0 -1 399 7.6911649666726589e-03 -9.2218913137912750e-02 3.1046289205551147e-01 <_> 0 -1 400 -1.3966549932956696e-01 6.8979388475418091e-01 -3.9706118404865265e-02 <_> 0 -1 401 2.1276050247251987e-03 9.7277611494064331e-02 -2.8841799497604370e-01 <_> 0 -1 402 -2.7594310231506824e-03 2.4168670177459717e-01 -1.1277820169925690e-01 <_> 0 -1 403 5.2236132323741913e-03 -1.1430279910564423e-01 2.4256780743598938e-01 <_> 0 -1 404 -1.2590440455824137e-03 -5.9679388999938965e-01 4.7663960605859756e-02 <_> 0 -1 405 -3.7192099262028933e-03 -4.6414130926132202e-01 5.2847690880298615e-02 <_> 0 -1 406 5.9696151874959469e-03 -7.3244288563728333e-02 3.8743090629577637e-01 <_> 0 -1 407 -5.1776720210909843e-03 -7.4193227291107178e-01 4.0496710687875748e-02 <_> 0 -1 408 5.0035100430250168e-03 -1.3888800144195557e-01 1.8767620623111725e-01 <_> 0 -1 409 -5.2013457752764225e-04 -5.4940617084503174e-01 4.9417849630117416e-02 <_> 0 -1 410 5.3168768063187599e-03 -8.2482978701591492e-02 3.1740561127662659e-01 <_> 0 -1 411 -1.4774589799344540e-02 2.0816099643707275e-01 -1.2115559726953506e-01 <_> 0 -1 412 -4.1416451334953308e-02 -8.2437807321548462e-01 3.3329188823699951e-02 <_> 53 -1.0492420196533203e+00 <_> 0 -1 413 9.0962520334869623e-04 8.4579966962337494e-02 -5.6118410825729370e-01 <_> 0 -1 414 -5.6139789521694183e-02 1.5341749787330627e-01 -2.6967319846153259e-01 <_> 0 -1 415 1.0292009683325887e-03 -2.0489980280399323e-01 2.0153179764747620e-01 <_> 0 -1 416 2.8783010784536600e-03 -1.7351140081882477e-01 2.1297949552536011e-01 <_> 0 -1 417 -7.4144392274320126e-03 -5.9624868631362915e-01 4.7077950090169907e-02 <_> 0 -1 418 -1.4831849839538336e-03 1.9024610519409180e-01 -1.5986390411853790e-01 <_> 0 -1 419 4.5968941412866116e-03 3.1447131186723709e-02 -6.8694341182708740e-01 <_> 0 -1 420 2.4255330208688974e-03 -2.3609359562397003e-01 1.1036109924316406e-01 <_> 0 -1 421 -8.4950566291809082e-02 2.3107160627841949e-01 -1.3776530325412750e-01 <_> 0 -1 422 -5.0145681016147137e-03 3.8676109910011292e-01 -5.6217379868030548e-02 <_> 0 -1 423 -2.1482061129063368e-03 1.8191599845886230e-01 -1.7615699768066406e-01 <_> 0 -1 424 -1.0396770201623440e-02 -7.5351381301879883e-01 2.4091970175504684e-02 <_> 0 -1 425 -1.3466750271618366e-02 -7.2118860483169556e-01 3.4949369728565216e-02 <_> 0 -1 426 -8.4435477852821350e-02 -3.3792638778686523e-01 7.1113817393779755e-02 <_> 0 -1 427 2.4771490134298801e-03 -1.1765109747648239e-01 2.2541989386081696e-01 <_> 0 -1 428 1.5828050673007965e-02 -6.9536216557025909e-02 3.1395369768142700e-01 <_> 0 -1 429 6.4916983246803284e-02 -7.5043588876724243e-02 4.0677338838577271e-01 <_> 0 -1 430 2.9652469675056636e-04 7.3953360319137573e-02 -3.4544008970260620e-01 <_> 0 -1 431 1.3129520229995251e-03 -1.6909439861774445e-01 1.5258370339870453e-01 <_> 0 -1 432 -5.8032129891216755e-03 3.5260149836540222e-01 -8.3444066345691681e-02 <_> 0 -1 433 -1.4791679382324219e-01 4.3004658818244934e-01 -5.7309929281473160e-02 <_> 0 -1 434 -1.6584150493144989e-02 2.3432689905166626e-01 -1.0907640308141708e-01 <_> 0 -1 435 3.0183270573616028e-03 -1.3600939512252808e-01 2.6409289240837097e-01 <_> 0 -1 436 -3.6471918225288391e-02 -6.2809741497039795e-01 4.3545108288526535e-02 <_> 0 -1 437 -7.3119226726703346e-05 1.6470630466938019e-01 -1.6463780403137207e-01 <_> 0 -1 438 -3.6719450727105141e-03 -4.7421360015869141e-01 4.8586919903755188e-02 <_> 0 -1 439 -4.0151178836822510e-03 1.8222180008888245e-01 -1.4097510278224945e-01 <_> 0 -1 440 1.9948020577430725e-02 -6.9787658751010895e-02 3.6707460880279541e-01 <_> 0 -1 441 7.6699437340721488e-04 5.5729299783706665e-02 -4.4585430622100830e-01 <_> 0 -1 442 -1.1806039838120341e-03 -4.6876621246337891e-01 4.8902221024036407e-02 <_> 0 -1 443 1.5847349539399147e-02 -1.2120209634304047e-01 2.0566530525684357e-01 <_> 0 -1 444 -1.1985700111836195e-03 2.0262099802494049e-01 -1.2823820114135742e-01 <_> 0 -1 445 -1.0964959859848022e-01 -8.6619192361831665e-01 3.0351849272847176e-02 <_> 0 -1 446 -9.2532606795430183e-03 2.9343119263648987e-01 -8.5361950099468231e-02 <_> 0 -1 447 1.4686530455946922e-02 3.2798621803522110e-02 -7.7556562423706055e-01 <_> 0 -1 448 -1.3514430029317737e-03 2.4426999688148499e-01 -1.1503250151872635e-01 <_> 0 -1 449 -4.3728090822696686e-03 2.1687670052051544e-01 -1.3984480500221252e-01 <_> 0 -1 450 3.4263390116393566e-03 4.5614220201969147e-02 -5.4567712545394897e-01 <_> 0 -1 451 -3.8404068909585476e-03 1.4949500560760498e-01 -1.5062509477138519e-01 <_> 0 -1 452 3.7988980766385794e-03 -8.7301626801490784e-02 2.5481531023979187e-01 <_> 0 -1 453 -2.0094281062483788e-03 1.7259070277214050e-01 -1.4288470149040222e-01 <_> 0 -1 454 -2.4370709434151649e-03 2.6848098635673523e-01 -8.1898219883441925e-02 <_> 0 -1 455 1.0485399980098009e-03 4.6113260090351105e-02 -4.7243279218673706e-01 <_> 0 -1 456 1.7460780218243599e-03 -1.1030430346727371e-01 2.0379729568958282e-01 <_> 0 -1 457 5.8608627878129482e-03 -1.5619659423828125e-01 1.5927439928054810e-01 <_> 0 -1 458 -2.7724979445338249e-02 1.1349119991064072e-01 -2.1885140240192413e-01 <_> 0 -1 459 4.7080639749765396e-02 -4.1688729077577591e-02 5.3630048036575317e-01 <_> 0 -1 460 -7.9283770173788071e-03 -5.3595131635665894e-01 4.4237509369850159e-02 <_> 0 -1 461 -1.2880540452897549e-02 2.3237949609756470e-01 -1.0246250033378601e-01 <_> 0 -1 462 2.3604769259691238e-02 -8.8291436433792114e-02 3.0561059713363647e-01 <_> 0 -1 463 1.5902200713753700e-02 -1.2238109856843948e-01 1.7849120497703552e-01 <_> 0 -1 464 7.9939495772123337e-03 -8.3729006350040436e-02 3.2319590449333191e-01 <_> 0 -1 465 5.7100867852568626e-03 3.8479208946228027e-02 -6.8138152360916138e-01 <_> 51 -1.1122100353240967e+00 <_> 0 -1 466 2.2480720654129982e-03 -1.6416870057582855e-01 4.1648530960083008e-01 <_> 0 -1 467 4.5813550241291523e-03 -1.2465959787368774e-01 4.0385121107101440e-01 <_> 0 -1 468 -1.6073239967226982e-03 2.6082459092140198e-01 -2.0282520353794098e-01 <_> 0 -1 469 2.5205370038747787e-03 -1.0557229816913605e-01 3.6669111251831055e-01 <_> 0 -1 470 2.4119189474731684e-03 -1.3877600431442261e-01 2.9959911108016968e-01 <_> 0 -1 471 5.7156179100275040e-03 -7.7683463692665100e-02 4.8481920361518860e-01 <_> 0 -1 472 3.1093840952962637e-03 -1.1229000240564346e-01 2.9215508699417114e-01 <_> 0 -1 473 -8.6836628615856171e-02 -3.6779600381851196e-01 7.2597242891788483e-02 <_> 0 -1 474 5.2652182057499886e-03 -1.0890290141105652e-01 3.1791260838508606e-01 <_> 0 -1 475 -1.9913529977202415e-02 -5.3373438119888306e-01 7.0585712790489197e-02 <_> 0 -1 476 3.8297839928418398e-03 -1.3575910031795502e-01 2.2788879275321960e-01 <_> 0 -1 477 1.0431859642267227e-02 8.8797912001609802e-02 -4.7958970069885254e-01 <_> 0 -1 478 -2.0040439441800117e-02 1.5745539963245392e-01 -1.7771570384502411e-01 <_> 0 -1 479 -5.2967290394008160e-03 -6.8434917926788330e-01 3.5671461373567581e-02 <_> 0 -1 480 -2.1624139044433832e-03 2.8318038582801819e-01 -9.8511278629302979e-02 <_> 0 -1 481 -3.5464888787828386e-04 -3.7077340483665466e-01 8.0932952463626862e-02 <_> 0 -1 482 -1.8152060511056334e-04 -3.2207030057907104e-01 7.7551059424877167e-02 <_> 0 -1 483 -2.7563021285459399e-04 -3.2441279292106628e-01 8.7949477136135101e-02 <_> 0 -1 484 6.3823810778558254e-03 -8.8924713432788849e-02 3.1727218627929688e-01 <_> 0 -1 485 1.1150909587740898e-02 7.1019843220710754e-02 -4.0494039654731750e-01 <_> 0 -1 486 -1.0593760525807738e-03 2.6050668954849243e-01 -1.1765640228986740e-01 <_> 0 -1 487 2.3906480055302382e-03 -8.4388621151447296e-02 3.1230551004409790e-01 <_> 0 -1 488 -1.1000749655067921e-02 1.9152249395847321e-01 -1.5210020542144775e-01 <_> 0 -1 489 -2.4643228971399367e-04 -3.1765159964561462e-01 8.6582258343696594e-02 <_> 0 -1 490 2.3053269833326340e-02 -1.0089760273694992e-01 2.5769290328025818e-01 <_> 0 -1 491 -2.2135660983622074e-03 4.5689210295677185e-01 -5.2404791116714478e-02 <_> 0 -1 492 -9.7139709396287799e-04 -3.5518380999565125e-01 8.0094382166862488e-02 <_> 0 -1 493 1.5676229959353805e-03 1.0091420263051987e-01 -2.1603040397167206e-01 <_> 0 -1 494 7.5460801599547267e-04 5.7896178215742111e-02 -4.0461111068725586e-01 <_> 0 -1 495 -2.0698970183730125e-02 3.1543630361557007e-01 -8.0713048577308655e-02 <_> 0 -1 496 -2.0619940012693405e-02 2.7181661128997803e-01 -7.6358616352081299e-02 <_> 0 -1 497 2.1611129865050316e-02 3.9493449032306671e-02 -5.9429651498794556e-01 <_> 0 -1 498 6.5676742233335972e-03 -9.8353669047355652e-02 2.3649279773235321e-01 <_> 0 -1 499 -8.8434796780347824e-03 -5.2523428201675415e-01 4.3099921196699142e-02 <_> 0 -1 500 -9.4260741025209427e-03 2.4665130674839020e-01 -9.4130717217922211e-02 <_> 0 -1 501 -1.9830230157822371e-03 2.6743701100349426e-01 -9.0069316327571869e-02 <_> 0 -1 502 -1.7358399927616119e-03 1.5940019488334656e-01 -1.5789410471916199e-01 <_> 0 -1 503 -1.3513869605958462e-02 4.0792331099510193e-01 -6.4223118126392365e-02 <_> 0 -1 504 -1.9394010305404663e-02 1.8015649914741516e-01 -1.3731400668621063e-01 <_> 0 -1 505 -3.2684770412743092e-03 2.9080390930175781e-01 -8.0161906778812408e-02 <_> 0 -1 506 4.1773589327931404e-04 -2.1412980556488037e-01 1.1273439973592758e-01 <_> 0 -1 507 -7.6351119205355644e-03 -4.5365959405899048e-01 5.4625060409307480e-02 <_> 0 -1 508 -8.3652976900339127e-03 2.6472920179367065e-01 -9.4334110617637634e-02 <_> 0 -1 509 2.7768449857831001e-02 -1.0136710107326508e-01 2.0743979513645172e-01 <_> 0 -1 510 -5.4891228675842285e-02 2.8840309381484985e-01 -7.5312040746212006e-02 <_> 0 -1 511 2.5793339591473341e-03 -1.1088529974222183e-01 2.1724960207939148e-01 <_> 0 -1 512 6.6196516854688525e-05 -1.8872100114822388e-01 1.4440689980983734e-01 <_> 0 -1 513 5.0907251425087452e-03 -7.7601231634616852e-02 2.9398378729820251e-01 <_> 0 -1 514 -1.0444259643554688e-01 2.0133109390735626e-01 -1.0903970152139664e-01 <_> 0 -1 515 -6.7273090826347470e-04 1.7945900559425354e-01 -1.2023670226335526e-01 <_> 0 -1 516 3.2412849832326174e-03 4.0688131004571915e-02 -5.4600572586059570e-01 <_> 44 -1.2529590129852295e+00 <_> 0 -1 517 5.2965320646762848e-03 -1.2154529988765717e-01 6.4420372247695923e-01 <_> 0 -1 518 -2.5326260365545750e-03 5.1233220100402832e-01 -1.1108259856700897e-01 <_> 0 -1 519 -2.9183230362832546e-03 -5.0615429878234863e-01 1.1501979827880859e-01 <_> 0 -1 520 -2.3692339658737183e-02 3.7167280912399292e-01 -1.4672680199146271e-01 <_> 0 -1 521 2.0177470520138741e-02 -1.7388840019702911e-01 4.7759491205215454e-01 <_> 0 -1 522 -2.1723210811614990e-02 -4.3880090117454529e-01 1.3576899468898773e-01 <_> 0 -1 523 2.8369780629873276e-03 -1.2512069940567017e-01 4.6789029240608215e-01 <_> 0 -1 524 2.7148420922458172e-03 -8.8018856942653656e-02 3.6866518855094910e-01 <_> 0 -1 525 3.2625689636915922e-03 -8.5335306823253632e-02 5.1644730567932129e-01 <_> 0 -1 526 -3.5618850961327553e-03 -4.4503930211067200e-01 9.1738171875476837e-02 <_> 0 -1 527 1.9227749435231090e-03 -1.1077310144901276e-01 3.9416998624801636e-01 <_> 0 -1 528 -3.5111969918943942e-04 -3.7775701284408569e-01 1.2166170030832291e-01 <_> 0 -1 529 1.9121779769193381e-04 7.4816018342971802e-02 -4.0767100453376770e-01 <_> 0 -1 530 -2.6525629800744355e-04 -3.3151718974113464e-01 1.1291120201349258e-01 <_> 0 -1 531 2.0086700096726418e-02 -6.1598118394613266e-02 5.6128817796707153e-01 <_> 0 -1 532 3.6783248186111450e-02 -6.0251388698816299e-02 5.2192491292953491e-01 <_> 0 -1 533 1.3941619545221329e-03 -3.5503050684928894e-01 1.0863020271062851e-01 <_> 0 -1 534 -1.5181669965386391e-02 2.2739650309085846e-01 -1.6252990067005157e-01 <_> 0 -1 535 4.6796840615570545e-03 -5.7535041123628616e-02 4.8124238848686218e-01 <_> 0 -1 536 -1.7988319450523704e-04 -3.0587670207023621e-01 1.0868159681558609e-01 <_> 0 -1 537 -3.5850999411195517e-03 3.8596940040588379e-01 -9.2194072902202606e-02 <_> 0 -1 538 1.0793360415846109e-03 -1.1190389841794968e-01 3.1125208735466003e-01 <_> 0 -1 539 7.3285802500322461e-05 -2.0239910483360291e-01 1.5586680173873901e-01 <_> 0 -1 540 1.3678739964962006e-01 -2.1672859787940979e-01 1.4420390129089355e-01 <_> 0 -1 541 -1.1729259975254536e-02 4.3503770232200623e-01 -7.4886530637741089e-02 <_> 0 -1 542 3.9230841211974621e-03 -5.0289329141378403e-02 5.8831161260604858e-01 <_> 0 -1 543 -2.9819121118634939e-04 -3.8232401013374329e-01 9.2451132833957672e-02 <_> 0 -1 544 -4.7992770560085773e-03 4.8488789796829224e-01 -7.3136523365974426e-02 <_> 0 -1 545 -3.0155890271998942e-04 -3.5757359862327576e-01 1.0581880062818527e-01 <_> 0 -1 546 1.0390769690275192e-02 5.2920468151569366e-02 -5.7249659299850464e-01 <_> 0 -1 547 -9.4488041941076517e-04 4.4966828823089600e-01 -8.3075523376464844e-02 <_> 0 -1 548 1.2651870492845774e-03 -9.6695438027381897e-02 3.1302270293235779e-01 <_> 0 -1 549 1.7094539478421211e-02 -8.1248976290225983e-02 3.6113831400871277e-01 <_> 0 -1 550 2.5973359588533640e-03 -1.1338350176811218e-01 2.2233949601650238e-01 <_> 0 -1 551 1.4527440071105957e-03 6.9750443100929260e-02 -3.6720710992813110e-01 <_> 0 -1 552 4.7638658434152603e-03 -6.5788961946964264e-02 3.8328540325164795e-01 <_> 0 -1 553 -6.2501081265509129e-03 -7.0754468441009521e-01 3.8350198417901993e-02 <_> 0 -1 554 -3.1765329185873270e-03 1.3755400478839874e-01 -2.3240029811859131e-01 <_> 0 -1 555 3.2191169448196888e-03 -1.2935450673103333e-01 2.2737880051136017e-01 <_> 0 -1 556 -5.6365579366683960e-03 3.8067150115966797e-01 -6.7246839404106140e-02 <_> 0 -1 557 -2.3844049428589642e-04 -3.1122380495071411e-01 8.3838358521461487e-02 <_> 0 -1 558 -4.1017560288310051e-03 2.6067280769348145e-01 -1.0449740290641785e-01 <_> 0 -1 559 1.3336989795789123e-03 -5.8250140398740768e-02 4.7682440280914307e-01 <_> 0 -1 560 -1.2090239906683564e-03 1.4834509789943695e-01 -1.7329469323158264e-01 <_> 72 -1.1188739538192749e+00 <_> 0 -1 561 -3.1760931015014648e-03 3.3333331346511841e-01 -1.6642349958419800e-01 <_> 0 -1 562 2.4858079850673676e-02 -7.2728872299194336e-02 5.6674581766128540e-01 <_> 0 -1 563 -7.7597280032932758e-03 4.6258568763732910e-01 -9.3112178146839142e-02 <_> 0 -1 564 7.8239021822810173e-03 -2.7414610981941223e-01 1.3243049383163452e-01 <_> 0 -1 565 -1.0948839597404003e-02 2.2345480322837830e-01 -1.4965449273586273e-01 <_> 0 -1 566 -3.4349008928984404e-03 3.8724988698959351e-01 -6.6121727228164673e-02 <_> 0 -1 567 -3.1156290322542191e-02 2.4078279733657837e-01 -1.1406909674406052e-01 <_> 0 -1 568 1.1100519914180040e-03 -2.8207978606224060e-01 1.3275429606437683e-01 <_> 0 -1 569 3.1762740109115839e-03 3.4585930407047272e-02 -5.1374310255050659e-01 <_> 0 -1 570 -2.7977459132671356e-02 2.3926779627799988e-01 -1.3255919516086578e-01 <_> 0 -1 571 -2.3097939789295197e-02 3.9019620418548584e-01 -7.8478008508682251e-02 <_> 0 -1 572 -3.9731930010020733e-03 3.0691069364547729e-01 -7.0601403713226318e-02 <_> 0 -1 573 3.0335749033838511e-03 -1.4002190530300140e-01 1.9134859740734100e-01 <_> 0 -1 574 -1.0844370350241661e-02 1.6548730432987213e-01 -1.5657779574394226e-01 <_> 0 -1 575 -1.8150510266423225e-02 -6.3243591785430908e-01 3.9561819285154343e-02 <_> 0 -1 576 7.1052298881113529e-04 -1.8515570461750031e-01 1.3408809900283813e-01 <_> 0 -1 577 1.0893340222537518e-02 -2.6730230078101158e-02 6.0971802473068237e-01 <_> 0 -1 578 -2.8780900174751878e-04 -3.0065140128135681e-01 7.3171459138393402e-02 <_> 0 -1 579 -3.5855069290846586e-03 2.6217609643936157e-01 -7.9714097082614899e-02 <_> 0 -1 580 -1.9759280607104301e-02 -5.9039229154586792e-01 4.0698971599340439e-02 <_> 0 -1 581 -1.0845210403203964e-02 1.6364559531211853e-01 -1.2586060166358948e-01 <_> 0 -1 582 -4.3183090165257454e-03 -5.7474881410598755e-01 3.7644311785697937e-02 <_> 0 -1 583 1.4913700288161635e-03 6.0913469642400742e-02 -3.0222928524017334e-01 <_> 0 -1 584 1.5675699338316917e-02 -7.3145911097526550e-02 2.9379451274871826e-01 <_> 0 -1 585 -1.1033560149371624e-02 3.9318808913230896e-01 -4.7084320336580276e-02 <_> 0 -1 586 8.8555756956338882e-03 3.7601381540298462e-02 -4.9108490347862244e-01 <_> 0 -1 587 -8.9665671112015843e-04 1.7952020466327667e-01 -1.1086239665746689e-01 <_> 0 -1 588 -3.0592409893870354e-03 -4.4429460167884827e-01 5.1005430519580841e-02 <_> 0 -1 589 6.3201179727911949e-03 -5.2841089665889740e-02 3.7197101116180420e-01 <_> 0 -1 590 2.0682830363512039e-02 5.7667169719934464e-02 -3.6901599168777466e-01 <_> 0 -1 591 9.9822662770748138e-02 -3.7377018481492996e-02 5.8165591955184937e-01 <_> 0 -1 592 -6.5854229032993317e-03 2.8509441018104553e-01 -6.0978069901466370e-02 <_> 0 -1 593 -6.0900300741195679e-02 -5.1031768321990967e-01 3.7787400186061859e-02 <_> 0 -1 594 -2.9991709161549807e-03 -4.7943010926246643e-01 3.8833890110254288e-02 <_> 0 -1 595 -9.8906438797712326e-03 4.0609079599380493e-01 -4.7869648784399033e-02 <_> 0 -1 596 -8.2688927650451660e-02 -7.0671182870864868e-01 2.7487749233841896e-02 <_> 0 -1 597 5.0060399807989597e-03 2.8208440169692039e-02 -5.2909690141677856e-01 <_> 0 -1 598 6.1695030890405178e-03 -5.4554861038923264e-02 3.2837980985641479e-01 <_> 0 -1 599 -3.3914761152118444e-03 9.2117667198181152e-02 -2.1637110412120819e-01 <_> 0 -1 600 -2.6131230406463146e-03 1.3651019334793091e-01 -1.3781130313873291e-01 <_> 0 -1 601 8.0490659456700087e-04 -6.8637110292911530e-02 3.3581069111824036e-01 <_> 0 -1 602 -3.8106508553028107e-02 2.9445430636405945e-01 -6.8239226937294006e-02 <_> 0 -1 603 7.2450799052603543e-05 -1.6750130057334900e-01 1.2178230285644531e-01 <_> 0 -1 604 1.5837959945201874e-03 -9.2042848467826843e-02 2.1348990499973297e-01 <_> 0 -1 605 1.2924340553581715e-03 6.2917232513427734e-02 -3.6174508929252625e-01 <_> 0 -1 606 9.9146775901317596e-03 1.9534060731530190e-02 -8.1015038490295410e-01 <_> 0 -1 607 -1.7086310544982553e-03 2.5525239109992981e-01 -6.8229459226131439e-02 <_> 0 -1 608 2.1844399161636829e-03 2.3314049467444420e-02 -8.4296780824661255e-01 <_> 0 -1 609 -3.4244330599904060e-03 2.7213689684867859e-01 -7.6395228505134583e-02 <_> 0 -1 610 2.7591470279730856e-04 -1.0742840170860291e-01 2.2888970375061035e-01 <_> 0 -1 611 -6.0005177510902286e-04 -2.9854211211204529e-01 6.3479736447334290e-02 <_> 0 -1 612 -2.5001438916660845e-04 -2.7178969979286194e-01 6.9615006446838379e-02 <_> 0 -1 613 6.8751391954720020e-03 -5.7185899466276169e-02 3.6695951223373413e-01 <_> 0 -1 614 1.2761900201439857e-02 6.7955687642097473e-02 -2.8534150123596191e-01 <_> 0 -1 615 -1.4752789866179228e-03 2.0680660009384155e-01 -1.0059390217065811e-01 <_> 0 -1 616 1.2138819694519043e-01 -9.7126796841621399e-02 1.9789619743824005e-01 <_> 0 -1 617 -5.0081279128789902e-02 2.8417178988456726e-01 -6.7879997193813324e-02 <_> 0 -1 618 3.1454950571060181e-02 -8.9468672871589661e-02 2.1298420429229736e-01 <_> 0 -1 619 1.8878319533541799e-03 -1.1656440049409866e-01 1.6663520038127899e-01 <_> 0 -1 620 -5.7211960665881634e-03 2.3702140152454376e-01 -9.0776607394218445e-02 <_> 0 -1 621 -1.8076719425152987e-04 1.7951929569244385e-01 -1.0793480277061462e-01 <_> 0 -1 622 -1.9761849939823151e-01 4.5674291253089905e-01 -4.0480159223079681e-02 <_> 0 -1 623 -2.3846809926908463e-04 -2.3733009397983551e-01 7.5922161340713501e-02 <_> 0 -1 624 2.1540730085689574e-04 8.1688016653060913e-02 -2.8685030341148376e-01 <_> 0 -1 625 1.0163090191781521e-02 -4.1250020265579224e-02 4.8038348555564880e-01 <_> 0 -1 626 -7.2184870950877666e-03 1.7458580434322357e-01 -1.0146500170230865e-01 <_> 0 -1 627 2.4263170361518860e-01 5.3426481783390045e-02 -3.2318529486656189e-01 <_> 0 -1 628 6.9304101634770632e-04 -1.1499179899692535e-01 1.4793939888477325e-01 <_> 0 -1 629 3.5475199110805988e-03 -3.9424978196620941e-02 5.3126180171966553e-01 <_> 0 -1 630 2.1403690334409475e-04 6.9753833115100861e-02 -2.7319580316543579e-01 <_> 0 -1 631 -5.7119462871924043e-04 3.4369900822639465e-01 -5.7699009776115417e-02 <_> 0 -1 632 -6.6290069371461868e-03 1.1758489906787872e-01 -1.5020139515399933e-01 <_> 66 -1.0888810157775879e+00 <_> 0 -1 633 -2.6513449847698212e-02 2.0568640530109406e-01 -2.6473900675773621e-01 <_> 0 -1 634 9.7727458924055099e-03 -1.1192840337753296e-01 3.2570549845695496e-01 <_> 0 -1 635 3.2290350645780563e-02 -9.8574757575988770e-02 3.1779170036315918e-01 <_> 0 -1 636 -2.8103240765631199e-03 1.5213899314403534e-01 -1.9686409831047058e-01 <_> 0 -1 637 -1.0991429910063744e-02 5.1407659053802490e-01 -4.3707210570573807e-02 <_> 0 -1 638 6.3133831135928631e-03 -9.2781022191047668e-02 3.4702470898628235e-01 <_> 0 -1 639 8.7105982005596161e-02 3.0053649097681046e-02 -8.2814818620681763e-01 <_> 0 -1 640 1.1799359926953912e-03 -1.2928420305252075e-01 2.0646120607852936e-01 <_> 0 -1 641 -9.3056890182197094e-04 -5.0021439790725708e-01 9.3666993081569672e-02 <_> 0 -1 642 -1.3687170110642910e-02 -7.9358148574829102e-01 -6.6733639687299728e-03 <_> 0 -1 643 -7.5917452573776245e-02 3.0469641089439392e-01 -7.9655893146991730e-02 <_> 0 -1 644 -2.8559709899127483e-03 2.0961460471153259e-01 -1.2732550501823425e-01 <_> 0 -1 645 -4.0231510065495968e-03 -6.5817278623580933e-01 5.0683639943599701e-02 <_> 0 -1 646 1.7558040097355843e-02 -8.5382692515850067e-02 3.6174559593200684e-01 <_> 0 -1 647 2.1988239139318466e-02 6.2943696975708008e-02 -7.0896339416503906e-01 <_> 0 -1 648 -2.8599589131772518e-03 1.4683780074119568e-01 -1.6465979814529419e-01 <_> 0 -1 649 -1.0030849836766720e-02 4.9579939246177673e-01 -2.7188340201973915e-02 <_> 0 -1 650 -6.9560329429805279e-03 2.7977779507637024e-01 -7.7953331172466278e-02 <_> 0 -1 651 -3.8356808945536613e-03 -5.8163982629776001e-01 3.5739939659833908e-02 <_> 0 -1 652 -3.2647319603711367e-03 -4.9945080280303955e-01 4.6986490488052368e-02 <_> 0 -1 653 -7.8412350267171860e-03 3.4532830119132996e-01 -6.8810403347015381e-02 <_> 0 -1 654 -8.1718113506212831e-05 1.5041710436344147e-01 -1.4146679639816284e-01 <_> 0 -1 655 -3.2448628917336464e-03 2.2724510729312897e-01 -9.2860206961631775e-02 <_> 0 -1 656 -7.8561151167377830e-04 -4.4319018721580505e-01 5.7812441140413284e-02 <_> 0 -1 657 -6.2474247533828020e-04 1.3952389359474182e-01 -1.4668719470500946e-01 <_> 0 -1 658 -3.2942948746494949e-04 -2.9901570081710815e-01 7.6066739857196808e-02 <_> 0 -1 659 1.2605739757418633e-03 -1.6125600039958954e-01 1.3953800499439240e-01 <_> 0 -1 660 -5.1667019724845886e-02 -5.3142839670181274e-01 4.0719520300626755e-02 <_> 0 -1 661 -1.5285619534552097e-02 -7.8206378221511841e-01 2.7183769270777702e-02 <_> 0 -1 662 6.9029822945594788e-02 -3.6427021026611328e-02 7.1102517843246460e-01 <_> 0 -1 663 1.4522749697789550e-03 -9.6890516579151154e-02 2.1668420732021332e-01 <_> 0 -1 664 -2.4765590205788612e-03 1.1645310372114182e-01 -1.8227979540824890e-01 <_> 0 -1 665 -1.5134819550439715e-03 1.7863979935646057e-01 -1.2214969843626022e-01 <_> 0 -1 666 -1.5099470037966967e-03 1.8086239695549011e-01 -1.1446069926023483e-01 <_> 0 -1 667 -6.7054620012640953e-03 2.5106599926948547e-01 -9.1871462762355804e-02 <_> 0 -1 668 -1.4075200073421001e-02 1.3707509636878967e-01 -1.7333500087261200e-01 <_> 0 -1 669 -2.2400720044970512e-03 4.0092980861663818e-01 -4.7576878219842911e-02 <_> 0 -1 670 1.9782369956374168e-02 -1.9040350615978241e-01 1.4923410117626190e-01 <_> 0 -1 671 2.6002870872616768e-03 4.6971768140792847e-02 -4.3307659029960632e-01 <_> 0 -1 672 -5.3445628145709634e-04 -4.3744230270385742e-01 4.1520189493894577e-02 <_> 0 -1 673 -1.7466509714722633e-02 6.5818172693252563e-01 -3.4447491168975830e-02 <_> 0 -1 674 -2.0425589755177498e-03 3.9657929539680481e-01 -4.4052429497241974e-02 <_> 0 -1 675 2.6661779265850782e-03 5.8770958334207535e-02 -3.2806369662284851e-01 <_> 0 -1 676 -5.5982369929552078e-02 -5.1735472679138184e-01 3.5791840404272079e-02 <_> 0 -1 677 -1.5066330088302493e-03 1.5123869478702545e-01 -1.2520180642604828e-01 <_> 0 -1 678 -1.1472369544208050e-02 -6.2930530309677124e-01 3.4704331308603287e-02 <_> 0 -1 679 2.3409629240632057e-02 -5.8063350617885590e-02 3.8668221235275269e-01 <_> 0 -1 680 -2.3243729956448078e-03 1.8754099309444427e-01 -9.8394669592380524e-02 <_> 0 -1 681 -2.9039299115538597e-02 -5.4486900568008423e-01 4.0926340967416763e-02 <_> 0 -1 682 -1.4474649913609028e-02 -6.7248392105102539e-01 2.3128850385546684e-02 <_> 0 -1 683 -5.2086091600358486e-03 -4.3271440267562866e-01 4.3780650943517685e-02 <_> 0 -1 684 4.9382899887859821e-03 -1.0878620296716690e-01 1.9342589378356934e-01 <_> 0 -1 685 -4.3193930760025978e-03 2.4080930650234222e-01 -1.0380800068378448e-01 <_> 0 -1 686 2.3705669445917010e-04 -8.7349072098731995e-02 2.0466239750385284e-01 <_> 0 -1 687 4.7858079778961837e-04 4.5624580234289169e-02 -3.8854670524597168e-01 <_> 0 -1 688 -8.5342838428914547e-04 -5.5077940225601196e-01 3.5825889557600021e-02 <_> 0 -1 689 5.4772121075075120e-05 -1.1225239932537079e-01 1.7503519356250763e-01 <_> 0 -1 690 -3.8445889949798584e-03 2.4526700377464294e-01 -8.1132568418979645e-02 <_> 0 -1 691 -4.0128458291292191e-02 -6.3122707605361938e-01 2.6972670108079910e-02 <_> 0 -1 692 -1.7886360001284629e-04 1.9855099916458130e-01 -1.0333680361509323e-01 <_> 0 -1 693 1.7668239888735116e-04 -9.1359011828899384e-02 1.9848720729351044e-01 <_> 0 -1 694 7.2763383388519287e-02 5.0075579434633255e-02 -3.3852630853652954e-01 <_> 0 -1 695 1.0181630030274391e-02 -9.3229979276657104e-02 2.0059590041637421e-01 <_> 0 -1 696 2.4409969337284565e-03 6.4636632800102234e-02 -2.6921740174293518e-01 <_> 0 -1 697 -3.6227488890290260e-03 1.3169890642166138e-01 -1.2514840066432953e-01 <_> 0 -1 698 -1.3635610230267048e-03 1.6350460052490234e-01 -1.0665939748287201e-01 <_> 69 -1.0408929586410522e+00 <_> 0 -1 699 -9.6991164609789848e-03 6.1125320196151733e-01 -6.6225312650203705e-02 <_> 0 -1 700 -9.6426531672477722e-03 -1. 2.7699959464371204e-03 <_> 0 -1 701 -9.6381865441799164e-03 1. -2.9904270195402205e-04 <_> 0 -1 702 -4.2553939856588840e-03 2.8464388847351074e-01 -1.5540120005607605e-01 <_> 0 -1 703 -9.6223521977663040e-03 -1. 4.3999180197715759e-02 <_> 0 -1 704 -9.1231241822242737e-03 8.6869341135025024e-01 -2.7267890982329845e-03 <_> 0 -1 705 -8.6240433156490326e-03 4.5352488756179810e-01 -8.6071379482746124e-02 <_> 0 -1 706 -8.9324144646525383e-03 1.3375559449195862e-01 -2.6012519001960754e-01 <_> 0 -1 707 -1.4207810163497925e-02 3.2077640295028687e-01 -9.7226411104202271e-02 <_> 0 -1 708 2.5911010801792145e-02 -1.2964080274105072e-01 2.6218649744987488e-01 <_> 0 -1 709 2.0531509653665125e-04 -1.2404280155897141e-01 2.1062959730625153e-01 <_> 0 -1 710 -5.4795680625829846e-05 1.1974299699068069e-01 -2.3201279342174530e-01 <_> 0 -1 711 6.8555199541151524e-03 -6.3276126980781555e-02 4.1044250130653381e-01 <_> 0 -1 712 -1.2253040447831154e-02 5.4883331060409546e-01 -3.9731100201606750e-02 <_> 0 -1 713 -3.9058770053088665e-03 2.4190980195999146e-01 -9.7096011042594910e-02 <_> 0 -1 714 2.7560980524867773e-03 -1.2569679319858551e-01 1.9456650316715240e-01 <_> 0 -1 715 -7.7662160620093346e-03 2.9765701293945312e-01 -9.6818156540393829e-02 <_> 0 -1 716 3.8997188676148653e-04 6.2188401818275452e-02 -4.2040899395942688e-01 <_> 0 -1 717 3.3579880837351084e-03 4.7498140484094620e-02 -6.3216882944107056e-01 <_> 0 -1 718 -1.6745539382100105e-02 7.1098130941390991e-01 -3.9157349616289139e-02 <_> 0 -1 719 -6.5409899689257145e-03 -3.5043171048164368e-01 7.0616953074932098e-02 <_> 0 -1 720 3.0016340315341949e-04 9.1902457177639008e-02 -2.4618670344352722e-01 <_> 0 -1 721 1.4918990433216095e-02 -5.1909450441598892e-02 5.6636041402816772e-01 <_> 0 -1 722 4.8153079114854336e-04 6.4659558236598969e-02 -3.6590608954429626e-01 <_> 0 -1 723 -3.0211321427486837e-04 1.7926569283008575e-01 -1.1410660296678543e-01 <_> 0 -1 724 3.8521419628523290e-04 1.0345619916915894e-01 -2.0072460174560547e-01 <_> 0 -1 725 8.0837132409214973e-03 -6.6073462367057800e-02 3.0284249782562256e-01 <_> 0 -1 726 -2.2804969921708107e-02 5.2962350845336914e-01 -4.0118999779224396e-02 <_> 0 -1 727 1.9440450705587864e-04 8.1854820251464844e-02 -2.4663360416889191e-01 <_> 0 -1 728 -1.2848090380430222e-02 -3.4973311424255371e-01 5.6916229426860809e-02 <_> 0 -1 729 -1.0937290498986840e-03 2.3368680477142334e-01 -9.1604806482791901e-02 <_> 0 -1 730 1.0032650316134095e-03 1.1852180212736130e-01 -1.8469190597534180e-01 <_> 0 -1 731 -4.4688429683446884e-02 -6.4362460374832153e-01 3.0363269150257111e-02 <_> 0 -1 732 8.1657543778419495e-03 4.3674658983945847e-02 -4.3002089858055115e-01 <_> 0 -1 733 -1.1717810295522213e-02 4.1781479120254517e-01 -4.8233699053525925e-02 <_> 0 -1 734 8.4277130663394928e-02 5.3461279720067978e-02 -3.7952190637588501e-01 <_> 0 -1 735 1.4211839996278286e-02 4.4900938868522644e-02 -4.2981499433517456e-01 <_> 0 -1 736 1.5028340276330709e-03 8.2227639853954315e-02 -2.4706399440765381e-01 <_> 0 -1 737 1.0003579780459404e-02 -5.7221669703722000e-02 3.4609371423721313e-01 <_> 0 -1 738 -9.0706320479512215e-03 4.5058089494705200e-01 -4.2795319110155106e-02 <_> 0 -1 739 -3.3141620224341750e-04 1.8336910009384155e-01 -1.0759949684143066e-01 <_> 0 -1 740 1.9723279774188995e-01 -3.0363829806447029e-02 6.6423428058624268e-01 <_> 0 -1 741 -7.1258801035583019e-03 -8.9225047826766968e-01 2.5669990107417107e-02 <_> 0 -1 742 8.6921341717243195e-03 -7.0764370262622833e-02 2.8210529685020447e-01 <_> 0 -1 743 8.9262127876281738e-03 7.1078233420848846e-02 -3.0232560634613037e-01 <_> 0 -1 744 5.7286009192466736e-02 5.0974130630493164e-02 -3.9196950197219849e-01 <_> 0 -1 745 3.7920880131423473e-03 3.3841941505670547e-02 -5.1016288995742798e-01 <_> 0 -1 746 -1.4508679741993546e-03 3.0879148840904236e-01 -6.3845083117485046e-02 <_> 0 -1 747 9.8390132188796997e-04 -1.3029569387435913e-01 1.4604410529136658e-01 <_> 0 -1 748 -1.7221809830516577e-03 2.9157009720802307e-01 -6.8549558520317078e-02 <_> 0 -1 749 1.0948250070214272e-02 3.4351408481597900e-02 -4.7702258825302124e-01 <_> 0 -1 750 -1.7176309484057128e-05 1.6055269539356232e-01 -1.1690840125083923e-01 <_> 0 -1 751 -5.4884208366274834e-03 -4.3415889143943787e-01 4.6106241643428802e-02 <_> 0 -1 752 -3.0975250992923975e-03 3.7943339347839355e-01 -5.6860551238059998e-02 <_> 0 -1 753 6.4182081259787083e-03 -1.5858210623264313e-01 1.2335419654846191e-01 <_> 0 -1 754 1.1831239797174931e-02 -4.0929291397333145e-02 4.5878958702087402e-01 <_> 0 -1 755 1.3540499843657017e-02 -5.3725559264421463e-02 3.5056120157241821e-01 <_> 0 -1 756 -2.5932150892913342e-03 1.1010520160198212e-01 -1.6752210259437561e-01 <_> 0 -1 757 1.6856270376592875e-03 6.6574357450008392e-02 -3.0835020542144775e-01 <_> 0 -1 758 2.6524690911173820e-03 6.6318482160568237e-02 -2.7861338853836060e-01 <_> 0 -1 759 -7.7341729775071144e-03 1.9718359410762787e-01 -1.0782919824123383e-01 <_> 0 -1 760 5.0944271497428417e-03 8.5337489843368530e-02 -2.4847009778022766e-01 <_> 0 -1 761 -2.9162371065467596e-03 -4.7476351261138916e-01 3.3566489815711975e-02 <_> 0 -1 762 3.0121419113129377e-03 -4.7575380653142929e-02 4.2586800456047058e-01 <_> 0 -1 763 3.1694869976490736e-03 -1.0519450157880783e-01 1.7163459956645966e-01 <_> 0 -1 764 2.2327560186386108e-01 -1.4370209537446499e-02 9.2483651638031006e-01 <_> 0 -1 765 -9.5585048198699951e-02 -7.4206638336181641e-01 2.7818970382213593e-02 <_> 0 -1 766 3.4773729566950351e-05 -1.2765780091285706e-01 1.2926669418811798e-01 <_> 0 -1 767 7.2459770308341831e-05 -1.6518579423427582e-01 1.0036809742450714e-01 <_> 59 -1.0566600561141968e+00 <_> 0 -1 768 -6.5778270363807678e-03 3.3815258741378784e-01 -1.5281909704208374e-01 <_> 0 -1 769 -1.0922809597104788e-03 2.2282369434833527e-01 -1.9308499991893768e-01 <_> 0 -1 770 -2.9759589582681656e-02 2.5959870219230652e-01 -1.5409409999847412e-01 <_> 0 -1 771 -1.3147540390491486e-02 1.9033810496330261e-01 -1.6543999314308167e-01 <_> 0 -1 772 -1.4396329643204808e-03 2.0071710646152496e-01 -1.2338940054178238e-01 <_> 0 -1 773 -3.5928250290453434e-03 2.3985520005226135e-01 -1.2922149896621704e-01 <_> 0 -1 774 -1.5314699849113822e-03 -4.9014899134635925e-01 1.0275030136108398e-01 <_> 0 -1 775 -6.2372139655053616e-03 3.1214639544487000e-01 -1.1405629664659500e-01 <_> 0 -1 776 -3.3364649862051010e-02 -4.9520879983901978e-01 5.1328450441360474e-02 <_> 0 -1 777 -2.2827699780464172e-02 3.2558828592300415e-01 -6.5089307725429535e-02 <_> 0 -1 778 -8.6199097335338593e-02 -6.7646330595016479e-01 2.6985699310898781e-02 <_> 0 -1 779 -2.1065981127321720e-03 2.2452430427074432e-01 -1.2610229849815369e-01 <_> 0 -1 780 3.9120148867368698e-02 1.1329399794340134e-01 -2.6860630512237549e-01 <_> 0 -1 781 3.5082739777863026e-03 -1.1359959840774536e-01 2.5649771094322205e-01 <_> 0 -1 782 5.9289898490533233e-04 -1.4942969381809235e-01 1.6409839689731598e-01 <_> 0 -1 783 7.1766850305721164e-04 9.9905692040920258e-02 -2.1967969834804535e-01 <_> 0 -1 784 -2.1803600713610649e-02 -3.1711721420288086e-01 8.2889586687088013e-02 <_> 0 -1 785 -3.2962779514491558e-03 -3.8048729300498962e-01 6.0819379985332489e-02 <_> 0 -1 786 2.4196270387619734e-03 -9.6013016998767853e-02 2.8540581464767456e-01 <_> 0 -1 787 -4.4187481398694217e-04 2.2127939760684967e-01 -9.7434908151626587e-02 <_> 0 -1 788 3.4523929934948683e-03 3.7553120404481888e-02 -5.7969051599502563e-01 <_> 0 -1 789 -2.1834600716829300e-02 2.9562139511108398e-01 -8.0048300325870514e-02 <_> 0 -1 790 -2.1309500152710825e-04 2.2814509272575378e-01 -1.0114189982414246e-01 <_> 0 -1 791 -1.6166249988600612e-03 -5.0541198253631592e-01 4.4764541089534760e-02 <_> 0 -1 792 7.5959609821438789e-03 4.5986540615558624e-02 -4.1197681427001953e-01 <_> 0 -1 793 3.8601809646934271e-03 -8.6563169956207275e-02 2.4809999763965607e-01 <_> 0 -1 794 6.0622231103479862e-03 -7.5557373464107513e-02 2.8433260321617126e-01 <_> 0 -1 795 -1.7097420059144497e-03 -3.5295820236206055e-01 5.8410499244928360e-02 <_> 0 -1 796 1.6515579074621201e-02 -8.0486953258514404e-02 2.3537430167198181e-01 <_> 0 -1 797 4.8465100117027760e-03 4.1895218193531036e-02 -4.8443049192428589e-01 <_> 0 -1 798 -3.1167170032858849e-02 1.9192309677600861e-01 -1.0268159955739975e-01 <_> 0 -1 799 6.1892281519249082e-04 -2.1085770428180695e-01 9.3886926770210266e-02 <_> 0 -1 800 1.1946310289204121e-02 3.9096169173717499e-02 -6.2248629331588745e-01 <_> 0 -1 801 -7.5677200220525265e-03 1.5936839580535889e-01 -1.2250780314207077e-01 <_> 0 -1 802 -5.3747411817312241e-02 -5.5622178316116333e-01 4.1190009564161301e-02 <_> 0 -1 803 1.5513530001044273e-02 -3.9826881140470505e-02 6.2400728464126587e-01 <_> 0 -1 804 1.5246650436893106e-03 7.0138677954673767e-02 -3.0789071321487427e-01 <_> 0 -1 805 -4.8315100139006972e-04 1.7887659370899200e-01 -1.0958620160818100e-01 <_> 0 -1 806 2.7374739293009043e-03 2.7478590607643127e-02 -8.8489568233489990e-01 <_> 0 -1 807 -6.5787717700004578e-02 -4.6432140469551086e-01 3.5037148743867874e-02 <_> 0 -1 808 1.2409730115905404e-03 -9.6479237079620361e-02 2.8779220581054688e-01 <_> 0 -1 809 8.1398809561505914e-04 1.1511719971895218e-01 -1.6766160726547241e-01 <_> 0 -1 810 2.3901820182800293e-02 -3.2603189349174500e-02 6.0017347335815430e-01 <_> 0 -1 811 2.7556600049138069e-02 -6.6137343645095825e-02 2.9994478821754456e-01 <_> 0 -1 812 -3.8070970913395286e-04 -3.3881181478500366e-01 6.4450770616531372e-02 <_> 0 -1 813 -1.3335429830476642e-03 1.4588660001754761e-01 -1.3217620551586151e-01 <_> 0 -1 814 -9.3507990241050720e-03 -5.1177829504013062e-01 3.4969471395015717e-02 <_> 0 -1 815 7.6215229928493500e-03 2.3249529302120209e-02 -6.9619411230087280e-01 <_> 0 -1 816 -5.3407860832521692e-05 2.3727379739284515e-01 -8.6910709738731384e-02 <_> 0 -1 817 -1.5332329785451293e-03 1.9228410720825195e-01 -1.0422399640083313e-01 <_> 0 -1 818 4.3135890737175941e-03 -9.6219547092914581e-02 2.5601211190223694e-01 <_> 0 -1 819 -2.3042880638968199e-04 -3.1564751267433167e-01 5.8838598430156708e-02 <_> 0 -1 820 -7.8411828726530075e-03 -6.6340929269790649e-01 2.4500999599695206e-02 <_> 0 -1 821 1.7103740572929382e-01 3.3831499516963959e-02 -4.5615941286087036e-01 <_> 0 -1 822 -1.6011140542104840e-03 2.1574890613555908e-01 -8.3622530102729797e-02 <_> 0 -1 823 -1.0535780340433121e-02 2.4552319943904877e-01 -8.2384489476680756e-02 <_> 0 -1 824 -5.8351638726890087e-03 -4.7807329893112183e-01 4.4086221605539322e-02 <_> 0 -1 825 -1.8706109374761581e-02 -6.0024029016494751e-01 2.1410040557384491e-02 <_> 0 -1 826 -9.3307439237833023e-04 2.4323590099811554e-01 -7.4165716767311096e-02 <_> 88 -9.7693431377410889e-01 <_> 0 -1 827 1.0646229609847069e-02 -1.3861389458179474e-01 2.6494070887565613e-01 <_> 0 -1 828 3.5298269242048264e-02 -7.5821727514266968e-02 3.9021068811416626e-01 <_> 0 -1 829 7.5638387352228165e-04 -9.5521442592144012e-02 2.9061999917030334e-01 <_> 0 -1 830 9.2497706413269043e-02 -2.7704238891601562e-01 7.9474702477455139e-02 <_> 0 -1 831 -2.9340879991650581e-03 2.2989539802074432e-01 -7.8550010919570923e-02 <_> 0 -1 832 -8.6535848677158356e-02 4.7744810581207275e-01 -6.8231220357120037e-03 <_> 0 -1 833 5.4699288739357144e-05 -2.2642609477043152e-01 8.8192112743854523e-02 <_> 0 -1 834 -3.6592520773410797e-02 2.7353870868682861e-01 -9.8606742918491364e-02 <_> 0 -1 835 2.6469118893146515e-03 -4.4083978980779648e-02 3.1445288658142090e-01 <_> 0 -1 836 -4.4271810911595821e-03 2.3822729289531708e-01 -8.6784273386001587e-02 <_> 0 -1 837 -5.1882481202483177e-03 1.5042769908905029e-01 -1.2672109901905060e-01 <_> 0 -1 838 4.5530400238931179e-03 -5.5945020169019699e-02 3.6501631140708923e-01 <_> 0 -1 839 1.4562410302460194e-02 3.6397770047187805e-02 -5.3559190034866333e-01 <_> 0 -1 840 6.8677567469421774e-05 -1.7479629814624786e-01 1.1068709939718246e-01 <_> 0 -1 841 -5.9744901955127716e-03 3.1077870726585388e-01 -6.6530227661132812e-02 <_> 0 -1 842 -5.8691250160336494e-03 -3.1901490688323975e-01 6.3931830227375031e-02 <_> 0 -1 843 -1.1140310205519199e-02 2.4364790320396423e-01 -8.0935180187225342e-02 <_> 0 -1 844 -5.8643531054258347e-02 -7.6083260774612427e-01 3.0809629708528519e-02 <_> 0 -1 845 -4.6097282320261002e-03 -4.5315021276473999e-01 2.9879059642553329e-02 <_> 0 -1 846 -9.3032103031873703e-03 1.4513379335403442e-01 -1.1033169925212860e-01 <_> 0 -1 847 1.3253629440441728e-03 -9.7698956727981567e-02 1.9646440446376801e-01 <_> 0 -1 848 4.9800761044025421e-03 3.3648081123828888e-02 -3.9792209863662720e-01 <_> 0 -1 849 -7.6542161405086517e-03 9.0841993689537048e-02 -1.5967549383640289e-01 <_> 0 -1 850 -3.8920590281486511e-01 -6.6571092605590820e-01 1.9028829410672188e-02 <_> 0 -1 851 -1.0019669681787491e-01 -5.7559269666671753e-01 2.4282779544591904e-02 <_> 0 -1 852 7.3541211895644665e-04 8.7919801473617554e-02 -1.6195340454578400e-01 <_> 0 -1 853 -3.4802639856934547e-03 2.6064491271972656e-01 -6.0200810432434082e-02 <_> 0 -1 854 8.4000425413250923e-03 -1.0979729890823364e-01 1.5707309544086456e-01 <_> 0 -1 855 2.3786011151969433e-03 3.6058239638805389e-02 -4.7277191281318665e-01 <_> 0 -1 856 7.3831682093441486e-03 -3.5756360739469528e-02 4.9498590826988220e-01 <_> 0 -1 857 3.2115620560944080e-03 -1.0125560313463211e-01 1.5747989714145660e-01 <_> 0 -1 858 -7.8209668397903442e-02 -7.6627081632614136e-01 2.2965829819440842e-02 <_> 0 -1 859 5.3303989261621609e-05 -1.3414350152015686e-01 1.1114919930696487e-01 <_> 0 -1 860 -9.6419155597686768e-03 2.5068029761314392e-01 -6.6608138382434845e-02 <_> 0 -1 861 -7.1092672646045685e-02 -4.0056818723678589e-01 4.0297791361808777e-02 <_> 0 -1 862 3.5171560011804104e-04 4.1861180216073990e-02 -3.2961198687553406e-01 <_> 0 -1 863 -3.3458150574006140e-04 -2.6029831171035767e-01 6.7892737686634064e-02 <_> 0 -1 864 -4.1451421566307545e-03 2.3967699706554413e-01 -7.2093337774276733e-02 <_> 0 -1 865 3.1754500232636929e-03 -7.1235269308090210e-02 2.4128450453281403e-01 <_> 0 -1 866 -5.5184490047395229e-03 5.0320237874984741e-01 -2.9686680063605309e-02 <_> 0 -1 867 -3.0242869979701936e-04 2.4879050254821777e-01 -5.6758578866720200e-02 <_> 0 -1 868 -1.3125919504091144e-03 3.1747800111770630e-01 -4.1845861822366714e-02 <_> 0 -1 869 -2.7123570907860994e-04 -2.7042070031166077e-01 5.6828990578651428e-02 <_> 0 -1 870 -7.3241777718067169e-03 2.7556678652763367e-01 -5.4252970963716507e-02 <_> 0 -1 871 -1.6851710155606270e-02 -3.4852910041809082e-01 4.5368999242782593e-02 <_> 0 -1 872 2.9902100563049316e-02 3.1621079891920090e-02 -4.3114370107650757e-01 <_> 0 -1 873 2.8902660124003887e-03 3.8029961287975311e-02 -3.7027099728584290e-01 <_> 0 -1 874 -1.9242949783802032e-03 2.4800279736518860e-01 -5.9333298355340958e-02 <_> 0 -1 875 4.9354149959981441e-03 -8.3068400621414185e-02 2.2043809294700623e-01 <_> 0 -1 876 8.2075603306293488e-02 -1.9413439556956291e-02 6.9089287519454956e-01 <_> 0 -1 877 -2.4699489586055279e-04 -2.4660569429397583e-01 6.4776450395584106e-02 <_> 0 -1 878 -1.8365769647061825e-03 2.8836160898208618e-01 -5.3390458226203918e-02 <_> 0 -1 879 -4.9553811550140381e-03 1.2740829586982727e-01 -1.2559419870376587e-01 <_> 0 -1 880 -8.3086621016263962e-03 2.3478110134601593e-01 -7.1676492691040039e-02 <_> 0 -1 881 -1.0879919677972794e-01 -2.5992238521575928e-01 5.8689739555120468e-02 <_> 0 -1 882 -9.6786450594663620e-03 -7.0720428228378296e-01 1.8749259412288666e-02 <_> 0 -1 883 -2.7136830613017082e-02 -5.8384227752685547e-01 2.1684130653738976e-02 <_> 0 -1 884 -6.5389778465032578e-03 -5.9748911857604980e-01 2.1480310708284378e-02 <_> 0 -1 885 -1.2095630168914795e-02 1.3269039988517761e-01 -9.9722720682621002e-02 <_> 0 -1 886 -1.6776099801063538e-01 -5.6655067205429077e-01 3.2123088836669922e-02 <_> 0 -1 887 -1.3262550346553326e-02 1.1495590209960938e-01 -1.1738389730453491e-01 <_> 0 -1 888 7.6744519174098969e-02 -3.1413231045007706e-02 5.9935492277145386e-01 <_> 0 -1 889 5.0785229541361332e-03 -5.2911940962076187e-02 2.3342399299144745e-01 <_> 0 -1 890 3.1800279393792152e-03 -7.7734388411045074e-02 1.7652909457683563e-01 <_> 0 -1 891 -1.7729829996824265e-03 1.9591629505157471e-01 -7.9752199351787567e-02 <_> 0 -1 892 -4.8560940194875002e-04 -2.8800371289253235e-01 4.9047119915485382e-02 <_> 0 -1 893 3.6554320831783116e-04 6.7922897636890411e-02 -2.2499430179595947e-01 <_> 0 -1 894 -2.6938671362586319e-04 1.6582170128822327e-01 -8.9744098484516144e-02 <_> 0 -1 895 7.8684233129024506e-02 2.6081679388880730e-02 -5.5693739652633667e-01 <_> 0 -1 896 -7.3774810880422592e-04 1.4036870002746582e-01 -1.1800300329923630e-01 <_> 0 -1 897 2.3957829922437668e-02 3.0470740050077438e-02 -4.6159979701042175e-01 <_> 0 -1 898 -1.6239080578088760e-03 2.6327079534530640e-01 -5.6765370070934296e-02 <_> 0 -1 899 -9.0819748584181070e-04 1.5462459623813629e-01 -1.1087069660425186e-01 <_> 0 -1 900 3.9806248969398439e-04 5.5630370974540710e-02 -2.8331959247589111e-01 <_> 0 -1 901 2.0506449509412050e-03 -9.1604836285114288e-02 1.7585539817810059e-01 <_> 0 -1 902 2.6742549613118172e-02 6.2003031373023987e-02 -2.4487000703811646e-01 <_> 0 -1 903 -2.1497008856385946e-03 2.9449298977851868e-01 -5.3218148648738861e-02 <_> 0 -1 904 5.6671658530831337e-03 -6.4298242330551147e-02 2.4905680119991302e-01 <_> 0 -1 905 6.8317902332637459e-05 -1.6819630563259125e-01 9.6548579633235931e-02 <_> 0 -1 906 1.7600439605303109e-04 6.5308012068271637e-02 -2.4267880618572235e-01 <_> 0 -1 907 4.1861608624458313e-03 -9.7988583147525787e-02 1.8052889406681061e-01 <_> 0 -1 908 -2.1808340679854155e-03 1.9231270253658295e-01 -9.4123929738998413e-02 <_> 0 -1 909 2.1730400621891022e-02 3.5578511655330658e-02 -4.5088538527488708e-01 <_> 0 -1 910 -1.4780269935727119e-02 -4.3927010893821716e-01 3.1735591590404510e-02 <_> 0 -1 911 -3.6145891062915325e-03 1.9811479747295380e-01 -7.7701419591903687e-02 <_> 0 -1 912 1.8892709631472826e-03 1.9962439313530922e-02 -7.2041720151901245e-01 <_> 0 -1 913 -1.3822480104863644e-03 9.8466947674751282e-02 -1.4881080389022827e-01 <_> 0 -1 914 -3.9505911991000175e-03 1.1593230068683624e-01 -1.2791970372200012e-01 <_> 58 -1.0129359960556030e+00 <_> 0 -1 915 -1.9395539537072182e-02 4.7474750876426697e-01 -1.1721090227365494e-01 <_> 0 -1 916 1.3118919916450977e-02 -2.5552129745483398e-01 1.6378800570964813e-01 <_> 0 -1 917 -5.1606801571324468e-04 1.9452619552612305e-01 -1.7448890209197998e-01 <_> 0 -1 918 -1.3184159994125366e-02 4.4181451201438904e-01 -9.0048752725124359e-02 <_> 0 -1 919 3.4657081123441458e-03 -1.3477090001106262e-01 1.8056340515613556e-01 <_> 0 -1 920 6.2980200164020061e-03 -5.4164979606866837e-02 3.6033380031585693e-01 <_> 0 -1 921 1.6879989998415112e-03 -1.9997949898242950e-01 1.2021599709987640e-01 <_> 0 -1 922 3.6039709812030196e-04 1.0524140298366547e-01 -2.4116060137748718e-01 <_> 0 -1 923 -1.5276849735528231e-03 2.8135529160499573e-01 -6.8964816629886627e-02 <_> 0 -1 924 3.5033570602536201e-03 -8.2519583404064178e-02 4.0713590383529663e-01 <_> 0 -1 925 -4.7337161377072334e-03 1.9727009534835815e-01 -1.1710140109062195e-01 <_> 0 -1 926 -1.1557149700820446e-02 -5.6061112880706787e-01 6.8170957267284393e-02 <_> 0 -1 927 -2.7445720508694649e-02 4.9718621373176575e-01 -6.2380149960517883e-02 <_> 0 -1 928 -5.2825778722763062e-02 1.6921220719814301e-01 -1.3093550503253937e-01 <_> 0 -1 929 -2.9849699139595032e-01 -6.4649671316146851e-01 4.0076818317174911e-02 <_> 0 -1 930 -2.6307269581593573e-04 2.5127941370010376e-01 -8.9494839310646057e-02 <_> 0 -1 931 2.3261709429789335e-04 -8.6843989789485931e-02 2.3831979930400848e-01 <_> 0 -1 932 2.3631360090803355e-04 1.1554460227489471e-01 -1.8936349451541901e-01 <_> 0 -1 933 2.0742209162563086e-03 -4.8594851046800613e-02 5.7485991716384888e-01 <_> 0 -1 934 -7.0308889262378216e-03 -5.4120808839797974e-01 4.8743750900030136e-02 <_> 0 -1 935 8.2652270793914795e-03 2.6494519785046577e-02 -6.1728459596633911e-01 <_> 0 -1 936 2.0042760297656059e-04 -1.1768630146980286e-01 1.6333860158920288e-01 <_> 0 -1 937 1.6470040427520871e-03 -5.9954918920993805e-02 3.5179701447486877e-01 <_> 0 -1 938 -3.5642538568936288e-04 -3.4420299530029297e-01 6.4948253333568573e-02 <_> 0 -1 939 -3.0935870483517647e-02 1.9979700446128845e-01 -9.7693696618080139e-02 <_> 0 -1 940 -6.3578772824257612e-04 -3.1481391191482544e-01 5.9425041079521179e-02 <_> 0 -1 941 -1.1862180195748806e-02 2.0043690502643585e-01 -8.9447543025016785e-02 <_> 0 -1 942 7.1508930996060371e-03 -3.9006061851978302e-02 5.3327161073684692e-01 <_> 0 -1 943 -2.0059191156178713e-03 -2.8469720482826233e-01 7.0723608136177063e-02 <_> 0 -1 944 3.6412389017641544e-03 -1.0660319775342941e-01 2.4944800138473511e-01 <_> 0 -1 945 -1.3467429578304291e-01 4.9910080432891846e-01 -4.0332220494747162e-02 <_> 0 -1 946 -2.2547659464180470e-03 1.6851690411567688e-01 -1.1119280010461807e-01 <_> 0 -1 947 4.3842289596796036e-03 8.6139492690563202e-02 -2.7431771159172058e-01 <_> 0 -1 948 -7.3361168615520000e-03 2.4875210225582123e-01 -9.5919162034988403e-02 <_> 0 -1 949 6.4666912658140063e-04 6.7431576550006866e-02 -3.3754080533981323e-01 <_> 0 -1 950 2.2983769304119051e-04 -8.3903051912784576e-02 2.4584099650382996e-01 <_> 0 -1 951 6.7039071582257748e-03 2.9079329222440720e-02 -6.9055938720703125e-01 <_> 0 -1 952 5.0734888645820320e-05 -1.5696719288825989e-01 1.1965429782867432e-01 <_> 0 -1 953 -2.0335559546947479e-01 -6.9506347179412842e-01 2.7507519349455833e-02 <_> 0 -1 954 9.4939414411783218e-03 -8.7449371814727783e-02 2.3968330025672913e-01 <_> 0 -1 955 -2.4055240210145712e-03 2.1150960028171539e-01 -1.3148930668830872e-01 <_> 0 -1 956 -1.1342419747961685e-04 1.5233789384365082e-01 -1.2725900113582611e-01 <_> 0 -1 957 1.4992210082709789e-02 -3.4127969294786453e-02 5.0624072551727295e-01 <_> 0 -1 958 7.4068200774490833e-04 4.8764750361442566e-02 -4.0225321054458618e-01 <_> 0 -1 959 -4.2459447868168354e-03 2.1554760634899139e-01 -8.7126992642879486e-02 <_> 0 -1 960 6.8655109498649836e-04 -7.5418718159198761e-02 2.6405909657478333e-01 <_> 0 -1 961 -1.6751460731029510e-02 -6.7729032039642334e-01 3.2918728888034821e-02 <_> 0 -1 962 -2.6301678735762835e-04 2.2725869715213776e-01 -9.0534873306751251e-02 <_> 0 -1 963 4.3398610432632267e-04 5.5894378572702408e-02 -3.5592669248580933e-01 <_> 0 -1 964 -2.0150149241089821e-02 1.9162760674953461e-01 -9.4929970800876617e-02 <_> 0 -1 965 -1.4452129602432251e-02 -6.8510341644287109e-01 2.5422170758247375e-02 <_> 0 -1 966 -2.1149739623069763e-02 3.7533190846443176e-01 -5.1496580243110657e-02 <_> 0 -1 967 2.1137770265340805e-02 2.9083080589771271e-02 -8.9430367946624756e-01 <_> 0 -1 968 1.1524349683895707e-03 -6.9694936275482178e-02 2.7299800515174866e-01 <_> 0 -1 969 -1.9070580310653895e-04 1.8228119611740112e-01 -9.8367072641849518e-02 <_> 0 -1 970 -3.6349631845951080e-02 -8.3693099021911621e-01 2.5055760517716408e-02 <_> 0 -1 971 -9.0632075443863869e-03 4.1463500261306763e-01 -5.4413449019193649e-02 <_> 0 -1 972 -2.0535490475594997e-03 -1.9750310480594635e-01 1.0506899654865265e-01 <_> 93 -9.7747492790222168e-01 <_> 0 -1 973 -2.2717019543051720e-02 2.4288550019264221e-01 -1.4745520055294037e-01 <_> 0 -1 974 2.5505950674414635e-02 -2.8551739454269409e-01 1.0837209969758987e-01 <_> 0 -1 975 -2.6640091091394424e-03 2.9275730252265930e-01 -1.0372710227966309e-01 <_> 0 -1 976 -3.8115289062261581e-03 2.1426899731159210e-01 -1.3811139762401581e-01 <_> 0 -1 977 -1.6732690855860710e-02 2.6550260186195374e-01 -4.3911330401897430e-02 <_> 0 -1 978 4.9277010839432478e-04 2.1104559302330017e-02 -4.2971360683441162e-01 <_> 0 -1 979 -3.6691110581159592e-02 5.3992420434951782e-01 -4.3648801743984222e-02 <_> 0 -1 980 1.2615970335900784e-03 -1.2933869659900665e-01 1.6638770699501038e-01 <_> 0 -1 981 -8.4106856957077980e-03 -9.4698411226272583e-01 2.1465849131345749e-02 <_> 0 -1 982 6.4902722835540771e-02 -7.1727760136127472e-02 2.6613479852676392e-01 <_> 0 -1 983 3.0305000022053719e-02 -8.2782492041587830e-02 2.7694320678710938e-01 <_> 0 -1 984 2.5875340215861797e-03 -1.2966169416904449e-01 1.7756630480289459e-01 <_> 0 -1 985 -7.0240451022982597e-03 -6.4243179559707642e-01 3.9943210780620575e-02 <_> 0 -1 986 -1.0099769569933414e-03 1.4176610112190247e-01 -1.1659970134496689e-01 <_> 0 -1 987 -4.1179071558872238e-05 1.5687669813632965e-01 -1.1127340048551559e-01 <_> 0 -1 988 -4.7293151146732271e-04 -3.3554559946060181e-01 4.5977730304002762e-02 <_> 0 -1 989 -1.7178079579025507e-03 1.6952909529209137e-01 -1.0578069835901260e-01 <_> 0 -1 990 -1.3333169743418694e-02 -5.8257812261581421e-01 3.0978430062532425e-02 <_> 0 -1 991 -1.8783430568873882e-03 1.4266879856586456e-01 -1.1131259799003601e-01 <_> 0 -1 992 -6.5765981562435627e-03 2.7561360597610474e-01 -5.3100328892469406e-02 <_> 0 -1 993 -7.7210381277836859e-05 1.3240240514278412e-01 -1.1167799681425095e-01 <_> 0 -1 994 2.1968539804220200e-02 -2.6968160644173622e-02 5.0067168474197388e-01 <_> 0 -1 995 -2.7445750311017036e-02 -2.4086740612983704e-01 6.0478270053863525e-02 <_> 0 -1 996 7.8305849456228316e-05 -1.3334889709949493e-01 1.0123469680547714e-01 <_> 0 -1 997 7.0190683007240295e-02 -5.4863780736923218e-02 2.4809940159320831e-01 <_> 0 -1 998 -7.1902133524417877e-02 -3.7846690416336060e-01 4.2210999876260757e-02 <_> 0 -1 999 -1.0780979692935944e-01 -3.7486588954925537e-01 4.2833440005779266e-02 <_> 0 -1 1000 1.4364200178533792e-03 8.0476358532905579e-02 -1.7263789474964142e-01 <_> 0 -1 1001 6.8289190530776978e-02 -3.5595789551734924e-02 4.0761318802833557e-01 <_> 0 -1 1002 -6.8037179298698902e-03 1.9233790040016174e-01 -8.2368023693561554e-02 <_> 0 -1 1003 -5.6193489581346512e-04 1.3057120144367218e-01 -1.4355149865150452e-01 <_> 0 -1 1004 -5.8276649564504623e-02 -3.0125439167022705e-01 5.2819650620222092e-02 <_> 0 -1 1005 -6.1205718666315079e-03 2.2043900191783905e-01 -7.5691752135753632e-02 <_> 0 -1 1006 -1.3594309799373150e-02 -3.9049360156059265e-01 4.1857108473777771e-02 <_> 0 -1 1007 1.3626200379803777e-03 -9.5363423228263855e-02 1.4970320463180542e-01 <_> 0 -1 1008 -1.5074219845701009e-04 -2.3945580422878265e-01 6.4798332750797272e-02 <_> 0 -1 1009 -7.7414259314537048e-02 5.5941981077194214e-01 -2.4516880512237549e-02 <_> 0 -1 1010 9.2117872554808855e-04 5.4928861558437347e-02 -2.7934810519218445e-01 <_> 0 -1 1011 1.0250780032947659e-03 -6.2167309224605560e-02 2.4976369738578796e-01 <_> 0 -1 1012 -8.1174750812351704e-04 2.3437939584255219e-01 -6.5725810825824738e-02 <_> 0 -1 1013 8.3431020379066467e-02 5.0954800099134445e-02 -3.1020981073379517e-01 <_> 0 -1 1014 -9.2014456167817116e-03 -3.9242538809776306e-01 3.2926950603723526e-02 <_> 0 -1 1015 -2.9086650465615094e-04 -3.1039750576019287e-01 4.9711819738149643e-02 <_> 0 -1 1016 7.7576898038387299e-03 -4.4040750712156296e-02 3.6431351304054260e-01 <_> 0 -1 1017 -1.2466090172529221e-01 -8.1957077980041504e-01 1.9150640815496445e-02 <_> 0 -1 1018 1.3242550194263458e-02 3.8988839834928513e-02 -3.3230680227279663e-01 <_> 0 -1 1019 -6.6770128905773163e-03 -3.5790139436721802e-01 4.0460210293531418e-02 <_> 0 -1 1020 -2.7479929849505424e-03 2.5253900885581970e-01 -5.6427821516990662e-02 <_> 0 -1 1021 8.2659651525318623e-04 -7.1988657116889954e-02 2.2780479490756989e-01 <_> 0 -1 1022 -5.0153400748968124e-02 -6.3036471605300903e-01 2.7462050318717957e-02 <_> 0 -1 1023 7.4203149415552616e-03 -6.6610716283321381e-02 2.7787339687347412e-01 <_> 0 -1 1024 -6.7951780511066318e-04 -3.6327061057090759e-01 4.2795430868864059e-02 <_> 0 -1 1025 -1.9305750029161572e-03 1.4196230471134186e-01 -1.0759980231523514e-01 <_> 0 -1 1026 -3.8132671033963561e-04 2.1591760218143463e-01 -7.0202663540840149e-02 <_> 0 -1 1027 -7.0990346372127533e-02 4.5266601443290710e-01 -4.0750481188297272e-02 <_> 0 -1 1028 -5.3368080407381058e-02 -6.7674058675765991e-01 1.9288340583443642e-02 <_> 0 -1 1029 -2.0064849406480789e-02 -4.3365430831909180e-01 3.1853288412094116e-02 <_> 0 -1 1030 1.1976360110566020e-03 -2.6559870690107346e-02 5.0797182321548462e-01 <_> 0 -1 1031 -2.2697300300933421e-04 1.8012599647045135e-01 -8.3606548607349396e-02 <_> 0 -1 1032 1.5262699685990810e-02 -2.0238929986953735e-01 6.7422017455101013e-02 <_> 0 -1 1033 -2.0811769366264343e-01 6.6943860054016113e-01 -2.2452110424637794e-02 <_> 0 -1 1034 1.5514369588345289e-03 -7.5121842324733734e-02 1.7326919734477997e-01 <_> 0 -1 1035 -5.2924010902643204e-02 2.4992519617080688e-01 -6.2879167497158051e-02 <_> 0 -1 1036 -2.1648850291967392e-02 -2.9194280505180359e-01 5.2614491432905197e-02 <_> 0 -1 1037 -2.2905069636180997e-04 -2.2117300331592560e-01 6.3168339431285858e-02 <_> 0 -1 1038 5.0170070608146489e-05 -1.1510709673166275e-01 1.1611440032720566e-01 <_> 0 -1 1039 -1.6416069411206990e-04 1.5871520340442657e-01 -8.2600601017475128e-02 <_> 0 -1 1040 -1.2003289535641670e-02 1.2218090146780014e-01 -1.1229699850082397e-01 <_> 0 -1 1041 -1.7784100025892258e-02 -3.5072788596153259e-01 3.1341921538114548e-02 <_> 0 -1 1042 -6.3457582145929337e-03 1.3078069686889648e-01 -1.0574410110712051e-01 <_> 0 -1 1043 -7.9523242311552167e-04 1.7204670608043671e-01 -8.6001992225646973e-02 <_> 0 -1 1044 -3.1029590172693133e-04 -2.8433170914649963e-01 5.1817119121551514e-02 <_> 0 -1 1045 -1.7053710296750069e-02 3.9242428541183472e-01 -4.0143270045518875e-02 <_> 0 -1 1046 4.6504959464073181e-03 -3.1837560236454010e-02 4.1237699985504150e-01 <_> 0 -1 1047 -1.0358760133385658e-02 -5.6993198394775391e-01 2.9248379170894623e-02 <_> 0 -1 1048 -2.2196240723133087e-02 -4.5605289936065674e-01 2.6285989210009575e-02 <_> 0 -1 1049 -7.0536029525101185e-03 1.5998320281505585e-01 -9.1594859957695007e-02 <_> 0 -1 1050 -5.7094299700111151e-04 -1.4076329767704010e-01 1.0287419706583023e-01 <_> 0 -1 1051 -2.2152599412947893e-03 1.6593599319458008e-01 -8.5273988544940948e-02 <_> 0 -1 1052 -2.8084890916943550e-02 2.7022340893745422e-01 -5.5873811244964600e-02 <_> 0 -1 1053 2.1515151020139456e-03 4.2472891509532928e-02 -3.2005849480628967e-01 <_> 0 -1 1054 -2.9733829433098435e-04 1.6177169978618622e-01 -8.5115589201450348e-02 <_> 0 -1 1055 -1.6694780439138412e-02 -4.2858770489692688e-01 3.0541609972715378e-02 <_> 0 -1 1056 1.1982990056276321e-01 -1.6277290880680084e-02 7.9846781492233276e-01 <_> 0 -1 1057 -3.5499420482665300e-04 1.5935939550399780e-01 -8.3272881805896759e-02 <_> 0 -1 1058 -1.8226269632577896e-02 1.9527280330657959e-01 -7.3939889669418335e-02 <_> 0 -1 1059 -4.0238600922748446e-04 7.9101808369159698e-02 -2.0806129276752472e-01 <_> 0 -1 1060 4.0892060496844351e-04 1.0036630183458328e-01 -1.5128210186958313e-01 <_> 0 -1 1061 9.5368112670257688e-04 -7.3011666536331177e-02 2.1752020716667175e-01 <_> 0 -1 1062 4.3081799149513245e-01 -2.7450699359178543e-02 5.7061582803726196e-01 <_> 0 -1 1063 5.3564831614494324e-04 1.1587540060281754e-01 -1.2790560722351074e-01 <_> 0 -1 1064 2.4430730263702571e-05 -1.6816629469394684e-01 8.0449983477592468e-02 <_> 0 -1 1065 -5.5345650762319565e-02 4.5338949561119080e-01 -3.1222779303789139e-02 <_> <_> 0 8 20 12 -1. <_> 0 14 20 6 2. <_> <_> 9 1 4 15 -1. <_> 9 6 4 5 3. <_> <_> 6 10 9 2 -1. <_> 9 10 3 2 3. <_> <_> 7 0 10 9 -1. <_> 7 3 10 3 3. <_> <_> 12 2 2 18 -1. <_> 12 8 2 6 3. <_> <_> 8 6 8 6 -1. <_> 8 9 8 3 2. <_> <_> 2 0 17 18 -1. <_> 2 6 17 6 3. <_> <_> 10 10 1 8 -1. <_> 10 14 1 4 2. <_> <_> 7 10 9 2 -1. <_> 10 10 3 2 3. <_> <_> 5 1 6 6 -1. <_> 5 3 6 2 3. <_> <_> 3 1 15 9 -1. <_> 3 4 15 3 3. <_> <_> 6 3 9 6 -1. <_> 6 5 9 2 3. <_> <_> 8 17 6 3 -1. <_> 10 17 2 3 3. <_> <_> 9 10 9 1 -1. <_> 12 10 3 1 3. <_> <_> 1 7 6 11 -1. <_> 3 7 2 11 3. <_> <_> 9 18 3 1 -1. <_> 10 18 1 1 3. <_> <_> 16 16 1 2 -1. <_> 16 17 1 1 2. <_> <_> 9 17 6 3 -1. <_> 11 17 2 3 3. <_> <_> 8 0 5 18 -1. <_> 8 6 5 6 3. <_> <_> 6 7 9 7 -1. <_> 9 7 3 7 3. <_> <_> 14 6 6 10 -1. <_> 16 6 2 10 3. <_> <_> 9 8 9 5 -1. <_> 12 8 3 5 3. <_> <_> 3 7 9 6 -1. <_> 6 7 3 6 3. <_> <_> 1 7 6 6 -1. <_> 3 7 2 6 3. <_> <_> 16 0 4 18 -1. <_> 16 6 4 6 3. <_> <_> 0 17 3 3 -1. <_> 0 18 3 1 3. <_> <_> 16 0 2 1 -1. <_> 17 0 1 1 2. <_> <_> 0 8 20 12 -1. <_> 0 14 20 6 2. <_> <_> 6 6 9 8 -1. <_> 9 6 3 8 3. <_> <_> 5 3 12 9 -1. <_> 5 6 12 3 3. <_> <_> 4 16 1 2 -1. <_> 4 17 1 1 2. <_> <_> 18 10 2 1 -1. <_> 19 10 1 1 2. <_> <_> 9 8 6 5 -1. <_> 11 8 2 5 3. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 6 8 6 6 -1. <_> 8 8 2 6 3. <_> <_> 11 7 6 7 -1. <_> 13 7 2 7 3. <_> <_> 19 14 1 2 -1. <_> 19 15 1 1 2. <_> <_> 6 17 1 2 -1. <_> 6 18 1 1 2. <_> <_> 14 7 2 7 -1. <_> 15 7 1 7 2. <_> <_> 6 8 2 4 -1. <_> 7 8 1 4 2. <_> <_> 5 8 12 6 -1. <_> 5 10 12 2 3. <_> <_> 2 17 1 3 -1. <_> 2 18 1 1 3. <_> <_> 6 7 3 6 -1. <_> 7 7 1 6 3. <_> <_> 6 7 9 12 -1. <_> 9 7 3 12 3. <_> <_> 6 2 11 12 -1. <_> 6 6 11 4 3. <_> <_> 1 12 5 8 -1. <_> 1 16 5 4 2. <_> <_> 14 7 6 7 -1. <_> 16 7 2 7 3. <_> <_> 10 8 6 6 -1. <_> 12 8 2 6 3. <_> <_> 16 18 4 2 -1. <_> 16 19 4 1 2. <_> <_> 18 17 2 3 -1. <_> 18 18 2 1 3. <_> <_> 9 7 3 7 -1. <_> 10 7 1 7 3. <_> <_> 5 6 6 8 -1. <_> 7 6 2 8 3. <_> <_> 2 6 6 11 -1. <_> 4 6 2 11 3. <_> <_> 8 10 12 8 -1. <_> 8 14 12 4 2. <_> <_> 7 17 6 3 -1. <_> 9 17 2 3 3. <_> <_> 10 9 3 3 -1. <_> 11 9 1 3 3. <_> <_> 8 8 3 6 -1. <_> 9 8 1 6 3. <_> <_> 7 0 6 5 -1. <_> 9 0 2 5 3. <_> <_> 6 17 1 3 -1. <_> 6 18 1 1 3. <_> <_> 0 18 4 2 -1. <_> 0 19 4 1 2. <_> <_> 4 1 11 9 -1. <_> 4 4 11 3 3. <_> <_> 3 1 14 9 -1. <_> 3 4 14 3 3. <_> <_> 0 9 6 4 -1. <_> 2 9 2 4 3. <_> <_> 18 13 1 2 -1. <_> 18 14 1 1 2. <_> <_> 13 5 3 11 -1. <_> 14 5 1 11 3. <_> <_> 0 18 8 2 -1. <_> 0 18 4 1 2. <_> 4 19 4 1 2. <_> <_> 5 8 12 5 -1. <_> 9 8 4 5 3. <_> <_> 4 7 11 10 -1. <_> 4 12 11 5 2. <_> <_> 14 9 6 4 -1. <_> 16 9 2 4 3. <_> <_> 0 7 6 8 -1. <_> 3 7 3 8 2. <_> <_> 0 16 3 3 -1. <_> 0 17 3 1 3. <_> <_> 7 11 12 1 -1. <_> 11 11 4 1 3. <_> <_> 4 8 9 4 -1. <_> 7 8 3 4 3. <_> <_> 5 16 6 4 -1. <_> 7 16 2 4 3. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 4 9 4 10 -1. <_> 4 9 2 5 2. <_> 6 14 2 5 2. <_> <_> 4 8 6 4 -1. <_> 6 8 2 4 3. <_> <_> 10 2 2 18 -1. <_> 10 8 2 6 3. <_> <_> 0 5 8 6 -1. <_> 0 5 4 3 2. <_> 4 8 4 3 2. <_> <_> 6 0 6 5 -1. <_> 8 0 2 5 3. <_> <_> 18 0 2 14 -1. <_> 18 7 2 7 2. <_> <_> 8 18 4 2 -1. <_> 10 18 2 2 2. <_> <_> 1 17 6 3 -1. <_> 1 18 6 1 3. <_> <_> 11 8 3 5 -1. <_> 12 8 1 5 3. <_> <_> 11 8 3 4 -1. <_> 12 8 1 4 3. <_> <_> 11 0 6 5 -1. <_> 13 0 2 5 3. <_> <_> 1 7 6 7 -1. <_> 3 7 2 7 3. <_> <_> 0 13 1 3 -1. <_> 0 14 1 1 3. <_> <_> 3 2 9 6 -1. <_> 3 4 9 2 3. <_> <_> 8 6 9 2 -1. <_> 8 7 9 1 2. <_> <_> 0 14 3 6 -1. <_> 0 16 3 2 3. <_> <_> 1 11 6 4 -1. <_> 3 11 2 4 3. <_> <_> 6 9 9 3 -1. <_> 9 9 3 3 3. <_> <_> 6 0 9 6 -1. <_> 6 2 9 2 3. <_> <_> 8 5 6 6 -1. <_> 8 7 6 2 3. <_> <_> 1 12 2 1 -1. <_> 2 12 1 1 2. <_> <_> 10 10 6 2 -1. <_> 12 10 2 2 3. <_> <_> 13 8 6 6 -1. <_> 15 8 2 6 3. <_> <_> 6 16 6 4 -1. <_> 8 16 2 4 3. <_> <_> 8 0 9 9 -1. <_> 8 3 9 3 3. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 7 10 3 3 -1. <_> 8 10 1 3 3. <_> <_> 9 14 2 2 -1. <_> 9 14 1 1 2. <_> 10 15 1 1 2. <_> <_> 9 14 2 2 -1. <_> 9 14 1 1 2. <_> 10 15 1 1 2. <_> <_> 0 8 19 12 -1. <_> 0 14 19 6 2. <_> <_> 7 6 9 14 -1. <_> 10 6 3 14 3. <_> <_> 13 8 3 4 -1. <_> 14 8 1 4 3. <_> <_> 4 17 1 3 -1. <_> 4 18 1 1 3. <_> <_> 4 9 6 3 -1. <_> 6 9 2 3 3. <_> <_> 2 18 5 2 -1. <_> 2 19 5 1 2. <_> <_> 7 8 2 2 -1. <_> 7 8 1 1 2. <_> 8 9 1 1 2. <_> <_> 7 8 2 2 -1. <_> 7 8 1 1 2. <_> 8 9 1 1 2. <_> <_> 5 10 13 2 -1. <_> 5 11 13 1 2. <_> <_> 10 8 1 9 -1. <_> 10 11 1 3 3. <_> <_> 15 8 2 12 -1. <_> 15 8 1 6 2. <_> 16 14 1 6 2. <_> <_> 4 0 3 5 -1. <_> 5 0 1 5 3. <_> <_> 12 6 3 7 -1. <_> 13 6 1 7 3. <_> <_> 7 16 6 4 -1. <_> 9 16 2 4 3. <_> <_> 9 16 2 1 -1. <_> 10 16 1 1 2. <_> <_> 6 10 9 2 -1. <_> 9 10 3 2 3. <_> <_> 0 6 15 14 -1. <_> 0 13 15 7 2. <_> <_> 9 1 5 6 -1. <_> 9 3 5 2 3. <_> <_> 3 9 3 4 -1. <_> 4 9 1 4 3. <_> <_> 5 7 3 6 -1. <_> 6 7 1 6 3. <_> <_> 17 16 1 2 -1. <_> 17 17 1 1 2. <_> <_> 9 8 6 12 -1. <_> 11 8 2 12 3. <_> <_> 6 10 6 1 -1. <_> 8 10 2 1 3. <_> <_> 7 17 9 3 -1. <_> 10 17 3 3 3. <_> <_> 14 18 6 2 -1. <_> 14 19 6 1 2. <_> <_> 9 5 3 14 -1. <_> 10 5 1 14 3. <_> <_> 8 16 9 4 -1. <_> 11 16 3 4 3. <_> <_> 0 0 4 14 -1. <_> 0 7 4 7 2. <_> <_> 8 1 6 3 -1. <_> 10 1 2 3 3. <_> <_> 6 8 3 4 -1. <_> 7 8 1 4 3. <_> <_> 4 8 3 4 -1. <_> 5 8 1 4 3. <_> <_> 5 1 6 5 -1. <_> 7 1 2 5 3. <_> <_> 1 18 1 2 -1. <_> 1 19 1 1 2. <_> <_> 7 0 6 6 -1. <_> 7 2 6 2 3. <_> <_> 0 18 4 2 -1. <_> 0 19 4 1 2. <_> <_> 12 3 8 12 -1. <_> 12 7 8 4 3. <_> <_> 12 9 3 4 -1. <_> 13 9 1 4 3. <_> <_> 12 8 3 5 -1. <_> 13 8 1 5 3. <_> <_> 16 0 2 1 -1. <_> 17 0 1 1 2. <_> <_> 5 17 1 3 -1. <_> 5 18 1 1 3. <_> <_> 10 2 3 6 -1. <_> 10 4 3 2 3. <_> <_> 4 17 2 3 -1. <_> 4 18 2 1 3. <_> <_> 12 7 1 9 -1. <_> 12 10 1 3 3. <_> <_> 7 6 3 9 -1. <_> 8 6 1 9 3. <_> <_> 17 13 3 6 -1. <_> 17 15 3 2 3. <_> <_> 7 7 3 8 -1. <_> 8 7 1 8 3. <_> <_> 5 0 3 5 -1. <_> 6 0 1 5 3. <_> <_> 4 6 9 8 -1. <_> 7 6 3 8 3. <_> <_> 2 9 3 3 -1. <_> 3 9 1 3 3. <_> <_> 16 18 4 2 -1. <_> 16 19 4 1 2. <_> <_> 17 10 3 10 -1. <_> 17 15 3 5 2. <_> <_> 8 9 6 4 -1. <_> 10 9 2 4 3. <_> <_> 5 2 10 12 -1. <_> 5 6 10 4 3. <_> <_> 6 9 6 3 -1. <_> 8 9 2 3 3. <_> <_> 11 7 3 7 -1. <_> 12 7 1 7 3. <_> <_> 12 8 6 4 -1. <_> 14 8 2 4 3. <_> <_> 14 8 6 5 -1. <_> 16 8 2 5 3. <_> <_> 12 12 2 4 -1. <_> 12 14 2 2 2. <_> <_> 3 15 1 2 -1. <_> 3 16 1 1 2. <_> <_> 12 7 3 4 -1. <_> 13 7 1 4 3. <_> <_> 10 0 6 6 -1. <_> 12 0 2 6 3. <_> <_> 10 6 3 8 -1. <_> 11 6 1 8 3. <_> <_> 16 17 1 2 -1. <_> 16 18 1 1 2. <_> <_> 16 16 1 3 -1. <_> 16 17 1 1 3. <_> <_> 11 11 1 2 -1. <_> 11 12 1 1 2. <_> <_> 3 7 6 9 -1. <_> 5 7 2 9 3. <_> <_> 4 18 9 1 -1. <_> 7 18 3 1 3. <_> <_> 0 11 4 9 -1. <_> 0 14 4 3 3. <_> <_> 9 17 6 3 -1. <_> 11 17 2 3 3. <_> <_> 7 8 6 12 -1. <_> 9 8 2 12 3. <_> <_> 6 8 3 4 -1. <_> 7 8 1 4 3. <_> <_> 3 17 1 3 -1. <_> 3 18 1 1 3. <_> <_> 11 9 6 4 -1. <_> 13 9 2 4 3. <_> <_> 6 1 3 2 -1. <_> 7 1 1 2 3. <_> <_> 1 0 2 1 -1. <_> 2 0 1 1 2. <_> <_> 1 0 2 14 -1. <_> 1 0 1 7 2. <_> 2 7 1 7 2. <_> <_> 5 5 11 8 -1. <_> 5 9 11 4 2. <_> <_> 9 3 5 6 -1. <_> 9 5 5 2 3. <_> <_> 7 9 5 10 -1. <_> 7 14 5 5 2. <_> <_> 15 10 2 2 -1. <_> 16 10 1 2 2. <_> <_> 0 18 8 2 -1. <_> 0 19 8 1 2. <_> <_> 7 17 1 3 -1. <_> 7 18 1 1 3. <_> <_> 7 2 11 6 -1. <_> 7 4 11 2 3. <_> <_> 8 3 9 3 -1. <_> 8 4 9 1 3. <_> <_> 0 9 2 2 -1. <_> 0 10 2 1 2. <_> <_> 0 5 3 6 -1. <_> 0 7 3 2 3. <_> <_> 6 7 2 2 -1. <_> 6 7 1 1 2. <_> 7 8 1 1 2. <_> <_> 7 6 3 6 -1. <_> 8 6 1 6 3. <_> <_> 12 1 6 4 -1. <_> 14 1 2 4 3. <_> <_> 9 11 6 8 -1. <_> 11 11 2 8 3. <_> <_> 17 15 3 3 -1. <_> 17 16 3 1 3. <_> <_> 6 6 3 9 -1. <_> 6 9 3 3 3. <_> <_> 0 5 8 6 -1. <_> 0 5 4 3 2. <_> 4 8 4 3 2. <_> <_> 0 6 1 3 -1. <_> 0 7 1 1 3. <_> <_> 17 0 2 6 -1. <_> 18 0 1 6 2. <_> <_> 10 17 6 3 -1. <_> 12 17 2 3 3. <_> <_> 13 15 2 2 -1. <_> 13 15 1 1 2. <_> 14 16 1 1 2. <_> <_> 4 0 12 3 -1. <_> 4 1 12 1 3. <_> <_> 5 3 10 9 -1. <_> 5 6 10 3 3. <_> <_> 7 7 9 7 -1. <_> 10 7 3 7 3. <_> <_> 5 8 9 6 -1. <_> 8 8 3 6 3. <_> <_> 0 16 6 2 -1. <_> 0 17 6 1 2. <_> <_> 12 6 7 14 -1. <_> 12 13 7 7 2. <_> <_> 13 7 6 8 -1. <_> 15 7 2 8 3. <_> <_> 2 10 6 3 -1. <_> 4 10 2 3 3. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 7 1 6 2 -1. <_> 7 2 6 1 2. <_> <_> 6 0 6 4 -1. <_> 6 2 6 2 2. <_> <_> 8 18 6 2 -1. <_> 10 18 2 2 3. <_> <_> 7 6 5 2 -1. <_> 7 7 5 1 2. <_> <_> 6 7 3 6 -1. <_> 7 7 1 6 3. <_> <_> 18 18 2 2 -1. <_> 18 18 1 1 2. <_> 19 19 1 1 2. <_> <_> 16 8 3 7 -1. <_> 17 8 1 7 3. <_> <_> 0 16 2 3 -1. <_> 0 17 2 1 3. <_> <_> 5 19 6 1 -1. <_> 7 19 2 1 3. <_> <_> 9 5 6 6 -1. <_> 9 7 6 2 3. <_> <_> 0 10 2 4 -1. <_> 0 12 2 2 2. <_> <_> 0 9 4 3 -1. <_> 2 9 2 3 2. <_> <_> 1 10 6 9 -1. <_> 3 10 2 9 3. <_> <_> 9 0 6 2 -1. <_> 11 0 2 2 3. <_> <_> 14 1 2 1 -1. <_> 15 1 1 1 2. <_> <_> 0 8 1 4 -1. <_> 0 10 1 2 2. <_> <_> 15 6 2 2 -1. <_> 15 6 1 1 2. <_> 16 7 1 1 2. <_> <_> 7 5 3 6 -1. <_> 8 5 1 6 3. <_> <_> 19 17 1 3 -1. <_> 19 18 1 1 3. <_> <_> 7 10 3 1 -1. <_> 8 10 1 1 3. <_> <_> 12 1 6 6 -1. <_> 14 1 2 6 3. <_> <_> 15 5 2 1 -1. <_> 16 5 1 1 2. <_> <_> 8 2 7 4 -1. <_> 8 4 7 2 2. <_> <_> 4 0 14 15 -1. <_> 4 5 14 5 3. <_> <_> 7 8 6 6 -1. <_> 9 8 2 6 3. <_> <_> 11 17 1 3 -1. <_> 11 18 1 1 3. <_> <_> 12 16 2 4 -1. <_> 12 16 1 2 2. <_> 13 18 1 2 2. <_> <_> 10 13 2 1 -1. <_> 11 13 1 1 2. <_> <_> 11 8 3 3 -1. <_> 12 8 1 3 3. <_> <_> 2 0 6 8 -1. <_> 4 0 2 8 3. <_> <_> 3 5 6 6 -1. <_> 3 5 3 3 2. <_> 6 8 3 3 2. <_> <_> 10 8 3 3 -1. <_> 11 8 1 3 3. <_> <_> 5 17 4 2 -1. <_> 5 18 4 1 2. <_> <_> 8 16 5 2 -1. <_> 8 17 5 1 2. <_> <_> 0 4 3 3 -1. <_> 0 5 3 1 3. <_> <_> 6 3 6 2 -1. <_> 8 3 2 2 3. <_> <_> 4 4 9 3 -1. <_> 7 4 3 3 3. <_> <_> 0 13 1 4 -1. <_> 0 15 1 2 2. <_> <_> 0 17 8 3 -1. <_> 0 18 8 1 3. <_> <_> 6 1 11 6 -1. <_> 6 3 11 2 3. <_> <_> 4 10 6 2 -1. <_> 6 10 2 2 3. <_> <_> 10 8 1 12 -1. <_> 10 14 1 6 2. <_> <_> 5 8 3 4 -1. <_> 6 8 1 4 3. <_> <_> 0 17 1 3 -1. <_> 0 18 1 1 3. <_> <_> 0 17 1 3 -1. <_> 0 18 1 1 3. <_> <_> 13 8 3 4 -1. <_> 14 8 1 4 3. <_> <_> 1 5 5 4 -1. <_> 1 7 5 2 2. <_> <_> 18 14 1 2 -1. <_> 18 15 1 1 2. <_> <_> 13 8 2 4 -1. <_> 14 8 1 4 2. <_> <_> 10 6 6 8 -1. <_> 12 6 2 8 3. <_> <_> 8 6 6 10 -1. <_> 10 6 2 10 3. <_> <_> 17 16 1 3 -1. <_> 17 17 1 1 3. <_> <_> 1 7 2 10 -1. <_> 2 7 1 10 2. <_> <_> 5 9 6 3 -1. <_> 7 9 2 3 3. <_> <_> 0 8 5 12 -1. <_> 0 14 5 6 2. <_> <_> 0 11 1 3 -1. <_> 0 12 1 1 3. <_> <_> 6 16 6 4 -1. <_> 8 16 2 4 3. <_> <_> 0 6 2 6 -1. <_> 0 8 2 2 3. <_> <_> 11 18 2 1 -1. <_> 12 18 1 1 2. <_> <_> 5 1 9 2 -1. <_> 5 2 9 1 2. <_> <_> 0 0 1 2 -1. <_> 0 1 1 1 2. <_> <_> 15 9 3 3 -1. <_> 16 9 1 3 3. <_> <_> 18 16 1 3 -1. <_> 18 17 1 1 3. <_> <_> 11 10 6 1 -1. <_> 13 10 2 1 3. <_> <_> 1 3 4 4 -1. <_> 3 3 2 4 2. <_> <_> 11 2 1 18 -1. <_> 11 8 1 6 3. <_> <_> 9 1 5 12 -1. <_> 9 5 5 4 3. <_> <_> 12 0 8 1 -1. <_> 16 0 4 1 2. <_> <_> 8 6 3 10 -1. <_> 9 6 1 10 3. <_> <_> 19 2 1 6 -1. <_> 19 4 1 2 3. <_> <_> 18 6 2 2 -1. <_> 18 7 2 1 2. <_> <_> 7 7 3 4 -1. <_> 8 7 1 4 3. <_> <_> 5 0 6 5 -1. <_> 7 0 2 5 3. <_> <_> 0 3 7 3 -1. <_> 0 4 7 1 3. <_> <_> 1 6 2 1 -1. <_> 2 6 1 1 2. <_> <_> 4 8 2 10 -1. <_> 4 8 1 5 2. <_> 5 13 1 5 2. <_> <_> 2 18 18 2 -1. <_> 2 18 9 1 2. <_> 11 19 9 1 2. <_> <_> 2 7 4 4 -1. <_> 2 7 2 2 2. <_> 4 9 2 2 2. <_> <_> 17 3 3 4 -1. <_> 18 3 1 4 3. <_> <_> 16 9 2 8 -1. <_> 16 9 1 4 2. <_> 17 13 1 4 2. <_> <_> 15 7 1 6 -1. <_> 15 9 1 2 3. <_> <_> 14 2 2 2 -1. <_> 14 3 2 1 2. <_> <_> 17 0 2 3 -1. <_> 17 1 2 1 3. <_> <_> 16 18 2 2 -1. <_> 16 18 1 1 2. <_> 17 19 1 1 2. <_> <_> 10 4 4 3 -1. <_> 10 5 4 1 3. <_> <_> 0 2 8 6 -1. <_> 4 2 4 6 2. <_> <_> 7 14 6 6 -1. <_> 7 16 6 2 3. <_> <_> 11 15 2 2 -1. <_> 11 16 2 1 2. <_> <_> 7 1 9 4 -1. <_> 10 1 3 4 3. <_> <_> 9 7 3 7 -1. <_> 10 7 1 7 3. <_> <_> 6 17 2 2 -1. <_> 6 17 1 1 2. <_> 7 18 1 1 2. <_> <_> 4 6 3 9 -1. <_> 5 6 1 9 3. <_> <_> 0 10 19 10 -1. <_> 0 15 19 5 2. <_> <_> 5 17 6 1 -1. <_> 7 17 2 1 3. <_> <_> 0 12 6 3 -1. <_> 3 12 3 3 2. <_> <_> 2 5 18 5 -1. <_> 8 5 6 5 3. <_> <_> 1 15 6 4 -1. <_> 1 17 6 2 2. <_> <_> 14 10 6 6 -1. <_> 16 10 2 6 3. <_> <_> 0 14 4 3 -1. <_> 0 15 4 1 3. <_> <_> 1 7 6 11 -1. <_> 3 7 2 11 3. <_> <_> 13 17 7 2 -1. <_> 13 18 7 1 2. <_> <_> 0 14 2 3 -1. <_> 0 15 2 1 3. <_> <_> 0 0 6 2 -1. <_> 3 0 3 2 2. <_> <_> 0 1 6 3 -1. <_> 3 1 3 3 2. <_> <_> 0 8 2 6 -1. <_> 0 10 2 2 3. <_> <_> 1 2 6 14 -1. <_> 1 2 3 7 2. <_> 4 9 3 7 2. <_> <_> 17 5 2 2 -1. <_> 17 5 1 1 2. <_> 18 6 1 1 2. <_> <_> 11 10 9 4 -1. <_> 14 10 3 4 3. <_> <_> 2 9 12 4 -1. <_> 6 9 4 4 3. <_> <_> 7 10 12 2 -1. <_> 11 10 4 2 3. <_> <_> 2 13 1 2 -1. <_> 2 14 1 1 2. <_> <_> 16 7 4 3 -1. <_> 16 8 4 1 3. <_> <_> 19 16 1 3 -1. <_> 19 17 1 1 3. <_> <_> 18 11 1 2 -1. <_> 18 12 1 1 2. <_> <_> 12 7 8 2 -1. <_> 12 7 4 1 2. <_> 16 8 4 1 2. <_> <_> 14 9 2 4 -1. <_> 15 9 1 4 2. <_> <_> 14 2 6 4 -1. <_> 14 2 3 2 2. <_> 17 4 3 2 2. <_> <_> 14 0 6 1 -1. <_> 17 0 3 1 2. <_> <_> 3 12 2 1 -1. <_> 4 12 1 1 2. <_> <_> 17 2 3 1 -1. <_> 18 2 1 1 3. <_> <_> 1 16 18 2 -1. <_> 7 16 6 2 3. <_> <_> 2 19 8 1 -1. <_> 6 19 4 1 2. <_> <_> 1 17 4 3 -1. <_> 1 18 4 1 3. <_> <_> 19 13 1 2 -1. <_> 19 14 1 1 2. <_> <_> 9 16 10 4 -1. <_> 9 16 5 2 2. <_> 14 18 5 2 2. <_> <_> 12 9 2 4 -1. <_> 12 9 1 2 2. <_> 13 11 1 2 2. <_> <_> 19 11 1 9 -1. <_> 19 14 1 3 3. <_> <_> 6 6 14 14 -1. <_> 6 13 14 7 2. <_> <_> 2 17 4 2 -1. <_> 2 18 4 1 2. <_> <_> 0 2 1 3 -1. <_> 0 3 1 1 3. <_> <_> 0 12 1 3 -1. <_> 0 13 1 1 3. <_> <_> 15 15 4 4 -1. <_> 15 17 4 2 2. <_> <_> 2 5 18 7 -1. <_> 8 5 6 7 3. <_> <_> 1 16 5 3 -1. <_> 1 17 5 1 3. <_> <_> 0 4 2 3 -1. <_> 0 5 2 1 3. <_> <_> 0 6 2 6 -1. <_> 1 6 1 6 2. <_> <_> 16 14 4 3 -1. <_> 16 15 4 1 3. <_> <_> 0 0 10 6 -1. <_> 0 0 5 3 2. <_> 5 3 5 3 2. <_> <_> 2 2 3 6 -1. <_> 3 2 1 6 3. <_> <_> 2 0 3 10 -1. <_> 3 0 1 10 3. <_> <_> 5 5 2 2 -1. <_> 5 6 2 1 2. <_> <_> 12 6 4 4 -1. <_> 12 8 4 2 2. <_> <_> 13 5 7 3 -1. <_> 13 6 7 1 3. <_> <_> 10 13 1 2 -1. <_> 10 14 1 1 2. <_> <_> 16 16 4 2 -1. <_> 18 16 2 2 2. <_> <_> 16 12 4 7 -1. <_> 18 12 2 7 2. <_> <_> 16 17 1 3 -1. <_> 16 18 1 1 3. <_> <_> 19 9 1 3 -1. <_> 19 10 1 1 3. <_> <_> 18 7 2 6 -1. <_> 19 7 1 6 2. <_> <_> 8 1 3 4 -1. <_> 9 1 1 4 3. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 4 2 10 2 -1. <_> 9 2 5 2 2. <_> <_> 2 12 8 4 -1. <_> 2 12 4 2 2. <_> 6 14 4 2 2. <_> <_> 0 4 7 3 -1. <_> 0 5 7 1 3. <_> <_> 14 14 3 3 -1. <_> 15 14 1 3 3. <_> <_> 0 3 4 3 -1. <_> 2 3 2 3 2. <_> <_> 1 0 2 7 -1. <_> 2 0 1 7 2. <_> <_> 15 16 4 4 -1. <_> 15 18 4 2 2. <_> <_> 5 8 12 4 -1. <_> 5 10 12 2 2. <_> <_> 3 17 1 2 -1. <_> 3 18 1 1 2. <_> <_> 6 1 3 4 -1. <_> 7 1 1 4 3. <_> <_> 6 2 3 4 -1. <_> 7 2 1 4 3. <_> <_> 6 8 9 12 -1. <_> 9 8 3 12 3. <_> <_> 8 1 8 6 -1. <_> 8 3 8 2 3. <_> <_> 14 2 6 3 -1. <_> 17 2 3 3 2. <_> <_> 0 6 1 3 -1. <_> 0 7 1 1 3. <_> <_> 10 0 10 2 -1. <_> 15 0 5 2 2. <_> <_> 11 0 3 2 -1. <_> 12 0 1 2 3. <_> <_> 3 19 10 1 -1. <_> 8 19 5 1 2. <_> <_> 0 4 7 16 -1. <_> 0 12 7 8 2. <_> <_> 2 16 1 3 -1. <_> 2 17 1 1 3. <_> <_> 7 8 12 6 -1. <_> 11 8 4 6 3. <_> <_> 14 9 6 7 -1. <_> 16 9 2 7 3. <_> <_> 12 17 6 1 -1. <_> 14 17 2 1 3. <_> <_> 16 1 3 1 -1. <_> 17 1 1 1 3. <_> <_> 0 17 8 2 -1. <_> 0 17 4 1 2. <_> 4 18 4 1 2. <_> <_> 17 0 2 1 -1. <_> 18 0 1 1 2. <_> <_> 4 15 6 5 -1. <_> 6 15 2 5 3. <_> <_> 7 2 8 2 -1. <_> 7 3 8 1 2. <_> <_> 4 1 8 4 -1. <_> 4 3 8 2 2. <_> <_> 5 19 2 1 -1. <_> 6 19 1 1 2. <_> <_> 5 19 2 1 -1. <_> 6 19 1 1 2. <_> <_> 16 17 1 3 -1. <_> 16 18 1 1 3. <_> <_> 0 11 2 3 -1. <_> 1 11 1 3 2. <_> <_> 0 19 4 1 -1. <_> 2 19 2 1 2. <_> <_> 0 18 4 2 -1. <_> 2 18 2 2 2. <_> <_> 2 17 1 3 -1. <_> 2 18 1 1 3. <_> <_> 5 7 11 2 -1. <_> 5 8 11 1 2. <_> <_> 9 2 4 10 -1. <_> 9 7 4 5 2. <_> <_> 0 2 4 3 -1. <_> 0 3 4 1 3. <_> <_> 10 19 10 1 -1. <_> 15 19 5 1 2. <_> <_> 11 17 8 3 -1. <_> 15 17 4 3 2. <_> <_> 8 19 3 1 -1. <_> 9 19 1 1 3. <_> <_> 14 0 3 4 -1. <_> 15 0 1 4 3. <_> <_> 10 6 4 3 -1. <_> 10 7 4 1 3. <_> <_> 0 8 3 2 -1. <_> 0 9 3 1 2. <_> <_> 7 12 3 6 -1. <_> 7 14 3 2 3. <_> <_> 1 18 1 2 -1. <_> 1 19 1 1 2. <_> <_> 0 12 4 4 -1. <_> 2 12 2 4 2. <_> <_> 1 8 6 7 -1. <_> 3 8 2 7 3. <_> <_> 0 8 4 5 -1. <_> 2 8 2 5 2. <_> <_> 19 16 1 3 -1. <_> 19 17 1 1 3. <_> <_> 1 5 18 6 -1. <_> 7 5 6 6 3. <_> <_> 2 15 4 2 -1. <_> 2 16 4 1 2. <_> <_> 18 6 2 11 -1. <_> 19 6 1 11 2. <_> <_> 0 12 2 6 -1. <_> 0 14 2 2 3. <_> <_> 12 5 3 2 -1. <_> 12 6 3 1 2. <_> <_> 1 3 2 3 -1. <_> 1 4 2 1 3. <_> <_> 16 14 4 4 -1. <_> 16 16 4 2 2. <_> <_> 6 8 12 5 -1. <_> 10 8 4 5 3. <_> <_> 13 7 2 7 -1. <_> 14 7 1 7 2. <_> <_> 1 8 2 6 -1. <_> 2 8 1 6 2. <_> <_> 15 0 3 7 -1. <_> 16 0 1 7 3. <_> <_> 4 2 6 2 -1. <_> 6 2 2 2 3. <_> <_> 0 9 20 9 -1. <_> 0 12 20 3 3. <_> <_> 10 14 2 2 -1. <_> 10 15 2 1 2. <_> <_> 6 5 10 4 -1. <_> 6 7 10 2 2. <_> <_> 6 1 5 9 -1. <_> 6 4 5 3 3. <_> <_> 16 18 2 2 -1. <_> 16 18 1 1 2. <_> 17 19 1 1 2. <_> <_> 0 14 2 4 -1. <_> 0 16 2 2 2. <_> <_> 10 8 2 5 -1. <_> 11 8 1 5 2. <_> <_> 3 7 12 7 -1. <_> 7 7 4 7 3. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 1 0 4 4 -1. <_> 3 0 2 4 2. <_> <_> 0 0 6 8 -1. <_> 2 0 2 8 3. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 0 0 3 3 -1. <_> 0 1 3 1 3. <_> <_> 5 4 2 4 -1. <_> 5 6 2 2 2. <_> <_> 2 10 9 1 -1. <_> 5 10 3 1 3. <_> <_> 1 17 1 3 -1. <_> 1 18 1 1 3. <_> <_> 0 17 2 3 -1. <_> 0 18 2 1 3. <_> <_> 0 15 16 3 -1. <_> 8 15 8 3 2. <_> <_> 0 5 4 1 -1. <_> 2 5 2 1 2. <_> <_> 1 0 6 20 -1. <_> 3 0 2 20 3. <_> <_> 2 5 4 6 -1. <_> 2 5 2 3 2. <_> 4 8 2 3 2. <_> <_> 9 16 6 3 -1. <_> 11 16 2 3 3. <_> <_> 11 17 6 1 -1. <_> 14 17 3 1 2. <_> <_> 3 17 15 2 -1. <_> 8 17 5 2 3. <_> <_> 18 0 2 3 -1. <_> 18 1 2 1 3. <_> <_> 13 1 7 4 -1. <_> 13 3 7 2 2. <_> <_> 13 6 4 4 -1. <_> 13 6 2 2 2. <_> 15 8 2 2 2. <_> <_> 17 6 3 4 -1. <_> 17 8 3 2 2. <_> <_> 14 9 2 2 -1. <_> 15 9 1 2 2. <_> <_> 17 17 1 3 -1. <_> 17 18 1 1 3. <_> <_> 3 19 8 1 -1. <_> 7 19 4 1 2. <_> <_> 0 9 3 6 -1. <_> 0 12 3 3 2. <_> <_> 4 7 15 5 -1. <_> 9 7 5 5 3. <_> <_> 6 9 9 5 -1. <_> 9 9 3 5 3. <_> <_> 8 1 6 2 -1. <_> 10 1 2 2 3. <_> <_> 4 0 12 2 -1. <_> 10 0 6 2 2. <_> <_> 7 0 10 3 -1. <_> 12 0 5 3 2. <_> <_> 5 0 9 6 -1. <_> 5 2 9 2 3. <_> <_> 8 3 6 4 -1. <_> 8 5 6 2 2. <_> <_> 17 4 2 3 -1. <_> 17 5 2 1 3. <_> <_> 5 2 4 3 -1. <_> 5 3 4 1 3. <_> <_> 5 9 2 6 -1. <_> 6 9 1 6 2. <_> <_> 14 10 2 6 -1. <_> 15 10 1 6 2. <_> <_> 7 4 3 3 -1. <_> 7 5 3 1 3. <_> <_> 12 4 8 2 -1. <_> 12 4 4 1 2. <_> 16 5 4 1 2. <_> <_> 15 8 1 6 -1. <_> 15 10 1 2 3. <_> <_> 4 17 11 3 -1. <_> 4 18 11 1 3. <_> <_> 3 0 16 20 -1. <_> 3 10 16 10 2. <_> <_> 12 4 4 6 -1. <_> 12 6 4 2 3. <_> <_> 11 0 6 6 -1. <_> 13 0 2 6 3. <_> <_> 13 1 6 4 -1. <_> 13 1 3 2 2. <_> 16 3 3 2 2. <_> <_> 11 0 6 4 -1. <_> 13 0 2 4 3. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 7 0 3 4 -1. <_> 8 0 1 4 3. <_> <_> 0 17 14 2 -1. <_> 0 17 7 1 2. <_> 7 18 7 1 2. <_> <_> 6 18 2 2 -1. <_> 6 18 1 1 2. <_> 7 19 1 1 2. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 17 18 2 2 -1. <_> 17 18 1 1 2. <_> 18 19 1 1 2. <_> <_> 5 7 1 9 -1. <_> 5 10 1 3 3. <_> <_> 5 3 6 4 -1. <_> 7 3 2 4 3. <_> <_> 1 9 6 2 -1. <_> 1 9 3 1 2. <_> 4 10 3 1 2. <_> <_> 6 9 2 3 -1. <_> 7 9 1 3 2. <_> <_> 6 8 6 12 -1. <_> 8 8 2 12 3. <_> <_> 4 18 2 2 -1. <_> 4 18 1 1 2. <_> 5 19 1 1 2. <_> <_> 9 1 6 6 -1. <_> 9 3 6 2 3. <_> <_> 6 17 6 2 -1. <_> 6 18 6 1 2. <_> <_> 3 18 16 2 -1. <_> 3 19 16 1 2. <_> <_> 3 0 3 11 -1. <_> 4 0 1 11 3. <_> <_> 13 18 3 1 -1. <_> 14 18 1 1 3. <_> <_> 6 0 9 6 -1. <_> 6 2 9 2 3. <_> <_> 1 2 12 4 -1. <_> 1 2 6 2 2. <_> 7 4 6 2 2. <_> <_> 3 3 6 4 -1. <_> 5 3 2 4 3. <_> <_> 12 0 8 1 -1. <_> 16 0 4 1 2. <_> <_> 9 0 6 2 -1. <_> 11 0 2 2 3. <_> <_> 3 3 12 1 -1. <_> 9 3 6 1 2. <_> <_> 2 7 6 2 -1. <_> 2 7 3 1 2. <_> 5 8 3 1 2. <_> <_> 0 8 4 6 -1. <_> 0 10 4 2 3. <_> <_> 9 6 3 7 -1. <_> 10 6 1 7 3. <_> <_> 9 6 6 13 -1. <_> 11 6 2 13 3. <_> <_> 11 12 6 1 -1. <_> 13 12 2 1 3. <_> <_> 18 9 2 6 -1. <_> 18 12 2 3 2. <_> <_> 17 2 3 9 -1. <_> 18 2 1 9 3. <_> <_> 13 8 4 6 -1. <_> 13 8 2 3 2. <_> 15 11 2 3 2. <_> <_> 4 2 12 6 -1. <_> 10 2 6 6 2. <_> <_> 4 14 16 6 -1. <_> 12 14 8 6 2. <_> <_> 6 19 10 1 -1. <_> 11 19 5 1 2. <_> <_> 6 17 1 3 -1. <_> 6 18 1 1 3. <_> <_> 4 14 10 3 -1. <_> 4 15 10 1 3. <_> <_> 6 0 12 12 -1. <_> 6 4 12 4 3. <_> <_> 5 7 4 2 -1. <_> 5 7 2 1 2. <_> 7 8 2 1 2. <_> <_> 17 5 3 2 -1. <_> 18 5 1 2 3. <_> <_> 8 13 6 3 -1. <_> 8 14 6 1 3. <_> <_> 8 13 5 3 -1. <_> 8 14 5 1 3. <_> <_> 13 2 1 18 -1. <_> 13 11 1 9 2. <_> <_> 6 10 9 2 -1. <_> 9 10 3 2 3. <_> <_> 11 0 7 4 -1. <_> 11 2 7 2 2. <_> <_> 1 0 6 8 -1. <_> 3 0 2 8 3. <_> <_> 9 15 3 3 -1. <_> 9 16 3 1 3. <_> <_> 9 17 9 3 -1. <_> 9 18 9 1 3. <_> <_> 12 12 3 3 -1. <_> 12 13 3 1 3. <_> <_> 4 1 3 5 -1. <_> 5 1 1 5 3. <_> <_> 10 14 2 3 -1. <_> 10 15 2 1 3. <_> <_> 18 17 2 2 -1. <_> 18 17 1 1 2. <_> 19 18 1 1 2. <_> <_> 18 18 2 2 -1. <_> 18 18 1 1 2. <_> 19 19 1 1 2. <_> <_> 18 18 2 2 -1. <_> 18 18 1 1 2. <_> 19 19 1 1 2. <_> <_> 4 10 9 1 -1. <_> 7 10 3 1 3. <_> <_> 3 9 6 5 -1. <_> 5 9 2 5 3. <_> <_> 18 8 1 12 -1. <_> 18 14 1 6 2. <_> <_> 0 2 8 6 -1. <_> 0 2 4 3 2. <_> 4 5 4 3 2. <_> <_> 9 4 3 3 -1. <_> 9 5 3 1 3. <_> <_> 3 18 2 2 -1. <_> 3 18 1 1 2. <_> 4 19 1 1 2. <_> <_> 6 4 4 3 -1. <_> 6 5 4 1 3. <_> <_> 16 7 4 2 -1. <_> 16 7 2 1 2. <_> 18 8 2 1 2. <_> <_> 5 17 1 3 -1. <_> 5 18 1 1 3. <_> <_> 2 0 15 20 -1. <_> 2 10 15 10 2. <_> <_> 8 11 6 4 -1. <_> 8 11 3 2 2. <_> 11 13 3 2 2. <_> <_> 8 16 4 3 -1. <_> 8 17 4 1 3. <_> <_> 8 18 2 2 -1. <_> 8 18 1 1 2. <_> 9 19 1 1 2. <_> <_> 2 16 13 3 -1. <_> 2 17 13 1 3. <_> <_> 16 16 2 2 -1. <_> 16 16 1 1 2. <_> 17 17 1 1 2. <_> <_> 8 1 6 3 -1. <_> 10 1 2 3 3. <_> <_> 16 7 2 2 -1. <_> 16 7 1 1 2. <_> 17 8 1 1 2. <_> <_> 14 7 4 2 -1. <_> 14 7 2 1 2. <_> 16 8 2 1 2. <_> <_> 4 0 14 1 -1. <_> 11 0 7 1 2. <_> <_> 10 4 8 2 -1. <_> 10 4 4 1 2. <_> 14 5 4 1 2. <_> <_> 8 2 3 2 -1. <_> 9 2 1 2 3. <_> <_> 12 11 6 3 -1. <_> 12 12 6 1 3. <_> <_> 1 5 1 4 -1. <_> 1 7 1 2 2. <_> <_> 1 1 1 18 -1. <_> 1 7 1 6 3. <_> <_> 11 13 3 2 -1. <_> 11 14 3 1 2. <_> <_> 0 1 12 2 -1. <_> 0 1 6 1 2. <_> 6 2 6 1 2. <_> <_> 10 18 2 2 -1. <_> 10 18 1 1 2. <_> 11 19 1 1 2. <_> <_> 4 5 4 4 -1. <_> 4 5 2 2 2. <_> 6 7 2 2 2. <_> <_> 6 7 1 3 -1. <_> 6 8 1 1 3. <_> <_> 14 10 6 2 -1. <_> 16 10 2 2 3. <_> <_> 16 8 3 6 -1. <_> 17 8 1 6 3. <_> <_> 4 10 6 2 -1. <_> 6 10 2 2 3. <_> <_> 6 5 3 7 -1. <_> 7 5 1 7 3. <_> <_> 0 13 6 6 -1. <_> 0 16 6 3 2. <_> <_> 12 5 1 9 -1. <_> 12 8 1 3 3. <_> <_> 5 9 3 3 -1. <_> 6 9 1 3 3. <_> <_> 7 5 6 13 -1. <_> 9 5 2 13 3. <_> <_> 19 8 1 10 -1. <_> 19 13 1 5 2. <_> <_> 11 18 6 1 -1. <_> 13 18 2 1 3. <_> <_> 9 7 6 12 -1. <_> 11 7 2 12 3. <_> <_> 12 7 6 6 -1. <_> 14 7 2 6 3. <_> <_> 15 8 3 4 -1. <_> 16 8 1 4 3. <_> <_> 6 11 4 2 -1. <_> 6 12 4 1 2. <_> <_> 1 6 6 8 -1. <_> 3 6 2 8 3. <_> <_> 11 15 6 5 -1. <_> 13 15 2 5 3. <_> <_> 15 17 4 2 -1. <_> 15 18 4 1 2. <_> <_> 13 11 6 1 -1. <_> 15 11 2 1 3. <_> <_> 5 18 2 2 -1. <_> 5 18 1 1 2. <_> 6 19 1 1 2. <_> <_> 4 8 4 4 -1. <_> 4 8 2 2 2. <_> 6 10 2 2 2. <_> <_> 11 7 9 3 -1. <_> 11 8 9 1 3. <_> <_> 0 3 10 4 -1. <_> 0 3 5 2 2. <_> 5 5 5 2 2. <_> <_> 7 18 6 1 -1. <_> 9 18 2 1 3. <_> <_> 0 8 3 3 -1. <_> 0 9 3 1 3. <_> <_> 0 0 6 8 -1. <_> 0 0 3 4 2. <_> 3 4 3 4 2. <_> <_> 7 6 3 8 -1. <_> 8 6 1 8 3. <_> <_> 13 7 7 3 -1. <_> 13 8 7 1 3. <_> <_> 3 3 2 2 -1. <_> 3 4 2 1 2. <_> <_> 0 3 3 3 -1. <_> 0 4 3 1 3. <_> <_> 9 3 5 2 -1. <_> 9 4 5 1 2. <_> <_> 6 5 9 4 -1. <_> 9 5 3 4 3. <_> <_> 3 10 12 3 -1. <_> 7 10 4 3 3. <_> <_> 8 7 3 6 -1. <_> 9 7 1 6 3. <_> <_> 5 5 6 5 -1. <_> 8 5 3 5 2. <_> <_> 0 5 2 3 -1. <_> 0 6 2 1 3. <_> <_> 9 7 3 4 -1. <_> 10 7 1 4 3. <_> <_> 1 0 6 15 -1. <_> 3 0 2 15 3. <_> <_> 15 1 3 5 -1. <_> 16 1 1 5 3. <_> <_> 9 2 3 10 -1. <_> 10 2 1 10 3. <_> <_> 8 8 6 12 -1. <_> 10 8 2 12 3. <_> <_> 16 4 3 4 -1. <_> 16 6 3 2 2. <_> <_> 16 7 2 2 -1. <_> 16 7 1 1 2. <_> 17 8 1 1 2. <_> <_> 13 0 6 9 -1. <_> 13 3 6 3 3. <_> <_> 7 17 1 3 -1. <_> 7 18 1 1 3. <_> <_> 12 1 4 2 -1. <_> 12 2 4 1 2. <_> <_> 17 3 1 3 -1. <_> 17 4 1 1 3. <_> <_> 0 16 9 3 -1. <_> 0 17 9 1 3. <_> <_> 3 6 2 4 -1. <_> 3 6 1 2 2. <_> 4 8 1 2 2. <_> <_> 13 18 3 1 -1. <_> 14 18 1 1 3. <_> <_> 0 18 4 2 -1. <_> 2 18 2 2 2. <_> <_> 1 19 2 1 -1. <_> 2 19 1 1 2. <_> <_> 0 18 4 2 -1. <_> 0 19 4 1 2. <_> <_> 2 17 1 3 -1. <_> 2 18 1 1 3. <_> <_> 4 8 3 5 -1. <_> 5 8 1 5 3. <_> <_> 2 1 6 7 -1. <_> 4 1 2 7 3. <_> <_> 3 6 2 8 -1. <_> 3 6 1 4 2. <_> 4 10 1 4 2. <_> <_> 4 5 11 10 -1. <_> 4 10 11 5 2. <_> <_> 0 13 20 2 -1. <_> 10 13 10 2 2. <_> <_> 1 13 16 3 -1. <_> 9 13 8 3 2. <_> <_> 16 4 4 4 -1. <_> 16 4 2 2 2. <_> 18 6 2 2 2. <_> <_> 16 0 4 12 -1. <_> 16 0 2 6 2. <_> 18 6 2 6 2. <_> <_> 14 15 3 1 -1. <_> 15 15 1 1 3. <_> <_> 3 4 12 10 -1. <_> 3 9 12 5 2. <_> <_> 9 18 2 2 -1. <_> 9 18 1 1 2. <_> 10 19 1 1 2. <_> <_> 9 18 2 2 -1. <_> 9 18 1 1 2. <_> 10 19 1 1 2. <_> <_> 13 4 2 14 -1. <_> 13 4 1 7 2. <_> 14 11 1 7 2. <_> <_> 4 2 6 4 -1. <_> 7 2 3 4 2. <_> <_> 0 0 18 20 -1. <_> 0 0 9 10 2. <_> 9 10 9 10 2. <_> <_> 15 11 1 2 -1. <_> 15 12 1 1 2. <_> <_> 16 10 2 4 -1. <_> 16 10 1 2 2. <_> 17 12 1 2 2. <_> <_> 18 17 2 2 -1. <_> 18 17 1 1 2. <_> 19 18 1 1 2. <_> <_> 9 17 1 2 -1. <_> 9 18 1 1 2. <_> <_> 8 4 9 6 -1. <_> 11 4 3 6 3. <_> <_> 6 9 9 10 -1. <_> 9 9 3 10 3. <_> <_> 5 0 5 4 -1. <_> 5 2 5 2 2. <_> <_> 5 7 11 4 -1. <_> 5 9 11 2 2. <_> <_> 2 4 2 14 -1. <_> 3 4 1 14 2. <_> <_> 8 6 3 5 -1. <_> 9 6 1 5 3. <_> <_> 8 4 3 9 -1. <_> 9 4 1 9 3. <_> <_> 0 8 20 6 -1. <_> 0 10 20 2 3. <_> <_> 14 16 6 1 -1. <_> 17 16 3 1 2. <_> <_> 17 18 2 2 -1. <_> 17 19 2 1 2. <_> <_> 8 17 6 3 -1. <_> 10 17 2 3 3. <_> <_> 4 1 9 15 -1. <_> 7 1 3 15 3. <_> <_> 11 5 3 12 -1. <_> 12 5 1 12 3. <_> <_> 0 15 4 3 -1. <_> 0 16 4 1 3. <_> <_> 0 0 15 1 -1. <_> 5 0 5 1 3. <_> <_> 6 0 6 4 -1. <_> 8 0 2 4 3. <_> <_> 2 0 9 3 -1. <_> 5 0 3 3 3. <_> <_> 13 6 3 7 -1. <_> 14 6 1 7 3. <_> <_> 7 6 4 2 -1. <_> 7 7 4 1 2. <_> <_> 6 18 6 1 -1. <_> 8 18 2 1 3. <_> <_> 18 6 2 2 -1. <_> 18 7 2 1 2. <_> <_> 6 4 7 3 -1. <_> 6 5 7 1 3. <_> <_> 12 7 3 1 -1. <_> 13 7 1 1 3. <_> <_> 15 1 2 10 -1. <_> 15 1 1 5 2. <_> 16 6 1 5 2. <_> <_> 0 18 2 2 -1. <_> 0 19 2 1 2. <_> <_> 19 4 1 8 -1. <_> 19 8 1 4 2. <_> <_> 1 17 1 3 -1. <_> 1 18 1 1 3. <_> <_> 0 15 6 4 -1. <_> 0 15 3 2 2. <_> 3 17 3 2 2. <_> <_> 19 0 1 18 -1. <_> 19 6 1 6 3. <_> <_> 10 2 6 2 -1. <_> 12 2 2 2 3. <_> <_> 2 8 12 2 -1. <_> 6 8 4 2 3. <_> <_> 16 0 4 1 -1. <_> 18 0 2 1 2. <_> <_> 8 4 2 6 -1. <_> 8 7 2 3 2. <_> <_> 14 5 2 10 -1. <_> 15 5 1 10 2. <_> <_> 13 4 2 2 -1. <_> 13 5 2 1 2. <_> <_> 11 1 3 6 -1. <_> 11 3 3 2 3. <_> <_> 6 9 12 2 -1. <_> 10 9 4 2 3. <_> <_> 9 16 4 2 -1. <_> 9 17 4 1 2. <_> <_> 5 14 15 4 -1. <_> 5 16 15 2 2. <_> <_> 18 16 2 2 -1. <_> 18 17 2 1 2. <_> <_> 16 18 2 2 -1. <_> 16 18 1 1 2. <_> 17 19 1 1 2. <_> <_> 6 4 3 8 -1. <_> 7 4 1 8 3. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 0 8 1 6 -1. <_> 0 10 1 2 3. <_> <_> 11 2 9 6 -1. <_> 14 2 3 6 3. <_> <_> 12 2 6 4 -1. <_> 14 2 2 4 3. <_> <_> 1 7 2 4 -1. <_> 1 9 2 2 2. <_> <_> 13 1 6 4 -1. <_> 13 3 6 2 2. <_> <_> 4 10 2 10 -1. <_> 4 10 1 5 2. <_> 5 15 1 5 2. <_> <_> 2 16 9 3 -1. <_> 5 16 3 3 3. <_> <_> 1 2 3 9 -1. <_> 2 2 1 9 3. <_> <_> 19 7 1 4 -1. <_> 19 9 1 2 2. <_> <_> 14 11 6 8 -1. <_> 14 11 3 4 2. <_> 17 15 3 4 2. <_> <_> 15 12 4 6 -1. <_> 15 12 2 3 2. <_> 17 15 2 3 2. <_> <_> 16 15 2 2 -1. <_> 16 15 1 1 2. <_> 17 16 1 1 2. <_> <_> 17 16 2 2 -1. <_> 17 16 1 1 2. <_> 18 17 1 1 2. <_> <_> 17 16 2 2 -1. <_> 17 16 1 1 2. <_> 18 17 1 1 2. <_> <_> 2 3 2 2 -1. <_> 2 3 1 1 2. <_> 3 4 1 1 2. <_> <_> 10 10 3 3 -1. <_> 11 10 1 3 3. <_> <_> 5 9 7 8 -1. <_> 5 13 7 4 2. <_> <_> 7 16 2 2 -1. <_> 7 16 1 1 2. <_> 8 17 1 1 2. <_> <_> 7 16 2 2 -1. <_> 7 16 1 1 2. <_> 8 17 1 1 2. <_> <_> 9 8 10 3 -1. <_> 14 8 5 3 2. <_> <_> 6 7 4 8 -1. <_> 6 7 2 4 2. <_> 8 11 2 4 2. <_> <_> 1 6 4 3 -1. <_> 1 7 4 1 3. <_> <_> 6 10 6 10 -1. <_> 8 10 2 10 3. <_> <_> 4 6 3 6 -1. <_> 5 6 1 6 3. <_> <_> 3 10 4 4 -1. <_> 3 10 2 2 2. <_> 5 12 2 2 2. <_> <_> 3 10 4 4 -1. <_> 3 10 2 2 2. <_> 5 12 2 2 2. <_> <_> 3 10 4 4 -1. <_> 3 10 2 2 2. <_> 5 12 2 2 2. <_> <_> 14 8 2 6 -1. <_> 15 8 1 6 2. <_> <_> 3 10 4 4 -1. <_> 3 10 2 2 2. <_> 5 12 2 2 2. <_> <_> 3 10 4 4 -1. <_> 3 10 2 2 2. <_> 5 12 2 2 2. <_> <_> 12 4 3 9 -1. <_> 13 4 1 9 3. <_> <_> 12 3 1 12 -1. <_> 12 7 1 4 3. <_> <_> 2 0 18 1 -1. <_> 8 0 6 1 3. <_> <_> 10 0 10 6 -1. <_> 10 0 5 3 2. <_> 15 3 5 3 2. <_> <_> 18 16 2 2 -1. <_> 18 17 2 1 2. <_> <_> 3 5 4 2 -1. <_> 3 5 2 1 2. <_> 5 6 2 1 2. <_> <_> 11 8 3 3 -1. <_> 12 8 1 3 3. <_> <_> 11 7 3 5 -1. <_> 12 7 1 5 3. <_> <_> 3 19 15 1 -1. <_> 8 19 5 1 3. <_> <_> 8 13 3 2 -1. <_> 8 14 3 1 2. <_> <_> 2 12 8 4 -1. <_> 2 12 4 2 2. <_> 6 14 4 2 2. <_> <_> 16 16 2 2 -1. <_> 16 16 1 1 2. <_> 17 17 1 1 2. <_> <_> 7 0 3 2 -1. <_> 8 0 1 2 3. <_> <_> 6 7 2 5 -1. <_> 7 7 1 5 2. <_> <_> 18 0 2 17 -1. <_> 19 0 1 17 2. <_> <_> 16 16 1 3 -1. <_> 16 17 1 1 3. <_> <_> 14 8 3 7 -1. <_> 15 8 1 7 3. <_> <_> 10 17 2 2 -1. <_> 10 17 1 1 2. <_> 11 18 1 1 2. <_> <_> 4 9 1 3 -1. <_> 4 10 1 1 3. <_> <_> 18 10 2 3 -1. <_> 18 11 2 1 3. <_> <_> 12 1 3 10 -1. <_> 13 1 1 10 3. <_> <_> 8 12 9 1 -1. <_> 11 12 3 1 3. <_> <_> 5 18 2 2 -1. <_> 5 18 1 1 2. <_> 6 19 1 1 2. <_> <_> 19 6 1 9 -1. <_> 19 9 1 3 3. <_> <_> 4 7 2 4 -1. <_> 4 7 1 2 2. <_> 5 9 1 2 2. <_> <_> 1 4 6 14 -1. <_> 3 4 2 14 3. <_> <_> 10 5 9 3 -1. <_> 13 5 3 3 3. <_> <_> 18 7 2 6 -1. <_> 18 9 2 2 3. <_> <_> 5 6 2 7 -1. <_> 6 6 1 7 2. <_> <_> 10 4 6 8 -1. <_> 13 4 3 8 2. <_> <_> 0 8 2 9 -1. <_> 0 11 2 3 3. <_> <_> 0 7 5 3 -1. <_> 0 8 5 1 3. <_> <_> 8 1 7 2 -1. <_> 8 2 7 1 2. <_> <_> 7 5 3 5 -1. <_> 8 5 1 5 3. <_> <_> 19 2 1 2 -1. <_> 19 3 1 1 2. <_> <_> 6 7 10 11 -1. <_> 11 7 5 11 2. <_> <_> 9 19 6 1 -1. <_> 11 19 2 1 3. <_> <_> 3 0 12 1 -1. <_> 7 0 4 1 3. <_> <_> 4 1 6 5 -1. <_> 6 1 2 5 3. <_> <_> 6 12 12 6 -1. <_> 10 12 4 6 3. <_> <_> 16 13 2 3 -1. <_> 16 14 2 1 3. <_> <_> 7 14 4 2 -1. <_> 7 15 4 1 2. <_> <_> 7 14 2 2 -1. <_> 7 15 2 1 2. <_> <_> 3 10 2 4 -1. <_> 3 10 1 2 2. <_> 4 12 1 2 2. <_> <_> 0 3 2 6 -1. <_> 0 5 2 2 3. <_> <_> 1 10 2 2 -1. <_> 1 10 1 1 2. <_> 2 11 1 1 2. <_> <_> 16 4 4 3 -1. <_> 16 5 4 1 3. <_> <_> 5 10 2 4 -1. <_> 5 10 1 2 2. <_> 6 12 1 2 2. <_> <_> 5 11 13 2 -1. <_> 5 12 13 1 2. <_> <_> 10 2 3 11 -1. <_> 11 2 1 11 3. <_> <_> 10 2 4 4 -1. <_> 10 4 4 2 2. <_> <_> 8 8 6 2 -1. <_> 10 8 2 2 3. <_> <_> 11 2 3 3 -1. <_> 12 2 1 3 3. <_> <_> 6 18 14 2 -1. <_> 6 18 7 1 2. <_> 13 19 7 1 2. <_> <_> 17 7 1 12 -1. <_> 17 11 1 4 3. <_> <_> 10 5 10 3 -1. <_> 10 6 10 1 3. <_> <_> 6 1 3 3 -1. <_> 7 1 1 3 3. <_> <_> 13 8 3 1 -1. <_> 14 8 1 1 3. <_> <_> 10 14 2 6 -1. <_> 10 16 2 2 3. <_> <_> 4 1 12 14 -1. <_> 8 1 4 14 3. <_> <_> 14 1 6 14 -1. <_> 16 1 2 14 3. <_> <_> 3 16 2 2 -1. <_> 3 16 1 1 2. <_> 4 17 1 1 2. <_> <_> 0 16 2 2 -1. <_> 0 17 2 1 2. <_> <_> 15 6 4 6 -1. <_> 15 6 2 3 2. <_> 17 9 2 3 2. <_> <_> 12 5 2 2 -1. <_> 12 6 2 1 2. <_> <_> 7 6 6 13 -1. <_> 9 6 2 13 3. <_> <_> 1 9 6 5 -1. <_> 3 9 2 5 3. <_> <_> 0 5 3 4 -1. <_> 0 7 3 2 2. <_> <_> 4 1 16 2 -1. <_> 4 1 8 1 2. <_> 12 2 8 1 2. <_> <_> 1 18 4 2 -1. <_> 1 18 2 1 2. <_> 3 19 2 1 2. <_> <_> 7 7 3 4 -1. <_> 8 7 1 4 3. <_> <_> 3 4 9 3 -1. <_> 6 4 3 3 3. <_> <_> 4 6 6 10 -1. <_> 6 6 2 10 3. <_> <_> 9 0 8 10 -1. <_> 13 0 4 10 2. <_> <_> 8 0 8 1 -1. <_> 12 0 4 1 2. <_> <_> 6 2 8 16 -1. <_> 6 2 4 8 2. <_> 10 10 4 8 2. <_> <_> 14 10 2 10 -1. <_> 14 10 1 5 2. <_> 15 15 1 5 2. <_> <_> 12 11 1 2 -1. <_> 12 12 1 1 2. <_> <_> 16 0 3 8 -1. <_> 17 0 1 8 3. <_> <_> 14 0 6 10 -1. <_> 17 0 3 10 2. <_> <_> 16 0 3 5 -1. <_> 17 0 1 5 3. <_> <_> 4 5 11 2 -1. <_> 4 6 11 1 2. <_> <_> 1 0 2 1 -1. <_> 2 0 1 1 2. <_> <_> 0 0 2 3 -1. <_> 0 1 2 1 3. <_> <_> 11 6 6 11 -1. <_> 13 6 2 11 3. <_> <_> 14 0 3 1 -1. <_> 15 0 1 1 3. <_> <_> 19 7 1 2 -1. <_> 19 8 1 1 2. <_> <_> 17 0 3 9 -1. <_> 18 0 1 9 3. <_> <_> 12 7 3 4 -1. <_> 13 7 1 4 3. <_> <_> 0 1 14 2 -1. <_> 0 1 7 1 2. <_> 7 2 7 1 2. <_> <_> 3 1 3 2 -1. <_> 4 1 1 2 3. <_> <_> 4 0 15 2 -1. <_> 9 0 5 2 3. <_> <_> 10 2 6 1 -1. <_> 12 2 2 1 3. <_> <_> 9 4 6 11 -1. <_> 11 4 2 11 3. <_> <_> 2 16 2 4 -1. <_> 2 18 2 2 2. <_> <_> 6 17 6 3 -1. <_> 8 17 2 3 3. <_> <_> 7 9 6 2 -1. <_> 9 9 2 2 3. <_> <_> 6 8 9 2 -1. <_> 9 8 3 2 3. <_> <_> 6 6 2 10 -1. <_> 6 6 1 5 2. <_> 7 11 1 5 2. <_> <_> 0 11 2 3 -1. <_> 0 12 2 1 3. <_> <_> 11 15 4 1 -1. <_> 13 15 2 1 2. <_> <_> 6 17 1 2 -1. <_> 6 18 1 1 2. <_> <_> 0 0 6 20 -1. <_> 2 0 2 20 3. <_> <_> 3 10 2 2 -1. <_> 4 10 1 2 2. <_> <_> 4 7 3 5 -1. <_> 5 7 1 5 3. <_> <_> 3 12 6 2 -1. <_> 5 12 2 2 3. <_> <_> 6 15 7 4 -1. <_> 6 17 7 2 2. <_> <_> 17 16 2 2 -1. <_> 17 16 1 1 2. <_> 18 17 1 1 2. <_> <_> 15 1 3 16 -1. <_> 16 1 1 16 3. <_> <_> 6 16 6 3 -1. <_> 8 16 2 3 3. <_> <_> 15 14 3 2 -1. <_> 15 15 3 1 2. <_> <_> 12 16 1 2 -1. <_> 12 17 1 1 2. <_> <_> 0 2 4 4 -1. <_> 0 2 2 2 2. <_> 2 4 2 2 2. <_> <_> 1 1 6 4 -1. <_> 1 1 3 2 2. <_> 4 3 3 2 2. <_> <_> 1 18 1 2 -1. <_> 1 19 1 1 2. <_> <_> 4 7 2 3 -1. <_> 4 8 2 1 3. <_> <_> 1 0 9 14 -1. <_> 1 7 9 7 2. <_> <_> 4 9 2 6 -1. <_> 4 9 1 3 2. <_> 5 12 1 3 2. <_> <_> 3 9 4 3 -1. <_> 5 9 2 3 2. <_> <_> 0 9 2 4 -1. <_> 0 11 2 2 2. <_> <_> 16 6 3 10 -1. <_> 17 6 1 10 3. <_> <_> 16 11 2 1 -1. <_> 17 11 1 1 2. <_> <_> 5 7 4 4 -1. <_> 5 9 4 2 2. <_> <_> 10 11 9 2 -1. <_> 13 11 3 2 3. <_> <_> 15 10 2 2 -1. <_> 15 10 1 1 2. <_> 16 11 1 1 2. <_> <_> 10 6 6 14 -1. <_> 10 13 6 7 2. <_> <_> 14 7 3 5 -1. <_> 15 7 1 5 3. <_> <_> 6 11 12 3 -1. <_> 10 11 4 3 3. <_> <_> 17 16 1 2 -1. <_> 17 17 1 1 2. <_> <_> 8 5 5 4 -1. <_> 8 7 5 2 2. <_> <_> 11 6 4 2 -1. <_> 11 7 4 1 2. <_> <_> 3 4 8 2 -1. <_> 3 4 4 1 2. <_> 7 5 4 1 2. <_> <_> 0 8 6 6 -1. <_> 2 8 2 6 3. <_> <_> 7 4 6 2 -1. <_> 7 5 6 1 2. <_> <_> 7 3 6 3 -1. <_> 9 3 2 3 3. <_> <_> 2 17 3 3 -1. <_> 2 18 3 1 3. <_> <_> 3 10 6 1 -1. <_> 5 10 2 1 3. <_> <_> 7 2 6 2 -1. <_> 9 2 2 2 3. <_> <_> 4 11 9 1 -1. <_> 7 11 3 1 3. <_> <_> 7 7 11 12 -1. <_> 7 13 11 6 2. <_> <_> 3 2 3 4 -1. <_> 4 2 1 4 3. <_> <_> 9 7 9 3 -1. <_> 12 7 3 3 3. <_> <_> 15 11 2 6 -1. <_> 15 11 1 3 2. <_> 16 14 1 3 2. <_> <_> 0 5 5 3 -1. <_> 0 6 5 1 3. <_> <_> 8 1 6 12 -1. <_> 10 1 2 12 3. <_> <_> 3 7 15 13 -1. <_> 8 7 5 13 3. <_> <_> 0 9 9 9 -1. <_> 0 12 9 3 3. <_> <_> 16 0 3 8 -1. <_> 17 0 1 8 3. <_> <_> 16 2 4 2 -1. <_> 18 2 2 2 2. <_> <_> 13 0 6 5 -1. <_> 16 0 3 5 2. <_> <_> 15 1 3 2 -1. <_> 16 1 1 2 3. <_> <_> 11 8 3 2 -1. <_> 12 8 1 2 3. <_> <_> 1 8 2 12 -1. <_> 1 8 1 6 2. <_> 2 14 1 6 2. <_> <_> 0 1 6 12 -1. <_> 2 1 2 12 3. <_> <_> 19 17 1 3 -1. <_> 19 18 1 1 3. <_> <_> 11 3 3 10 -1. <_> 12 3 1 10 3. <_> <_> 8 1 9 8 -1. <_> 11 1 3 8 3. <_> <_> 18 16 2 2 -1. <_> 18 16 1 1 2. <_> 19 17 1 1 2. <_> <_> 18 16 2 2 -1. <_> 18 16 1 1 2. <_> 19 17 1 1 2. <_> <_> 6 13 2 6 -1. <_> 6 15 2 2 3. <_> <_> 9 14 2 2 -1. <_> 9 15 2 1 2. <_> <_> 14 10 2 4 -1. <_> 14 10 1 2 2. <_> 15 12 1 2 2. <_> <_> 0 15 2 2 -1. <_> 0 15 1 1 2. <_> 1 16 1 1 2. <_> <_> 6 7 2 2 -1. <_> 6 7 1 1 2. <_> 7 8 1 1 2. <_> <_> 11 18 2 2 -1. <_> 11 18 1 1 2. <_> 12 19 1 1 2. <_> <_> 0 0 6 4 -1. <_> 0 0 3 2 2. <_> 3 2 3 2 2. <_> <_> 4 1 6 6 -1. <_> 6 1 2 6 3. <_> <_> 15 13 5 4 -1. <_> 15 15 5 2 2. <_> <_> 7 17 6 1 -1. <_> 9 17 2 1 3. <_> <_> 16 19 4 1 -1. <_> 18 19 2 1 2. <_> <_> 16 16 4 4 -1. <_> 18 16 2 4 2. <_> <_> 7 8 9 4 -1. <_> 10 8 3 4 3. <_> <_> 16 18 2 2 -1. <_> 16 18 1 1 2. <_> 17 19 1 1 2. <_> <_> 2 9 2 4 -1. <_> 2 9 1 2 2. <_> 3 11 1 2 2. <_> <_> 0 3 8 4 -1. <_> 0 3 4 2 2. <_> 4 5 4 2 2. <_> <_> 0 1 8 1 -1. <_> 4 1 4 1 2. <_> <_> 0 5 8 9 -1. <_> 4 5 4 9 2. <_> <_> 7 18 6 2 -1. <_> 9 18 2 2 3. <_> <_> 0 4 1 12 -1. <_> 0 8 1 4 3. <_> <_> 19 13 1 6 -1. <_> 19 15 1 2 3. <_> <_> 2 8 6 8 -1. <_> 4 8 2 8 3. <_> <_> 0 0 9 17 -1. <_> 3 0 3 17 3. <_> <_> 7 9 6 8 -1. <_> 9 9 2 8 3. <_> <_> 5 10 9 4 -1. <_> 8 10 3 4 3. <_> <_> 5 0 8 3 -1. <_> 5 1 8 1 3. <_> <_> 16 6 4 4 -1. <_> 16 6 2 2 2. <_> 18 8 2 2 2. <_> <_> 17 4 2 8 -1. <_> 17 4 1 4 2. <_> 18 8 1 4 2. <_> <_> 2 16 1 3 -1. <_> 2 17 1 1 3. <_> <_> 2 16 1 3 -1. <_> 2 17 1 1 3. <_> <_> 11 0 1 3 -1. <_> 11 1 1 1 3. <_> <_> 11 2 9 7 -1. <_> 14 2 3 7 3. <_> <_> 10 2 3 6 -1. <_> 11 2 1 6 3. <_> <_> 5 9 15 2 -1. <_> 5 10 15 1 2. <_> <_> 8 16 6 2 -1. <_> 8 17 6 1 2. <_> <_> 9 16 10 2 -1. <_> 9 16 5 1 2. <_> 14 17 5 1 2. <_> <_> 9 17 2 2 -1. <_> 9 17 1 1 2. <_> 10 18 1 1 2. <_> <_> 10 15 6 4 -1. <_> 10 15 3 2 2. <_> 13 17 3 2 2. <_> <_> 4 5 15 12 -1. <_> 9 5 5 12 3. <_> <_> 11 13 2 3 -1. <_> 11 14 2 1 3. <_> <_> 8 13 7 3 -1. <_> 8 14 7 1 3. <_> <_> 1 12 1 2 -1. <_> 1 13 1 1 2. <_> <_> 16 18 2 2 -1. <_> 16 18 1 1 2. <_> 17 19 1 1 2. <_> <_> 1 19 18 1 -1. <_> 7 19 6 1 3. <_> <_> 1 17 6 1 -1. <_> 4 17 3 1 2. <_> <_> 1 3 1 12 -1. <_> 1 9 1 6 2. <_> <_> 0 9 3 6 -1. <_> 0 11 3 2 3. <_> <_> 5 4 3 10 -1. <_> 6 4 1 10 3. <_> <_> 6 17 2 1 -1. <_> 7 17 1 1 2. <_> <_> 1 0 6 12 -1. <_> 3 0 2 12 3. <_> <_> 4 7 9 2 -1. <_> 7 7 3 2 3. <_> <_> 6 11 9 1 -1. <_> 9 11 3 1 3. <_> <_> 17 10 2 10 -1. <_> 17 15 2 5 2. <_> <_> 4 10 2 10 -1. <_> 4 10 1 5 2. <_> 5 15 1 5 2. <_> <_> 12 3 3 12 -1. <_> 13 3 1 12 3. <_> <_> 15 3 4 6 -1. <_> 15 3 2 3 2. <_> 17 6 2 3 2. <_> <_> 12 8 3 3 -1. <_> 13 8 1 3 3. <_> <_> 4 14 2 4 -1. <_> 4 16 2 2 2. <_> <_> 6 16 1 3 -1. <_> 6 17 1 1 3. <_> <_> 1 1 2 3 -1. <_> 2 1 1 3 2. <_> <_> 0 2 4 1 -1. <_> 2 2 2 1 2. <_> <_> 8 17 12 3 -1. <_> 12 17 4 3 3. <_> <_> 9 16 6 4 -1. <_> 11 16 2 4 3. <_> <_> 4 6 3 6 -1. <_> 4 9 3 3 2. <_> <_> 6 2 12 9 -1. <_> 6 5 12 3 3. <_> <_> 6 0 14 20 -1. <_> 6 0 7 10 2. <_> 13 10 7 10 2. <_> <_> 15 16 2 2 -1. <_> 15 16 1 1 2. <_> 16 17 1 1 2. <_> <_> 15 16 2 2 -1. <_> 15 16 1 1 2. <_> 16 17 1 1 2. <_> <_> 19 8 1 3 -1. <_> 19 9 1 1 3. <_> <_> 13 4 1 2 -1. <_> 13 5 1 1 2. <_> <_> 0 4 4 2 -1. <_> 0 5 4 1 2. <_> <_> 19 5 1 6 -1. <_> 19 7 1 2 3. <_> <_> 16 0 2 1 -1. <_> 17 0 1 1 2. <_> <_> 13 1 1 3 -1. <_> 13 2 1 1 3. <_> <_> 17 17 1 3 -1. <_> 17 18 1 1 3. <_> <_> 5 4 8 8 -1. <_> 5 4 4 4 2. <_> 9 8 4 4 2. <_> <_> 1 2 2 2 -1. <_> 1 2 1 1 2. <_> 2 3 1 1 2. <_> <_> 0 0 8 6 -1. <_> 0 0 4 3 2. <_> 4 3 4 3 2. <_> <_> 6 3 4 2 -1. <_> 6 4 4 1 2. <_> <_> 1 0 3 3 -1. <_> 1 1 3 1 3. <_> <_> 6 1 7 2 -1. <_> 6 2 7 1 2. <_> <_> 2 6 12 6 -1. <_> 6 6 4 6 3. <_> <_> 1 16 9 2 -1. <_> 4 16 3 2 3. <_> <_> 7 15 6 4 -1. <_> 9 15 2 4 3. <_> <_> 6 15 12 1 -1. <_> 12 15 6 1 2. <_> <_> 17 17 1 3 -1. <_> 17 18 1 1 3. <_> <_> 17 15 2 2 -1. <_> 17 15 1 1 2. <_> 18 16 1 1 2. <_> <_> 3 13 3 3 -1. <_> 3 14 3 1 3. <_> <_> 10 17 1 3 -1. <_> 10 18 1 1 3. <_> <_> 4 0 14 8 -1. <_> 11 0 7 8 2. <_> <_> 2 0 12 2 -1. <_> 6 0 4 2 3. <_> <_> 2 0 4 3 -1. <_> 4 0 2 3 2. <_> <_> 13 1 1 2 -1. <_> 13 2 1 1 2. <_> <_> 7 5 3 6 -1. <_> 8 5 1 6 3. <_> <_> 18 2 2 2 -1. <_> 18 2 1 1 2. <_> 19 3 1 1 2. <_> <_> 15 1 2 14 -1. <_> 16 1 1 14 2. <_> <_> 15 6 2 2 -1. <_> 15 6 1 1 2. <_> 16 7 1 1 2. <_> <_> 3 1 6 3 -1. <_> 5 1 2 3 3. <_> <_> 7 16 2 2 -1. <_> 7 16 1 1 2. <_> 8 17 1 1 2. <_> <_> 5 17 2 2 -1. <_> 5 17 1 1 2. <_> 6 18 1 1 2. <_> <_> 9 10 6 10 -1. <_> 11 10 2 10 3. <_> <_> 10 17 6 3 -1. <_> 12 17 2 3 3. <_> <_> 14 5 2 10 -1. <_> 14 10 2 5 2. <_> <_> 11 12 6 2 -1. <_> 11 13 6 1 2. <_> <_> 8 1 1 3 -1. <_> 8 2 1 1 3. <_> <_> 12 15 2 2 -1. <_> 12 15 1 1 2. <_> 13 16 1 1 2. <_> <_> 6 8 6 4 -1. <_> 6 8 3 2 2. <_> 9 10 3 2 2. <_> <_> 7 5 3 5 -1. <_> 8 5 1 5 3. <_> <_> 0 5 7 3 -1. <_> 0 6 7 1 3. <_> <_> 7 9 6 6 -1. <_> 9 9 2 6 3. <_> <_> 5 7 8 8 -1. <_> 5 11 8 4 2. <_> <_> 4 9 2 6 -1. <_> 4 9 1 3 2. <_> 5 12 1 3 2. <_> <_> 10 11 6 1 -1. <_> 12 11 2 1 3. <_> <_> 13 6 6 11 -1. <_> 15 6 2 11 3. <_> <_> 8 17 2 2 -1. <_> 8 17 1 1 2. <_> 9 18 1 1 2. <_> <_> 4 12 12 1 -1. <_> 8 12 4 1 3. <_> <_> 11 17 3 2 -1. <_> 11 18 3 1 2. <_> <_> 8 17 6 1 -1. <_> 10 17 2 1 3. <_> <_> 4 1 14 6 -1. <_> 4 3 14 2 3. <_> <_> 14 2 2 12 -1. <_> 14 8 2 6 2. <_> <_> 12 13 3 2 -1. <_> 12 14 3 1 2. <_> <_> 6 1 6 1 -1. <_> 8 1 2 1 3. <_> <_> 10 6 6 1 -1. <_> 12 6 2 1 3. <_> <_> 3 19 2 1 -1. <_> 4 19 1 1 2. <_> <_> 18 16 2 2 -1. <_> 18 16 1 1 2. <_> 19 17 1 1 2. <_> <_> 16 11 3 7 -1. <_> 17 11 1 7 3. <_> <_> 19 5 1 6 -1. <_> 19 8 1 3 2. <_> <_> 9 8 4 3 -1. <_> 9 9 4 1 3. <_> <_> 16 8 4 4 -1. <_> 16 8 2 2 2. <_> 18 10 2 2 2. <_> <_> 2 8 2 2 -1. <_> 2 8 1 1 2. <_> 3 9 1 1 2. <_> <_> 3 5 6 4 -1. <_> 3 5 3 2 2. <_> 6 7 3 2 2. <_> <_> 2 3 8 16 -1. <_> 2 3 4 8 2. <_> 6 11 4 8 2. <_> <_> 17 17 1 3 -1. <_> 17 18 1 1 3. <_> <_> 7 2 8 11 -1. <_> 11 2 4 11 2. <_> <_> 13 3 6 14 -1. <_> 16 3 3 14 2. <_> <_> 0 9 18 2 -1. <_> 6 9 6 2 3. <_> <_> 6 10 14 3 -1. <_> 6 11 14 1 3. <_> <_> 10 9 9 3 -1. <_> 13 9 3 3 3. <_> <_> 3 5 4 6 -1. <_> 3 5 2 3 2. <_> 5 8 2 3 2. <_> <_> 3 7 3 7 -1. <_> 4 7 1 7 3. <_> <_> 2 8 11 6 -1. <_> 2 10 11 2 3. <_> <_> 8 9 6 3 -1. <_> 8 10 6 1 3. <_> <_> 3 3 3 11 -1. <_> 4 3 1 11 3. <_> <_> 0 19 6 1 -1. <_> 3 19 3 1 2. <_> <_> 18 18 1 2 -1. <_> 18 19 1 1 2. <_> <_> 8 0 12 6 -1. <_> 8 0 6 3 2. <_> 14 3 6 3 2. <_> <_> 19 5 1 3 -1. <_> 19 6 1 1 3. <_> <_> 5 8 2 1 -1. <_> 6 8 1 1 2. <_> <_> 13 11 2 1 -1. <_> 14 11 1 1 2. <_> <_> 3 6 15 13 -1. <_> 8 6 5 13 3. <_> <_> 4 3 6 2 -1. <_> 6 3 2 2 3. <_> <_> 0 18 1 2 -1. <_> 0 19 1 1 2. <_> <_> 7 8 2 6 -1. <_> 8 8 1 6 2. <_> <_> 3 0 6 19 -1. <_> 5 0 2 19 3. <_> <_> 3 1 6 5 -1. <_> 5 1 2 5 3. <_> <_> 17 14 3 6 -1. <_> 17 16 3 2 3. <_> <_> 17 13 2 6 -1. <_> 18 13 1 6 2. <_> <_> 17 18 2 2 -1. <_> 18 18 1 2 2. <_> <_> 11 14 9 4 -1. <_> 14 14 3 4 3. <_> <_> 15 8 4 6 -1. <_> 15 8 2 3 2. <_> 17 11 2 3 2. <_> <_> 1 16 1 3 -1. <_> 1 17 1 1 3. <_> <_> 7 0 3 14 -1. <_> 8 0 1 14 3. <_> <_> 12 0 2 1 -1. <_> 13 0 1 1 2. <_> <_> 7 9 6 5 -1. <_> 10 9 3 5 2. <_> <_> 15 5 4 9 -1. <_> 17 5 2 9 2. <_> <_> 11 0 6 6 -1. <_> 13 0 2 6 3. <_> <_> 16 15 2 2 -1. <_> 16 15 1 1 2. <_> 17 16 1 1 2. <_> <_> 16 15 2 2 -1. <_> 16 15 1 1 2. <_> 17 16 1 1 2. <_> <_> 13 2 2 18 -1. <_> 13 11 2 9 2. <_> <_> 8 4 8 10 -1. <_> 8 9 8 5 2. <_> <_> 8 3 2 3 -1. <_> 8 4 2 1 3. <_> <_> 11 1 6 9 -1. <_> 11 4 6 3 3. <_> <_> 15 4 5 6 -1. <_> 15 6 5 2 3. <_> <_> 12 18 2 2 -1. <_> 12 18 1 1 2. <_> 13 19 1 1 2. <_> <_> 1 17 1 3 -1. <_> 1 18 1 1 3. <_> <_> 12 19 2 1 -1. <_> 13 19 1 1 2. <_> <_> 8 10 6 6 -1. <_> 10 10 2 6 3. <_> <_> 14 2 6 5 -1. <_> 16 2 2 5 3. <_> <_> 9 5 2 6 -1. <_> 9 7 2 2 3. <_> <_> 1 15 2 2 -1. <_> 2 15 1 2 2. <_> <_> 18 17 1 3 -1. <_> 18 18 1 1 3. <_> <_> 10 14 4 6 -1. <_> 10 16 4 2 3. <_> <_> 9 7 3 2 -1. <_> 10 7 1 2 3. <_> <_> 6 9 6 2 -1. <_> 6 9 3 1 2. <_> 9 10 3 1 2. <_> <_> 0 2 1 12 -1. <_> 0 6 1 4 3. <_> <_> 4 0 15 1 -1. <_> 9 0 5 1 3. <_> <_> 9 0 8 2 -1. <_> 9 0 4 1 2. <_> 13 1 4 1 2. <_> <_> 12 2 8 1 -1. <_> 16 2 4 1 2. <_> <_> 7 1 10 6 -1. <_> 7 3 10 2 3. <_> <_> 18 6 2 3 -1. <_> 18 7 2 1 3. <_> <_> 4 12 2 2 -1. <_> 4 12 1 1 2. <_> 5 13 1 1 2. <_> <_> 6 6 6 2 -1. <_> 8 6 2 2 3. <_> <_> 0 9 9 6 -1. <_> 3 9 3 6 3. <_> <_> 17 18 2 2 -1. <_> 18 18 1 2 2. <_> <_> 11 2 6 16 -1. <_> 13 2 2 16 3. <_> <_> 2 4 15 13 -1. <_> 7 4 5 13 3. <_> <_> 16 2 3 10 -1. <_> 17 2 1 10 3. <_> <_> 6 10 2 1 -1. <_> 7 10 1 1 2. <_> <_> 1 1 18 16 -1. <_> 10 1 9 16 2. <_> <_> 14 4 3 15 -1. <_> 15 4 1 15 3. <_> <_> 19 13 1 2 -1. <_> 19 14 1 1 2. <_> <_> 2 6 5 8 -1. <_> 2 10 5 4 2. ================================================ FILE: examples/opencv-face/haarcascade_frontalface_default.xml ================================================ BOOST HAAR 24 24 211 0 25 <_> 9 -5.0425500869750977e+00 <_> 0 -1 0 -3.1511999666690826e-02 2.0875380039215088e+00 -2.2172100543975830e+00 <_> 0 -1 1 1.2396000325679779e-02 -1.8633940219879150e+00 1.3272049427032471e+00 <_> 0 -1 2 2.1927999332547188e-02 -1.5105249881744385e+00 1.0625729560852051e+00 <_> 0 -1 3 5.7529998011887074e-03 -8.7463897466659546e-01 1.1760339736938477e+00 <_> 0 -1 4 1.5014000236988068e-02 -7.7945697307586670e-01 1.2608419656753540e+00 <_> 0 -1 5 9.9371001124382019e-02 5.5751299858093262e-01 -1.8743000030517578e+00 <_> 0 -1 6 2.7340000960975885e-03 -1.6911929845809937e+00 4.4009700417518616e-01 <_> 0 -1 7 -1.8859000876545906e-02 -1.4769539833068848e+00 4.4350099563598633e-01 <_> 0 -1 8 5.9739998541772366e-03 -8.5909199714660645e-01 8.5255599021911621e-01 <_> 16 -4.9842400550842285e+00 <_> 0 -1 9 -2.1110000088810921e-02 1.2435649633407593e+00 -1.5713009834289551e+00 <_> 0 -1 10 2.0355999469757080e-02 -1.6204780340194702e+00 1.1817760467529297e+00 <_> 0 -1 11 2.1308999508619308e-02 -1.9415930509567261e+00 7.0069098472595215e-01 <_> 0 -1 12 9.1660000383853912e-02 -5.5670100450515747e-01 1.7284419536590576e+00 <_> 0 -1 13 3.6288000643253326e-02 2.6763799786567688e-01 -2.1831810474395752e+00 <_> 0 -1 14 -1.9109999760985374e-02 -2.6730210781097412e+00 4.5670801401138306e-01 <_> 0 -1 15 8.2539999857544899e-03 -1.0852910280227661e+00 5.3564202785491943e-01 <_> 0 -1 16 1.8355000764131546e-02 -3.5200199484825134e-01 9.3339198827743530e-01 <_> 0 -1 17 -7.0569999516010284e-03 9.2782098054885864e-01 -6.6349899768829346e-01 <_> 0 -1 18 -9.8770000040531158e-03 1.1577470302581787e+00 -2.9774799942970276e-01 <_> 0 -1 19 1.5814000740647316e-02 -4.1960600018501282e-01 1.3576040267944336e+00 <_> 0 -1 20 -2.0700000226497650e-02 1.4590020179748535e+00 -1.9739399850368500e-01 <_> 0 -1 21 -1.3760800659656525e-01 1.1186759471893311e+00 -5.2915501594543457e-01 <_> 0 -1 22 1.4318999834358692e-02 -3.5127198696136475e-01 1.1440860033035278e+00 <_> 0 -1 23 1.0253000073134899e-02 -6.0850602388381958e-01 7.7098500728607178e-01 <_> 0 -1 24 9.1508001089096069e-02 3.8817799091339111e-01 -1.5122940540313721e+00 <_> 27 -4.6551899909973145e+00 <_> 0 -1 25 6.9747000932693481e-02 -1.0130879878997803e+00 1.4687349796295166e+00 <_> 0 -1 26 3.1502999365329742e-02 -1.6463639736175537e+00 1.0000629425048828e+00 <_> 0 -1 27 1.4260999858379364e-02 4.6480301022529602e-01 -1.5959889888763428e+00 <_> 0 -1 28 1.4453000389039516e-02 -6.5511900186538696e-01 8.3021801710128784e-01 <_> 0 -1 29 -3.0509999487549067e-03 -1.3982310295104980e+00 4.2550599575042725e-01 <_> 0 -1 30 3.2722998410463333e-02 -5.0702601671218872e-01 1.0526109933853149e+00 <_> 0 -1 31 -7.2960001416504383e-03 3.6356899142265320e-01 -1.3464889526367188e+00 <_> 0 -1 32 5.0425000488758087e-02 -3.0461400747299194e-01 1.4504129886627197e+00 <_> 0 -1 33 4.6879000961780548e-02 -4.0286201238632202e-01 1.2145609855651855e+00 <_> 0 -1 34 -6.9358997046947479e-02 1.0539360046386719e+00 -4.5719701051712036e-01 <_> 0 -1 35 -4.9033999443054199e-02 -1.6253089904785156e+00 1.5378999710083008e-01 <_> 0 -1 36 8.4827996790409088e-02 2.8402999043464661e-01 -1.5662059783935547e+00 <_> 0 -1 37 -1.7229999648407102e-03 -1.0147459506988525e+00 2.3294800519943237e-01 <_> 0 -1 38 1.1562199890613556e-01 -1.6732899844646454e-01 1.2804069519042969e+00 <_> 0 -1 39 -5.1279999315738678e-02 1.5162390470504761e+00 -3.0271100997924805e-01 <_> 0 -1 40 -4.2706999927759171e-02 1.7631920576095581e+00 -5.1832001656293869e-02 <_> 0 -1 41 3.7178099155426025e-01 -3.1389200687408447e-01 1.5357979536056519e+00 <_> 0 -1 42 1.9412999972701073e-02 -1.0017599910497665e-01 9.3655401468276978e-01 <_> 0 -1 43 1.7439000308513641e-02 -4.0379899740219116e-01 9.6293002367019653e-01 <_> 0 -1 44 3.9638999849557877e-02 1.7039099335670471e-01 -2.9602990150451660e+00 <_> 0 -1 45 -9.1469995677471161e-03 8.8786798715591431e-01 -4.3818700313568115e-01 <_> 0 -1 46 1.7219999572262168e-03 -3.7218600511550903e-01 4.0018901228904724e-01 <_> 0 -1 47 3.0231000855565071e-02 6.5924003720283508e-02 -2.6469180583953857e+00 <_> 0 -1 48 -7.8795999288558960e-02 -1.7491459846496582e+00 2.8475299477577209e-01 <_> 0 -1 49 2.1110000088810921e-03 -9.3908101320266724e-01 2.3205199837684631e-01 <_> 0 -1 50 2.7091000229120255e-02 -5.2664000540971756e-02 1.0756820440292358e+00 <_> 0 -1 51 -4.4964998960494995e-02 -1.8294479846954346e+00 9.9561996757984161e-02 <_> 32 -4.4531588554382324e+00 <_> 0 -1 52 -6.5701000392436981e-02 1.1558510065078735e+00 -1.0716359615325928e+00 <_> 0 -1 53 1.5839999541640282e-02 -1.5634720325469971e+00 7.6877099275588989e-01 <_> 0 -1 54 1.4570899307727814e-01 -5.7450097799301147e-01 1.3808720111846924e+00 <_> 0 -1 55 6.1389999464154243e-03 -1.4570560455322266e+00 5.1610302925109863e-01 <_> 0 -1 56 6.7179999314248562e-03 -8.3533602952957153e-01 5.8522200584411621e-01 <_> 0 -1 57 1.8518000841140747e-02 -3.1312099099159241e-01 1.1696679592132568e+00 <_> 0 -1 58 1.9958000630140305e-02 -4.3442600965499878e-01 9.5446902513504028e-01 <_> 0 -1 59 -2.7755001187324524e-01 1.4906179904937744e+00 -1.3815900683403015e-01 <_> 0 -1 60 9.1859996318817139e-03 -9.6361500024795532e-01 2.7665498852729797e-01 <_> 0 -1 61 -3.7737999111413956e-02 -2.4464108943939209e+00 2.3619599640369415e-01 <_> 0 -1 62 1.8463000655174255e-02 1.7539200186729431e-01 -1.3423130512237549e+00 <_> 0 -1 63 -1.1114999651908875e-02 4.8710799217224121e-01 -8.9851897954940796e-01 <_> 0 -1 64 3.3927999436855316e-02 1.7874200642108917e-01 -1.6342279911041260e+00 <_> 0 -1 65 -3.5649001598358154e-02 -1.9607399702072144e+00 1.8102499842643738e-01 <_> 0 -1 66 -1.1438000015914440e-02 9.9010699987411499e-01 -3.8103199005126953e-01 <_> 0 -1 67 -6.5236002206802368e-02 -2.5794160366058350e+00 2.4753600358963013e-01 <_> 0 -1 68 -4.2272001504898071e-02 1.4411840438842773e+00 -2.9508298635482788e-01 <_> 0 -1 69 1.9219999667257071e-03 -4.9608600139617920e-01 6.3173598051071167e-01 <_> 0 -1 70 -1.2921799719333649e-01 -2.3314270973205566e+00 5.4496999830007553e-02 <_> 0 -1 71 2.2931000217795372e-02 -8.4447097778320312e-01 3.8738098740577698e-01 <_> 0 -1 72 -3.4120000898838043e-02 -1.4431500434875488e+00 9.8422996699810028e-02 <_> 0 -1 73 2.6223000138998032e-02 1.8223099410533905e-01 -1.2586519718170166e+00 <_> 0 -1 74 2.2236999124288559e-02 6.9807998836040497e-02 -2.3820950984954834e+00 <_> 0 -1 75 -5.8240001089870930e-03 3.9332500100135803e-01 -2.7542799711227417e-01 <_> 0 -1 76 4.3653000146150589e-02 1.4832699298858643e-01 -1.1368780136108398e+00 <_> 0 -1 77 5.7266999036073685e-02 2.4628099799156189e-01 -1.2687400579452515e+00 <_> 0 -1 78 2.3409998975694180e-03 -7.5448900461196899e-01 2.7163800597190857e-01 <_> 0 -1 79 1.2996000237762928e-02 -3.6394900083541870e-01 7.0959198474884033e-01 <_> 0 -1 80 -2.6517000049352646e-02 -2.3221859931945801e+00 3.5744000226259232e-02 <_> 0 -1 81 -5.8400002308189869e-03 4.2194300889968872e-01 -4.8184998333454132e-02 <_> 0 -1 82 -1.6568999737501144e-02 1.1099940538406372e+00 -3.4849700331687927e-01 <_> 0 -1 83 -6.8157002329826355e-02 -3.3269989490509033e+00 2.1299000084400177e-01 <_> 52 -4.3864588737487793e+00 <_> 0 -1 84 3.9974000304937363e-02 -1.2173449993133545e+00 1.0826710462570190e+00 <_> 0 -1 85 1.8819500505924225e-01 -4.8289400339126587e-01 1.4045250415802002e+00 <_> 0 -1 86 7.8027002513408661e-02 -1.0782150030136108e+00 7.4040299654006958e-01 <_> 0 -1 87 1.1899999663000926e-04 -1.2019979953765869e+00 3.7749201059341431e-01 <_> 0 -1 88 8.5056997835636139e-02 -4.3939098715782166e-01 1.2647340297698975e+00 <_> 0 -1 89 8.9720003306865692e-03 -1.8440499901771545e-01 4.5726400613784790e-01 <_> 0 -1 90 8.8120000436902046e-03 3.0396699905395508e-01 -9.5991098880767822e-01 <_> 0 -1 91 -2.3507999256253242e-02 1.2487529516220093e+00 4.6227999031543732e-02 <_> 0 -1 92 7.0039997808635235e-03 -5.9442102909088135e-01 5.3963297605514526e-01 <_> 0 -1 93 3.3851999789476395e-02 2.8496098518371582e-01 -1.4895249605178833e+00 <_> 0 -1 94 -3.2530000898987055e-03 4.8120799660682678e-01 -5.2712398767471313e-01 <_> 0 -1 95 2.9097000136971474e-02 2.6743900775909424e-01 -1.6007850170135498e+00 <_> 0 -1 96 -8.4790000692009926e-03 -1.3107639551162720e+00 1.5243099629878998e-01 <_> 0 -1 97 -1.0795000009238720e-02 4.5613598823547363e-01 -7.2050899267196655e-01 <_> 0 -1 98 -2.4620000272989273e-02 -1.7320619821548462e+00 6.8363003432750702e-02 <_> 0 -1 99 3.7380000576376915e-03 -1.9303299486637115e-01 6.8243497610092163e-01 <_> 0 -1 100 -1.2264000251889229e-02 -1.6095290184020996e+00 7.5268000364303589e-02 <_> 0 -1 101 -4.8670000396668911e-03 7.4286502599716187e-01 -2.1510200202465057e-01 <_> 0 -1 102 7.6725997030735016e-02 -2.6835098862648010e-01 1.3094140291213989e+00 <_> 0 -1 103 2.8578000143170357e-02 -5.8793000876903534e-02 1.2196329832077026e+00 <_> 0 -1 104 1.9694000482559204e-02 -3.5142898559570312e-01 8.4926998615264893e-01 <_> 0 -1 105 -2.9093999415636063e-02 -1.0507299900054932e+00 2.9806300997734070e-01 <_> 0 -1 106 -2.9144000262022018e-02 8.2547801733016968e-01 -3.2687199115753174e-01 <_> 0 -1 107 1.9741000607609749e-02 2.0452600717544556e-01 -8.3760201930999756e-01 <_> 0 -1 108 4.3299999088048935e-03 2.0577900111675262e-01 -6.6829800605773926e-01 <_> 0 -1 109 -3.5500999540090561e-02 -1.2969900369644165e+00 1.3897499442100525e-01 <_> 0 -1 110 -1.6172999516129494e-02 -1.3110569715499878e+00 7.5751997530460358e-02 <_> 0 -1 111 -2.2151000797748566e-02 -1.0524389743804932e+00 1.9241100549697876e-01 <_> 0 -1 112 -2.2707000374794006e-02 -1.3735309839248657e+00 6.6780999302864075e-02 <_> 0 -1 113 1.6607999801635742e-02 -3.7135999649763107e-02 7.7846401929855347e-01 <_> 0 -1 114 -1.3309000059962273e-02 -9.9850702285766602e-01 1.2248100340366364e-01 <_> 0 -1 115 -3.3732000738382339e-02 1.4461359977722168e+00 1.3151999562978745e-02 <_> 0 -1 116 1.6935000196099281e-02 -3.7121298909187317e-01 5.2842199802398682e-01 <_> 0 -1 117 3.3259999472647905e-03 -5.7568502426147461e-01 3.9261901378631592e-01 <_> 0 -1 118 8.3644002676010132e-02 1.6116000711917877e-02 -2.1173279285430908e+00 <_> 0 -1 119 2.5785198807716370e-01 -8.1609003245830536e-02 9.8782497644424438e-01 <_> 0 -1 120 -3.6566998809576035e-02 -1.1512110233306885e+00 9.6459001302719116e-02 <_> 0 -1 121 -1.6445999965071678e-02 3.7315499782562256e-01 -1.4585399627685547e-01 <_> 0 -1 122 -3.7519999314099550e-03 2.6179298758506775e-01 -5.8156698942184448e-01 <_> 0 -1 123 -6.3660000450909138e-03 7.5477397441864014e-01 -1.7055200040340424e-01 <_> 0 -1 124 -3.8499999791383743e-03 2.2653999924659729e-01 -6.3876402378082275e-01 <_> 0 -1 125 -4.5494001358747482e-02 -1.2640299797058105e+00 2.5260698795318604e-01 <_> 0 -1 126 -2.3941000923514366e-02 8.7068402767181396e-01 -2.7104699611663818e-01 <_> 0 -1 127 -7.7558003365993500e-02 -1.3901610374450684e+00 2.3612299561500549e-01 <_> 0 -1 128 2.3614000529050827e-02 6.6140003502368927e-02 -1.2645419836044312e+00 <_> 0 -1 129 -2.5750000495463610e-03 -5.3841698169708252e-01 3.0379098653793335e-01 <_> 0 -1 130 1.2010800093412399e-01 -3.5343000292778015e-01 5.2866202592849731e-01 <_> 0 -1 131 2.2899999748915434e-03 -5.8701997995376587e-01 2.4061000347137451e-01 <_> 0 -1 132 6.9716997444629669e-02 -3.3348900079727173e-01 5.1916301250457764e-01 <_> 0 -1 133 -4.6670001000165939e-02 6.9795399904251099e-01 -1.4895999804139137e-02 <_> 0 -1 134 -5.0129000097513199e-02 8.6146199703216553e-01 -2.5986000895500183e-01 <_> 0 -1 135 3.0147999525070190e-02 1.9332799315452576e-01 -5.9131097793579102e-01 <_> 53 -4.1299300193786621e+00 <_> 0 -1 136 9.1085001826286316e-02 -8.9233100414276123e-01 1.0434230566024780e+00 <_> 0 -1 137 1.2818999588489532e-02 -1.2597670555114746e+00 5.5317097902297974e-01 <_> 0 -1 138 1.5931999310851097e-02 -8.6254400014877319e-01 6.3731801509857178e-01 <_> 0 -1 139 2.2780001163482666e-03 -7.4639201164245605e-01 5.3155601024627686e-01 <_> 0 -1 140 3.1840998679399490e-02 -1.2650489807128906e+00 3.6153900623321533e-01 <_> 0 -1 141 2.6960000395774841e-03 -9.8290401697158813e-01 3.6013001203536987e-01 <_> 0 -1 142 -1.2055000290274620e-02 6.4068400859832764e-01 -5.0125002861022949e-01 <_> 0 -1 143 2.1324999630451202e-02 -2.4034999310970306e-01 8.5448002815246582e-01 <_> 0 -1 144 3.0486000701785088e-02 -3.4273600578308105e-01 1.1428849697113037e+00 <_> 0 -1 145 -4.5079998672008514e-02 1.0976949930191040e+00 -1.7974600195884705e-01 <_> 0 -1 146 -7.1700997650623322e-02 1.5735000371932983e+00 -3.1433498859405518e-01 <_> 0 -1 147 5.9218000620603561e-02 -2.7582401037216187e-01 1.0448570251464844e+00 <_> 0 -1 148 6.7010000348091125e-03 -1.0974019765853882e+00 1.9801199436187744e-01 <_> 0 -1 149 4.1046999394893646e-02 3.0547699332237244e-01 -1.3287999629974365e+00 <_> 0 -1 150 -8.5499999113380909e-04 2.5807100534439087e-01 -7.0052897930145264e-01 <_> 0 -1 151 -3.0360000208020210e-02 -1.2306419610977173e+00 2.2609399259090424e-01 <_> 0 -1 152 -1.2930000200867653e-02 4.0758600831031799e-01 -5.1234501600265503e-01 <_> 0 -1 153 3.7367999553680420e-02 -9.4755001366138458e-02 6.1765098571777344e-01 <_> 0 -1 154 2.4434000253677368e-02 -4.1100600361824036e-01 4.7630500793457031e-01 <_> 0 -1 155 5.7007998228073120e-02 2.5249299407005310e-01 -6.8669801950454712e-01 <_> 0 -1 156 -1.6313999891281128e-02 -9.3928402662277222e-01 1.1448100209236145e-01 <_> 0 -1 157 -1.7648899555206299e-01 1.2451089620590210e+00 -5.6519001722335815e-02 <_> 0 -1 158 1.7614600062370300e-01 -3.2528200745582581e-01 8.2791501283645630e-01 <_> 0 -1 159 -7.3910001665353775e-03 3.4783700108528137e-01 -1.7929099500179291e-01 <_> 0 -1 160 6.0890998691320419e-02 5.5098000913858414e-02 -1.5480779409408569e+00 <_> 0 -1 161 -2.9123000800609589e-02 -1.0255639553070068e+00 2.4106900393962860e-01 <_> 0 -1 162 -4.5648999512195587e-02 1.0301599502563477e+00 -3.1672099232673645e-01 <_> 0 -1 163 3.7333000451326370e-02 2.1620599925518036e-01 -8.2589900493621826e-01 <_> 0 -1 164 -2.4411000311374664e-02 -1.5957959890365601e+00 5.1139000803232193e-02 <_> 0 -1 165 -5.9806998819112778e-02 -1.0312290191650391e+00 1.3092300295829773e-01 <_> 0 -1 166 -3.0106000602245331e-02 -1.4781630039215088e+00 3.7211999297142029e-02 <_> 0 -1 167 7.4209999293088913e-03 -2.4024100601673126e-01 4.9333998560905457e-01 <_> 0 -1 168 -2.1909999195486307e-03 2.8941500186920166e-01 -5.7259601354598999e-01 <_> 0 -1 169 2.0860999822616577e-02 -2.3148399591445923e-01 6.3765901327133179e-01 <_> 0 -1 170 -6.6990000195801258e-03 -1.2107750177383423e+00 6.4018003642559052e-02 <_> 0 -1 171 1.8758000805974007e-02 2.4461300671100616e-01 -9.9786698818206787e-01 <_> 0 -1 172 -4.4323001056909561e-02 -1.3699189424514771e+00 3.6051999777555466e-02 <_> 0 -1 173 2.2859999909996986e-02 2.1288399398326874e-01 -1.0397620201110840e+00 <_> 0 -1 174 -9.8600005730986595e-04 3.2443600893020630e-01 -5.4291802644729614e-01 <_> 0 -1 175 1.7239000648260117e-02 -2.8323900699615479e-01 4.4468200206756592e-01 <_> 0 -1 176 -3.4531001001596451e-02 -2.3107020854949951e+00 -3.1399999279528856e-03 <_> 0 -1 177 6.7006997764110565e-02 2.8715699911117554e-01 -6.4481002092361450e-01 <_> 0 -1 178 2.3776899278163910e-01 -2.7174800634384155e-01 8.0219101905822754e-01 <_> 0 -1 179 -1.2903000228106976e-02 -1.5317620038986206e+00 2.1423600614070892e-01 <_> 0 -1 180 1.0514999739825726e-02 7.7037997543811798e-02 -1.0581140518188477e+00 <_> 0 -1 181 1.6969000920653343e-02 1.4306700229644775e-01 -8.5828399658203125e-01 <_> 0 -1 182 -7.2460002265870571e-03 -1.1020129919052124e+00 6.4906999468803406e-02 <_> 0 -1 183 1.0556999593973160e-02 1.3964000158011913e-02 6.3601499795913696e-01 <_> 0 -1 184 6.1380001716315746e-03 -3.4545901417732239e-01 5.6296801567077637e-01 <_> 0 -1 185 1.3158000074326992e-02 1.9927300512790680e-01 -1.5040320158004761e+00 <_> 0 -1 186 3.1310000922530890e-03 -4.0903699398040771e-01 3.7796398997306824e-01 <_> 0 -1 187 -1.0920699685811996e-01 -2.2227079868316650e+00 1.2178199738264084e-01 <_> 0 -1 188 8.1820003688335419e-03 -2.8652000427246094e-01 6.7890799045562744e-01 <_> 62 -4.0218091011047363e+00 <_> 0 -1 189 3.1346999108791351e-02 -8.8884598016738892e-01 9.4936800003051758e-01 <_> 0 -1 190 3.1918000429868698e-02 -1.1146880388259888e+00 4.8888999223709106e-01 <_> 0 -1 191 6.5939999185502529e-03 -1.0097689628601074e+00 4.9723801016807556e-01 <_> 0 -1 192 2.6148000732064247e-02 2.5991299748420715e-01 -1.2537480592727661e+00 <_> 0 -1 193 1.2845000252127647e-02 -5.7138597965240479e-01 5.9659498929977417e-01 <_> 0 -1 194 2.6344999670982361e-02 -5.5203199386596680e-01 3.0217400193214417e-01 <_> 0 -1 195 -1.5083000063896179e-02 -1.2871240377426147e+00 2.2354200482368469e-01 <_> 0 -1 196 -3.8887001574039459e-02 1.7425049543380737e+00 -9.9747002124786377e-02 <_> 0 -1 197 -5.7029998861253262e-03 -1.0523240566253662e+00 1.8362599611282349e-01 <_> 0 -1 198 -1.4860000228509307e-03 5.6784200668334961e-01 -4.6742001175880432e-01 <_> 0 -1 199 -2.8486000373959541e-02 1.3082909584045410e+00 -2.6460900902748108e-01 <_> 0 -1 200 6.6224999725818634e-02 -4.6210700273513794e-01 4.1749599575996399e-01 <_> 0 -1 201 8.8569996878504753e-03 -4.1474899649620056e-01 5.9204798936843872e-01 <_> 0 -1 202 1.1355999857187271e-02 3.6103099584579468e-01 -4.5781201124191284e-01 <_> 0 -1 203 -2.7679998893290758e-03 -8.9238899946212769e-01 1.4199000597000122e-01 <_> 0 -1 204 1.1246999725699425e-02 2.9353401064872742e-01 -9.7330600023269653e-01 <_> 0 -1 205 7.1970000863075256e-03 -7.9334902763366699e-01 1.8313400447368622e-01 <_> 0 -1 206 3.1768999993801117e-02 1.5523099899291992e-01 -1.3245639801025391e+00 <_> 0 -1 207 2.5173999369144440e-02 3.4214999526739120e-02 -2.0948131084442139e+00 <_> 0 -1 208 7.5360001064836979e-03 -3.9450600743293762e-01 5.1333999633789062e-01 <_> 0 -1 209 3.2873000949621201e-02 8.8372997939586639e-02 -1.2814120054244995e+00 <_> 0 -1 210 -2.7379998937249184e-03 5.5286502838134766e-01 -4.6384999155998230e-01 <_> 0 -1 211 -3.8075000047683716e-02 -1.8497270345687866e+00 4.5944001525640488e-02 <_> 0 -1 212 -3.8984000682830811e-02 -4.8223701119422913e-01 3.4760600328445435e-01 <_> 0 -1 213 2.8029999230057001e-03 -4.5154699683189392e-01 4.2806300520896912e-01 <_> 0 -1 214 -5.4145999252796173e-02 -8.4520798921585083e-01 1.6674900054931641e-01 <_> 0 -1 215 -8.3280000835657120e-03 3.5348299145698547e-01 -4.7163200378417969e-01 <_> 0 -1 216 3.3778000622987747e-02 1.8463100492954254e-01 -1.6686669588088989e+00 <_> 0 -1 217 -1.1238099634647369e-01 -1.2521569728851318e+00 3.5992000252008438e-02 <_> 0 -1 218 -1.0408000089228153e-02 -8.1620401144027710e-01 2.3428599536418915e-01 <_> 0 -1 219 -4.9439999274909496e-03 -9.2584699392318726e-01 1.0034800320863724e-01 <_> 0 -1 220 -9.3029998242855072e-03 5.6499302387237549e-01 -1.8881900608539581e-01 <_> 0 -1 221 -1.1749999597668648e-02 8.0302399396896362e-01 -3.8277000188827515e-01 <_> 0 -1 222 -2.3217000067234039e-02 -8.4926998615264893e-01 1.9671200215816498e-01 <_> 0 -1 223 1.6866000369191170e-02 -4.0591898560523987e-01 5.0695300102233887e-01 <_> 0 -1 224 -2.4031000211834908e-02 -1.5297520160675049e+00 2.3344999551773071e-01 <_> 0 -1 225 -3.6945998668670654e-02 6.3007700443267822e-01 -3.1780400872230530e-01 <_> 0 -1 226 -6.1563998460769653e-02 5.8627897500991821e-01 -1.2107999995350838e-02 <_> 0 -1 227 2.1661000326275826e-02 -2.5623700022697449e-01 1.0409849882125854e+00 <_> 0 -1 228 -3.6710000131279230e-03 2.9171100258827209e-01 -8.3287298679351807e-01 <_> 0 -1 229 4.4849000871181488e-02 -3.9633199572563171e-01 4.5662000775337219e-01 <_> 0 -1 230 5.7195000350475311e-02 2.1023899316787720e-01 -1.5004800558090210e+00 <_> 0 -1 231 -1.1342000216245651e-02 4.4071298837661743e-01 -3.8653799891471863e-01 <_> 0 -1 232 -1.2004000134766102e-02 9.3954598903656006e-01 -1.0589499771595001e-01 <_> 0 -1 233 2.2515999153256416e-02 9.4480002298951149e-03 -1.6799509525299072e+00 <_> 0 -1 234 -1.9809000194072723e-02 -1.0133639574050903e+00 2.4146600067615509e-01 <_> 0 -1 235 1.5891000628471375e-02 -3.7507599592208862e-01 4.6614098548889160e-01 <_> 0 -1 236 -9.1420002281665802e-03 -8.0484098196029663e-01 1.7816999554634094e-01 <_> 0 -1 237 -4.4740000739693642e-03 -1.0562069416046143e+00 7.3305003345012665e-02 <_> 0 -1 238 1.2742500007152557e-01 2.0165599882602692e-01 -1.5467929840087891e+00 <_> 0 -1 239 4.7703001648187637e-02 -3.7937799096107483e-01 3.7885999679565430e-01 <_> 0 -1 240 5.3608000278472900e-02 2.1220499277114868e-01 -1.2399710416793823e+00 <_> 0 -1 241 -3.9680998772382736e-02 -1.0257550477981567e+00 5.1282998174428940e-02 <_> 0 -1 242 -6.7327000200748444e-02 -1.0304750204086304e+00 2.3005299270153046e-01 <_> 0 -1 243 1.3337600231170654e-01 -2.0869000256061554e-01 1.2272510528564453e+00 <_> 0 -1 244 -2.0919300615787506e-01 8.7929898500442505e-01 -4.4254999607801437e-02 <_> 0 -1 245 -6.5589003264904022e-02 1.0443429946899414e+00 -2.1682099997997284e-01 <_> 0 -1 246 6.1882998794317245e-02 1.3798199594020844e-01 -1.9009059667587280e+00 <_> 0 -1 247 -2.5578999891877174e-02 -1.6607600450515747e+00 5.8439997956156731e-03 <_> 0 -1 248 -3.4827001392841339e-02 7.9940402507781982e-01 -8.2406997680664062e-02 <_> 0 -1 249 -1.8209999427199364e-02 -9.6073997020721436e-01 6.6320002079010010e-02 <_> 0 -1 250 1.5070999972522259e-02 1.9899399578571320e-01 -7.6433002948760986e-01 <_> 72 -3.8832089900970459e+00 <_> 0 -1 251 4.6324998140335083e-02 -1.0362670421600342e+00 8.2201498746871948e-01 <_> 0 -1 252 1.5406999737024307e-02 -1.2327589988708496e+00 2.9647698998451233e-01 <_> 0 -1 253 1.2808999978005886e-02 -7.5852298736572266e-01 5.7985502481460571e-01 <_> 0 -1 254 4.9150999635457993e-02 -3.8983899354934692e-01 8.9680302143096924e-01 <_> 0 -1 255 1.2621000409126282e-02 -7.1799302101135254e-01 5.0440901517868042e-01 <_> 0 -1 256 -1.8768999725580215e-02 5.5147600173950195e-01 -7.0555400848388672e-01 <_> 0 -1 257 4.1965000331401825e-02 -4.4782099127769470e-01 7.0985502004623413e-01 <_> 0 -1 258 -5.1401998847723007e-02 -1.0932120084762573e+00 2.6701900362968445e-01 <_> 0 -1 259 -7.0960998535156250e-02 8.3618402481079102e-01 -3.8318100571632385e-01 <_> 0 -1 260 1.6745999455451965e-02 -2.5733101367950439e-01 2.5966501235961914e-01 <_> 0 -1 261 -6.2400000169873238e-03 3.1631499528884888e-01 -5.8796900510787964e-01 <_> 0 -1 262 -3.9397999644279480e-02 -1.0491210222244263e+00 1.6822400689125061e-01 <_> 0 -1 263 0. 1.6144199669361115e-01 -8.7876898050308228e-01 <_> 0 -1 264 -2.2307999432086945e-02 -6.9053500890731812e-01 2.3607000708580017e-01 <_> 0 -1 265 1.8919999711215496e-03 2.4989199638366699e-01 -5.6583297252655029e-01 <_> 0 -1 266 1.0730000212788582e-03 -5.0415802001953125e-01 3.8374501466751099e-01 <_> 0 -1 267 3.9230998605489731e-02 4.2619001120328903e-02 -1.3875889778137207e+00 <_> 0 -1 268 6.2238000333309174e-02 1.4119400084018707e-01 -1.0688860416412354e+00 <_> 0 -1 269 2.1399999968707561e-03 -8.9622402191162109e-01 1.9796399772167206e-01 <_> 0 -1 270 9.1800000518560410e-04 -4.5337298512458801e-01 4.3532699346542358e-01 <_> 0 -1 271 -6.9169998168945312e-03 3.3822798728942871e-01 -4.4793000817298889e-01 <_> 0 -1 272 -2.3866999894380569e-02 -7.8908598423004150e-01 2.2511799633502960e-01 <_> 0 -1 273 -1.0262800008058548e-01 -2.2831439971923828e+00 -5.3960001096129417e-03 <_> 0 -1 274 -9.5239998772740364e-03 3.9346700906753540e-01 -5.2242201566696167e-01 <_> 0 -1 275 3.9877001196146011e-02 3.2799001783132553e-02 -1.5079489946365356e+00 <_> 0 -1 276 -1.3144999742507935e-02 -1.0839990377426147e+00 1.8482400476932526e-01 <_> 0 -1 277 -5.0590999424457550e-02 -1.8822289705276489e+00 -2.2199999075382948e-03 <_> 0 -1 278 2.4917000904679298e-02 1.4593400061130524e-01 -2.2196519374847412e+00 <_> 0 -1 279 -7.6370001770555973e-03 -1.0164569616317749e+00 5.8797001838684082e-02 <_> 0 -1 280 4.2911998927593231e-02 1.5443000197410583e-01 -1.1843889951705933e+00 <_> 0 -1 281 2.3000000510364771e-04 -7.7305799722671509e-01 1.2189900130033493e-01 <_> 0 -1 282 9.0929996222257614e-03 -1.1450099945068359e-01 7.1091300249099731e-01 <_> 0 -1 283 1.1145000346004963e-02 7.0000998675823212e-02 -1.0534820556640625e+00 <_> 0 -1 284 -5.2453000098466873e-02 -1.7594360113143921e+00 1.9523799419403076e-01 <_> 0 -1 285 -2.3020699620246887e-01 9.5840299129486084e-01 -2.5045698881149292e-01 <_> 0 -1 286 -1.6365999355912209e-02 4.6731901168823242e-01 -2.1108399331569672e-01 <_> 0 -1 287 -1.7208000645041466e-02 7.0835697650909424e-01 -2.8018298745155334e-01 <_> 0 -1 288 -3.6648001521825790e-02 -1.1013339757919312e+00 2.4341100454330444e-01 <_> 0 -1 289 -1.0304999537765980e-02 -1.0933129787445068e+00 5.6258998811244965e-02 <_> 0 -1 290 -1.3713000342249870e-02 -2.6438099145889282e-01 1.9821000099182129e-01 <_> 0 -1 291 2.9308000579476357e-02 -2.2142399847507477e-01 1.0525950193405151e+00 <_> 0 -1 292 2.4077000096440315e-02 1.8485699594020844e-01 -1.7203969955444336e+00 <_> 0 -1 293 6.1280000954866409e-03 -9.2721498012542725e-01 5.8752998709678650e-02 <_> 0 -1 294 -2.2377999499440193e-02 1.9646559953689575e+00 2.7785999700427055e-02 <_> 0 -1 295 -7.0440000854432583e-03 2.1427600085735321e-01 -4.8407599329948425e-01 <_> 0 -1 296 -4.0603000670671463e-02 -1.1754349470138550e+00 1.6061200201511383e-01 <_> 0 -1 297 -2.4466000497341156e-02 -1.1239900588989258e+00 4.1110001504421234e-02 <_> 0 -1 298 2.5309999473392963e-03 -1.7169700562953949e-01 3.2178801298141479e-01 <_> 0 -1 299 -1.9588999450206757e-02 8.2720202207565308e-01 -2.6376700401306152e-01 <_> 0 -1 300 -2.9635999351739883e-02 -1.1524770259857178e+00 1.4999300241470337e-01 <_> 0 -1 301 -1.5030000358819962e-02 -1.0491830110549927e+00 4.0160998702049255e-02 <_> 0 -1 302 -6.0715001076459885e-02 -1.0903840065002441e+00 1.5330800414085388e-01 <_> 0 -1 303 -1.2790000066161156e-02 4.2248600721359253e-01 -4.2399200797080994e-01 <_> 0 -1 304 -2.0247999578714371e-02 -9.1866999864578247e-01 1.8485699594020844e-01 <_> 0 -1 305 -3.0683999881148338e-02 -1.5958670377731323e+00 2.5760000571608543e-03 <_> 0 -1 306 -2.0718000829219818e-02 -6.6299998760223389e-01 3.1037199497222900e-01 <_> 0 -1 307 -1.7290000105276704e-03 1.9183400273323059e-01 -6.5084999799728394e-01 <_> 0 -1 308 -3.1394001096487045e-02 -6.3643002510070801e-01 1.5408399701118469e-01 <_> 0 -1 309 1.9003000110387802e-02 -1.8919399380683899e-01 1.5294510126113892e+00 <_> 0 -1 310 6.1769997701048851e-03 -1.0597900301218033e-01 6.4859598875045776e-01 <_> 0 -1 311 -1.0165999643504620e-02 -1.0802700519561768e+00 3.7176001816987991e-02 <_> 0 -1 312 -1.4169999631121755e-03 3.4157499670982361e-01 -9.7737997770309448e-02 <_> 0 -1 313 -4.0799998678267002e-03 4.7624599933624268e-01 -3.4366300702095032e-01 <_> 0 -1 314 -4.4096998870372772e-02 9.7634297609329224e-01 -1.9173000007867813e-02 <_> 0 -1 315 -6.0669999569654465e-02 -2.1752851009368896e+00 -2.8925999999046326e-02 <_> 0 -1 316 -3.2931998372077942e-02 -6.4383101463317871e-01 1.6494099795818329e-01 <_> 0 -1 317 -1.4722800254821777e-01 -1.4745830297470093e+00 2.5839998852461576e-03 <_> 0 -1 318 -1.1930000036954880e-02 4.2441400885581970e-01 -1.7712600529193878e-01 <_> 0 -1 319 1.4517900347709656e-01 2.5444999337196350e-02 -1.2779400348663330e+00 <_> 0 -1 320 5.1447998732328415e-02 1.5678399801254272e-01 -1.5188430547714233e+00 <_> 0 -1 321 3.1479999888688326e-03 -4.0424400568008423e-01 3.2429701089859009e-01 <_> 0 -1 322 -4.3600000441074371e-02 -1.9932260513305664e+00 1.5018600225448608e-01 <_> 83 -3.8424909114837646e+00 <_> 0 -1 323 1.2899599969387054e-01 -6.2161999940872192e-01 1.1116520166397095e+00 <_> 0 -1 324 -9.1261997818946838e-02 1.0143059492111206e+00 -6.1335200071334839e-01 <_> 0 -1 325 1.4271999709308147e-02 -1.0261659622192383e+00 3.9779999852180481e-01 <_> 0 -1 326 3.2889999449253082e-02 -1.1386079788208008e+00 2.8690800070762634e-01 <_> 0 -1 327 1.2590000405907631e-02 -5.6645601987838745e-01 4.5172399282455444e-01 <_> 0 -1 328 1.4661000110208988e-02 3.0505999922752380e-01 -6.8129599094390869e-01 <_> 0 -1 329 -3.3555999398231506e-02 -1.7208939790725708e+00 6.1439000070095062e-02 <_> 0 -1 330 1.4252699911594391e-01 2.3192200064659119e-01 -1.7297149896621704e+00 <_> 0 -1 331 -6.2079997733235359e-03 -1.2163300514221191e+00 1.2160199880599976e-01 <_> 0 -1 332 1.8178999423980713e-02 3.2553699612617493e-01 -8.1003999710083008e-01 <_> 0 -1 333 2.5036999955773354e-02 -3.1698799133300781e-01 6.7361402511596680e-01 <_> 0 -1 334 4.6560999006032944e-02 -1.1089800298213959e-01 8.4082502126693726e-01 <_> 0 -1 335 -8.9999996125698090e-03 3.9574500918388367e-01 -4.7624599933624268e-01 <_> 0 -1 336 4.0805999189615250e-02 -1.8000000272877514e-04 9.4570702314376831e-01 <_> 0 -1 337 -3.4221999347209930e-02 7.5206297636032104e-01 -3.1531500816345215e-01 <_> 0 -1 338 -3.9716001600027084e-02 -8.3139598369598389e-01 1.7744399607181549e-01 <_> 0 -1 339 2.5170000735670328e-03 -5.9377998113632202e-01 2.4657000601291656e-01 <_> 0 -1 340 2.7428999543190002e-02 1.5998399257659912e-01 -4.2781999707221985e-01 <_> 0 -1 341 3.4986000508069992e-02 3.5055998712778091e-02 -1.5988600254058838e+00 <_> 0 -1 342 4.4970000162720680e-03 -5.2034300565719604e-01 3.7828299403190613e-01 <_> 0 -1 343 2.7699999045580626e-03 -5.3182601928710938e-01 2.4951000511646271e-01 <_> 0 -1 344 3.5174001008272171e-02 1.9983400404453278e-01 -1.4446129798889160e+00 <_> 0 -1 345 2.5970999151468277e-02 4.4426999986171722e-02 -1.3622980117797852e+00 <_> 0 -1 346 -1.5783999115228653e-02 -9.1020399332046509e-01 2.7190300822257996e-01 <_> 0 -1 347 -7.5880000367760658e-03 9.2064999043941498e-02 -8.1628900766372681e-01 <_> 0 -1 348 2.0754000172019005e-02 2.1185700595378876e-01 -7.4729001522064209e-01 <_> 0 -1 349 5.9829000383615494e-02 -2.7301099896430969e-01 8.0923300981521606e-01 <_> 0 -1 350 3.9039000868797302e-02 -1.0432299971580505e-01 8.6226201057434082e-01 <_> 0 -1 351 2.1665999665856361e-02 6.2709003686904907e-02 -9.8894298076629639e-01 <_> 0 -1 352 -2.7496999129652977e-02 -9.2690998315811157e-01 1.5586300194263458e-01 <_> 0 -1 353 1.0462000034749508e-02 1.3418099284172058e-01 -7.0386397838592529e-01 <_> 0 -1 354 2.4870999157428741e-02 1.9706700742244720e-01 -4.0263301134109497e-01 <_> 0 -1 355 -1.6036000102758408e-02 -1.1409829854965210e+00 7.3997996747493744e-02 <_> 0 -1 356 4.8627000302076340e-02 1.6990399360656738e-01 -7.2152197360992432e-01 <_> 0 -1 357 1.2619999470189214e-03 -4.7389799356460571e-01 2.6254999637603760e-01 <_> 0 -1 358 -8.8035002350807190e-02 -2.1606519222259521e+00 1.4554800093173981e-01 <_> 0 -1 359 1.8356999382376671e-02 4.4750999659299850e-02 -1.0766370296478271e+00 <_> 0 -1 360 3.5275001078844070e-02 -3.2919000834226608e-02 1.2153890132904053e+00 <_> 0 -1 361 -2.0392900705337524e-01 -1.3187999725341797e+00 1.5503999777138233e-02 <_> 0 -1 362 -1.6619000583887100e-02 3.6850199103355408e-01 -1.5283699333667755e-01 <_> 0 -1 363 3.7739001214504242e-02 -2.5727799534797668e-01 7.0655298233032227e-01 <_> 0 -1 364 2.2720000706613064e-03 -7.7602997422218323e-02 3.3367800712585449e-01 <_> 0 -1 365 -1.4802999794483185e-02 -7.8524798154830933e-01 7.6934002339839935e-02 <_> 0 -1 366 -4.8319000750780106e-02 1.7022320032119751e+00 4.9722000956535339e-02 <_> 0 -1 367 -2.9539000242948532e-02 7.7670699357986450e-01 -2.4534299969673157e-01 <_> 0 -1 368 -4.6169001609086990e-02 -1.4922779798507690e+00 1.2340000271797180e-01 <_> 0 -1 369 -2.8064999729394913e-02 -2.1345369815826416e+00 -2.5797000154852867e-02 <_> 0 -1 370 -5.7339998893439770e-03 5.6982600688934326e-01 -1.2056600302457809e-01 <_> 0 -1 371 -1.0111000388860703e-02 6.7911398410797119e-01 -2.6638001203536987e-01 <_> 0 -1 372 1.1359999887645245e-02 2.4789799749851227e-01 -6.4493000507354736e-01 <_> 0 -1 373 5.1809001713991165e-02 1.4716000296175480e-02 -1.2395579814910889e+00 <_> 0 -1 374 3.3291999250650406e-02 -8.2559995353221893e-03 1.0168470144271851e+00 <_> 0 -1 375 -1.4494000002741814e-02 4.5066800713539124e-01 -3.6250999569892883e-01 <_> 0 -1 376 -3.4221999347209930e-02 -9.5292502641677856e-01 2.0684599876403809e-01 <_> 0 -1 377 -8.0654002726078033e-02 -2.0139501094818115e+00 -2.3084999993443489e-02 <_> 0 -1 378 -8.9399999706074595e-04 3.9572000503540039e-01 -2.9351300001144409e-01 <_> 0 -1 379 9.7162000834941864e-02 -2.4980300664901733e-01 1.0859220027923584e+00 <_> 0 -1 380 3.6614000797271729e-02 -5.7844001799821854e-02 1.2162159681320190e+00 <_> 0 -1 381 5.1693998277187347e-02 4.3062999844551086e-02 -1.0636160373687744e+00 <_> 0 -1 382 -2.4557000026106834e-02 -4.8946800827980042e-01 1.7182900011539459e-01 <_> 0 -1 383 3.2736799120903015e-01 -2.9688599705696106e-01 5.1798301935195923e-01 <_> 0 -1 384 7.6959999278187752e-03 -5.9805899858474731e-01 2.4803200364112854e-01 <_> 0 -1 385 1.6172200441360474e-01 -2.9613999649882317e-02 -2.3162529468536377e+00 <_> 0 -1 386 -4.7889999113976955e-03 3.7457901239395142e-01 -3.2779198884963989e-01 <_> 0 -1 387 -1.8402999266982079e-02 -9.9692702293395996e-01 7.2948001325130463e-02 <_> 0 -1 388 7.7665001153945923e-02 1.4175699651241302e-01 -1.7238730192184448e+00 <_> 0 -1 389 1.8921000882983208e-02 -2.1273100376129150e-01 1.0165189504623413e+00 <_> 0 -1 390 -7.9397998750209808e-02 -1.3164349794387817e+00 1.4981999993324280e-01 <_> 0 -1 391 -6.8037003278732300e-02 4.9421998858451843e-01 -2.9091000556945801e-01 <_> 0 -1 392 -6.1010001227259636e-03 4.2430499196052551e-01 -3.3899301290512085e-01 <_> 0 -1 393 3.1927000731229782e-02 -3.1046999618411064e-02 -2.3459999561309814e+00 <_> 0 -1 394 -2.9843999072909355e-02 -7.8989601135253906e-01 1.5417699515819550e-01 <_> 0 -1 395 -8.0541998147964478e-02 -2.2509229183197021e+00 -3.0906999483704567e-02 <_> 0 -1 396 3.8109999150037766e-03 -2.5577300786972046e-01 2.3785500228404999e-01 <_> 0 -1 397 3.3647000789642334e-02 -2.2541399300098419e-01 9.2307400703430176e-01 <_> 0 -1 398 8.2809999585151672e-03 -2.8896200656890869e-01 3.1046199798583984e-01 <_> 0 -1 399 1.0104399919509888e-01 -3.4864000976085663e-02 -2.7102620601654053e+00 <_> 0 -1 400 -1.0009000077843666e-02 5.9715402126312256e-01 -3.3831000328063965e-02 <_> 0 -1 401 7.1919998154044151e-03 -4.7738000750541687e-01 2.2686000168323517e-01 <_> 0 -1 402 2.4969000369310379e-02 2.2877700626850128e-01 -1.0435529947280884e+00 <_> 0 -1 403 2.7908000349998474e-01 -2.5818100571632385e-01 7.6780498027801514e-01 <_> 0 -1 404 -4.4213000684976578e-02 -5.9798002243041992e-01 2.8039899468421936e-01 <_> 0 -1 405 -1.4136999845504761e-02 7.0987302064895630e-01 -2.5645199418067932e-01 <_> 91 -3.6478610038757324e+00 <_> 0 -1 406 1.3771200180053711e-01 -5.5870598554611206e-01 1.0953769683837891e+00 <_> 0 -1 407 3.4460999071598053e-02 -7.1171897649765015e-01 5.2899599075317383e-01 <_> 0 -1 408 1.8580000847578049e-02 -1.1157519817352295e+00 4.0593999624252319e-01 <_> 0 -1 409 2.5041999295353889e-02 -4.0892499685287476e-01 7.4129998683929443e-01 <_> 0 -1 410 5.7179000228643417e-02 -3.8054299354553223e-01 7.3647701740264893e-01 <_> 0 -1 411 1.4932000078260899e-02 -6.9945502281188965e-01 3.7950998544692993e-01 <_> 0 -1 412 8.8900001719594002e-03 -5.4558598995208740e-01 3.6332499980926514e-01 <_> 0 -1 413 3.0435999855399132e-02 -1.0124599933624268e-01 7.9585897922515869e-01 <_> 0 -1 414 -4.4160000979900360e-02 8.4410899877548218e-01 -3.2976400852203369e-01 <_> 0 -1 415 1.8461000174283981e-02 2.6326599717140198e-01 -9.6736502647399902e-01 <_> 0 -1 416 1.0614999569952488e-02 1.5251900255680084e-01 -1.0589870214462280e+00 <_> 0 -1 417 -4.5974001288414001e-02 -1.9918340444564819e+00 1.3629099726676941e-01 <_> 0 -1 418 8.2900002598762512e-02 -3.2037198543548584e-01 6.0304200649261475e-01 <_> 0 -1 419 -8.9130001142621040e-03 5.9586602449417114e-01 -2.1139599382877350e-01 <_> 0 -1 420 4.2814001441001892e-02 2.2925000637769699e-02 -1.4679330587387085e+00 <_> 0 -1 421 -8.7139997631311417e-03 -4.3989500403404236e-01 2.0439699292182922e-01 <_> 0 -1 422 -4.3390002101659775e-03 -8.9066797494888306e-01 1.0469999909400940e-01 <_> 0 -1 423 8.0749997869133949e-03 2.1164199709892273e-01 -4.0231600403785706e-01 <_> 0 -1 424 9.6739001572132111e-02 1.3319999910891056e-02 -1.6085360050201416e+00 <_> 0 -1 425 -3.0536999925971031e-02 1.0063740015029907e+00 -1.3413299620151520e-01 <_> 0 -1 426 -6.0855999588966370e-02 -1.4689979553222656e+00 9.4240000471472740e-03 <_> 0 -1 427 -3.8162000477313995e-02 -8.1636399030685425e-01 2.6171201467514038e-01 <_> 0 -1 428 -9.6960002556443214e-03 1.1561699956655502e-01 -7.1693199872970581e-01 <_> 0 -1 429 4.8902999609708786e-02 1.3050499558448792e-01 -1.6448370218276978e+00 <_> 0 -1 430 -4.1611999273300171e-02 -1.1795840263366699e+00 2.5017000734806061e-02 <_> 0 -1 431 -2.0188000053167343e-02 6.3188201189041138e-01 -1.0490400344133377e-01 <_> 0 -1 432 -9.7900000400841236e-04 1.8507799506187439e-01 -5.3565901517868042e-01 <_> 0 -1 433 -3.3622000366449356e-02 -9.3127602338790894e-01 2.0071500539779663e-01 <_> 0 -1 434 1.9455999135971069e-02 3.8029000163078308e-02 -1.0112210512161255e+00 <_> 0 -1 435 -3.1800000579096377e-04 3.6457699537277222e-01 -2.7610900998115540e-01 <_> 0 -1 436 -3.8899999344721437e-04 1.9665899872779846e-01 -5.3410500288009644e-01 <_> 0 -1 437 -9.3496002256870270e-02 -1.6772350072860718e+00 2.0727099478244781e-01 <_> 0 -1 438 -7.7877998352050781e-02 -3.0760629177093506e+00 -3.5803999751806259e-02 <_> 0 -1 439 1.6947999596595764e-02 2.1447399258613586e-01 -7.1376299858093262e-01 <_> 0 -1 440 -2.1459000185132027e-02 -1.1468060016632080e+00 1.5855999663472176e-02 <_> 0 -1 441 -1.2865999713540077e-02 8.3812397718429565e-01 -6.5944001078605652e-02 <_> 0 -1 442 7.8220004215836525e-03 -2.8026801347732544e-01 7.9376900196075439e-01 <_> 0 -1 443 1.0294400155544281e-01 1.7832300066947937e-01 -6.8412202596664429e-01 <_> 0 -1 444 -3.7487998604774475e-02 9.6189999580383301e-01 -2.1735599637031555e-01 <_> 0 -1 445 2.5505999103188515e-02 1.0103999637067318e-02 1.2461110353469849e+00 <_> 0 -1 446 6.6700001480057836e-04 -5.3488200902938843e-01 1.4746299386024475e-01 <_> 0 -1 447 -2.8867900371551514e-01 8.2172799110412598e-01 -1.4948000200092793e-02 <_> 0 -1 448 9.1294996440410614e-02 -1.9605399668216705e-01 1.0803170204162598e+00 <_> 0 -1 449 1.2056600302457809e-01 -2.3848999291658401e-02 1.1392610073089600e+00 <_> 0 -1 450 -7.3775000870227814e-02 -1.3583840131759644e+00 -4.2039998807013035e-03 <_> 0 -1 451 -3.3128000795841217e-02 -6.4483201503753662e-01 2.4142199754714966e-01 <_> 0 -1 452 -4.3937001377344131e-02 8.4285402297973633e-01 -2.0624800026416779e-01 <_> 0 -1 453 1.8110199272632599e-01 1.9212099909782410e-01 -1.2222139835357666e+00 <_> 0 -1 454 -1.1850999668240547e-02 -7.2677397727966309e-01 5.2687998861074448e-02 <_> 0 -1 455 4.5920000411570072e-03 -3.6305201053619385e-01 2.9223799705505371e-01 <_> 0 -1 456 7.0620002225041389e-03 5.8116000145673752e-02 -6.7161601781845093e-01 <_> 0 -1 457 -2.3715000599622726e-02 4.7142100334167480e-01 1.8580000847578049e-02 <_> 0 -1 458 -6.7171998322010040e-02 -1.1331889629364014e+00 2.3780999705195427e-02 <_> 0 -1 459 -6.5310001373291016e-02 9.8253500461578369e-01 2.8362000361084938e-02 <_> 0 -1 460 2.2791000083088875e-02 -2.8213700652122498e-01 5.8993399143218994e-01 <_> 0 -1 461 -1.9037999212741852e-02 -6.3711500167846680e-01 2.6514598727226257e-01 <_> 0 -1 462 -6.8689999170601368e-03 3.7487301230430603e-01 -3.3232098817825317e-01 <_> 0 -1 463 -4.0146000683307648e-02 -1.3048729896545410e+00 1.5724299848079681e-01 <_> 0 -1 464 -4.0530998259782791e-02 -2.0458049774169922e+00 -2.6925999671220779e-02 <_> 0 -1 465 -1.2253999710083008e-02 7.7649402618408203e-01 -4.2971000075340271e-02 <_> 0 -1 466 -2.7219999581575394e-02 1.7424400150775909e-01 -4.4600901007652283e-01 <_> 0 -1 467 -8.8366001844406128e-02 -1.5036419630050659e+00 1.4289900660514832e-01 <_> 0 -1 468 -7.9159997403621674e-03 2.8666698932647705e-01 -3.7923699617385864e-01 <_> 0 -1 469 -4.1960000991821289e-02 1.3846950531005859e+00 6.5026998519897461e-02 <_> 0 -1 470 4.5662999153137207e-02 -2.2452299296855927e-01 7.9521000385284424e-01 <_> 0 -1 471 -1.4090600609779358e-01 -1.5879319906234741e+00 1.1359000205993652e-01 <_> 0 -1 472 -5.9216000139713287e-02 -1.1945960521697998e+00 -7.1640000678598881e-03 <_> 0 -1 473 4.3390002101659775e-03 -1.5528699755668640e-01 4.0664499998092651e-01 <_> 0 -1 474 -2.0369999110698700e-03 2.5927901268005371e-01 -3.8368299603462219e-01 <_> 0 -1 475 2.7516499161720276e-01 -8.8497996330261230e-02 7.6787501573562622e-01 <_> 0 -1 476 -2.6601999998092651e-02 7.5024497509002686e-01 -2.2621999680995941e-01 <_> 0 -1 477 4.0906000882387161e-02 1.2158600240945816e-01 -1.4566910266876221e+00 <_> 0 -1 478 5.5320002138614655e-03 -3.6611500382423401e-01 2.5968599319458008e-01 <_> 0 -1 479 3.1879000365734100e-02 -7.5019001960754395e-02 4.8484799265861511e-01 <_> 0 -1 480 -4.1482001543045044e-02 7.8220397233963013e-01 -2.1992200613021851e-01 <_> 0 -1 481 -9.6130996942520142e-02 -8.9456301927566528e-01 1.4680700004100800e-01 <_> 0 -1 482 -1.1568999849259853e-02 8.2714098691940308e-01 -2.0275600254535675e-01 <_> 0 -1 483 1.8312999978661537e-02 1.6367999836802483e-02 2.7306801080703735e-01 <_> 0 -1 484 -3.4166000783443451e-02 1.1307320594787598e+00 -1.8810899555683136e-01 <_> 0 -1 485 -2.4476999416947365e-02 -5.7791298627853394e-01 1.5812499821186066e-01 <_> 0 -1 486 4.8957001417875290e-02 -2.2564999759197235e-02 -1.6373280286788940e+00 <_> 0 -1 487 -2.0702999085187912e-02 -5.4512101411819458e-01 2.4086999893188477e-01 <_> 0 -1 488 -2.3002000525593758e-02 -1.2236540317535400e+00 -7.3440000414848328e-03 <_> 0 -1 489 6.4585000276565552e-02 1.4695599675178528e-01 -4.4967499375343323e-01 <_> 0 -1 490 1.2666000053286552e-02 -2.7873900532722473e-01 4.3876600265502930e-01 <_> 0 -1 491 -1.2002999894320965e-02 -2.4289099872112274e-01 2.5350099802017212e-01 <_> 0 -1 492 -2.6443999260663986e-02 -8.5864800214767456e-01 2.6025999337434769e-02 <_> 0 -1 493 -2.5547999888658524e-02 6.9287902116775513e-01 -2.1160000469535589e-03 <_> 0 -1 494 3.9115000516176224e-02 -1.6589100658893585e-01 1.5209139585494995e+00 <_> 0 -1 495 -6.0330000706017017e-03 4.3856900930404663e-01 -2.1613700687885284e-01 <_> 0 -1 496 -3.3936999738216400e-02 -9.7998398542404175e-01 2.2133000195026398e-02 <_> 99 -3.8700489997863770e+00 <_> 0 -1 497 4.0672998875379562e-02 -9.0474700927734375e-01 6.4410597085952759e-01 <_> 0 -1 498 2.5609999895095825e-02 -7.9216998815536499e-01 5.7489997148513794e-01 <_> 0 -1 499 1.9959500432014465e-01 -3.0099600553512573e-01 1.3143850564956665e+00 <_> 0 -1 500 1.2404999695718288e-02 -8.9882999658584595e-01 2.9205799102783203e-01 <_> 0 -1 501 3.9207998663187027e-02 -4.1955199837684631e-01 5.3463298082351685e-01 <_> 0 -1 502 -3.0843999236822128e-02 4.5793399214744568e-01 -4.4629099965095520e-01 <_> 0 -1 503 -3.5523001104593277e-02 9.1310501098632812e-01 -2.7373200654983521e-01 <_> 0 -1 504 -6.1650000512599945e-02 -1.4697799682617188e+00 2.0364099740982056e-01 <_> 0 -1 505 -1.1739999987185001e-02 -1.0482879877090454e+00 6.7801997065544128e-02 <_> 0 -1 506 6.6933996975421906e-02 2.9274499416351318e-01 -5.2282899618148804e-01 <_> 0 -1 507 -2.0631000399589539e-02 -1.2855139970779419e+00 4.4550999999046326e-02 <_> 0 -1 508 -2.2357000038027763e-02 -8.5753798484802246e-01 1.8434000015258789e-01 <_> 0 -1 509 1.1500000255182385e-03 1.6405500471591949e-01 -6.9125002622604370e-01 <_> 0 -1 510 3.5872999578714371e-02 1.5756499767303467e-01 -8.4262597560882568e-01 <_> 0 -1 511 3.0659999698400497e-02 2.1637000143527985e-02 -1.3634690046310425e+00 <_> 0 -1 512 5.5559999309480190e-03 -1.6737000644207001e-01 2.5888401269912720e-01 <_> 0 -1 513 -6.1160000041127205e-03 -9.7271800041198730e-01 6.6100001335144043e-02 <_> 0 -1 514 -3.0316999182105064e-02 9.8474198579788208e-01 -1.6448000445961952e-02 <_> 0 -1 515 -9.7200004383921623e-03 4.7604700922966003e-01 -3.2516700029373169e-01 <_> 0 -1 516 -5.7126998901367188e-02 -9.5920699834823608e-01 1.9938200712203979e-01 <_> 0 -1 517 4.0059997700154781e-03 -5.2612501382827759e-01 2.2428700327873230e-01 <_> 0 -1 518 3.3734001219272614e-02 1.7070099711418152e-01 -1.0737580060958862e+00 <_> 0 -1 519 -3.4641999751329422e-02 -1.1343129873275757e+00 3.6540001630783081e-02 <_> 0 -1 520 4.6923000365495682e-02 2.5832301378250122e-01 -7.1535801887512207e-01 <_> 0 -1 521 -8.7660001590847969e-03 1.9640900194644928e-01 -5.3355097770690918e-01 <_> 0 -1 522 6.5627999603748322e-02 -5.1194999366998672e-02 9.7610700130462646e-01 <_> 0 -1 523 -4.4165000319480896e-02 1.0631920099258423e+00 -2.3462599515914917e-01 <_> 0 -1 524 1.7304999753832817e-02 -1.8582899868488312e-01 4.5889899134635925e-01 <_> 0 -1 525 3.3135998994112015e-02 -2.9381999745965004e-02 -2.6651329994201660e+00 <_> 0 -1 526 -2.1029999479651451e-02 9.9979901313781738e-01 2.4937000125646591e-02 <_> 0 -1 527 2.9783999547362328e-02 -2.9605999588966370e-02 -2.1695868968963623e+00 <_> 0 -1 528 5.5291999131441116e-02 -7.5599999399855733e-04 7.4651998281478882e-01 <_> 0 -1 529 -3.3597998321056366e-02 -1.5274159908294678e+00 1.1060000397264957e-02 <_> 0 -1 530 1.9602999091148376e-02 3.3574998378753662e-02 9.9526202678680420e-01 <_> 0 -1 531 -2.0787000656127930e-02 7.6612901687622070e-01 -2.4670800566673279e-01 <_> 0 -1 532 3.2536000013351440e-02 1.6263400018215179e-01 -6.1134302616119385e-01 <_> 0 -1 533 -1.0788000188767910e-02 -9.7839701175689697e-01 2.8969999402761459e-02 <_> 0 -1 534 -9.9560003727674484e-03 4.6145799756050110e-01 -1.3510499894618988e-01 <_> 0 -1 535 -3.7489999085664749e-03 2.5458198785781860e-01 -5.1955598592758179e-01 <_> 0 -1 536 -4.1779998689889908e-02 -8.0565100908279419e-01 1.5208500623703003e-01 <_> 0 -1 537 -3.4221000969409943e-02 -1.3137799501419067e+00 -3.5800000187009573e-03 <_> 0 -1 538 1.0130000300705433e-02 2.0175799727439880e-01 -6.1339598894119263e-01 <_> 0 -1 539 -8.9849002659320831e-02 9.7632801532745361e-01 -2.0884799957275391e-01 <_> 0 -1 540 2.6097999885678291e-02 -1.8807999789714813e-01 4.7705799341201782e-01 <_> 0 -1 541 -3.7539999466389418e-03 -6.7980402708053589e-01 1.1288800090551376e-01 <_> 0 -1 542 3.1973000615835190e-02 1.8951700627803802e-01 -1.4967479705810547e+00 <_> 0 -1 543 1.9332999363541603e-02 -2.3609900474548340e-01 8.1320500373840332e-01 <_> 0 -1 544 1.9490000559017062e-03 2.4830399453639984e-01 -6.9211997091770172e-02 <_> 0 -1 545 -4.4146999716758728e-02 -1.0418920516967773e+00 4.8053000122308731e-02 <_> 0 -1 546 -4.4681999832391739e-02 5.1346302032470703e-01 -7.3799998499453068e-03 <_> 0 -1 547 -1.0757499933242798e-01 1.6202019453048706e+00 -1.8667599558830261e-01 <_> 0 -1 548 -1.2846800684928894e-01 2.9869480133056641e+00 9.5427997410297394e-02 <_> 0 -1 549 -4.4757999479770660e-02 6.0405302047729492e-01 -2.7058699727058411e-01 <_> 0 -1 550 -4.3990999460220337e-02 -6.1790502071380615e-01 1.5997199714183807e-01 <_> 0 -1 551 -1.2268999963998795e-01 6.6327202320098877e-01 -2.3636999726295471e-01 <_> 0 -1 552 -1.9982999190688133e-02 -1.1228660345077515e+00 1.9616700708866119e-01 <_> 0 -1 553 -1.5527999959886074e-02 -1.0770269632339478e+00 2.0693000406026840e-02 <_> 0 -1 554 -4.8971001058816910e-02 8.1168299913406372e-01 -1.7252000048756599e-02 <_> 0 -1 555 5.5975999683141708e-02 -2.2529000416398048e-02 -1.7356760501861572e+00 <_> 0 -1 556 -9.8580000922083855e-03 6.7881399393081665e-01 -5.8180000633001328e-02 <_> 0 -1 557 1.3481000438332558e-02 5.7847999036312103e-02 -7.7255302667617798e-01 <_> 0 -1 558 6.5609999001026154e-03 -1.3146899640560150e-01 6.7055797576904297e-01 <_> 0 -1 559 7.1149999275803566e-03 -3.7880599498748779e-01 3.0978998541831970e-01 <_> 0 -1 560 4.8159998841583729e-03 -5.8470398187637329e-01 2.5602099299430847e-01 <_> 0 -1 561 9.5319999381899834e-03 -3.0217000842094421e-01 4.1253298521041870e-01 <_> 0 -1 562 -2.7474999427795410e-02 5.9154701232910156e-01 1.7963999882340431e-02 <_> 0 -1 563 -3.9519999176263809e-02 9.6913498640060425e-01 -2.1020300686359406e-01 <_> 0 -1 564 -3.0658999457955360e-02 9.1155898571014404e-01 4.0550000965595245e-02 <_> 0 -1 565 -1.4680000022053719e-03 -6.0489797592163086e-01 1.6960899531841278e-01 <_> 0 -1 566 1.9077600538730621e-01 4.3515000492334366e-02 8.1892901659011841e-01 <_> 0 -1 567 5.1790000870823860e-03 -9.3617302179336548e-01 2.4937000125646591e-02 <_> 0 -1 568 2.4126000702381134e-02 1.8175500631332397e-01 -3.4185901284217834e-01 <_> 0 -1 569 -2.6383999735116959e-02 -1.2912579774856567e+00 -3.4280000254511833e-03 <_> 0 -1 570 5.4139997810125351e-03 -4.6291999518871307e-02 2.5269600749015808e-01 <_> 0 -1 571 5.4216001182794571e-02 -1.2848000042140484e-02 -1.4304540157318115e+00 <_> 0 -1 572 2.3799999326001853e-04 -2.6676699519157410e-01 3.3588299155235291e-01 <_> 0 -1 573 1.5216999687254429e-02 -5.1367300748825073e-01 1.3005100190639496e-01 <_> 0 -1 574 1.7007999122142792e-02 4.1575899720191956e-01 -3.1241199374198914e-01 <_> 0 -1 575 3.0496999621391296e-02 -2.4820999801158905e-01 7.0828497409820557e-01 <_> 0 -1 576 6.5430002287030220e-03 -2.2637000679969788e-01 1.9184599816799164e-01 <_> 0 -1 577 1.4163999259471893e-01 6.5227001905441284e-02 -8.8809502124786377e-01 <_> 0 -1 578 1.9338000565767288e-02 1.8891200423240662e-01 -2.7397701144218445e-01 <_> 0 -1 579 -1.7324000597000122e-02 -9.4866698980331421e-01 2.4196999147534370e-02 <_> 0 -1 580 -6.2069999985396862e-03 3.6938399076461792e-01 -1.7494900524616241e-01 <_> 0 -1 581 -1.6109000891447067e-02 9.6159499883651733e-01 -2.0005300641059875e-01 <_> 0 -1 582 -1.0122500360012054e-01 -3.0699110031127930e+00 1.1363799870014191e-01 <_> 0 -1 583 -7.5509999878704548e-03 2.2921000421047211e-01 -4.5645099878311157e-01 <_> 0 -1 584 4.4247999787330627e-02 -3.1599999056197703e-04 3.9225301146507263e-01 <_> 0 -1 585 -1.1636000126600266e-01 9.5233702659606934e-01 -2.0201599597930908e-01 <_> 0 -1 586 4.7360002063214779e-03 -9.9177002906799316e-02 2.0370499789714813e-01 <_> 0 -1 587 2.2459000349044800e-02 8.7280003353953362e-03 -1.0217070579528809e+00 <_> 0 -1 588 -1.2109000235795975e-02 6.4812600612640381e-01 -9.0149000287055969e-02 <_> 0 -1 589 5.6120000779628754e-02 -3.6759998649358749e-02 -1.9275590181350708e+00 <_> 0 -1 590 -8.7379999458789825e-03 6.9261300563812256e-01 -6.8374998867511749e-02 <_> 0 -1 591 6.6399998031556606e-03 -4.0569800138473511e-01 1.8625700473785400e-01 <_> 0 -1 592 -1.8131999298930168e-02 -6.4518201351165771e-01 2.1976399421691895e-01 <_> 0 -1 593 -2.2718999534845352e-02 9.7776198387145996e-01 -1.8654300272464752e-01 <_> 0 -1 594 1.2705000117421150e-02 -1.0546600073575974e-01 3.7404099106788635e-01 <_> 0 -1 595 -1.3682999648153782e-02 6.1064100265502930e-01 -2.6881098747253418e-01 <_> 115 -3.7160909175872803e+00 <_> 0 -1 596 3.1357999891042709e-02 -1.0183910131454468e+00 5.7528597116470337e-01 <_> 0 -1 597 9.3050003051757812e-02 -4.1297501325607300e-01 1.0091199874877930e+00 <_> 0 -1 598 2.5949999690055847e-02 -5.8587902784347534e-01 5.6606197357177734e-01 <_> 0 -1 599 1.6472000628709793e-02 -9.2857497930526733e-01 3.0924499034881592e-01 <_> 0 -1 600 -1.8779999809339643e-03 1.1951000243425369e-01 -1.1180130243301392e+00 <_> 0 -1 601 -9.0129999443888664e-03 -5.7849502563476562e-01 3.3154401183128357e-01 <_> 0 -1 602 2.2547999396920204e-02 -3.8325101137161255e-01 5.2462202310562134e-01 <_> 0 -1 603 -3.7780001759529114e-02 1.1790670156478882e+00 -3.4166999161243439e-02 <_> 0 -1 604 -5.3799999877810478e-03 -8.6265897750854492e-01 1.1867900192737579e-01 <_> 0 -1 605 -2.3893000558018684e-02 -7.4950599670410156e-01 2.1011400222778320e-01 <_> 0 -1 606 -2.6521999388933182e-02 9.2128598690032959e-01 -2.8252801299095154e-01 <_> 0 -1 607 1.2280000373721123e-02 2.6662799715995789e-01 -7.0013600587844849e-01 <_> 0 -1 608 9.6594996750354767e-02 -2.8453999757766724e-01 7.3168998956680298e-01 <_> 0 -1 609 -2.7414999902248383e-02 -6.1492699384689331e-01 1.5576200187206268e-01 <_> 0 -1 610 -1.5767000615596771e-02 5.7551199197769165e-01 -3.4362199902534485e-01 <_> 0 -1 611 -2.1100000012665987e-03 3.2599699497222900e-01 -1.3008299469947815e-01 <_> 0 -1 612 1.2006999924778938e-02 8.9322999119758606e-02 -9.6025598049163818e-01 <_> 0 -1 613 -1.5421999618411064e-02 3.4449499845504761e-01 -4.6711999177932739e-01 <_> 0 -1 614 -4.1579999960958958e-03 2.3696300387382507e-01 -5.2563297748565674e-01 <_> 0 -1 615 -2.1185999736189842e-02 -7.4267697334289551e-01 2.1702000498771667e-01 <_> 0 -1 616 -1.7077000811696053e-02 -9.0471798181533813e-01 6.6012002527713776e-02 <_> 0 -1 617 -4.0849998593330383e-02 -3.4446600079536438e-01 2.1503700315952301e-01 <_> 0 -1 618 -8.1930002197623253e-03 -9.3388599157333374e-01 5.0471000373363495e-02 <_> 0 -1 619 -1.9238000735640526e-02 -5.3203701972961426e-01 1.7240600287914276e-01 <_> 0 -1 620 -4.4192001223564148e-02 9.2075002193450928e-01 -2.2148500382900238e-01 <_> 0 -1 621 -6.2392000108957291e-02 -7.1053802967071533e-01 1.8323899805545807e-01 <_> 0 -1 622 -1.0079999919980764e-03 -8.7063097953796387e-01 5.5330000817775726e-02 <_> 0 -1 623 2.3870000615715981e-02 -2.2854200005531311e-01 5.2415597438812256e-01 <_> 0 -1 624 2.1391000598669052e-02 -3.0325898528099060e-01 5.5860602855682373e-01 <_> 0 -1 625 2.0254999399185181e-02 2.6901501417160034e-01 -7.0261800289154053e-01 <_> 0 -1 626 -2.8772000223398209e-02 -1.1835030317306519e+00 4.6512000262737274e-02 <_> 0 -1 627 3.4199999645352364e-03 -5.4652100801467896e-01 2.5962498784065247e-01 <_> 0 -1 628 5.6983001530170441e-02 -2.6982900500297546e-01 5.8170700073242188e-01 <_> 0 -1 629 -9.3892000615596771e-02 -9.1046398878097534e-01 1.9677700102329254e-01 <_> 0 -1 630 1.7699999734759331e-02 -4.4003298878669739e-01 2.1349500119686127e-01 <_> 0 -1 631 2.2844199836254120e-01 2.3605000227689743e-02 7.7171599864959717e-01 <_> 0 -1 632 -1.8287500739097595e-01 7.9228597879409790e-01 -2.4644799530506134e-01 <_> 0 -1 633 -6.9891996681690216e-02 8.0267798900604248e-01 -3.6072000861167908e-02 <_> 0 -1 634 1.5297000296413898e-02 -2.0072300732135773e-01 1.1030600070953369e+00 <_> 0 -1 635 6.7500001750886440e-03 -4.5967999845743179e-02 7.2094500064849854e-01 <_> 0 -1 636 -1.5983000397682190e-02 -9.0357202291488647e-01 4.4987998902797699e-02 <_> 0 -1 637 1.3088000006973743e-02 3.5297098755836487e-01 -3.7710601091384888e-01 <_> 0 -1 638 1.3061000034213066e-02 -1.9583599269390106e-01 1.1198940277099609e+00 <_> 0 -1 639 -3.9907000958919525e-02 -1.3998429775238037e+00 1.9145099818706512e-01 <_> 0 -1 640 1.5026999637484550e-02 2.3600000422447920e-03 -1.1611249446868896e+00 <_> 0 -1 641 -2.0517999306321144e-02 -4.8908099532127380e-01 1.6743400692939758e-01 <_> 0 -1 642 -2.2359000518918037e-02 -1.2202980518341064e+00 -1.1975999921560287e-02 <_> 0 -1 643 -7.9150004312396049e-03 3.7228098511695862e-01 -8.5063003003597260e-02 <_> 0 -1 644 1.5258000232279301e-02 -2.9412600398063660e-01 5.9406399726867676e-01 <_> 0 -1 645 -3.1665999442338943e-02 -1.4395569562911987e+00 1.3578799366950989e-01 <_> 0 -1 646 -3.0773999169468880e-02 -2.2545371055603027e+00 -3.3971000462770462e-02 <_> 0 -1 647 -1.5483000315725803e-02 3.7700700759887695e-01 1.5847999602556229e-02 <_> 0 -1 648 3.5167001187801361e-02 -2.9446101188659668e-01 5.3159099817276001e-01 <_> 0 -1 649 -1.7906000837683678e-02 -9.9788200855255127e-01 1.6235999763011932e-01 <_> 0 -1 650 -3.1799999997019768e-03 4.7657001763582230e-02 -7.5249898433685303e-01 <_> 0 -1 651 1.5720000490546227e-02 1.4873799681663513e-01 -6.5375399589538574e-01 <_> 0 -1 652 2.9864000156521797e-02 -1.4952000230550766e-02 -1.2275190353393555e+00 <_> 0 -1 653 2.9899999499320984e-03 -1.4263699948787689e-01 4.3272799253463745e-01 <_> 0 -1 654 8.4749996662139893e-02 -1.9280999898910522e-02 -1.1946409940719604e+00 <_> 0 -1 655 -5.8724999427795410e-02 -1.7328219413757324e+00 1.4374700188636780e-01 <_> 0 -1 656 4.4755998998880386e-02 -2.4140599370002747e-01 5.4019999504089355e-01 <_> 0 -1 657 4.0369000285863876e-02 5.7680001482367516e-03 5.6578099727630615e-01 <_> 0 -1 658 3.7735998630523682e-02 3.8180999457836151e-02 -7.9370397329330444e-01 <_> 0 -1 659 6.0752999037504196e-02 7.6453000307083130e-02 1.4813209772109985e+00 <_> 0 -1 660 -1.9832000136375427e-02 -1.6971720457077026e+00 -2.7370000258088112e-02 <_> 0 -1 661 -1.6592699289321899e-01 6.2976002693176270e-01 3.1762998551130295e-02 <_> 0 -1 662 6.9014996290206909e-02 -3.3463200926780701e-01 3.0076700448989868e-01 <_> 0 -1 663 1.1358000338077545e-02 2.2741499543190002e-01 -3.8224700093269348e-01 <_> 0 -1 664 1.7000000225380063e-03 1.9223800301551819e-01 -5.2735102176666260e-01 <_> 0 -1 665 7.9769000411033630e-02 9.1491997241973877e-02 2.1049048900604248e+00 <_> 0 -1 666 -5.7144001126289368e-02 -1.7452130317687988e+00 -4.0910001844167709e-02 <_> 0 -1 667 7.3830001056194305e-03 -2.4214799702167511e-01 3.5577800869941711e-01 <_> 0 -1 668 -1.8040999770164490e-02 1.1779999732971191e+00 -1.7676700651645660e-01 <_> 0 -1 669 9.4503000378608704e-02 1.3936099410057068e-01 -1.2993700504302979e+00 <_> 0 -1 670 5.4210000671446323e-03 -5.4608601331710815e-01 1.3916400074958801e-01 <_> 0 -1 671 7.0290002040565014e-03 -2.1597200632095337e-01 3.9258098602294922e-01 <_> 0 -1 672 3.4515999257564545e-02 6.3188999891281128e-02 -7.2108101844787598e-01 <_> 0 -1 673 -5.1924999803304672e-02 6.8667602539062500e-01 6.3272997736930847e-02 <_> 0 -1 674 -6.9162003695964813e-02 1.7411810159683228e+00 -1.6619299352169037e-01 <_> 0 -1 675 -5.5229999125003815e-03 3.0694699287414551e-01 -1.6662900149822235e-01 <_> 0 -1 676 6.8599998950958252e-02 -2.1405400335788727e-01 7.3185002803802490e-01 <_> 0 -1 677 -6.7038998007774353e-02 -7.9360598325729370e-01 2.0525799691677094e-01 <_> 0 -1 678 -2.1005000919103622e-02 3.7344399094581604e-01 -2.9618600010871887e-01 <_> 0 -1 679 2.0278999581933022e-02 -1.5200000256299973e-02 4.0555301308631897e-01 <_> 0 -1 680 -4.7107998281717300e-02 1.2116849422454834e+00 -1.7464299499988556e-01 <_> 0 -1 681 1.8768499791622162e-01 -2.2909000515937805e-02 6.9645798206329346e-01 <_> 0 -1 682 -4.3228998780250549e-02 -1.0602480173110962e+00 -5.5599998449906707e-04 <_> 0 -1 683 2.0004000514745712e-02 -3.2751001417636871e-02 5.3805100917816162e-01 <_> 0 -1 684 8.0880001187324524e-03 3.7548001855611801e-02 -7.4768900871276855e-01 <_> 0 -1 685 2.7101000770926476e-02 -8.1790000200271606e-02 3.3387100696563721e-01 <_> 0 -1 686 -9.1746002435684204e-02 -1.9213509559631348e+00 -3.8952998816967010e-02 <_> 0 -1 687 -1.2454999610781670e-02 4.8360601067543030e-01 1.8168000504374504e-02 <_> 0 -1 688 1.4649000018835068e-02 -1.9906699657440186e-01 7.2815400362014771e-01 <_> 0 -1 689 2.9101999476552010e-02 1.9871099293231964e-01 -4.9216800928115845e-01 <_> 0 -1 690 8.7799998000264168e-03 -1.9499599933624268e-01 7.7317398786544800e-01 <_> 0 -1 691 -5.4740000516176224e-02 1.8087190389633179e+00 6.8323001265525818e-02 <_> 0 -1 692 -1.4798000454902649e-02 7.8064900636672974e-01 -1.8709599971771240e-01 <_> 0 -1 693 2.5012999773025513e-02 1.5285299718379974e-01 -1.6021020412445068e+00 <_> 0 -1 694 4.6548001468181610e-02 -1.6738200187683105e-01 1.1902060508728027e+00 <_> 0 -1 695 1.7624000087380409e-02 -1.0285499691963196e-01 3.9175900816917419e-01 <_> 0 -1 696 1.6319599747657776e-01 -3.5624001175165176e-02 -1.6098170280456543e+00 <_> 0 -1 697 1.3137999922037125e-02 -5.6359000504016876e-02 5.4158902168273926e-01 <_> 0 -1 698 -1.5665000304579735e-02 2.8063100576400757e-01 -3.1708601117134094e-01 <_> 0 -1 699 8.0554001033306122e-02 1.2640400230884552e-01 -1.0297529697418213e+00 <_> 0 -1 700 3.5363998264074326e-02 2.0752999931573868e-02 -7.9105597734451294e-01 <_> 0 -1 701 3.2986998558044434e-02 1.9057099521160126e-01 -8.3839899301528931e-01 <_> 0 -1 702 1.2195000424981117e-02 7.3729000985622406e-02 -6.2780702114105225e-01 <_> 0 -1 703 4.3065998703241348e-02 4.7384999692440033e-02 1.5712939500808716e+00 <_> 0 -1 704 3.0326999723911285e-02 -2.7314600348472595e-01 3.8572001457214355e-01 <_> 0 -1 705 3.5493001341819763e-02 5.4593998938798904e-02 5.2583402395248413e-01 <_> 0 -1 706 -1.4596999622881413e-02 3.8152599334716797e-01 -2.8332400321960449e-01 <_> 0 -1 707 1.2606999836862087e-02 1.5455099940299988e-01 -3.0501499772071838e-01 <_> 0 -1 708 1.0172000154852867e-02 2.3637000471353531e-02 -8.7217897176742554e-01 <_> 0 -1 709 2.8843000531196594e-02 1.6090999543666840e-01 -2.0277599990367889e-01 <_> 0 -1 710 5.5100000463426113e-04 -6.1545401811599731e-01 8.0935999751091003e-02 <_> 127 -3.5645289421081543e+00 <_> 0 -1 711 4.8344001173973083e-02 -8.4904599189758301e-01 5.6974399089813232e-01 <_> 0 -1 712 3.2460000365972519e-02 -8.1417298316955566e-01 4.4781699776649475e-01 <_> 0 -1 713 3.3339999616146088e-02 -3.6423799395561218e-01 6.7937397956848145e-01 <_> 0 -1 714 6.4019998535513878e-03 -1.1885459423065186e+00 1.9238699972629547e-01 <_> 0 -1 715 -5.6889997795224190e-03 3.3085298538208008e-01 -7.1334099769592285e-01 <_> 0 -1 716 1.2698000296950340e-02 -5.0990802049636841e-01 1.1376299709081650e-01 <_> 0 -1 717 6.0549997724592686e-03 -1.0470550060272217e+00 2.0222599804401398e-01 <_> 0 -1 718 2.6420000940561295e-03 -5.0559401512145996e-01 3.6441200971603394e-01 <_> 0 -1 719 -1.6925999894738197e-02 -9.9541902542114258e-01 1.2602199614048004e-01 <_> 0 -1 720 2.8235999867320061e-02 -9.4137996435165405e-02 5.7780402898788452e-01 <_> 0 -1 721 1.0428999550640583e-02 2.3272900283336639e-01 -5.2569699287414551e-01 <_> 0 -1 722 9.8860003054141998e-03 -1.0316299647092819e-01 4.7657600045204163e-01 <_> 0 -1 723 2.6015000417828560e-02 -1.0920000495389104e-03 -1.5581729412078857e+00 <_> 0 -1 724 -2.5537999346852303e-02 -6.5451401472091675e-01 1.8843199312686920e-01 <_> 0 -1 725 -3.5310001112520695e-03 2.8140598535537720e-01 -4.4575300812721252e-01 <_> 0 -1 726 9.2449998483061790e-03 1.5612000226974487e-01 -2.1370999515056610e-01 <_> 0 -1 727 2.1030999720096588e-02 -2.9170298576354980e-01 5.2234101295471191e-01 <_> 0 -1 728 -5.1063001155853271e-02 1.3661290407180786e+00 3.0465999618172646e-02 <_> 0 -1 729 -6.2330000102519989e-02 1.2207020521163940e+00 -2.2434400022029877e-01 <_> 0 -1 730 -3.2963000237941742e-02 -8.2016801834106445e-01 1.4531899988651276e-01 <_> 0 -1 731 -3.7418000400066376e-02 -1.2218099832534790e+00 1.9448999315500259e-02 <_> 0 -1 732 1.2402799725532532e-01 1.2082300335168839e-01 -9.8729300498962402e-01 <_> 0 -1 733 -8.9229997247457504e-03 -1.1688489913940430e+00 2.1105000749230385e-02 <_> 0 -1 734 -5.9879999607801437e-02 -1.0689330101013184e+00 1.9860200583934784e-01 <_> 0 -1 735 6.2620001845061779e-03 -3.6229598522186279e-01 3.8000801205635071e-01 <_> 0 -1 736 -1.7673000693321228e-02 4.9094098806381226e-01 -1.4606699347496033e-01 <_> 0 -1 737 1.7579000443220139e-02 5.8728098869323730e-01 -2.7774399518966675e-01 <_> 0 -1 738 5.1560001447796822e-03 -7.5194999575614929e-02 6.0193097591400146e-01 <_> 0 -1 739 -1.0599999688565731e-02 2.7637401223182678e-01 -3.7794300913810730e-01 <_> 0 -1 740 2.0884099602699280e-01 -5.3599998354911804e-03 1.0317809581756592e+00 <_> 0 -1 741 -2.6412999257445335e-02 8.2336401939392090e-01 -2.2480599582195282e-01 <_> 0 -1 742 5.8892000466585159e-02 1.3098299503326416e-01 -1.1853699684143066e+00 <_> 0 -1 743 -1.1579000391066074e-02 -9.0667802095413208e-01 4.4126998633146286e-02 <_> 0 -1 744 4.5988000929355621e-02 1.0143999941647053e-02 1.0740900039672852e+00 <_> 0 -1 745 -2.2838000208139420e-02 1.7791990041732788e+00 -1.7315499484539032e-01 <_> 0 -1 746 -8.1709995865821838e-03 5.7386302947998047e-01 -7.4106000363826752e-02 <_> 0 -1 747 3.5359999164938927e-03 -3.2072898745536804e-01 4.0182501077651978e-01 <_> 0 -1 748 4.9444999545812607e-02 1.9288000464439392e-01 -1.2166700363159180e+00 <_> 0 -1 749 3.5139999818056822e-03 6.9568000733852386e-02 -7.1323698759078979e-01 <_> 0 -1 750 -3.0996000394225121e-02 -3.8862198591232300e-01 1.8098799884319305e-01 <_> 0 -1 751 8.6452998220920563e-02 -2.5792999193072319e-02 -1.5453219413757324e+00 <_> 0 -1 752 -1.3652600347995758e-01 -1.9199420213699341e+00 1.6613300144672394e-01 <_> 0 -1 753 -5.7689999230206013e-03 -1.2822589874267578e+00 -1.5907999128103256e-02 <_> 0 -1 754 -1.7899999395012856e-02 -4.0409898757934570e-01 2.3591600358486176e-01 <_> 0 -1 755 -1.9969999790191650e-02 -7.2891902923583984e-01 5.6235000491142273e-02 <_> 0 -1 756 -5.7493001222610474e-02 5.7830798625946045e-01 -1.5796000137925148e-02 <_> 0 -1 757 -8.3056002855300903e-02 9.1511601209640503e-01 -2.1121400594711304e-01 <_> 0 -1 758 -5.3771000355482101e-02 -5.1931297779083252e-01 1.8576000630855560e-01 <_> 0 -1 759 -8.3670001477003098e-03 2.4109700322151184e-01 -3.9648601412773132e-01 <_> 0 -1 760 5.5406998842954636e-02 1.6771200299263000e-01 -2.5664970874786377e+00 <_> 0 -1 761 -6.7180998623371124e-02 -1.3658570051193237e+00 -1.4232000336050987e-02 <_> 0 -1 762 -2.3900000378489494e-02 -1.7084569931030273e+00 1.6507799923419952e-01 <_> 0 -1 763 5.5949999950826168e-03 -3.1373998522758484e-01 3.2837900519371033e-01 <_> 0 -1 764 2.1294999867677689e-02 1.4953400194644928e-01 -4.8579800128936768e-01 <_> 0 -1 765 -2.4613000452518463e-02 7.4346399307250977e-01 -2.2305199503898621e-01 <_> 0 -1 766 -1.9626000896096230e-02 -4.0918299555778503e-01 1.8893200159072876e-01 <_> 0 -1 767 -5.3266000002622604e-02 8.1381601095199585e-01 -2.0853699743747711e-01 <_> 0 -1 768 7.1290000341832638e-03 3.2996100187301636e-01 -5.9937399625778198e-01 <_> 0 -1 769 -2.2486999630928040e-02 -1.2551610469818115e+00 -2.0413000136613846e-02 <_> 0 -1 770 -8.2310996949672699e-02 1.3821430206298828e+00 5.9308998286724091e-02 <_> 0 -1 771 1.3097000122070312e-01 -3.5843998193740845e-02 -1.5396369695663452e+00 <_> 0 -1 772 1.4293000102043152e-02 -1.8475200235843658e-01 3.7455001473426819e-01 <_> 0 -1 773 6.3479999080300331e-03 -4.4901099801063538e-01 1.3876999914646149e-01 <_> 0 -1 774 -4.6055000275373459e-02 6.7832601070404053e-01 -1.7071999609470367e-02 <_> 0 -1 775 5.7693999260663986e-02 -1.1955999769270420e-02 -1.2261159420013428e+00 <_> 0 -1 776 -6.0609998181462288e-03 3.3958598971366882e-01 6.2800000887364149e-04 <_> 0 -1 777 -5.2163001149892807e-02 -1.0621069669723511e+00 -1.3779999688267708e-02 <_> 0 -1 778 4.6572998166084290e-02 1.4538800716400146e-01 -1.2384550571441650e+00 <_> 0 -1 779 7.5309998355805874e-03 -2.4467700719833374e-01 5.1377099752426147e-01 <_> 0 -1 780 2.1615000441670418e-02 1.3072599470615387e-01 -7.0996797084808350e-01 <_> 0 -1 781 -1.7864000052213669e-02 -1.0474660396575928e+00 4.9599999329075217e-04 <_> 0 -1 782 -3.7195000797510147e-02 -1.5126730203628540e+00 1.4801399409770966e-01 <_> 0 -1 783 -3.1100001069717109e-04 1.3971500098705292e-01 -4.6867498755455017e-01 <_> 0 -1 784 2.5042999535799026e-02 2.8632000088691711e-01 -4.1794699430465698e-01 <_> 0 -1 785 9.3449996784329414e-03 -2.7336201071739197e-01 4.3444699048995972e-01 <_> 0 -1 786 3.2363999634981155e-02 1.8438899517059326e-01 -9.5019298791885376e-01 <_> 0 -1 787 -6.2299999408423901e-03 3.2581999897956848e-01 -3.0815601348876953e-01 <_> 0 -1 788 5.1488999277353287e-02 1.1416000127792358e-01 -1.9795479774475098e+00 <_> 0 -1 789 -2.6449000462889671e-02 -1.1067299842834473e+00 -8.5519999265670776e-03 <_> 0 -1 790 -1.5420000068843365e-02 8.0138701200485229e-01 -3.2035000622272491e-02 <_> 0 -1 791 1.9456999376416206e-02 -2.6449498534202576e-01 3.8753899931907654e-01 <_> 0 -1 792 3.3620998263359070e-02 1.6052000224590302e-02 5.8840900659561157e-01 <_> 0 -1 793 2.8906000778079033e-02 1.5216000378131866e-02 -9.4723600149154663e-01 <_> 0 -1 794 2.0300000323913991e-04 -3.0766001343727112e-01 2.1235899627208710e-01 <_> 0 -1 795 -4.9141999334096909e-02 -1.6058609485626221e+00 -3.1094999983906746e-02 <_> 0 -1 796 7.6425999402999878e-02 7.4758999049663544e-02 1.1639410257339478e+00 <_> 0 -1 797 2.3897999897599220e-02 -6.4320000819861889e-03 -1.1150749921798706e+00 <_> 0 -1 798 3.8970001041889191e-03 -2.4105699360370636e-01 2.0858900249004364e-01 <_> 0 -1 799 -8.9445002377033234e-02 1.9157789945602417e+00 -1.5721100568771362e-01 <_> 0 -1 800 -1.5008999966084957e-02 -2.5174099206924438e-01 1.8179899454116821e-01 <_> 0 -1 801 -1.1145999655127525e-02 -6.9349497556686401e-01 4.4927999377250671e-02 <_> 0 -1 802 9.4578996300697327e-02 1.8102100491523743e-01 -7.4978601932525635e-01 <_> 0 -1 803 5.5038899183273315e-01 -3.0974000692367554e-02 -1.6746139526367188e+00 <_> 0 -1 804 4.1381001472473145e-02 6.3910000026226044e-02 7.6561200618743896e-01 <_> 0 -1 805 2.4771999567747116e-02 1.1380000039935112e-02 -8.8559401035308838e-01 <_> 0 -1 806 5.0999000668525696e-02 1.4890299737453461e-01 -2.4634211063385010e+00 <_> 0 -1 807 -1.6893999651074409e-02 3.8870999217033386e-01 -2.9880300164222717e-01 <_> 0 -1 808 -1.2162300199270248e-01 -1.5542800426483154e+00 1.6300800442695618e-01 <_> 0 -1 809 -3.6049999762326479e-03 2.1842800080776215e-01 -3.7312099337577820e-01 <_> 0 -1 810 1.1575400084257126e-01 -4.7061000019311905e-02 5.9403699636459351e-01 <_> 0 -1 811 3.6903999745845795e-02 -2.5508600473403931e-01 5.5397301912307739e-01 <_> 0 -1 812 1.1483999900519848e-02 -1.8129499256610870e-01 4.0682798624038696e-01 <_> 0 -1 813 -2.0233999937772751e-02 5.4311197996139526e-01 -2.3822399973869324e-01 <_> 0 -1 814 -2.8765000402927399e-02 -6.9172298908233643e-01 1.5943300724029541e-01 <_> 0 -1 815 -5.8320001699030399e-03 2.9447799921035767e-01 -3.4005999565124512e-01 <_> 0 -1 816 -5.5468998849391937e-02 9.2200797796249390e-01 9.4093002378940582e-02 <_> 0 -1 817 -1.4801000244915485e-02 -7.9539698362350464e-01 3.1521998345851898e-02 <_> 0 -1 818 -7.0940000005066395e-03 3.3096000552177429e-01 -5.0886999815702438e-02 <_> 0 -1 819 -4.5124001801013947e-02 -1.3719749450683594e+00 -2.1408999338746071e-02 <_> 0 -1 820 6.4377002418041229e-02 6.3901998102664948e-02 9.1478300094604492e-01 <_> 0 -1 821 -1.4727000147104263e-02 3.6050599813461304e-01 -2.8614500164985657e-01 <_> 0 -1 822 4.5007001608610153e-02 -1.5619699656963348e-01 5.3160297870635986e-01 <_> 0 -1 823 -1.1330000124871731e-03 1.3422900438308716e-01 -4.4358900189399719e-01 <_> 0 -1 824 4.9451000988483429e-02 1.0571800172328949e-01 -2.5589139461517334e+00 <_> 0 -1 825 2.9102999716997147e-02 -1.0088000446557999e-02 -1.1073939800262451e+00 <_> 0 -1 826 3.4786000847816467e-02 -2.7719999197870493e-03 5.6700998544692993e-01 <_> 0 -1 827 -6.1309998854994774e-03 -4.6889400482177734e-01 1.2636399269104004e-01 <_> 0 -1 828 1.5525000169873238e-02 -8.4279999136924744e-03 8.7469202280044556e-01 <_> 0 -1 829 2.9249999206513166e-03 -3.4434300661087036e-01 2.0851600170135498e-01 <_> 0 -1 830 -5.3571000695228577e-02 1.4982949495315552e+00 5.7328000664710999e-02 <_> 0 -1 831 -1.9217999652028084e-02 -9.9234098196029663e-01 -9.3919998034834862e-03 <_> 0 -1 832 -5.5282998830080032e-02 -5.7682299613952637e-01 1.6860599815845490e-01 <_> 0 -1 833 5.6336000561714172e-02 -3.3775001764297485e-02 -1.3889650106430054e+00 <_> 0 -1 834 -2.3824000731110573e-02 4.0182098746299744e-01 1.8360000103712082e-03 <_> 0 -1 835 1.7810000572353601e-03 1.8145999312400818e-01 -4.1743400692939758e-01 <_> 0 -1 836 -3.7689000368118286e-02 5.4683101177215576e-01 1.8219999969005585e-02 <_> 0 -1 837 -2.4144999682903290e-02 6.8352097272872925e-01 -1.9650200009346008e-01 <_> 135 -3.7025990486145020e+00 <_> 0 -1 838 2.7444999665021896e-02 -8.9984202384948730e-01 5.1876497268676758e-01 <_> 0 -1 839 1.1554100364446640e-01 -5.6524401903152466e-01 7.0551300048828125e-01 <_> 0 -1 840 -2.2297000512480736e-02 3.6079999804496765e-01 -6.6864597797393799e-01 <_> 0 -1 841 1.3325000181794167e-02 -5.5573397874832153e-01 3.5789999365806580e-01 <_> 0 -1 842 -3.8060001097619534e-03 -1.0713000297546387e+00 1.8850000202655792e-01 <_> 0 -1 843 -2.6819999329745770e-03 -7.1584302186965942e-01 2.6344498991966248e-01 <_> 0 -1 844 3.3819999080151320e-03 -4.6930798888206482e-01 2.6658400893211365e-01 <_> 0 -1 845 3.7643000483512878e-02 2.1098700165748596e-01 -1.0804339647293091e+00 <_> 0 -1 846 -1.3861999846994877e-02 6.6912001371383667e-01 -2.7942800521850586e-01 <_> 0 -1 847 -2.7350001037120819e-03 -9.5332300662994385e-01 2.4051299691200256e-01 <_> 0 -1 848 -3.8336999714374542e-02 8.1432801485061646e-01 -2.4919399619102478e-01 <_> 0 -1 849 -3.4697998315095901e-02 1.2330100536346436e+00 6.8600000813603401e-03 <_> 0 -1 850 2.3360999301075935e-02 -3.0794700980186462e-01 7.0714497566223145e-01 <_> 0 -1 851 3.5057999193668365e-02 2.1205900609493256e-01 -1.4399830102920532e+00 <_> 0 -1 852 -1.3256999664008617e-02 -9.0260702371597290e-01 4.8610001802444458e-02 <_> 0 -1 853 1.2740000151097775e-02 2.2655199468135834e-01 -4.4643801450729370e-01 <_> 0 -1 854 3.6400000099092722e-03 -3.9817899465560913e-01 3.4665399789810181e-01 <_> 0 -1 855 1.0064700245857239e-01 1.8383599817752838e-01 -1.3410769701004028e+00 <_> 0 -1 856 0. 1.5536400675773621e-01 -5.1582497358322144e-01 <_> 0 -1 857 1.1708999983966351e-02 2.1651400625705719e-01 -7.2705197334289551e-01 <_> 0 -1 858 -3.5964999347925186e-02 -1.4789500236511230e+00 -2.4317000061273575e-02 <_> 0 -1 859 -2.1236000582575798e-02 -1.6844099760055542e-01 1.9526599347591400e-01 <_> 0 -1 860 1.4874000102281570e-02 3.7335999310016632e-02 -8.7557297945022583e-01 <_> 0 -1 861 -5.1409997977316380e-03 3.3466500043869019e-01 -2.4109700322151184e-01 <_> 0 -1 862 2.3450000211596489e-02 5.5320002138614655e-03 -1.2509720325469971e+00 <_> 0 -1 863 -2.5062000378966331e-02 4.5212399959564209e-01 -8.4469996392726898e-02 <_> 0 -1 864 -7.7400001464411616e-04 1.5249900519847870e-01 -4.8486500978469849e-01 <_> 0 -1 865 -4.0483999997377396e-02 -1.3024920225143433e+00 1.7983500659465790e-01 <_> 0 -1 866 2.8170999139547348e-02 -2.4410900473594666e-01 6.2271100282669067e-01 <_> 0 -1 867 4.5692998915910721e-02 2.8122000396251678e-02 9.2394399642944336e-01 <_> 0 -1 868 3.9707001298666000e-02 -2.2332799434661865e-01 7.7674001455307007e-01 <_> 0 -1 869 5.0517000257968903e-02 2.0319999754428864e-01 -1.0895930528640747e+00 <_> 0 -1 870 -1.7266999930143356e-02 6.8598401546478271e-01 -2.3304499685764313e-01 <_> 0 -1 871 8.0186001956462860e-02 -1.0292000137269497e-02 6.1881101131439209e-01 <_> 0 -1 872 9.7676001489162445e-02 -2.0070299506187439e-01 1.0088349580764771e+00 <_> 0 -1 873 -1.5572000294923782e-02 4.7615298628807068e-01 4.5623999089002609e-02 <_> 0 -1 874 -1.5305000357329845e-02 -1.1077369451522827e+00 4.5239999890327454e-03 <_> 0 -1 875 -1.6485000029206276e-02 1.0152939558029175e+00 1.6327999532222748e-02 <_> 0 -1 876 -2.6141999289393425e-02 4.1723299026489258e-01 -2.8645500540733337e-01 <_> 0 -1 877 8.8679995387792587e-03 2.1404999494552612e-01 -1.6772800683975220e-01 <_> 0 -1 878 -2.6886999607086182e-02 -1.1564220190048218e+00 -1.0324000380933285e-02 <_> 0 -1 879 7.7789998613297939e-03 3.5359498858451843e-01 -2.9611301422119141e-01 <_> 0 -1 880 -1.5974000096321106e-02 -1.5374109745025635e+00 -2.9958000406622887e-02 <_> 0 -1 881 2.0866999402642250e-02 2.0244100689888000e-01 -7.1270197629928589e-01 <_> 0 -1 882 8.5482001304626465e-02 -2.5932999327778816e-02 -1.5156569480895996e+00 <_> 0 -1 883 2.3872999474406242e-02 1.6803400218486786e-01 -3.8806200027465820e-01 <_> 0 -1 884 -3.9105001837015152e-02 -1.1958349943161011e+00 -2.0361000671982765e-02 <_> 0 -1 885 -7.7946998178958893e-02 -1.0898950099945068e+00 1.4530299603939056e-01 <_> 0 -1 886 -1.6876000910997391e-02 2.8049701452255249e-01 -4.1336300969123840e-01 <_> 0 -1 887 1.1875600367784500e-01 -4.3490998446941376e-02 4.1263699531555176e-01 <_> 0 -1 888 1.5624199807643890e-01 -2.6429599523544312e-01 5.5127799510955811e-01 <_> 0 -1 889 -4.5908000320196152e-02 6.0189199447631836e-01 1.8921000882983208e-02 <_> 0 -1 890 -1.0309999808669090e-02 3.8152998685836792e-01 -2.9507899284362793e-01 <_> 0 -1 891 9.5769003033638000e-02 1.3246500492095947e-01 -4.6266800165176392e-01 <_> 0 -1 892 1.3686999678611755e-02 1.1738699674606323e-01 -5.1664102077484131e-01 <_> 0 -1 893 2.3990001063793898e-03 -3.4007599949836731e-01 2.0953500270843506e-01 <_> 0 -1 894 3.3264998346567154e-02 -1.7052799463272095e-01 1.4366799592971802e+00 <_> 0 -1 895 -3.3206000924110413e-02 6.1295700073242188e-01 -4.1549999266862869e-02 <_> 0 -1 896 2.7979998849332333e-03 -4.8554301261901855e-01 1.3372699916362762e-01 <_> 0 -1 897 -6.5792001783847809e-02 -4.0257668495178223e+00 1.0876700282096863e-01 <_> 0 -1 898 2.1430000197142363e-03 -3.9179998636245728e-01 2.2427099943161011e-01 <_> 0 -1 899 2.2363999858498573e-02 -8.6429998278617859e-02 3.7785199284553528e-01 <_> 0 -1 900 -5.7410001754760742e-02 1.1454069614410400e+00 -1.9736599922180176e-01 <_> 0 -1 901 6.6550001502037048e-03 -2.1105000749230385e-02 5.8453398942947388e-01 <_> 0 -1 902 1.2326999567449093e-02 3.7817001342773438e-02 -6.6987001895904541e-01 <_> 0 -1 903 -8.1869997084140778e-03 5.6366002559661865e-01 -7.6877996325492859e-02 <_> 0 -1 904 3.6681000143289566e-02 -1.7343300580978394e-01 1.1670149564743042e+00 <_> 0 -1 905 -4.0220400691032410e-01 1.2640819549560547e+00 4.3398998677730560e-02 <_> 0 -1 906 -2.2126000374555588e-02 6.6978102922439575e-01 -2.1605299413204193e-01 <_> 0 -1 907 -1.3156999833881855e-02 -4.1198599338531494e-01 2.0215000212192535e-01 <_> 0 -1 908 -1.2860000133514404e-02 -9.1582697629928589e-01 3.9232999086380005e-02 <_> 0 -1 909 2.1627999842166901e-02 3.8719999138265848e-03 3.5668200254440308e-01 <_> 0 -1 910 1.1896000243723392e-02 -3.7303900718688965e-01 1.9235099852085114e-01 <_> 0 -1 911 -1.9548999145627022e-02 -4.2374899983406067e-01 2.4429599940776825e-01 <_> 0 -1 912 6.4444996416568756e-02 -1.6558900475502014e-01 1.2697030305862427e+00 <_> 0 -1 913 1.0898499935865402e-01 1.4894300699234009e-01 -2.1534640789031982e+00 <_> 0 -1 914 -3.4077998250722885e-02 1.3779460191726685e+00 -1.6198499500751495e-01 <_> 0 -1 915 -3.7489999085664749e-03 -3.3828601241111755e-01 2.1152900159358978e-01 <_> 0 -1 916 -1.0971999727189541e-02 7.6517897844314575e-01 -1.9692599773406982e-01 <_> 0 -1 917 -1.1485000140964985e-02 -6.9271200895309448e-01 2.1657100319862366e-01 <_> 0 -1 918 2.5984000414609909e-02 -1.1983999982476234e-02 -9.9697297811508179e-01 <_> 0 -1 919 4.2159999720752239e-03 -1.0205700248479843e-01 4.8884400725364685e-01 <_> 0 -1 920 -4.7697000205516815e-02 1.0666010379791260e+00 -1.7576299607753754e-01 <_> 0 -1 921 4.0300001273863018e-04 1.8524800240993500e-01 -7.4790000915527344e-01 <_> 0 -1 922 1.1539600044488907e-01 -2.2019700706005096e-01 5.4509997367858887e-01 <_> 0 -1 923 1.6021000221371651e-02 2.5487500429153442e-01 -5.0740098953247070e-01 <_> 0 -1 924 5.6632000952959061e-02 -1.1256000027060509e-02 -9.5968097448348999e-01 <_> 0 -1 925 -1.0726000182330608e-02 -2.8544700145721436e-01 1.6994799673557281e-01 <_> 0 -1 926 1.2420000135898590e-01 -3.6139998584985733e-02 -1.3132710456848145e+00 <_> 0 -1 927 -5.3799999877810478e-03 3.3092701435089111e-01 1.3307999819517136e-02 <_> 0 -1 928 1.1908000335097313e-02 -3.4830299019813538e-01 2.4041900038719177e-01 <_> 0 -1 929 -4.3007999658584595e-02 -1.4390469789505005e+00 1.5599599480628967e-01 <_> 0 -1 930 -3.3149998635053635e-02 -1.1805850267410278e+00 -1.2347999960184097e-02 <_> 0 -1 931 -2.1341999992728233e-02 2.2119441032409668e+00 6.2737002968788147e-02 <_> 0 -1 932 -1.2218999676406384e-02 -1.8709750175476074e+00 -4.5499999076128006e-02 <_> 0 -1 933 -1.6860999166965485e-02 -7.6912701129913330e-01 1.5330000221729279e-01 <_> 0 -1 934 -2.4999999441206455e-03 -6.2987399101257324e-01 5.1600001752376556e-02 <_> 0 -1 935 -4.5037999749183655e-02 8.5428899526596069e-01 6.2600001692771912e-03 <_> 0 -1 936 3.9057999849319458e-02 -3.2458998262882233e-02 -1.3325669765472412e+00 <_> 0 -1 937 6.6720000468194485e-03 -1.9423599541187286e-01 3.7328699231147766e-01 <_> 0 -1 938 -1.6361000016331673e-02 2.0605869293212891e+00 -1.5042699873447418e-01 <_> 0 -1 939 6.1719999648630619e-03 -1.1610999703407288e-01 2.5455400347709656e-01 <_> 0 -1 940 4.5722000300884247e-02 -1.6340000554919243e-02 -1.0449140071868896e+00 <_> 0 -1 941 4.1209999471902847e-03 -4.1997998952865601e-02 3.9680999517440796e-01 <_> 0 -1 942 -1.7800000205170363e-04 -6.6422599554061890e-01 3.3443000167608261e-02 <_> 0 -1 943 7.1109998971223831e-03 -5.8231998234987259e-02 3.7857300043106079e-01 <_> 0 -1 944 -4.9864001572132111e-02 6.1019402742385864e-01 -2.1005700528621674e-01 <_> 0 -1 945 -2.5011999532580376e-02 -5.7100099325180054e-01 1.7848399281501770e-01 <_> 0 -1 946 3.0939999967813492e-02 5.6363001465797424e-02 -6.4731001853942871e-01 <_> 0 -1 947 4.6271000057458878e-02 1.7482399940490723e-01 -9.8909401893615723e-01 <_> 0 -1 948 -3.1870000530034304e-03 -6.6804802417755127e-01 3.2267000526189804e-02 <_> 0 -1 949 -2.4351999163627625e-02 2.9444900155067444e-01 -1.3599999947473407e-03 <_> 0 -1 950 1.1974000371992588e-02 -2.8345099091529846e-01 4.7171199321746826e-01 <_> 0 -1 951 1.3070000335574150e-02 -1.0834600031375885e-01 5.7193297147750854e-01 <_> 0 -1 952 5.9163000434637070e-02 -5.0939001142978668e-02 -1.9059720039367676e+00 <_> 0 -1 953 -4.1094999760389328e-02 4.5104598999023438e-01 -9.7599998116493225e-03 <_> 0 -1 954 -8.3989001810550690e-02 -2.0349199771881104e+00 -5.1019001752138138e-02 <_> 0 -1 955 4.4619001448154449e-02 1.7041100561618805e-01 -1.2278720140457153e+00 <_> 0 -1 956 2.4419000372290611e-02 -2.1796999499201775e-02 -1.0822949409484863e+00 <_> 0 -1 957 -4.3870001100003719e-03 3.0466699600219727e-01 -3.7066599726676941e-01 <_> 0 -1 958 2.4607999250292778e-02 -3.1169500946998596e-01 2.3657299578189850e-01 <_> 0 -1 959 -8.5182003676891327e-02 -1.7982350587844849e+00 1.5254299342632294e-01 <_> 0 -1 960 2.1844999864697456e-02 -5.1888000220060349e-02 -1.9017189741134644e+00 <_> 0 -1 961 -1.6829000785946846e-02 2.1025900542736053e-01 2.1656999364495277e-02 <_> 0 -1 962 3.2547999173402786e-02 -2.0292599499225616e-01 6.0944002866744995e-01 <_> 0 -1 963 2.4709999561309814e-03 -9.5371198654174805e-01 1.8568399548530579e-01 <_> 0 -1 964 5.5415999144315720e-02 -1.4405299723148346e-01 2.1506340503692627e+00 <_> 0 -1 965 -1.0635499656200409e-01 -1.0911970138549805e+00 1.3228000700473785e-01 <_> 0 -1 966 -7.9889995977282524e-03 1.0253400355577469e-01 -5.1744902133941650e-01 <_> 0 -1 967 7.5567997992038727e-02 5.8965001255273819e-02 1.2354209423065186e+00 <_> 0 -1 968 -9.2805996537208557e-02 -1.3431650400161743e+00 -3.4462999552488327e-02 <_> 0 -1 969 4.9431998282670975e-02 4.9601998180150986e-02 1.6054730415344238e+00 <_> 0 -1 970 -1.1772999539971352e-02 -1.0261050462722778e+00 -4.1559999808669090e-03 <_> 0 -1 971 8.5886001586914062e-02 8.4642998874187469e-02 9.5220798254013062e-01 <_> 0 -1 972 8.1031002104282379e-02 -1.4687100052833557e-01 1.9359990358352661e+00 <_> 136 -3.4265899658203125e+00 <_> 0 -1 973 -3.3840999007225037e-02 6.5889501571655273e-01 -6.9755297899246216e-01 <_> 0 -1 974 1.5410000458359718e-02 -9.0728402137756348e-01 3.0478599667549133e-01 <_> 0 -1 975 5.4905999451875687e-02 -4.9774798750877380e-01 5.7132601737976074e-01 <_> 0 -1 976 2.1390000358223915e-02 -4.2565199732780457e-01 5.8096802234649658e-01 <_> 0 -1 977 7.8849997371435165e-03 -4.7905999422073364e-01 4.3016499280929565e-01 <_> 0 -1 978 -3.7544999271631241e-02 5.0861597061157227e-01 -1.9985899329185486e-01 <_> 0 -1 979 1.5925799310207367e-01 -2.3263600468635559e-01 1.0993319749832153e+00 <_> 0 -1 980 -6.8939998745918274e-02 4.0569001436233521e-01 5.6855000555515289e-02 <_> 0 -1 981 -3.3695001155138016e-02 4.5132800936698914e-01 -3.3332800865173340e-01 <_> 0 -1 982 -6.3314996659755707e-02 -8.5015702247619629e-01 2.2341699898242950e-01 <_> 0 -1 983 7.3699997738003731e-03 -9.3082201480865479e-01 5.9216998517513275e-02 <_> 0 -1 984 -9.5969997346401215e-03 -1.2794899940490723e+00 1.8447299301624298e-01 <_> 0 -1 985 -1.3067999482154846e-01 5.8426898717880249e-01 -2.6007199287414551e-01 <_> 0 -1 986 5.7402998208999634e-02 -5.3789000958204269e-02 7.1175599098205566e-01 <_> 0 -1 987 -7.2340001352131367e-03 -8.6962199211120605e-01 7.5214996933937073e-02 <_> 0 -1 988 3.1098999083042145e-02 -7.5006999075412750e-02 9.0781599283218384e-01 <_> 0 -1 989 3.5854000598192215e-02 -2.4795499444007874e-01 7.2272098064422607e-01 <_> 0 -1 990 -3.1534999608993530e-02 -1.1238329410552979e+00 2.0988300442695618e-01 <_> 0 -1 991 -1.9437000155448914e-02 -1.4499390125274658e+00 -1.5100000426173210e-02 <_> 0 -1 992 -7.2420001961290836e-03 5.3864902257919312e-01 -1.1375399678945541e-01 <_> 0 -1 993 8.1639997661113739e-03 6.6889002919197083e-02 -7.6872897148132324e-01 <_> 0 -1 994 -4.3653000146150589e-02 1.1413530111312866e+00 4.0217000991106033e-02 <_> 0 -1 995 2.6569999754428864e-02 -2.4719099700450897e-01 5.9295099973678589e-01 <_> 0 -1 996 3.2216999679803848e-02 -4.0024999529123306e-02 3.2688000798225403e-01 <_> 0 -1 997 -7.2236001491546631e-02 5.8729398250579834e-01 -2.5396001338958740e-01 <_> 0 -1 998 3.1424999237060547e-02 1.5315100550651550e-01 -5.6042098999023438e-01 <_> 0 -1 999 -4.7699999413453043e-04 1.6958899796009064e-01 -5.2626699209213257e-01 <_> 0 -1 1000 2.7189999818801880e-03 -1.4944599568843842e-01 2.9658699035644531e-01 <_> 0 -1 1001 3.2875001430511475e-02 -3.9943501353263855e-01 2.5156599283218384e-01 <_> 0 -1 1002 -1.4553000219166279e-02 2.7972599864006042e-01 -4.7203800082206726e-01 <_> 0 -1 1003 3.8017999380826950e-02 -2.9200001154094934e-03 -1.1300059556961060e+00 <_> 0 -1 1004 2.8659999370574951e-03 4.1111800074577332e-01 -2.6220801472663879e-01 <_> 0 -1 1005 -4.1606999933719635e-02 -1.4293819665908813e+00 -1.9132999703288078e-02 <_> 0 -1 1006 -2.4802999570965767e-02 -2.5013598799705505e-01 1.5978699922561646e-01 <_> 0 -1 1007 1.0098000057041645e-02 4.3738998472690582e-02 -6.9986099004745483e-01 <_> 0 -1 1008 -2.0947000011801720e-02 -9.4137799739837646e-01 2.3204000294208527e-01 <_> 0 -1 1009 2.2458000108599663e-02 -2.7185800671577454e-01 4.5319199562072754e-01 <_> 0 -1 1010 -3.7110999226570129e-02 -1.0314660072326660e+00 1.4421799778938293e-01 <_> 0 -1 1011 -1.0648000054061413e-02 6.3107001781463623e-01 -2.5520798563957214e-01 <_> 0 -1 1012 5.5422998964786530e-02 1.6206599771976471e-01 -1.7722640037536621e+00 <_> 0 -1 1013 2.1601999178528786e-02 -2.5016099214553833e-01 5.4119801521301270e-01 <_> 0 -1 1014 8.7000000348780304e-05 -2.9008901119232178e-01 3.3507999777793884e-01 <_> 0 -1 1015 1.4406000263988972e-02 -7.8840004280209541e-03 -1.1677219867706299e+00 <_> 0 -1 1016 1.0777399688959122e-01 1.1292000114917755e-01 -2.4940319061279297e+00 <_> 0 -1 1017 3.5943999886512756e-02 -1.9480599462985992e-01 9.5757502317428589e-01 <_> 0 -1 1018 -3.9510000497102737e-03 3.0927801132202148e-01 -2.5530201196670532e-01 <_> 0 -1 1019 2.0942000672221184e-02 -7.6319999061524868e-03 -1.0086350440979004e+00 <_> 0 -1 1020 -2.9877999797463417e-02 -4.6027699112892151e-01 1.9507199525833130e-01 <_> 0 -1 1021 2.5971999391913414e-02 -1.2187999673187733e-02 -1.0035500526428223e+00 <_> 0 -1 1022 1.0603000409901142e-02 -7.5969003140926361e-02 4.1669899225234985e-01 <_> 0 -1 1023 8.5819996893405914e-03 -2.6648598909378052e-01 3.9111500978469849e-01 <_> 0 -1 1024 2.1270999684929848e-02 1.8273900449275970e-01 -3.6052298545837402e-01 <_> 0 -1 1025 7.4518002569675446e-02 -1.8938399851322174e-01 9.2658001184463501e-01 <_> 0 -1 1026 4.6569998376071453e-03 -1.4506199955940247e-01 3.3294600248336792e-01 <_> 0 -1 1027 1.7119999974966049e-03 -5.2464002370834351e-01 8.9879997074604034e-02 <_> 0 -1 1028 9.8500004969537258e-04 -3.8381999731063843e-01 2.4392999708652496e-01 <_> 0 -1 1029 2.8233999386429787e-02 -5.7879998348653316e-03 -1.2617139816284180e+00 <_> 0 -1 1030 -3.2678000628948212e-02 -5.7953298091888428e-01 1.6955299675464630e-01 <_> 0 -1 1031 2.2536000236868858e-02 2.2281000390648842e-02 -8.7869602441787720e-01 <_> 0 -1 1032 -2.1657999604940414e-02 -6.5108501911163330e-01 1.2966899573802948e-01 <_> 0 -1 1033 7.6799998059868813e-03 -3.3965200185775757e-01 2.2013300657272339e-01 <_> 0 -1 1034 1.4592000283300877e-02 1.5077300369739532e-01 -5.0452399253845215e-01 <_> 0 -1 1035 2.7868000790476799e-02 -2.5045299530029297e-01 4.5741999149322510e-01 <_> 0 -1 1036 5.6940000504255295e-03 -1.0948500037193298e-01 5.5757802724838257e-01 <_> 0 -1 1037 -1.0002999566495419e-02 -9.7366297245025635e-01 1.8467999994754791e-02 <_> 0 -1 1038 -4.0719998069107533e-03 3.8222199678421021e-01 -1.6921100020408630e-01 <_> 0 -1 1039 -2.2593999281525612e-02 -1.0391089916229248e+00 5.1839998923242092e-03 <_> 0 -1 1040 -3.9579998701810837e-02 -5.5109229087829590e+00 1.1163999885320663e-01 <_> 0 -1 1041 -1.7537999898195267e-02 9.5485800504684448e-01 -1.8584500253200531e-01 <_> 0 -1 1042 9.0300003066658974e-03 1.0436000302433968e-02 8.2114797830581665e-01 <_> 0 -1 1043 -7.9539995640516281e-03 2.2632899880409241e-01 -3.4568199515342712e-01 <_> 0 -1 1044 2.7091000229120255e-02 1.6430099308490753e-01 -1.3926379680633545e+00 <_> 0 -1 1045 -2.0625999197363853e-02 -8.6366099119186401e-01 2.3880000226199627e-03 <_> 0 -1 1046 -7.1989998221397400e-02 -2.8192629814147949e+00 1.1570499837398529e-01 <_> 0 -1 1047 -2.6964999735355377e-02 -1.2946130037307739e+00 -2.4661000818014145e-02 <_> 0 -1 1048 -4.7377999871969223e-02 -8.1306397914886475e-01 1.1831399798393250e-01 <_> 0 -1 1049 -1.0895600169897079e-01 6.5937900543212891e-01 -2.0843900740146637e-01 <_> 0 -1 1050 1.3574000447988510e-02 7.4240001849830151e-03 5.3152197599411011e-01 <_> 0 -1 1051 -6.6920001991093159e-03 3.0655801296234131e-01 -3.1084299087524414e-01 <_> 0 -1 1052 -3.9070001803338528e-03 2.5576499104499817e-01 -5.2932001650333405e-02 <_> 0 -1 1053 -3.7613000720739365e-02 -1.4350049495697021e+00 -1.5448000282049179e-02 <_> 0 -1 1054 8.6329998448491096e-03 -1.6884399950504303e-01 4.2124900221824646e-01 <_> 0 -1 1055 -3.2097000628709793e-02 -6.4979398250579834e-01 4.1110001504421234e-02 <_> 0 -1 1056 5.8495998382568359e-02 -5.2963998168706894e-02 6.3368302583694458e-01 <_> 0 -1 1057 -4.0901999920606613e-02 -9.2101097106933594e-01 9.0640000998973846e-03 <_> 0 -1 1058 -1.9925000146031380e-02 5.3759998083114624e-01 -6.2996998429298401e-02 <_> 0 -1 1059 -4.6020001173019409e-03 -5.4333502054214478e-01 8.4104999899864197e-02 <_> 0 -1 1060 1.6824999824166298e-02 1.5563699603080750e-01 -4.0171200037002563e-01 <_> 0 -1 1061 9.4790002331137657e-03 -2.4245299398899078e-01 5.1509499549865723e-01 <_> 0 -1 1062 -1.9534999504685402e-02 -5.1118397712707520e-01 1.3831999897956848e-01 <_> 0 -1 1063 1.0746000334620476e-02 -2.1854999661445618e-01 6.2828701734542847e-01 <_> 0 -1 1064 3.7927001714706421e-02 1.1640299856662750e-01 -2.7301959991455078e+00 <_> 0 -1 1065 1.6390999779105186e-02 -1.4635999687016010e-02 -1.0797250270843506e+00 <_> 0 -1 1066 -1.9785000011324883e-02 1.2166420221328735e+00 3.3275000751018524e-02 <_> 0 -1 1067 1.1067000217735767e-02 -2.5388300418853760e-01 4.4038599729537964e-01 <_> 0 -1 1068 5.2479999139904976e-03 2.2496800124645233e-01 -2.4216499924659729e-01 <_> 0 -1 1069 -1.1141999624669552e-02 2.5018098950386047e-01 -3.0811500549316406e-01 <_> 0 -1 1070 -1.0666999965906143e-02 -3.2729101181030273e-01 2.6168298721313477e-01 <_> 0 -1 1071 1.0545299947261810e-01 -5.5750001221895218e-02 -1.9605729579925537e+00 <_> 0 -1 1072 5.4827999323606491e-02 -1.9519999623298645e-03 7.3866099119186401e-01 <_> 0 -1 1073 1.7760999500751495e-02 -3.0647200345993042e-01 2.6346999406814575e-01 <_> 0 -1 1074 -3.1185999512672424e-02 -2.4600900709629059e-01 1.7082199454307556e-01 <_> 0 -1 1075 -5.7296000421047211e-02 4.7033500671386719e-01 -2.6048299670219421e-01 <_> 0 -1 1076 -1.1312000453472137e-02 3.8628900051116943e-01 -2.8817000985145569e-01 <_> 0 -1 1077 3.0592000111937523e-02 -4.8826001584529877e-02 -1.7638969421386719e+00 <_> 0 -1 1078 1.8489999929443002e-03 2.1099899709224701e-01 -2.5940999388694763e-02 <_> 0 -1 1079 1.1419000104069710e-02 -1.6829599440097809e-01 1.0278660058975220e+00 <_> 0 -1 1080 8.1403002142906189e-02 1.1531999707221985e-01 -1.2482399940490723e+00 <_> 0 -1 1081 5.3495999425649643e-02 -4.6303998678922653e-02 -1.7165969610214233e+00 <_> 0 -1 1082 -2.3948000743985176e-02 -4.0246599912643433e-01 2.0562100410461426e-01 <_> 0 -1 1083 6.7690000869333744e-03 -3.3152300119400024e-01 2.0683400332927704e-01 <_> 0 -1 1084 -3.2343998551368713e-02 -7.2632801532745361e-01 2.0073500275611877e-01 <_> 0 -1 1085 3.7863001227378845e-02 -1.5631000697612762e-01 1.6697460412979126e+00 <_> 0 -1 1086 1.5440000221133232e-02 1.9487400352954865e-01 -3.5384199023246765e-01 <_> 0 -1 1087 -4.4376000761985779e-02 8.2093602418899536e-01 -1.8193599581718445e-01 <_> 0 -1 1088 -2.3102000355720520e-02 -4.3044099211692810e-01 1.2375400215387344e-01 <_> 0 -1 1089 1.9400000572204590e-02 -2.9726000502705574e-02 -1.1597590446472168e+00 <_> 0 -1 1090 1.0385700315237045e-01 1.1149899661540985e-01 -4.6835222244262695e+00 <_> 0 -1 1091 -1.8964000046253204e-02 2.1773819923400879e+00 -1.4544400572776794e-01 <_> 0 -1 1092 3.8750998675823212e-02 -4.9446001648902893e-02 3.4018298983573914e-01 <_> 0 -1 1093 2.2766999900341034e-02 -3.2802999019622803e-01 3.0531400442123413e-01 <_> 0 -1 1094 -3.1357001513242722e-02 1.1520819664001465e+00 2.7305999770760536e-02 <_> 0 -1 1095 9.6909999847412109e-03 -3.8799500465393066e-01 2.1512599289417267e-01 <_> 0 -1 1096 -4.9284998327493668e-02 -1.6774909496307373e+00 1.5774199366569519e-01 <_> 0 -1 1097 -3.9510998874902725e-02 -9.7647899389266968e-01 -1.0552000254392624e-02 <_> 0 -1 1098 4.7997999936342239e-02 2.0843900740146637e-01 -6.8992799520492554e-01 <_> 0 -1 1099 5.1422998309135437e-02 -1.6665300726890564e-01 1.2149239778518677e+00 <_> 0 -1 1100 1.4279999770224094e-02 2.3627699911594391e-01 -4.1396799683570862e-01 <_> 0 -1 1101 -9.1611996293067932e-02 -9.2830902338027954e-01 -1.8345000222325325e-02 <_> 0 -1 1102 6.5080001950263977e-03 -7.3647201061248779e-01 1.9497099518775940e-01 <_> 0 -1 1103 3.5723000764846802e-02 1.4197799563407898e-01 -4.2089301347732544e-01 <_> 0 -1 1104 5.0638001412153244e-02 1.1644000187516212e-02 7.8486597537994385e-01 <_> 0 -1 1105 -1.4613999985158443e-02 -1.1909500360488892e+00 -3.5128001123666763e-02 <_> 0 -1 1106 -3.8662999868392944e-02 2.4314730167388916e+00 6.5647996962070465e-02 <_> 0 -1 1107 -4.0346998721361160e-02 7.1755301952362061e-01 -1.9108299911022186e-01 <_> 0 -1 1108 2.3902000859379768e-02 1.5646199882030487e-01 -7.9294800758361816e-01 <_> 137 -3.5125269889831543e+00 <_> 0 -1 1109 8.5640000179409981e-03 -8.1450700759887695e-01 5.8875298500061035e-01 <_> 0 -1 1110 -1.3292600214481354e-01 9.3213397264480591e-01 -2.9367300868034363e-01 <_> 0 -1 1111 9.8400004208087921e-03 -5.6462901830673218e-01 4.1647699475288391e-01 <_> 0 -1 1112 5.0889998674392700e-03 -7.9232800006866455e-01 1.6975000500679016e-01 <_> 0 -1 1113 -6.1039000749588013e-02 -1.4169000387191772e+00 2.5020999833941460e-02 <_> 0 -1 1114 -4.6599999768659472e-04 3.7982499599456787e-01 -4.1567099094390869e-01 <_> 0 -1 1115 3.3889999613165855e-03 -4.0768599510192871e-01 3.5548499226570129e-01 <_> 0 -1 1116 2.1006999537348747e-02 -2.4080100655555725e-01 8.6112701892852783e-01 <_> 0 -1 1117 7.5559997931122780e-03 -8.7467199563980103e-01 9.8572000861167908e-02 <_> 0 -1 1118 2.4779999628663063e-02 1.5566200017929077e-01 -6.9229799509048462e-01 <_> 0 -1 1119 -3.5620000213384628e-02 -1.1472270488739014e+00 3.6359999328851700e-02 <_> 0 -1 1120 1.9810000434517860e-02 1.5516200661659241e-01 -6.9520097970962524e-01 <_> 0 -1 1121 1.5019999817013741e-02 4.1990000754594803e-02 -9.6622800827026367e-01 <_> 0 -1 1122 -2.3137999698519707e-02 4.3396899104118347e-01 2.4160000029951334e-03 <_> 0 -1 1123 -1.8743000924587250e-02 4.3481099605560303e-01 -3.2522499561309814e-01 <_> 0 -1 1124 4.5080000162124634e-01 -9.4573996961116791e-02 7.2421300411224365e-01 <_> 0 -1 1125 1.1854999698698521e-02 -3.8133099675178528e-01 3.0098399519920349e-01 <_> 0 -1 1126 -2.4830000475049019e-02 8.9300602674484253e-01 -1.0295899957418442e-01 <_> 0 -1 1127 -4.4743001461029053e-02 8.6280298233032227e-01 -2.1716499328613281e-01 <_> 0 -1 1128 -1.4600000344216824e-02 6.0069400072097778e-01 -1.5906299650669098e-01 <_> 0 -1 1129 -2.4527000263333321e-02 -1.5872869491577148e+00 -2.1817000582814217e-02 <_> 0 -1 1130 2.3024000227451324e-02 1.6853399574756622e-01 -3.8106900453567505e-01 <_> 0 -1 1131 -2.4917000904679298e-02 5.0810897350311279e-01 -2.7279898524284363e-01 <_> 0 -1 1132 1.0130000300705433e-03 -4.3138799071311951e-01 2.6438099145889282e-01 <_> 0 -1 1133 1.5603000298142433e-02 -3.1624200940132141e-01 5.5715900659561157e-01 <_> 0 -1 1134 -2.6685999706387520e-02 1.0553920269012451e+00 2.9074000194668770e-02 <_> 0 -1 1135 1.3940000208094716e-03 -7.1873801946640015e-01 6.5390996634960175e-02 <_> 0 -1 1136 -6.4799998654052615e-04 2.4884399771690369e-01 -2.0978200435638428e-01 <_> 0 -1 1137 -3.1888000667095184e-02 -6.8844497203826904e-01 6.3589997589588165e-02 <_> 0 -1 1138 -4.9290000461041927e-03 -5.9152501821517944e-01 2.7943599224090576e-01 <_> 0 -1 1139 3.1168000772595406e-02 4.5223999768495560e-02 -8.8639199733734131e-01 <_> 0 -1 1140 -3.3663000911474228e-02 -6.1590200662612915e-01 1.5749299526214600e-01 <_> 0 -1 1141 1.1966999620199203e-02 -3.0606698989868164e-01 4.2293301224708557e-01 <_> 0 -1 1142 -3.4680001437664032e-02 -1.3734940290451050e+00 1.5908700227737427e-01 <_> 0 -1 1143 9.9290004000067711e-03 -5.5860197544097900e-01 1.2119200080633163e-01 <_> 0 -1 1144 5.9574998915195465e-02 4.9720001406967640e-03 8.2055401802062988e-01 <_> 0 -1 1145 -6.5428003668785095e-02 1.5651429891586304e+00 -1.6817499697208405e-01 <_> 0 -1 1146 -9.2895999550819397e-02 -1.5794529914855957e+00 1.4661799371242523e-01 <_> 0 -1 1147 -4.1184000670909882e-02 -1.5518720149993896e+00 -2.9969999566674232e-02 <_> 0 -1 1148 2.1447999402880669e-02 1.7196300625801086e-01 -6.9343197345733643e-01 <_> 0 -1 1149 -2.5569999590516090e-02 -1.3061310052871704e+00 -2.4336999282240868e-02 <_> 0 -1 1150 -4.1200999170541763e-02 -1.3821059465408325e+00 1.4801800251007080e-01 <_> 0 -1 1151 -1.7668999731540680e-02 -7.0889997482299805e-01 3.6524001508951187e-02 <_> 0 -1 1152 9.0060001239180565e-03 -4.0913999080657959e-02 8.0373102426528931e-01 <_> 0 -1 1153 -1.1652999557554722e-02 5.7546800374984741e-01 -2.4991700053215027e-01 <_> 0 -1 1154 -7.4780001305043697e-03 -4.9280899763107300e-01 1.9810900092124939e-01 <_> 0 -1 1155 8.5499999113380909e-04 -4.8858100175857544e-01 1.3563099503517151e-01 <_> 0 -1 1156 -3.0538000166416168e-02 -6.0278397798538208e-01 1.8522000312805176e-01 <_> 0 -1 1157 -1.8846999853849411e-02 2.3565599322319031e-01 -3.5136300325393677e-01 <_> 0 -1 1158 -8.1129996106028557e-03 -8.1304997205734253e-02 2.1069599688053131e-01 <_> 0 -1 1159 -3.4830000251531601e-02 -1.2065670490264893e+00 -1.4251999557018280e-02 <_> 0 -1 1160 1.9021000713109970e-02 2.3349900543689728e-01 -4.5664900541305542e-01 <_> 0 -1 1161 -1.9004000350832939e-02 -8.1075799465179443e-01 1.3140000402927399e-02 <_> 0 -1 1162 -8.9057996869087219e-02 6.1542397737503052e-01 3.2983001321554184e-02 <_> 0 -1 1163 6.8620000965893269e-03 -2.9583099484443665e-01 2.7003699541091919e-01 <_> 0 -1 1164 -2.8240999206900597e-02 -6.1102700233459473e-01 1.7357499897480011e-01 <_> 0 -1 1165 -3.2099999953061342e-04 -5.3322899341583252e-01 6.8539001047611237e-02 <_> 0 -1 1166 -1.0829100012779236e-01 -1.2879559993743896e+00 1.1801700294017792e-01 <_> 0 -1 1167 1.5878999605774879e-02 -1.7072600126266479e-01 1.1103910207748413e+00 <_> 0 -1 1168 8.6859995499253273e-03 -1.0995099693536758e-01 4.6010500192642212e-01 <_> 0 -1 1169 -2.5234999135136604e-02 1.0220669507980347e+00 -1.8694299459457397e-01 <_> 0 -1 1170 -1.3508999720215797e-02 -7.8316599130630493e-01 1.4202600717544556e-01 <_> 0 -1 1171 -7.7149998396635056e-03 -8.8060700893402100e-01 1.1060000397264957e-02 <_> 0 -1 1172 7.1580000221729279e-02 1.1369399726390839e-01 -1.1032789945602417e+00 <_> 0 -1 1173 -1.3554000295698643e-02 -8.1096500158309937e-01 3.4080001059919596e-03 <_> 0 -1 1174 2.9450000729411840e-03 -7.2879999876022339e-02 3.4998100996017456e-01 <_> 0 -1 1175 -5.0833001732826233e-02 -1.2868590354919434e+00 -2.8842000290751457e-02 <_> 0 -1 1176 -8.7989997118711472e-03 4.7613599896430969e-01 -1.4690400660037994e-01 <_> 0 -1 1177 2.1424399316310883e-01 -5.9702001512050629e-02 -2.4802260398864746e+00 <_> 0 -1 1178 1.3962999917566776e-02 1.7420299351215363e-01 -4.3911001086235046e-01 <_> 0 -1 1179 4.2502000927925110e-02 -1.9965299963951111e-01 7.0654797554016113e-01 <_> 0 -1 1180 1.9827999174594879e-02 -6.9136001169681549e-02 6.1643397808074951e-01 <_> 0 -1 1181 -3.3560000360012054e-02 -1.2740780115127563e+00 -2.5673000141978264e-02 <_> 0 -1 1182 6.3542999327182770e-02 1.2403500080108643e-01 -1.0776289701461792e+00 <_> 0 -1 1183 2.1933000534772873e-02 1.4952000230550766e-02 -7.1023499965667725e-01 <_> 0 -1 1184 -7.8424997627735138e-02 6.2033998966217041e-01 3.3610999584197998e-02 <_> 0 -1 1185 1.4390000142157078e-02 -3.6324599385261536e-01 1.7308300733566284e-01 <_> 0 -1 1186 -6.7309997975826263e-02 5.2374100685119629e-01 1.2799999676644802e-02 <_> 0 -1 1187 1.3047499954700470e-01 -1.7122499644756317e-01 1.1235200166702271e+00 <_> 0 -1 1188 -4.6245999634265900e-02 -1.1908329725265503e+00 1.7425599694252014e-01 <_> 0 -1 1189 -2.9842000454664230e-02 8.3930599689483643e-01 -1.8064199388027191e-01 <_> 0 -1 1190 -3.8099999073892832e-04 3.5532799363136292e-01 -2.3842300474643707e-01 <_> 0 -1 1191 -2.2378999739885330e-02 -8.7943899631500244e-01 -7.8399997437372804e-04 <_> 0 -1 1192 -1.5569999814033508e-03 -1.4253300428390503e-01 2.5876200199127197e-01 <_> 0 -1 1193 1.2013000436127186e-02 -2.9015499353408813e-01 2.6051101088523865e-01 <_> 0 -1 1194 2.4384999647736549e-02 -3.1438998878002167e-02 5.8695900440216064e-01 <_> 0 -1 1195 -4.7180999070405960e-02 6.9430100917816162e-01 -2.1816100180149078e-01 <_> 0 -1 1196 -2.4893999099731445e-02 -6.4599299430847168e-01 1.5611599385738373e-01 <_> 0 -1 1197 2.1944999694824219e-02 -2.7742000296711922e-02 -1.1346880197525024e+00 <_> 0 -1 1198 1.8809899687767029e-01 -1.0076000355184078e-02 1.2429029941558838e+00 <_> 0 -1 1199 -7.7872000634670258e-02 8.5008001327514648e-01 -1.9015499949455261e-01 <_> 0 -1 1200 -4.8769000917673111e-02 -2.0763080120086670e+00 1.2179400026798248e-01 <_> 0 -1 1201 -1.7115000635385513e-02 -8.5687297582626343e-01 7.8760003671050072e-03 <_> 0 -1 1202 -2.7499999850988388e-03 3.8645499944686890e-01 -1.1391499638557434e-01 <_> 0 -1 1203 -9.8793998360633850e-02 -1.7233899831771851e+00 -5.6063000112771988e-02 <_> 0 -1 1204 -2.1936999633908272e-02 5.4749399423599243e-01 -4.2481999844312668e-02 <_> 0 -1 1205 6.1096999794244766e-02 -3.8945000618696213e-02 -1.0807880163192749e+00 <_> 0 -1 1206 -2.4563999846577644e-02 5.8311098814010620e-01 -9.7599998116493225e-04 <_> 0 -1 1207 3.3752001821994781e-02 -1.3795999810099602e-02 -8.4730297327041626e-01 <_> 0 -1 1208 3.8199000060558319e-02 1.5114299952983856e-01 -7.9473400115966797e-01 <_> 0 -1 1209 -2.0117999985814095e-02 5.1579099893569946e-01 -2.1445399522781372e-01 <_> 0 -1 1210 2.4734999984502792e-02 -2.2105000913143158e-02 4.2917698621749878e-01 <_> 0 -1 1211 -2.4357000365853310e-02 -8.6201298236846924e-01 -3.6760000512003899e-03 <_> 0 -1 1212 -2.6442000642418861e-02 -4.5397499203681946e-01 2.2462800145149231e-01 <_> 0 -1 1213 -3.4429999068379402e-03 1.3073000311851501e-01 -3.8622701168060303e-01 <_> 0 -1 1214 1.0701700299978256e-01 1.3158600032329559e-01 -7.9306900501251221e-01 <_> 0 -1 1215 4.5152999460697174e-02 -2.5296801328659058e-01 4.0672400593757629e-01 <_> 0 -1 1216 4.4349998235702515e-02 2.2613000124692917e-02 7.9618102312088013e-01 <_> 0 -1 1217 1.0839999886229634e-03 -3.9158400893211365e-01 1.1639100313186646e-01 <_> 0 -1 1218 7.1433000266551971e-02 8.2466997206211090e-02 1.2530590295791626e+00 <_> 0 -1 1219 3.5838000476360321e-02 -1.8203300237655640e-01 7.7078700065612793e-01 <_> 0 -1 1220 -2.0839000120759010e-02 -6.1744397878646851e-01 1.5891399979591370e-01 <_> 0 -1 1221 4.2525801062583923e-01 -4.8978000879287720e-02 -1.8422030210494995e+00 <_> 0 -1 1222 1.1408000253140926e-02 1.7918199300765991e-01 -1.5383499860763550e-01 <_> 0 -1 1223 -1.5364999882876873e-02 -8.4016501903533936e-01 -1.0280000278726220e-03 <_> 0 -1 1224 -1.5212000347673893e-02 -1.8995699286460876e-01 1.7130999267101288e-01 <_> 0 -1 1225 -1.8972000107169151e-02 -7.9541999101638794e-01 6.6800001077353954e-03 <_> 0 -1 1226 -3.3330000005662441e-03 -2.3530800640583038e-01 2.4730099737644196e-01 <_> 0 -1 1227 9.3248002231121063e-02 -5.4758001118898392e-02 -1.8324300050735474e+00 <_> 0 -1 1228 -1.2555000372231007e-02 2.6385200023651123e-01 -3.8526400923728943e-01 <_> 0 -1 1229 -2.7070000767707825e-02 -6.6929799318313599e-01 2.0340999588370323e-02 <_> 0 -1 1230 -2.3677000775933266e-02 6.7265301942825317e-01 -1.4344000257551670e-02 <_> 0 -1 1231 -1.4275000430643559e-02 3.0186399817466736e-01 -2.8514400124549866e-01 <_> 0 -1 1232 2.8096999973058701e-02 1.4766000211238861e-01 -1.4078520536422729e+00 <_> 0 -1 1233 5.0840001553297043e-02 -1.8613600730895996e-01 7.9953002929687500e-01 <_> 0 -1 1234 1.1505999602377415e-02 1.9118399918079376e-01 -8.5035003721714020e-02 <_> 0 -1 1235 -1.4661000110208988e-02 4.5239299535751343e-01 -2.2205199301242828e-01 <_> 0 -1 1236 2.2842499613761902e-01 1.3488399982452393e-01 -1.2894610166549683e+00 <_> 0 -1 1237 1.1106900125741959e-01 -2.0753799378871918e-01 5.4561597108840942e-01 <_> 0 -1 1238 3.2450000289827585e-03 3.2053700089454651e-01 -1.6403500735759735e-01 <_> 0 -1 1239 8.5309997200965881e-02 -2.0210500061511993e-01 5.3296798467636108e-01 <_> 0 -1 1240 2.2048000246286392e-02 1.5698599815368652e-01 -1.7014099657535553e-01 <_> 0 -1 1241 -1.5676999464631081e-02 -6.2863498926162720e-01 4.0761999785900116e-02 <_> 0 -1 1242 3.3112901449203491e-01 1.6609300673007965e-01 -1.0326379537582397e+00 <_> 0 -1 1243 8.8470000773668289e-03 -2.5076198577880859e-01 3.1660598516464233e-01 <_> 0 -1 1244 4.6080000698566437e-02 1.5352100133895874e-01 -1.6333500146865845e+00 <_> 0 -1 1245 -3.7703000009059906e-02 5.6873798370361328e-01 -2.0102599263191223e-01 <_> 159 -3.5939640998840332e+00 <_> 0 -1 1246 -8.1808999180793762e-02 5.7124799489974976e-01 -6.7438799142837524e-01 <_> 0 -1 1247 2.1761199831962585e-01 -3.8610199093818665e-01 9.0343999862670898e-01 <_> 0 -1 1248 1.4878000132739544e-02 2.2241599857807159e-01 -1.2779350280761719e+00 <_> 0 -1 1249 5.2434999495744705e-02 -2.8690400719642639e-01 7.5742298364639282e-01 <_> 0 -1 1250 9.1429995372891426e-03 -6.4880400896072388e-01 2.2268800437450409e-01 <_> 0 -1 1251 7.9169999808073044e-03 -2.9253599047660828e-01 3.1030198931694031e-01 <_> 0 -1 1252 -2.6084000244736671e-02 4.5532700419425964e-01 -3.8500601053237915e-01 <_> 0 -1 1253 -2.9400000348687172e-03 -5.1264399290084839e-01 2.7432298660278320e-01 <_> 0 -1 1254 5.7130001485347748e-02 1.5788000077009201e-02 -1.2133100032806396e+00 <_> 0 -1 1255 -6.1309998854994774e-03 3.9174601435661316e-01 -3.0866798758506775e-01 <_> 0 -1 1256 -4.0405001491308212e-02 1.1901949644088745e+00 -2.0347100496292114e-01 <_> 0 -1 1257 -2.0297000184655190e-02 -6.8239498138427734e-01 2.0458699762821198e-01 <_> 0 -1 1258 -1.7188999801874161e-02 -8.4939897060394287e-01 3.8433000445365906e-02 <_> 0 -1 1259 -2.4215999990701675e-02 -1.1039420366287231e+00 1.5975099802017212e-01 <_> 0 -1 1260 5.6869000196456909e-02 -1.9595299661159515e-01 1.1806850433349609e+00 <_> 0 -1 1261 3.6199999158270657e-04 -4.0847799181938171e-01 3.2938599586486816e-01 <_> 0 -1 1262 9.9790003150701523e-03 -2.9673001170158386e-01 4.1547900438308716e-01 <_> 0 -1 1263 -5.2625000476837158e-02 -1.3069299459457397e+00 1.7862600088119507e-01 <_> 0 -1 1264 -1.3748999685049057e-02 2.3665800690650940e-01 -4.4536599516868591e-01 <_> 0 -1 1265 -3.0517000705003738e-02 2.9018300771713257e-01 -1.1210100352764130e-01 <_> 0 -1 1266 -3.0037501454353333e-01 -2.4237680435180664e+00 -4.2830999940633774e-02 <_> 0 -1 1267 -3.5990998148918152e-02 8.8206499814987183e-01 -4.7012999653816223e-02 <_> 0 -1 1268 -5.5112000554800034e-02 8.0119001865386963e-01 -2.0490999519824982e-01 <_> 0 -1 1269 3.3762000501155853e-02 1.4617599546909332e-01 -1.1349489688873291e+00 <_> 0 -1 1270 -8.2710003480315208e-03 -8.1604897975921631e-01 1.8988000229001045e-02 <_> 0 -1 1271 -5.4399999789893627e-03 -7.0980900526046753e-01 2.2343699634075165e-01 <_> 0 -1 1272 3.1059999018907547e-03 -7.2808599472045898e-01 4.0224999189376831e-02 <_> 0 -1 1273 5.3651999682188034e-02 1.7170900106430054e-01 -1.1163710355758667e+00 <_> 0 -1 1274 -1.2541399896144867e-01 2.7680370807647705e+00 -1.4611500501632690e-01 <_> 0 -1 1275 9.2542000114917755e-02 1.1609800159931183e-01 -3.9635529518127441e+00 <_> 0 -1 1276 3.8513999432325363e-02 -7.6399999670684338e-03 -9.8780900239944458e-01 <_> 0 -1 1277 -2.0200000144541264e-03 2.3059999942779541e-01 -7.4970299005508423e-01 <_> 0 -1 1278 9.7599998116493225e-03 -3.1137999892234802e-01 3.0287799239158630e-01 <_> 0 -1 1279 2.4095000699162483e-02 -4.9529999494552612e-02 5.2690100669860840e-01 <_> 0 -1 1280 -1.7982000485062599e-02 -1.1610640287399292e+00 -5.7000000961124897e-03 <_> 0 -1 1281 -1.0555000044405460e-02 -2.7189099788665771e-01 2.3597699403762817e-01 <_> 0 -1 1282 -7.2889998555183411e-03 -5.4219102859497070e-01 8.1914000213146210e-02 <_> 0 -1 1283 2.3939000442624092e-02 1.7975799739360809e-01 -6.7049497365951538e-01 <_> 0 -1 1284 -1.8365999683737755e-02 6.2664300203323364e-01 -2.0970100164413452e-01 <_> 0 -1 1285 1.5715999528765678e-02 2.4193699657917023e-01 -1.0444309711456299e+00 <_> 0 -1 1286 -4.8804000020027161e-02 -9.4060599803924561e-01 -3.7519999314099550e-03 <_> 0 -1 1287 6.7130001261830330e-03 -7.5432002544403076e-02 6.1575299501419067e-01 <_> 0 -1 1288 9.7770001739263535e-03 3.9285000413656235e-02 -8.4810298681259155e-01 <_> 0 -1 1289 1.4744999818503857e-02 1.6968999803066254e-01 -5.0906401872634888e-01 <_> 0 -1 1290 9.7079001367092133e-02 -3.3103000372648239e-02 -1.2706379890441895e+00 <_> 0 -1 1291 4.8285998404026031e-02 9.4329997897148132e-02 2.7203190326690674e+00 <_> 0 -1 1292 9.7810002043843269e-03 -3.9533400535583496e-01 1.5363800525665283e-01 <_> 0 -1 1293 -3.9893999695777893e-02 -2.2767400741577148e-01 1.3913999497890472e-01 <_> 0 -1 1294 2.2848000749945641e-02 -2.7391999959945679e-01 3.4199500083923340e-01 <_> 0 -1 1295 6.7179999314248562e-03 -1.0874299705028534e-01 4.8125401139259338e-01 <_> 0 -1 1296 5.9599999338388443e-02 -4.9522001296281815e-02 -2.0117089748382568e+00 <_> 0 -1 1297 6.9340001791715622e-03 1.5037499368190765e-01 -1.1271899938583374e-01 <_> 0 -1 1298 1.5757000073790550e-02 -2.0885000005364418e-02 -1.1651979684829712e+00 <_> 0 -1 1299 -4.9690000712871552e-02 -8.0213499069213867e-01 1.4372299611568451e-01 <_> 0 -1 1300 5.2347000688314438e-02 -2.0836700499057770e-01 6.1677598953247070e-01 <_> 0 -1 1301 2.2430999204516411e-02 2.0305900275707245e-01 -7.5326198339462280e-01 <_> 0 -1 1302 4.1142001748085022e-02 -1.8118199706077576e-01 1.0033359527587891e+00 <_> 0 -1 1303 -2.1632000803947449e-02 4.9998998641967773e-01 -3.4662999212741852e-02 <_> 0 -1 1304 -8.2808002829551697e-02 1.1711900234222412e+00 -1.8433600664138794e-01 <_> 0 -1 1305 8.5060000419616699e-03 -6.3225001096725464e-02 2.9024899005889893e-01 <_> 0 -1 1306 7.8905001282691956e-02 -2.3274500668048859e-01 5.9695798158645630e-01 <_> 0 -1 1307 -9.0207003057003021e-02 -8.2211899757385254e-01 1.7772200703620911e-01 <_> 0 -1 1308 -2.9269000515341759e-02 6.0860699415206909e-01 -2.1468900144100189e-01 <_> 0 -1 1309 6.9499998353421688e-03 -4.2665999382734299e-02 6.0512101650238037e-01 <_> 0 -1 1310 -8.0629996955394745e-03 -1.1508270502090454e+00 -2.7286000549793243e-02 <_> 0 -1 1311 1.9595999270677567e-02 -9.1880001127719879e-03 5.6857800483703613e-01 <_> 0 -1 1312 -1.4884999953210354e-02 3.7658798694610596e-01 -2.7149501442909241e-01 <_> 0 -1 1313 2.5217000395059586e-02 -9.9991001188755035e-02 2.4664700031280518e-01 <_> 0 -1 1314 -1.5855999663472176e-02 6.6826701164245605e-01 -2.0614700019359589e-01 <_> 0 -1 1315 2.9441000893712044e-02 1.5832200646400452e-01 -7.6060897111892700e-01 <_> 0 -1 1316 -8.5279997438192368e-03 3.8212299346923828e-01 -2.5407800078392029e-01 <_> 0 -1 1317 2.4421999230980873e-02 1.5105099976062775e-01 -2.8752899169921875e-01 <_> 0 -1 1318 -3.3886998891830444e-02 -6.8002802133560181e-01 3.4327000379562378e-02 <_> 0 -1 1319 -2.0810000132769346e-03 2.5413900613784790e-01 -2.6859098672866821e-01 <_> 0 -1 1320 3.0358999967575073e-02 -3.0842000618577003e-02 -1.1476809978485107e+00 <_> 0 -1 1321 4.0210001170635223e-03 -3.5253798961639404e-01 2.9868099093437195e-01 <_> 0 -1 1322 2.7681000530719757e-02 -3.8148999214172363e-02 -1.3262039422988892e+00 <_> 0 -1 1323 7.9039996489882469e-03 -2.3737000301480293e-02 7.0503002405166626e-01 <_> 0 -1 1324 4.4031001627445221e-02 1.0674899816513062e-01 -4.5261201262474060e-01 <_> 0 -1 1325 -3.2370999455451965e-02 4.6674901247024536e-01 -6.1546999961137772e-02 <_> 0 -1 1326 2.0933000370860100e-02 -2.8447899222373962e-01 4.3845599889755249e-01 <_> 0 -1 1327 2.5227999314665794e-02 -2.2537000477313995e-02 7.0389097929000854e-01 <_> 0 -1 1328 6.5520000644028187e-03 -3.2554900646209717e-01 2.4023699760437012e-01 <_> 0 -1 1329 -5.8557998389005661e-02 -1.2227720022201538e+00 1.1668799817562103e-01 <_> 0 -1 1330 3.1899999827146530e-02 -1.9305000081658363e-02 -1.0973169803619385e+00 <_> 0 -1 1331 -3.0445000156760216e-02 6.5582501888275146e-01 7.5090996921062469e-02 <_> 0 -1 1332 1.4933000318706036e-02 -5.2155798673629761e-01 1.1523099988698959e-01 <_> 0 -1 1333 -4.9008000642061234e-02 -7.8303998708724976e-01 1.6657200455665588e-01 <_> 0 -1 1334 8.3158999681472778e-02 -2.6879999786615372e-03 -8.5282301902770996e-01 <_> 0 -1 1335 2.3902999237179756e-02 -5.1010999828577042e-02 4.1999098658561707e-01 <_> 0 -1 1336 1.6428999602794647e-02 1.9232999533414841e-02 -6.5049099922180176e-01 <_> 0 -1 1337 -1.1838000267744064e-02 -6.2409800291061401e-01 1.5411199629306793e-01 <_> 0 -1 1338 -1.6799999866634607e-04 1.7589199542999268e-01 -3.4338700771331787e-01 <_> 0 -1 1339 1.9193999469280243e-02 4.3418999761343002e-02 7.9069197177886963e-01 <_> 0 -1 1340 -1.0032000020146370e-02 4.5648899674415588e-01 -2.2494800388813019e-01 <_> 0 -1 1341 -1.4004000462591648e-02 3.3570998907089233e-01 -4.8799999058246613e-03 <_> 0 -1 1342 -1.0319899767637253e-01 -2.3378000259399414e+00 -5.8933001011610031e-02 <_> 0 -1 1343 -9.5697000622749329e-02 -6.6153901815414429e-01 2.0098599791526794e-01 <_> 0 -1 1344 -4.1480999439954758e-02 4.5939201116561890e-01 -2.2314099967479706e-01 <_> 0 -1 1345 2.4099999573081732e-03 -2.6898598670959473e-01 2.4922999739646912e-01 <_> 0 -1 1346 1.0724999755620956e-01 -1.8640199303627014e-01 7.2769802808761597e-01 <_> 0 -1 1347 3.1870000530034304e-03 -2.4608999490737915e-02 2.8643900156021118e-01 <_> 0 -1 1348 2.9167000204324722e-02 -3.4683000296354294e-02 -1.1162580251693726e+00 <_> 0 -1 1349 1.1287000030279160e-02 6.3760001212358475e-03 6.6632097959518433e-01 <_> 0 -1 1350 -1.2001000344753265e-02 4.2420101165771484e-01 -2.6279801130294800e-01 <_> 0 -1 1351 -1.2695999816060066e-02 -2.1957000717520714e-02 1.8936799466609955e-01 <_> 0 -1 1352 2.4597000330686569e-02 -3.4963998943567276e-02 -1.0989320278167725e+00 <_> 0 -1 1353 4.5953001827001572e-02 1.1109799891710281e-01 -2.9306049346923828e+00 <_> 0 -1 1354 -2.7241000905632973e-02 2.9101699590682983e-01 -2.7407899498939514e-01 <_> 0 -1 1355 4.0063999593257904e-02 1.1877900362014771e-01 -6.2801802158355713e-01 <_> 0 -1 1356 2.3055000230669975e-02 1.4813800156116486e-01 -3.7007498741149902e-01 <_> 0 -1 1357 -2.3737000301480293e-02 -5.3724801540374756e-01 1.9358199834823608e-01 <_> 0 -1 1358 7.7522002160549164e-02 -6.0194000601768494e-02 -1.9489669799804688e+00 <_> 0 -1 1359 -1.3345000334084034e-02 -4.5229598879814148e-01 1.8741500377655029e-01 <_> 0 -1 1360 -2.1719999611377716e-02 1.2144249677658081e+00 -1.5365800261497498e-01 <_> 0 -1 1361 -7.1474999189376831e-02 -2.3047130107879639e+00 1.0999900102615356e-01 <_> 0 -1 1362 -5.4999999701976776e-03 -7.1855199337005615e-01 2.0100999623537064e-02 <_> 0 -1 1363 2.6740999892354012e-02 7.3545001447200775e-02 9.8786002397537231e-01 <_> 0 -1 1364 -3.9407998323440552e-02 -1.2227380275726318e+00 -4.3506998568773270e-02 <_> 0 -1 1365 2.5888999924063683e-02 1.3409300148487091e-01 -1.1770780086517334e+00 <_> 0 -1 1366 4.8925001174211502e-02 -3.0810000374913216e-02 -9.3479502201080322e-01 <_> 0 -1 1367 3.6892998963594437e-02 1.3333700597286224e-01 -1.4998290538787842e+00 <_> 0 -1 1368 7.8929997980594635e-02 -1.4538800716400146e-01 1.5631790161132812e+00 <_> 0 -1 1369 2.9006000608205795e-02 1.9383700191974640e-01 -6.7642802000045776e-01 <_> 0 -1 1370 6.3089998438954353e-03 -3.7465399503707886e-01 1.0857500135898590e-01 <_> 0 -1 1371 -6.5830998122692108e-02 8.1059402227401733e-01 3.0201999470591545e-02 <_> 0 -1 1372 -6.8965002894401550e-02 8.3772599697113037e-01 -1.7140999436378479e-01 <_> 0 -1 1373 -1.1669100075960159e-01 -9.4647198915481567e-01 1.3123199343681335e-01 <_> 0 -1 1374 -1.3060000492259860e-03 4.6007998287677765e-02 -5.2011597156524658e-01 <_> 0 -1 1375 -4.4558998197317123e-02 -1.9423669576644897e+00 1.3200700283050537e-01 <_> 0 -1 1376 5.1033001393079758e-02 -2.1480999886989594e-01 4.8673900961875916e-01 <_> 0 -1 1377 -3.1578000634908676e-02 5.9989798069000244e-01 7.9159997403621674e-03 <_> 0 -1 1378 2.1020000800490379e-02 -2.2069500386714935e-01 5.4046201705932617e-01 <_> 0 -1 1379 -1.3824200630187988e-01 6.2957501411437988e-01 -2.1712999790906906e-02 <_> 0 -1 1380 5.2228998392820358e-02 -2.3360900580883026e-01 4.9760800600051880e-01 <_> 0 -1 1381 2.5884000584483147e-02 1.8041999638080597e-01 -2.2039200365543365e-01 <_> 0 -1 1382 -1.2138999998569489e-02 -6.9731897115707397e-01 1.5712000429630280e-02 <_> 0 -1 1383 -2.4237999692559242e-02 3.4593299031257629e-01 7.1469999849796295e-02 <_> 0 -1 1384 -2.5272000581026077e-02 -8.7583297491073608e-01 -9.8240002989768982e-03 <_> 0 -1 1385 1.2597000226378441e-02 2.3649999499320984e-01 -2.8731200098991394e-01 <_> 0 -1 1386 5.7330999523401260e-02 -6.1530999839305878e-02 -2.2326040267944336e+00 <_> 0 -1 1387 1.6671000048518181e-02 -1.9850100576877594e-01 4.0810701251029968e-01 <_> 0 -1 1388 -2.2818999364972115e-02 9.6487599611282349e-01 -2.0245699584484100e-01 <_> 0 -1 1389 3.7000001611886546e-05 -5.8908998966217041e-02 2.7055400609970093e-01 <_> 0 -1 1390 -7.6700001955032349e-03 -4.5317101478576660e-01 8.9628003537654877e-02 <_> 0 -1 1391 9.4085998833179474e-02 1.1604599654674530e-01 -1.0951169729232788e+00 <_> 0 -1 1392 -6.2267001718282700e-02 1.8096530437469482e+00 -1.4773200452327728e-01 <_> 0 -1 1393 1.7416000366210938e-02 2.3068200051784515e-01 -4.2417600750923157e-01 <_> 0 -1 1394 -2.2066000849008560e-02 4.9270299077033997e-01 -2.0630900561809540e-01 <_> 0 -1 1395 -1.0404000058770180e-02 6.0924297571182251e-01 2.8130000457167625e-02 <_> 0 -1 1396 -9.3670003116130829e-03 4.0171200037002563e-01 -2.1681700646877289e-01 <_> 0 -1 1397 -2.9039999470114708e-02 -8.4876501560211182e-01 1.4246800541877747e-01 <_> 0 -1 1398 -2.1061999723315239e-02 -7.9198300838470459e-01 -1.2595999985933304e-02 <_> 0 -1 1399 -3.7000998854637146e-02 -6.7488902807235718e-01 1.2830400466918945e-01 <_> 0 -1 1400 1.0735999792814255e-02 3.6779999732971191e-02 -6.3393002748489380e-01 <_> 0 -1 1401 1.6367599368095398e-01 1.3803899288177490e-01 -4.7189000248908997e-01 <_> 0 -1 1402 9.4917997717857361e-02 -1.3855700194835663e-01 1.9492419958114624e+00 <_> 0 -1 1403 3.5261999815702438e-02 1.3721899688243866e-01 -2.1186530590057373e+00 <_> 0 -1 1404 1.2811000458896160e-02 -2.0008100569248199e-01 4.9507799744606018e-01 <_> 155 -3.3933560848236084e+00 <_> 0 -1 1405 1.3904400169849396e-01 -4.6581199765205383e-01 7.6431602239608765e-01 <_> 0 -1 1406 1.1916999705135822e-02 -9.4398999214172363e-01 3.9726299047470093e-01 <_> 0 -1 1407 -1.0006999596953392e-02 3.2718798518180847e-01 -6.3367402553558350e-01 <_> 0 -1 1408 -6.0479999519884586e-03 2.7427899837493896e-01 -5.7446998357772827e-01 <_> 0 -1 1409 -1.2489999644458294e-03 2.3629300296306610e-01 -6.8593502044677734e-01 <_> 0 -1 1410 3.2382000237703323e-02 -5.7630199193954468e-01 2.7492699027061462e-01 <_> 0 -1 1411 -1.3957999646663666e-02 -6.1061501502990723e-01 2.4541600048542023e-01 <_> 0 -1 1412 1.1159999994561076e-03 -5.6539100408554077e-01 2.7179300785064697e-01 <_> 0 -1 1413 2.7000000045518391e-05 -8.0235999822616577e-01 1.1509100347757339e-01 <_> 0 -1 1414 -2.5700000696815550e-04 -8.1205898523330688e-01 2.3844699561595917e-01 <_> 0 -1 1415 4.0460000745952129e-03 1.3909600675106049e-01 -6.6163200139999390e-01 <_> 0 -1 1416 1.4356000348925591e-02 -1.6485199332237244e-01 4.1901698708534241e-01 <_> 0 -1 1417 -5.5374998599290848e-02 1.4425870180130005e+00 -1.8820199370384216e-01 <_> 0 -1 1418 9.3594998121261597e-02 1.3548299670219421e-01 -9.1636097431182861e-01 <_> 0 -1 1419 2.6624999940395355e-02 -3.3748298883438110e-01 3.9233601093292236e-01 <_> 0 -1 1420 3.7469998933374882e-03 -1.1615400016307831e-01 4.4399300217628479e-01 <_> 0 -1 1421 -3.1886000186204910e-02 -9.9498301744461060e-01 1.6120000509545207e-03 <_> 0 -1 1422 -2.2600000724196434e-02 -4.8067399859428406e-01 1.7007300257682800e-01 <_> 0 -1 1423 2.5202000513672829e-02 3.5580001771450043e-02 -8.0215400457382202e-01 <_> 0 -1 1424 -3.1036999076604843e-02 -1.0895340442657471e+00 1.8081900477409363e-01 <_> 0 -1 1425 -2.6475999504327774e-02 9.5671200752258301e-01 -2.1049399673938751e-01 <_> 0 -1 1426 -1.3853999786078930e-02 -1.0370320081710815e+00 2.2166700661182404e-01 <_> 0 -1 1427 -6.2925003468990326e-02 9.0199398994445801e-01 -1.9085299968719482e-01 <_> 0 -1 1428 -4.4750999659299850e-02 -1.0119110345840454e+00 1.4691199362277985e-01 <_> 0 -1 1429 -2.0428000018000603e-02 6.1624497175216675e-01 -2.3552699387073517e-01 <_> 0 -1 1430 -8.0329999327659607e-03 -8.3279997110366821e-02 2.1728700399398804e-01 <_> 0 -1 1431 8.7280003353953362e-03 6.5458998084068298e-02 -6.0318702459335327e-01 <_> 0 -1 1432 -2.7202000841498375e-02 -9.3447399139404297e-01 1.5270000696182251e-01 <_> 0 -1 1433 -1.6471000388264656e-02 -8.4177100658416748e-01 1.3332000002264977e-02 <_> 0 -1 1434 -1.3744000345468521e-02 6.0567200183868408e-01 -9.2021003365516663e-02 <_> 0 -1 1435 2.9164999723434448e-02 -2.8114000335335732e-02 -1.4014569520950317e+00 <_> 0 -1 1436 3.7457000464200974e-02 1.3080599904060364e-01 -4.9382498860359192e-01 <_> 0 -1 1437 -2.5070000439882278e-02 -1.1289390325546265e+00 -1.4600000344216824e-02 <_> 0 -1 1438 -6.3812002539634705e-02 7.5871598720550537e-01 -1.8200000049546361e-03 <_> 0 -1 1439 -9.3900002539157867e-03 2.9936400055885315e-01 -2.9487800598144531e-01 <_> 0 -1 1440 -7.6000002445653081e-04 1.9725000485777855e-02 1.9993899762630463e-01 <_> 0 -1 1441 -2.1740999072790146e-02 -8.5247898101806641e-01 4.9169998615980148e-02 <_> 0 -1 1442 -1.7869999632239342e-02 -5.9985999017953873e-02 1.5222500264644623e-01 <_> 0 -1 1443 -2.4831000715494156e-02 3.5603401064872742e-01 -2.6259899139404297e-01 <_> 0 -1 1444 1.5715500712394714e-01 1.5599999460391700e-04 1.0428730249404907e+00 <_> 0 -1 1445 6.9026999175548553e-02 -3.3006999641656876e-02 -1.1796669960021973e+00 <_> 0 -1 1446 -1.1021999642252922e-02 5.8987700939178467e-01 -5.7647999376058578e-02 <_> 0 -1 1447 -1.3834999874234200e-02 5.9502798318862915e-01 -2.4418599903583527e-01 <_> 0 -1 1448 -3.0941000208258629e-02 -1.1723799705505371e+00 1.6907000541687012e-01 <_> 0 -1 1449 2.1258000284433365e-02 -1.8900999799370766e-02 -1.0684759616851807e+00 <_> 0 -1 1450 9.3079999089241028e-02 1.6305600106716156e-01 -1.3375270366668701e+00 <_> 0 -1 1451 2.9635999351739883e-02 -2.2524799406528473e-01 4.5400100946426392e-01 <_> 0 -1 1452 -1.2199999764561653e-04 2.7409100532531738e-01 -3.7371399998664856e-01 <_> 0 -1 1453 -4.2098000645637512e-02 -7.5828802585601807e-01 1.7137000337243080e-02 <_> 0 -1 1454 -2.2505000233650208e-02 -2.2759300470352173e-01 2.3698699474334717e-01 <_> 0 -1 1455 -1.2862999923527241e-02 1.9252400100231171e-01 -3.2127100229263306e-01 <_> 0 -1 1456 2.7860000729560852e-02 1.6723699867725372e-01 -1.0209059715270996e+00 <_> 0 -1 1457 -2.7807999402284622e-02 1.2824759483337402e+00 -1.7225299775600433e-01 <_> 0 -1 1458 -6.1630001291632652e-03 -5.4072898626327515e-01 2.3885700106620789e-01 <_> 0 -1 1459 -2.0436000078916550e-02 6.3355398178100586e-01 -2.1090599894523621e-01 <_> 0 -1 1460 -1.2307999655604362e-02 -4.9778199195861816e-01 1.7402599751949310e-01 <_> 0 -1 1461 -4.0493998676538467e-02 -1.1848740577697754e+00 -3.3890999853610992e-02 <_> 0 -1 1462 2.9657000675797462e-02 2.1740999072790146e-02 1.0069919824600220e+00 <_> 0 -1 1463 6.8379999138414860e-03 2.9217999428510666e-02 -5.9906297922134399e-01 <_> 0 -1 1464 1.6164999455213547e-02 -2.1000799536705017e-01 3.7637299299240112e-01 <_> 0 -1 1465 5.0193000584840775e-02 2.5319999549537897e-03 -7.1668201684951782e-01 <_> 0 -1 1466 1.9680000841617584e-03 -2.1921400725841522e-01 3.2298699021339417e-01 <_> 0 -1 1467 2.4979999288916588e-02 -9.6840001642704010e-03 -7.7572900056838989e-01 <_> 0 -1 1468 -1.5809999778866768e-02 4.4637501239776611e-01 -6.1760000884532928e-02 <_> 0 -1 1469 3.7206999957561493e-02 -2.0495399832725525e-01 5.7722198963165283e-01 <_> 0 -1 1470 -7.9264998435974121e-02 -7.6745402812957764e-01 1.2550400197505951e-01 <_> 0 -1 1471 -1.7152000218629837e-02 -1.4121830463409424e+00 -5.1704000681638718e-02 <_> 0 -1 1472 3.2740000635385513e-02 1.9334000349044800e-01 -6.3633698225021362e-01 <_> 0 -1 1473 -1.1756999790668488e-01 8.4325402975082397e-01 -1.8018600344657898e-01 <_> 0 -1 1474 1.2057200074195862e-01 1.2530000507831573e-01 -2.1213600635528564e+00 <_> 0 -1 1475 4.2779999785125256e-03 -4.6604400873184204e-01 8.9643999934196472e-02 <_> 0 -1 1476 -7.2544999420642853e-02 5.1826500892639160e-01 1.6823999583721161e-02 <_> 0 -1 1477 1.7710599303245544e-01 -3.0910000205039978e-02 -1.1046639680862427e+00 <_> 0 -1 1478 8.4229996427893639e-03 2.4445800483226776e-01 -3.8613098859786987e-01 <_> 0 -1 1479 -1.3035000301897526e-02 9.8004400730133057e-01 -1.7016500234603882e-01 <_> 0 -1 1480 1.8912000581622124e-02 2.0248499512672424e-01 -3.8545900583267212e-01 <_> 0 -1 1481 2.1447999402880669e-02 -2.5717198848724365e-01 3.5181200504302979e-01 <_> 0 -1 1482 6.3357003033161163e-02 1.6994799673557281e-01 -9.1383802890777588e-01 <_> 0 -1 1483 -3.2435998320579529e-02 -8.5681599378585815e-01 -2.1680999547243118e-02 <_> 0 -1 1484 -2.3564999923110008e-02 5.6115597486495972e-01 -2.2400000307243317e-04 <_> 0 -1 1485 1.8789000809192657e-02 -2.5459799170494080e-01 3.4512901306152344e-01 <_> 0 -1 1486 3.1042000278830528e-02 7.5719999149441719e-03 3.4800198674201965e-01 <_> 0 -1 1487 -1.1226999573409557e-02 -6.0219800472259521e-01 4.2814999818801880e-02 <_> 0 -1 1488 -1.2845999561250210e-02 4.2020401358604431e-01 -5.3801000118255615e-02 <_> 0 -1 1489 -1.2791999615728855e-02 2.2724500298500061e-01 -3.2398000359535217e-01 <_> 0 -1 1490 6.8651996552944183e-02 9.3532003462314606e-02 10. <_> 0 -1 1491 5.2789999172091484e-03 -2.6926299929618835e-01 3.3303201198577881e-01 <_> 0 -1 1492 -3.8779001682996750e-02 -7.2365301847457886e-01 1.7806500196456909e-01 <_> 0 -1 1493 6.1820000410079956e-03 -3.5119399428367615e-01 1.6586300730705261e-01 <_> 0 -1 1494 1.7515200376510620e-01 1.1623100191354752e-01 -1.5419290065765381e+00 <_> 0 -1 1495 1.1627999693155289e-01 -9.1479998081922531e-03 -9.9842602014541626e-01 <_> 0 -1 1496 -2.2964000701904297e-02 2.0565399527549744e-01 1.5432000160217285e-02 <_> 0 -1 1497 -5.1410000771284103e-02 5.8072400093078613e-01 -2.0118400454521179e-01 <_> 0 -1 1498 2.2474199533462524e-01 1.8728999421000481e-02 1.0829299688339233e+00 <_> 0 -1 1499 9.4860000535845757e-03 -3.3171299099922180e-01 1.9902999699115753e-01 <_> 0 -1 1500 -1.1846300214529037e-01 1.3711010217666626e+00 6.8926997482776642e-02 <_> 0 -1 1501 3.7810999900102615e-02 -9.3600002583116293e-04 -8.3996999263763428e-01 <_> 0 -1 1502 2.2202000021934509e-02 -1.1963999830186367e-02 3.6673998832702637e-01 <_> 0 -1 1503 -3.6366000771522522e-02 3.7866500020027161e-01 -2.7714800834655762e-01 <_> 0 -1 1504 -1.3184699416160583e-01 -2.7481179237365723e+00 1.0666900128126144e-01 <_> 0 -1 1505 -4.1655998677015305e-02 4.7524300217628479e-01 -2.3249800503253937e-01 <_> 0 -1 1506 -3.3151999115943909e-02 -5.7929402589797974e-01 1.7434400320053101e-01 <_> 0 -1 1507 1.5769999474287033e-02 -1.1284000240266323e-02 -8.3701401948928833e-01 <_> 0 -1 1508 -3.9363000541925430e-02 3.4821599721908569e-01 -1.7455400526523590e-01 <_> 0 -1 1509 -6.7849002778530121e-02 1.4225699901580811e+00 -1.4765599370002747e-01 <_> 0 -1 1510 -2.6775000616908073e-02 2.3947000503540039e-01 1.3271999545395374e-02 <_> 0 -1 1511 3.9919000118970871e-02 -8.9999996125698090e-03 -7.5938898324966431e-01 <_> 0 -1 1512 1.0065600275993347e-01 -1.8685000017285347e-02 7.6245301961898804e-01 <_> 0 -1 1513 -8.1022001802921295e-02 -9.0439099073410034e-01 -8.5880002006888390e-03 <_> 0 -1 1514 -2.1258000284433365e-02 -2.1319599449634552e-01 2.1919700503349304e-01 <_> 0 -1 1515 -1.0630999691784382e-02 1.9598099589347839e-01 -3.5768100619316101e-01 <_> 0 -1 1516 8.1300002057105303e-04 -9.2794999480247498e-02 2.6145899295806885e-01 <_> 0 -1 1517 3.4650000743567944e-03 -5.5336099863052368e-01 2.7386000379920006e-02 <_> 0 -1 1518 1.8835999071598053e-02 1.8446099758148193e-01 -6.6934299468994141e-01 <_> 0 -1 1519 -2.5631999596953392e-02 1.9382879734039307e+00 -1.4708900451660156e-01 <_> 0 -1 1520 -4.0939999744296074e-03 -2.6451599597930908e-01 2.0733200013637543e-01 <_> 0 -1 1521 -8.9199998183175921e-04 -5.5031597614288330e-01 5.0374999642372131e-02 <_> 0 -1 1522 -4.9518000334501266e-02 -2.5615389347076416e+00 1.3141700625419617e-01 <_> 0 -1 1523 1.1680999770760536e-02 -2.4819800257682800e-01 3.9982700347900391e-01 <_> 0 -1 1524 3.4563999623060226e-02 1.6178800165653229e-01 -7.1418899297714233e-01 <_> 0 -1 1525 -8.2909995689988136e-03 2.2180099785327911e-01 -2.9181700944900513e-01 <_> 0 -1 1526 -2.2358000278472900e-02 3.1044098734855652e-01 -2.7280000504106283e-03 <_> 0 -1 1527 -3.0801000073552132e-02 -9.5672702789306641e-01 -8.3400001749396324e-03 <_> 0 -1 1528 4.3779000639915466e-02 1.2556900084018707e-01 -1.1759619712829590e+00 <_> 0 -1 1529 4.3046001344919205e-02 -5.8876998722553253e-02 -1.8568470478057861e+00 <_> 0 -1 1530 2.7188999578356743e-02 4.2858000844717026e-02 3.9036700129508972e-01 <_> 0 -1 1531 9.4149997457861900e-03 -4.3567001819610596e-02 -1.1094470024108887e+00 <_> 0 -1 1532 9.4311997294425964e-02 4.0256999433040619e-02 9.8442298173904419e-01 <_> 0 -1 1533 1.7025099694728851e-01 2.9510000720620155e-02 -6.9509297609329224e-01 <_> 0 -1 1534 -4.7148000448942184e-02 1.0338569879531860e+00 6.7602001130580902e-02 <_> 0 -1 1535 1.1186300218105316e-01 -6.8682998418807983e-02 -2.4985830783843994e+00 <_> 0 -1 1536 -1.4353999868035316e-02 -5.9481900930404663e-01 1.5001699328422546e-01 <_> 0 -1 1537 3.4024000167846680e-02 -6.4823001623153687e-02 -2.1382639408111572e+00 <_> 0 -1 1538 2.1601999178528786e-02 5.5309999734163284e-02 7.8292900323867798e-01 <_> 0 -1 1539 2.1771999076008797e-02 -7.1279997937381268e-03 -7.2148102521896362e-01 <_> 0 -1 1540 8.2416996359825134e-02 1.4609499275684357e-01 -1.3636670112609863e+00 <_> 0 -1 1541 8.4671996533870697e-02 -1.7784699797630310e-01 7.2857701778411865e-01 <_> 0 -1 1542 -5.5128000676631927e-02 -5.9402400255203247e-01 1.9357800483703613e-01 <_> 0 -1 1543 -6.4823001623153687e-02 -1.0783840417861938e+00 -4.0734000504016876e-02 <_> 0 -1 1544 -2.2769000381231308e-02 7.7900201082229614e-01 3.4960000775754452e-03 <_> 0 -1 1545 5.4756000638008118e-02 -6.5683998167514801e-02 -1.8188409805297852e+00 <_> 0 -1 1546 -8.9000001025851816e-05 -1.7891999334096909e-02 2.0768299698829651e-01 <_> 0 -1 1547 9.8361998796463013e-02 -5.5946998298168182e-02 -1.4153920412063599e+00 <_> 0 -1 1548 -7.0930002257227898e-03 3.4135299921035767e-01 -1.2089899927377701e-01 <_> 0 -1 1549 5.0278000533580780e-02 -2.6286700367927551e-01 2.5797298550605774e-01 <_> 0 -1 1550 -5.7870000600814819e-03 -1.3178600370883942e-01 1.7350199818611145e-01 <_> 0 -1 1551 1.3973999768495560e-02 2.8518000617623329e-02 -6.1152201890945435e-01 <_> 0 -1 1552 2.1449999883770943e-02 2.6181999593973160e-02 3.0306598544120789e-01 <_> 0 -1 1553 -2.9214000329375267e-02 4.4940599799156189e-01 -2.2803099453449249e-01 <_> 0 -1 1554 4.8099999548867345e-04 -1.9879999756813049e-01 2.0744499564170837e-01 <_> 0 -1 1555 1.7109999898821115e-03 -5.4037201404571533e-01 6.7865997552871704e-02 <_> 0 -1 1556 8.6660003289580345e-03 -1.3128000311553478e-02 5.2297902107238770e-01 <_> 0 -1 1557 6.3657999038696289e-02 6.8299002945423126e-02 -4.9235099554061890e-01 <_> 0 -1 1558 -2.7968000620603561e-02 6.8183898925781250e-01 7.8781001269817352e-02 <_> 0 -1 1559 4.8953998833894730e-02 -2.0622399449348450e-01 5.0388097763061523e-01 <_> 169 -3.2396929264068604e+00 <_> 0 -1 1560 -2.9312999919056892e-02 7.1284699440002441e-01 -5.8230698108673096e-01 <_> 0 -1 1561 1.2415099889039993e-01 -3.6863499879837036e-01 6.0067200660705566e-01 <_> 0 -1 1562 7.9349996522068977e-03 -8.6008298397064209e-01 2.1724699437618256e-01 <_> 0 -1 1563 3.0365999788045883e-02 -2.7186998724937439e-01 6.1247897148132324e-01 <_> 0 -1 1564 2.5218000635504723e-02 -3.4748300909996033e-01 5.0427699089050293e-01 <_> 0 -1 1565 1.0014000348746777e-02 -3.1898999214172363e-01 4.1376799345016479e-01 <_> 0 -1 1566 -1.6775000840425491e-02 -6.9048100709915161e-01 9.4830997288227081e-02 <_> 0 -1 1567 -2.6950000319629908e-03 -2.0829799771308899e-01 2.3737199604511261e-01 <_> 0 -1 1568 4.2257998138666153e-02 -4.9366700649261475e-01 1.8170599639415741e-01 <_> 0 -1 1569 -4.8505000770092010e-02 1.3429640531539917e+00 3.9769001305103302e-02 <_> 0 -1 1570 2.8992999345064163e-02 4.6496000140905380e-02 -8.1643497943878174e-01 <_> 0 -1 1571 -4.0089000016450882e-02 -7.1197801828384399e-01 2.2553899884223938e-01 <_> 0 -1 1572 -4.1021998971700668e-02 1.0057929754257202e+00 -1.9690200686454773e-01 <_> 0 -1 1573 1.1838000267744064e-02 -1.2600000016391277e-02 8.0767101049423218e-01 <_> 0 -1 1574 -2.1328000351786613e-02 -8.2023900747299194e-01 2.0524999126791954e-02 <_> 0 -1 1575 -2.3904999718070030e-02 5.4210501909255981e-01 -7.4767000973224640e-02 <_> 0 -1 1576 1.8008999526500702e-02 -3.3827701210975647e-01 4.2358601093292236e-01 <_> 0 -1 1577 -4.3614000082015991e-02 -1.1983489990234375e+00 1.5566200017929077e-01 <_> 0 -1 1578 -9.2449998483061790e-03 -8.9029997587203979e-01 1.1003999970853329e-02 <_> 0 -1 1579 4.7485001385211945e-02 1.6664099693298340e-01 -9.0764498710632324e-01 <_> 0 -1 1580 -1.4233999885618687e-02 6.2695199251174927e-01 -2.5791200995445251e-01 <_> 0 -1 1581 3.8010000716894865e-03 -2.8229999542236328e-01 2.6624599099159241e-01 <_> 0 -1 1582 3.4330000635236502e-03 -6.3771998882293701e-01 9.8422996699810028e-02 <_> 0 -1 1583 -2.9221000149846077e-02 -7.6769900321960449e-01 2.2634500265121460e-01 <_> 0 -1 1584 -6.4949998632073402e-03 4.5600101351737976e-01 -2.6528900861740112e-01 <_> 0 -1 1585 -3.0034000054001808e-02 -7.6551097631454468e-01 1.4009299874305725e-01 <_> 0 -1 1586 7.8360000625252724e-03 4.6755999326705933e-02 -7.2356200218200684e-01 <_> 0 -1 1587 8.8550001382827759e-03 -4.9141999334096909e-02 5.1472699642181396e-01 <_> 0 -1 1588 9.5973998308181763e-02 -2.0068999379873276e-02 -1.0850950479507446e+00 <_> 0 -1 1589 -3.2876998186111450e-02 -9.5875298976898193e-01 1.4543600380420685e-01 <_> 0 -1 1590 -1.3384000398218632e-02 -7.0013600587844849e-01 2.9157999902963638e-02 <_> 0 -1 1591 1.5235999599099159e-02 -2.8235700726509094e-01 2.5367999076843262e-01 <_> 0 -1 1592 1.2054000049829483e-02 -2.5303399562835693e-01 4.6526700258255005e-01 <_> 0 -1 1593 -7.6295003294944763e-02 -6.9915801286697388e-01 1.3217200338840485e-01 <_> 0 -1 1594 -1.2040000408887863e-02 4.5894598960876465e-01 -2.3856499791145325e-01 <_> 0 -1 1595 2.1916000172495842e-02 1.8268600106239319e-01 -6.1629700660705566e-01 <_> 0 -1 1596 -2.7330000884830952e-03 -6.3257902860641479e-01 3.4219000488519669e-02 <_> 0 -1 1597 -4.8652000725269318e-02 -1.0297729969024658e+00 1.7386500537395477e-01 <_> 0 -1 1598 -1.0463999584317207e-02 3.4757301211357117e-01 -2.7464100718498230e-01 <_> 0 -1 1599 -6.6550001502037048e-03 -2.8980299830436707e-01 2.4037900567054749e-01 <_> 0 -1 1600 8.5469996556639671e-03 -4.4340500235557556e-01 1.4267399907112122e-01 <_> 0 -1 1601 1.9913999363780022e-02 1.7740400135517120e-01 -2.4096299707889557e-01 <_> 0 -1 1602 2.2012999281287193e-02 -1.0812000371515751e-02 -9.4690799713134766e-01 <_> 0 -1 1603 -5.2179001271724701e-02 1.6547499895095825e+00 9.6487000584602356e-02 <_> 0 -1 1604 1.9698999822139740e-02 -6.7560002207756042e-03 -8.6311501264572144e-01 <_> 0 -1 1605 2.3040000349283218e-02 -2.3519999813288450e-03 3.8531300425529480e-01 <_> 0 -1 1606 -1.5038000419735909e-02 -6.1905699968338013e-01 3.1077999621629715e-02 <_> 0 -1 1607 -4.9956001341342926e-02 7.0657497644424438e-01 4.7880999743938446e-02 <_> 0 -1 1608 -6.9269999861717224e-02 3.9212900400161743e-01 -2.3848000168800354e-01 <_> 0 -1 1609 4.7399997711181641e-03 -2.4309000000357628e-02 2.5386300683021545e-01 <_> 0 -1 1610 -3.3923998475074768e-02 4.6930399537086487e-01 -2.3321899771690369e-01 <_> 0 -1 1611 -1.6231000423431396e-02 3.2319200038909912e-01 -2.0545600354671478e-01 <_> 0 -1 1612 -5.0193000584840775e-02 -1.2277870178222656e+00 -4.0798000991344452e-02 <_> 0 -1 1613 5.6944001466035843e-02 4.5184001326560974e-02 6.0197502374649048e-01 <_> 0 -1 1614 4.0936999022960663e-02 -1.6772800683975220e-01 8.9819300174713135e-01 <_> 0 -1 1615 -3.0839999672025442e-03 3.3716198801994324e-01 -2.7240800857543945e-01 <_> 0 -1 1616 -3.2600000500679016e-02 -8.5446500778198242e-01 1.9664999097585678e-02 <_> 0 -1 1617 9.8480999469757080e-02 5.4742000997066498e-02 6.3827300071716309e-01 <_> 0 -1 1618 -3.8185000419616699e-02 5.2274698019027710e-01 -2.3384800553321838e-01 <_> 0 -1 1619 -4.5917000621557236e-02 6.2829202413558960e-01 3.2859001308679581e-02 <_> 0 -1 1620 -1.1955499649047852e-01 -6.1572700738906860e-01 3.4680001437664032e-02 <_> 0 -1 1621 -1.2044399976730347e-01 -8.4380000829696655e-01 1.6530700027942657e-01 <_> 0 -1 1622 7.0619001984596252e-02 -6.3261002302169800e-02 -1.9863929748535156e+00 <_> 0 -1 1623 8.4889996796846390e-03 -1.7663399875164032e-01 3.8011199235916138e-01 <_> 0 -1 1624 2.2710999473929405e-02 -2.7605999261140823e-02 -9.1921401023864746e-01 <_> 0 -1 1625 4.9700000090524554e-04 -2.4293200671672821e-01 2.2878900170326233e-01 <_> 0 -1 1626 3.4651998430490494e-02 -2.3705999553203583e-01 5.4010999202728271e-01 <_> 0 -1 1627 -4.4700000435113907e-03 3.9078998565673828e-01 -1.2693800032138824e-01 <_> 0 -1 1628 2.3643000051379204e-02 -2.6663699746131897e-01 3.2312598824501038e-01 <_> 0 -1 1629 1.2813000008463860e-02 1.7540800571441650e-01 -6.0787999629974365e-01 <_> 0 -1 1630 -1.1250999756157398e-02 -1.0852589607238770e+00 -2.8046000748872757e-02 <_> 0 -1 1631 -4.1535001248121262e-02 7.1887397766113281e-01 2.7982000261545181e-02 <_> 0 -1 1632 -9.3470998108386993e-02 -1.1906319856643677e+00 -4.4810999184846878e-02 <_> 0 -1 1633 -2.7249999344348907e-02 6.2942498922348022e-01 9.5039997249841690e-03 <_> 0 -1 1634 -2.1759999915957451e-02 1.3233649730682373e+00 -1.5027000010013580e-01 <_> 0 -1 1635 -9.6890004351735115e-03 -3.3947101235389709e-01 1.7085799574851990e-01 <_> 0 -1 1636 6.9395996630191803e-02 -2.5657799839973450e-01 4.7652098536491394e-01 <_> 0 -1 1637 3.1208999454975128e-02 1.4154000580310822e-01 -3.4942001104354858e-01 <_> 0 -1 1638 -4.9727000296115875e-02 -1.1675560474395752e+00 -4.0757998824119568e-02 <_> 0 -1 1639 -2.0301999524235725e-02 -3.9486399292945862e-01 1.5814900398254395e-01 <_> 0 -1 1640 -1.5367000363767147e-02 4.9300000071525574e-01 -2.0092099905014038e-01 <_> 0 -1 1641 -5.0735000520944595e-02 1.8736059665679932e+00 8.6730003356933594e-02 <_> 0 -1 1642 -2.0726000890135765e-02 -8.8938397169113159e-01 -7.3199998587369919e-03 <_> 0 -1 1643 -3.0993999913334846e-02 -1.1664899587631226e+00 1.4274600148200989e-01 <_> 0 -1 1644 -4.4269999489188194e-03 -6.6815102100372314e-01 4.4120000675320625e-03 <_> 0 -1 1645 -4.5743998140096664e-02 -4.7955200076103210e-01 1.5121999382972717e-01 <_> 0 -1 1646 1.6698999330401421e-02 1.2048599869012833e-01 -4.5235899090766907e-01 <_> 0 -1 1647 3.2210000790655613e-03 -7.7615000307559967e-02 2.7846598625183105e-01 <_> 0 -1 1648 2.4434000253677368e-02 -1.9987100362777710e-01 6.7253702878952026e-01 <_> 0 -1 1649 -7.9677999019622803e-02 9.2222398519515991e-01 9.2557996511459351e-02 <_> 0 -1 1650 4.4530000537633896e-02 -2.6690500974655151e-01 3.3320501446723938e-01 <_> 0 -1 1651 -1.2528300285339355e-01 -5.4253101348876953e-01 1.3976299762725830e-01 <_> 0 -1 1652 1.7971999943256378e-02 1.8219999969005585e-02 -6.8048501014709473e-01 <_> 0 -1 1653 1.9184000790119171e-02 -1.2583999894559383e-02 5.4126697778701782e-01 <_> 0 -1 1654 4.0024001151323318e-02 -1.7638799548149109e-01 7.8810399770736694e-01 <_> 0 -1 1655 1.3558999635279179e-02 2.0737600326538086e-01 -4.7744300961494446e-01 <_> 0 -1 1656 1.6220999881625175e-02 2.3076999932527542e-02 -6.1182099580764771e-01 <_> 0 -1 1657 1.1229000054299831e-02 -1.7728000879287720e-02 4.1764199733734131e-01 <_> 0 -1 1658 3.9193000644445419e-02 -1.8948499858379364e-01 7.4019300937652588e-01 <_> 0 -1 1659 -9.5539996400475502e-03 4.0947100520133972e-01 -1.3508899509906769e-01 <_> 0 -1 1660 2.7878999710083008e-02 -2.0350700616836548e-01 6.1625397205352783e-01 <_> 0 -1 1661 -2.3600999265909195e-02 -1.6967060565948486e+00 1.4633199572563171e-01 <_> 0 -1 1662 2.6930000633001328e-02 -3.0401999130845070e-02 -1.0909470319747925e+00 <_> 0 -1 1663 2.8999999631196260e-04 -2.0076000690460205e-01 2.2314099967479706e-01 <_> 0 -1 1664 -4.1124999523162842e-02 -4.5242199301719666e-01 5.7392001152038574e-02 <_> 0 -1 1665 6.6789998672902584e-03 2.3824900388717651e-01 -2.1262100338935852e-01 <_> 0 -1 1666 4.7864999622106552e-02 -1.8194800615310669e-01 6.1918401718139648e-01 <_> 0 -1 1667 -3.1679999083280563e-03 -2.7393200993537903e-01 2.5017300248146057e-01 <_> 0 -1 1668 -8.6230002343654633e-03 -4.6280300617218018e-01 4.2397998273372650e-02 <_> 0 -1 1669 -7.4350000359117985e-03 4.1796800494194031e-01 -1.7079999670386314e-03 <_> 0 -1 1670 -1.8769999733194709e-03 1.4602300524711609e-01 -3.3721101284027100e-01 <_> 0 -1 1671 -8.6226001381874084e-02 7.5143402814865112e-01 1.0711999610066414e-02 <_> 0 -1 1672 4.6833999454975128e-02 -1.9119599461555481e-01 4.8414900898933411e-01 <_> 0 -1 1673 -9.2000002041459084e-05 3.5220399498939514e-01 -1.7333300411701202e-01 <_> 0 -1 1674 -1.6343999654054642e-02 -6.4397698640823364e-01 9.0680001303553581e-03 <_> 0 -1 1675 4.5703999698162079e-02 1.8216000869870186e-02 3.1970798969268799e-01 <_> 0 -1 1676 -2.7382999658584595e-02 1.0564049482345581e+00 -1.7276400327682495e-01 <_> 0 -1 1677 -2.7602000162005424e-02 2.9715499281883240e-01 -9.4600003212690353e-03 <_> 0 -1 1678 7.6939999125897884e-03 -2.1660299599170685e-01 4.7385200858116150e-01 <_> 0 -1 1679 -7.0500001311302185e-04 2.4048799276351929e-01 -2.6776000857353210e-01 <_> 0 -1 1680 1.1054199934005737e-01 -3.3539000898599625e-02 -1.0233880281448364e+00 <_> 0 -1 1681 6.8765997886657715e-02 -4.3239998631179333e-03 5.7153397798538208e-01 <_> 0 -1 1682 1.7999999690800905e-03 7.7574998140335083e-02 -4.2092698812484741e-01 <_> 0 -1 1683 1.9232000410556793e-01 8.2021996378898621e-02 2.8810169696807861e+00 <_> 0 -1 1684 1.5742099285125732e-01 -1.3708199560642242e-01 2.0890059471130371e+00 <_> 0 -1 1685 -4.9387000501155853e-02 -1.8610910177230835e+00 1.4332099258899689e-01 <_> 0 -1 1686 5.1929000765085220e-02 -1.8737000226974487e-01 5.4231601953506470e-01 <_> 0 -1 1687 4.9965001642704010e-02 1.4175300300121307e-01 -1.5625779628753662e+00 <_> 0 -1 1688 -4.2633000761270523e-02 1.6059479713439941e+00 -1.4712899923324585e-01 <_> 0 -1 1689 -3.7553999572992325e-02 -8.0974900722503662e-01 1.3256999850273132e-01 <_> 0 -1 1690 -3.7174999713897705e-02 -1.3945020437240601e+00 -5.7055000215768814e-02 <_> 0 -1 1691 1.3945999555289745e-02 3.3427000045776367e-02 5.7474797964096069e-01 <_> 0 -1 1692 -4.4800000614486635e-04 -5.5327498912811279e-01 2.1952999755740166e-02 <_> 0 -1 1693 3.1993001699447632e-02 2.0340999588370323e-02 3.7459200620651245e-01 <_> 0 -1 1694 -4.2799999937415123e-03 4.4428700208663940e-01 -2.2999699413776398e-01 <_> 0 -1 1695 9.8550003021955490e-03 1.8315799534320831e-01 -4.0964999794960022e-01 <_> 0 -1 1696 9.3356996774673462e-02 -6.3661001622676849e-02 -1.6929290294647217e+00 <_> 0 -1 1697 1.7209999263286591e-02 2.0153899490833282e-01 -4.6061098575592041e-01 <_> 0 -1 1698 8.4319999441504478e-03 -3.2003998756408691e-01 1.5312199294567108e-01 <_> 0 -1 1699 -1.4054999686777592e-02 8.6882400512695312e-01 3.2575000077486038e-02 <_> 0 -1 1700 -7.7180000953376293e-03 6.3686698675155640e-01 -1.8425500392913818e-01 <_> 0 -1 1701 2.8005000203847885e-02 1.7357499897480011e-01 -4.7883599996566772e-01 <_> 0 -1 1702 -1.8884999677538872e-02 2.4101600050926208e-01 -2.6547598838806152e-01 <_> 0 -1 1703 -1.8585000187158585e-02 5.4232501983642578e-01 5.3633000701665878e-02 <_> 0 -1 1704 -3.6437001079320908e-02 2.3908898830413818e+00 -1.3634699583053589e-01 <_> 0 -1 1705 3.2455001026391983e-02 1.5910699963569641e-01 -6.7581498622894287e-01 <_> 0 -1 1706 5.9781998395919800e-02 -2.3479999508708715e-03 -7.3053699731826782e-01 <_> 0 -1 1707 9.8209995776414871e-03 -1.1444099992513657e-01 3.0570301413536072e-01 <_> 0 -1 1708 -3.5163998603820801e-02 -1.0511469841003418e+00 -3.3103000372648239e-02 <_> 0 -1 1709 2.7429999317973852e-03 -2.0135399699211121e-01 3.2754099369049072e-01 <_> 0 -1 1710 8.1059997901320457e-03 -2.1383500099182129e-01 4.3362098932266235e-01 <_> 0 -1 1711 8.8942997157573700e-02 1.0940899699926376e-01 -4.7609338760375977e+00 <_> 0 -1 1712 -3.0054999515414238e-02 -1.7169300317764282e+00 -6.0919001698493958e-02 <_> 0 -1 1713 -2.1734999492764473e-02 6.4778900146484375e-01 -3.2830998301506042e-02 <_> 0 -1 1714 3.7648998200893402e-02 -1.0060000233352184e-02 -7.6569098234176636e-01 <_> 0 -1 1715 2.7189999818801880e-03 1.9888900220394135e-01 -8.2479000091552734e-02 <_> 0 -1 1716 -1.0548000223934650e-02 -8.6613601446151733e-01 -2.5986000895500183e-02 <_> 0 -1 1717 1.2966300547122955e-01 1.3911999762058258e-01 -2.2271950244903564e+00 <_> 0 -1 1718 -1.7676999792456627e-02 3.3967700600624084e-01 -2.3989599943161011e-01 <_> 0 -1 1719 -7.7051997184753418e-02 -2.5017969608306885e+00 1.2841999530792236e-01 <_> 0 -1 1720 -1.9230000674724579e-02 5.0641202926635742e-01 -1.9751599431037903e-01 <_> 0 -1 1721 -5.1222998648881912e-02 -2.9333369731903076e+00 1.3858500123023987e-01 <_> 0 -1 1722 2.0830000285059214e-03 -6.0043597221374512e-01 2.9718000441789627e-02 <_> 0 -1 1723 2.5418000295758247e-02 3.3915799856185913e-01 -1.4392000436782837e-01 <_> 0 -1 1724 -2.3905999958515167e-02 -1.1082680225372314e+00 -4.7377001494169235e-02 <_> 0 -1 1725 -6.3740001060068607e-03 4.4533699750900269e-01 -6.7052997648715973e-02 <_> 0 -1 1726 -3.7698999047279358e-02 -1.0406579971313477e+00 -4.1790001094341278e-02 <_> 0 -1 1727 2.1655100584030151e-01 3.3863000571727753e-02 8.2017302513122559e-01 <_> 0 -1 1728 -1.3400999829173088e-02 5.2903497219085693e-01 -1.9133000075817108e-01 <_> 196 -3.2103500366210938e+00 <_> 0 -1 1729 7.1268998086452484e-02 -5.3631198406219482e-01 6.0715299844741821e-01 <_> 0 -1 1730 5.6111000478267670e-02 -5.0141602754592896e-01 4.3976101279258728e-01 <_> 0 -1 1731 4.0463998913764954e-02 -3.2922199368476868e-01 5.4834699630737305e-01 <_> 0 -1 1732 6.3155002892017365e-02 -3.1701698899269104e-01 4.6152999997138977e-01 <_> 0 -1 1733 1.0320999659597874e-02 1.0694999992847443e-01 -9.8243898153305054e-01 <_> 0 -1 1734 6.2606997787952423e-02 -1.4329700171947479e-01 7.1095001697540283e-01 <_> 0 -1 1735 -3.9416000247001648e-02 9.4380199909210205e-01 -2.1572099626064301e-01 <_> 0 -1 1736 -5.3960001096129417e-03 -5.4611998796463013e-01 2.5303798913955688e-01 <_> 0 -1 1737 1.0773199796676636e-01 1.2496000155806541e-02 -1.0809199810028076e+00 <_> 0 -1 1738 1.6982000321149826e-02 -3.1536400318145752e-01 5.1239997148513794e-01 <_> 0 -1 1739 3.1216999515891075e-02 -4.5199999585747719e-03 -1.2443480491638184e+00 <_> 0 -1 1740 -2.3106999695301056e-02 -7.6492899656295776e-01 2.0640599727630615e-01 <_> 0 -1 1741 -1.1203999631106853e-02 2.4092699587345123e-01 -3.5142099857330322e-01 <_> 0 -1 1742 -4.7479998320341110e-03 -9.7007997334003448e-02 2.0638099312782288e-01 <_> 0 -1 1743 -1.7358999699354172e-02 -7.9020297527313232e-01 2.1852999925613403e-02 <_> 0 -1 1744 1.8851999193429947e-02 -1.0394600033760071e-01 5.4844200611114502e-01 <_> 0 -1 1745 7.2249998338520527e-03 -4.0409401059150696e-01 2.6763799786567688e-01 <_> 0 -1 1746 1.8915999680757523e-02 2.0508000254631042e-01 -1.0206340551376343e+00 <_> 0 -1 1747 3.1156999990344048e-02 1.2400000123307109e-03 -8.7293499708175659e-01 <_> 0 -1 1748 2.0951999351382256e-02 -5.5559999309480190e-03 8.0356198549270630e-01 <_> 0 -1 1749 1.1291000060737133e-02 -3.6478400230407715e-01 2.2767899930477142e-01 <_> 0 -1 1750 -5.7011000812053680e-02 -1.4295619726181030e+00 1.4322000741958618e-01 <_> 0 -1 1751 7.2194002568721771e-02 -4.1850000619888306e-02 -1.9111829996109009e+00 <_> 0 -1 1752 -1.9874000921845436e-02 2.6425498723983765e-01 -3.2617700099945068e-01 <_> 0 -1 1753 -1.6692999750375748e-02 -8.3907800912857056e-01 4.0799999260343611e-04 <_> 0 -1 1754 -3.9834998548030853e-02 -4.8858499526977539e-01 1.6436100006103516e-01 <_> 0 -1 1755 2.7009999379515648e-02 -1.8862499296665192e-01 8.3419400453567505e-01 <_> 0 -1 1756 -3.9420002140104771e-03 2.3231500387191772e-01 -7.2360001504421234e-02 <_> 0 -1 1757 2.2833000868558884e-02 -3.5884000360965729e-02 -1.1549400091171265e+00 <_> 0 -1 1758 -6.8888001143932343e-02 -1.7837309837341309e+00 1.5159000456333160e-01 <_> 0 -1 1759 4.3097000569105148e-02 -2.1608099341392517e-01 5.0624102354049683e-01 <_> 0 -1 1760 8.6239995434880257e-03 -1.7795599997043610e-01 2.8957900404930115e-01 <_> 0 -1 1761 1.4561000280082226e-02 -1.1408000253140926e-02 -8.9402002096176147e-01 <_> 0 -1 1762 -1.1501000262796879e-02 3.0171999335289001e-01 -4.3659001588821411e-02 <_> 0 -1 1763 -1.0971499979496002e-01 -9.5147097110748291e-01 -1.9973000511527061e-02 <_> 0 -1 1764 4.5228000730276108e-02 3.3110998570919037e-02 9.6619802713394165e-01 <_> 0 -1 1765 -2.7047999203205109e-02 9.7963601350784302e-01 -1.7261900007724762e-01 <_> 0 -1 1766 1.8030999228358269e-02 -2.0801000297069550e-02 2.7385899424552917e-01 <_> 0 -1 1767 5.0524998456239700e-02 -5.6802999228239059e-02 -1.7775089740753174e+00 <_> 0 -1 1768 -2.9923999682068825e-02 6.5329200029373169e-01 -2.3537000641226768e-02 <_> 0 -1 1769 3.8058001548051834e-02 2.6317000389099121e-02 -7.0665699243545532e-01 <_> 0 -1 1770 1.8563899397850037e-01 -5.6039998307824135e-03 3.2873699069023132e-01 <_> 0 -1 1771 -4.0670000016689301e-03 3.4204798936843872e-01 -3.0171599984169006e-01 <_> 0 -1 1772 1.0108999907970428e-02 -7.3600001633167267e-03 5.7981598377227783e-01 <_> 0 -1 1773 -1.1567000299692154e-02 -5.2722197771072388e-01 4.6447999775409698e-02 <_> 0 -1 1774 -6.5649999305605888e-03 -5.8529102802276611e-01 1.9101899862289429e-01 <_> 0 -1 1775 1.0582000017166138e-02 2.1073000505566597e-02 -6.8892598152160645e-01 <_> 0 -1 1776 -2.0304000005125999e-02 -3.6400699615478516e-01 1.5338799357414246e-01 <_> 0 -1 1777 2.3529999889433384e-03 3.6164000630378723e-02 -5.9825098514556885e-01 <_> 0 -1 1778 -1.4690000098198652e-03 -1.4707699418067932e-01 3.7507998943328857e-01 <_> 0 -1 1779 8.6449999362230301e-03 -2.1708500385284424e-01 5.1936799287796021e-01 <_> 0 -1 1780 -2.4326000362634659e-02 -1.0846769809722900e+00 1.4084799587726593e-01 <_> 0 -1 1781 7.4418999254703522e-02 -1.5513800084590912e-01 1.1822769641876221e+00 <_> 0 -1 1782 1.7077999189496040e-02 4.4231001287698746e-02 9.1561102867126465e-01 <_> 0 -1 1783 -2.4577999487519264e-02 -1.5504100322723389e+00 -5.4745998233556747e-02 <_> 0 -1 1784 3.0205000191926956e-02 1.6662800312042236e-01 -1.0001239776611328e+00 <_> 0 -1 1785 1.2136000208556652e-02 -7.7079099416732788e-01 -4.8639997839927673e-03 <_> 0 -1 1786 8.6717002093791962e-02 1.1061699688434601e-01 -1.6857999563217163e+00 <_> 0 -1 1787 -4.2309001088142395e-02 1.1075930595397949e+00 -1.5438599884510040e-01 <_> 0 -1 1788 -2.6420000940561295e-03 2.7451899647712708e-01 -1.8456199765205383e-01 <_> 0 -1 1789 -5.6662000715732574e-02 -8.0625599622726440e-01 -1.6928000375628471e-02 <_> 0 -1 1790 2.3475000634789467e-02 1.4187699556350708e-01 -2.5500899553298950e-01 <_> 0 -1 1791 -2.0803000777959824e-02 1.9826300442218781e-01 -3.1171199679374695e-01 <_> 0 -1 1792 7.2599998675286770e-03 -5.0590999424457550e-02 4.1923800110816956e-01 <_> 0 -1 1793 3.4160000085830688e-01 -1.6674900054931641e-01 9.2748600244522095e-01 <_> 0 -1 1794 6.2029999680817127e-03 -1.2625899910926819e-01 4.0445300936698914e-01 <_> 0 -1 1795 3.2692000269889832e-02 -3.2634999603033066e-02 -9.8939800262451172e-01 <_> 0 -1 1796 2.1100000594742596e-04 -6.4534001052379608e-02 2.5473698973655701e-01 <_> 0 -1 1797 7.2100001852959394e-04 -3.6618599295616150e-01 1.1973100155591965e-01 <_> 0 -1 1798 5.4490998387336731e-02 1.2073499709367752e-01 -1.0291390419006348e+00 <_> 0 -1 1799 -1.0141000151634216e-02 -5.2177202701568604e-01 3.3734999597072601e-02 <_> 0 -1 1800 -1.8815999850630760e-02 6.5181797742843628e-01 1.3399999588727951e-03 <_> 0 -1 1801 -5.3480002097785473e-03 1.7370699346065521e-01 -3.4132000803947449e-01 <_> 0 -1 1802 -1.0847000405192375e-02 -1.9699899852275848e-01 1.5045499801635742e-01 <_> 0 -1 1803 -4.9926001578569412e-02 -5.0888502597808838e-01 3.0762000009417534e-02 <_> 0 -1 1804 1.2160000391304493e-02 -6.9251999258995056e-02 1.8745499849319458e-01 <_> 0 -1 1805 -2.2189998999238014e-03 -4.0849098563194275e-01 7.9954996705055237e-02 <_> 0 -1 1806 3.1580000650137663e-03 -2.1124599874019623e-01 2.2366400063037872e-01 <_> 0 -1 1807 4.1439998894929886e-03 -4.9900299310684204e-01 6.2917001545429230e-02 <_> 0 -1 1808 -7.3730000294744968e-03 -2.0553299784660339e-01 2.2096699476242065e-01 <_> 0 -1 1809 5.1812000572681427e-02 1.8096800148487091e-01 -4.3495801091194153e-01 <_> 0 -1 1810 1.8340000882744789e-02 1.5200000256299973e-02 3.7991699576377869e-01 <_> 0 -1 1811 1.7490799725055695e-01 -2.0920799672603607e-01 4.0013000369071960e-01 <_> 0 -1 1812 5.3993999958038330e-02 2.4751600623130798e-01 -2.6712900400161743e-01 <_> 0 -1 1813 -3.2033199071884155e-01 -1.9094380140304565e+00 -6.6960997879505157e-02 <_> 0 -1 1814 -2.7060000225901604e-02 -7.1371299028396606e-01 1.5904599428176880e-01 <_> 0 -1 1815 7.7463999390602112e-02 -1.6970199346542358e-01 7.7552998065948486e-01 <_> 0 -1 1816 2.3771999403834343e-02 1.9021899998188019e-01 -6.0162097215652466e-01 <_> 0 -1 1817 1.1501000262796879e-02 7.7039999887347221e-03 -6.1730301380157471e-01 <_> 0 -1 1818 3.2616000622510910e-02 1.7159199714660645e-01 -7.0978200435638428e-01 <_> 0 -1 1819 -4.4383000582456589e-02 -2.2606229782104492e+00 -7.3276996612548828e-02 <_> 0 -1 1820 -5.8476001024246216e-02 2.4087750911712646e+00 8.3091996610164642e-02 <_> 0 -1 1821 1.9303999841213226e-02 -2.7082300186157227e-01 2.7369999885559082e-01 <_> 0 -1 1822 -4.4705998152494431e-02 3.1355598568916321e-01 -6.2492001801729202e-02 <_> 0 -1 1823 -6.0334999114274979e-02 -1.4515119791030884e+00 -5.8761000633239746e-02 <_> 0 -1 1824 1.1667000129818916e-02 -1.8084999173879623e-02 5.0479698181152344e-01 <_> 0 -1 1825 2.8009999543428421e-02 -2.3302899301052094e-01 3.0708700418472290e-01 <_> 0 -1 1826 6.5397001802921295e-02 1.4135900139808655e-01 -5.0010901689529419e-01 <_> 0 -1 1827 9.6239997074007988e-03 -2.2054600715637207e-01 3.9191201329231262e-01 <_> 0 -1 1828 2.5510000996291637e-03 -1.1381500214338303e-01 2.0032300055027008e-01 <_> 0 -1 1829 3.1847000122070312e-02 2.5476999580860138e-02 -5.3326398134231567e-01 <_> 0 -1 1830 3.3055000007152557e-02 1.7807699739933014e-01 -6.2793898582458496e-01 <_> 0 -1 1831 4.7600999474525452e-02 -1.4747899770736694e-01 1.4204180240631104e+00 <_> 0 -1 1832 -1.9571999087929726e-02 -5.2693498134613037e-01 1.5838600695133209e-01 <_> 0 -1 1833 -5.4730001837015152e-02 8.8231599330902100e-01 -1.6627800464630127e-01 <_> 0 -1 1834 -2.2686000913381577e-02 -4.8386898636817932e-01 1.5000100433826447e-01 <_> 0 -1 1835 1.0713200271129608e-01 -2.1336199343204498e-01 4.2333900928497314e-01 <_> 0 -1 1836 -3.6380000412464142e-02 -7.4198000133037567e-02 1.4589400589466095e-01 <_> 0 -1 1837 1.3935999944806099e-02 -2.4911600351333618e-01 2.6771199703216553e-01 <_> 0 -1 1838 2.0991999655961990e-02 8.7959999218583107e-03 4.3064999580383301e-01 <_> 0 -1 1839 4.9118999391794205e-02 -1.7591999471187592e-01 6.9282901287078857e-01 <_> 0 -1 1840 3.6315999925136566e-02 1.3145299255847931e-01 -3.3597299456596375e-01 <_> 0 -1 1841 4.1228000074625015e-02 -4.5692000538110733e-02 -1.3515930175781250e+00 <_> 0 -1 1842 1.5672000125050545e-02 1.7544099688529968e-01 -6.0550000518560410e-02 <_> 0 -1 1843 -1.6286000609397888e-02 -1.1308189630508423e+00 -3.9533000439405441e-02 <_> 0 -1 1844 -3.0229999683797359e-03 -2.2454300522804260e-01 2.3628099262714386e-01 <_> 0 -1 1845 -1.3786299526691437e-01 4.5376899838447571e-01 -2.1098700165748596e-01 <_> 0 -1 1846 -9.6760001033544540e-03 -1.5105099976062775e-01 2.0781700313091278e-01 <_> 0 -1 1847 -2.4839999154210091e-02 -6.8350297212600708e-01 -8.0040004104375839e-03 <_> 0 -1 1848 -1.3964399695396423e-01 6.5011298656463623e-01 4.6544000506401062e-02 <_> 0 -1 1849 -8.2153998315334320e-02 4.4887199997901917e-01 -2.3591999709606171e-01 <_> 0 -1 1850 3.8449999410659075e-03 -8.8173002004623413e-02 2.7346798777580261e-01 <_> 0 -1 1851 -6.6579999402165413e-03 -4.6866598725318909e-01 7.7001996338367462e-02 <_> 0 -1 1852 -1.5898000448942184e-02 2.9268398880958557e-01 -2.1941000595688820e-02 <_> 0 -1 1853 -5.0946000963449478e-02 -1.2093789577484131e+00 -4.2109999805688858e-02 <_> 0 -1 1854 1.6837999224662781e-02 -4.5595999807119370e-02 5.0180697441101074e-01 <_> 0 -1 1855 1.5918999910354614e-02 -2.6904299855232239e-01 2.6516300439834595e-01 <_> 0 -1 1856 3.6309999413788319e-03 -1.3046100735664368e-01 3.1807100772857666e-01 <_> 0 -1 1857 -8.6144998669624329e-02 1.9443659782409668e+00 -1.3978299498558044e-01 <_> 0 -1 1858 3.3140998333692551e-02 1.5266799926757812e-01 -3.0866000801324844e-02 <_> 0 -1 1859 -3.9679999463260174e-03 -7.1202301979064941e-01 -1.3844000175595284e-02 <_> 0 -1 1860 -2.4008000269532204e-02 9.2007797956466675e-01 4.6723999083042145e-02 <_> 0 -1 1861 8.7320003658533096e-03 -2.2567300498485565e-01 3.1931799650192261e-01 <_> 0 -1 1862 -2.7786999940872192e-02 -7.2337102890014648e-01 1.7018599808216095e-01 <_> 0 -1 1863 -1.9455300271511078e-01 1.2461860179901123e+00 -1.4736199378967285e-01 <_> 0 -1 1864 -1.0869699716567993e-01 -1.4465179443359375e+00 1.2145300209522247e-01 <_> 0 -1 1865 -1.9494999200105667e-02 -7.8153097629547119e-01 -2.3732999339699745e-02 <_> 0 -1 1866 3.0650000553578138e-03 -8.5471397638320923e-01 1.6686999797821045e-01 <_> 0 -1 1867 5.9193998575210571e-02 -1.4853699505329132e-01 1.1273469924926758e+00 <_> 0 -1 1868 -5.4207999259233475e-02 5.4726999998092651e-01 3.5523999482393265e-02 <_> 0 -1 1869 -3.9324998855590820e-02 3.6642599105834961e-01 -2.0543999969959259e-01 <_> 0 -1 1870 8.2278996706008911e-02 -3.5007998347282410e-02 5.3994202613830566e-01 <_> 0 -1 1871 -7.4479999020695686e-03 -6.1537498235702515e-01 -3.5319998860359192e-03 <_> 0 -1 1872 7.3770000599324703e-03 -6.5591000020503998e-02 4.1961398720741272e-01 <_> 0 -1 1873 7.0779998786747456e-03 -3.4129500389099121e-01 1.2536799907684326e-01 <_> 0 -1 1874 -1.5581999905407429e-02 -3.0240398645401001e-01 2.1511000394821167e-01 <_> 0 -1 1875 -2.7399999089539051e-03 7.6553001999855042e-02 -4.1060501337051392e-01 <_> 0 -1 1876 -7.0600003004074097e-02 -9.7356200218200684e-01 1.1241800338029861e-01 <_> 0 -1 1877 -1.1706000193953514e-02 1.8560700118541718e-01 -2.9755198955535889e-01 <_> 0 -1 1878 7.1499997284263372e-04 -5.9650000184774399e-02 2.4824699759483337e-01 <_> 0 -1 1879 -3.6866001784801483e-02 3.2751700282096863e-01 -2.3059600591659546e-01 <_> 0 -1 1880 -3.2526999711990356e-02 -2.9320299625396729e-01 1.5427699685096741e-01 <_> 0 -1 1881 -7.4813999235630035e-02 -1.2143570184707642e+00 -5.2244000136852264e-02 <_> 0 -1 1882 4.1469998657703400e-02 1.3062499463558197e-01 -2.3274369239807129e+00 <_> 0 -1 1883 -2.8880000114440918e-02 -6.6074597835540771e-01 -9.0960003435611725e-03 <_> 0 -1 1884 4.6381998807191849e-02 1.6630199551582336e-01 -6.6949498653411865e-01 <_> 0 -1 1885 2.5424998998641968e-01 -5.4641999304294586e-02 -1.2676080465316772e+00 <_> 0 -1 1886 2.4000001139938831e-03 2.0276799798011780e-01 1.4667999930679798e-02 <_> 0 -1 1887 -8.2805998623371124e-02 -7.8713601827621460e-01 -2.4468999356031418e-02 <_> 0 -1 1888 -1.1438000015914440e-02 2.8623399138450623e-01 -3.0894000083208084e-02 <_> 0 -1 1889 -1.2913399934768677e-01 1.7292929887771606e+00 -1.4293900132179260e-01 <_> 0 -1 1890 3.8552999496459961e-02 1.9232999533414841e-02 3.7732601165771484e-01 <_> 0 -1 1891 1.0191400349140167e-01 -7.4533998966217041e-02 -3.3868899345397949e+00 <_> 0 -1 1892 -1.9068000838160515e-02 3.1814101338386536e-01 1.9261000677943230e-02 <_> 0 -1 1893 -6.0775000602006912e-02 7.6936298608779907e-01 -1.7644000053405762e-01 <_> 0 -1 1894 2.4679999798536301e-02 1.8396499752998352e-01 -3.0868801474571228e-01 <_> 0 -1 1895 2.6759000495076180e-02 -2.3454900085926056e-01 3.3056598901748657e-01 <_> 0 -1 1896 1.4969999901950359e-02 1.7213599383831024e-01 -1.8248899281024933e-01 <_> 0 -1 1897 2.6142999529838562e-02 -4.6463999897241592e-02 -1.1318379640579224e+00 <_> 0 -1 1898 -3.7512000650167465e-02 8.0404001474380493e-01 6.9660000503063202e-02 <_> 0 -1 1899 -5.3229997865855694e-03 -8.1884402036666870e-01 -1.8224999308586121e-02 <_> 0 -1 1900 1.7813000828027725e-02 1.4957800507545471e-01 -1.8667200207710266e-01 <_> 0 -1 1901 -3.4010000526905060e-02 -7.2852301597595215e-01 -1.6615999862551689e-02 <_> 0 -1 1902 -1.5953000634908676e-02 5.6944000720977783e-01 1.3832000084221363e-02 <_> 0 -1 1903 1.9743999466300011e-02 4.0525000542402267e-02 -4.1773399710655212e-01 <_> 0 -1 1904 -1.0374800115823746e-01 -1.9825149774551392e+00 1.1960200220346451e-01 <_> 0 -1 1905 -1.9285000860691071e-02 5.0230598449707031e-01 -1.9745899736881256e-01 <_> 0 -1 1906 -1.2780000455677509e-02 4.0195000171661377e-01 -2.6957999914884567e-02 <_> 0 -1 1907 -1.6352999955415726e-02 -7.6608800888061523e-01 -2.4209000170230865e-02 <_> 0 -1 1908 -1.2763699889183044e-01 8.6578500270843506e-01 6.4205996692180634e-02 <_> 0 -1 1909 1.9068999215960503e-02 -5.5929797887802124e-01 -1.6880000475794077e-03 <_> 0 -1 1910 3.2480999827384949e-02 4.0722001343965530e-02 4.8925098776817322e-01 <_> 0 -1 1911 9.4849998131394386e-03 -1.9231900572776794e-01 5.1139700412750244e-01 <_> 0 -1 1912 5.0470000132918358e-03 1.8706800043582916e-01 -1.6113600134849548e-01 <_> 0 -1 1913 4.1267998516559601e-02 -4.8817999660968781e-02 -1.1326299905776978e+00 <_> 0 -1 1914 -7.6358996331691742e-02 1.4169390201568604e+00 8.7319999933242798e-02 <_> 0 -1 1915 -7.2834998369216919e-02 1.3189860582351685e+00 -1.4819100499153137e-01 <_> 0 -1 1916 5.9576999396085739e-02 4.8376999795436859e-02 8.5611802339553833e-01 <_> 0 -1 1917 2.0263999700546265e-02 -2.1044099330902100e-01 3.3858999609947205e-01 <_> 0 -1 1918 -8.0301001667976379e-02 -1.2464400529861450e+00 1.1857099831104279e-01 <_> 0 -1 1919 -1.7835000529885292e-02 2.5782299041748047e-01 -2.4564799666404724e-01 <_> 0 -1 1920 1.1431000195443630e-02 2.2949799895286560e-01 -2.9497599601745605e-01 <_> 0 -1 1921 -2.5541000068187714e-02 -8.6252999305725098e-01 -7.0400000549852848e-04 <_> 0 -1 1922 -7.6899997657164931e-04 3.1511399149894714e-01 -1.4349000155925751e-01 <_> 0 -1 1923 -1.4453999698162079e-02 2.5148499011993408e-01 -2.8232899308204651e-01 <_> 0 -1 1924 8.6730001494288445e-03 2.6601400971412659e-01 -2.8190800547599792e-01 <_> 197 -3.2772979736328125e+00 <_> 0 -1 1925 5.4708998650312424e-02 -5.4144299030303955e-01 6.1043000221252441e-01 <_> 0 -1 1926 -1.0838799923658371e-01 7.1739900112152100e-01 -4.1196098923683167e-01 <_> 0 -1 1927 2.2996999323368073e-02 -5.8269798755645752e-01 2.9645600914955139e-01 <_> 0 -1 1928 2.7540000155568123e-03 -7.4243897199630737e-01 1.4183300733566284e-01 <_> 0 -1 1929 -2.1520000882446766e-03 1.7879900336265564e-01 -6.8548601865768433e-01 <_> 0 -1 1930 -2.2559000179171562e-02 -1.0775549411773682e+00 1.2388999760150909e-01 <_> 0 -1 1931 8.3025000989437103e-02 2.4500999599695206e-02 -1.0251879692077637e+00 <_> 0 -1 1932 -6.6740000620484352e-03 -4.5283100008964539e-01 2.1230199933052063e-01 <_> 0 -1 1933 7.6485000550746918e-02 -2.6972699165344238e-01 4.8580199480056763e-01 <_> 0 -1 1934 5.4910001344978809e-03 -4.8871201276779175e-01 3.1616398692131042e-01 <_> 0 -1 1935 -1.0414999909698963e-02 4.1512900590896606e-01 -3.0044800043106079e-01 <_> 0 -1 1936 2.7607999742031097e-02 1.6203799843788147e-01 -9.9868500232696533e-01 <_> 0 -1 1937 -2.3272000253200531e-02 -1.1024399995803833e+00 2.1124999970197678e-02 <_> 0 -1 1938 -5.5619999766349792e-02 6.5033102035522461e-01 -2.7938000857830048e-02 <_> 0 -1 1939 -4.0631998330354691e-02 4.2117300629615784e-01 -2.6763799786567688e-01 <_> 0 -1 1940 -7.3560001328587532e-03 3.5277798771858215e-01 -3.7854000926017761e-01 <_> 0 -1 1941 1.7007000744342804e-02 -2.9189500212669373e-01 4.1053798794746399e-01 <_> 0 -1 1942 -3.7034001201391220e-02 -1.3216309547424316e+00 1.2966500222682953e-01 <_> 0 -1 1943 -1.9633000716567039e-02 -8.7702298164367676e-01 1.0799999581649899e-03 <_> 0 -1 1944 -2.3546999320387840e-02 2.6106101274490356e-01 -2.1481400728225708e-01 <_> 0 -1 1945 -4.3352998793125153e-02 -9.9089699983596802e-01 -9.9560003727674484e-03 <_> 0 -1 1946 -2.2183999419212341e-02 6.3454401493072510e-01 -5.6547001004219055e-02 <_> 0 -1 1947 1.6530999913811684e-02 2.4664999917149544e-02 -7.3326802253723145e-01 <_> 0 -1 1948 -3.2744001597166061e-02 -5.6297200918197632e-01 1.6640299558639526e-01 <_> 0 -1 1949 7.1415998041629791e-02 -3.0000001424923539e-04 -9.3286401033401489e-01 <_> 0 -1 1950 8.0999999772757292e-04 -9.5380000770092010e-02 2.5184699892997742e-01 <_> 0 -1 1951 -8.4090000018477440e-03 -6.5496802330017090e-01 6.7300997674465179e-02 <_> 0 -1 1952 -1.7254000529646873e-02 -4.6492999792098999e-01 1.6070899367332458e-01 <_> 0 -1 1953 -1.8641000613570213e-02 -1.0594010353088379e+00 -1.9617000594735146e-02 <_> 0 -1 1954 -9.1979997232556343e-03 5.0716197490692139e-01 -1.5339200198650360e-01 <_> 0 -1 1955 1.8538000062108040e-02 -3.0498200654983521e-01 7.3506200313568115e-01 <_> 0 -1 1956 -5.0335001200437546e-02 -1.1140480041503906e+00 1.8000100553035736e-01 <_> 0 -1 1957 -2.3529000580310822e-02 -8.6907899379730225e-01 -1.2459999881684780e-02 <_> 0 -1 1958 -2.7100000530481339e-02 6.5942901372909546e-01 -3.5323999822139740e-02 <_> 0 -1 1959 6.5879998728632927e-03 -2.2953400015830994e-01 4.2425099015235901e-01 <_> 0 -1 1960 2.3360000923275948e-02 1.8356199562549591e-01 -9.8587298393249512e-01 <_> 0 -1 1961 1.2946999631822109e-02 -3.3147400617599487e-01 2.1323199570178986e-01 <_> 0 -1 1962 -6.6559999249875546e-03 -1.1951400339603424e-01 2.9752799868583679e-01 <_> 0 -1 1963 -2.2570999339222908e-02 3.8499400019645691e-01 -2.4434499442577362e-01 <_> 0 -1 1964 -6.3813999295234680e-02 -8.9383500814437866e-01 1.4217500388622284e-01 <_> 0 -1 1965 -4.9945000559091568e-02 5.3864401578903198e-01 -2.0485299825668335e-01 <_> 0 -1 1966 6.8319998681545258e-03 -5.6678999215364456e-02 3.9970999956130981e-01 <_> 0 -1 1967 -5.5835999548435211e-02 -1.5239470005035400e+00 -5.1183000206947327e-02 <_> 0 -1 1968 3.1957000494003296e-01 7.4574001133441925e-02 1.2447799444198608e+00 <_> 0 -1 1969 8.0955997109413147e-02 -1.9665500521659851e-01 5.9889698028564453e-01 <_> 0 -1 1970 -1.4911999925971031e-02 -6.4020597934722900e-01 1.5807600319385529e-01 <_> 0 -1 1971 4.6709001064300537e-02 8.5239000618457794e-02 -4.5487201213836670e-01 <_> 0 -1 1972 6.0539999976754189e-03 -4.3184000253677368e-01 2.2452600300312042e-01 <_> 0 -1 1973 -3.4375999122858047e-02 4.0202501416206360e-01 -2.3903599381446838e-01 <_> 0 -1 1974 -3.4924000501632690e-02 5.2870100736618042e-01 3.9709001779556274e-02 <_> 0 -1 1975 3.0030000489205122e-03 -3.8754299283027649e-01 1.4192600548267365e-01 <_> 0 -1 1976 -1.4132999815046787e-02 8.7528401613235474e-01 8.5507996380329132e-02 <_> 0 -1 1977 -6.7940000444650650e-03 -1.1649219989776611e+00 -3.3943001180887222e-02 <_> 0 -1 1978 -5.2886001765727997e-02 1.0930680036544800e+00 5.1187001168727875e-02 <_> 0 -1 1979 -2.1079999860376120e-03 1.3696199655532837e-01 -3.3849999308586121e-01 <_> 0 -1 1980 1.8353000283241272e-02 1.3661600649356842e-01 -4.0777799487113953e-01 <_> 0 -1 1981 1.2671999633312225e-02 -1.4936000108718872e-02 -8.1707501411437988e-01 <_> 0 -1 1982 1.2924999929964542e-02 1.7625099420547485e-01 -3.2491698861122131e-01 <_> 0 -1 1983 -1.7921000719070435e-02 -5.2745401859283447e-01 4.4443000108003616e-02 <_> 0 -1 1984 1.9160000374540687e-03 -1.0978599637746811e-01 2.2067500650882721e-01 <_> 0 -1 1985 -1.4697999693453312e-02 3.9067798852920532e-01 -2.2224999964237213e-01 <_> 0 -1 1986 -1.4972999691963196e-02 -2.5450900197029114e-01 1.7790000140666962e-01 <_> 0 -1 1987 1.4636999927461147e-02 -2.5125000625848770e-02 -8.7121301889419556e-01 <_> 0 -1 1988 -1.0974000208079815e-02 7.9082798957824707e-01 2.0121000707149506e-02 <_> 0 -1 1989 -9.1599998995661736e-03 -4.7906899452209473e-01 5.2232000976800919e-02 <_> 0 -1 1990 4.6179997734725475e-03 -1.7244599759578705e-01 3.4527799487113953e-01 <_> 0 -1 1991 2.3476999253034592e-02 3.7760001141577959e-03 -6.5333700180053711e-01 <_> 0 -1 1992 3.1766999512910843e-02 1.6364000737667084e-02 5.8723700046539307e-01 <_> 0 -1 1993 -1.8419999629259109e-02 1.9993899762630463e-01 -3.2056498527526855e-01 <_> 0 -1 1994 1.9543999806046486e-02 1.8450200557708740e-01 -2.3793600499629974e-01 <_> 0 -1 1995 4.1159498691558838e-01 -6.0382001101970673e-02 -1.6072119474411011e+00 <_> 0 -1 1996 -4.1595999151468277e-02 -3.2756200432777405e-01 1.5058000385761261e-01 <_> 0 -1 1997 -1.0335999540984631e-02 -6.2394398450851440e-01 1.3112000189721584e-02 <_> 0 -1 1998 1.2392999604344368e-02 -3.3114999532699585e-02 5.5579900741577148e-01 <_> 0 -1 1999 -8.7270000949501991e-03 1.9883200526237488e-01 -3.7635600566864014e-01 <_> 0 -1 2000 1.6295000910758972e-02 2.0373000204563141e-01 -4.2800799012184143e-01 <_> 0 -1 2001 -1.0483999736607075e-02 -5.6847000122070312e-01 4.4199001044034958e-02 <_> 0 -1 2002 -1.2431999668478966e-02 7.4641901254653931e-01 4.3678998947143555e-02 <_> 0 -1 2003 -5.0374999642372131e-02 8.5090100765228271e-01 -1.7773799598217010e-01 <_> 0 -1 2004 4.9548000097274780e-02 1.6784900426864624e-01 -2.9877498745918274e-01 <_> 0 -1 2005 -4.1085001081228256e-02 -1.3302919864654541e+00 -4.9182001501321793e-02 <_> 0 -1 2006 1.0069999843835831e-03 -6.0538999736309052e-02 1.8483200669288635e-01 <_> 0 -1 2007 -5.0142999738454819e-02 7.6447701454162598e-01 -1.8356999754905701e-01 <_> 0 -1 2008 -8.7879998609423637e-03 2.2655999660491943e-01 -6.3156999647617340e-02 <_> 0 -1 2009 -5.0170999020338058e-02 -1.5899070501327515e+00 -6.1255000531673431e-02 <_> 0 -1 2010 1.0216099768877029e-01 1.2071800231933594e-01 -1.4120110273361206e+00 <_> 0 -1 2011 -1.4372999779880047e-02 -1.3116970062255859e+00 -5.1936000585556030e-02 <_> 0 -1 2012 1.0281999595463276e-02 -2.1639999467879534e-03 4.4247201085090637e-01 <_> 0 -1 2013 -1.1814000084996223e-02 6.5378099679946899e-01 -1.8723699450492859e-01 <_> 0 -1 2014 7.2114996612071991e-02 7.1846999228000641e-02 8.1496298313140869e-01 <_> 0 -1 2015 -1.9001999869942665e-02 -6.7427200078964233e-01 -4.3200000072829425e-04 <_> 0 -1 2016 -4.6990001574158669e-03 3.3311501145362854e-01 5.5794000625610352e-02 <_> 0 -1 2017 -5.8157000690698624e-02 4.5572298765182495e-01 -2.0305100083351135e-01 <_> 0 -1 2018 1.1360000353306532e-03 -4.4686999171972275e-02 2.2681899368762970e-01 <_> 0 -1 2019 -4.9414999783039093e-02 2.6694598793983459e-01 -2.6116999983787537e-01 <_> 0 -1 2020 -1.1913800239562988e-01 -8.3017998933792114e-01 1.3248500227928162e-01 <_> 0 -1 2021 -1.8303999677300453e-02 -6.7499202489852905e-01 1.7092000693082809e-02 <_> 0 -1 2022 -7.9199997708201408e-03 -7.2287000715732574e-02 1.4425800740718842e-01 <_> 0 -1 2023 5.1925998181104660e-02 3.0921999365091324e-02 -5.5860602855682373e-01 <_> 0 -1 2024 6.6724002361297607e-02 1.3666400313377380e-01 -2.9411000013351440e-01 <_> 0 -1 2025 -1.3778000138700008e-02 -5.9443902969360352e-01 1.5300000086426735e-02 <_> 0 -1 2026 -1.7760999500751495e-02 4.0496501326560974e-01 -3.3559999428689480e-03 <_> 0 -1 2027 -4.2234998196363449e-02 -1.0897940397262573e+00 -4.0224999189376831e-02 <_> 0 -1 2028 -1.3524999842047691e-02 2.8921899199485779e-01 -2.5194799900054932e-01 <_> 0 -1 2029 -1.1106000281870365e-02 6.5312802791595459e-01 -1.8053700029850006e-01 <_> 0 -1 2030 -1.2284599989652634e-01 -1.9570649862289429e+00 1.4815400540828705e-01 <_> 0 -1 2031 4.7715999186038971e-02 -2.2875599563121796e-01 3.4233701229095459e-01 <_> 0 -1 2032 3.1817000359296799e-02 1.5976299345493317e-01 -1.0091969966888428e+00 <_> 0 -1 2033 4.2570000514388084e-03 -3.8881298899650574e-01 8.4210000932216644e-02 <_> 0 -1 2034 -6.1372999101877213e-02 1.7152810096740723e+00 5.9324998408555984e-02 <_> 0 -1 2035 -2.7030000928789377e-03 -3.8161700963973999e-01 8.5127003490924835e-02 <_> 0 -1 2036 -6.8544000387191772e-02 -3.0925889015197754e+00 1.1788000166416168e-01 <_> 0 -1 2037 1.0372500121593475e-01 -1.3769300282001495e-01 1.9009410142898560e+00 <_> 0 -1 2038 1.5799000859260559e-02 -6.2660001218318939e-02 2.5917699933052063e-01 <_> 0 -1 2039 -9.8040001466870308e-03 -5.6291598081588745e-01 4.3923001736402512e-02 <_> 0 -1 2040 -9.0229995548725128e-03 2.5287100672721863e-01 -4.1225999593734741e-02 <_> 0 -1 2041 -6.3754998147487640e-02 -2.6178569793701172e+00 -7.4005998671054840e-02 <_> 0 -1 2042 3.8954999297857285e-02 5.9032998979091644e-02 8.5945600271224976e-01 <_> 0 -1 2043 -3.9802998304367065e-02 9.3600499629974365e-01 -1.5639400482177734e-01 <_> 0 -1 2044 5.0301998853683472e-02 1.3725900650024414e-01 -2.5549728870391846e+00 <_> 0 -1 2045 4.6250000596046448e-02 -1.3964000158011913e-02 -7.1026200056076050e-01 <_> 0 -1 2046 6.2196001410484314e-02 5.9526000171899796e-02 1.6509100198745728e+00 <_> 0 -1 2047 -6.4776003360748291e-02 7.1368998289108276e-01 -1.7270000278949738e-01 <_> 0 -1 2048 2.7522999793291092e-02 1.4631600677967072e-01 -8.1428997218608856e-02 <_> 0 -1 2049 3.9900001138448715e-04 -3.7144500017166138e-01 1.0152699798345566e-01 <_> 0 -1 2050 -4.3299999088048935e-03 -2.3756299912929535e-01 2.6798400282859802e-01 <_> 0 -1 2051 4.7297000885009766e-02 -2.7682000771164894e-02 -8.4910297393798828e-01 <_> 0 -1 2052 1.2508999556303024e-02 1.8730199337005615e-01 -5.6001102924346924e-01 <_> 0 -1 2053 4.5899000018835068e-02 -1.5601199865341187e-01 9.7073000669479370e-01 <_> 0 -1 2054 1.9853399693965912e-01 1.4895500242710114e-01 -1.1015529632568359e+00 <_> 0 -1 2055 1.6674999147653580e-02 -1.6615299880504608e-01 8.2210999727249146e-01 <_> 0 -1 2056 1.9829999655485153e-03 -7.1249999105930328e-02 2.8810900449752808e-01 <_> 0 -1 2057 2.2447999566793442e-02 -2.0981000736355782e-02 -7.8416502475738525e-01 <_> 0 -1 2058 -1.3913000002503395e-02 -1.8165799975395203e-01 2.0491799712181091e-01 <_> 0 -1 2059 -7.7659999951720238e-03 -4.5595899224281311e-01 6.3576996326446533e-02 <_> 0 -1 2060 -1.3209000229835510e-02 2.6632300019264221e-01 -1.7795999348163605e-01 <_> 0 -1 2061 4.9052998423576355e-02 -1.5476800501346588e-01 1.1069979667663574e+00 <_> 0 -1 2062 2.0263999700546265e-02 6.8915002048015594e-02 6.9867497682571411e-01 <_> 0 -1 2063 -1.6828000545501709e-02 2.7607199549674988e-01 -2.5139200687408447e-01 <_> 0 -1 2064 -1.6939499974250793e-01 -3.0767529010772705e+00 1.1617500334978104e-01 <_> 0 -1 2065 -1.1336100101470947e-01 -1.4639229774475098e+00 -5.1447000354528427e-02 <_> 0 -1 2066 -7.7685996890068054e-02 8.8430202007293701e-01 4.3306998908519745e-02 <_> 0 -1 2067 -1.5568000264465809e-02 1.3672499358654022e-01 -3.4505501389503479e-01 <_> 0 -1 2068 -6.6018998622894287e-02 -1.0300110578536987e+00 1.1601399630308151e-01 <_> 0 -1 2069 8.3699999377131462e-03 7.6429001986980438e-02 -4.4002500176429749e-01 <_> 0 -1 2070 3.5402998328208923e-02 1.1979500204324722e-01 -7.2668302059173584e-01 <_> 0 -1 2071 -3.9051000028848648e-02 6.7375302314758301e-01 -1.8196000158786774e-01 <_> 0 -1 2072 -9.7899995744228363e-03 2.1264599263668060e-01 3.6756001412868500e-02 <_> 0 -1 2073 -2.3047000169754028e-02 4.4742199778556824e-01 -2.0986700057983398e-01 <_> 0 -1 2074 3.1169999856501818e-03 3.7544000893831253e-02 2.7808201313018799e-01 <_> 0 -1 2075 1.3136000372469425e-02 -1.9842399656772614e-01 5.4335701465606689e-01 <_> 0 -1 2076 1.4782000333070755e-02 1.3530600070953369e-01 -1.1153600364923477e-01 <_> 0 -1 2077 -6.0139000415802002e-02 8.4039300680160522e-01 -1.6711600124835968e-01 <_> 0 -1 2078 5.1998998969793320e-02 1.7372000217437744e-01 -7.8547602891921997e-01 <_> 0 -1 2079 2.4792000651359558e-02 -1.7739200592041016e-01 6.6752600669860840e-01 <_> 0 -1 2080 -1.2014999985694885e-02 -1.4263699948787689e-01 1.6070500016212463e-01 <_> 0 -1 2081 -9.8655998706817627e-02 1.0429769754409790e+00 -1.5770199894905090e-01 <_> 0 -1 2082 1.1758299916982651e-01 1.0955700278282166e-01 -4.4920377731323242e+00 <_> 0 -1 2083 -1.8922999501228333e-02 -7.8543400764465332e-01 1.2984000146389008e-02 <_> 0 -1 2084 -2.8390999883413315e-02 -6.0569900274276733e-01 1.2903499603271484e-01 <_> 0 -1 2085 1.3182999566197395e-02 -1.4415999874472618e-02 -7.3210501670837402e-01 <_> 0 -1 2086 -1.1653000116348267e-01 -2.0442469120025635e+00 1.4053100347518921e-01 <_> 0 -1 2087 -3.8880000356584787e-03 -4.1861599683761597e-01 7.8704997897148132e-02 <_> 0 -1 2088 3.1229000538587570e-02 2.4632999673485756e-02 4.1870400309562683e-01 <_> 0 -1 2089 2.5198999792337418e-02 -1.7557799816131592e-01 6.4710599184036255e-01 <_> 0 -1 2090 -2.8124000877141953e-02 -2.2005599737167358e-01 1.4121000468730927e-01 <_> 0 -1 2091 3.6499001085758209e-02 -6.8426996469497681e-02 -2.3410849571228027e+00 <_> 0 -1 2092 -7.2292998433113098e-02 1.2898750305175781e+00 8.4875002503395081e-02 <_> 0 -1 2093 -4.1671000421047211e-02 -1.1630970239639282e+00 -5.3752999752759933e-02 <_> 0 -1 2094 4.7703001648187637e-02 7.0101000368595123e-02 7.3676502704620361e-01 <_> 0 -1 2095 6.5793000161647797e-02 -1.7755299806594849e-01 6.9780498743057251e-01 <_> 0 -1 2096 1.3904999941587448e-02 2.1936799585819244e-01 -2.0390799641609192e-01 <_> 0 -1 2097 -2.7730999514460564e-02 6.1867898702621460e-01 -1.7804099619388580e-01 <_> 0 -1 2098 -1.5879999846220016e-02 -4.6484100818634033e-01 1.8828600645065308e-01 <_> 0 -1 2099 7.4128001928329468e-02 -1.2858100235462189e-01 3.2792479991912842e+00 <_> 0 -1 2100 -8.9000002481043339e-04 -3.0117601156234741e-01 2.3818799853324890e-01 <_> 0 -1 2101 1.7965000122785568e-02 -2.2284999489784241e-01 2.9954001307487488e-01 <_> 0 -1 2102 -2.5380000006407499e-03 2.5064399838447571e-01 -1.3665600121021271e-01 <_> 0 -1 2103 -9.0680001303553581e-03 2.9017499089241028e-01 -2.8929701447486877e-01 <_> 0 -1 2104 4.9169998615980148e-02 1.9156399369239807e-01 -6.8328702449798584e-01 <_> 0 -1 2105 -3.0680999159812927e-02 -7.5677001476287842e-01 -1.3279999606311321e-02 <_> 0 -1 2106 1.0017400234937668e-01 8.4453999996185303e-02 1.0888710021972656e+00 <_> 0 -1 2107 3.1950001139193773e-03 -2.6919400691986084e-01 1.9537900388240814e-01 <_> 0 -1 2108 3.5503000020980835e-02 1.3632300496101379e-01 -5.6917202472686768e-01 <_> 0 -1 2109 4.5900000259280205e-04 -4.0443998575210571e-01 1.4074799418449402e-01 <_> 0 -1 2110 2.5258999317884445e-02 1.6243200004100800e-01 -5.5741798877716064e-01 <_> 0 -1 2111 -5.1549999043345451e-03 3.1132599711418152e-01 -2.2756099700927734e-01 <_> 0 -1 2112 1.5869999770075083e-03 -2.6867699623107910e-01 1.9565400481224060e-01 <_> 0 -1 2113 -1.6204999759793282e-02 1.5486499667167664e-01 -3.4057798981666565e-01 <_> 0 -1 2114 -2.9624000191688538e-02 1.1466799974441528e+00 9.0557999908924103e-02 <_> 0 -1 2115 -1.5930000226944685e-03 -7.1257501840591431e-01 -7.0400000549852848e-04 <_> 0 -1 2116 -5.4019000381231308e-02 4.1537499427795410e-01 2.7246000245213509e-02 <_> 0 -1 2117 -6.6211000084877014e-02 -1.3340090513229370e+00 -4.7352999448776245e-02 <_> 0 -1 2118 2.7940999716520309e-02 1.4446300268173218e-01 -5.1518398523330688e-01 <_> 0 -1 2119 2.8957000002264977e-02 -4.9966000020503998e-02 -1.1929039955139160e+00 <_> 0 -1 2120 -2.0424999296665192e-02 6.3881301879882812e-01 3.8141001015901566e-02 <_> 0 -1 2121 1.2416999787092209e-02 -2.1547000110149384e-01 4.9477699398994446e-01 <_> 181 -3.3196411132812500e+00 <_> 0 -1 2122 4.3274000287055969e-02 -8.0494397878646851e-01 3.9897298812866211e-01 <_> 0 -1 2123 1.8615500628948212e-01 -3.1655299663543701e-01 6.8877297639846802e-01 <_> 0 -1 2124 3.1860999763011932e-02 -6.4266198873519897e-01 2.5550898909568787e-01 <_> 0 -1 2125 1.4022000133991241e-02 -4.5926600694656372e-01 3.1171199679374695e-01 <_> 0 -1 2126 -6.3029997982084751e-03 4.6026900410652161e-01 -2.7438500523567200e-01 <_> 0 -1 2127 -5.4310001432895660e-03 3.6608600616455078e-01 -2.7205801010131836e-01 <_> 0 -1 2128 1.6822999343276024e-02 2.3476999253034592e-02 -8.8443797826766968e-01 <_> 0 -1 2129 2.6039000600576401e-02 1.7488799989223480e-01 -5.4564702510833740e-01 <_> 0 -1 2130 -2.6720000430941582e-02 -9.6396499872207642e-01 2.3524999618530273e-02 <_> 0 -1 2131 -1.7041999846696854e-02 -7.0848798751831055e-01 2.1468099951744080e-01 <_> 0 -1 2132 5.9569999575614929e-03 7.3601000010967255e-02 -6.8225598335266113e-01 <_> 0 -1 2133 -2.8679999522864819e-03 -7.4935001134872437e-01 2.3803399503231049e-01 <_> 0 -1 2134 -4.3774999678134918e-02 6.8323302268981934e-01 -2.1380299329757690e-01 <_> 0 -1 2135 5.1633000373840332e-02 -1.2566499412059784e-01 6.7523801326751709e-01 <_> 0 -1 2136 8.1780003383755684e-03 7.0689998567104340e-02 -8.0665898323059082e-01 <_> 0 -1 2137 -5.2841998636722565e-02 9.5433902740478516e-01 1.6548000276088715e-02 <_> 0 -1 2138 5.2583999931812286e-02 -2.8414401412010193e-01 4.7129800915718079e-01 <_> 0 -1 2139 -1.2659000232815742e-02 3.8445401191711426e-01 -6.2288001179695129e-02 <_> 0 -1 2140 1.1694000102579594e-02 5.6000000768108293e-05 -1.0173139572143555e+00 <_> 0 -1 2141 -2.3918999359011650e-02 8.4921300411224365e-01 5.7399999350309372e-03 <_> 0 -1 2142 -6.1673998832702637e-02 -9.2571401596069336e-01 -1.7679999582469463e-03 <_> 0 -1 2143 -1.8279999494552612e-03 -5.4372298717498779e-01 2.4932399392127991e-01 <_> 0 -1 2144 3.5257998853921890e-02 -7.3719997890293598e-03 -9.3963998556137085e-01 <_> 0 -1 2145 -1.8438000231981277e-02 7.2136700153350830e-01 1.0491999797523022e-02 <_> 0 -1 2146 -3.8389001041650772e-02 1.9272600114345551e-01 -3.5832101106643677e-01 <_> 0 -1 2147 9.9720999598503113e-02 1.1354199796915054e-01 -1.6304190158843994e+00 <_> 0 -1 2148 8.4462001919746399e-02 -5.3420998156070709e-02 -1.6981120109558105e+00 <_> 0 -1 2149 4.0270000696182251e-02 -1.0783199965953827e-01 5.1926600933074951e-01 <_> 0 -1 2150 5.8935999870300293e-02 -1.8053700029850006e-01 9.5119798183441162e-01 <_> 0 -1 2151 1.4957000315189362e-01 1.6785299777984619e-01 -1.1591869592666626e+00 <_> 0 -1 2152 6.9399998756125569e-04 2.0491400361061096e-01 -3.3118200302124023e-01 <_> 0 -1 2153 -3.3369001001119614e-02 9.3468099832534790e-01 -2.9639999847859144e-03 <_> 0 -1 2154 9.3759996816515923e-03 3.7000000011175871e-03 -7.7549797296524048e-01 <_> 0 -1 2155 4.3193999677896500e-02 -2.2040000185370445e-03 7.4589699506759644e-01 <_> 0 -1 2156 -6.7555002868175507e-02 7.2292101383209229e-01 -1.8404200673103333e-01 <_> 0 -1 2157 -3.1168600916862488e-01 1.0014270544052124e+00 3.4003000706434250e-02 <_> 0 -1 2158 2.9743999242782593e-02 -4.6356000006198883e-02 -1.2781809568405151e+00 <_> 0 -1 2159 1.0737000033259392e-02 1.4812000095844269e-02 6.6649997234344482e-01 <_> 0 -1 2160 -2.8841000050306320e-02 -9.4222599267959595e-01 -2.0796999335289001e-02 <_> 0 -1 2161 -5.7649998925626278e-03 -4.3541899323463440e-01 2.3386000096797943e-01 <_> 0 -1 2162 2.8410999104380608e-02 -1.7615799605846405e-01 8.5765302181243896e-01 <_> 0 -1 2163 -2.9007999226450920e-02 5.7978099584579468e-01 2.8565999120473862e-02 <_> 0 -1 2164 2.4965999647974968e-02 -2.2729000076651573e-02 -9.6773099899291992e-01 <_> 0 -1 2165 1.2036000378429890e-02 -1.4214700460433960e-01 5.1687997579574585e-01 <_> 0 -1 2166 -4.2514000087976456e-02 9.7273802757263184e-01 -1.8119800090789795e-01 <_> 0 -1 2167 1.0276000015437603e-02 -8.3099998533725739e-02 3.1762799620628357e-01 <_> 0 -1 2168 -6.9191999733448029e-02 -2.0668580532073975e+00 -6.0173999518156052e-02 <_> 0 -1 2169 -4.6769999898970127e-03 4.4131800532341003e-01 2.3209000006318092e-02 <_> 0 -1 2170 -1.3923999853432178e-02 2.8606700897216797e-01 -2.9152700304985046e-01 <_> 0 -1 2171 -1.5333999879658222e-02 -5.7414501905441284e-01 2.3063300549983978e-01 <_> 0 -1 2172 -1.0239000432193279e-02 3.4479200839996338e-01 -2.6080399751663208e-01 <_> 0 -1 2173 -5.0988998264074326e-02 5.6154102087020874e-01 6.1218999326229095e-02 <_> 0 -1 2174 3.0689999461174011e-02 -1.4772799611091614e-01 1.6378489732742310e+00 <_> 0 -1 2175 -1.1223999783396721e-02 2.4006199836730957e-01 -4.4864898920059204e-01 <_> 0 -1 2176 -6.2899999320507050e-03 4.3119499087333679e-01 -2.3808999359607697e-01 <_> 0 -1 2177 7.8590996563434601e-02 1.9865000620484352e-02 8.0853801965713501e-01 <_> 0 -1 2178 -1.0178999975323677e-02 1.8193200230598450e-01 -3.2877799868583679e-01 <_> 0 -1 2179 3.1227000057697296e-02 1.4973899722099304e-01 -1.4180339574813843e+00 <_> 0 -1 2180 4.0196999907493591e-02 -1.9760499894618988e-01 5.8508199453353882e-01 <_> 0 -1 2181 1.6138000413775444e-02 5.0000002374872565e-04 3.9050000905990601e-01 <_> 0 -1 2182 -4.5519001781940460e-02 1.2646820545196533e+00 -1.5632599592208862e-01 <_> 0 -1 2183 -1.8130000680685043e-02 6.5148502588272095e-01 1.0235999710857868e-02 <_> 0 -1 2184 -1.4001999981701374e-02 -1.0344820022583008e+00 -3.2182998955249786e-02 <_> 0 -1 2185 -3.8816001266241074e-02 -4.7874298691749573e-01 1.6290700435638428e-01 <_> 0 -1 2186 3.1656000763177872e-02 -2.0983399450778961e-01 5.4575902223587036e-01 <_> 0 -1 2187 -1.0839999653398991e-02 5.1898801326751709e-01 -1.5080000273883343e-02 <_> 0 -1 2188 1.2032999657094479e-02 -2.1107600629329681e-01 7.5937002897262573e-01 <_> 0 -1 2189 7.0772998034954071e-02 1.8048800528049469e-01 -7.4048501253128052e-01 <_> 0 -1 2190 5.3139799833297729e-01 -1.4491699635982513e-01 1.5360039472579956e+00 <_> 0 -1 2191 -1.4774000272154808e-02 -2.8153699636459351e-01 2.0407299697399139e-01 <_> 0 -1 2192 -2.2410000674426556e-03 -4.4876301288604736e-01 5.3989000618457794e-02 <_> 0 -1 2193 4.9968000501394272e-02 4.1514001786708832e-02 2.9417100548744202e-01 <_> 0 -1 2194 -4.7701999545097351e-02 3.9674299955368042e-01 -2.8301799297332764e-01 <_> 0 -1 2195 -9.1311000287532806e-02 2.1994259357452393e+00 8.7964996695518494e-02 <_> 0 -1 2196 3.8070000708103180e-02 -2.8025600314140320e-01 2.5156199932098389e-01 <_> 0 -1 2197 -1.5538999810814857e-02 3.4157499670982361e-01 1.7924999818205833e-02 <_> 0 -1 2198 -1.5445999801158905e-02 2.8680199384689331e-01 -2.5135898590087891e-01 <_> 0 -1 2199 -5.7388000190258026e-02 6.3830000162124634e-01 8.8597998023033142e-02 <_> 0 -1 2200 -5.9440000914037228e-03 7.9016998410224915e-02 -4.0774899721145630e-01 <_> 0 -1 2201 -6.9968998432159424e-02 -4.4644200801849365e-01 1.7219600081443787e-01 <_> 0 -1 2202 -2.5064999237656593e-02 -9.8270201683044434e-01 -3.5388000309467316e-02 <_> 0 -1 2203 1.7216000705957413e-02 2.2705900669097900e-01 -8.0550098419189453e-01 <_> 0 -1 2204 -4.4279001653194427e-02 8.3951997756958008e-01 -1.7429600656032562e-01 <_> 0 -1 2205 4.3988998979330063e-02 1.1557199805974960e-01 -1.9666889905929565e+00 <_> 0 -1 2206 1.5907000750303268e-02 -3.7576001137495041e-02 -1.0311100482940674e+00 <_> 0 -1 2207 -9.2754997313022614e-02 -1.3530019521713257e+00 1.2141299992799759e-01 <_> 0 -1 2208 7.1037001907825470e-02 -1.7684300243854523e-01 7.4485200643539429e-01 <_> 0 -1 2209 5.7762000709772110e-02 1.2835599482059479e-01 -4.4444200396537781e-01 <_> 0 -1 2210 -1.6432000324130058e-02 8.0152702331542969e-01 -1.7491699755191803e-01 <_> 0 -1 2211 2.3939000442624092e-02 1.6144999861717224e-01 -1.2364500015974045e-01 <_> 0 -1 2212 1.2636000290513039e-02 1.5411999821662903e-01 -3.3293798565864563e-01 <_> 0 -1 2213 -5.4347999393939972e-02 -1.8400700092315674e+00 1.4835999906063080e-01 <_> 0 -1 2214 -1.3261999934911728e-02 -8.0838799476623535e-01 -2.7726000174880028e-02 <_> 0 -1 2215 6.1340001411736012e-03 -1.3785000145435333e-01 3.2858499884605408e-01 <_> 0 -1 2216 2.8991000726819038e-02 -2.5516999885439873e-02 -8.3387202024459839e-01 <_> 0 -1 2217 -2.1986000239849091e-02 -7.3739999532699585e-01 1.7887100577354431e-01 <_> 0 -1 2218 5.3269998170435429e-03 -4.5449298620223999e-01 6.8791002035140991e-02 <_> 0 -1 2219 8.6047999560832977e-02 2.1008500456809998e-01 -3.7808901071548462e-01 <_> 0 -1 2220 -8.5549997165799141e-03 4.0134999155998230e-01 -2.1074099838733673e-01 <_> 0 -1 2221 6.7790001630783081e-03 -2.1648999303579330e-02 4.5421499013900757e-01 <_> 0 -1 2222 -6.3959998078644276e-03 -4.9818599224090576e-01 7.5907997786998749e-02 <_> 0 -1 2223 8.9469999074935913e-03 1.7857700586318970e-01 -2.8454899787902832e-01 <_> 0 -1 2224 3.2589999027550220e-03 4.6624999493360519e-02 -5.5206298828125000e-01 <_> 0 -1 2225 4.1476998478174210e-02 1.7550499737262726e-01 -2.0703999698162079e-01 <_> 0 -1 2226 -6.7449999041855335e-03 -4.6392598748207092e-01 6.9303996860980988e-02 <_> 0 -1 2227 3.0564999207854271e-02 5.1734998822212219e-02 7.5550502538681030e-01 <_> 0 -1 2228 -7.4780001305043697e-03 1.4893899857997894e-01 -3.1906801462173462e-01 <_> 0 -1 2229 8.9088998734951019e-02 1.3738800585269928e-01 -1.1379710435867310e+00 <_> 0 -1 2230 7.3230001144111156e-03 -2.8829199075698853e-01 1.9088600575923920e-01 <_> 0 -1 2231 -1.8205000087618828e-02 -3.0178600549697876e-01 1.6795800626277924e-01 <_> 0 -1 2232 -2.5828000158071518e-02 -9.8137998580932617e-01 -1.9860999658703804e-02 <_> 0 -1 2233 1.0936199873685837e-01 4.8790000379085541e-02 5.3118300437927246e-01 <_> 0 -1 2234 -1.1424999684095383e-02 2.3705999553203583e-01 -2.7925300598144531e-01 <_> 0 -1 2235 -5.7565998286008835e-02 4.7255399823188782e-01 6.5171003341674805e-02 <_> 0 -1 2236 1.0278300195932388e-01 -2.0765100419521332e-01 5.0947701930999756e-01 <_> 0 -1 2237 2.7041999623179436e-02 1.6421200335025787e-01 -1.4508620500564575e+00 <_> 0 -1 2238 -1.3635000213980675e-02 -5.6543898582458496e-01 2.3788999766111374e-02 <_> 0 -1 2239 -3.2158198952674866e-01 -3.5602829456329346e+00 1.1801300197839737e-01 <_> 0 -1 2240 2.0458100736141205e-01 -3.7016000598669052e-02 -1.0225499868392944e+00 <_> 0 -1 2241 -7.0347003638744354e-02 -5.6491899490356445e-01 1.8525199592113495e-01 <_> 0 -1 2242 3.7831000983715057e-02 -2.9901999980211258e-02 -8.2921499013900757e-01 <_> 0 -1 2243 -7.0298001170158386e-02 -5.3172302246093750e-01 1.4430199563503265e-01 <_> 0 -1 2244 6.3221000134944916e-02 -2.2041200101375580e-01 4.7952198982238770e-01 <_> 0 -1 2245 3.6393001675605774e-02 1.4222699403762817e-01 -6.1193901300430298e-01 <_> 0 -1 2246 4.0099998004734516e-03 -3.4560799598693848e-01 1.1738699674606323e-01 <_> 0 -1 2247 -4.9106001853942871e-02 9.5984101295471191e-01 6.4934998750686646e-02 <_> 0 -1 2248 -7.1583002805709839e-02 1.7385669946670532e+00 -1.4252899587154388e-01 <_> 0 -1 2249 -3.8008999079465866e-02 1.3872820138931274e+00 6.6188000142574310e-02 <_> 0 -1 2250 -3.1570000573992729e-03 5.3677000105381012e-02 -5.4048001766204834e-01 <_> 0 -1 2251 1.9458999857306480e-02 -9.3620002269744873e-02 3.9131000638008118e-01 <_> 0 -1 2252 1.1293999850749969e-02 3.7223998457193375e-02 -5.4251801967620850e-01 <_> 0 -1 2253 -3.3495001494884491e-02 9.5307898521423340e-01 3.7696998566389084e-02 <_> 0 -1 2254 9.2035003006458282e-02 -1.3488399982452393e-01 2.2897069454193115e+00 <_> 0 -1 2255 3.7529999390244484e-03 2.2824199497699738e-01 -5.9983700513839722e-01 <_> 0 -1 2256 1.2848000042140484e-02 -2.2005200386047363e-01 3.7221899628639221e-01 <_> 0 -1 2257 -1.4316199719905853e-01 1.2855789661407471e+00 4.7237001359462738e-02 <_> 0 -1 2258 -9.6879996359348297e-02 -3.9550929069519043e+00 -7.2903998196125031e-02 <_> 0 -1 2259 -8.8459998369216919e-03 3.7674999237060547e-01 -4.6484000980854034e-02 <_> 0 -1 2260 1.5900000929832458e-02 -2.4457000195980072e-02 -8.0034798383712769e-01 <_> 0 -1 2261 7.0372000336647034e-02 1.7019000649452209e-01 -6.3068997859954834e-01 <_> 0 -1 2262 -3.7953998893499374e-02 -9.3667197227478027e-01 -4.1214000433683395e-02 <_> 0 -1 2263 5.1597899198532104e-01 1.3080599904060364e-01 -1.5802290439605713e+00 <_> 0 -1 2264 -3.2843001186847687e-02 -1.1441620588302612e+00 -4.9173999577760696e-02 <_> 0 -1 2265 -3.6357000470161438e-02 4.9606400728225708e-01 -3.4458998590707779e-02 <_> 0 -1 2266 6.8080001510679722e-03 -3.0997800827026367e-01 1.7054800689220428e-01 <_> 0 -1 2267 -1.6114000231027603e-02 -3.7904599308967590e-01 1.6078999638557434e-01 <_> 0 -1 2268 8.4530003368854523e-03 -1.8655499815940857e-01 5.6367701292037964e-01 <_> 0 -1 2269 -1.3752399384975433e-01 -5.8989900350570679e-01 1.1749500036239624e-01 <_> 0 -1 2270 1.7688000202178955e-01 -1.5424899756908417e-01 9.2911100387573242e-01 <_> 0 -1 2271 7.9309996217489243e-03 3.2190701365470886e-01 -1.6392600536346436e-01 <_> 0 -1 2272 1.0971800237894058e-01 -1.5876500308513641e-01 1.0186259746551514e+00 <_> 0 -1 2273 -3.0293000862002373e-02 7.5587302446365356e-01 3.1794998794794083e-02 <_> 0 -1 2274 -2.3118000477552414e-02 -8.8451498746871948e-01 -9.5039997249841690e-03 <_> 0 -1 2275 -3.0900000128895044e-03 2.3838299512863159e-01 -1.1606200039386749e-01 <_> 0 -1 2276 -3.3392000943422318e-02 -1.8738139867782593e+00 -6.8502999842166901e-02 <_> 0 -1 2277 1.3190000317990780e-02 1.2919899821281433e-01 -6.7512202262878418e-01 <_> 0 -1 2278 1.4661000110208988e-02 -2.4829000234603882e-02 -7.4396800994873047e-01 <_> 0 -1 2279 -1.3248000293970108e-02 4.6820199489593506e-01 -2.4165000766515732e-02 <_> 0 -1 2280 -1.6218999400734901e-02 4.0083798766136169e-01 -2.1255700290203094e-01 <_> 0 -1 2281 -2.9052000492811203e-02 -1.5650019645690918e+00 1.4375899732112885e-01 <_> 0 -1 2282 -1.0153199732303619e-01 -1.9220689535140991e+00 -6.9559998810291290e-02 <_> 0 -1 2283 3.7753999233245850e-02 1.3396799564361572e-01 -2.2639141082763672e+00 <_> 0 -1 2284 -2.8555598855018616e-01 1.0215270519256592e+00 -1.5232199430465698e-01 <_> 0 -1 2285 1.5360699594020844e-01 -9.7409002482891083e-02 4.1662400960922241e-01 <_> 0 -1 2286 -2.1199999901000410e-04 1.1271899938583374e-01 -4.1653999686241150e-01 <_> 0 -1 2287 -2.0597999915480614e-02 6.0540497303009033e-01 6.2467999756336212e-02 <_> 0 -1 2288 3.7353999912738800e-02 -1.8919000029563904e-01 4.6464699506759644e-01 <_> 0 -1 2289 5.7275000959634781e-02 1.1565300077199936e-01 -1.3213009834289551e+00 <_> 0 -1 2290 5.1029999740421772e-03 -2.8061500191688538e-01 1.9313399493694305e-01 <_> 0 -1 2291 -5.4644998162984848e-02 7.2428500652313232e-01 7.5447998940944672e-02 <_> 0 -1 2292 2.5349000468850136e-02 -1.9481800496578217e-01 4.6032801270484924e-01 <_> 0 -1 2293 2.4311000481247902e-02 1.5564100444316864e-01 -4.9913901090621948e-01 <_> 0 -1 2294 3.5962000489234924e-02 -5.8573000133037567e-02 -1.5418399572372437e+00 <_> 0 -1 2295 -1.0000699758529663e-01 -1.6100039482116699e+00 1.1450500041246414e-01 <_> 0 -1 2296 8.4435999393463135e-02 -6.1406999826431274e-02 -1.4673349857330322e+00 <_> 0 -1 2297 1.5947999432682991e-02 1.6287900507450104e-01 -1.1026400327682495e-01 <_> 0 -1 2298 3.3824000507593155e-02 -1.7932699620723724e-01 5.7218402624130249e-01 <_> 0 -1 2299 -6.1996001750230789e-02 4.6511812210083008e+00 9.4534002244472504e-02 <_> 0 -1 2300 6.9876998662948608e-02 -1.6985900700092316e-01 8.7028998136520386e-01 <_> 0 -1 2301 -2.7916999533772469e-02 9.1042500734329224e-01 5.6827001273632050e-02 <_> 0 -1 2302 -1.2764000333845615e-02 2.2066700458526611e-01 -2.7769100666046143e-01 <_> 199 -3.2573320865631104e+00 <_> 0 -1 2303 2.1662000566720963e-02 -8.9868897199630737e-01 2.9436299204826355e-01 <_> 0 -1 2304 1.0044500231742859e-01 -3.7659201025962830e-01 6.0891002416610718e-01 <_> 0 -1 2305 2.6003999635577202e-02 -3.8128501176834106e-01 3.9217400550842285e-01 <_> 0 -1 2306 2.8441000729799271e-02 -1.8182300031185150e-01 5.8927202224731445e-01 <_> 0 -1 2307 3.8612000644207001e-02 -2.2399599850177765e-01 6.3779997825622559e-01 <_> 0 -1 2308 -4.6594999730587006e-02 7.0812201499938965e-01 -1.4666199684143066e-01 <_> 0 -1 2309 -4.2791999876499176e-02 4.7680398821830750e-01 -2.9233199357986450e-01 <_> 0 -1 2310 3.7960000336170197e-03 -1.8510299921035767e-01 5.2626699209213257e-01 <_> 0 -1 2311 4.2348999530076981e-02 3.9244998246431351e-02 -8.9197701215744019e-01 <_> 0 -1 2312 1.9598999992012978e-02 -2.3358400166034698e-01 4.4146499037742615e-01 <_> 0 -1 2313 8.7400001939386129e-04 -4.6063598990440369e-01 1.7689600586891174e-01 <_> 0 -1 2314 -4.3629999272525311e-03 3.3493199944496155e-01 -2.9893401265144348e-01 <_> 0 -1 2315 1.6973000019788742e-02 -1.6408699750900269e-01 1.5993679761886597e+00 <_> 0 -1 2316 3.6063998937606812e-02 2.2601699829101562e-01 -5.3186100721359253e-01 <_> 0 -1 2317 -7.0864997804164886e-02 1.5220500528812408e-01 -4.1914600133895874e-01 <_> 0 -1 2318 -6.3075996935367584e-02 -1.4874019622802734e+00 1.2953700125217438e-01 <_> 0 -1 2319 2.9670000076293945e-02 -1.9145900011062622e-01 9.8184901475906372e-01 <_> 0 -1 2320 3.7873998284339905e-02 1.3459500670433044e-01 -5.6316298246383667e-01 <_> 0 -1 2321 -3.3289000391960144e-02 -1.0828030109405518e+00 -1.1504000052809715e-02 <_> 0 -1 2322 -3.1608998775482178e-02 -5.9224498271942139e-01 1.3394799828529358e-01 <_> 0 -1 2323 1.0740000288933516e-03 -4.9185800552368164e-01 9.4446003437042236e-02 <_> 0 -1 2324 -7.1556001901626587e-02 5.9710198640823364e-01 -3.9553001523017883e-02 <_> 0 -1 2325 -8.1170000135898590e-02 -1.1817820072174072e+00 -2.8254000470042229e-02 <_> 0 -1 2326 4.4860001653432846e-03 -6.1028099060058594e-01 2.2619099915027618e-01 <_> 0 -1 2327 -4.2176000773906708e-02 -1.1435619592666626e+00 -2.9001999646425247e-02 <_> 0 -1 2328 -6.5640002489089966e-02 -1.6470279693603516e+00 1.2810300290584564e-01 <_> 0 -1 2329 1.8188999965786934e-02 -3.1149399280548096e-01 2.5739601254463196e-01 <_> 0 -1 2330 -5.1520001143217087e-02 -6.9206899404525757e-01 1.5270799398422241e-01 <_> 0 -1 2331 -4.7150999307632446e-02 -7.1868300437927246e-01 2.6879999786615372e-03 <_> 0 -1 2332 1.7488999292254448e-02 2.2371199727058411e-01 -5.5381798744201660e-01 <_> 0 -1 2333 -2.5264000520110130e-02 1.0319819450378418e+00 -1.7496499419212341e-01 <_> 0 -1 2334 -4.0745001286268234e-02 4.4961598515510559e-01 3.9349000900983810e-02 <_> 0 -1 2335 -3.7666998803615570e-02 -8.5475701093673706e-01 -1.2463999912142754e-02 <_> 0 -1 2336 -1.3411000370979309e-02 5.7845598459243774e-01 -1.7467999830842018e-02 <_> 0 -1 2337 -7.8999997640494257e-05 -3.7749201059341431e-01 1.3961799442768097e-01 <_> 0 -1 2338 -1.1415000073611736e-02 -2.6186600327491760e-01 2.3712499439716339e-01 <_> 0 -1 2339 3.7200000137090683e-02 -2.8626000508666039e-02 -1.2945239543914795e+00 <_> 0 -1 2340 3.4050000831484795e-03 2.0531399548053741e-01 -1.8747499585151672e-01 <_> 0 -1 2341 -2.2483000531792641e-02 6.7027199268341064e-01 -1.9594000279903412e-01 <_> 0 -1 2342 2.3274999111890793e-02 1.7405399680137634e-01 -3.2746300101280212e-01 <_> 0 -1 2343 -1.3917000032961369e-02 -8.3954298496246338e-01 -6.3760001212358475e-03 <_> 0 -1 2344 7.5429999269545078e-03 -3.4194998443126678e-02 5.8998197317123413e-01 <_> 0 -1 2345 -1.1539000086486340e-02 4.2142799496650696e-01 -2.3510499298572540e-01 <_> 0 -1 2346 5.2501998841762543e-02 6.9303996860980988e-02 7.3226499557495117e-01 <_> 0 -1 2347 5.2715998142957687e-02 -1.5688100457191467e-01 1.0907289981842041e+00 <_> 0 -1 2348 -1.1726000346243382e-02 -7.0934301614761353e-01 1.6828800737857819e-01 <_> 0 -1 2349 9.5945999026298523e-02 -1.6192899644374847e-01 1.0072519779205322e+00 <_> 0 -1 2350 -1.5871999785304070e-02 3.9008399844169617e-01 -5.3777001798152924e-02 <_> 0 -1 2351 3.4818001091480255e-02 1.7179999500513077e-02 -9.3941801786422729e-01 <_> 0 -1 2352 3.4791998565196991e-02 5.0462998449802399e-02 5.4465699195861816e-01 <_> 0 -1 2353 1.6284000128507614e-02 -2.6981300115585327e-01 4.0365299582481384e-01 <_> 0 -1 2354 -4.4319000095129013e-02 8.4399998188018799e-01 3.2882999628782272e-02 <_> 0 -1 2355 -5.5689997971057892e-03 1.5309399366378784e-01 -3.4959799051284790e-01 <_> 0 -1 2356 -6.5842002630233765e-02 -9.2711198329925537e-01 1.6800999641418457e-01 <_> 0 -1 2357 -7.3337003588676453e-02 5.1614499092102051e-01 -2.0236000418663025e-01 <_> 0 -1 2358 1.6450000926852226e-02 1.3950599730014801e-01 -4.9301299452781677e-01 <_> 0 -1 2359 -9.2630004510283470e-03 -9.0101999044418335e-01 -1.6116000711917877e-02 <_> 0 -1 2360 5.9139998629689217e-03 1.9858199357986450e-01 -1.6731299459934235e-01 <_> 0 -1 2361 -8.4699998842552304e-04 9.4005003571510315e-02 -4.1570898890495300e-01 <_> 0 -1 2362 2.0532900094985962e-01 -6.0022000223398209e-02 7.0993602275848389e-01 <_> 0 -1 2363 -1.6883000731468201e-02 2.4392199516296387e-01 -3.0551800131797791e-01 <_> 0 -1 2364 -1.9111000001430511e-02 6.1229902505874634e-01 2.4252999573945999e-02 <_> 0 -1 2365 -2.5962999090552330e-02 9.0764999389648438e-01 -1.6722099483013153e-01 <_> 0 -1 2366 -2.1762000396847725e-02 -3.1384700536727905e-01 2.0134599506855011e-01 <_> 0 -1 2367 -2.4119999259710312e-02 -6.6588401794433594e-01 7.4559999629855156e-03 <_> 0 -1 2368 4.7129999846220016e-02 5.9533998370170593e-02 8.7804502248764038e-01 <_> 0 -1 2369 -4.5984998345375061e-02 8.0067998170852661e-01 -1.7252300679683685e-01 <_> 0 -1 2370 2.6507999747991562e-02 1.8774099647998810e-01 -6.0850602388381958e-01 <_> 0 -1 2371 -4.8615001142024994e-02 5.8644098043441772e-01 -1.9427700340747833e-01 <_> 0 -1 2372 -1.8562000244855881e-02 -2.5587901473045349e-01 1.6326199471950531e-01 <_> 0 -1 2373 1.2678000144660473e-02 -1.4228000305593014e-02 -7.6738101243972778e-01 <_> 0 -1 2374 -1.1919999960809946e-03 2.0495000481605530e-01 -1.1404299736022949e-01 <_> 0 -1 2375 -4.9088999629020691e-02 -1.0740849971771240e+00 -3.8940999656915665e-02 <_> 0 -1 2376 -1.7436999827623367e-02 -5.7973802089691162e-01 1.8584500253200531e-01 <_> 0 -1 2377 -1.4770000241696835e-02 -6.6150301694869995e-01 5.3119999356567860e-03 <_> 0 -1 2378 -2.2905200719833374e-01 -4.8305100202560425e-01 1.2326399981975555e-01 <_> 0 -1 2379 -1.2707099318504333e-01 5.7452601194381714e-01 -1.9420400261878967e-01 <_> 0 -1 2380 1.0339000262320042e-02 -5.4641999304294586e-02 2.4501800537109375e-01 <_> 0 -1 2381 6.9010001607239246e-03 1.2180600315332413e-01 -3.8797399401664734e-01 <_> 0 -1 2382 2.9025399684906006e-01 1.0966199636459351e-01 -30. <_> 0 -1 2383 -2.3804999887943268e-01 -1.7352679967880249e+00 -6.3809998333454132e-02 <_> 0 -1 2384 6.2481001019477844e-02 1.3523000478744507e-01 -7.0301097631454468e-01 <_> 0 -1 2385 4.7109997831285000e-03 -4.6984100341796875e-01 6.0341998934745789e-02 <_> 0 -1 2386 -2.7815999463200569e-02 6.9807600975036621e-01 1.3719999697059393e-03 <_> 0 -1 2387 -1.7020000144839287e-02 1.6870440244674683e+00 -1.4314800500869751e-01 <_> 0 -1 2388 -4.9754999577999115e-02 7.9497700929641724e-01 7.7199999941512942e-04 <_> 0 -1 2389 -7.4732996523380280e-02 -1.0132360458374023e+00 -1.9388999789953232e-02 <_> 0 -1 2390 3.2009001821279526e-02 1.4412100613117218e-01 -4.2139101028442383e-01 <_> 0 -1 2391 -9.4463996589183807e-02 5.0682598352432251e-01 -2.0478899776935577e-01 <_> 0 -1 2392 -1.5426999889314175e-02 -1.5811300277709961e-01 1.7806899547576904e-01 <_> 0 -1 2393 -4.0540001355111599e-03 -5.4366701841354370e-01 3.1235000118613243e-02 <_> 0 -1 2394 3.0080000869929790e-03 -1.7376799881458282e-01 3.0441701412200928e-01 <_> 0 -1 2395 -1.0091999545693398e-02 2.5103801488876343e-01 -2.6224100589752197e-01 <_> 0 -1 2396 -3.8818001747131348e-02 9.3226701021194458e-01 7.2659999132156372e-02 <_> 0 -1 2397 3.4651998430490494e-02 -3.3934999257326126e-02 -8.5707902908325195e-01 <_> 0 -1 2398 -4.6729999594390392e-03 3.4969300031661987e-01 -4.8517998307943344e-02 <_> 0 -1 2399 6.8499997723847628e-04 6.6573001444339752e-02 -4.4973799586296082e-01 <_> 0 -1 2400 3.5317000001668930e-02 1.4275799691677094e-01 -4.6726399660110474e-01 <_> 0 -1 2401 -2.3569999262690544e-02 -1.0286079645156860e+00 -4.5288000255823135e-02 <_> 0 -1 2402 -1.9109999993816018e-03 -1.9652199745178223e-01 2.8661000728607178e-01 <_> 0 -1 2403 -1.6659000888466835e-02 -7.7532202005386353e-01 -8.3280000835657120e-03 <_> 0 -1 2404 6.6062200069427490e-01 1.3232499361038208e-01 -3.5266680717468262e+00 <_> 0 -1 2405 1.0970599949359894e-01 -1.5547199547290802e-01 1.4674140214920044e+00 <_> 0 -1 2406 1.3500999659299850e-02 1.5233400464057922e-01 -1.3020930290222168e+00 <_> 0 -1 2407 -2.2871999070048332e-02 -7.1325999498367310e-01 -8.7040001526474953e-03 <_> 0 -1 2408 -8.1821002066135406e-02 1.1127580404281616e+00 8.3219997584819794e-02 <_> 0 -1 2409 -5.2728001028299332e-02 9.3165099620819092e-01 -1.7103999853134155e-01 <_> 0 -1 2410 -2.5242000818252563e-02 -1.9733799993991852e-01 2.5359401106834412e-01 <_> 0 -1 2411 -4.3818999081850052e-02 4.1815200448036194e-01 -2.4585500359535217e-01 <_> 0 -1 2412 -1.8188999965786934e-02 -5.1743197441101074e-01 2.0174199342727661e-01 <_> 0 -1 2413 2.3466000333428383e-02 -4.3071001768112183e-02 -1.0636579990386963e+00 <_> 0 -1 2414 3.4216001629829407e-02 5.3780999034643173e-02 4.9707201123237610e-01 <_> 0 -1 2415 2.5692999362945557e-02 -2.3800100386142731e-01 4.1651499271392822e-01 <_> 0 -1 2416 -2.6565000414848328e-02 -8.8574802875518799e-01 1.3365900516510010e-01 <_> 0 -1 2417 6.0942001640796661e-02 -2.0669700205326080e-01 5.8309000730514526e-01 <_> 0 -1 2418 1.4474500715732574e-01 1.3282300531864166e-01 -3.1449348926544189e+00 <_> 0 -1 2419 5.3410999476909637e-02 -1.7325200140476227e-01 6.9190698862075806e-01 <_> 0 -1 2420 1.1408000253140926e-02 5.4822001606225967e-02 3.0240398645401001e-01 <_> 0 -1 2421 -2.3179999552667141e-03 1.5820899605751038e-01 -3.1973201036453247e-01 <_> 0 -1 2422 -2.9695000499486923e-02 7.1274799108505249e-01 5.8136001229286194e-02 <_> 0 -1 2423 2.7249999344348907e-02 -1.5754100680351257e-01 9.2143797874450684e-01 <_> 0 -1 2424 -3.6200000904500484e-03 -3.4548398852348328e-01 2.0220999419689178e-01 <_> 0 -1 2425 -1.2578999623656273e-02 -5.5650299787521362e-01 2.0388999953866005e-02 <_> 0 -1 2426 -8.8849000632762909e-02 -3.6100010871887207e+00 1.3164199888706207e-01 <_> 0 -1 2427 -1.9256999716162682e-02 5.1908999681472778e-01 -1.9284300506114960e-01 <_> 0 -1 2428 -1.6666999086737633e-02 -8.7499998509883881e-02 1.5812499821186066e-01 <_> 0 -1 2429 1.2931999750435352e-02 2.7405999600887299e-02 -5.5123901367187500e-01 <_> 0 -1 2430 -1.3431999832391739e-02 2.3457799851894379e-01 -4.3235000222921371e-02 <_> 0 -1 2431 1.8810000270605087e-02 -3.9680998772382736e-02 -9.4373297691345215e-01 <_> 0 -1 2432 -6.4349998719990253e-03 4.5703700184822083e-01 -4.0520001202821732e-03 <_> 0 -1 2433 -2.4249000474810600e-02 -7.6248002052307129e-01 -1.9857000559568405e-02 <_> 0 -1 2434 -2.9667999595403671e-02 -3.7412509918212891e+00 1.1250600218772888e-01 <_> 0 -1 2435 5.1150000654160976e-03 -6.3781797885894775e-01 1.1223999783396721e-02 <_> 0 -1 2436 -5.7819997891783714e-03 1.9374400377273560e-01 -8.2042001187801361e-02 <_> 0 -1 2437 1.6606999561190605e-02 -1.6192099452018738e-01 1.1334990262985229e+00 <_> 0 -1 2438 3.8228001445531845e-02 2.1105000749230385e-02 7.6264202594757080e-01 <_> 0 -1 2439 -5.7094000279903412e-02 -1.6974929571151733e+00 -5.9762001037597656e-02 <_> 0 -1 2440 -5.3883001208305359e-02 1.1850190162658691e+00 9.0966999530792236e-02 <_> 0 -1 2441 -2.6110000908374786e-03 -4.0941199660301208e-01 8.3820998668670654e-02 <_> 0 -1 2442 2.9714399576187134e-01 1.5529899299144745e-01 -1.0995409488677979e+00 <_> 0 -1 2443 -8.9063003659248352e-02 4.8947200179100037e-01 -2.0041200518608093e-01 <_> 0 -1 2444 -5.6193001568317413e-02 -2.4581399559974670e-01 1.4365500211715698e-01 <_> 0 -1 2445 3.7004999816417694e-02 -4.8168998211622238e-02 -1.2310709953308105e+00 <_> 0 -1 2446 -8.4840003401041031e-03 4.3372601270675659e-01 1.3779999688267708e-02 <_> 0 -1 2447 -2.4379999376833439e-03 1.8949699401855469e-01 -3.2294198870658875e-01 <_> 0 -1 2448 -7.1639999747276306e-02 -4.3979001045227051e-01 2.2730199992656708e-01 <_> 0 -1 2449 5.2260002121329308e-03 -2.0548400282859802e-01 5.0933301448822021e-01 <_> 0 -1 2450 -6.1360001564025879e-03 3.1157198548316956e-01 7.0680998265743256e-02 <_> 0 -1 2451 1.5595000237226486e-02 -3.0934798717498779e-01 1.5627700090408325e-01 <_> 0 -1 2452 2.5995999574661255e-02 1.3821600377559662e-01 -1.7616599798202515e-01 <_> 0 -1 2453 -1.2085000053048134e-02 -5.1070201396942139e-01 5.8440998196601868e-02 <_> 0 -1 2454 -6.7836001515388489e-02 4.7757101058959961e-01 -7.1446001529693604e-02 <_> 0 -1 2455 -1.4715000055730343e-02 4.5238900184631348e-01 -1.9861400127410889e-01 <_> 0 -1 2456 2.5118999183177948e-02 1.2954899668693542e-01 -8.6266398429870605e-01 <_> 0 -1 2457 1.8826000392436981e-02 -4.1570000350475311e-02 -1.1354700326919556e+00 <_> 0 -1 2458 -2.1263999864459038e-02 -3.4738001227378845e-01 1.5779499709606171e-01 <_> 0 -1 2459 9.4609996303915977e-03 4.8639997839927673e-03 -6.1654800176620483e-01 <_> 0 -1 2460 2.2957700490951538e-01 8.1372998654842377e-02 6.9841402769088745e-01 <_> 0 -1 2461 -3.8061998784542084e-02 1.1616369485855103e+00 -1.4976699650287628e-01 <_> 0 -1 2462 -1.3484999537467957e-02 -3.2036399841308594e-01 1.7365099489688873e-01 <_> 0 -1 2463 3.6238998174667358e-02 -1.8158499896526337e-01 6.1956697702407837e-01 <_> 0 -1 2464 6.7210001870989799e-03 7.9600000753998756e-04 4.2441400885581970e-01 <_> 0 -1 2465 9.6525996923446655e-02 -1.4696800708770752e-01 1.2525680065155029e+00 <_> 0 -1 2466 -3.5656999796628952e-02 -3.9781698584556580e-01 1.4191399514675140e-01 <_> 0 -1 2467 1.0772000066936016e-02 -1.8194000422954559e-01 5.9762197732925415e-01 <_> 0 -1 2468 7.9279996454715729e-02 1.4642499387264252e-01 -7.8836899995803833e-01 <_> 0 -1 2469 3.2841000705957413e-02 -6.2408000230789185e-02 -1.4227490425109863e+00 <_> 0 -1 2470 -2.7781000360846519e-02 3.4033098816871643e-01 3.0670000240206718e-02 <_> 0 -1 2471 -4.0339999832212925e-03 3.1084701418876648e-01 -2.2595700621604919e-01 <_> 0 -1 2472 7.4260002002120018e-03 -3.8936998695135117e-02 3.1702101230621338e-01 <_> 0 -1 2473 1.1213999986648560e-01 -1.7578299343585968e-01 6.5056598186492920e-01 <_> 0 -1 2474 -1.1878100037574768e-01 -1.0092990398406982e+00 1.1069700121879578e-01 <_> 0 -1 2475 -4.1584998369216919e-02 -5.3806400299072266e-01 1.9905000925064087e-02 <_> 0 -1 2476 -2.7966000139713287e-02 4.8143199086189270e-01 3.3590998500585556e-02 <_> 0 -1 2477 -1.2506400048732758e-01 2.6352199912071228e-01 -2.5737899541854858e-01 <_> 0 -1 2478 2.3666900396347046e-01 3.6508001387119293e-02 9.0655601024627686e-01 <_> 0 -1 2479 -2.9475999996066093e-02 -6.0048800706863403e-01 9.5880003646016121e-03 <_> 0 -1 2480 3.7792999297380447e-02 1.5506200492382050e-01 -9.5733499526977539e-01 <_> 0 -1 2481 7.2044000029563904e-02 -1.4525899291038513e-01 1.3676730394363403e+00 <_> 0 -1 2482 9.7759999334812164e-03 1.2915999628603458e-02 2.1640899777412415e-01 <_> 0 -1 2483 5.2154000848531723e-02 -1.6359999775886536e-02 -8.8356298208236694e-01 <_> 0 -1 2484 -4.3790999799966812e-02 3.5829600691795349e-01 6.5131001174449921e-02 <_> 0 -1 2485 -3.8378998637199402e-02 1.1961040496826172e+00 -1.4971500635147095e-01 <_> 0 -1 2486 -9.8838999867439270e-02 -6.1834001541137695e-01 1.2786200642585754e-01 <_> 0 -1 2487 -1.2190700322389603e-01 -1.8276120424270630e+00 -6.4862996339797974e-02 <_> 0 -1 2488 -1.1981700360774994e-01 -30. 1.1323300004005432e-01 <_> 0 -1 2489 3.0910000205039978e-02 -2.3934000730514526e-01 3.6332899332046509e-01 <_> 0 -1 2490 1.0800999589264393e-02 -3.5140000283718109e-02 2.7707898616790771e-01 <_> 0 -1 2491 5.6844998151063919e-02 -1.5524299442768097e-01 1.0802700519561768e+00 <_> 0 -1 2492 1.0280000278726220e-03 -6.1202999204397202e-02 2.0508000254631042e-01 <_> 0 -1 2493 -2.8273999691009521e-02 -6.4778000116348267e-01 2.3917000740766525e-02 <_> 0 -1 2494 -1.6013599932193756e-01 1.0892050266265869e+00 5.8389000594615936e-02 <_> 0 -1 2495 4.9629998393356800e-03 -2.5806298851966858e-01 2.0834599435329437e-01 <_> 0 -1 2496 4.6937000006437302e-02 1.3886299729347229e-01 -1.5662620067596436e+00 <_> 0 -1 2497 2.4286000058054924e-02 -2.0728300511837006e-01 5.2430999279022217e-01 <_> 0 -1 2498 7.0202000439167023e-02 1.4796899259090424e-01 -1.3095090389251709e+00 <_> 0 -1 2499 9.8120002076029778e-03 2.7906000614166260e-02 -5.0864601135253906e-01 <_> 0 -1 2500 -5.6200999766588211e-02 1.2618130445480347e+00 6.3801996409893036e-02 <_> 0 -1 2501 1.0982800275087357e-01 -1.2850099802017212e-01 3.0776169300079346e+00 <_> 211 -3.3703000545501709e+00 <_> 0 -1 2502 2.0910000428557396e-02 -6.8559402227401733e-01 3.8984298706054688e-01 <_> 0 -1 2503 3.5032000392675400e-02 -4.7724398970603943e-01 4.5027199387550354e-01 <_> 0 -1 2504 3.9799001067876816e-02 -4.7011101245880127e-01 4.2702499032020569e-01 <_> 0 -1 2505 -4.8409998416900635e-03 2.5614300370216370e-01 -6.6556298732757568e-01 <_> 0 -1 2506 2.3439999204128981e-03 -4.8083499073982239e-01 2.8013798594474792e-01 <_> 0 -1 2507 2.5312999263405800e-02 -2.3948200047016144e-01 4.4191798567771912e-01 <_> 0 -1 2508 -3.2193001359701157e-02 7.6086699962615967e-01 -2.5059100985527039e-01 <_> 0 -1 2509 7.5409002602100372e-02 -3.4974598884582520e-01 3.4380298852920532e-01 <_> 0 -1 2510 -1.8469000235199928e-02 -7.9085600376129150e-01 3.4788001328706741e-02 <_> 0 -1 2511 -1.2802000157535076e-02 4.7107800841331482e-01 -6.0006000101566315e-02 <_> 0 -1 2512 -2.6598000898957253e-02 6.7116099596023560e-01 -2.4257500469684601e-01 <_> 0 -1 2513 2.1988999098539352e-02 2.4717499315738678e-01 -4.8301699757575989e-01 <_> 0 -1 2514 1.4654099941253662e-01 -2.1504099667072296e-01 7.2055900096893311e-01 <_> 0 -1 2515 3.5310001112520695e-03 2.7930998802185059e-01 -3.4339898824691772e-01 <_> 0 -1 2516 9.4010001048445702e-03 5.5861998349428177e-02 -8.2143598794937134e-01 <_> 0 -1 2517 -8.6390003561973572e-03 -9.9620598554611206e-01 1.8874999880790710e-01 <_> 0 -1 2518 -3.9193000644445419e-02 -1.1945559978485107e+00 -2.9198000207543373e-02 <_> 0 -1 2519 2.4855000898241997e-02 1.4987599849700928e-01 -5.4137802124023438e-01 <_> 0 -1 2520 -3.4995000809431076e-02 -1.4210180044174194e+00 -4.2314000427722931e-02 <_> 0 -1 2521 -1.8378999084234238e-02 -2.8242599964141846e-01 1.5581800043582916e-01 <_> 0 -1 2522 -1.3592000119388103e-02 4.7317099571228027e-01 -2.1937200427055359e-01 <_> 0 -1 2523 6.2629999592900276e-03 -5.9714000672101974e-02 6.0625898838043213e-01 <_> 0 -1 2524 -1.8478000536561012e-02 -8.5647201538085938e-01 -1.3783999718725681e-02 <_> 0 -1 2525 1.4236000366508961e-02 1.6654799878597260e-01 -2.7713999152183533e-01 <_> 0 -1 2526 -3.2547000795602798e-02 -1.1728240251541138e+00 -4.0185000747442245e-02 <_> 0 -1 2527 -2.6410000864416361e-03 2.6514300704002380e-01 -5.6343000382184982e-02 <_> 0 -1 2528 -8.7799999164417386e-04 3.6556001752614975e-02 -5.5075198411941528e-01 <_> 0 -1 2529 4.7371998429298401e-02 -4.2614001780748367e-02 4.8194900155067444e-01 <_> 0 -1 2530 -7.0790001191198826e-03 2.8698998689651489e-01 -3.2923001050949097e-01 <_> 0 -1 2531 -4.3145999312400818e-02 -1.4065419435501099e+00 1.2836399674415588e-01 <_> 0 -1 2532 2.0592000335454941e-02 -2.1435299515724182e-01 5.3981798887252808e-01 <_> 0 -1 2533 -2.2367000579833984e-02 3.3718299865722656e-01 4.5212000608444214e-02 <_> 0 -1 2534 5.0039999186992645e-02 -2.5121700763702393e-01 4.1750499606132507e-01 <_> 0 -1 2535 6.1794999986886978e-02 4.0084999054670334e-02 6.8779802322387695e-01 <_> 0 -1 2536 -4.1861999779939651e-02 5.3027397394180298e-01 -2.2901999950408936e-01 <_> 0 -1 2537 -3.1959998887032270e-03 2.5161498785018921e-01 -2.1514600515365601e-01 <_> 0 -1 2538 2.4255000054836273e-02 7.2320001199841499e-03 -7.2519099712371826e-01 <_> 0 -1 2539 -1.7303999513387680e-02 -4.9958199262619019e-01 1.8394500017166138e-01 <_> 0 -1 2540 -4.1470001451671124e-03 8.5211999714374542e-02 -4.6364700794219971e-01 <_> 0 -1 2541 -1.4369999989867210e-02 -5.2258902788162231e-01 2.3892599344253540e-01 <_> 0 -1 2542 -9.0399999171495438e-03 -6.3250398635864258e-01 3.2551001757383347e-02 <_> 0 -1 2543 -1.2373100221157074e-01 1.2856210470199585e+00 7.6545000076293945e-02 <_> 0 -1 2544 -8.2221999764442444e-02 8.3208197355270386e-01 -1.8590599298477173e-01 <_> 0 -1 2545 6.5659001469612122e-02 1.1298800259828568e-01 -30. <_> 0 -1 2546 -3.1582999974489212e-02 -1.3485900163650513e+00 -4.7097001224756241e-02 <_> 0 -1 2547 -7.9636000096797943e-02 -1.3533639907836914e+00 1.5668800473213196e-01 <_> 0 -1 2548 -1.8880000337958336e-02 4.0300300717353821e-01 -2.5148901343345642e-01 <_> 0 -1 2549 -5.0149997696280479e-03 -2.6287099719047546e-01 1.8582500517368317e-01 <_> 0 -1 2550 -1.2218000367283821e-02 5.8692401647567749e-01 -1.9427700340747833e-01 <_> 0 -1 2551 1.2710000155493617e-03 -1.6688999533653259e-01 2.3006899654865265e-01 <_> 0 -1 2552 2.9743999242782593e-02 1.2520000338554382e-02 -6.6723597049713135e-01 <_> 0 -1 2553 2.8175000101327896e-02 -1.7060000449419022e-02 6.4579397439956665e-01 <_> 0 -1 2554 3.0345000326633453e-02 -2.4178700149059296e-01 3.4878900647163391e-01 <_> 0 -1 2555 -1.7325999215245247e-02 -5.3599399328231812e-01 2.0995999872684479e-01 <_> 0 -1 2556 -8.4178000688552856e-02 7.5093299150466919e-01 -1.7593200504779816e-01 <_> 0 -1 2557 7.4950000271201134e-03 -1.6188099980354309e-01 3.0657500028610229e-01 <_> 0 -1 2558 5.6494999676942825e-02 -1.7318800091743469e-01 1.0016150474548340e+00 <_> 0 -1 2559 -5.2939997985959053e-03 2.3417599499225616e-01 -6.5347000956535339e-02 <_> 0 -1 2560 -1.4945000410079956e-02 2.5018900632858276e-01 -3.0591198801994324e-01 <_> 0 -1 2561 5.4919000715017319e-02 1.3121999800205231e-01 -9.3765097856521606e-01 <_> 0 -1 2562 -1.9721999764442444e-02 -8.3978497982025146e-01 -2.3473000153899193e-02 <_> 0 -1 2563 -6.7158997058868408e-02 2.3586840629577637e+00 8.2970999181270599e-02 <_> 0 -1 2564 -1.4325999654829502e-02 1.8814499676227570e-01 -3.1221601366996765e-01 <_> 0 -1 2565 2.9841000214219093e-02 1.4825099706649780e-01 -8.4681701660156250e-01 <_> 0 -1 2566 5.1883000880479813e-02 -4.3731000274419785e-02 -1.3366169929504395e+00 <_> 0 -1 2567 4.1127000004053116e-02 1.7660099267959595e-01 -6.0904097557067871e-01 <_> 0 -1 2568 -1.2865099310874939e-01 -9.8701000213623047e-01 -3.7785001099109650e-02 <_> 0 -1 2569 2.4170000106096268e-03 -1.6119599342346191e-01 3.2675701379776001e-01 <_> 0 -1 2570 7.7030002139508724e-03 -2.3841500282287598e-01 2.9319399595260620e-01 <_> 0 -1 2571 4.5520000159740448e-02 1.4424599707126617e-01 -1.5010160207748413e+00 <_> 0 -1 2572 -7.8700996935367584e-02 -1.0394560098648071e+00 -4.5375999063253403e-02 <_> 0 -1 2573 7.8619997948408127e-03 1.9633600115776062e-01 -1.4472399652004242e-01 <_> 0 -1 2574 -1.3458999805152416e-02 -9.0634697675704956e-01 -3.8049001246690750e-02 <_> 0 -1 2575 2.8827000409364700e-02 -2.9473999515175819e-02 6.0058397054672241e-01 <_> 0 -1 2576 -2.7365999296307564e-02 -9.9804002046585083e-01 -3.8653001189231873e-02 <_> 0 -1 2577 -7.2917997837066650e-02 7.3361498117446899e-01 5.7440001517534256e-02 <_> 0 -1 2578 -1.3988999649882317e-02 2.7892601490020752e-01 -2.6516300439834595e-01 <_> 0 -1 2579 4.3242998421192169e-02 4.7760000452399254e-03 3.5925900936126709e-01 <_> 0 -1 2580 2.9533000662922859e-02 -2.0083999633789062e-01 5.1202899217605591e-01 <_> 0 -1 2581 -3.1897000968456268e-02 6.4721697568893433e-01 -1.3760000001639128e-03 <_> 0 -1 2582 3.7868998944759369e-02 -1.8363800644874573e-01 6.1343097686767578e-01 <_> 0 -1 2583 -2.2417999804019928e-02 -2.9187899827957153e-01 1.8194800615310669e-01 <_> 0 -1 2584 5.8958999812602997e-02 -6.6451996564865112e-02 -1.9290030002593994e+00 <_> 0 -1 2585 3.1222999095916748e-02 -1.2732000090181828e-02 6.1560797691345215e-01 <_> 0 -1 2586 3.7484999746084213e-02 -2.0856900513172150e-01 4.4363999366760254e-01 <_> 0 -1 2587 -2.0966000854969025e-02 -3.5712799429893494e-01 2.4252200126647949e-01 <_> 0 -1 2588 -2.5477999821305275e-02 1.0846560001373291e+00 -1.5054400265216827e-01 <_> 0 -1 2589 -7.2570000775158405e-03 2.1302600204944611e-01 -1.8308199942111969e-01 <_> 0 -1 2590 -5.0983000546693802e-02 5.1736801862716675e-01 -1.8833099305629730e-01 <_> 0 -1 2591 -2.0640000700950623e-02 -4.4030201435089111e-01 2.2745999693870544e-01 <_> 0 -1 2592 1.0672999545931816e-02 3.5059999674558640e-02 -5.1665002107620239e-01 <_> 0 -1 2593 3.1895998865365982e-02 1.3228000141680241e-02 3.4915199875831604e-01 <_> 0 -1 2594 -2.3824999108910561e-02 3.4118801355361938e-01 -2.1510200202465057e-01 <_> 0 -1 2595 -6.0680001042783260e-03 3.2937398552894592e-01 -2.8523799777030945e-01 <_> 0 -1 2596 2.3881999775767326e-02 -2.5333800911903381e-01 2.6296100020408630e-01 <_> 0 -1 2597 2.7966000139713287e-02 1.4049099385738373e-01 -4.9887099862098694e-01 <_> 0 -1 2598 1.4603000134229660e-02 -1.5395999886095524e-02 -7.6958000659942627e-01 <_> 0 -1 2599 1.0872399806976318e-01 1.9069600105285645e-01 -3.2393100857734680e-01 <_> 0 -1 2600 -1.4038000255823135e-02 3.4924700856208801e-01 -2.2358700633049011e-01 <_> 0 -1 2601 4.0440000593662262e-03 -3.8329001516103745e-02 5.1177299022674561e-01 <_> 0 -1 2602 -4.9769999459385872e-03 -4.2888298630714417e-01 4.9173999577760696e-02 <_> 0 -1 2603 -8.5183002054691315e-02 6.6624599695205688e-01 7.8079998493194580e-03 <_> 0 -1 2604 2.1559998858720064e-03 -4.9135199189186096e-01 6.9555997848510742e-02 <_> 0 -1 2605 3.6384499073028564e-01 1.2997099757194519e-01 -1.8949509859085083e+00 <_> 0 -1 2606 2.2082500159740448e-01 -5.7211998850107193e-02 -1.4281120300292969e+00 <_> 0 -1 2607 -1.6140000894665718e-02 -5.7589399814605713e-01 1.8062500655651093e-01 <_> 0 -1 2608 -4.8330001533031464e-02 9.7308498620986938e-01 -1.6513000428676605e-01 <_> 0 -1 2609 1.7529999837279320e-02 1.7932699620723724e-01 -2.7948901057243347e-01 <_> 0 -1 2610 -3.4309998154640198e-02 -8.1072497367858887e-01 -1.6596000641584396e-02 <_> 0 -1 2611 -4.5830002054572105e-03 2.7908998727798462e-01 -7.4519999325275421e-03 <_> 0 -1 2612 1.2896400690078735e-01 -1.3508500158786774e-01 2.5411539077758789e+00 <_> 0 -1 2613 3.0361000448465347e-02 -6.8419001996517181e-02 2.8734099864959717e-01 <_> 0 -1 2614 4.4086001813411713e-02 -1.8135899305343628e-01 6.5413200855255127e-01 <_> 0 -1 2615 3.0159999150782824e-03 -1.5690499544143677e-01 2.6963800191879272e-01 <_> 0 -1 2616 -2.6336999610066414e-02 2.9175600409507751e-01 -2.5274100899696350e-01 <_> 0 -1 2617 -2.7866000309586525e-02 4.4387501478195190e-01 5.5038001388311386e-02 <_> 0 -1 2618 1.1725000105798244e-02 -1.9346499443054199e-01 4.6656700968742371e-01 <_> 0 -1 2619 1.5689999563619494e-03 -8.2360003143548965e-03 2.5700899958610535e-01 <_> 0 -1 2620 -3.5550000611692667e-03 -4.2430898547172546e-01 7.1174003183841705e-02 <_> 0 -1 2621 -3.1695000827312469e-02 -8.5393500328063965e-01 1.6916200518608093e-01 <_> 0 -1 2622 -3.2097000628709793e-02 8.3784902095794678e-01 -1.7597299814224243e-01 <_> 0 -1 2623 1.5544199943542480e-01 9.9550001323223114e-02 2.3873300552368164e+00 <_> 0 -1 2624 8.8045999407768250e-02 -1.8725299835205078e-01 6.2384301424026489e-01 <_> 0 -1 2625 -1.6720000421628356e-03 2.5008699297904968e-01 -6.5118998289108276e-02 <_> 0 -1 2626 9.3409996479749680e-03 -3.5378900170326233e-01 1.0715000331401825e-01 <_> 0 -1 2627 3.7138000130653381e-02 1.6387000679969788e-01 -9.1718399524688721e-01 <_> 0 -1 2628 8.0183997750282288e-02 -1.4812999963760376e-01 1.4895190000534058e+00 <_> 0 -1 2629 -7.9100002767518163e-04 -2.1326899528503418e-01 1.9676400721073151e-01 <_> 0 -1 2630 -5.0400001928210258e-03 -7.1318697929382324e-01 1.8240000354126096e-03 <_> 0 -1 2631 1.1962399631738663e-01 3.3098999410867691e-02 1.0441709756851196e+00 <_> 0 -1 2632 -4.5280000194907188e-03 -2.7308499813079834e-01 2.7229800820350647e-01 <_> 0 -1 2633 -2.9639000073075294e-02 3.6225798726081848e-01 5.6795001029968262e-02 <_> 0 -1 2634 2.6650000363588333e-02 -4.8041000962257385e-02 -9.6723502874374390e-01 <_> 0 -1 2635 4.4422000646591187e-02 1.3052900135517120e-01 -3.5077300667762756e-01 <_> 0 -1 2636 -2.4359999224543571e-02 -1.0766899585723877e+00 -5.1222998648881912e-02 <_> 0 -1 2637 1.9734999164938927e-02 2.6238000020384789e-02 2.8070500493049622e-01 <_> 0 -1 2638 5.4930001497268677e-03 -2.6111298799514771e-01 2.1011400222778320e-01 <_> 0 -1 2639 -2.3200300335884094e-01 -1.7748440504074097e+00 1.1482600122690201e-01 <_> 0 -1 2640 -2.5614000856876373e-02 2.9900801181793213e-01 -2.2502499818801880e-01 <_> 0 -1 2641 -6.4949998632073402e-03 1.9563800096511841e-01 -9.9762998521327972e-02 <_> 0 -1 2642 3.9840000681579113e-03 -4.3021500110626221e-01 8.1261001527309418e-02 <_> 0 -1 2643 -3.5813000053167343e-02 -5.0987398624420166e-01 1.6345900297164917e-01 <_> 0 -1 2644 -1.4169000089168549e-02 7.7978098392486572e-01 -1.7476299405097961e-01 <_> 0 -1 2645 -1.2642100453376770e-01 -6.3047897815704346e-01 1.2728300690650940e-01 <_> 0 -1 2646 6.8677999079227448e-02 -4.6447999775409698e-02 -1.1128979921340942e+00 <_> 0 -1 2647 8.5864998400211334e-02 1.1835400015115738e-01 -4.8235158920288086e+00 <_> 0 -1 2648 1.5511999838054180e-02 -1.7467999830842018e-02 -6.3693398237228394e-01 <_> 0 -1 2649 8.1091001629829407e-02 8.6133003234863281e-02 2.4559431076049805e+00 <_> 0 -1 2650 1.8495000898838043e-02 4.0229000151157379e-02 -5.0858199596405029e-01 <_> 0 -1 2651 -8.6320996284484863e-02 -1.9006760120391846e+00 1.1019100248813629e-01 <_> 0 -1 2652 7.2355002164840698e-02 -6.2111999839544296e-02 -1.4165179729461670e+00 <_> 0 -1 2653 -7.8179001808166504e-02 8.8849300146102905e-01 4.2369998991489410e-02 <_> 0 -1 2654 9.6681997179985046e-02 -2.2094200551509857e-01 3.3575099706649780e-01 <_> 0 -1 2655 -3.9875999093055725e-02 5.7804799079895020e-01 4.5347999781370163e-02 <_> 0 -1 2656 -9.5349997282028198e-03 -5.4175698757171631e-01 3.2399999909102917e-03 <_> 0 -1 2657 4.0600000647827983e-04 -8.1549003720283508e-02 3.5837900638580322e-01 <_> 0 -1 2658 1.2107999995350838e-02 -2.0280399918556213e-01 4.3768000602722168e-01 <_> 0 -1 2659 -2.0873999223113060e-02 4.1469898819923401e-01 -4.5568000525236130e-02 <_> 0 -1 2660 5.7888001203536987e-02 -2.9009999707341194e-02 -9.1822302341461182e-01 <_> 0 -1 2661 1.3200000103097409e-04 -1.1772400140762329e-01 2.0000000298023224e-01 <_> 0 -1 2662 -1.7137000337243080e-02 3.3004799485206604e-01 -2.3055200278759003e-01 <_> 0 -1 2663 3.0655000358819962e-02 -2.1545000374317169e-02 2.6878198981285095e-01 <_> 0 -1 2664 -7.8699999721720815e-04 -4.4100698828697205e-01 4.9157999455928802e-02 <_> 0 -1 2665 8.8036999106407166e-02 1.1782000213861465e-01 -2.8293309211730957e+00 <_> 0 -1 2666 -3.9028998464345932e-02 9.1777199506759644e-01 -1.5827399492263794e-01 <_> 0 -1 2667 8.0105997622013092e-02 1.1289200186729431e-01 -1.9937280416488647e+00 <_> 0 -1 2668 3.9538998156785965e-02 -1.4357399940490723e-01 1.3085240125656128e+00 <_> 0 -1 2669 2.0684000104665756e-02 2.0048099756240845e-01 -4.4186998158693314e-02 <_> 0 -1 2670 -6.7037999629974365e-02 3.2618600130081177e-01 -2.0550400018692017e-01 <_> 0 -1 2671 4.6815000474452972e-02 1.5825299918651581e-01 -9.5535099506378174e-01 <_> 0 -1 2672 7.8443996608257294e-02 -7.4651002883911133e-02 -2.1161499023437500e+00 <_> 0 -1 2673 6.6380001604557037e-02 1.1641900241374969e-01 -1.6113519668579102e+00 <_> 0 -1 2674 3.0053999274969101e-02 -1.6562600433826447e-01 7.0025402307510376e-01 <_> 0 -1 2675 1.7119999974966049e-02 2.2627699375152588e-01 -4.0114998817443848e-01 <_> 0 -1 2676 2.0073000341653824e-02 -1.9389699399471283e-01 4.4420298933982849e-01 <_> 0 -1 2677 3.3101998269557953e-02 1.1637499928474426e-01 -1.5771679878234863e+00 <_> 0 -1 2678 -1.4882000163197517e-02 -8.9680302143096924e-01 -4.2010001838207245e-02 <_> 0 -1 2679 -1.0281000286340714e-02 3.5602998733520508e-01 -1.3124000281095505e-02 <_> 0 -1 2680 -2.8695000335574150e-02 -4.6039599180221558e-01 2.6801999658346176e-02 <_> 0 -1 2681 -4.7189998440444469e-03 2.3788799345493317e-01 -6.5518997609615326e-02 <_> 0 -1 2682 3.2201600074768066e-01 -2.8489999473094940e-02 -8.4234601259231567e-01 <_> 0 -1 2683 -1.7045000568032265e-02 -5.0938802957534790e-01 1.6057600080966949e-01 <_> 0 -1 2684 -7.3469998314976692e-03 -5.4154998064041138e-01 4.7320001758635044e-03 <_> 0 -1 2685 -3.0001999810338020e-02 -8.8785797357559204e-01 1.3621799647808075e-01 <_> 0 -1 2686 -1.1292999610304832e-02 8.0615198612213135e-01 -1.6159500181674957e-01 <_> 0 -1 2687 4.7749998047947884e-03 1.2968000024557114e-02 5.5079901218414307e-01 <_> 0 -1 2688 5.0710001960396767e-03 -4.5728001743555069e-02 -1.0766259431838989e+00 <_> 0 -1 2689 1.9344100356101990e-01 7.1262001991271973e-02 1.1694519519805908e+00 <_> 0 -1 2690 5.3750001825392246e-03 -1.9736200571060181e-01 3.8206899166107178e-01 <_> 0 -1 2691 -6.8276003003120422e-02 -5.4372339248657227e+00 1.1151900142431259e-01 <_> 0 -1 2692 -3.4933000802993774e-02 4.4793400168418884e-01 -1.8657900393009186e-01 <_> 0 -1 2693 5.1219998858869076e-03 -1.4871999621391296e-02 1.8413899838924408e-01 <_> 0 -1 2694 9.5311999320983887e-02 -1.5117099881172180e-01 9.4991499185562134e-01 <_> 0 -1 2695 -6.2849000096321106e-02 4.6473601460456848e-01 3.8405001163482666e-02 <_> 0 -1 2696 -1.7040699720382690e-01 -1.6499999761581421e+00 -6.3236996531486511e-02 <_> 0 -1 2697 1.0583999566733837e-02 -3.8348998874425888e-02 4.1913801431655884e-01 <_> 0 -1 2698 -4.1579000651836395e-02 3.4461900591850281e-01 -2.1187700331211090e-01 <_> 0 -1 2699 1.2718600034713745e-01 1.2398199737071991e-01 -2.1254889965057373e+00 <_> 0 -1 2700 8.2557000219821930e-02 -6.2024001032114029e-02 -1.4875819683074951e+00 <_> 0 -1 2701 8.5293002426624298e-02 1.7087999731302261e-02 3.2076600193977356e-01 <_> 0 -1 2702 5.5544000118970871e-02 -2.7414000034332275e-01 1.8976399302482605e-01 <_> 0 -1 2703 4.5650000683963299e-03 -1.7920200526714325e-01 2.7967301011085510e-01 <_> 0 -1 2704 1.2997999787330627e-02 -3.2297500967979431e-01 2.6941800117492676e-01 <_> 0 -1 2705 5.7891998440027237e-02 1.2644399702548981e-01 -6.0713499784469604e-01 <_> 0 -1 2706 -2.2824000567197800e-02 -4.9682098627090454e-01 2.2376999258995056e-02 <_> 0 -1 2707 4.8312000930309296e-02 4.3607000261545181e-02 4.8537799715995789e-01 <_> 0 -1 2708 2.5714000687003136e-02 -4.2950998991727829e-02 -9.3023502826690674e-01 <_> 0 -1 2709 6.9269998930394650e-03 -2.9680000152438879e-03 3.4296301007270813e-01 <_> 0 -1 2710 -3.4446999430656433e-02 -1.5299769639968872e+00 -6.1014998704195023e-02 <_> 0 -1 2711 2.9387999325990677e-02 3.7595998495817184e-02 6.4172399044036865e-01 <_> 0 -1 2712 -2.4319998919963837e-03 9.9088996648788452e-02 -3.9688101410865784e-01 <_> 200 -2.9928278923034668e+00 <_> 0 -1 2713 -9.5944002270698547e-02 6.2419098615646362e-01 -4.5875200629234314e-01 <_> 0 -1 2714 1.6834000125527382e-02 -9.3072801828384399e-01 2.1563600003719330e-01 <_> 0 -1 2715 2.6049999520182610e-02 -4.0532299876213074e-01 4.2256599664688110e-01 <_> 0 -1 2716 3.6500001442618668e-04 9.5288001000881195e-02 -6.3298100233078003e-01 <_> 0 -1 2717 -6.6940002143383026e-03 3.7243801355361938e-01 -3.0332401394844055e-01 <_> 0 -1 2718 1.8874000757932663e-02 -2.3357200622558594e-01 4.0330699086189270e-01 <_> 0 -1 2719 -1.6300000424962491e-04 4.2886998504400253e-02 -7.7796798944473267e-01 <_> 0 -1 2720 -7.6259002089500427e-02 -4.9628499150276184e-01 1.6335399448871613e-01 <_> 0 -1 2721 5.0149001181125641e-02 3.2747000455856323e-02 -8.0047899484634399e-01 <_> 0 -1 2722 -2.9239999130368233e-03 -5.0002801418304443e-01 2.5480601191520691e-01 <_> 0 -1 2723 1.6243999823927879e-02 3.8913000375032425e-02 -7.0724898576736450e-01 <_> 0 -1 2724 3.7811998277902603e-02 -6.6267997026443481e-02 7.3868799209594727e-01 <_> 0 -1 2725 -1.2319999746978283e-02 4.8696398735046387e-01 -2.4485599994659424e-01 <_> 0 -1 2726 5.8003999292850494e-02 1.3459099829196930e-01 -1.3232100009918213e-01 <_> 0 -1 2727 4.8630000092089176e-03 -4.4172900915145874e-01 1.4005599915981293e-01 <_> 0 -1 2728 4.5690998435020447e-02 3.1217999756336212e-02 8.9818298816680908e-01 <_> 0 -1 2729 2.1321000531315804e-02 1.2008000165224075e-02 -8.6066198348999023e-01 <_> 0 -1 2730 1.5679100155830383e-01 1.4055999927222729e-02 8.5332900285720825e-01 <_> 0 -1 2731 -1.0328999720513821e-02 2.9022800922393799e-01 -2.9478800296783447e-01 <_> 0 -1 2732 2.4290001019835472e-03 -4.0439900755882263e-01 1.9400200247764587e-01 <_> 0 -1 2733 -2.3338999599218369e-02 3.2945200800895691e-01 -2.5712698698043823e-01 <_> 0 -1 2734 -6.8970001302659512e-03 -5.3352999687194824e-01 2.1635200083255768e-01 <_> 0 -1 2735 -3.4403000026941299e-02 -1.4425489902496338e+00 -4.4682998210191727e-02 <_> 0 -1 2736 -2.1235000342130661e-02 -7.9017502069473267e-01 1.9084100425243378e-01 <_> 0 -1 2737 2.0620001014322042e-03 -2.6931199431419373e-01 3.1488001346588135e-01 <_> 0 -1 2738 -4.2190002277493477e-03 -5.4464399814605713e-01 1.6574600338935852e-01 <_> 0 -1 2739 -1.4334999956190586e-02 2.2105000913143158e-02 -6.2342500686645508e-01 <_> 0 -1 2740 -8.2120001316070557e-03 -4.9884998798370361e-01 1.9237099587917328e-01 <_> 0 -1 2741 -9.3350000679492950e-03 -7.9131197929382324e-01 -1.4143999665975571e-02 <_> 0 -1 2742 -3.7937998771667480e-02 7.9841297864913940e-01 -3.3799000084400177e-02 <_> 0 -1 2743 4.7059999778866768e-03 -3.3163401484489441e-01 2.0726299285888672e-01 <_> 0 -1 2744 -4.4499998912215233e-03 -2.7256301045417786e-01 1.8402199447154999e-01 <_> 0 -1 2745 5.2189999260008335e-03 -5.3096002340316772e-01 5.2607998251914978e-02 <_> 0 -1 2746 -9.5399999991059303e-03 -5.6485402584075928e-01 1.9269399344921112e-01 <_> 0 -1 2747 4.4969998300075531e-02 -1.7411500215530396e-01 9.5382601022720337e-01 <_> 0 -1 2748 1.4209000393748283e-02 -9.1949000954627991e-02 2.4836100637912750e-01 <_> 0 -1 2749 1.6380199790000916e-01 -5.8497000485658646e-02 -1.6404409408569336e+00 <_> 0 -1 2750 2.5579999200999737e-03 2.3447999358177185e-01 -9.2734001576900482e-02 <_> 0 -1 2751 -3.8499999791383743e-03 1.7880700528621674e-01 -3.5844099521636963e-01 <_> 0 -1 2752 -2.5221999734640121e-02 -4.2903000116348267e-01 2.0244500041007996e-01 <_> 0 -1 2753 -1.9415000453591347e-02 5.8016300201416016e-01 -1.8806399405002594e-01 <_> 0 -1 2754 1.4419999904930592e-02 3.2846998423337936e-02 8.1980502605438232e-01 <_> 0 -1 2755 5.1582999527454376e-02 6.9176003336906433e-02 -4.5866298675537109e-01 <_> 0 -1 2756 -3.7960000336170197e-02 -1.2553000450134277e+00 1.4332899451255798e-01 <_> 0 -1 2757 -2.9560999944806099e-02 5.3151798248291016e-01 -2.0596499741077423e-01 <_> 0 -1 2758 -3.9110999554395676e-02 1.1658719778060913e+00 5.3897000849246979e-02 <_> 0 -1 2759 -2.9159000143408775e-02 3.9307600259780884e-01 -2.2184500098228455e-01 <_> 0 -1 2760 -8.3617001771926880e-02 -7.3744499683380127e-01 1.4268200099468231e-01 <_> 0 -1 2761 4.2004001140594482e-01 -1.4277400076389313e-01 1.7894840240478516e+00 <_> 0 -1 2762 6.0005001723766327e-02 1.1976700276136398e-01 -1.8886189460754395e+00 <_> 0 -1 2763 -1.8981000408530235e-02 -1.4148449897766113e+00 -5.6522998958826065e-02 <_> 0 -1 2764 -6.0049998573958874e-03 4.4170799851417542e-01 -1.0200800001621246e-01 <_> 0 -1 2765 -5.8214001357555389e-02 -1.3918470144271851e+00 -4.8268999904394150e-02 <_> 0 -1 2766 -1.2271000072360039e-02 5.1317697763442993e-01 -9.3696996569633484e-02 <_> 0 -1 2767 4.6585999429225922e-02 -5.7484000921249390e-02 -1.4283169507980347e+00 <_> 0 -1 2768 1.2110000243410468e-03 -8.0891996622085571e-02 3.2333201169967651e-01 <_> 0 -1 2769 -8.8642001152038574e-02 -8.6449098587036133e-01 -3.3146999776363373e-02 <_> 0 -1 2770 -2.3184999823570251e-02 5.2162200212478638e-01 -1.6168000176548958e-02 <_> 0 -1 2771 4.3090000748634338e-02 -1.6153800487518311e-01 1.0915000438690186e+00 <_> 0 -1 2772 2.0599999697878957e-04 -1.7091499269008636e-01 3.1236699223518372e-01 <_> 0 -1 2773 8.9159999042749405e-03 -6.7039998248219490e-03 -6.8810397386550903e-01 <_> 0 -1 2774 -1.7752999439835548e-02 6.3292801380157471e-01 -4.2360001243650913e-03 <_> 0 -1 2775 6.2299999408423901e-03 -3.3637198805809021e-01 1.2790599465370178e-01 <_> 0 -1 2776 2.2770000621676445e-02 -3.4703999757766724e-02 3.9141800999641418e-01 <_> 0 -1 2777 -2.1534999832510948e-02 6.4765101671218872e-01 -2.0097799599170685e-01 <_> 0 -1 2778 6.1758998781442642e-02 5.4297000169754028e-02 9.0700101852416992e-01 <_> 0 -1 2779 -7.8069999814033508e-02 6.5523397922515869e-01 -1.9754399359226227e-01 <_> 0 -1 2780 1.1315000243484974e-02 1.9385300576686859e-01 -5.1707297563552856e-01 <_> 0 -1 2781 -2.5590000674128532e-02 -9.3096500635147095e-01 -3.1546998769044876e-02 <_> 0 -1 2782 -3.8058999925851822e-02 -6.8326902389526367e-01 1.2709100544452667e-01 <_> 0 -1 2783 9.7970003262162209e-03 1.5523999929428101e-02 -6.3347899913787842e-01 <_> 0 -1 2784 -1.3841999694705009e-02 1.0060529708862305e+00 6.2812998890876770e-02 <_> 0 -1 2785 8.3459997549653053e-03 -2.3383200168609619e-01 3.0982699990272522e-01 <_> 0 -1 2786 -7.1439996361732483e-02 -7.2505402565002441e-01 1.7148299515247345e-01 <_> 0 -1 2787 1.0006000287830830e-02 -2.2071999311447144e-01 3.5266199707984924e-01 <_> 0 -1 2788 1.1005300283432007e-01 1.6662000119686127e-01 -7.4318999052047729e-01 <_> 0 -1 2789 3.5310998558998108e-02 -2.3982700705528259e-01 4.1435998678207397e-01 <_> 0 -1 2790 -1.1174699664115906e-01 5.1045399904251099e-01 2.2319999989122152e-03 <_> 0 -1 2791 -1.1367800086736679e-01 9.0475201606750488e-01 -1.6615299880504608e-01 <_> 0 -1 2792 1.6667999327182770e-02 1.4024500548839569e-01 -5.2178502082824707e-01 <_> 0 -1 2793 -8.0340001732110977e-03 -6.6178399324417114e-01 3.7640000227838755e-03 <_> 0 -1 2794 -3.3096998929977417e-02 8.0185902118682861e-01 5.9385001659393311e-02 <_> 0 -1 2795 1.2547999620437622e-02 -3.3545500040054321e-01 1.4578600227832794e-01 <_> 0 -1 2796 -4.2073998600244522e-02 -5.5509102344512939e-01 1.3266600668430328e-01 <_> 0 -1 2797 2.5221999734640121e-02 -6.1631999909877777e-02 -1.3678770065307617e+00 <_> 0 -1 2798 -2.4268999695777893e-02 3.4185099601745605e-01 -7.4160001240670681e-03 <_> 0 -1 2799 -1.2280000373721123e-02 2.7745801210403442e-01 -3.1033900380134583e-01 <_> 0 -1 2800 -1.1377099901437759e-01 1.1719540357589722e+00 8.3681002259254456e-02 <_> 0 -1 2801 -8.4771998226642609e-02 8.1694799661636353e-01 -1.7837500572204590e-01 <_> 0 -1 2802 -2.4552000686526299e-02 -1.8627299368381500e-01 1.4340099692344666e-01 <_> 0 -1 2803 -9.0269995853304863e-03 3.2659199833869934e-01 -2.3541299998760223e-01 <_> 0 -1 2804 1.1177999898791313e-02 1.9761200249195099e-01 -2.1701000630855560e-02 <_> 0 -1 2805 -2.9366999864578247e-02 -9.3414801359176636e-01 -2.1704999729990959e-02 <_> 0 -1 2806 6.3640000298619270e-03 2.5573000311851501e-02 4.6412798762321472e-01 <_> 0 -1 2807 1.4026000164449215e-02 -2.1228599548339844e-01 4.0078800916671753e-01 <_> 0 -1 2808 -1.3341999612748623e-02 7.4202698469161987e-01 2.9001999646425247e-02 <_> 0 -1 2809 2.8422799706459045e-01 -1.9243599474430084e-01 4.3631199002265930e-01 <_> 0 -1 2810 -2.3724000155925751e-01 6.9736397266387939e-01 6.9307997822761536e-02 <_> 0 -1 2811 -1.1169700324535370e-01 3.9147201180458069e-01 -2.0922000706195831e-01 <_> 0 -1 2812 1.2787500023841858e-01 -7.2555996477603912e-02 3.6088201403617859e-01 <_> 0 -1 2813 -6.2900997698307037e-02 9.5424997806549072e-01 -1.5402799844741821e-01 <_> 0 -1 2814 1.7439000308513641e-02 -5.1134999841451645e-02 2.7750301361083984e-01 <_> 0 -1 2815 1.2319999514147639e-03 7.5627997517585754e-02 -3.6456099152565002e-01 <_> 0 -1 2816 2.7495000511407852e-02 5.1844000816345215e-02 4.1562598943710327e-01 <_> 0 -1 2817 -4.3543998152017593e-02 7.1969997882843018e-01 -1.7132200300693512e-01 <_> 0 -1 2818 1.1025999672710896e-02 1.4354600012302399e-01 -6.5403002500534058e-01 <_> 0 -1 2819 2.0865999162197113e-02 4.0089000016450882e-02 -4.5743298530578613e-01 <_> 0 -1 2820 -2.2304000332951546e-02 5.3855001926422119e-01 7.1662999689579010e-02 <_> 0 -1 2821 3.2492000609636307e-02 -4.5991998165845871e-02 -1.0047069787979126e+00 <_> 0 -1 2822 1.2269999831914902e-02 3.4334998577833176e-02 4.2431798577308655e-01 <_> 0 -1 2823 8.3820000290870667e-03 -2.5850600004196167e-01 2.6263499259948730e-01 <_> 0 -1 2824 3.7353999912738800e-02 1.5692499279975891e-01 -1.0429090261459351e+00 <_> 0 -1 2825 -1.4111000113189220e-02 -7.3177701234817505e-01 -2.0276999101042747e-02 <_> 0 -1 2826 5.7066999375820160e-02 8.3360001444816589e-02 1.5661499500274658e+00 <_> 0 -1 2827 4.9680001102387905e-03 -3.5318198800086975e-01 1.4698399603366852e-01 <_> 0 -1 2828 -2.4492999538779259e-02 2.8325900435447693e-01 -3.4640000667423010e-03 <_> 0 -1 2829 -1.1254999786615372e-02 -8.4017497301101685e-01 -3.6251999437808990e-02 <_> 0 -1 2830 3.4533001482486725e-02 1.4998500049114227e-01 -8.7367099523544312e-01 <_> 0 -1 2831 2.4303000420331955e-02 -1.8787500262260437e-01 5.9483999013900757e-01 <_> 0 -1 2832 -7.8790001571178436e-03 4.4315698742866516e-01 -5.6570999324321747e-02 <_> 0 -1 2833 3.5142000764608383e-02 -5.6494999676942825e-02 -1.3617190122604370e+00 <_> 0 -1 2834 4.6259998343884945e-03 -3.1161698698997498e-01 2.5447699427604675e-01 <_> 0 -1 2835 -8.3131000399589539e-02 1.6424349546432495e+00 -1.4429399371147156e-01 <_> 0 -1 2836 -1.4015999622642994e-02 -7.7819502353668213e-01 1.7173300683498383e-01 <_> 0 -1 2837 1.2450000504031777e-03 -2.3191399872303009e-01 2.8527900576591492e-01 <_> 0 -1 2838 -1.6803000122308731e-02 -3.5965099930763245e-01 2.0412999391555786e-01 <_> 0 -1 2839 -7.6747998595237732e-02 7.8050500154495239e-01 -1.5612800419330597e-01 <_> 0 -1 2840 -2.3671999573707581e-01 1.1813700199127197e+00 7.8111998736858368e-02 <_> 0 -1 2841 -1.0057400166988373e-01 -4.7104099392890930e-01 7.9172998666763306e-02 <_> 0 -1 2842 1.3239999534562230e-03 2.2262699902057648e-01 -3.7099799513816833e-01 <_> 0 -1 2843 2.2152999415993690e-02 -3.8649000227451324e-02 -9.2274999618530273e-01 <_> 0 -1 2844 -1.1246199905872345e-01 4.1899600625038147e-01 8.0411002039909363e-02 <_> 0 -1 2845 1.6481000930070877e-02 -1.6756699979305267e-01 7.1842402219772339e-01 <_> 0 -1 2846 6.8113997578620911e-02 1.5719899535179138e-01 -8.7681102752685547e-01 <_> 0 -1 2847 1.6011999920010567e-02 -4.1600000113248825e-03 -5.9327799081802368e-01 <_> 0 -1 2848 4.6640001237392426e-03 -3.0153999105095863e-02 4.8345300555229187e-01 <_> 0 -1 2849 6.7579997703433037e-03 -2.2667400538921356e-01 3.3662301301956177e-01 <_> 0 -1 2850 4.7289999201893806e-03 -6.0373999178409576e-02 3.1458100676536560e-01 <_> 0 -1 2851 2.5869999080896378e-03 -2.9872599244117737e-01 1.7787499725818634e-01 <_> 0 -1 2852 2.8989999555051327e-03 2.1890200674533844e-01 -2.9567098617553711e-01 <_> 0 -1 2853 -3.0053999274969101e-02 1.2150429487228394e+00 -1.4354999363422394e-01 <_> 0 -1 2854 1.4181000180542469e-02 1.2451999820768833e-02 5.5490100383758545e-01 <_> 0 -1 2855 -6.0527000576257706e-02 -1.4933999776840210e+00 -6.5227001905441284e-02 <_> 0 -1 2856 -1.9882999360561371e-02 -3.8526400923728943e-01 1.9761200249195099e-01 <_> 0 -1 2857 3.1218999996781349e-02 -2.1281200647354126e-01 2.9446500539779663e-01 <_> 0 -1 2858 1.8271999433636665e-02 9.7200000891461968e-04 6.6814202070236206e-01 <_> 0 -1 2859 1.1089999461546540e-03 -6.2467902898788452e-01 -1.6599999507889152e-03 <_> 0 -1 2860 -3.6713998764753342e-02 -4.2333900928497314e-01 1.2084700167179108e-01 <_> 0 -1 2861 1.2044000439345837e-02 2.5882000103592873e-02 -5.0732398033142090e-01 <_> 0 -1 2862 7.4749000370502472e-02 1.3184699416160583e-01 -2.1739600598812103e-01 <_> 0 -1 2863 -2.3473200201988220e-01 1.1775610446929932e+00 -1.5114699304103851e-01 <_> 0 -1 2864 1.4096499979496002e-01 3.3991001546382904e-02 3.9923098683357239e-01 <_> 0 -1 2865 6.1789997853338718e-03 -3.1806701421737671e-01 1.1681699752807617e-01 <_> 0 -1 2866 -5.7216998189687729e-02 8.4399098157882690e-01 8.3889000117778778e-02 <_> 0 -1 2867 -5.5227000266313553e-02 3.6888301372528076e-01 -1.8913400173187256e-01 <_> 0 -1 2868 -2.1583000198006630e-02 -5.2161800861358643e-01 1.5772600471973419e-01 <_> 0 -1 2869 2.5747999548912048e-02 -5.9921998530626297e-02 -1.0674990415573120e+00 <_> 0 -1 2870 -1.3098999857902527e-02 7.8958398103713989e-01 5.2099999040365219e-02 <_> 0 -1 2871 2.2799998987466097e-03 -1.1704430580139160e+00 -5.9356998652219772e-02 <_> 0 -1 2872 8.8060004636645317e-03 4.1717998683452606e-02 6.6352599859237671e-01 <_> 0 -1 2873 -8.9699998497962952e-03 -3.5862699151039124e-01 6.0458000749349594e-02 <_> 0 -1 2874 4.0230001322925091e-03 2.0979399979114532e-01 -2.4806000292301178e-01 <_> 0 -1 2875 2.5017000734806061e-02 -1.8795900046825409e-01 3.9547100663185120e-01 <_> 0 -1 2876 -5.9009999968111515e-03 2.5663900375366211e-01 -9.4919003546237946e-02 <_> 0 -1 2877 4.3850000947713852e-03 3.3139001578092575e-02 -4.6075400710105896e-01 <_> 0 -1 2878 -3.3771999180316925e-02 -9.8881602287292480e-01 1.4636899530887604e-01 <_> 0 -1 2879 4.4523000717163086e-02 -1.3286699354648590e-01 1.5796790122985840e+00 <_> 0 -1 2880 -4.0929000824689865e-02 3.3877098560333252e-01 7.4970997869968414e-02 <_> 0 -1 2881 3.9351999759674072e-02 -1.8327899277210236e-01 4.6980699896812439e-01 <_> 0 -1 2882 -7.0322997868061066e-02 -9.8322701454162598e-01 1.1808100342750549e-01 <_> 0 -1 2883 3.5743001848459244e-02 -3.3050999045372009e-02 -8.3610898256301880e-01 <_> 0 -1 2884 -4.2961999773979187e-02 1.1670809984207153e+00 8.0692000687122345e-02 <_> 0 -1 2885 -2.1007999777793884e-02 6.3869798183441162e-01 -1.7626300454139709e-01 <_> 0 -1 2886 -1.5742200613021851e-01 -2.3302499949932098e-01 1.2517499923706055e-01 <_> 0 -1 2887 7.8659998252987862e-03 -2.2037999331951141e-01 2.7196800708770752e-01 <_> 0 -1 2888 2.3622000589966774e-02 1.6127300262451172e-01 -4.3329000473022461e-01 <_> 0 -1 2889 7.4692003428936005e-02 -1.6991999745368958e-01 5.8884900808334351e-01 <_> 0 -1 2890 -6.4799998654052615e-04 2.5842899084091187e-01 -3.5911999642848969e-02 <_> 0 -1 2891 -1.6290999948978424e-02 -7.6764398813247681e-01 -2.0472999662160873e-02 <_> 0 -1 2892 -3.3133998513221741e-02 -2.7180099487304688e-01 1.4325700700283051e-01 <_> 0 -1 2893 4.8797998577356339e-02 7.6408997178077698e-02 -4.1445198655128479e-01 <_> 0 -1 2894 2.2869999520480633e-03 -3.8628999143838882e-02 2.0753799378871918e-01 <_> 0 -1 2895 4.5304000377655029e-02 -1.7777900397777557e-01 6.3461399078369141e-01 <_> 0 -1 2896 1.0705800354480743e-01 1.8972299993038177e-01 -5.1236200332641602e-01 <_> 0 -1 2897 -4.0525000542402267e-02 7.0614999532699585e-01 -1.7803299427032471e-01 <_> 0 -1 2898 3.1968999654054642e-02 6.8149998784065247e-02 6.8733102083206177e-01 <_> 0 -1 2899 -5.7617001235485077e-02 7.5170499086380005e-01 -1.5764999389648438e-01 <_> 0 -1 2900 1.3593999668955803e-02 1.9411900639533997e-01 -2.4561899900436401e-01 <_> 0 -1 2901 7.1396000683307648e-02 -4.6881001442670822e-02 -8.8198298215866089e-01 <_> 0 -1 2902 -1.4895999804139137e-02 -4.4532400369644165e-01 1.7679899930953979e-01 <_> 0 -1 2903 -1.0026000440120697e-02 6.5122699737548828e-01 -1.6709999740123749e-01 <_> 0 -1 2904 3.7589999847114086e-03 -5.8301001787185669e-02 3.4483298659324646e-01 <_> 0 -1 2905 1.6263000667095184e-02 -1.5581500530242920e-01 8.6432701349258423e-01 <_> 0 -1 2906 -4.0176000446081161e-02 -6.1028599739074707e-01 1.1796399950981140e-01 <_> 0 -1 2907 2.7080999687314034e-02 -4.9601998180150986e-02 -8.9990001916885376e-01 <_> 0 -1 2908 5.2420001477003098e-02 1.1297199875116348e-01 -1.0833640098571777e+00 <_> 0 -1 2909 -1.9160000607371330e-02 -7.9880100488662720e-01 -3.4079000353813171e-02 <_> 0 -1 2910 -3.7730000913143158e-03 -1.9124099612236023e-01 2.1535199880599976e-01 <_> 0 -1 2911 7.5762003660202026e-02 -1.3421699404716492e-01 1.6807060241699219e+00 <_> 0 -1 2912 -2.2173000499606133e-02 4.8600998520851135e-01 3.6160000599920750e-03 <_> <_> 6 4 12 9 -1. <_> 6 7 12 3 3. <_> <_> 6 4 12 7 -1. <_> 10 4 4 7 3. <_> <_> 3 9 18 9 -1. <_> 3 12 18 3 3. <_> <_> 8 18 9 6 -1. <_> 8 20 9 2 3. <_> <_> 3 5 4 19 -1. <_> 5 5 2 19 2. <_> <_> 6 5 12 16 -1. <_> 6 13 12 8 2. <_> <_> 5 8 12 6 -1. <_> 5 11 12 3 2. <_> <_> 11 14 4 10 -1. <_> 11 19 4 5 2. <_> <_> 4 0 7 6 -1. <_> 4 3 7 3 2. <_> <_> 6 6 12 6 -1. <_> 6 8 12 2 3. <_> <_> 6 4 12 7 -1. <_> 10 4 4 7 3. <_> <_> 1 8 19 12 -1. <_> 1 12 19 4 3. <_> <_> 0 2 24 3 -1. <_> 8 2 8 3 3. <_> <_> 9 9 6 15 -1. <_> 9 14 6 5 3. <_> <_> 5 6 14 10 -1. <_> 5 11 14 5 2. <_> <_> 5 0 14 9 -1. <_> 5 3 14 3 3. <_> <_> 13 11 9 6 -1. <_> 16 11 3 6 3. <_> <_> 7 5 6 10 -1. <_> 9 5 2 10 3. <_> <_> 10 8 6 10 -1. <_> 12 8 2 10 3. <_> <_> 2 5 4 9 -1. <_> 4 5 2 9 2. <_> <_> 18 0 6 11 -1. <_> 20 0 2 11 3. <_> <_> 0 6 24 13 -1. <_> 8 6 8 13 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 7 18 10 6 -1. <_> 7 20 10 2 3. <_> <_> 5 7 14 12 -1. <_> 5 13 14 6 2. <_> <_> 0 3 24 3 -1. <_> 8 3 8 3 3. <_> <_> 5 8 15 6 -1. <_> 5 11 15 3 2. <_> <_> 9 6 5 14 -1. <_> 9 13 5 7 2. <_> <_> 9 5 6 10 -1. <_> 11 5 2 10 3. <_> <_> 6 6 3 12 -1. <_> 6 12 3 6 2. <_> <_> 3 21 18 3 -1. <_> 9 21 6 3 3. <_> <_> 5 6 13 6 -1. <_> 5 8 13 2 3. <_> <_> 18 1 6 15 -1. <_> 18 1 3 15 2. <_> <_> 1 1 6 15 -1. <_> 4 1 3 15 2. <_> <_> 0 8 24 15 -1. <_> 8 8 8 15 3. <_> <_> 5 6 14 12 -1. <_> 5 6 7 6 2. <_> 12 12 7 6 2. <_> <_> 2 12 21 12 -1. <_> 2 16 21 4 3. <_> <_> 8 1 4 10 -1. <_> 10 1 2 10 2. <_> <_> 2 13 20 10 -1. <_> 2 13 10 10 2. <_> <_> 0 1 6 13 -1. <_> 2 1 2 13 3. <_> <_> 20 2 4 13 -1. <_> 20 2 2 13 2. <_> <_> 0 5 22 19 -1. <_> 11 5 11 19 2. <_> <_> 18 4 6 9 -1. <_> 20 4 2 9 3. <_> <_> 0 3 6 11 -1. <_> 2 3 2 11 3. <_> <_> 12 1 4 9 -1. <_> 12 1 2 9 2. <_> <_> 0 6 19 3 -1. <_> 0 7 19 1 3. <_> <_> 12 1 4 9 -1. <_> 12 1 2 9 2. <_> <_> 8 1 4 9 -1. <_> 10 1 2 9 2. <_> <_> 5 5 14 14 -1. <_> 12 5 7 7 2. <_> 5 12 7 7 2. <_> <_> 1 10 18 2 -1. <_> 1 11 18 1 2. <_> <_> 17 13 4 11 -1. <_> 17 13 2 11 2. <_> <_> 0 4 6 9 -1. <_> 0 7 6 3 3. <_> <_> 6 4 12 9 -1. <_> 6 7 12 3 3. <_> <_> 6 5 12 6 -1. <_> 10 5 4 6 3. <_> <_> 0 1 24 5 -1. <_> 8 1 8 5 3. <_> <_> 4 10 18 6 -1. <_> 4 12 18 2 3. <_> <_> 2 17 12 6 -1. <_> 2 17 6 3 2. <_> 8 20 6 3 2. <_> <_> 19 3 4 13 -1. <_> 19 3 2 13 2. <_> <_> 1 3 4 13 -1. <_> 3 3 2 13 2. <_> <_> 0 1 24 23 -1. <_> 8 1 8 23 3. <_> <_> 1 7 8 12 -1. <_> 1 11 8 4 3. <_> <_> 14 7 3 14 -1. <_> 14 14 3 7 2. <_> <_> 3 12 16 6 -1. <_> 3 12 8 3 2. <_> 11 15 8 3 2. <_> <_> 6 6 12 6 -1. <_> 6 8 12 2 3. <_> <_> 8 7 6 12 -1. <_> 8 13 6 6 2. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 1 17 18 3 -1. <_> 1 18 18 1 3. <_> <_> 4 4 16 12 -1. <_> 4 10 16 6 2. <_> <_> 0 1 4 20 -1. <_> 2 1 2 20 2. <_> <_> 3 0 18 2 -1. <_> 3 1 18 1 2. <_> <_> 1 5 20 14 -1. <_> 1 5 10 7 2. <_> 11 12 10 7 2. <_> <_> 5 8 14 12 -1. <_> 5 12 14 4 3. <_> <_> 3 14 7 9 -1. <_> 3 17 7 3 3. <_> <_> 14 15 9 6 -1. <_> 14 17 9 2 3. <_> <_> 1 15 9 6 -1. <_> 1 17 9 2 3. <_> <_> 11 6 8 10 -1. <_> 15 6 4 5 2. <_> 11 11 4 5 2. <_> <_> 5 5 14 14 -1. <_> 5 5 7 7 2. <_> 12 12 7 7 2. <_> <_> 6 0 12 5 -1. <_> 10 0 4 5 3. <_> <_> 9 0 6 9 -1. <_> 9 3 6 3 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 3 8 18 4 -1. <_> 9 8 6 4 3. <_> <_> 6 0 12 9 -1. <_> 6 3 12 3 3. <_> <_> 0 0 24 6 -1. <_> 8 0 8 6 3. <_> <_> 4 7 16 12 -1. <_> 4 11 16 4 3. <_> <_> 11 6 6 6 -1. <_> 11 6 3 6 2. <_> <_> 0 20 24 3 -1. <_> 8 20 8 3 3. <_> <_> 11 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 4 13 15 4 -1. <_> 9 13 5 4 3. <_> <_> 11 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 9 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 9 12 6 12 -1. <_> 9 18 6 6 2. <_> <_> 1 22 18 2 -1. <_> 1 23 18 1 2. <_> <_> 10 7 4 10 -1. <_> 10 12 4 5 2. <_> <_> 6 7 8 10 -1. <_> 6 12 8 5 2. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 0 14 10 4 -1. <_> 0 16 10 2 2. <_> <_> 6 18 18 2 -1. <_> 6 19 18 1 2. <_> <_> 1 1 22 3 -1. <_> 1 2 22 1 3. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 2 4 6 15 -1. <_> 5 4 3 15 2. <_> <_> 20 4 4 10 -1. <_> 20 4 2 10 2. <_> <_> 0 4 4 10 -1. <_> 2 4 2 10 2. <_> <_> 2 16 20 6 -1. <_> 12 16 10 3 2. <_> 2 19 10 3 2. <_> <_> 0 12 8 9 -1. <_> 4 12 4 9 2. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 5 10 6 6 -1. <_> 8 10 3 6 2. <_> <_> 11 8 12 6 -1. <_> 17 8 6 3 2. <_> 11 11 6 3 2. <_> <_> 0 8 12 6 -1. <_> 0 8 6 3 2. <_> 6 11 6 3 2. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 8 14 9 6 -1. <_> 8 16 9 2 3. <_> <_> 0 16 9 6 -1. <_> 0 18 9 2 3. <_> <_> 10 8 6 10 -1. <_> 12 8 2 10 3. <_> <_> 3 19 12 3 -1. <_> 9 19 6 3 2. <_> <_> 2 10 20 2 -1. <_> 2 11 20 1 2. <_> <_> 2 9 18 12 -1. <_> 2 9 9 6 2. <_> 11 15 9 6 2. <_> <_> 3 0 18 24 -1. <_> 3 0 9 24 2. <_> <_> 5 6 14 10 -1. <_> 5 6 7 5 2. <_> 12 11 7 5 2. <_> <_> 9 5 10 12 -1. <_> 14 5 5 6 2. <_> 9 11 5 6 2. <_> <_> 4 5 12 12 -1. <_> 4 5 6 6 2. <_> 10 11 6 6 2. <_> <_> 4 14 18 3 -1. <_> 4 15 18 1 3. <_> <_> 6 13 8 8 -1. <_> 6 17 8 4 2. <_> <_> 3 16 18 6 -1. <_> 3 19 18 3 2. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 6 6 12 18 -1. <_> 10 6 4 18 3. <_> <_> 6 1 4 14 -1. <_> 8 1 2 14 2. <_> <_> 3 2 19 2 -1. <_> 3 3 19 1 2. <_> <_> 1 8 22 13 -1. <_> 12 8 11 13 2. <_> <_> 8 9 11 4 -1. <_> 8 11 11 2 2. <_> <_> 0 12 15 10 -1. <_> 5 12 5 10 3. <_> <_> 12 16 12 6 -1. <_> 16 16 4 6 3. <_> <_> 0 16 12 6 -1. <_> 4 16 4 6 3. <_> <_> 19 1 5 12 -1. <_> 19 5 5 4 3. <_> <_> 0 2 24 4 -1. <_> 8 2 8 4 3. <_> <_> 6 8 12 4 -1. <_> 6 10 12 2 2. <_> <_> 7 5 9 6 -1. <_> 10 5 3 6 3. <_> <_> 9 17 6 6 -1. <_> 9 20 6 3 2. <_> <_> 0 7 22 15 -1. <_> 0 12 22 5 3. <_> <_> 4 1 17 9 -1. <_> 4 4 17 3 3. <_> <_> 7 5 6 10 -1. <_> 9 5 2 10 3. <_> <_> 18 1 6 8 -1. <_> 18 1 3 8 2. <_> <_> 0 1 6 7 -1. <_> 3 1 3 7 2. <_> <_> 18 0 6 22 -1. <_> 18 0 3 22 2. <_> <_> 0 0 6 22 -1. <_> 3 0 3 22 2. <_> <_> 16 7 8 16 -1. <_> 16 7 4 16 2. <_> <_> 2 10 19 6 -1. <_> 2 12 19 2 3. <_> <_> 9 9 6 12 -1. <_> 9 13 6 4 3. <_> <_> 2 15 17 6 -1. <_> 2 17 17 2 3. <_> <_> 14 7 3 14 -1. <_> 14 14 3 7 2. <_> <_> 5 6 8 10 -1. <_> 5 6 4 5 2. <_> 9 11 4 5 2. <_> <_> 15 8 9 11 -1. <_> 18 8 3 11 3. <_> <_> 0 8 9 11 -1. <_> 3 8 3 11 3. <_> <_> 8 6 10 18 -1. <_> 8 15 10 9 2. <_> <_> 7 7 3 14 -1. <_> 7 14 3 7 2. <_> <_> 0 14 24 8 -1. <_> 8 14 8 8 3. <_> <_> 1 10 18 14 -1. <_> 10 10 9 14 2. <_> <_> 14 12 6 6 -1. <_> 14 15 6 3 2. <_> <_> 7 0 10 16 -1. <_> 7 0 5 8 2. <_> 12 8 5 8 2. <_> <_> 10 0 9 6 -1. <_> 13 0 3 6 3. <_> <_> 4 3 16 4 -1. <_> 12 3 8 4 2. <_> <_> 10 0 9 6 -1. <_> 13 0 3 6 3. <_> <_> 1 1 20 4 -1. <_> 1 1 10 2 2. <_> 11 3 10 2 2. <_> <_> 10 0 9 6 -1. <_> 13 0 3 6 3. <_> <_> 5 0 9 6 -1. <_> 8 0 3 6 3. <_> <_> 8 18 10 6 -1. <_> 8 20 10 2 3. <_> <_> 6 3 6 9 -1. <_> 8 3 2 9 3. <_> <_> 7 3 12 6 -1. <_> 7 5 12 2 3. <_> <_> 0 10 18 3 -1. <_> 0 11 18 1 3. <_> <_> 1 10 22 3 -1. <_> 1 11 22 1 3. <_> <_> 5 11 8 8 -1. <_> 9 11 4 8 2. <_> <_> 12 11 6 6 -1. <_> 12 11 3 6 2. <_> <_> 6 11 6 6 -1. <_> 9 11 3 6 2. <_> <_> 7 10 11 6 -1. <_> 7 12 11 2 3. <_> <_> 0 13 24 4 -1. <_> 0 13 12 2 2. <_> 12 15 12 2 2. <_> <_> 2 4 22 12 -1. <_> 13 4 11 6 2. <_> 2 10 11 6 2. <_> <_> 2 0 20 17 -1. <_> 12 0 10 17 2. <_> <_> 14 0 2 24 -1. <_> 14 0 1 24 2. <_> <_> 8 0 2 24 -1. <_> 9 0 1 24 2. <_> <_> 14 1 2 22 -1. <_> 14 1 1 22 2. <_> <_> 8 1 2 22 -1. <_> 9 1 1 22 2. <_> <_> 17 6 3 18 -1. <_> 18 6 1 18 3. <_> <_> 6 14 9 6 -1. <_> 6 16 9 2 3. <_> <_> 13 14 9 4 -1. <_> 13 16 9 2 2. <_> <_> 3 18 18 3 -1. <_> 3 19 18 1 3. <_> <_> 9 4 8 18 -1. <_> 13 4 4 9 2. <_> 9 13 4 9 2. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 0 2 12 4 -1. <_> 6 2 6 4 2. <_> <_> 6 8 14 6 -1. <_> 6 11 14 3 2. <_> <_> 7 5 6 6 -1. <_> 10 5 3 6 2. <_> <_> 10 5 6 16 -1. <_> 10 13 6 8 2. <_> <_> 1 4 9 16 -1. <_> 4 4 3 16 3. <_> <_> 5 0 18 9 -1. <_> 5 3 18 3 3. <_> <_> 9 15 5 8 -1. <_> 9 19 5 4 2. <_> <_> 20 0 4 9 -1. <_> 20 0 2 9 2. <_> <_> 2 0 18 3 -1. <_> 2 1 18 1 3. <_> <_> 5 22 19 2 -1. <_> 5 23 19 1 2. <_> <_> 0 0 4 9 -1. <_> 2 0 2 9 2. <_> <_> 5 6 19 18 -1. <_> 5 12 19 6 3. <_> <_> 0 1 6 9 -1. <_> 2 1 2 9 3. <_> <_> 6 5 14 12 -1. <_> 13 5 7 6 2. <_> 6 11 7 6 2. <_> <_> 0 1 20 2 -1. <_> 0 2 20 1 2. <_> <_> 1 2 22 3 -1. <_> 1 3 22 1 3. <_> <_> 2 8 7 9 -1. <_> 2 11 7 3 3. <_> <_> 2 12 22 4 -1. <_> 13 12 11 2 2. <_> 2 14 11 2 2. <_> <_> 0 12 22 4 -1. <_> 0 12 11 2 2. <_> 11 14 11 2 2. <_> <_> 9 7 6 11 -1. <_> 11 7 2 11 3. <_> <_> 7 1 9 6 -1. <_> 10 1 3 6 3. <_> <_> 11 2 4 10 -1. <_> 11 7 4 5 2. <_> <_> 6 4 12 12 -1. <_> 6 10 12 6 2. <_> <_> 18 1 6 15 -1. <_> 18 6 6 5 3. <_> <_> 3 15 18 3 -1. <_> 3 16 18 1 3. <_> <_> 18 5 6 9 -1. <_> 18 8 6 3 3. <_> <_> 1 5 16 6 -1. <_> 1 5 8 3 2. <_> 9 8 8 3 2. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 0 4 24 14 -1. <_> 0 4 12 7 2. <_> 12 11 12 7 2. <_> <_> 13 0 4 13 -1. <_> 13 0 2 13 2. <_> <_> 7 0 4 13 -1. <_> 9 0 2 13 2. <_> <_> 11 6 6 9 -1. <_> 13 6 2 9 3. <_> <_> 8 7 6 9 -1. <_> 10 7 2 9 3. <_> <_> 13 17 9 6 -1. <_> 13 19 9 2 3. <_> <_> 2 18 14 6 -1. <_> 2 18 7 3 2. <_> 9 21 7 3 2. <_> <_> 3 18 18 4 -1. <_> 12 18 9 2 2. <_> 3 20 9 2 2. <_> <_> 0 20 15 4 -1. <_> 5 20 5 4 3. <_> <_> 9 15 15 9 -1. <_> 14 15 5 9 3. <_> <_> 4 4 16 4 -1. <_> 4 6 16 2 2. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 0 14 15 10 -1. <_> 5 14 5 10 3. <_> <_> 7 9 10 14 -1. <_> 12 9 5 7 2. <_> 7 16 5 7 2. <_> <_> 7 6 6 9 -1. <_> 9 6 2 9 3. <_> <_> 3 6 18 3 -1. <_> 3 7 18 1 3. <_> <_> 0 10 18 3 -1. <_> 0 11 18 1 3. <_> <_> 3 16 18 4 -1. <_> 12 16 9 2 2. <_> 3 18 9 2 2. <_> <_> 4 6 14 6 -1. <_> 4 6 7 3 2. <_> 11 9 7 3 2. <_> <_> 13 0 2 18 -1. <_> 13 0 1 18 2. <_> <_> 9 0 2 18 -1. <_> 10 0 1 18 2. <_> <_> 5 7 15 10 -1. <_> 10 7 5 10 3. <_> <_> 1 20 21 4 -1. <_> 8 20 7 4 3. <_> <_> 10 5 5 18 -1. <_> 10 14 5 9 2. <_> <_> 0 2 24 6 -1. <_> 0 2 12 3 2. <_> 12 5 12 3 2. <_> <_> 1 1 22 8 -1. <_> 12 1 11 4 2. <_> 1 5 11 4 2. <_> <_> 4 0 15 9 -1. <_> 4 3 15 3 3. <_> <_> 0 0 24 19 -1. <_> 8 0 8 19 3. <_> <_> 2 21 18 3 -1. <_> 11 21 9 3 2. <_> <_> 9 7 10 4 -1. <_> 9 7 5 4 2. <_> <_> 5 7 10 4 -1. <_> 10 7 5 4 2. <_> <_> 17 8 6 16 -1. <_> 20 8 3 8 2. <_> 17 16 3 8 2. <_> <_> 1 15 20 4 -1. <_> 1 15 10 2 2. <_> 11 17 10 2 2. <_> <_> 14 15 10 6 -1. <_> 14 17 10 2 3. <_> <_> 3 0 16 9 -1. <_> 3 3 16 3 3. <_> <_> 15 6 7 15 -1. <_> 15 11 7 5 3. <_> <_> 9 1 6 13 -1. <_> 11 1 2 13 3. <_> <_> 17 2 6 14 -1. <_> 17 2 3 14 2. <_> <_> 3 14 12 10 -1. <_> 3 14 6 5 2. <_> 9 19 6 5 2. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 1 2 6 14 -1. <_> 4 2 3 14 2. <_> <_> 10 4 5 12 -1. <_> 10 8 5 4 3. <_> <_> 0 17 24 5 -1. <_> 8 17 8 5 3. <_> <_> 15 7 5 12 -1. <_> 15 11 5 4 3. <_> <_> 3 1 6 12 -1. <_> 3 1 3 6 2. <_> 6 7 3 6 2. <_> <_> 12 13 6 6 -1. <_> 12 16 6 3 2. <_> <_> 6 13 6 6 -1. <_> 6 16 6 3 2. <_> <_> 14 6 3 16 -1. <_> 14 14 3 8 2. <_> <_> 1 12 13 6 -1. <_> 1 14 13 2 3. <_> <_> 13 1 4 9 -1. <_> 13 1 2 9 2. <_> <_> 7 0 9 6 -1. <_> 10 0 3 6 3. <_> <_> 12 2 6 9 -1. <_> 12 2 3 9 2. <_> <_> 6 2 6 9 -1. <_> 9 2 3 9 2. <_> <_> 6 18 12 6 -1. <_> 6 20 12 2 3. <_> <_> 7 6 6 9 -1. <_> 9 6 2 9 3. <_> <_> 7 7 12 3 -1. <_> 7 7 6 3 2. <_> <_> 8 3 8 21 -1. <_> 8 10 8 7 3. <_> <_> 7 4 10 12 -1. <_> 7 8 10 4 3. <_> <_> 0 1 6 9 -1. <_> 0 4 6 3 3. <_> <_> 15 2 2 20 -1. <_> 15 2 1 20 2. <_> <_> 0 3 6 9 -1. <_> 0 6 6 3 3. <_> <_> 15 3 2 21 -1. <_> 15 3 1 21 2. <_> <_> 7 0 2 23 -1. <_> 8 0 1 23 2. <_> <_> 15 8 9 4 -1. <_> 15 10 9 2 2. <_> <_> 0 8 9 4 -1. <_> 0 10 9 2 2. <_> <_> 8 14 9 6 -1. <_> 8 16 9 2 3. <_> <_> 0 14 9 6 -1. <_> 0 16 9 2 3. <_> <_> 3 10 18 4 -1. <_> 9 10 6 4 3. <_> <_> 0 0 24 19 -1. <_> 8 0 8 19 3. <_> <_> 9 1 8 12 -1. <_> 9 7 8 6 2. <_> <_> 10 6 4 10 -1. <_> 12 6 2 10 2. <_> <_> 7 9 10 12 -1. <_> 12 9 5 6 2. <_> 7 15 5 6 2. <_> <_> 5 0 3 19 -1. <_> 6 0 1 19 3. <_> <_> 14 0 6 10 -1. <_> 16 0 2 10 3. <_> <_> 2 0 6 12 -1. <_> 2 0 3 6 2. <_> 5 6 3 6 2. <_> <_> 0 11 24 2 -1. <_> 0 12 24 1 2. <_> <_> 4 9 13 4 -1. <_> 4 11 13 2 2. <_> <_> 9 8 6 9 -1. <_> 9 11 6 3 3. <_> <_> 0 12 16 4 -1. <_> 0 14 16 2 2. <_> <_> 18 12 6 9 -1. <_> 18 15 6 3 3. <_> <_> 0 12 6 9 -1. <_> 0 15 6 3 3. <_> <_> 8 7 10 4 -1. <_> 8 7 5 4 2. <_> <_> 8 7 6 9 -1. <_> 10 7 2 9 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 12 3 6 15 -1. <_> 14 3 2 15 3. <_> <_> 6 3 6 15 -1. <_> 8 3 2 15 3. <_> <_> 15 2 9 4 -1. <_> 15 4 9 2 2. <_> <_> 5 10 6 7 -1. <_> 8 10 3 7 2. <_> <_> 9 14 6 10 -1. <_> 9 19 6 5 2. <_> <_> 7 13 5 8 -1. <_> 7 17 5 4 2. <_> <_> 14 5 3 16 -1. <_> 14 13 3 8 2. <_> <_> 2 17 18 3 -1. <_> 2 18 18 1 3. <_> <_> 5 18 19 3 -1. <_> 5 19 19 1 3. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 12 4 3 18 -1. <_> 13 4 1 18 3. <_> <_> 9 4 3 18 -1. <_> 10 4 1 18 3. <_> <_> 3 3 18 9 -1. <_> 9 3 6 9 3. <_> <_> 6 1 6 14 -1. <_> 8 1 2 14 3. <_> <_> 12 16 9 6 -1. <_> 12 19 9 3 2. <_> <_> 1 3 20 16 -1. <_> 1 3 10 8 2. <_> 11 11 10 8 2. <_> <_> 12 5 6 12 -1. <_> 15 5 3 6 2. <_> 12 11 3 6 2. <_> <_> 1 2 22 16 -1. <_> 1 2 11 8 2. <_> 12 10 11 8 2. <_> <_> 10 14 5 10 -1. <_> 10 19 5 5 2. <_> <_> 3 21 18 3 -1. <_> 3 22 18 1 3. <_> <_> 10 14 6 10 -1. <_> 12 14 2 10 3. <_> <_> 0 2 24 4 -1. <_> 8 2 8 4 3. <_> <_> 6 4 12 9 -1. <_> 6 7 12 3 3. <_> <_> 6 6 12 5 -1. <_> 10 6 4 5 3. <_> <_> 5 8 14 12 -1. <_> 5 12 14 4 3. <_> <_> 4 14 8 10 -1. <_> 4 14 4 5 2. <_> 8 19 4 5 2. <_> <_> 11 6 5 14 -1. <_> 11 13 5 7 2. <_> <_> 7 6 3 16 -1. <_> 7 14 3 8 2. <_> <_> 3 7 18 8 -1. <_> 9 7 6 8 3. <_> <_> 2 3 20 2 -1. <_> 2 4 20 1 2. <_> <_> 3 12 19 6 -1. <_> 3 14 19 2 3. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 16 6 6 14 -1. <_> 16 6 3 14 2. <_> <_> 7 9 6 12 -1. <_> 9 9 2 12 3. <_> <_> 18 6 6 18 -1. <_> 21 6 3 9 2. <_> 18 15 3 9 2. <_> <_> 0 6 6 18 -1. <_> 0 6 3 9 2. <_> 3 15 3 9 2. <_> <_> 18 2 6 9 -1. <_> 18 5 6 3 3. <_> <_> 3 18 15 6 -1. <_> 3 20 15 2 3. <_> <_> 18 2 6 9 -1. <_> 18 5 6 3 3. <_> <_> 0 2 6 9 -1. <_> 0 5 6 3 3. <_> <_> 5 10 18 2 -1. <_> 5 11 18 1 2. <_> <_> 6 0 12 6 -1. <_> 6 2 12 2 3. <_> <_> 10 0 6 9 -1. <_> 12 0 2 9 3. <_> <_> 8 0 6 9 -1. <_> 10 0 2 9 3. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 3 6 13 6 -1. <_> 3 8 13 2 3. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 2 5 6 15 -1. <_> 5 5 3 15 2. <_> <_> 8 8 9 6 -1. <_> 11 8 3 6 3. <_> <_> 8 6 3 14 -1. <_> 8 13 3 7 2. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 4 12 10 4 -1. <_> 9 12 5 4 2. <_> <_> 13 1 4 19 -1. <_> 13 1 2 19 2. <_> <_> 7 1 4 19 -1. <_> 9 1 2 19 2. <_> <_> 18 9 6 9 -1. <_> 18 12 6 3 3. <_> <_> 1 21 18 3 -1. <_> 1 22 18 1 3. <_> <_> 14 13 10 9 -1. <_> 14 16 10 3 3. <_> <_> 1 13 22 4 -1. <_> 1 13 11 2 2. <_> 12 15 11 2 2. <_> <_> 4 6 16 6 -1. <_> 12 6 8 3 2. <_> 4 9 8 3 2. <_> <_> 1 0 18 22 -1. <_> 1 0 9 11 2. <_> 10 11 9 11 2. <_> <_> 10 7 8 14 -1. <_> 14 7 4 7 2. <_> 10 14 4 7 2. <_> <_> 0 4 6 20 -1. <_> 0 4 3 10 2. <_> 3 14 3 10 2. <_> <_> 15 0 6 9 -1. <_> 17 0 2 9 3. <_> <_> 3 0 6 9 -1. <_> 5 0 2 9 3. <_> <_> 15 12 6 12 -1. <_> 18 12 3 6 2. <_> 15 18 3 6 2. <_> <_> 3 12 6 12 -1. <_> 3 12 3 6 2. <_> 6 18 3 6 2. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 0 12 9 6 -1. <_> 0 14 9 2 3. <_> <_> 4 14 19 3 -1. <_> 4 15 19 1 3. <_> <_> 2 13 19 3 -1. <_> 2 14 19 1 3. <_> <_> 14 15 10 6 -1. <_> 14 17 10 2 3. <_> <_> 6 0 10 12 -1. <_> 6 0 5 6 2. <_> 11 6 5 6 2. <_> <_> 17 1 6 12 -1. <_> 20 1 3 6 2. <_> 17 7 3 6 2. <_> <_> 1 1 6 12 -1. <_> 1 1 3 6 2. <_> 4 7 3 6 2. <_> <_> 16 14 6 9 -1. <_> 16 17 6 3 3. <_> <_> 7 3 9 12 -1. <_> 7 9 9 6 2. <_> <_> 12 1 4 12 -1. <_> 12 7 4 6 2. <_> <_> 4 0 14 8 -1. <_> 4 4 14 4 2. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 2 10 18 3 -1. <_> 8 10 6 3 3. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 0 1 21 23 -1. <_> 7 1 7 23 3. <_> <_> 6 9 17 4 -1. <_> 6 11 17 2 2. <_> <_> 1 0 11 18 -1. <_> 1 6 11 6 3. <_> <_> 6 15 13 6 -1. <_> 6 17 13 2 3. <_> <_> 0 15 9 6 -1. <_> 0 17 9 2 3. <_> <_> 8 7 15 4 -1. <_> 13 7 5 4 3. <_> <_> 9 12 6 9 -1. <_> 9 15 6 3 3. <_> <_> 6 8 18 3 -1. <_> 12 8 6 3 3. <_> <_> 0 14 24 4 -1. <_> 8 14 8 4 3. <_> <_> 16 10 3 12 -1. <_> 16 16 3 6 2. <_> <_> 0 3 24 3 -1. <_> 0 4 24 1 3. <_> <_> 14 17 10 6 -1. <_> 14 19 10 2 3. <_> <_> 1 13 18 3 -1. <_> 7 13 6 3 3. <_> <_> 5 0 18 9 -1. <_> 5 3 18 3 3. <_> <_> 4 3 16 9 -1. <_> 4 6 16 3 3. <_> <_> 16 5 3 12 -1. <_> 16 11 3 6 2. <_> <_> 0 7 18 4 -1. <_> 6 7 6 4 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 9 8 6 10 -1. <_> 11 8 2 10 3. <_> <_> 9 15 6 9 -1. <_> 11 15 2 9 3. <_> <_> 3 1 18 21 -1. <_> 12 1 9 21 2. <_> <_> 6 8 12 7 -1. <_> 6 8 6 7 2. <_> <_> 8 5 6 9 -1. <_> 10 5 2 9 3. <_> <_> 0 2 24 4 -1. <_> 8 2 8 4 3. <_> <_> 14 7 5 12 -1. <_> 14 11 5 4 3. <_> <_> 5 7 5 12 -1. <_> 5 11 5 4 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 0 1 6 17 -1. <_> 3 1 3 17 2. <_> <_> 3 1 19 9 -1. <_> 3 4 19 3 3. <_> <_> 3 18 12 6 -1. <_> 3 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 20 4 4 19 -1. <_> 20 4 2 19 2. <_> <_> 0 16 10 7 -1. <_> 5 16 5 7 2. <_> <_> 8 7 10 12 -1. <_> 13 7 5 6 2. <_> 8 13 5 6 2. <_> <_> 6 7 10 12 -1. <_> 6 7 5 6 2. <_> 11 13 5 6 2. <_> <_> 9 2 9 6 -1. <_> 12 2 3 6 3. <_> <_> 1 20 21 4 -1. <_> 8 20 7 4 3. <_> <_> 9 12 9 6 -1. <_> 9 14 9 2 3. <_> <_> 7 2 9 6 -1. <_> 10 2 3 6 3. <_> <_> 13 0 4 14 -1. <_> 13 0 2 14 2. <_> <_> 7 0 4 14 -1. <_> 9 0 2 14 2. <_> <_> 14 15 9 6 -1. <_> 14 17 9 2 3. <_> <_> 2 8 18 5 -1. <_> 8 8 6 5 3. <_> <_> 18 3 6 11 -1. <_> 20 3 2 11 3. <_> <_> 6 5 11 14 -1. <_> 6 12 11 7 2. <_> <_> 18 4 6 9 -1. <_> 18 7 6 3 3. <_> <_> 7 6 9 6 -1. <_> 7 8 9 2 3. <_> <_> 18 4 6 9 -1. <_> 18 7 6 3 3. <_> <_> 0 4 6 9 -1. <_> 0 7 6 3 3. <_> <_> 9 4 9 4 -1. <_> 9 6 9 2 2. <_> <_> 0 22 19 2 -1. <_> 0 23 19 1 2. <_> <_> 17 14 6 9 -1. <_> 17 17 6 3 3. <_> <_> 1 14 6 9 -1. <_> 1 17 6 3 3. <_> <_> 14 11 4 9 -1. <_> 14 11 2 9 2. <_> <_> 6 11 4 9 -1. <_> 8 11 2 9 2. <_> <_> 3 9 18 7 -1. <_> 9 9 6 7 3. <_> <_> 9 12 6 10 -1. <_> 9 17 6 5 2. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 6 17 18 3 -1. <_> 6 18 18 1 3. <_> <_> 1 17 18 3 -1. <_> 1 18 18 1 3. <_> <_> 10 6 11 12 -1. <_> 10 12 11 6 2. <_> <_> 5 6 14 6 -1. <_> 5 6 7 3 2. <_> 12 9 7 3 2. <_> <_> 5 4 15 4 -1. <_> 5 6 15 2 2. <_> <_> 0 0 22 2 -1. <_> 0 1 22 1 2. <_> <_> 0 0 24 24 -1. <_> 8 0 8 24 3. <_> <_> 1 15 18 4 -1. <_> 10 15 9 4 2. <_> <_> 6 8 12 9 -1. <_> 6 11 12 3 3. <_> <_> 4 12 7 12 -1. <_> 4 16 7 4 3. <_> <_> 1 2 22 6 -1. <_> 12 2 11 3 2. <_> 1 5 11 3 2. <_> <_> 5 20 14 3 -1. <_> 12 20 7 3 2. <_> <_> 0 0 24 16 -1. <_> 12 0 12 8 2. <_> 0 8 12 8 2. <_> <_> 3 13 18 4 -1. <_> 3 13 9 2 2. <_> 12 15 9 2 2. <_> <_> 2 10 22 2 -1. <_> 2 11 22 1 2. <_> <_> 6 3 11 8 -1. <_> 6 7 11 4 2. <_> <_> 14 5 6 6 -1. <_> 14 8 6 3 2. <_> <_> 0 7 24 6 -1. <_> 0 9 24 2 3. <_> <_> 14 0 10 10 -1. <_> 19 0 5 5 2. <_> 14 5 5 5 2. <_> <_> 0 0 10 10 -1. <_> 0 0 5 5 2. <_> 5 5 5 5 2. <_> <_> 0 1 24 4 -1. <_> 12 1 12 2 2. <_> 0 3 12 2 2. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 5 15 16 6 -1. <_> 13 15 8 3 2. <_> 5 18 8 3 2. <_> <_> 3 15 16 6 -1. <_> 3 15 8 3 2. <_> 11 18 8 3 2. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 0 13 21 10 -1. <_> 0 18 21 5 2. <_> <_> 13 0 6 24 -1. <_> 15 0 2 24 3. <_> <_> 7 4 6 11 -1. <_> 9 4 2 11 3. <_> <_> 9 5 9 6 -1. <_> 12 5 3 6 3. <_> <_> 1 4 2 20 -1. <_> 1 14 2 10 2. <_> <_> 13 0 6 24 -1. <_> 15 0 2 24 3. <_> <_> 5 0 6 24 -1. <_> 7 0 2 24 3. <_> <_> 16 7 6 14 -1. <_> 19 7 3 7 2. <_> 16 14 3 7 2. <_> <_> 4 7 4 12 -1. <_> 6 7 2 12 2. <_> <_> 0 5 24 14 -1. <_> 8 5 8 14 3. <_> <_> 5 13 10 6 -1. <_> 5 15 10 2 3. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 2 7 6 14 -1. <_> 2 7 3 7 2. <_> 5 14 3 7 2. <_> <_> 15 2 9 15 -1. <_> 18 2 3 15 3. <_> <_> 0 2 6 9 -1. <_> 2 2 2 9 3. <_> <_> 12 2 10 14 -1. <_> 17 2 5 7 2. <_> 12 9 5 7 2. <_> <_> 11 6 2 18 -1. <_> 12 6 1 18 2. <_> <_> 9 5 15 6 -1. <_> 14 5 5 6 3. <_> <_> 8 6 6 10 -1. <_> 10 6 2 10 3. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 3 3 9 7 -1. <_> 6 3 3 7 3. <_> <_> 6 7 14 3 -1. <_> 6 7 7 3 2. <_> <_> 7 7 8 6 -1. <_> 11 7 4 6 2. <_> <_> 12 7 7 12 -1. <_> 12 13 7 6 2. <_> <_> 10 6 4 18 -1. <_> 10 6 2 9 2. <_> 12 15 2 9 2. <_> <_> 16 14 6 9 -1. <_> 16 17 6 3 3. <_> <_> 4 0 6 13 -1. <_> 6 0 2 13 3. <_> <_> 2 2 21 3 -1. <_> 9 2 7 3 3. <_> <_> 5 4 5 12 -1. <_> 5 8 5 4 3. <_> <_> 10 3 4 10 -1. <_> 10 8 4 5 2. <_> <_> 8 4 5 8 -1. <_> 8 8 5 4 2. <_> <_> 6 0 11 9 -1. <_> 6 3 11 3 3. <_> <_> 6 6 12 5 -1. <_> 10 6 4 5 3. <_> <_> 0 0 24 5 -1. <_> 8 0 8 5 3. <_> <_> 1 10 23 6 -1. <_> 1 12 23 2 3. <_> <_> 3 21 18 3 -1. <_> 9 21 6 3 3. <_> <_> 3 6 21 6 -1. <_> 3 8 21 2 3. <_> <_> 0 5 6 12 -1. <_> 2 5 2 12 3. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 8 7 8 10 -1. <_> 8 12 8 5 2. <_> <_> 5 7 15 12 -1. <_> 10 7 5 12 3. <_> <_> 0 17 10 6 -1. <_> 0 19 10 2 3. <_> <_> 14 18 9 6 -1. <_> 14 20 9 2 3. <_> <_> 9 6 6 16 -1. <_> 9 14 6 8 2. <_> <_> 14 18 9 6 -1. <_> 14 20 9 2 3. <_> <_> 1 18 9 6 -1. <_> 1 20 9 2 3. <_> <_> 15 9 9 6 -1. <_> 15 11 9 2 3. <_> <_> 0 9 9 6 -1. <_> 0 11 9 2 3. <_> <_> 17 3 6 9 -1. <_> 19 3 2 9 3. <_> <_> 2 17 18 3 -1. <_> 2 18 18 1 3. <_> <_> 3 15 21 6 -1. <_> 3 17 21 2 3. <_> <_> 9 17 6 6 -1. <_> 9 20 6 3 2. <_> <_> 18 3 6 9 -1. <_> 18 6 6 3 3. <_> <_> 0 3 6 9 -1. <_> 0 6 6 3 3. <_> <_> 4 0 16 10 -1. <_> 12 0 8 5 2. <_> 4 5 8 5 2. <_> <_> 2 0 10 16 -1. <_> 2 0 5 8 2. <_> 7 8 5 8 2. <_> <_> 14 0 10 5 -1. <_> 14 0 5 5 2. <_> <_> 0 0 10 5 -1. <_> 5 0 5 5 2. <_> <_> 18 3 6 10 -1. <_> 18 3 3 10 2. <_> <_> 5 11 12 6 -1. <_> 5 11 6 3 2. <_> 11 14 6 3 2. <_> <_> 21 0 3 18 -1. <_> 22 0 1 18 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 8 8 9 7 -1. <_> 11 8 3 7 3. <_> <_> 7 12 8 10 -1. <_> 7 12 4 5 2. <_> 11 17 4 5 2. <_> <_> 21 0 3 18 -1. <_> 22 0 1 18 3. <_> <_> 10 6 4 9 -1. <_> 12 6 2 9 2. <_> <_> 15 0 9 6 -1. <_> 15 2 9 2 3. <_> <_> 0 2 24 3 -1. <_> 0 3 24 1 3. <_> <_> 11 7 6 9 -1. <_> 13 7 2 9 3. <_> <_> 7 6 6 10 -1. <_> 9 6 2 10 3. <_> <_> 12 1 6 12 -1. <_> 14 1 2 12 3. <_> <_> 6 4 12 12 -1. <_> 6 10 12 6 2. <_> <_> 14 3 2 21 -1. <_> 14 3 1 21 2. <_> <_> 6 1 12 8 -1. <_> 6 5 12 4 2. <_> <_> 3 0 18 8 -1. <_> 3 4 18 4 2. <_> <_> 3 0 18 3 -1. <_> 3 1 18 1 3. <_> <_> 0 13 24 4 -1. <_> 12 13 12 2 2. <_> 0 15 12 2 2. <_> <_> 10 5 4 9 -1. <_> 12 5 2 9 2. <_> <_> 11 1 6 9 -1. <_> 13 1 2 9 3. <_> <_> 6 2 6 22 -1. <_> 8 2 2 22 3. <_> <_> 16 10 8 14 -1. <_> 20 10 4 7 2. <_> 16 17 4 7 2. <_> <_> 3 4 16 15 -1. <_> 3 9 16 5 3. <_> <_> 16 10 8 14 -1. <_> 20 10 4 7 2. <_> 16 17 4 7 2. <_> <_> 0 10 8 14 -1. <_> 0 10 4 7 2. <_> 4 17 4 7 2. <_> <_> 10 14 11 6 -1. <_> 10 17 11 3 2. <_> <_> 0 7 24 9 -1. <_> 8 7 8 9 3. <_> <_> 13 1 4 16 -1. <_> 13 1 2 16 2. <_> <_> 7 1 4 16 -1. <_> 9 1 2 16 2. <_> <_> 5 5 16 8 -1. <_> 13 5 8 4 2. <_> 5 9 8 4 2. <_> <_> 0 9 6 9 -1. <_> 0 12 6 3 3. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 3 12 6 9 -1. <_> 3 15 6 3 3. <_> <_> 8 14 9 6 -1. <_> 8 16 9 2 3. <_> <_> 2 13 8 10 -1. <_> 2 13 4 5 2. <_> 6 18 4 5 2. <_> <_> 15 5 3 18 -1. <_> 15 11 3 6 3. <_> <_> 3 5 18 3 -1. <_> 3 6 18 1 3. <_> <_> 17 5 6 11 -1. <_> 19 5 2 11 3. <_> <_> 1 5 6 11 -1. <_> 3 5 2 11 3. <_> <_> 19 1 4 9 -1. <_> 19 1 2 9 2. <_> <_> 1 1 4 9 -1. <_> 3 1 2 9 2. <_> <_> 4 15 18 9 -1. <_> 4 15 9 9 2. <_> <_> 6 9 12 4 -1. <_> 6 11 12 2 2. <_> <_> 15 2 9 6 -1. <_> 15 4 9 2 3. <_> <_> 0 2 9 6 -1. <_> 0 4 9 2 3. <_> <_> 15 0 6 17 -1. <_> 17 0 2 17 3. <_> <_> 3 0 6 17 -1. <_> 5 0 2 17 3. <_> <_> 8 17 9 4 -1. <_> 8 19 9 2 2. <_> <_> 6 5 3 18 -1. <_> 6 11 3 6 3. <_> <_> 5 2 14 12 -1. <_> 5 8 14 6 2. <_> <_> 10 2 3 12 -1. <_> 10 8 3 6 2. <_> <_> 10 7 14 15 -1. <_> 10 12 14 5 3. <_> <_> 0 7 14 15 -1. <_> 0 12 14 5 3. <_> <_> 15 0 9 6 -1. <_> 15 2 9 2 3. <_> <_> 0 0 9 6 -1. <_> 0 2 9 2 3. <_> <_> 12 6 6 14 -1. <_> 14 6 2 14 3. <_> <_> 9 7 6 9 -1. <_> 11 7 2 9 3. <_> <_> 12 6 6 15 -1. <_> 14 6 2 15 3. <_> <_> 6 6 6 15 -1. <_> 8 6 2 15 3. <_> <_> 15 3 8 9 -1. <_> 15 3 4 9 2. <_> <_> 0 0 9 21 -1. <_> 3 0 3 21 3. <_> <_> 11 9 8 12 -1. <_> 11 13 8 4 3. <_> <_> 6 7 10 12 -1. <_> 6 7 5 6 2. <_> 11 13 5 6 2. <_> <_> 10 6 4 18 -1. <_> 12 6 2 9 2. <_> 10 15 2 9 2. <_> <_> 0 0 6 9 -1. <_> 0 3 6 3 3. <_> <_> 3 14 18 3 -1. <_> 3 15 18 1 3. <_> <_> 3 14 8 10 -1. <_> 3 14 4 5 2. <_> 7 19 4 5 2. <_> <_> 0 12 24 4 -1. <_> 12 12 12 2 2. <_> 0 14 12 2 2. <_> <_> 0 2 3 20 -1. <_> 1 2 1 20 3. <_> <_> 12 16 10 8 -1. <_> 17 16 5 4 2. <_> 12 20 5 4 2. <_> <_> 2 16 10 8 -1. <_> 2 16 5 4 2. <_> 7 20 5 4 2. <_> <_> 7 0 10 9 -1. <_> 7 3 10 3 3. <_> <_> 0 0 24 3 -1. <_> 8 0 8 3 3. <_> <_> 3 8 15 4 -1. <_> 3 10 15 2 2. <_> <_> 6 5 12 6 -1. <_> 10 5 4 6 3. <_> <_> 5 13 14 6 -1. <_> 5 16 14 3 2. <_> <_> 11 14 4 10 -1. <_> 11 19 4 5 2. <_> <_> 0 6 6 7 -1. <_> 3 6 3 7 2. <_> <_> 18 0 6 6 -1. <_> 18 0 3 6 2. <_> <_> 3 1 18 3 -1. <_> 3 2 18 1 3. <_> <_> 9 6 14 18 -1. <_> 9 12 14 6 3. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 13 11 6 6 -1. <_> 13 11 3 6 2. <_> <_> 0 20 24 3 -1. <_> 8 20 8 3 3. <_> <_> 13 11 6 7 -1. <_> 13 11 3 7 2. <_> <_> 4 12 10 6 -1. <_> 4 14 10 2 3. <_> <_> 13 11 6 6 -1. <_> 13 11 3 6 2. <_> <_> 5 11 6 7 -1. <_> 8 11 3 7 2. <_> <_> 7 4 11 12 -1. <_> 7 8 11 4 3. <_> <_> 6 15 10 4 -1. <_> 6 17 10 2 2. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 4 0 6 9 -1. <_> 6 0 2 9 3. <_> <_> 11 2 4 15 -1. <_> 11 7 4 5 3. <_> <_> 0 0 20 3 -1. <_> 0 1 20 1 3. <_> <_> 13 18 10 6 -1. <_> 13 20 10 2 3. <_> <_> 2 7 6 11 -1. <_> 5 7 3 11 2. <_> <_> 10 14 10 9 -1. <_> 10 17 10 3 3. <_> <_> 8 2 4 9 -1. <_> 10 2 2 9 2. <_> <_> 14 3 10 4 -1. <_> 14 3 5 4 2. <_> <_> 6 6 12 6 -1. <_> 6 6 6 3 2. <_> 12 9 6 3 2. <_> <_> 8 8 8 10 -1. <_> 12 8 4 5 2. <_> 8 13 4 5 2. <_> <_> 7 4 4 16 -1. <_> 7 12 4 8 2. <_> <_> 8 8 9 4 -1. <_> 8 10 9 2 2. <_> <_> 5 2 14 9 -1. <_> 5 5 14 3 3. <_> <_> 3 16 19 8 -1. <_> 3 20 19 4 2. <_> <_> 0 0 10 8 -1. <_> 5 0 5 8 2. <_> <_> 5 2 16 18 -1. <_> 5 2 8 18 2. <_> <_> 0 11 24 11 -1. <_> 8 11 8 11 3. <_> <_> 3 3 18 5 -1. <_> 3 3 9 5 2. <_> <_> 1 16 18 3 -1. <_> 1 17 18 1 3. <_> <_> 5 17 18 3 -1. <_> 5 18 18 1 3. <_> <_> 1 13 9 6 -1. <_> 1 15 9 2 3. <_> <_> 1 9 23 10 -1. <_> 1 14 23 5 2. <_> <_> 3 7 18 3 -1. <_> 3 8 18 1 3. <_> <_> 6 8 12 3 -1. <_> 6 8 6 3 2. <_> <_> 6 2 3 22 -1. <_> 7 2 1 22 3. <_> <_> 14 17 10 6 -1. <_> 14 19 10 2 3. <_> <_> 1 18 10 6 -1. <_> 1 20 10 2 3. <_> <_> 11 3 6 12 -1. <_> 13 3 2 12 3. <_> <_> 10 6 4 9 -1. <_> 12 6 2 9 2. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 12 10 9 6 -1. <_> 15 10 3 6 3. <_> <_> 2 11 6 9 -1. <_> 5 11 3 9 2. <_> <_> 14 5 3 19 -1. <_> 15 5 1 19 3. <_> <_> 6 6 9 6 -1. <_> 6 8 9 2 3. <_> <_> 14 5 3 19 -1. <_> 15 5 1 19 3. <_> <_> 0 3 6 9 -1. <_> 0 6 6 3 3. <_> <_> 5 21 18 3 -1. <_> 5 22 18 1 3. <_> <_> 1 10 18 4 -1. <_> 7 10 6 4 3. <_> <_> 13 4 8 10 -1. <_> 17 4 4 5 2. <_> 13 9 4 5 2. <_> <_> 7 8 9 6 -1. <_> 10 8 3 6 3. <_> <_> 12 9 9 8 -1. <_> 15 9 3 8 3. <_> <_> 0 6 5 12 -1. <_> 0 10 5 4 3. <_> <_> 7 6 14 6 -1. <_> 14 6 7 3 2. <_> 7 9 7 3 2. <_> <_> 7 5 3 19 -1. <_> 8 5 1 19 3. <_> <_> 8 4 15 20 -1. <_> 13 4 5 20 3. <_> <_> 1 4 15 20 -1. <_> 6 4 5 20 3. <_> <_> 13 10 6 6 -1. <_> 13 10 3 6 2. <_> <_> 5 10 6 6 -1. <_> 8 10 3 6 2. <_> <_> 14 2 6 14 -1. <_> 17 2 3 7 2. <_> 14 9 3 7 2. <_> <_> 4 2 6 14 -1. <_> 4 2 3 7 2. <_> 7 9 3 7 2. <_> <_> 12 4 6 7 -1. <_> 12 4 3 7 2. <_> <_> 9 4 6 9 -1. <_> 11 4 2 9 3. <_> <_> 11 4 8 10 -1. <_> 11 4 4 10 2. <_> <_> 5 4 8 10 -1. <_> 9 4 4 10 2. <_> <_> 8 18 10 6 -1. <_> 8 20 10 2 3. <_> <_> 1 18 21 6 -1. <_> 1 20 21 2 3. <_> <_> 9 2 12 6 -1. <_> 9 2 6 6 2. <_> <_> 3 2 12 6 -1. <_> 9 2 6 6 2. <_> <_> 12 5 12 6 -1. <_> 18 5 6 3 2. <_> 12 8 6 3 2. <_> <_> 8 8 6 9 -1. <_> 8 11 6 3 3. <_> <_> 2 7 20 6 -1. <_> 2 9 20 2 3. <_> <_> 0 5 12 6 -1. <_> 0 5 6 3 2. <_> 6 8 6 3 2. <_> <_> 14 14 8 10 -1. <_> 18 14 4 5 2. <_> 14 19 4 5 2. <_> <_> 2 14 8 10 -1. <_> 2 14 4 5 2. <_> 6 19 4 5 2. <_> <_> 2 11 20 13 -1. <_> 2 11 10 13 2. <_> <_> 6 9 12 5 -1. <_> 12 9 6 5 2. <_> <_> 5 6 16 6 -1. <_> 13 6 8 3 2. <_> 5 9 8 3 2. <_> <_> 1 19 9 4 -1. <_> 1 21 9 2 2. <_> <_> 7 5 12 5 -1. <_> 11 5 4 5 3. <_> <_> 3 5 14 12 -1. <_> 3 5 7 6 2. <_> 10 11 7 6 2. <_> <_> 9 4 9 6 -1. <_> 12 4 3 6 3. <_> <_> 2 6 19 3 -1. <_> 2 7 19 1 3. <_> <_> 18 10 6 9 -1. <_> 18 13 6 3 3. <_> <_> 3 7 18 2 -1. <_> 3 8 18 1 2. <_> <_> 20 2 4 18 -1. <_> 22 2 2 9 2. <_> 20 11 2 9 2. <_> <_> 2 18 20 3 -1. <_> 2 19 20 1 3. <_> <_> 1 9 22 3 -1. <_> 1 10 22 1 3. <_> <_> 0 2 4 18 -1. <_> 0 2 2 9 2. <_> 2 11 2 9 2. <_> <_> 19 0 4 23 -1. <_> 19 0 2 23 2. <_> <_> 0 3 6 19 -1. <_> 3 3 3 19 2. <_> <_> 18 2 6 9 -1. <_> 20 2 2 9 3. <_> <_> 0 5 10 6 -1. <_> 0 7 10 2 3. <_> <_> 7 0 12 12 -1. <_> 13 0 6 6 2. <_> 7 6 6 6 2. <_> <_> 0 3 24 6 -1. <_> 0 3 12 3 2. <_> 12 6 12 3 2. <_> <_> 10 14 4 10 -1. <_> 10 19 4 5 2. <_> <_> 8 9 4 15 -1. <_> 8 14 4 5 3. <_> <_> 4 11 17 6 -1. <_> 4 14 17 3 2. <_> <_> 2 5 18 8 -1. <_> 2 5 9 4 2. <_> 11 9 9 4 2. <_> <_> 7 6 14 6 -1. <_> 14 6 7 3 2. <_> 7 9 7 3 2. <_> <_> 3 6 14 6 -1. <_> 3 6 7 3 2. <_> 10 9 7 3 2. <_> <_> 16 5 3 18 -1. <_> 17 5 1 18 3. <_> <_> 5 5 3 18 -1. <_> 6 5 1 18 3. <_> <_> 10 10 14 4 -1. <_> 10 12 14 2 2. <_> <_> 4 10 9 4 -1. <_> 4 12 9 2 2. <_> <_> 2 0 18 9 -1. <_> 2 3 18 3 3. <_> <_> 6 3 12 8 -1. <_> 10 3 4 8 3. <_> <_> 1 1 8 5 -1. <_> 5 1 4 5 2. <_> <_> 12 7 7 8 -1. <_> 12 11 7 4 2. <_> <_> 0 12 22 4 -1. <_> 0 14 22 2 2. <_> <_> 15 6 4 15 -1. <_> 15 11 4 5 3. <_> <_> 5 7 7 8 -1. <_> 5 11 7 4 2. <_> <_> 8 18 9 4 -1. <_> 8 20 9 2 2. <_> <_> 1 2 22 4 -1. <_> 1 4 22 2 2. <_> <_> 17 3 6 17 -1. <_> 19 3 2 17 3. <_> <_> 8 2 8 18 -1. <_> 8 11 8 9 2. <_> <_> 17 0 6 12 -1. <_> 20 0 3 6 2. <_> 17 6 3 6 2. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 15 5 9 12 -1. <_> 15 11 9 6 2. <_> <_> 2 22 18 2 -1. <_> 2 23 18 1 2. <_> <_> 10 10 12 6 -1. <_> 16 10 6 3 2. <_> 10 13 6 3 2. <_> <_> 0 1 4 11 -1. <_> 2 1 2 11 2. <_> <_> 20 0 4 10 -1. <_> 20 0 2 10 2. <_> <_> 1 3 6 17 -1. <_> 3 3 2 17 3. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 0 13 8 9 -1. <_> 0 16 8 3 3. <_> <_> 16 8 6 12 -1. <_> 16 12 6 4 3. <_> <_> 2 8 6 12 -1. <_> 2 12 6 4 3. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 1 5 19 3 -1. <_> 1 6 19 1 3. <_> <_> 11 8 9 7 -1. <_> 14 8 3 7 3. <_> <_> 3 8 12 9 -1. <_> 3 11 12 3 3. <_> <_> 3 6 18 3 -1. <_> 3 7 18 1 3. <_> <_> 10 0 4 12 -1. <_> 10 6 4 6 2. <_> <_> 3 9 18 14 -1. <_> 3 9 9 14 2. <_> <_> 0 0 4 9 -1. <_> 2 0 2 9 2. <_> <_> 12 5 4 18 -1. <_> 12 5 2 18 2. <_> <_> 8 5 4 18 -1. <_> 10 5 2 18 2. <_> <_> 10 5 6 10 -1. <_> 12 5 2 10 3. <_> <_> 9 4 4 11 -1. <_> 11 4 2 11 2. <_> <_> 4 16 18 3 -1. <_> 4 17 18 1 3. <_> <_> 0 16 20 3 -1. <_> 0 17 20 1 3. <_> <_> 9 9 6 12 -1. <_> 9 13 6 4 3. <_> <_> 8 13 8 8 -1. <_> 8 17 8 4 2. <_> <_> 13 10 3 12 -1. <_> 13 16 3 6 2. <_> <_> 5 9 14 14 -1. <_> 5 9 7 7 2. <_> 12 16 7 7 2. <_> <_> 0 0 24 10 -1. <_> 12 0 12 5 2. <_> 0 5 12 5 2. <_> <_> 1 11 18 2 -1. <_> 1 12 18 1 2. <_> <_> 19 5 5 12 -1. <_> 19 9 5 4 3. <_> <_> 0 5 5 12 -1. <_> 0 9 5 4 3. <_> <_> 16 6 8 18 -1. <_> 20 6 4 9 2. <_> 16 15 4 9 2. <_> <_> 0 6 8 18 -1. <_> 0 6 4 9 2. <_> 4 15 4 9 2. <_> <_> 12 5 12 12 -1. <_> 18 5 6 6 2. <_> 12 11 6 6 2. <_> <_> 7 6 6 9 -1. <_> 9 6 2 9 3. <_> <_> 9 13 6 11 -1. <_> 11 13 2 11 3. <_> <_> 0 5 12 12 -1. <_> 0 5 6 6 2. <_> 6 11 6 6 2. <_> <_> 1 2 23 3 -1. <_> 1 3 23 1 3. <_> <_> 1 15 19 3 -1. <_> 1 16 19 1 3. <_> <_> 13 17 11 4 -1. <_> 13 19 11 2 2. <_> <_> 0 13 8 5 -1. <_> 4 13 4 5 2. <_> <_> 12 10 10 4 -1. <_> 12 10 5 4 2. <_> <_> 4 6 9 9 -1. <_> 4 9 9 3 3. <_> <_> 15 14 9 6 -1. <_> 15 16 9 2 3. <_> <_> 1 12 9 6 -1. <_> 1 14 9 2 3. <_> <_> 3 10 20 8 -1. <_> 13 10 10 4 2. <_> 3 14 10 4 2. <_> <_> 2 0 9 18 -1. <_> 5 0 3 18 3. <_> <_> 13 11 9 10 -1. <_> 16 11 3 10 3. <_> <_> 1 2 8 5 -1. <_> 5 2 4 5 2. <_> <_> 3 4 21 6 -1. <_> 10 4 7 6 3. <_> <_> 7 0 10 14 -1. <_> 7 0 5 7 2. <_> 12 7 5 7 2. <_> <_> 12 17 12 4 -1. <_> 12 19 12 2 2. <_> <_> 0 6 23 4 -1. <_> 0 8 23 2 2. <_> <_> 13 10 8 10 -1. <_> 17 10 4 5 2. <_> 13 15 4 5 2. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 15 16 9 4 -1. <_> 15 18 9 2 2. <_> <_> 0 16 9 4 -1. <_> 0 18 9 2 2. <_> <_> 13 11 6 6 -1. <_> 13 11 3 6 2. <_> <_> 5 11 6 6 -1. <_> 8 11 3 6 2. <_> <_> 0 3 24 6 -1. <_> 12 3 12 3 2. <_> 0 6 12 3 2. <_> <_> 2 4 18 3 -1. <_> 2 5 18 1 3. <_> <_> 0 0 24 4 -1. <_> 12 0 12 2 2. <_> 0 2 12 2 2. <_> <_> 1 16 18 3 -1. <_> 1 17 18 1 3. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 0 15 9 6 -1. <_> 0 17 9 2 3. <_> <_> 6 17 18 3 -1. <_> 6 18 18 1 3. <_> <_> 8 8 6 10 -1. <_> 10 8 2 10 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 8 8 5 8 -1. <_> 8 12 5 4 2. <_> <_> 12 8 6 8 -1. <_> 12 12 6 4 2. <_> <_> 6 5 6 11 -1. <_> 8 5 2 11 3. <_> <_> 13 6 8 9 -1. <_> 13 9 8 3 3. <_> <_> 1 7 21 6 -1. <_> 1 9 21 2 3. <_> <_> 15 5 3 12 -1. <_> 15 11 3 6 2. <_> <_> 6 9 11 12 -1. <_> 6 13 11 4 3. <_> <_> 13 8 10 8 -1. <_> 18 8 5 4 2. <_> 13 12 5 4 2. <_> <_> 5 8 12 3 -1. <_> 11 8 6 3 2. <_> <_> 6 11 18 4 -1. <_> 12 11 6 4 3. <_> <_> 0 0 22 22 -1. <_> 0 11 22 11 2. <_> <_> 11 2 6 8 -1. <_> 11 6 6 4 2. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 10 0 6 9 -1. <_> 12 0 2 9 3. <_> <_> 8 3 6 14 -1. <_> 8 3 3 7 2. <_> 11 10 3 7 2. <_> <_> 3 10 18 8 -1. <_> 9 10 6 8 3. <_> <_> 10 0 3 14 -1. <_> 10 7 3 7 2. <_> <_> 4 3 16 20 -1. <_> 4 13 16 10 2. <_> <_> 9 4 6 10 -1. <_> 11 4 2 10 3. <_> <_> 5 0 16 4 -1. <_> 5 2 16 2 2. <_> <_> 2 5 18 4 -1. <_> 8 5 6 4 3. <_> <_> 13 0 6 9 -1. <_> 15 0 2 9 3. <_> <_> 8 4 8 5 -1. <_> 12 4 4 5 2. <_> <_> 12 10 10 4 -1. <_> 12 10 5 4 2. <_> <_> 2 10 10 4 -1. <_> 7 10 5 4 2. <_> <_> 7 11 12 5 -1. <_> 11 11 4 5 3. <_> <_> 3 10 8 10 -1. <_> 3 10 4 5 2. <_> 7 15 4 5 2. <_> <_> 11 12 9 8 -1. <_> 14 12 3 8 3. <_> <_> 0 21 24 3 -1. <_> 8 21 8 3 3. <_> <_> 3 20 18 4 -1. <_> 9 20 6 4 3. <_> <_> 1 15 9 6 -1. <_> 1 17 9 2 3. <_> <_> 11 17 10 4 -1. <_> 11 19 10 2 2. <_> <_> 9 12 4 12 -1. <_> 9 18 4 6 2. <_> <_> 9 6 9 6 -1. <_> 12 6 3 6 3. <_> <_> 1 13 6 9 -1. <_> 1 16 6 3 3. <_> <_> 6 16 12 4 -1. <_> 6 18 12 2 2. <_> <_> 1 5 20 3 -1. <_> 1 6 20 1 3. <_> <_> 8 1 9 9 -1. <_> 8 4 9 3 3. <_> <_> 2 19 9 4 -1. <_> 2 21 9 2 2. <_> <_> 11 1 4 18 -1. <_> 11 7 4 6 3. <_> <_> 7 2 8 12 -1. <_> 7 2 4 6 2. <_> 11 8 4 6 2. <_> <_> 11 10 9 8 -1. <_> 14 10 3 8 3. <_> <_> 5 11 12 5 -1. <_> 9 11 4 5 3. <_> <_> 11 9 9 6 -1. <_> 14 9 3 6 3. <_> <_> 5 10 6 9 -1. <_> 7 10 2 9 3. <_> <_> 4 7 5 12 -1. <_> 4 11 5 4 3. <_> <_> 2 0 21 6 -1. <_> 9 0 7 6 3. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 9 0 6 15 -1. <_> 11 0 2 15 3. <_> <_> 2 2 18 2 -1. <_> 2 3 18 1 2. <_> <_> 8 17 8 6 -1. <_> 8 20 8 3 2. <_> <_> 3 0 18 2 -1. <_> 3 1 18 1 2. <_> <_> 8 0 9 6 -1. <_> 11 0 3 6 3. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 6 7 12 5 -1. <_> 10 7 4 5 3. <_> <_> 0 3 6 9 -1. <_> 2 3 2 9 3. <_> <_> 20 2 4 9 -1. <_> 20 2 2 9 2. <_> <_> 0 2 4 9 -1. <_> 2 2 2 9 2. <_> <_> 0 1 24 4 -1. <_> 12 1 12 2 2. <_> 0 3 12 2 2. <_> <_> 0 16 9 6 -1. <_> 0 18 9 2 3. <_> <_> 14 13 9 6 -1. <_> 14 15 9 2 3. <_> <_> 0 15 19 3 -1. <_> 0 16 19 1 3. <_> <_> 1 5 22 12 -1. <_> 12 5 11 6 2. <_> 1 11 11 6 2. <_> <_> 5 13 6 6 -1. <_> 8 13 3 6 2. <_> <_> 4 2 20 3 -1. <_> 4 3 20 1 3. <_> <_> 8 14 6 10 -1. <_> 10 14 2 10 3. <_> <_> 6 12 16 6 -1. <_> 14 12 8 3 2. <_> 6 15 8 3 2. <_> <_> 2 13 8 9 -1. <_> 2 16 8 3 3. <_> <_> 11 8 6 14 -1. <_> 14 8 3 7 2. <_> 11 15 3 7 2. <_> <_> 2 12 16 6 -1. <_> 2 12 8 3 2. <_> 10 15 8 3 2. <_> <_> 5 16 16 8 -1. <_> 5 20 16 4 2. <_> <_> 9 1 4 12 -1. <_> 9 7 4 6 2. <_> <_> 8 2 8 10 -1. <_> 12 2 4 5 2. <_> 8 7 4 5 2. <_> <_> 6 6 12 6 -1. <_> 6 6 6 3 2. <_> 12 9 6 3 2. <_> <_> 10 7 6 9 -1. <_> 12 7 2 9 3. <_> <_> 0 0 8 12 -1. <_> 0 0 4 6 2. <_> 4 6 4 6 2. <_> <_> 18 8 6 9 -1. <_> 18 11 6 3 3. <_> <_> 2 12 6 6 -1. <_> 5 12 3 6 2. <_> <_> 3 21 21 3 -1. <_> 10 21 7 3 3. <_> <_> 2 0 16 6 -1. <_> 2 3 16 3 2. <_> <_> 13 6 7 6 -1. <_> 13 9 7 3 2. <_> <_> 6 4 4 14 -1. <_> 6 11 4 7 2. <_> <_> 9 7 6 9 -1. <_> 11 7 2 9 3. <_> <_> 7 8 6 14 -1. <_> 7 8 3 7 2. <_> 10 15 3 7 2. <_> <_> 18 8 4 16 -1. <_> 18 16 4 8 2. <_> <_> 9 14 6 10 -1. <_> 11 14 2 10 3. <_> <_> 6 11 12 5 -1. <_> 10 11 4 5 3. <_> <_> 0 12 23 3 -1. <_> 0 13 23 1 3. <_> <_> 13 0 6 12 -1. <_> 15 0 2 12 3. <_> <_> 0 10 12 5 -1. <_> 4 10 4 5 3. <_> <_> 13 2 10 4 -1. <_> 13 4 10 2 2. <_> <_> 5 0 6 12 -1. <_> 7 0 2 12 3. <_> <_> 11 6 9 6 -1. <_> 14 6 3 6 3. <_> <_> 4 6 9 6 -1. <_> 7 6 3 6 3. <_> <_> 6 11 18 13 -1. <_> 12 11 6 13 3. <_> <_> 0 11 18 13 -1. <_> 6 11 6 13 3. <_> <_> 12 16 12 6 -1. <_> 16 16 4 6 3. <_> <_> 0 6 21 3 -1. <_> 0 7 21 1 3. <_> <_> 12 16 12 6 -1. <_> 16 16 4 6 3. <_> <_> 5 7 6 14 -1. <_> 5 14 6 7 2. <_> <_> 5 10 19 2 -1. <_> 5 11 19 1 2. <_> <_> 5 4 14 4 -1. <_> 5 6 14 2 2. <_> <_> 3 18 18 4 -1. <_> 9 18 6 4 3. <_> <_> 7 0 4 9 -1. <_> 9 0 2 9 2. <_> <_> 13 3 11 4 -1. <_> 13 5 11 2 2. <_> <_> 2 0 9 6 -1. <_> 5 0 3 6 3. <_> <_> 19 1 4 23 -1. <_> 19 1 2 23 2. <_> <_> 1 1 4 23 -1. <_> 3 1 2 23 2. <_> <_> 5 16 18 3 -1. <_> 5 17 18 1 3. <_> <_> 0 3 11 4 -1. <_> 0 5 11 2 2. <_> <_> 2 16 20 3 -1. <_> 2 17 20 1 3. <_> <_> 5 3 13 4 -1. <_> 5 5 13 2 2. <_> <_> 1 9 22 15 -1. <_> 1 9 11 15 2. <_> <_> 3 4 14 3 -1. <_> 10 4 7 3 2. <_> <_> 8 7 10 4 -1. <_> 8 7 5 4 2. <_> <_> 6 7 10 4 -1. <_> 11 7 5 4 2. <_> <_> 10 4 6 9 -1. <_> 12 4 2 9 3. <_> <_> 1 12 9 6 -1. <_> 4 12 3 6 3. <_> <_> 8 3 8 10 -1. <_> 12 3 4 5 2. <_> 8 8 4 5 2. <_> <_> 3 6 16 6 -1. <_> 3 6 8 3 2. <_> 11 9 8 3 2. <_> <_> 5 6 14 6 -1. <_> 5 9 14 3 2. <_> <_> 4 3 9 6 -1. <_> 4 5 9 2 3. <_> <_> 6 3 18 2 -1. <_> 6 4 18 1 2. <_> <_> 7 6 9 6 -1. <_> 10 6 3 6 3. <_> <_> 0 1 24 3 -1. <_> 0 2 24 1 3. <_> <_> 0 17 10 6 -1. <_> 0 19 10 2 3. <_> <_> 3 18 18 3 -1. <_> 3 19 18 1 3. <_> <_> 2 5 6 16 -1. <_> 2 5 3 8 2. <_> 5 13 3 8 2. <_> <_> 7 6 11 6 -1. <_> 7 8 11 2 3. <_> <_> 5 2 12 22 -1. <_> 5 13 12 11 2. <_> <_> 10 7 4 10 -1. <_> 10 12 4 5 2. <_> <_> 9 0 4 18 -1. <_> 9 6 4 6 3. <_> <_> 18 8 6 9 -1. <_> 18 11 6 3 3. <_> <_> 4 7 15 10 -1. <_> 9 7 5 10 3. <_> <_> 10 5 6 9 -1. <_> 12 5 2 9 3. <_> <_> 9 9 6 10 -1. <_> 11 9 2 10 3. <_> <_> 11 14 6 10 -1. <_> 13 14 2 10 3. <_> <_> 7 14 6 10 -1. <_> 9 14 2 10 3. <_> <_> 4 8 16 9 -1. <_> 4 11 16 3 3. <_> <_> 2 11 20 3 -1. <_> 2 12 20 1 3. <_> <_> 13 0 4 13 -1. <_> 13 0 2 13 2. <_> <_> 7 0 4 13 -1. <_> 9 0 2 13 2. <_> <_> 3 1 18 7 -1. <_> 9 1 6 7 3. <_> <_> 1 11 6 9 -1. <_> 1 14 6 3 3. <_> <_> 8 18 9 6 -1. <_> 8 20 9 2 3. <_> <_> 3 9 15 6 -1. <_> 3 11 15 2 3. <_> <_> 5 10 19 2 -1. <_> 5 11 19 1 2. <_> <_> 8 6 7 16 -1. <_> 8 14 7 8 2. <_> <_> 9 14 9 6 -1. <_> 9 16 9 2 3. <_> <_> 0 7 8 12 -1. <_> 0 11 8 4 3. <_> <_> 6 4 18 3 -1. <_> 6 5 18 1 3. <_> <_> 0 16 12 6 -1. <_> 4 16 4 6 3. <_> <_> 13 13 9 4 -1. <_> 13 15 9 2 2. <_> <_> 5 8 14 14 -1. <_> 5 8 7 7 2. <_> 12 15 7 7 2. <_> <_> 1 16 22 6 -1. <_> 12 16 11 3 2. <_> 1 19 11 3 2. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 9 5 10 10 -1. <_> 14 5 5 5 2. <_> 9 10 5 5 2. <_> <_> 5 5 10 10 -1. <_> 5 5 5 5 2. <_> 10 10 5 5 2. <_> <_> 4 6 16 6 -1. <_> 12 6 8 3 2. <_> 4 9 8 3 2. <_> <_> 0 7 6 9 -1. <_> 0 10 6 3 3. <_> <_> 16 10 8 14 -1. <_> 20 10 4 7 2. <_> 16 17 4 7 2. <_> <_> 9 12 6 12 -1. <_> 9 18 6 6 2. <_> <_> 8 10 8 12 -1. <_> 12 10 4 6 2. <_> 8 16 4 6 2. <_> <_> 8 0 4 9 -1. <_> 10 0 2 9 2. <_> <_> 10 4 8 16 -1. <_> 14 4 4 8 2. <_> 10 12 4 8 2. <_> <_> 7 10 10 6 -1. <_> 7 12 10 2 3. <_> <_> 5 6 14 14 -1. <_> 12 6 7 7 2. <_> 5 13 7 7 2. <_> <_> 2 11 20 2 -1. <_> 2 12 20 1 2. <_> <_> 18 8 4 16 -1. <_> 18 16 4 8 2. <_> <_> 1 11 12 10 -1. <_> 1 11 6 5 2. <_> 7 16 6 5 2. <_> <_> 6 9 12 4 -1. <_> 6 11 12 2 2. <_> <_> 9 12 6 7 -1. <_> 12 12 3 7 2. <_> <_> 10 4 8 16 -1. <_> 14 4 4 8 2. <_> 10 12 4 8 2. <_> <_> 6 4 8 16 -1. <_> 6 4 4 8 2. <_> 10 12 4 8 2. <_> <_> 8 9 9 6 -1. <_> 11 9 3 6 3. <_> <_> 1 5 16 12 -1. <_> 1 5 8 6 2. <_> 9 11 8 6 2. <_> <_> 9 9 6 8 -1. <_> 9 9 3 8 2. <_> <_> 6 0 3 18 -1. <_> 7 0 1 18 3. <_> <_> 17 9 5 14 -1. <_> 17 16 5 7 2. <_> <_> 2 9 5 14 -1. <_> 2 16 5 7 2. <_> <_> 7 4 10 6 -1. <_> 7 7 10 3 2. <_> <_> 1 3 23 18 -1. <_> 1 9 23 6 3. <_> <_> 1 1 21 3 -1. <_> 8 1 7 3 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 3 18 12 6 -1. <_> 3 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 16 8 8 16 -1. <_> 20 8 4 8 2. <_> 16 16 4 8 2. <_> <_> 0 19 24 4 -1. <_> 8 19 8 4 3. <_> <_> 16 8 8 16 -1. <_> 20 8 4 8 2. <_> 16 16 4 8 2. <_> <_> 0 8 8 16 -1. <_> 0 8 4 8 2. <_> 4 16 4 8 2. <_> <_> 8 12 8 10 -1. <_> 8 17 8 5 2. <_> <_> 5 7 5 8 -1. <_> 5 11 5 4 2. <_> <_> 4 1 19 2 -1. <_> 4 2 19 1 2. <_> <_> 0 12 24 9 -1. <_> 8 12 8 9 3. <_> <_> 6 0 13 8 -1. <_> 6 4 13 4 2. <_> <_> 0 0 24 3 -1. <_> 0 1 24 1 3. <_> <_> 20 3 4 11 -1. <_> 20 3 2 11 2. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 6 11 12 8 -1. <_> 12 11 6 4 2. <_> 6 15 6 4 2. <_> <_> 0 8 12 6 -1. <_> 0 8 6 3 2. <_> 6 11 6 3 2. <_> <_> 6 17 18 3 -1. <_> 6 18 18 1 3. <_> <_> 0 14 9 6 -1. <_> 0 16 9 2 3. <_> <_> 20 3 4 9 -1. <_> 20 3 2 9 2. <_> <_> 0 3 4 9 -1. <_> 2 3 2 9 2. <_> <_> 15 0 9 19 -1. <_> 18 0 3 19 3. <_> <_> 0 0 9 19 -1. <_> 3 0 3 19 3. <_> <_> 13 11 6 8 -1. <_> 13 11 3 8 2. <_> <_> 5 11 6 8 -1. <_> 8 11 3 8 2. <_> <_> 5 11 19 3 -1. <_> 5 12 19 1 3. <_> <_> 3 20 18 4 -1. <_> 9 20 6 4 3. <_> <_> 6 6 16 6 -1. <_> 6 8 16 2 3. <_> <_> 6 0 9 6 -1. <_> 9 0 3 6 3. <_> <_> 10 3 4 14 -1. <_> 10 10 4 7 2. <_> <_> 1 5 15 12 -1. <_> 1 11 15 6 2. <_> <_> 11 12 8 5 -1. <_> 11 12 4 5 2. <_> <_> 5 0 6 9 -1. <_> 7 0 2 9 3. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 5 5 12 8 -1. <_> 5 5 6 4 2. <_> 11 9 6 4 2. <_> <_> 13 12 11 6 -1. <_> 13 14 11 2 3. <_> <_> 0 13 21 3 -1. <_> 0 14 21 1 3. <_> <_> 8 1 8 12 -1. <_> 12 1 4 6 2. <_> 8 7 4 6 2. <_> <_> 1 0 6 12 -1. <_> 1 0 3 6 2. <_> 4 6 3 6 2. <_> <_> 2 2 21 2 -1. <_> 2 3 21 1 2. <_> <_> 2 2 19 3 -1. <_> 2 3 19 1 3. <_> <_> 17 10 6 14 -1. <_> 20 10 3 7 2. <_> 17 17 3 7 2. <_> <_> 1 10 6 14 -1. <_> 1 10 3 7 2. <_> 4 17 3 7 2. <_> <_> 7 6 14 14 -1. <_> 14 6 7 7 2. <_> 7 13 7 7 2. <_> <_> 0 12 9 6 -1. <_> 0 14 9 2 3. <_> <_> 15 14 8 9 -1. <_> 15 17 8 3 3. <_> <_> 1 1 22 4 -1. <_> 1 1 11 2 2. <_> 12 3 11 2 2. <_> <_> 9 11 9 6 -1. <_> 9 13 9 2 3. <_> <_> 0 15 18 3 -1. <_> 0 16 18 1 3. <_> <_> 16 14 7 9 -1. <_> 16 17 7 3 3. <_> <_> 4 3 16 4 -1. <_> 12 3 8 4 2. <_> <_> 7 6 12 5 -1. <_> 7 6 6 5 2. <_> <_> 9 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 12 1 4 10 -1. <_> 12 1 2 10 2. <_> <_> 8 1 4 10 -1. <_> 10 1 2 10 2. <_> <_> 15 15 6 9 -1. <_> 15 18 6 3 3. <_> <_> 3 15 6 9 -1. <_> 3 18 6 3 3. <_> <_> 15 1 3 19 -1. <_> 16 1 1 19 3. <_> <_> 1 3 6 9 -1. <_> 3 3 2 9 3. <_> <_> 15 0 3 19 -1. <_> 16 0 1 19 3. <_> <_> 6 3 12 4 -1. <_> 12 3 6 4 2. <_> <_> 10 5 4 9 -1. <_> 10 5 2 9 2. <_> <_> 6 0 3 19 -1. <_> 7 0 1 19 3. <_> <_> 11 1 3 12 -1. <_> 11 7 3 6 2. <_> <_> 6 7 10 5 -1. <_> 11 7 5 5 2. <_> <_> 11 3 3 18 -1. <_> 12 3 1 18 3. <_> <_> 9 3 6 12 -1. <_> 11 3 2 12 3. <_> <_> 3 7 19 3 -1. <_> 3 8 19 1 3. <_> <_> 2 7 18 3 -1. <_> 2 8 18 1 3. <_> <_> 3 13 18 4 -1. <_> 12 13 9 2 2. <_> 3 15 9 2 2. <_> <_> 3 5 6 9 -1. <_> 5 5 2 9 3. <_> <_> 4 1 20 4 -1. <_> 14 1 10 2 2. <_> 4 3 10 2 2. <_> <_> 0 1 20 4 -1. <_> 0 1 10 2 2. <_> 10 3 10 2 2. <_> <_> 10 15 6 6 -1. <_> 10 15 3 6 2. <_> <_> 0 2 24 8 -1. <_> 8 2 8 8 3. <_> <_> 5 5 18 3 -1. <_> 5 6 18 1 3. <_> <_> 8 15 6 6 -1. <_> 11 15 3 6 2. <_> <_> 11 12 8 5 -1. <_> 11 12 4 5 2. <_> <_> 5 12 8 5 -1. <_> 9 12 4 5 2. <_> <_> 5 0 14 6 -1. <_> 5 2 14 2 3. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 10 7 5 12 -1. <_> 10 11 5 4 3. <_> <_> 7 9 8 14 -1. <_> 7 9 4 7 2. <_> 11 16 4 7 2. <_> <_> 1 5 22 6 -1. <_> 12 5 11 3 2. <_> 1 8 11 3 2. <_> <_> 0 5 6 6 -1. <_> 0 8 6 3 2. <_> <_> 12 17 9 4 -1. <_> 12 19 9 2 2. <_> <_> 2 18 19 3 -1. <_> 2 19 19 1 3. <_> <_> 12 17 9 4 -1. <_> 12 19 9 2 2. <_> <_> 1 17 18 3 -1. <_> 1 18 18 1 3. <_> <_> 12 17 9 4 -1. <_> 12 19 9 2 2. <_> <_> 0 0 24 3 -1. <_> 0 1 24 1 3. <_> <_> 5 0 14 4 -1. <_> 5 2 14 2 2. <_> <_> 6 14 9 6 -1. <_> 6 16 9 2 3. <_> <_> 14 13 6 9 -1. <_> 14 16 6 3 3. <_> <_> 5 20 13 4 -1. <_> 5 22 13 2 2. <_> <_> 9 9 6 12 -1. <_> 9 13 6 4 3. <_> <_> 1 10 21 3 -1. <_> 8 10 7 3 3. <_> <_> 8 8 9 6 -1. <_> 11 8 3 6 3. <_> <_> 3 10 9 7 -1. <_> 6 10 3 7 3. <_> <_> 12 10 10 8 -1. <_> 17 10 5 4 2. <_> 12 14 5 4 2. <_> <_> 0 15 24 3 -1. <_> 8 15 8 3 3. <_> <_> 8 5 9 6 -1. <_> 8 7 9 2 3. <_> <_> 4 13 6 9 -1. <_> 4 16 6 3 3. <_> <_> 12 17 9 4 -1. <_> 12 19 9 2 2. <_> <_> 9 12 6 6 -1. <_> 9 15 6 3 2. <_> <_> 9 9 14 10 -1. <_> 16 9 7 5 2. <_> 9 14 7 5 2. <_> <_> 1 9 14 10 -1. <_> 1 9 7 5 2. <_> 8 14 7 5 2. <_> <_> 8 7 9 17 -1. <_> 11 7 3 17 3. <_> <_> 3 4 6 20 -1. <_> 3 4 3 10 2. <_> 6 14 3 10 2. <_> <_> 7 8 10 4 -1. <_> 7 8 5 4 2. <_> <_> 10 7 4 9 -1. <_> 12 7 2 9 2. <_> <_> 10 15 6 9 -1. <_> 12 15 2 9 3. <_> <_> 3 8 6 16 -1. <_> 3 8 3 8 2. <_> 6 16 3 8 2. <_> <_> 12 17 9 4 -1. <_> 12 19 9 2 2. <_> <_> 3 17 9 4 -1. <_> 3 19 9 2 2. <_> <_> 10 1 9 6 -1. <_> 13 1 3 6 3. <_> <_> 5 7 4 10 -1. <_> 5 12 4 5 2. <_> <_> 7 5 12 6 -1. <_> 11 5 4 6 3. <_> <_> 6 4 9 8 -1. <_> 9 4 3 8 3. <_> <_> 12 16 10 8 -1. <_> 17 16 5 4 2. <_> 12 20 5 4 2. <_> <_> 2 16 10 8 -1. <_> 2 16 5 4 2. <_> 7 20 5 4 2. <_> <_> 0 0 24 4 -1. <_> 12 0 12 2 2. <_> 0 2 12 2 2. <_> <_> 0 6 9 6 -1. <_> 0 8 9 2 3. <_> <_> 0 4 24 6 -1. <_> 12 4 12 3 2. <_> 0 7 12 3 2. <_> <_> 5 0 11 4 -1. <_> 5 2 11 2 2. <_> <_> 1 1 22 4 -1. <_> 12 1 11 2 2. <_> 1 3 11 2 2. <_> <_> 9 6 6 18 -1. <_> 9 15 6 9 2. <_> <_> 2 9 20 4 -1. <_> 2 11 20 2 2. <_> <_> 5 2 14 14 -1. <_> 5 9 14 7 2. <_> <_> 4 2 16 6 -1. <_> 4 5 16 3 2. <_> <_> 2 3 19 3 -1. <_> 2 4 19 1 3. <_> <_> 7 1 10 4 -1. <_> 7 3 10 2 2. <_> <_> 0 9 4 15 -1. <_> 0 14 4 5 3. <_> <_> 2 10 21 3 -1. <_> 2 11 21 1 3. <_> <_> 3 0 6 6 -1. <_> 6 0 3 6 2. <_> <_> 6 4 14 9 -1. <_> 6 7 14 3 3. <_> <_> 9 1 6 9 -1. <_> 11 1 2 9 3. <_> <_> 15 8 9 9 -1. <_> 15 11 9 3 3. <_> <_> 8 0 4 21 -1. <_> 8 7 4 7 3. <_> <_> 3 22 19 2 -1. <_> 3 23 19 1 2. <_> <_> 2 15 20 3 -1. <_> 2 16 20 1 3. <_> <_> 19 0 4 13 -1. <_> 19 0 2 13 2. <_> <_> 1 7 8 8 -1. <_> 1 11 8 4 2. <_> <_> 14 14 6 9 -1. <_> 14 17 6 3 3. <_> <_> 4 14 6 9 -1. <_> 4 17 6 3 3. <_> <_> 14 5 4 10 -1. <_> 14 5 2 10 2. <_> <_> 6 5 4 10 -1. <_> 8 5 2 10 2. <_> <_> 14 5 6 6 -1. <_> 14 8 6 3 2. <_> <_> 4 5 6 6 -1. <_> 4 8 6 3 2. <_> <_> 0 2 24 21 -1. <_> 8 2 8 21 3. <_> <_> 1 2 6 13 -1. <_> 3 2 2 13 3. <_> <_> 20 0 4 21 -1. <_> 20 0 2 21 2. <_> <_> 0 4 4 20 -1. <_> 2 4 2 20 2. <_> <_> 8 16 9 6 -1. <_> 8 18 9 2 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 16 12 7 9 -1. <_> 16 15 7 3 3. <_> <_> 5 21 14 3 -1. <_> 12 21 7 3 2. <_> <_> 11 5 6 9 -1. <_> 11 5 3 9 2. <_> <_> 10 5 4 10 -1. <_> 12 5 2 10 2. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 7 5 6 9 -1. <_> 10 5 3 9 2. <_> <_> 14 14 10 4 -1. <_> 14 16 10 2 2. <_> <_> 5 5 14 14 -1. <_> 5 5 7 7 2. <_> 12 12 7 7 2. <_> <_> 12 8 12 6 -1. <_> 18 8 6 3 2. <_> 12 11 6 3 2. <_> <_> 6 6 12 12 -1. <_> 6 6 6 6 2. <_> 12 12 6 6 2. <_> <_> 11 13 6 10 -1. <_> 13 13 2 10 3. <_> <_> 1 10 20 8 -1. <_> 1 10 10 4 2. <_> 11 14 10 4 2. <_> <_> 15 13 9 6 -1. <_> 15 15 9 2 3. <_> <_> 9 0 6 9 -1. <_> 9 3 6 3 3. <_> <_> 10 1 5 14 -1. <_> 10 8 5 7 2. <_> <_> 3 4 16 6 -1. <_> 3 6 16 2 3. <_> <_> 16 3 8 9 -1. <_> 16 6 8 3 3. <_> <_> 7 13 6 10 -1. <_> 9 13 2 10 3. <_> <_> 15 13 9 6 -1. <_> 15 15 9 2 3. <_> <_> 0 13 9 6 -1. <_> 0 15 9 2 3. <_> <_> 13 16 9 6 -1. <_> 13 18 9 2 3. <_> <_> 2 16 9 6 -1. <_> 2 18 9 2 3. <_> <_> 5 16 18 3 -1. <_> 5 17 18 1 3. <_> <_> 1 16 18 3 -1. <_> 1 17 18 1 3. <_> <_> 5 0 18 3 -1. <_> 5 1 18 1 3. <_> <_> 1 1 19 2 -1. <_> 1 2 19 1 2. <_> <_> 14 2 6 11 -1. <_> 16 2 2 11 3. <_> <_> 4 15 15 6 -1. <_> 9 15 5 6 3. <_> <_> 14 2 6 11 -1. <_> 16 2 2 11 3. <_> <_> 4 2 6 11 -1. <_> 6 2 2 11 3. <_> <_> 18 2 6 9 -1. <_> 18 5 6 3 3. <_> <_> 1 2 22 4 -1. <_> 1 2 11 2 2. <_> 12 4 11 2 2. <_> <_> 2 0 21 12 -1. <_> 9 0 7 12 3. <_> <_> 0 12 18 3 -1. <_> 0 13 18 1 3. <_> <_> 12 2 6 9 -1. <_> 14 2 2 9 3. <_> <_> 3 10 18 3 -1. <_> 3 11 18 1 3. <_> <_> 16 3 8 9 -1. <_> 16 6 8 3 3. <_> <_> 3 7 18 3 -1. <_> 3 8 18 1 3. <_> <_> 9 11 6 9 -1. <_> 11 11 2 9 3. <_> <_> 9 8 6 9 -1. <_> 11 8 2 9 3. <_> <_> 15 0 2 18 -1. <_> 15 0 1 18 2. <_> <_> 7 0 2 18 -1. <_> 8 0 1 18 2. <_> <_> 17 3 7 9 -1. <_> 17 6 7 3 3. <_> <_> 3 18 9 6 -1. <_> 3 20 9 2 3. <_> <_> 3 18 21 3 -1. <_> 3 19 21 1 3. <_> <_> 0 3 7 9 -1. <_> 0 6 7 3 3. <_> <_> 2 7 22 3 -1. <_> 2 8 22 1 3. <_> <_> 0 3 24 16 -1. <_> 0 3 12 8 2. <_> 12 11 12 8 2. <_> <_> 13 17 9 4 -1. <_> 13 19 9 2 2. <_> <_> 5 5 12 8 -1. <_> 5 5 6 4 2. <_> 11 9 6 4 2. <_> <_> 5 6 14 6 -1. <_> 12 6 7 3 2. <_> 5 9 7 3 2. <_> <_> 5 16 14 6 -1. <_> 5 16 7 3 2. <_> 12 19 7 3 2. <_> <_> 18 2 6 9 -1. <_> 18 5 6 3 3. <_> <_> 0 2 6 9 -1. <_> 0 5 6 3 3. <_> <_> 3 4 20 10 -1. <_> 13 4 10 5 2. <_> 3 9 10 5 2. <_> <_> 2 13 9 8 -1. <_> 5 13 3 8 3. <_> <_> 2 1 21 15 -1. <_> 9 1 7 15 3. <_> <_> 5 12 14 8 -1. <_> 12 12 7 8 2. <_> <_> 6 7 12 4 -1. <_> 6 7 6 4 2. <_> <_> 6 5 9 6 -1. <_> 9 5 3 6 3. <_> <_> 13 11 6 6 -1. <_> 13 11 3 6 2. <_> <_> 5 11 6 6 -1. <_> 8 11 3 6 2. <_> <_> 6 4 18 2 -1. <_> 6 5 18 1 2. <_> <_> 0 2 6 11 -1. <_> 2 2 2 11 3. <_> <_> 18 0 6 15 -1. <_> 20 0 2 15 3. <_> <_> 0 0 6 13 -1. <_> 2 0 2 13 3. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 0 2 24 4 -1. <_> 8 2 8 4 3. <_> <_> 3 13 18 4 -1. <_> 12 13 9 4 2. <_> <_> 9 7 10 4 -1. <_> 9 7 5 4 2. <_> <_> 5 8 12 3 -1. <_> 11 8 6 3 2. <_> <_> 4 14 19 3 -1. <_> 4 15 19 1 3. <_> <_> 10 0 4 20 -1. <_> 10 10 4 10 2. <_> <_> 8 15 9 6 -1. <_> 8 17 9 2 3. <_> <_> 2 9 15 4 -1. <_> 7 9 5 4 3. <_> <_> 8 4 12 7 -1. <_> 12 4 4 7 3. <_> <_> 0 10 6 9 -1. <_> 0 13 6 3 3. <_> <_> 18 5 6 9 -1. <_> 18 8 6 3 3. <_> <_> 0 18 16 6 -1. <_> 0 18 8 3 2. <_> 8 21 8 3 2. <_> <_> 9 18 14 6 -1. <_> 16 18 7 3 2. <_> 9 21 7 3 2. <_> <_> 1 20 20 4 -1. <_> 1 20 10 2 2. <_> 11 22 10 2 2. <_> <_> 2 8 20 6 -1. <_> 12 8 10 3 2. <_> 2 11 10 3 2. <_> <_> 7 8 6 9 -1. <_> 9 8 2 9 3. <_> <_> 8 5 12 8 -1. <_> 12 5 4 8 3. <_> <_> 4 5 12 8 -1. <_> 8 5 4 8 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 2 0 6 16 -1. <_> 4 0 2 16 3. <_> <_> 15 4 6 12 -1. <_> 15 8 6 4 3. <_> <_> 3 4 6 12 -1. <_> 3 8 6 4 3. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 4 0 15 22 -1. <_> 4 11 15 11 2. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 0 12 9 6 -1. <_> 0 14 9 2 3. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 0 15 9 6 -1. <_> 0 17 9 2 3. <_> <_> 10 0 8 10 -1. <_> 14 0 4 5 2. <_> 10 5 4 5 2. <_> <_> 1 0 4 16 -1. <_> 3 0 2 16 2. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 10 12 4 10 -1. <_> 10 17 4 5 2. <_> <_> 8 4 10 6 -1. <_> 8 6 10 2 3. <_> <_> 3 22 18 2 -1. <_> 12 22 9 2 2. <_> <_> 7 7 11 6 -1. <_> 7 9 11 2 3. <_> <_> 0 0 12 10 -1. <_> 0 0 6 5 2. <_> 6 5 6 5 2. <_> <_> 10 1 12 6 -1. <_> 16 1 6 3 2. <_> 10 4 6 3 2. <_> <_> 7 16 9 4 -1. <_> 7 18 9 2 2. <_> <_> 5 7 15 16 -1. <_> 10 7 5 16 3. <_> <_> 5 10 12 13 -1. <_> 11 10 6 13 2. <_> <_> 6 2 12 6 -1. <_> 12 2 6 3 2. <_> 6 5 6 3 2. <_> <_> 3 9 12 9 -1. <_> 3 12 12 3 3. <_> <_> 16 2 8 6 -1. <_> 16 5 8 3 2. <_> <_> 0 2 8 6 -1. <_> 0 5 8 3 2. <_> <_> 0 3 24 11 -1. <_> 0 3 12 11 2. <_> <_> 0 13 8 10 -1. <_> 0 13 4 5 2. <_> 4 18 4 5 2. <_> <_> 10 14 4 10 -1. <_> 10 19 4 5 2. <_> <_> 10 2 4 21 -1. <_> 10 9 4 7 3. <_> <_> 4 4 15 9 -1. <_> 4 7 15 3 3. <_> <_> 0 1 24 6 -1. <_> 8 1 8 6 3. <_> <_> 9 6 5 16 -1. <_> 9 14 5 8 2. <_> <_> 3 21 18 3 -1. <_> 9 21 6 3 3. <_> <_> 6 5 3 12 -1. <_> 6 11 3 6 2. <_> <_> 11 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 5 6 9 8 -1. <_> 8 6 3 8 3. <_> <_> 4 3 20 2 -1. <_> 4 4 20 1 2. <_> <_> 2 10 18 3 -1. <_> 8 10 6 3 3. <_> <_> 7 15 10 6 -1. <_> 7 17 10 2 3. <_> <_> 1 4 4 18 -1. <_> 1 4 2 9 2. <_> 3 13 2 9 2. <_> <_> 13 0 6 9 -1. <_> 15 0 2 9 3. <_> <_> 5 0 6 9 -1. <_> 7 0 2 9 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 6 7 9 6 -1. <_> 9 7 3 6 3. <_> <_> 3 0 18 2 -1. <_> 3 1 18 1 2. <_> <_> 0 10 20 4 -1. <_> 0 10 10 2 2. <_> 10 12 10 2 2. <_> <_> 10 2 4 12 -1. <_> 10 8 4 6 2. <_> <_> 6 5 6 12 -1. <_> 6 5 3 6 2. <_> 9 11 3 6 2. <_> <_> 6 0 18 22 -1. <_> 15 0 9 11 2. <_> 6 11 9 11 2. <_> <_> 0 0 18 22 -1. <_> 0 0 9 11 2. <_> 9 11 9 11 2. <_> <_> 18 2 6 11 -1. <_> 20 2 2 11 3. <_> <_> 0 2 6 11 -1. <_> 2 2 2 11 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 0 0 20 3 -1. <_> 0 1 20 1 3. <_> <_> 2 2 20 2 -1. <_> 2 3 20 1 2. <_> <_> 1 10 18 2 -1. <_> 1 11 18 1 2. <_> <_> 18 7 6 9 -1. <_> 18 10 6 3 3. <_> <_> 0 0 22 9 -1. <_> 0 3 22 3 3. <_> <_> 17 3 6 9 -1. <_> 17 6 6 3 3. <_> <_> 0 7 6 9 -1. <_> 0 10 6 3 3. <_> <_> 0 6 24 6 -1. <_> 0 8 24 2 3. <_> <_> 0 2 6 10 -1. <_> 2 2 2 10 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 15 0 6 9 -1. <_> 17 0 2 9 3. <_> <_> 3 0 6 9 -1. <_> 5 0 2 9 3. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 15 14 9 6 -1. <_> 15 16 9 2 3. <_> <_> 0 15 23 6 -1. <_> 0 17 23 2 3. <_> <_> 5 15 18 3 -1. <_> 5 16 18 1 3. <_> <_> 0 14 9 6 -1. <_> 0 16 9 2 3. <_> <_> 9 8 8 10 -1. <_> 13 8 4 5 2. <_> 9 13 4 5 2. <_> <_> 3 7 15 6 -1. <_> 8 7 5 6 3. <_> <_> 9 8 8 10 -1. <_> 13 8 4 5 2. <_> 9 13 4 5 2. <_> <_> 5 0 6 12 -1. <_> 8 0 3 12 2. <_> <_> 9 8 8 10 -1. <_> 13 8 4 5 2. <_> 9 13 4 5 2. <_> <_> 8 5 6 9 -1. <_> 10 5 2 9 3. <_> <_> 10 6 4 18 -1. <_> 12 6 2 9 2. <_> 10 15 2 9 2. <_> <_> 5 7 12 4 -1. <_> 11 7 6 4 2. <_> <_> 9 8 8 10 -1. <_> 13 8 4 5 2. <_> 9 13 4 5 2. <_> <_> 7 8 8 10 -1. <_> 7 8 4 5 2. <_> 11 13 4 5 2. <_> <_> 11 10 6 14 -1. <_> 14 10 3 7 2. <_> 11 17 3 7 2. <_> <_> 9 5 6 19 -1. <_> 12 5 3 19 2. <_> <_> 6 12 12 6 -1. <_> 12 12 6 3 2. <_> 6 15 6 3 2. <_> <_> 1 9 18 6 -1. <_> 1 9 9 3 2. <_> 10 12 9 3 2. <_> <_> 16 14 8 10 -1. <_> 20 14 4 5 2. <_> 16 19 4 5 2. <_> <_> 0 9 22 8 -1. <_> 0 9 11 4 2. <_> 11 13 11 4 2. <_> <_> 8 18 12 6 -1. <_> 14 18 6 3 2. <_> 8 21 6 3 2. <_> <_> 0 6 20 18 -1. <_> 0 6 10 9 2. <_> 10 15 10 9 2. <_> <_> 3 6 20 12 -1. <_> 13 6 10 6 2. <_> 3 12 10 6 2. <_> <_> 0 16 10 8 -1. <_> 0 16 5 4 2. <_> 5 20 5 4 2. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 0 11 19 3 -1. <_> 0 12 19 1 3. <_> <_> 14 6 6 9 -1. <_> 14 9 6 3 3. <_> <_> 1 7 22 4 -1. <_> 1 7 11 2 2. <_> 12 9 11 2 2. <_> <_> 13 6 7 12 -1. <_> 13 10 7 4 3. <_> <_> 4 7 11 9 -1. <_> 4 10 11 3 3. <_> <_> 12 10 10 8 -1. <_> 17 10 5 4 2. <_> 12 14 5 4 2. <_> <_> 2 12 9 7 -1. <_> 5 12 3 7 3. <_> <_> 16 14 6 9 -1. <_> 16 17 6 3 3. <_> <_> 3 12 6 12 -1. <_> 3 16 6 4 3. <_> <_> 14 13 6 6 -1. <_> 14 16 6 3 2. <_> <_> 8 0 6 9 -1. <_> 10 0 2 9 3. <_> <_> 9 1 6 23 -1. <_> 11 1 2 23 3. <_> <_> 0 16 9 6 -1. <_> 0 18 9 2 3. <_> <_> 4 17 18 3 -1. <_> 4 18 18 1 3. <_> <_> 5 2 13 14 -1. <_> 5 9 13 7 2. <_> <_> 15 0 8 12 -1. <_> 19 0 4 6 2. <_> 15 6 4 6 2. <_> <_> 0 0 8 12 -1. <_> 0 0 4 6 2. <_> 4 6 4 6 2. <_> <_> 8 2 8 7 -1. <_> 8 2 4 7 2. <_> <_> 1 1 6 9 -1. <_> 3 1 2 9 3. <_> <_> 14 8 6 12 -1. <_> 17 8 3 6 2. <_> 14 14 3 6 2. <_> <_> 4 8 6 12 -1. <_> 4 8 3 6 2. <_> 7 14 3 6 2. <_> <_> 16 5 5 15 -1. <_> 16 10 5 5 3. <_> <_> 3 5 5 15 -1. <_> 3 10 5 5 3. <_> <_> 18 4 6 9 -1. <_> 18 7 6 3 3. <_> <_> 1 7 6 15 -1. <_> 1 12 6 5 3. <_> <_> 11 15 12 8 -1. <_> 17 15 6 4 2. <_> 11 19 6 4 2. <_> <_> 0 2 24 4 -1. <_> 0 2 12 2 2. <_> 12 4 12 2 2. <_> <_> 15 1 2 19 -1. <_> 15 1 1 19 2. <_> <_> 7 1 2 19 -1. <_> 8 1 1 19 2. <_> <_> 22 1 2 20 -1. <_> 22 1 1 20 2. <_> <_> 0 1 2 20 -1. <_> 1 1 1 20 2. <_> <_> 18 11 6 12 -1. <_> 20 11 2 12 3. <_> <_> 0 11 6 12 -1. <_> 2 11 2 12 3. <_> <_> 3 6 18 14 -1. <_> 3 13 18 7 2. <_> <_> 6 10 7 8 -1. <_> 6 14 7 4 2. <_> <_> 7 9 12 12 -1. <_> 7 13 12 4 3. <_> <_> 2 18 18 5 -1. <_> 11 18 9 5 2. <_> <_> 4 21 20 3 -1. <_> 4 22 20 1 3. <_> <_> 9 12 6 12 -1. <_> 9 12 3 6 2. <_> 12 18 3 6 2. <_> <_> 4 6 18 3 -1. <_> 4 7 18 1 3. <_> <_> 3 6 18 3 -1. <_> 3 7 18 1 3. <_> <_> 18 4 6 9 -1. <_> 18 7 6 3 3. <_> <_> 2 12 9 6 -1. <_> 2 14 9 2 3. <_> <_> 4 14 18 4 -1. <_> 13 14 9 2 2. <_> 4 16 9 2 2. <_> <_> 7 7 6 14 -1. <_> 7 7 3 7 2. <_> 10 14 3 7 2. <_> <_> 7 13 12 6 -1. <_> 13 13 6 3 2. <_> 7 16 6 3 2. <_> <_> 6 7 12 9 -1. <_> 10 7 4 9 3. <_> <_> 12 12 6 6 -1. <_> 12 12 3 6 2. <_> <_> 0 2 4 10 -1. <_> 0 7 4 5 2. <_> <_> 8 0 9 6 -1. <_> 11 0 3 6 3. <_> <_> 2 9 12 6 -1. <_> 2 12 12 3 2. <_> <_> 13 10 6 9 -1. <_> 13 13 6 3 3. <_> <_> 5 10 6 9 -1. <_> 5 13 6 3 3. <_> <_> 9 15 9 6 -1. <_> 9 17 9 2 3. <_> <_> 5 16 12 6 -1. <_> 5 19 12 3 2. <_> <_> 3 2 20 3 -1. <_> 3 3 20 1 3. <_> <_> 2 5 12 6 -1. <_> 6 5 4 6 3. <_> <_> 11 0 3 24 -1. <_> 12 0 1 24 3. <_> <_> 3 16 15 4 -1. <_> 8 16 5 4 3. <_> <_> 9 12 6 12 -1. <_> 9 18 6 6 2. <_> <_> 1 15 12 8 -1. <_> 1 15 6 4 2. <_> 7 19 6 4 2. <_> <_> 15 10 8 14 -1. <_> 19 10 4 7 2. <_> 15 17 4 7 2. <_> <_> 1 9 8 14 -1. <_> 1 9 4 7 2. <_> 5 16 4 7 2. <_> <_> 9 11 9 10 -1. <_> 9 16 9 5 2. <_> <_> 6 7 12 6 -1. <_> 6 9 12 2 3. <_> <_> 10 15 6 9 -1. <_> 12 15 2 9 3. <_> <_> 7 8 9 7 -1. <_> 10 8 3 7 3. <_> <_> 10 4 8 10 -1. <_> 14 4 4 5 2. <_> 10 9 4 5 2. <_> <_> 4 6 6 9 -1. <_> 4 9 6 3 3. <_> <_> 0 6 24 12 -1. <_> 8 6 8 12 3. <_> <_> 3 7 6 14 -1. <_> 6 7 3 14 2. <_> <_> 19 8 5 8 -1. <_> 19 12 5 4 2. <_> <_> 0 8 5 8 -1. <_> 0 12 5 4 2. <_> <_> 17 3 6 6 -1. <_> 17 6 6 3 2. <_> <_> 1 3 6 6 -1. <_> 1 6 6 3 2. <_> <_> 18 2 6 9 -1. <_> 18 5 6 3 3. <_> <_> 0 2 6 9 -1. <_> 0 5 6 3 3. <_> <_> 3 3 18 6 -1. <_> 3 5 18 2 3. <_> <_> 2 3 9 6 -1. <_> 2 5 9 2 3. <_> <_> 9 3 10 8 -1. <_> 14 3 5 4 2. <_> 9 7 5 4 2. <_> <_> 5 3 10 8 -1. <_> 5 3 5 4 2. <_> 10 7 5 4 2. <_> <_> 10 11 6 12 -1. <_> 10 11 3 12 2. <_> <_> 8 11 6 11 -1. <_> 11 11 3 11 2. <_> <_> 7 8 10 4 -1. <_> 7 8 5 4 2. <_> <_> 9 6 6 7 -1. <_> 12 6 3 7 2. <_> <_> 5 18 18 3 -1. <_> 5 19 18 1 3. <_> <_> 8 4 6 9 -1. <_> 10 4 2 9 3. <_> <_> 8 1 9 7 -1. <_> 11 1 3 7 3. <_> <_> 6 11 6 6 -1. <_> 9 11 3 6 2. <_> <_> 14 12 4 11 -1. <_> 14 12 2 11 2. <_> <_> 6 12 4 11 -1. <_> 8 12 2 11 2. <_> <_> 8 0 12 18 -1. <_> 12 0 4 18 3. <_> <_> 2 12 10 5 -1. <_> 7 12 5 5 2. <_> <_> 2 20 22 3 -1. <_> 2 21 22 1 3. <_> <_> 0 4 2 20 -1. <_> 1 4 1 20 2. <_> <_> 0 2 24 4 -1. <_> 8 2 8 4 3. <_> <_> 7 8 10 4 -1. <_> 7 10 10 2 2. <_> <_> 6 7 8 10 -1. <_> 6 7 4 5 2. <_> 10 12 4 5 2. <_> <_> 14 0 6 14 -1. <_> 17 0 3 7 2. <_> 14 7 3 7 2. <_> <_> 4 11 5 8 -1. <_> 4 15 5 4 2. <_> <_> 2 0 20 9 -1. <_> 2 3 20 3 3. <_> <_> 6 7 12 8 -1. <_> 6 7 6 4 2. <_> 12 11 6 4 2. <_> <_> 9 17 6 6 -1. <_> 9 20 6 3 2. <_> <_> 7 10 10 4 -1. <_> 7 12 10 2 2. <_> <_> 6 5 12 9 -1. <_> 10 5 4 9 3. <_> <_> 5 11 6 8 -1. <_> 8 11 3 8 2. <_> <_> 18 4 4 17 -1. <_> 18 4 2 17 2. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 18 4 4 17 -1. <_> 18 4 2 17 2. <_> <_> 2 4 4 17 -1. <_> 4 4 2 17 2. <_> <_> 5 18 19 3 -1. <_> 5 19 19 1 3. <_> <_> 11 0 2 18 -1. <_> 11 9 2 9 2. <_> <_> 15 4 2 18 -1. <_> 15 13 2 9 2. <_> <_> 7 4 2 18 -1. <_> 7 13 2 9 2. <_> <_> 7 11 10 8 -1. <_> 12 11 5 4 2. <_> 7 15 5 4 2. <_> <_> 10 6 4 9 -1. <_> 12 6 2 9 2. <_> <_> 10 0 6 9 -1. <_> 12 0 2 9 3. <_> <_> 2 9 16 8 -1. <_> 2 9 8 4 2. <_> 10 13 8 4 2. <_> <_> 14 15 6 9 -1. <_> 14 18 6 3 3. <_> <_> 8 7 6 9 -1. <_> 10 7 2 9 3. <_> <_> 14 15 6 9 -1. <_> 14 18 6 3 3. <_> <_> 3 12 12 6 -1. <_> 3 14 12 2 3. <_> <_> 14 12 9 6 -1. <_> 14 14 9 2 3. <_> <_> 1 12 9 6 -1. <_> 1 14 9 2 3. <_> <_> 3 7 18 3 -1. <_> 3 8 18 1 3. <_> <_> 1 7 22 6 -1. <_> 1 9 22 2 3. <_> <_> 18 4 6 6 -1. <_> 18 7 6 3 2. <_> <_> 0 4 6 6 -1. <_> 0 7 6 3 2. <_> <_> 5 11 16 6 -1. <_> 5 14 16 3 2. <_> <_> 6 16 9 4 -1. <_> 6 18 9 2 2. <_> <_> 14 15 6 9 -1. <_> 14 18 6 3 3. <_> <_> 4 15 6 9 -1. <_> 4 18 6 3 3. <_> <_> 15 1 6 23 -1. <_> 17 1 2 23 3. <_> <_> 0 21 24 3 -1. <_> 8 21 8 3 3. <_> <_> 0 20 24 4 -1. <_> 8 20 8 4 3. <_> <_> 3 1 6 23 -1. <_> 5 1 2 23 3. <_> <_> 3 17 18 3 -1. <_> 3 18 18 1 3. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 1 16 22 4 -1. <_> 12 16 11 2 2. <_> 1 18 11 2 2. <_> <_> 0 16 9 6 -1. <_> 0 18 9 2 3. <_> <_> 2 10 21 3 -1. <_> 9 10 7 3 3. <_> <_> 2 18 12 6 -1. <_> 2 18 6 3 2. <_> 8 21 6 3 2. <_> <_> 0 5 24 4 -1. <_> 0 7 24 2 2. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 10 7 6 12 -1. <_> 10 13 6 6 2. <_> <_> 6 6 6 9 -1. <_> 8 6 2 9 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 9 7 6 9 -1. <_> 11 7 2 9 3. <_> <_> 2 1 20 3 -1. <_> 2 2 20 1 3. <_> <_> 1 18 12 6 -1. <_> 1 18 6 3 2. <_> 7 21 6 3 2. <_> <_> 13 2 4 13 -1. <_> 13 2 2 13 2. <_> <_> 6 7 12 4 -1. <_> 12 7 6 4 2. <_> <_> 10 1 4 13 -1. <_> 10 1 2 13 2. <_> <_> 6 0 3 18 -1. <_> 7 0 1 18 3. <_> <_> 14 3 10 5 -1. <_> 14 3 5 5 2. <_> <_> 6 15 12 8 -1. <_> 10 15 4 8 3. <_> <_> 9 10 6 9 -1. <_> 11 10 2 9 3. <_> <_> 8 3 4 9 -1. <_> 10 3 2 9 2. <_> <_> 17 0 6 14 -1. <_> 20 0 3 7 2. <_> 17 7 3 7 2. <_> <_> 1 0 6 14 -1. <_> 1 0 3 7 2. <_> 4 7 3 7 2. <_> <_> 14 0 6 16 -1. <_> 17 0 3 8 2. <_> 14 8 3 8 2. <_> <_> 7 4 4 10 -1. <_> 9 4 2 10 2. <_> <_> 3 17 18 6 -1. <_> 12 17 9 3 2. <_> 3 20 9 3 2. <_> <_> 1 20 22 4 -1. <_> 12 20 11 4 2. <_> <_> 14 3 10 5 -1. <_> 14 3 5 5 2. <_> <_> 0 3 10 5 -1. <_> 5 3 5 5 2. <_> <_> 12 6 12 16 -1. <_> 16 6 4 16 3. <_> <_> 0 6 12 16 -1. <_> 4 6 4 16 3. <_> <_> 10 9 5 15 -1. <_> 10 14 5 5 3. <_> <_> 1 18 21 2 -1. <_> 1 19 21 1 2. <_> <_> 15 0 9 6 -1. <_> 15 2 9 2 3. <_> <_> 6 1 12 4 -1. <_> 12 1 6 4 2. <_> <_> 6 0 12 12 -1. <_> 12 0 6 6 2. <_> 6 6 6 6 2. <_> <_> 8 10 8 12 -1. <_> 8 10 4 6 2. <_> 12 16 4 6 2. <_> <_> 14 16 10 8 -1. <_> 19 16 5 4 2. <_> 14 20 5 4 2. <_> <_> 0 16 10 8 -1. <_> 0 16 5 4 2. <_> 5 20 5 4 2. <_> <_> 10 12 12 5 -1. <_> 14 12 4 5 3. <_> <_> 6 16 10 8 -1. <_> 6 16 5 4 2. <_> 11 20 5 4 2. <_> <_> 7 6 12 6 -1. <_> 13 6 6 3 2. <_> 7 9 6 3 2. <_> <_> 9 6 4 18 -1. <_> 9 6 2 9 2. <_> 11 15 2 9 2. <_> <_> 10 9 6 14 -1. <_> 13 9 3 7 2. <_> 10 16 3 7 2. <_> <_> 8 9 6 14 -1. <_> 8 9 3 7 2. <_> 11 16 3 7 2. <_> <_> 7 4 11 12 -1. <_> 7 10 11 6 2. <_> <_> 4 8 6 16 -1. <_> 4 8 3 8 2. <_> 7 16 3 8 2. <_> <_> 17 3 4 21 -1. <_> 17 10 4 7 3. <_> <_> 3 3 4 21 -1. <_> 3 10 4 7 3. <_> <_> 10 1 8 18 -1. <_> 14 1 4 9 2. <_> 10 10 4 9 2. <_> <_> 2 5 16 8 -1. <_> 2 5 8 4 2. <_> 10 9 8 4 2. <_> <_> 3 6 18 12 -1. <_> 3 10 18 4 3. <_> <_> 4 10 16 12 -1. <_> 4 14 16 4 3. <_> <_> 15 4 8 20 -1. <_> 19 4 4 10 2. <_> 15 14 4 10 2. <_> <_> 7 2 9 6 -1. <_> 10 2 3 6 3. <_> <_> 15 4 8 20 -1. <_> 19 4 4 10 2. <_> 15 14 4 10 2. <_> <_> 1 4 8 20 -1. <_> 1 4 4 10 2. <_> 5 14 4 10 2. <_> <_> 11 8 8 14 -1. <_> 15 8 4 7 2. <_> 11 15 4 7 2. <_> <_> 5 8 8 14 -1. <_> 5 8 4 7 2. <_> 9 15 4 7 2. <_> <_> 10 13 5 8 -1. <_> 10 17 5 4 2. <_> <_> 4 13 7 9 -1. <_> 4 16 7 3 3. <_> <_> 0 13 24 10 -1. <_> 0 18 24 5 2. <_> <_> 4 2 8 11 -1. <_> 8 2 4 11 2. <_> <_> 10 2 8 16 -1. <_> 14 2 4 8 2. <_> 10 10 4 8 2. <_> <_> 0 2 24 6 -1. <_> 0 2 12 3 2. <_> 12 5 12 3 2. <_> <_> 6 0 12 9 -1. <_> 6 3 12 3 3. <_> <_> 1 2 12 12 -1. <_> 1 2 6 6 2. <_> 7 8 6 6 2. <_> <_> 18 5 6 9 -1. <_> 18 8 6 3 3. <_> <_> 4 3 8 10 -1. <_> 4 3 4 5 2. <_> 8 8 4 5 2. <_> <_> 6 21 18 3 -1. <_> 6 22 18 1 3. <_> <_> 1 10 18 2 -1. <_> 1 11 18 1 2. <_> <_> 1 10 22 3 -1. <_> 1 11 22 1 3. <_> <_> 2 8 12 9 -1. <_> 2 11 12 3 3. <_> <_> 12 8 12 6 -1. <_> 18 8 6 3 2. <_> 12 11 6 3 2. <_> <_> 0 8 12 6 -1. <_> 0 8 6 3 2. <_> 6 11 6 3 2. <_> <_> 10 15 6 9 -1. <_> 12 15 2 9 3. <_> <_> 7 13 9 6 -1. <_> 7 15 9 2 3. <_> <_> 9 8 7 12 -1. <_> 9 14 7 6 2. <_> <_> 4 13 9 6 -1. <_> 7 13 3 6 3. <_> <_> 6 15 18 4 -1. <_> 12 15 6 4 3. <_> <_> 5 4 4 16 -1. <_> 7 4 2 16 2. <_> <_> 10 15 6 9 -1. <_> 12 15 2 9 3. <_> <_> 8 15 6 9 -1. <_> 10 15 2 9 3. <_> <_> 9 11 12 10 -1. <_> 15 11 6 5 2. <_> 9 16 6 5 2. <_> <_> 3 6 14 6 -1. <_> 3 8 14 2 3. <_> <_> 4 2 17 8 -1. <_> 4 6 17 4 2. <_> <_> 6 2 12 21 -1. <_> 6 9 12 7 3. <_> <_> 8 1 9 9 -1. <_> 8 4 9 3 3. <_> <_> 0 7 24 3 -1. <_> 12 7 12 3 2. <_> <_> 11 6 9 10 -1. <_> 11 11 9 5 2. <_> <_> 2 11 18 3 -1. <_> 2 12 18 1 3. <_> <_> 8 16 9 4 -1. <_> 8 18 9 2 2. <_> <_> 0 0 9 6 -1. <_> 0 2 9 2 3. <_> <_> 0 11 24 6 -1. <_> 0 13 24 2 3. <_> <_> 2 9 20 6 -1. <_> 2 12 20 3 2. <_> <_> 4 5 16 12 -1. <_> 12 5 8 6 2. <_> 4 11 8 6 2. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 7 3 10 4 -1. <_> 7 5 10 2 2. <_> <_> 9 15 6 8 -1. <_> 9 19 6 4 2. <_> <_> 17 0 7 10 -1. <_> 17 5 7 5 2. <_> <_> 0 0 7 10 -1. <_> 0 5 7 5 2. <_> <_> 16 1 6 12 -1. <_> 19 1 3 6 2. <_> 16 7 3 6 2. <_> <_> 1 0 19 8 -1. <_> 1 4 19 4 2. <_> <_> 12 2 9 4 -1. <_> 12 4 9 2 2. <_> <_> 3 2 9 4 -1. <_> 3 4 9 2 2. <_> <_> 12 2 10 6 -1. <_> 12 4 10 2 3. <_> <_> 3 4 18 2 -1. <_> 12 4 9 2 2. <_> <_> 12 1 4 9 -1. <_> 12 1 2 9 2. <_> <_> 8 1 4 9 -1. <_> 10 1 2 9 2. <_> <_> 10 5 8 10 -1. <_> 14 5 4 5 2. <_> 10 10 4 5 2. <_> <_> 6 4 12 13 -1. <_> 10 4 4 13 3. <_> <_> 13 5 6 6 -1. <_> 13 5 3 6 2. <_> <_> 1 5 12 3 -1. <_> 7 5 6 3 2. <_> <_> 7 5 10 6 -1. <_> 7 7 10 2 3. <_> <_> 2 0 21 5 -1. <_> 9 0 7 5 3. <_> <_> 0 8 9 9 -1. <_> 0 11 9 3 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 0 3 6 7 -1. <_> 3 3 3 7 2. <_> <_> 9 18 12 6 -1. <_> 15 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 2 8 20 6 -1. <_> 2 8 10 3 2. <_> 12 11 10 3 2. <_> <_> 13 2 10 4 -1. <_> 13 4 10 2 2. <_> <_> 4 5 5 18 -1. <_> 4 11 5 6 3. <_> <_> 20 4 4 9 -1. <_> 20 4 2 9 2. <_> <_> 8 6 8 14 -1. <_> 8 13 8 7 2. <_> <_> 0 1 24 6 -1. <_> 12 1 12 3 2. <_> 0 4 12 3 2. <_> <_> 0 4 4 9 -1. <_> 2 4 2 9 2. <_> <_> 3 6 18 3 -1. <_> 3 7 18 1 3. <_> <_> 3 17 16 6 -1. <_> 3 19 16 2 3. <_> <_> 13 6 6 9 -1. <_> 13 9 6 3 3. <_> <_> 5 6 14 6 -1. <_> 5 6 7 3 2. <_> 12 9 7 3 2. <_> <_> 13 5 8 10 -1. <_> 17 5 4 5 2. <_> 13 10 4 5 2. <_> <_> 2 2 20 3 -1. <_> 2 3 20 1 3. <_> <_> 9 2 9 6 -1. <_> 12 2 3 6 3. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 12 3 4 11 -1. <_> 12 3 2 11 2. <_> <_> 8 3 4 11 -1. <_> 10 3 2 11 2. <_> <_> 8 3 8 10 -1. <_> 12 3 4 5 2. <_> 8 8 4 5 2. <_> <_> 11 1 2 18 -1. <_> 12 1 1 18 2. <_> <_> 9 2 9 6 -1. <_> 12 2 3 6 3. <_> <_> 0 2 19 3 -1. <_> 0 3 19 1 3. <_> <_> 9 14 9 6 -1. <_> 9 16 9 2 3. <_> <_> 1 8 18 5 -1. <_> 7 8 6 5 3. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 13 6 4 15 -1. <_> 13 11 4 5 3. <_> <_> 1 5 18 3 -1. <_> 1 6 18 1 3. <_> <_> 9 7 14 6 -1. <_> 9 9 14 2 3. <_> <_> 2 16 18 3 -1. <_> 2 17 18 1 3. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 0 8 12 6 -1. <_> 0 8 6 3 2. <_> 6 11 6 3 2. <_> <_> 9 13 7 8 -1. <_> 9 17 7 4 2. <_> <_> 2 17 20 3 -1. <_> 2 18 20 1 3. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 4 0 15 4 -1. <_> 4 2 15 2 2. <_> <_> 17 2 6 6 -1. <_> 17 5 6 3 2. <_> <_> 0 3 6 9 -1. <_> 0 6 6 3 3. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 0 17 9 6 -1. <_> 0 19 9 2 3. <_> <_> 9 18 12 6 -1. <_> 15 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 3 15 6 9 -1. <_> 3 18 6 3 3. <_> <_> 16 13 8 10 -1. <_> 20 13 4 5 2. <_> 16 18 4 5 2. <_> <_> 0 14 24 4 -1. <_> 8 14 8 4 3. <_> <_> 13 18 6 6 -1. <_> 13 18 3 6 2. <_> <_> 0 13 8 10 -1. <_> 0 13 4 5 2. <_> 4 18 4 5 2. <_> <_> 0 14 24 6 -1. <_> 0 17 24 3 2. <_> <_> 5 2 12 8 -1. <_> 5 2 6 4 2. <_> 11 6 6 4 2. <_> <_> 8 9 9 6 -1. <_> 11 9 3 6 3. <_> <_> 4 3 16 4 -1. <_> 4 5 16 2 2. <_> <_> 10 2 4 10 -1. <_> 10 7 4 5 2. <_> <_> 8 4 5 8 -1. <_> 8 8 5 4 2. <_> <_> 11 5 9 12 -1. <_> 11 9 9 4 3. <_> <_> 4 5 9 12 -1. <_> 4 9 9 4 3. <_> <_> 14 6 6 9 -1. <_> 14 9 6 3 3. <_> <_> 2 4 20 12 -1. <_> 2 8 20 4 3. <_> <_> 4 4 17 16 -1. <_> 4 12 17 8 2. <_> <_> 8 7 7 6 -1. <_> 8 10 7 3 2. <_> <_> 1 9 23 2 -1. <_> 1 10 23 1 2. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 13 3 4 9 -1. <_> 13 3 2 9 2. <_> <_> 8 1 6 13 -1. <_> 10 1 2 13 3. <_> <_> 4 22 18 2 -1. <_> 4 23 18 1 2. <_> <_> 3 10 9 6 -1. <_> 6 10 3 6 3. <_> <_> 14 0 2 24 -1. <_> 14 0 1 24 2. <_> <_> 8 0 2 24 -1. <_> 9 0 1 24 2. <_> <_> 3 2 18 10 -1. <_> 9 2 6 10 3. <_> <_> 4 13 15 6 -1. <_> 9 13 5 6 3. <_> <_> 3 21 18 3 -1. <_> 9 21 6 3 3. <_> <_> 9 1 4 11 -1. <_> 11 1 2 11 2. <_> <_> 9 7 10 4 -1. <_> 9 7 5 4 2. <_> <_> 7 0 10 18 -1. <_> 12 0 5 18 2. <_> <_> 12 1 6 16 -1. <_> 14 1 2 16 3. <_> <_> 6 1 6 16 -1. <_> 8 1 2 16 3. <_> <_> 18 2 6 6 -1. <_> 18 5 6 3 2. <_> <_> 3 5 18 2 -1. <_> 3 6 18 1 2. <_> <_> 18 2 6 6 -1. <_> 18 5 6 3 2. <_> <_> 0 2 6 6 -1. <_> 0 5 6 3 2. <_> <_> 13 11 11 6 -1. <_> 13 13 11 2 3. <_> <_> 5 7 10 4 -1. <_> 10 7 5 4 2. <_> <_> 11 9 10 7 -1. <_> 11 9 5 7 2. <_> <_> 3 9 10 7 -1. <_> 8 9 5 7 2. <_> <_> 16 4 6 6 -1. <_> 16 4 3 6 2. <_> <_> 5 6 10 8 -1. <_> 5 6 5 4 2. <_> 10 10 5 4 2. <_> <_> 7 21 16 3 -1. <_> 7 21 8 3 2. <_> <_> 1 21 16 3 -1. <_> 9 21 8 3 2. <_> <_> 2 5 22 14 -1. <_> 13 5 11 7 2. <_> 2 12 11 7 2. <_> <_> 3 10 8 10 -1. <_> 3 10 4 5 2. <_> 7 15 4 5 2. <_> <_> 17 0 6 12 -1. <_> 20 0 3 6 2. <_> 17 6 3 6 2. <_> <_> 5 2 6 18 -1. <_> 7 2 2 18 3. <_> <_> 13 0 6 9 -1. <_> 15 0 2 9 3. <_> <_> 0 12 7 9 -1. <_> 0 15 7 3 3. <_> <_> 15 13 8 10 -1. <_> 19 13 4 5 2. <_> 15 18 4 5 2. <_> <_> 1 0 6 12 -1. <_> 1 0 3 6 2. <_> 4 6 3 6 2. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 1 13 8 10 -1. <_> 1 13 4 5 2. <_> 5 18 4 5 2. <_> <_> 3 21 19 2 -1. <_> 3 22 19 1 2. <_> <_> 6 3 4 13 -1. <_> 8 3 2 13 2. <_> <_> 5 10 18 3 -1. <_> 5 11 18 1 3. <_> <_> 9 3 5 12 -1. <_> 9 7 5 4 3. <_> <_> 11 2 4 15 -1. <_> 11 7 4 5 3. <_> <_> 4 1 16 4 -1. <_> 4 3 16 2 2. <_> <_> 6 0 18 3 -1. <_> 6 1 18 1 3. <_> <_> 5 1 10 8 -1. <_> 5 1 5 4 2. <_> 10 5 5 4 2. <_> <_> 11 18 12 6 -1. <_> 17 18 6 3 2. <_> 11 21 6 3 2. <_> <_> 5 15 12 3 -1. <_> 11 15 6 3 2. <_> <_> 1 10 22 4 -1. <_> 1 10 11 4 2. <_> <_> 7 9 9 6 -1. <_> 10 9 3 6 3. <_> <_> 6 11 12 5 -1. <_> 10 11 4 5 3. <_> <_> 6 7 10 7 -1. <_> 11 7 5 7 2. <_> <_> 11 2 8 10 -1. <_> 11 2 4 10 2. <_> <_> 5 2 8 10 -1. <_> 9 2 4 10 2. <_> <_> 6 4 18 6 -1. <_> 15 4 9 3 2. <_> 6 7 9 3 2. <_> <_> 0 5 10 9 -1. <_> 0 8 10 3 3. <_> <_> 2 7 21 6 -1. <_> 2 9 21 2 3. <_> <_> 0 4 22 16 -1. <_> 0 4 11 8 2. <_> 11 12 11 8 2. <_> <_> 9 0 6 22 -1. <_> 9 11 6 11 2. <_> <_> 9 1 3 12 -1. <_> 9 7 3 6 2. <_> <_> 12 0 12 18 -1. <_> 18 0 6 9 2. <_> 12 9 6 9 2. <_> <_> 0 0 12 18 -1. <_> 0 0 6 9 2. <_> 6 9 6 9 2. <_> <_> 1 1 22 4 -1. <_> 12 1 11 2 2. <_> 1 3 11 2 2. <_> <_> 3 0 18 4 -1. <_> 3 2 18 2 2. <_> <_> 2 5 22 6 -1. <_> 2 7 22 2 3. <_> <_> 5 0 6 9 -1. <_> 5 3 6 3 3. <_> <_> 10 14 6 9 -1. <_> 12 14 2 9 3. <_> <_> 8 14 6 9 -1. <_> 10 14 2 9 3. <_> <_> 5 18 18 3 -1. <_> 5 19 18 1 3. <_> <_> 6 0 6 13 -1. <_> 9 0 3 13 2. <_> <_> 7 4 12 4 -1. <_> 7 4 6 4 2. <_> <_> 5 2 12 6 -1. <_> 9 2 4 6 3. <_> <_> 4 1 18 3 -1. <_> 4 2 18 1 3. <_> <_> 0 8 6 12 -1. <_> 0 12 6 4 3. <_> <_> 9 15 6 9 -1. <_> 11 15 2 9 3. <_> <_> 9 10 6 13 -1. <_> 11 10 2 13 3. <_> <_> 6 17 18 2 -1. <_> 6 18 18 1 2. <_> <_> 9 4 6 9 -1. <_> 11 4 2 9 3. <_> <_> 10 0 6 9 -1. <_> 12 0 2 9 3. <_> <_> 5 6 10 8 -1. <_> 5 6 5 4 2. <_> 10 10 5 4 2. <_> <_> 14 9 5 8 -1. <_> 14 13 5 4 2. <_> <_> 5 9 5 8 -1. <_> 5 13 5 4 2. <_> <_> 14 11 9 6 -1. <_> 14 13 9 2 3. <_> <_> 0 2 23 15 -1. <_> 0 7 23 5 3. <_> <_> 16 0 8 12 -1. <_> 16 6 8 6 2. <_> <_> 4 15 6 9 -1. <_> 4 18 6 3 3. <_> <_> 8 18 9 4 -1. <_> 8 20 9 2 2. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 13 11 11 6 -1. <_> 13 13 11 2 3. <_> <_> 0 11 11 6 -1. <_> 0 13 11 2 3. <_> <_> 0 9 24 6 -1. <_> 12 9 12 3 2. <_> 0 12 12 3 2. <_> <_> 6 16 8 8 -1. <_> 6 20 8 4 2. <_> <_> 10 16 14 6 -1. <_> 10 18 14 2 3. <_> <_> 1 1 21 3 -1. <_> 1 2 21 1 3. <_> <_> 0 2 24 3 -1. <_> 0 2 12 3 2. <_> <_> 2 15 8 5 -1. <_> 6 15 4 5 2. <_> <_> 2 11 21 3 -1. <_> 9 11 7 3 3. <_> <_> 1 18 12 6 -1. <_> 1 18 6 3 2. <_> 7 21 6 3 2. <_> <_> 10 14 4 10 -1. <_> 10 19 4 5 2. <_> <_> 7 7 4 10 -1. <_> 7 12 4 5 2. <_> <_> 9 8 6 12 -1. <_> 9 12 6 4 3. <_> <_> 7 1 9 6 -1. <_> 10 1 3 6 3. <_> <_> 3 14 19 2 -1. <_> 3 15 19 1 2. <_> <_> 7 7 10 10 -1. <_> 7 7 5 5 2. <_> 12 12 5 5 2. <_> <_> 3 12 18 12 -1. <_> 3 12 9 12 2. <_> <_> 8 0 6 12 -1. <_> 10 0 2 12 3. <_> <_> 3 0 17 9 -1. <_> 3 3 17 3 3. <_> <_> 6 0 12 11 -1. <_> 10 0 4 11 3. <_> <_> 1 0 6 13 -1. <_> 4 0 3 13 2. <_> <_> 5 8 16 6 -1. <_> 5 11 16 3 2. <_> <_> 8 8 5 12 -1. <_> 8 14 5 6 2. <_> <_> 3 21 18 3 -1. <_> 9 21 6 3 3. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 2 0 20 3 -1. <_> 2 1 20 1 3. <_> <_> 4 6 15 10 -1. <_> 9 6 5 10 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 7 16 9 6 -1. <_> 7 18 9 2 3. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 4 0 6 9 -1. <_> 6 0 2 9 3. <_> <_> 17 1 6 16 -1. <_> 19 1 2 16 3. <_> <_> 1 1 6 16 -1. <_> 3 1 2 16 3. <_> <_> 14 13 6 9 -1. <_> 14 16 6 3 3. <_> <_> 0 0 6 9 -1. <_> 0 3 6 3 3. <_> <_> 9 5 6 6 -1. <_> 9 5 3 6 2. <_> <_> 3 10 9 6 -1. <_> 6 10 3 6 3. <_> <_> 14 7 3 16 -1. <_> 14 15 3 8 2. <_> <_> 4 10 14 12 -1. <_> 4 10 7 6 2. <_> 11 16 7 6 2. <_> <_> 7 6 12 6 -1. <_> 7 8 12 2 3. <_> <_> 7 2 4 20 -1. <_> 9 2 2 20 2. <_> <_> 14 13 6 9 -1. <_> 14 16 6 3 3. <_> <_> 10 6 4 9 -1. <_> 12 6 2 9 2. <_> <_> 14 13 6 9 -1. <_> 14 16 6 3 3. <_> <_> 5 20 14 4 -1. <_> 5 22 14 2 2. <_> <_> 4 4 16 12 -1. <_> 4 10 16 6 2. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 3 0 21 4 -1. <_> 3 2 21 2 2. <_> <_> 4 13 6 9 -1. <_> 4 16 6 3 3. <_> <_> 16 16 5 8 -1. <_> 16 20 5 4 2. <_> <_> 4 0 16 16 -1. <_> 4 0 8 8 2. <_> 12 8 8 8 2. <_> <_> 6 6 14 6 -1. <_> 13 6 7 3 2. <_> 6 9 7 3 2. <_> <_> 10 5 4 15 -1. <_> 10 10 4 5 3. <_> <_> 9 15 12 8 -1. <_> 15 15 6 4 2. <_> 9 19 6 4 2. <_> <_> 6 7 12 4 -1. <_> 12 7 6 4 2. <_> <_> 5 6 14 6 -1. <_> 12 6 7 3 2. <_> 5 9 7 3 2. <_> <_> 3 6 18 10 -1. <_> 3 6 9 5 2. <_> 12 11 9 5 2. <_> <_> 6 0 18 21 -1. <_> 12 0 6 21 3. <_> <_> 0 0 24 21 -1. <_> 8 0 8 21 3. <_> <_> 6 18 18 3 -1. <_> 6 19 18 1 3. <_> <_> 0 15 9 6 -1. <_> 0 17 9 2 3. <_> <_> 4 3 19 2 -1. <_> 4 4 19 1 2. <_> <_> 0 3 24 2 -1. <_> 0 4 24 1 2. <_> <_> 15 14 9 4 -1. <_> 15 16 9 2 2. <_> <_> 0 14 9 4 -1. <_> 0 16 9 2 2. <_> <_> 6 15 18 2 -1. <_> 6 16 18 1 2. <_> <_> 3 17 18 3 -1. <_> 3 18 18 1 3. <_> <_> 12 0 3 23 -1. <_> 13 0 1 23 3. <_> <_> 6 0 8 6 -1. <_> 6 3 8 3 2. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 9 0 3 23 -1. <_> 10 0 1 23 3. <_> <_> 10 7 4 10 -1. <_> 10 12 4 5 2. <_> <_> 7 8 10 12 -1. <_> 7 12 10 4 3. <_> <_> 14 9 6 14 -1. <_> 17 9 3 7 2. <_> 14 16 3 7 2. <_> <_> 2 0 10 9 -1. <_> 2 3 10 3 3. <_> <_> 11 1 5 12 -1. <_> 11 7 5 6 2. <_> <_> 1 4 12 10 -1. <_> 1 4 6 5 2. <_> 7 9 6 5 2. <_> <_> 15 1 9 4 -1. <_> 15 3 9 2 2. <_> <_> 1 2 8 10 -1. <_> 1 2 4 5 2. <_> 5 7 4 5 2. <_> <_> 10 1 5 12 -1. <_> 10 5 5 4 3. <_> <_> 4 0 14 24 -1. <_> 11 0 7 24 2. <_> <_> 7 17 10 4 -1. <_> 7 19 10 2 2. <_> <_> 10 14 4 10 -1. <_> 10 19 4 5 2. <_> <_> 13 15 6 9 -1. <_> 15 15 2 9 3. <_> <_> 3 21 18 3 -1. <_> 3 22 18 1 3. <_> <_> 13 15 6 9 -1. <_> 15 15 2 9 3. <_> <_> 5 15 6 9 -1. <_> 7 15 2 9 3. <_> <_> 10 6 4 18 -1. <_> 12 6 2 9 2. <_> 10 15 2 9 2. <_> <_> 7 3 6 11 -1. <_> 9 3 2 11 3. <_> <_> 15 1 9 4 -1. <_> 15 3 9 2 2. <_> <_> 5 4 14 8 -1. <_> 5 8 14 4 2. <_> <_> 8 1 15 9 -1. <_> 8 4 15 3 3. <_> <_> 7 2 8 10 -1. <_> 7 2 4 5 2. <_> 11 7 4 5 2. <_> <_> 12 2 6 12 -1. <_> 12 2 3 12 2. <_> <_> 6 2 6 12 -1. <_> 9 2 3 12 2. <_> <_> 7 7 12 4 -1. <_> 7 7 6 4 2. <_> <_> 6 3 12 10 -1. <_> 10 3 4 10 3. <_> <_> 5 6 16 6 -1. <_> 13 6 8 3 2. <_> 5 9 8 3 2. <_> <_> 3 1 18 9 -1. <_> 9 1 6 9 3. <_> <_> 3 8 18 5 -1. <_> 9 8 6 5 3. <_> <_> 0 0 24 22 -1. <_> 0 0 12 11 2. <_> 12 11 12 11 2. <_> <_> 14 16 9 6 -1. <_> 14 18 9 2 3. <_> <_> 0 16 24 8 -1. <_> 0 20 24 4 2. <_> <_> 1 19 22 4 -1. <_> 12 19 11 2 2. <_> 1 21 11 2 2. <_> <_> 1 16 9 6 -1. <_> 1 18 9 2 3. <_> <_> 7 8 10 4 -1. <_> 7 8 5 4 2. <_> <_> 9 15 6 9 -1. <_> 11 15 2 9 3. <_> <_> 10 18 12 6 -1. <_> 16 18 6 3 2. <_> 10 21 6 3 2. <_> <_> 2 18 12 6 -1. <_> 2 18 6 3 2. <_> 8 21 6 3 2. <_> <_> 8 3 16 9 -1. <_> 8 6 16 3 3. <_> <_> 0 5 10 6 -1. <_> 0 7 10 2 3. <_> <_> 5 5 18 3 -1. <_> 5 6 18 1 3. <_> <_> 2 6 9 6 -1. <_> 2 9 9 3 2. <_> <_> 14 2 10 9 -1. <_> 14 5 10 3 3. <_> <_> 3 6 18 3 -1. <_> 3 7 18 1 3. <_> <_> 9 2 15 6 -1. <_> 9 4 15 2 3. <_> <_> 4 8 15 6 -1. <_> 4 10 15 2 3. <_> <_> 0 5 24 4 -1. <_> 12 5 12 2 2. <_> 0 7 12 2 2. <_> <_> 7 8 6 12 -1. <_> 9 8 2 12 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 0 12 6 12 -1. <_> 0 12 3 6 2. <_> 3 18 3 6 2. <_> <_> 14 12 10 6 -1. <_> 14 14 10 2 3. <_> <_> 2 7 18 9 -1. <_> 2 10 18 3 3. <_> <_> 11 14 10 9 -1. <_> 11 17 10 3 3. <_> <_> 7 6 10 8 -1. <_> 7 6 5 4 2. <_> 12 10 5 4 2. <_> <_> 6 6 14 6 -1. <_> 13 6 7 3 2. <_> 6 9 7 3 2. <_> <_> 4 13 9 7 -1. <_> 7 13 3 7 3. <_> <_> 14 10 6 12 -1. <_> 17 10 3 6 2. <_> 14 16 3 6 2. <_> <_> 4 10 6 12 -1. <_> 4 10 3 6 2. <_> 7 16 3 6 2. <_> <_> 13 9 8 6 -1. <_> 13 9 4 6 2. <_> <_> 8 3 4 14 -1. <_> 10 3 2 14 2. <_> <_> 17 0 3 18 -1. <_> 18 0 1 18 3. <_> <_> 4 12 16 12 -1. <_> 12 12 8 12 2. <_> <_> 15 0 6 14 -1. <_> 17 0 2 14 3. <_> <_> 3 0 6 14 -1. <_> 5 0 2 14 3. <_> <_> 12 2 12 20 -1. <_> 16 2 4 20 3. <_> <_> 0 2 12 20 -1. <_> 4 2 4 20 3. <_> <_> 16 0 6 17 -1. <_> 18 0 2 17 3. <_> <_> 2 0 6 17 -1. <_> 4 0 2 17 3. <_> <_> 15 6 9 6 -1. <_> 15 8 9 2 3. <_> <_> 0 6 9 6 -1. <_> 0 8 9 2 3. <_> <_> 18 1 6 13 -1. <_> 20 1 2 13 3. <_> <_> 0 1 6 13 -1. <_> 2 1 2 13 3. <_> <_> 16 0 4 9 -1. <_> 16 0 2 9 2. <_> <_> 5 10 12 7 -1. <_> 9 10 4 7 3. <_> <_> 12 9 12 6 -1. <_> 12 11 12 2 3. <_> <_> 0 9 12 6 -1. <_> 0 11 12 2 3. <_> <_> 5 7 14 9 -1. <_> 5 10 14 3 3. <_> <_> 0 15 20 3 -1. <_> 0 16 20 1 3. <_> <_> 8 10 8 10 -1. <_> 12 10 4 5 2. <_> 8 15 4 5 2. <_> <_> 5 4 13 9 -1. <_> 5 7 13 3 3. <_> <_> 10 2 6 18 -1. <_> 10 8 6 6 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 6 9 12 4 -1. <_> 6 11 12 2 2. <_> <_> 3 2 15 12 -1. <_> 3 6 15 4 3. <_> <_> 12 0 12 5 -1. <_> 16 0 4 5 3. <_> <_> 0 15 18 3 -1. <_> 6 15 6 3 3. <_> <_> 0 14 24 5 -1. <_> 8 14 8 5 3. <_> <_> 5 1 3 18 -1. <_> 6 1 1 18 3. <_> <_> 10 0 4 14 -1. <_> 10 0 2 14 2. <_> <_> 9 3 4 9 -1. <_> 11 3 2 9 2. <_> <_> 8 2 12 6 -1. <_> 14 2 6 3 2. <_> 8 5 6 3 2. <_> <_> 0 4 17 4 -1. <_> 0 6 17 2 2. <_> <_> 16 16 5 8 -1. <_> 16 20 5 4 2. <_> <_> 3 16 5 8 -1. <_> 3 20 5 4 2. <_> <_> 6 18 18 2 -1. <_> 6 19 18 1 2. <_> <_> 0 0 12 5 -1. <_> 4 0 4 5 3. <_> <_> 14 3 6 12 -1. <_> 17 3 3 6 2. <_> 14 9 3 6 2. <_> <_> 0 12 6 12 -1. <_> 2 12 2 12 3. <_> <_> 2 3 21 3 -1. <_> 2 4 21 1 3. <_> <_> 4 3 6 12 -1. <_> 4 3 3 6 2. <_> 7 9 3 6 2. <_> <_> 12 8 12 6 -1. <_> 18 8 6 3 2. <_> 12 11 6 3 2. <_> <_> 0 15 16 9 -1. <_> 8 15 8 9 2. <_> <_> 6 13 18 5 -1. <_> 6 13 9 5 2. <_> <_> 1 6 15 6 -1. <_> 6 6 5 6 3. <_> <_> 11 9 9 6 -1. <_> 14 9 3 6 3. <_> <_> 3 0 15 11 -1. <_> 8 0 5 11 3. <_> <_> 15 3 3 18 -1. <_> 15 9 3 6 3. <_> <_> 6 3 3 18 -1. <_> 6 9 3 6 3. <_> <_> 9 5 10 8 -1. <_> 14 5 5 4 2. <_> 9 9 5 4 2. <_> <_> 4 4 16 8 -1. <_> 4 4 8 4 2. <_> 12 8 8 4 2. <_> <_> 7 7 12 3 -1. <_> 7 7 6 3 2. <_> <_> 5 0 9 13 -1. <_> 8 0 3 13 3. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 8 1 10 9 -1. <_> 8 4 10 3 3. <_> <_> 0 2 18 2 -1. <_> 0 3 18 1 2. <_> <_> 10 13 14 6 -1. <_> 17 13 7 3 2. <_> 10 16 7 3 2. <_> <_> 0 13 14 6 -1. <_> 0 13 7 3 2. <_> 7 16 7 3 2. <_> <_> 20 2 3 21 -1. <_> 21 2 1 21 3. <_> <_> 0 9 5 12 -1. <_> 0 13 5 4 3. <_> <_> 12 6 12 6 -1. <_> 12 8 12 2 3. <_> <_> 1 8 20 3 -1. <_> 1 9 20 1 3. <_> <_> 5 7 19 3 -1. <_> 5 8 19 1 3. <_> <_> 1 12 9 6 -1. <_> 1 14 9 2 3. <_> <_> 6 10 14 12 -1. <_> 6 14 14 4 3. <_> <_> 5 6 14 18 -1. <_> 5 12 14 6 3. <_> <_> 11 12 9 7 -1. <_> 14 12 3 7 3. <_> <_> 1 15 18 4 -1. <_> 1 17 18 2 2. <_> <_> 11 14 6 9 -1. <_> 11 17 6 3 3. <_> <_> 0 8 18 4 -1. <_> 0 8 9 2 2. <_> 9 10 9 2 2. <_> <_> 3 10 20 6 -1. <_> 13 10 10 3 2. <_> 3 13 10 3 2. <_> <_> 1 10 20 6 -1. <_> 1 10 10 3 2. <_> 11 13 10 3 2. <_> <_> 0 9 24 2 -1. <_> 0 9 12 2 2. <_> <_> 1 12 20 8 -1. <_> 1 12 10 4 2. <_> 11 16 10 4 2. <_> <_> 11 12 9 7 -1. <_> 14 12 3 7 3. <_> <_> 4 12 9 7 -1. <_> 7 12 3 7 3. <_> <_> 12 12 8 5 -1. <_> 12 12 4 5 2. <_> <_> 4 12 8 5 -1. <_> 8 12 4 5 2. <_> <_> 13 10 4 10 -1. <_> 13 10 2 10 2. <_> <_> 1 15 20 2 -1. <_> 11 15 10 2 2. <_> <_> 9 10 6 6 -1. <_> 9 10 3 6 2. <_> <_> 0 1 21 3 -1. <_> 7 1 7 3 3. <_> <_> 6 4 13 9 -1. <_> 6 7 13 3 3. <_> <_> 6 5 12 5 -1. <_> 10 5 4 5 3. <_> <_> 10 10 10 6 -1. <_> 10 12 10 2 3. <_> <_> 6 12 5 8 -1. <_> 6 16 5 4 2. <_> <_> 13 0 6 9 -1. <_> 15 0 2 9 3. <_> <_> 2 10 18 6 -1. <_> 8 10 6 6 3. <_> <_> 11 2 9 4 -1. <_> 11 4 9 2 2. <_> <_> 1 20 21 3 -1. <_> 8 20 7 3 3. <_> <_> 1 10 22 2 -1. <_> 1 11 22 1 2. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 13 0 6 9 -1. <_> 15 0 2 9 3. <_> <_> 5 0 6 9 -1. <_> 7 0 2 9 3. <_> <_> 18 2 6 20 -1. <_> 20 2 2 20 3. <_> <_> 0 2 6 20 -1. <_> 2 2 2 20 3. <_> <_> 11 7 6 14 -1. <_> 14 7 3 7 2. <_> 11 14 3 7 2. <_> <_> 0 1 4 9 -1. <_> 2 1 2 9 2. <_> <_> 12 14 9 4 -1. <_> 12 16 9 2 2. <_> <_> 1 13 9 4 -1. <_> 1 15 9 2 2. <_> <_> 7 6 15 6 -1. <_> 7 8 15 2 3. <_> <_> 8 2 3 18 -1. <_> 8 8 3 6 3. <_> <_> 6 6 12 6 -1. <_> 12 6 6 3 2. <_> 6 9 6 3 2. <_> <_> 2 19 20 4 -1. <_> 2 19 10 2 2. <_> 12 21 10 2 2. <_> <_> 14 15 6 9 -1. <_> 14 18 6 3 3. <_> <_> 3 5 18 14 -1. <_> 3 5 9 7 2. <_> 12 12 9 7 2. <_> <_> 15 6 4 18 -1. <_> 17 6 2 9 2. <_> 15 15 2 9 2. <_> <_> 5 6 4 18 -1. <_> 5 6 2 9 2. <_> 7 15 2 9 2. <_> <_> 11 0 6 9 -1. <_> 13 0 2 9 3. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 11 5 6 9 -1. <_> 13 5 2 9 3. <_> <_> 9 5 6 6 -1. <_> 12 5 3 6 2. <_> <_> 4 1 16 6 -1. <_> 12 1 8 3 2. <_> 4 4 8 3 2. <_> <_> 9 13 6 11 -1. <_> 11 13 2 11 3. <_> <_> 17 1 6 12 -1. <_> 20 1 3 6 2. <_> 17 7 3 6 2. <_> <_> 1 17 18 3 -1. <_> 1 18 18 1 3. <_> <_> 7 13 10 8 -1. <_> 7 17 10 4 2. <_> <_> 6 18 10 6 -1. <_> 6 20 10 2 3. <_> <_> 9 14 9 4 -1. <_> 9 16 9 2 2. <_> <_> 1 1 6 12 -1. <_> 1 1 3 6 2. <_> 4 7 3 6 2. <_> <_> 19 4 5 12 -1. <_> 19 8 5 4 3. <_> <_> 0 0 8 8 -1. <_> 4 0 4 8 2. <_> <_> 3 5 19 3 -1. <_> 3 6 19 1 3. <_> <_> 1 5 12 6 -1. <_> 1 5 6 3 2. <_> 7 8 6 3 2. <_> <_> 2 1 21 8 -1. <_> 9 1 7 8 3. <_> <_> 4 1 16 8 -1. <_> 4 5 16 4 2. <_> <_> 6 0 18 3 -1. <_> 6 1 18 1 3. <_> <_> 4 4 10 14 -1. <_> 4 11 10 7 2. <_> <_> 15 6 4 10 -1. <_> 15 11 4 5 2. <_> <_> 3 18 18 3 -1. <_> 9 18 6 3 3. <_> <_> 8 18 12 6 -1. <_> 12 18 4 6 3. <_> <_> 3 15 6 9 -1. <_> 6 15 3 9 2. <_> <_> 15 7 6 8 -1. <_> 15 11 6 4 2. <_> <_> 3 7 6 8 -1. <_> 3 11 6 4 2. <_> <_> 5 9 18 6 -1. <_> 14 9 9 3 2. <_> 5 12 9 3 2. <_> <_> 1 13 12 6 -1. <_> 1 15 12 2 3. <_> <_> 14 15 10 6 -1. <_> 14 17 10 2 3. <_> <_> 0 15 10 6 -1. <_> 0 17 10 2 3. <_> <_> 15 13 6 9 -1. <_> 15 16 6 3 3. <_> <_> 3 13 6 9 -1. <_> 3 16 6 3 3. <_> <_> 9 5 8 8 -1. <_> 9 5 4 8 2. <_> <_> 1 18 12 6 -1. <_> 1 18 6 3 2. <_> 7 21 6 3 2. <_> <_> 13 19 10 4 -1. <_> 13 21 10 2 2. <_> <_> 1 19 10 4 -1. <_> 1 21 10 2 2. <_> <_> 6 19 18 3 -1. <_> 6 20 18 1 3. <_> <_> 8 14 4 10 -1. <_> 8 19 4 5 2. <_> <_> 0 0 24 6 -1. <_> 0 2 24 2 3. <_> <_> 0 1 6 9 -1. <_> 0 4 6 3 3. <_> <_> 4 9 20 6 -1. <_> 14 9 10 3 2. <_> 4 12 10 3 2. <_> <_> 1 15 19 8 -1. <_> 1 19 19 4 2. <_> <_> 14 0 10 6 -1. <_> 14 2 10 2 3. <_> <_> 1 10 21 14 -1. <_> 8 10 7 14 3. <_> <_> 10 10 8 8 -1. <_> 10 10 4 8 2. <_> <_> 6 8 10 4 -1. <_> 11 8 5 4 2. <_> <_> 10 5 4 9 -1. <_> 10 5 2 9 2. <_> <_> 7 5 6 10 -1. <_> 9 5 2 10 3. <_> <_> 14 4 4 13 -1. <_> 14 4 2 13 2. <_> <_> 6 4 4 13 -1. <_> 8 4 2 13 2. <_> <_> 8 7 9 6 -1. <_> 11 7 3 6 3. <_> <_> 3 6 16 6 -1. <_> 3 6 8 3 2. <_> 11 9 8 3 2. <_> <_> 5 4 16 14 -1. <_> 13 4 8 7 2. <_> 5 11 8 7 2. <_> <_> 0 0 24 4 -1. <_> 0 0 12 2 2. <_> 12 2 12 2 2. <_> <_> 9 1 9 6 -1. <_> 12 1 3 6 3. <_> <_> 4 1 14 4 -1. <_> 11 1 7 4 2. <_> <_> 10 14 7 9 -1. <_> 10 17 7 3 3. <_> <_> 8 3 8 10 -1. <_> 8 3 4 5 2. <_> 12 8 4 5 2. <_> <_> 7 3 12 5 -1. <_> 11 3 4 5 3. <_> <_> 8 2 4 13 -1. <_> 10 2 2 13 2. <_> <_> 11 2 3 19 -1. <_> 12 2 1 19 3. <_> <_> 7 7 9 6 -1. <_> 10 7 3 6 3. <_> <_> 4 22 20 2 -1. <_> 4 22 10 2 2. <_> <_> 0 16 24 4 -1. <_> 0 16 12 2 2. <_> 12 18 12 2 2. <_> <_> 7 3 12 5 -1. <_> 11 3 4 5 3. <_> <_> 1 10 8 14 -1. <_> 1 10 4 7 2. <_> 5 17 4 7 2. <_> <_> 11 16 6 6 -1. <_> 11 19 6 3 2. <_> <_> 6 0 10 24 -1. <_> 6 0 5 12 2. <_> 11 12 5 12 2. <_> <_> 7 5 14 14 -1. <_> 14 5 7 7 2. <_> 7 12 7 7 2. <_> <_> 7 8 10 8 -1. <_> 7 8 5 4 2. <_> 12 12 5 4 2. <_> <_> 9 1 9 6 -1. <_> 12 1 3 6 3. <_> <_> 0 6 24 3 -1. <_> 12 6 12 3 2. <_> <_> 7 3 12 5 -1. <_> 11 3 4 5 3. <_> <_> 1 13 22 4 -1. <_> 1 13 11 2 2. <_> 12 15 11 2 2. <_> <_> 9 12 12 6 -1. <_> 9 14 12 2 3. <_> <_> 0 5 9 6 -1. <_> 0 7 9 2 3. <_> <_> 1 5 23 6 -1. <_> 1 7 23 2 3. <_> <_> 1 6 19 12 -1. <_> 1 10 19 4 3. <_> <_> 9 1 6 21 -1. <_> 9 8 6 7 3. <_> <_> 3 19 18 3 -1. <_> 9 19 6 3 3. <_> <_> 9 14 6 9 -1. <_> 11 14 2 9 3. <_> <_> 9 6 4 12 -1. <_> 11 6 2 12 2. <_> <_> 16 0 6 9 -1. <_> 18 0 2 9 3. <_> <_> 2 0 6 9 -1. <_> 4 0 2 9 3. <_> <_> 13 1 4 22 -1. <_> 15 1 2 11 2. <_> 13 12 2 11 2. <_> <_> 1 8 8 12 -1. <_> 1 14 8 6 2. <_> <_> 14 7 7 9 -1. <_> 14 10 7 3 3. <_> <_> 3 12 18 4 -1. <_> 3 12 9 2 2. <_> 12 14 9 2 2. <_> <_> 13 1 4 22 -1. <_> 15 1 2 11 2. <_> 13 12 2 11 2. <_> <_> 7 1 4 22 -1. <_> 7 1 2 11 2. <_> 9 12 2 11 2. <_> <_> 4 7 20 4 -1. <_> 14 7 10 2 2. <_> 4 9 10 2 2. <_> <_> 9 10 6 7 -1. <_> 12 10 3 7 2. <_> <_> 7 7 10 4 -1. <_> 7 7 5 4 2. <_> <_> 0 3 4 15 -1. <_> 0 8 4 5 3. <_> <_> 15 0 8 12 -1. <_> 19 0 4 6 2. <_> 15 6 4 6 2. <_> <_> 1 0 8 12 -1. <_> 1 0 4 6 2. <_> 5 6 4 6 2. <_> <_> 14 5 6 16 -1. <_> 16 5 2 16 3. <_> <_> 4 5 6 16 -1. <_> 6 5 2 16 3. <_> <_> 15 0 6 16 -1. <_> 17 0 2 16 3. <_> <_> 3 0 6 16 -1. <_> 5 0 2 16 3. <_> <_> 0 2 24 3 -1. <_> 0 3 24 1 3. <_> <_> 7 1 10 4 -1. <_> 7 3 10 2 2. <_> <_> 1 0 23 8 -1. <_> 1 4 23 4 2. <_> <_> 1 17 19 3 -1. <_> 1 18 19 1 3. <_> <_> 6 18 18 2 -1. <_> 6 19 18 1 2. <_> <_> 1 17 9 6 -1. <_> 1 19 9 2 3. <_> <_> 15 15 6 9 -1. <_> 15 18 6 3 3. <_> <_> 3 15 6 9 -1. <_> 3 18 6 3 3. <_> <_> 4 14 20 6 -1. <_> 4 17 20 3 2. <_> <_> 0 10 6 14 -1. <_> 0 10 3 7 2. <_> 3 17 3 7 2. <_> <_> 6 18 18 3 -1. <_> 6 19 18 1 3. <_> <_> 4 12 9 7 -1. <_> 7 12 3 7 3. <_> <_> 6 10 18 5 -1. <_> 12 10 6 5 3. <_> <_> 0 10 18 5 -1. <_> 6 10 6 5 3. <_> <_> 3 2 18 9 -1. <_> 9 2 6 9 3. <_> <_> 4 6 10 10 -1. <_> 4 6 5 5 2. <_> 9 11 5 5 2. <_> <_> 20 14 4 9 -1. <_> 20 14 2 9 2. <_> <_> 0 14 4 9 -1. <_> 2 14 2 9 2. <_> <_> 11 1 4 20 -1. <_> 13 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 6 21 12 3 -1. <_> 12 21 6 3 2. <_> <_> 11 1 4 20 -1. <_> 13 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 1 16 10 8 -1. <_> 1 16 5 4 2. <_> 6 20 5 4 2. <_> <_> 11 1 4 20 -1. <_> 13 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 1 0 3 19 -1. <_> 2 0 1 19 3. <_> <_> 11 1 4 20 -1. <_> 13 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 0 1 6 9 -1. <_> 2 1 2 9 3. <_> <_> 3 7 19 4 -1. <_> 3 9 19 2 2. <_> <_> 7 14 9 6 -1. <_> 7 16 9 2 3. <_> <_> 17 1 7 6 -1. <_> 17 4 7 3 2. <_> <_> 5 0 14 8 -1. <_> 5 4 14 4 2. <_> <_> 16 1 8 6 -1. <_> 16 4 8 3 2. <_> <_> 0 1 8 6 -1. <_> 0 4 8 3 2. <_> <_> 6 0 18 4 -1. <_> 15 0 9 2 2. <_> 6 2 9 2 2. <_> <_> 0 14 9 6 -1. <_> 0 16 9 2 3. <_> <_> 3 7 18 8 -1. <_> 9 7 6 8 3. <_> <_> 2 11 6 9 -1. <_> 4 11 2 9 3. <_> <_> 10 5 6 9 -1. <_> 12 5 2 9 3. <_> <_> 10 6 4 18 -1. <_> 10 6 2 9 2. <_> 12 15 2 9 2. <_> <_> 11 1 4 20 -1. <_> 13 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 9 1 4 20 -1. <_> 9 1 2 10 2. <_> 11 11 2 10 2. <_> <_> 5 9 18 6 -1. <_> 14 9 9 3 2. <_> 5 12 9 3 2. <_> <_> 6 4 6 9 -1. <_> 8 4 2 9 3. <_> <_> 10 16 8 6 -1. <_> 10 16 4 6 2. <_> <_> 0 0 18 8 -1. <_> 0 0 9 4 2. <_> 9 4 9 4 2. <_> <_> 6 5 14 12 -1. <_> 13 5 7 6 2. <_> 6 11 7 6 2. <_> <_> 4 3 15 7 -1. <_> 9 3 5 7 3. <_> <_> 14 12 10 6 -1. <_> 14 14 10 2 3. <_> <_> 0 11 4 10 -1. <_> 0 16 4 5 2. <_> <_> 1 10 22 3 -1. <_> 1 11 22 1 3. <_> <_> 8 9 6 10 -1. <_> 10 9 2 10 3. <_> <_> 13 2 6 12 -1. <_> 16 2 3 6 2. <_> 13 8 3 6 2. <_> <_> 10 6 4 18 -1. <_> 10 6 2 9 2. <_> 12 15 2 9 2. <_> <_> 7 8 10 16 -1. <_> 12 8 5 8 2. <_> 7 16 5 8 2. <_> <_> 8 1 8 12 -1. <_> 8 1 4 6 2. <_> 12 7 4 6 2. <_> <_> 7 1 12 14 -1. <_> 13 1 6 7 2. <_> 7 8 6 7 2. <_> <_> 2 14 12 6 -1. <_> 2 16 12 2 3. <_> <_> 11 16 6 6 -1. <_> 11 19 6 3 2. <_> <_> 7 16 6 6 -1. <_> 7 19 6 3 2. <_> <_> 13 4 4 10 -1. <_> 13 4 2 10 2. <_> <_> 0 19 19 3 -1. <_> 0 20 19 1 3. <_> <_> 12 8 6 8 -1. <_> 12 12 6 4 2. <_> <_> 8 1 8 22 -1. <_> 8 12 8 11 2. <_> <_> 12 8 6 8 -1. <_> 12 12 6 4 2. <_> <_> 6 8 6 8 -1. <_> 6 12 6 4 2. <_> <_> 14 5 6 9 -1. <_> 14 8 6 3 3. <_> <_> 0 6 24 4 -1. <_> 0 8 24 2 2. <_> <_> 14 12 10 6 -1. <_> 14 14 10 2 3. <_> <_> 0 12 10 6 -1. <_> 0 14 10 2 3. <_> <_> 4 6 19 3 -1. <_> 4 7 19 1 3. <_> <_> 1 6 19 3 -1. <_> 1 7 19 1 3. <_> <_> 4 0 16 9 -1. <_> 4 3 16 3 3. <_> <_> 0 1 24 5 -1. <_> 8 1 8 5 3. <_> <_> 3 6 6 15 -1. <_> 3 11 6 5 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 6 22 18 2 -1. <_> 6 23 18 1 2. <_> <_> 2 12 6 9 -1. <_> 2 15 6 3 3. <_> <_> 18 12 6 9 -1. <_> 18 15 6 3 3. <_> <_> 0 12 6 9 -1. <_> 0 15 6 3 3. <_> <_> 11 14 4 10 -1. <_> 11 19 4 5 2. <_> <_> 9 6 6 16 -1. <_> 9 14 6 8 2. <_> <_> 7 7 10 10 -1. <_> 7 12 10 5 2. <_> <_> 1 3 6 13 -1. <_> 3 3 2 13 3. <_> <_> 18 1 6 13 -1. <_> 18 1 3 13 2. <_> <_> 5 1 6 9 -1. <_> 7 1 2 9 3. <_> <_> 18 2 6 11 -1. <_> 18 2 3 11 2. <_> <_> 0 2 6 11 -1. <_> 3 2 3 11 2. <_> <_> 9 12 15 6 -1. <_> 9 14 15 2 3. <_> <_> 2 2 20 3 -1. <_> 2 3 20 1 3. <_> <_> 10 6 4 9 -1. <_> 10 6 2 9 2. <_> <_> 5 6 12 14 -1. <_> 5 6 6 7 2. <_> 11 13 6 7 2. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 7 0 9 6 -1. <_> 10 0 3 6 3. <_> <_> 10 6 6 9 -1. <_> 12 6 2 9 3. <_> <_> 4 1 12 20 -1. <_> 4 1 6 10 2. <_> 10 11 6 10 2. <_> <_> 6 7 18 3 -1. <_> 6 7 9 3 2. <_> <_> 0 7 18 3 -1. <_> 9 7 9 3 2. <_> <_> 3 20 18 3 -1. <_> 9 20 6 3 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 6 2 12 15 -1. <_> 10 2 4 15 3. <_> <_> 2 3 18 3 -1. <_> 2 4 18 1 3. <_> <_> 19 4 4 18 -1. <_> 21 4 2 9 2. <_> 19 13 2 9 2. <_> <_> 0 1 19 3 -1. <_> 0 2 19 1 3. <_> <_> 5 0 15 4 -1. <_> 5 2 15 2 2. <_> <_> 5 2 14 5 -1. <_> 12 2 7 5 2. <_> <_> 1 2 22 14 -1. <_> 1 2 11 14 2. <_> <_> 8 15 6 9 -1. <_> 10 15 2 9 3. <_> <_> 6 17 18 3 -1. <_> 6 18 18 1 3. <_> <_> 9 6 3 18 -1. <_> 9 12 3 6 3. <_> <_> 2 0 20 3 -1. <_> 2 1 20 1 3. <_> <_> 5 4 5 12 -1. <_> 5 8 5 4 3. <_> <_> 8 6 12 5 -1. <_> 12 6 4 5 3. <_> <_> 9 12 6 12 -1. <_> 9 12 3 6 2. <_> 12 18 3 6 2. <_> <_> 14 14 8 10 -1. <_> 18 14 4 5 2. <_> 14 19 4 5 2. <_> <_> 2 14 8 10 -1. <_> 2 14 4 5 2. <_> 6 19 4 5 2. <_> <_> 10 18 12 6 -1. <_> 16 18 6 3 2. <_> 10 21 6 3 2. <_> <_> 1 3 6 9 -1. <_> 1 6 6 3 3. <_> <_> 11 3 3 20 -1. <_> 12 3 1 20 3. <_> <_> 4 6 14 6 -1. <_> 4 6 7 3 2. <_> 11 9 7 3 2. <_> <_> 6 5 12 13 -1. <_> 10 5 4 13 3. <_> <_> 5 4 4 15 -1. <_> 5 9 4 5 3. <_> <_> 9 16 15 4 -1. <_> 14 16 5 4 3. <_> <_> 7 8 6 14 -1. <_> 7 8 3 7 2. <_> 10 15 3 7 2. <_> <_> 7 6 10 6 -1. <_> 7 8 10 2 3. <_> <_> 2 5 18 3 -1. <_> 2 6 18 1 3. <_> <_> 5 1 15 8 -1. <_> 5 5 15 4 2. <_> <_> 7 1 8 18 -1. <_> 7 10 8 9 2. <_> <_> 0 10 24 3 -1. <_> 0 11 24 1 3. <_> <_> 0 2 6 13 -1. <_> 2 2 2 13 3. <_> <_> 16 0 8 10 -1. <_> 20 0 4 5 2. <_> 16 5 4 5 2. <_> <_> 5 1 10 9 -1. <_> 5 4 10 3 3. <_> <_> 5 6 18 3 -1. <_> 5 7 18 1 3. <_> <_> 0 1 24 3 -1. <_> 0 2 24 1 3. <_> <_> 11 4 6 11 -1. <_> 13 4 2 11 3. <_> <_> 0 0 8 10 -1. <_> 0 0 4 5 2. <_> 4 5 4 5 2. <_> <_> 4 16 18 3 -1. <_> 4 17 18 1 3. <_> <_> 2 16 18 3 -1. <_> 2 17 18 1 3. <_> <_> 3 0 18 10 -1. <_> 12 0 9 5 2. <_> 3 5 9 5 2. <_> <_> 2 3 20 21 -1. <_> 12 3 10 21 2. <_> <_> 6 7 14 3 -1. <_> 6 7 7 3 2. <_> <_> 0 9 12 6 -1. <_> 0 9 6 3 2. <_> 6 12 6 3 2. <_> <_> 3 14 21 4 -1. <_> 10 14 7 4 3. <_> <_> 0 14 21 4 -1. <_> 7 14 7 4 3. <_> <_> 5 21 18 3 -1. <_> 11 21 6 3 3. <_> <_> 1 21 18 3 -1. <_> 7 21 6 3 3. <_> <_> 19 4 4 18 -1. <_> 21 4 2 9 2. <_> 19 13 2 9 2. <_> <_> 3 7 18 3 -1. <_> 3 8 18 1 3. <_> <_> 19 4 4 18 -1. <_> 21 4 2 9 2. <_> 19 13 2 9 2. <_> <_> 7 15 10 6 -1. <_> 7 17 10 2 3. <_> <_> 9 13 11 9 -1. <_> 9 16 11 3 3. <_> <_> 0 6 4 10 -1. <_> 0 11 4 5 2. <_> <_> 15 16 9 6 -1. <_> 15 18 9 2 3. <_> <_> 1 5 4 18 -1. <_> 1 5 2 9 2. <_> 3 14 2 9 2. <_> <_> 9 8 8 10 -1. <_> 13 8 4 5 2. <_> 9 13 4 5 2. <_> <_> 7 8 8 10 -1. <_> 7 8 4 5 2. <_> 11 13 4 5 2. <_> <_> 9 8 12 5 -1. <_> 13 8 4 5 3. <_> <_> 7 8 9 7 -1. <_> 10 8 3 7 3. <_> <_> 9 8 12 5 -1. <_> 13 8 4 5 3. <_> <_> 7 6 9 7 -1. <_> 10 6 3 7 3. <_> <_> 9 8 12 5 -1. <_> 13 8 4 5 3. <_> <_> 10 5 4 18 -1. <_> 10 11 4 6 3. <_> <_> 5 5 14 12 -1. <_> 5 11 14 6 2. <_> <_> 0 1 11 4 -1. <_> 0 3 11 2 2. <_> <_> 9 10 6 10 -1. <_> 11 10 2 10 3. <_> <_> 2 17 11 6 -1. <_> 2 19 11 2 3. <_> <_> 15 16 9 6 -1. <_> 15 18 9 2 3. <_> <_> 1 10 18 2 -1. <_> 1 11 18 1 2. <_> <_> 6 4 12 13 -1. <_> 10 4 4 13 3. <_> <_> 0 18 18 3 -1. <_> 0 19 18 1 3. <_> <_> 6 18 18 3 -1. <_> 6 19 18 1 3. <_> <_> 0 16 9 6 -1. <_> 0 18 9 2 3. <_> <_> 13 15 9 6 -1. <_> 13 17 9 2 3. <_> <_> 2 15 9 6 -1. <_> 2 17 9 2 3. <_> <_> 13 1 6 16 -1. <_> 13 1 3 16 2. <_> <_> 5 1 6 16 -1. <_> 8 1 3 16 2. <_> <_> 11 5 6 10 -1. <_> 13 5 2 10 3. <_> <_> 7 5 6 10 -1. <_> 9 5 2 10 3. <_> <_> 10 0 6 24 -1. <_> 12 0 2 24 3. <_> <_> 3 4 4 20 -1. <_> 3 4 2 10 2. <_> 5 14 2 10 2. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 4 0 6 9 -1. <_> 6 0 2 9 3. <_> <_> 4 5 18 5 -1. <_> 10 5 6 5 3. <_> <_> 5 6 6 9 -1. <_> 7 6 2 9 3. <_> <_> 7 2 15 8 -1. <_> 12 2 5 8 3. <_> <_> 2 2 15 8 -1. <_> 7 2 5 8 3. <_> <_> 10 0 4 9 -1. <_> 10 0 2 9 2. <_> <_> 3 4 6 12 -1. <_> 3 4 3 6 2. <_> 6 10 3 6 2. <_> <_> 16 0 8 18 -1. <_> 16 0 4 18 2. <_> <_> 0 0 8 18 -1. <_> 4 0 4 18 2. <_> <_> 0 7 24 6 -1. <_> 0 9 24 2 3. <_> <_> 4 7 14 3 -1. <_> 11 7 7 3 2. <_> <_> 10 8 8 15 -1. <_> 10 8 4 15 2. <_> <_> 7 0 10 14 -1. <_> 12 0 5 14 2. <_> <_> 13 10 8 10 -1. <_> 17 10 4 5 2. <_> 13 15 4 5 2. <_> <_> 3 0 4 9 -1. <_> 5 0 2 9 2. <_> <_> 16 1 6 8 -1. <_> 16 1 3 8 2. <_> <_> 2 1 6 8 -1. <_> 5 1 3 8 2. <_> <_> 3 6 18 12 -1. <_> 3 10 18 4 3. <_> <_> 4 12 16 4 -1. <_> 4 14 16 2 2. <_> <_> 4 9 16 15 -1. <_> 4 14 16 5 3. <_> <_> 3 10 8 10 -1. <_> 3 10 4 5 2. <_> 7 15 4 5 2. <_> <_> 8 18 16 6 -1. <_> 16 18 8 3 2. <_> 8 21 8 3 2. <_> <_> 2 16 12 5 -1. <_> 6 16 4 5 3. <_> <_> 14 14 9 4 -1. <_> 14 16 9 2 2. <_> <_> 7 14 9 6 -1. <_> 7 16 9 2 3. <_> <_> 4 10 16 12 -1. <_> 4 14 16 4 3. <_> <_> 0 13 19 6 -1. <_> 0 15 19 2 3. <_> <_> 10 13 9 6 -1. <_> 10 15 9 2 3. <_> <_> 5 0 3 23 -1. <_> 6 0 1 23 3. <_> <_> 0 8 24 6 -1. <_> 0 10 24 2 3. <_> <_> 0 5 5 12 -1. <_> 0 9 5 4 3. <_> <_> 3 0 19 18 -1. <_> 3 9 19 9 2. <_> <_> 9 11 6 12 -1. <_> 9 11 3 6 2. <_> 12 17 3 6 2. <_> <_> 0 5 24 8 -1. <_> 12 5 12 4 2. <_> 0 9 12 4 2. <_> <_> 6 18 9 4 -1. <_> 6 20 9 2 2. <_> <_> 8 8 10 6 -1. <_> 8 10 10 2 3. <_> <_> 2 7 20 3 -1. <_> 2 8 20 1 3. <_> <_> 12 0 7 20 -1. <_> 12 10 7 10 2. <_> <_> 5 0 7 20 -1. <_> 5 10 7 10 2. <_> <_> 14 2 2 18 -1. <_> 14 11 2 9 2. <_> <_> 5 8 10 12 -1. <_> 10 8 5 12 2. <_> <_> 6 9 12 8 -1. <_> 12 9 6 4 2. <_> 6 13 6 4 2. <_> <_> 7 7 3 14 -1. <_> 7 14 3 7 2. <_> <_> 11 2 12 16 -1. <_> 17 2 6 8 2. <_> 11 10 6 8 2. <_> <_> 7 0 6 9 -1. <_> 9 0 2 9 3. <_> <_> 13 14 9 4 -1. <_> 13 16 9 2 2. <_> <_> 0 12 22 4 -1. <_> 0 12 11 2 2. <_> 11 14 11 2 2. <_> <_> 1 12 22 6 -1. <_> 12 12 11 3 2. <_> 1 15 11 3 2. <_> <_> 6 6 9 6 -1. <_> 9 6 3 6 3. <_> <_> 10 0 4 9 -1. <_> 10 0 2 9 2. <_> <_> 3 8 18 7 -1. <_> 9 8 6 7 3. <_> <_> 0 6 24 6 -1. <_> 0 8 24 2 3. <_> <_> 0 11 24 10 -1. <_> 8 11 8 10 3. <_> <_> 3 3 18 21 -1. <_> 9 3 6 21 3. <_> <_> 7 12 4 10 -1. <_> 9 12 2 10 2. <_> <_> 10 16 10 8 -1. <_> 15 16 5 4 2. <_> 10 20 5 4 2. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 12 10 6 12 -1. <_> 15 10 3 6 2. <_> 12 16 3 6 2. <_> <_> 6 10 6 12 -1. <_> 6 10 3 6 2. <_> 9 16 3 6 2. <_> <_> 16 12 6 12 -1. <_> 19 12 3 6 2. <_> 16 18 3 6 2. <_> <_> 2 12 6 12 -1. <_> 2 12 3 6 2. <_> 5 18 3 6 2. <_> <_> 10 15 6 9 -1. <_> 12 15 2 9 3. <_> <_> 8 15 6 9 -1. <_> 10 15 2 9 3. <_> <_> 14 20 10 4 -1. <_> 14 20 5 4 2. <_> <_> 0 20 10 4 -1. <_> 5 20 5 4 2. <_> <_> 11 17 9 6 -1. <_> 11 19 9 2 3. <_> <_> 3 2 14 4 -1. <_> 3 4 14 2 2. <_> <_> 10 1 10 4 -1. <_> 10 3 10 2 2. <_> <_> 0 15 10 4 -1. <_> 5 15 5 4 2. <_> <_> 19 2 3 19 -1. <_> 20 2 1 19 3. <_> <_> 4 12 9 8 -1. <_> 7 12 3 8 3. <_> <_> 4 7 5 12 -1. <_> 4 11 5 4 3. <_> <_> 0 1 24 3 -1. <_> 8 1 8 3 3. <_> <_> 6 8 12 4 -1. <_> 6 10 12 2 2. <_> <_> 19 3 4 10 -1. <_> 19 3 2 10 2. <_> <_> 0 6 9 6 -1. <_> 3 6 3 6 3. <_> <_> 18 0 6 22 -1. <_> 20 0 2 22 3. <_> <_> 0 0 6 22 -1. <_> 2 0 2 22 3. <_> <_> 5 15 19 3 -1. <_> 5 16 19 1 3. <_> <_> 10 7 4 15 -1. <_> 10 12 4 5 3. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 0 21 18 3 -1. <_> 0 22 18 1 3. <_> <_> 7 3 10 15 -1. <_> 7 8 10 5 3. <_> <_> 1 7 18 3 -1. <_> 1 8 18 1 3. <_> <_> 8 2 9 6 -1. <_> 11 2 3 6 3. <_> <_> 0 10 24 14 -1. <_> 0 17 24 7 2. <_> <_> 13 9 8 10 -1. <_> 17 9 4 5 2. <_> 13 14 4 5 2. <_> <_> 10 5 4 9 -1. <_> 12 5 2 9 2. <_> <_> 13 9 8 10 -1. <_> 17 9 4 5 2. <_> 13 14 4 5 2. <_> <_> 7 11 10 10 -1. <_> 7 11 5 5 2. <_> 12 16 5 5 2. <_> <_> 4 13 18 4 -1. <_> 13 13 9 2 2. <_> 4 15 9 2 2. <_> <_> 0 0 19 2 -1. <_> 0 1 19 1 2. <_> <_> 0 18 24 6 -1. <_> 8 18 8 6 3. <_> <_> 6 4 8 16 -1. <_> 6 12 8 8 2. <_> <_> 7 8 10 4 -1. <_> 7 10 10 2 2. <_> <_> 0 3 6 9 -1. <_> 0 6 6 3 3. <_> <_> 13 15 7 9 -1. <_> 13 18 7 3 3. <_> <_> 3 18 12 6 -1. <_> 3 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 12 14 6 9 -1. <_> 12 17 6 3 3. <_> <_> 2 15 15 8 -1. <_> 2 19 15 4 2. <_> <_> 9 6 6 16 -1. <_> 9 14 6 8 2. <_> <_> 6 6 7 12 -1. <_> 6 10 7 4 3. <_> <_> 14 6 6 9 -1. <_> 14 9 6 3 3. <_> <_> 5 14 6 9 -1. <_> 5 17 6 3 3. <_> <_> 10 8 6 9 -1. <_> 12 8 2 9 3. <_> <_> 6 6 4 18 -1. <_> 6 6 2 9 2. <_> 8 15 2 9 2. <_> <_> 14 9 6 12 -1. <_> 17 9 3 6 2. <_> 14 15 3 6 2. <_> <_> 4 9 6 12 -1. <_> 4 9 3 6 2. <_> 7 15 3 6 2. <_> <_> 14 15 9 6 -1. <_> 14 17 9 2 3. <_> <_> 0 20 18 4 -1. <_> 0 20 9 2 2. <_> 9 22 9 2 2. <_> <_> 13 18 9 6 -1. <_> 13 20 9 2 3. <_> <_> 2 18 9 6 -1. <_> 2 20 9 2 3. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 19 2 4 22 -1. <_> 21 2 2 11 2. <_> 19 13 2 11 2. <_> <_> 1 2 4 22 -1. <_> 1 2 2 11 2. <_> 3 13 2 11 2. <_> <_> 15 0 2 24 -1. <_> 15 0 1 24 2. <_> <_> 3 20 16 4 -1. <_> 11 20 8 4 2. <_> <_> 11 6 4 18 -1. <_> 13 6 2 9 2. <_> 11 15 2 9 2. <_> <_> 7 9 10 14 -1. <_> 7 9 5 7 2. <_> 12 16 5 7 2. <_> <_> 14 6 6 9 -1. <_> 14 9 6 3 3. <_> <_> 3 6 7 9 -1. <_> 3 9 7 3 3. <_> <_> 20 4 4 20 -1. <_> 22 4 2 10 2. <_> 20 14 2 10 2. <_> <_> 7 6 6 9 -1. <_> 7 9 6 3 3. <_> <_> 7 0 10 14 -1. <_> 12 0 5 7 2. <_> 7 7 5 7 2. <_> <_> 2 1 18 6 -1. <_> 11 1 9 6 2. <_> <_> 15 0 2 24 -1. <_> 15 0 1 24 2. <_> <_> 7 0 2 24 -1. <_> 8 0 1 24 2. <_> <_> 13 12 6 7 -1. <_> 13 12 3 7 2. <_> <_> 5 12 6 7 -1. <_> 8 12 3 7 2. <_> <_> 3 5 18 19 -1. <_> 9 5 6 19 3. <_> <_> 5 6 9 6 -1. <_> 8 6 3 6 3. <_> <_> 9 5 9 6 -1. <_> 12 5 3 6 3. <_> <_> 3 16 10 8 -1. <_> 3 16 5 4 2. <_> 8 20 5 4 2. <_> <_> 19 8 5 15 -1. <_> 19 13 5 5 3. <_> <_> 0 8 5 15 -1. <_> 0 13 5 5 3. <_> <_> 20 4 4 20 -1. <_> 22 4 2 10 2. <_> 20 14 2 10 2. <_> <_> 0 4 4 20 -1. <_> 0 4 2 10 2. <_> 2 14 2 10 2. <_> <_> 7 7 10 4 -1. <_> 7 7 5 4 2. <_> <_> 4 19 14 4 -1. <_> 11 19 7 4 2. <_> <_> 10 11 12 3 -1. <_> 10 11 6 3 2. <_> <_> 0 1 24 3 -1. <_> 0 2 24 1 3. <_> <_> 7 2 14 20 -1. <_> 14 2 7 10 2. <_> 7 12 7 10 2. <_> <_> 0 13 6 9 -1. <_> 2 13 2 9 3. <_> <_> 13 0 4 19 -1. <_> 13 0 2 19 2. <_> <_> 1 11 14 3 -1. <_> 8 11 7 3 2. <_> <_> 7 1 16 20 -1. <_> 15 1 8 10 2. <_> 7 11 8 10 2. <_> <_> 0 10 21 9 -1. <_> 7 10 7 9 3. <_> <_> 6 19 15 5 -1. <_> 11 19 5 5 3. <_> <_> 8 10 6 6 -1. <_> 11 10 3 6 2. <_> <_> 7 1 16 20 -1. <_> 15 1 8 10 2. <_> 7 11 8 10 2. <_> <_> 1 1 16 20 -1. <_> 1 1 8 10 2. <_> 9 11 8 10 2. <_> <_> 16 4 3 12 -1. <_> 16 10 3 6 2. <_> <_> 5 4 3 12 -1. <_> 5 10 3 6 2. <_> <_> 7 6 10 8 -1. <_> 12 6 5 4 2. <_> 7 10 5 4 2. <_> <_> 4 9 6 6 -1. <_> 4 12 6 3 2. <_> <_> 6 5 12 4 -1. <_> 6 7 12 2 2. <_> <_> 9 2 5 15 -1. <_> 9 7 5 5 3. <_> <_> 15 0 9 6 -1. <_> 15 2 9 2 3. <_> <_> 6 0 11 10 -1. <_> 6 5 11 5 2. <_> <_> 12 7 4 12 -1. <_> 12 13 4 6 2. <_> <_> 7 2 9 4 -1. <_> 7 4 9 2 2. <_> <_> 6 0 13 6 -1. <_> 6 2 13 2 3. <_> <_> 10 6 4 18 -1. <_> 10 6 2 9 2. <_> 12 15 2 9 2. <_> <_> 10 8 6 9 -1. <_> 12 8 2 9 3. <_> <_> 3 18 10 6 -1. <_> 3 20 10 2 3. <_> <_> 4 14 20 3 -1. <_> 4 15 20 1 3. <_> <_> 2 15 9 6 -1. <_> 2 17 9 2 3. <_> <_> 13 0 4 19 -1. <_> 13 0 2 19 2. <_> <_> 7 0 4 19 -1. <_> 9 0 2 19 2. <_> <_> 1 4 22 2 -1. <_> 1 5 22 1 2. <_> <_> 0 0 9 6 -1. <_> 0 2 9 2 3. <_> <_> 0 0 24 18 -1. <_> 0 9 24 9 2. <_> <_> 3 2 16 8 -1. <_> 3 6 16 4 2. <_> <_> 3 6 18 6 -1. <_> 3 8 18 2 3. <_> <_> 3 1 6 10 -1. <_> 5 1 2 10 3. <_> <_> 13 0 9 6 -1. <_> 16 0 3 6 3. <_> <_> 2 0 9 6 -1. <_> 5 0 3 6 3. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 6 0 7 10 -1. <_> 6 5 7 5 2. <_> <_> 2 2 20 4 -1. <_> 12 2 10 2 2. <_> 2 4 10 2 2. <_> <_> 2 11 19 3 -1. <_> 2 12 19 1 3. <_> <_> 10 8 6 9 -1. <_> 12 8 2 9 3. <_> <_> 8 8 6 9 -1. <_> 10 8 2 9 3. <_> <_> 13 8 4 9 -1. <_> 13 8 2 9 2. <_> <_> 3 11 9 9 -1. <_> 6 11 3 9 3. <_> <_> 3 9 18 5 -1. <_> 9 9 6 5 3. <_> <_> 2 4 2 20 -1. <_> 2 14 2 10 2. <_> <_> 14 17 8 6 -1. <_> 14 20 8 3 2. <_> <_> 3 21 18 2 -1. <_> 3 22 18 1 2. <_> <_> 5 4 15 6 -1. <_> 10 4 5 6 3. <_> <_> 2 15 12 6 -1. <_> 2 17 12 2 3. <_> <_> 17 8 6 9 -1. <_> 17 11 6 3 3. <_> <_> 2 12 20 4 -1. <_> 2 12 10 2 2. <_> 12 14 10 2 2. <_> <_> 0 17 24 6 -1. <_> 0 19 24 2 3. <_> <_> 7 16 9 4 -1. <_> 7 18 9 2 2. <_> <_> 15 1 4 22 -1. <_> 17 1 2 11 2. <_> 15 12 2 11 2. <_> <_> 5 1 4 22 -1. <_> 5 1 2 11 2. <_> 7 12 2 11 2. <_> <_> 11 13 8 9 -1. <_> 11 16 8 3 3. <_> <_> 6 1 6 9 -1. <_> 8 1 2 9 3. <_> <_> 11 4 3 18 -1. <_> 11 10 3 6 3. <_> <_> 5 8 12 6 -1. <_> 5 8 6 3 2. <_> 11 11 6 3 2. <_> <_> 15 7 5 8 -1. <_> 15 11 5 4 2. <_> <_> 4 7 5 8 -1. <_> 4 11 5 4 2. <_> <_> 12 6 6 12 -1. <_> 15 6 3 6 2. <_> 12 12 3 6 2. <_> <_> 6 6 6 12 -1. <_> 6 6 3 6 2. <_> 9 12 3 6 2. <_> <_> 5 9 14 8 -1. <_> 12 9 7 4 2. <_> 5 13 7 4 2. <_> <_> 9 1 3 14 -1. <_> 9 8 3 7 2. <_> <_> 12 6 6 12 -1. <_> 12 10 6 4 3. <_> <_> 4 5 4 18 -1. <_> 4 5 2 9 2. <_> 6 14 2 9 2. <_> <_> 4 6 16 18 -1. <_> 4 12 16 6 3. <_> <_> 5 4 7 20 -1. <_> 5 14 7 10 2. <_> <_> 14 8 8 12 -1. <_> 14 14 8 6 2. <_> <_> 9 10 6 14 -1. <_> 9 10 3 7 2. <_> 12 17 3 7 2. <_> <_> 9 5 9 6 -1. <_> 12 5 3 6 3. <_> <_> 9 4 3 18 -1. <_> 10 4 1 18 3. <_> <_> 1 4 22 14 -1. <_> 12 4 11 7 2. <_> 1 11 11 7 2. <_> <_> 2 7 18 2 -1. <_> 2 8 18 1 2. <_> <_> 12 6 6 12 -1. <_> 12 10 6 4 3. <_> <_> 6 5 9 7 -1. <_> 9 5 3 7 3. <_> <_> 12 7 4 12 -1. <_> 12 13 4 6 2. <_> <_> 8 7 4 12 -1. <_> 8 13 4 6 2. <_> <_> 7 2 10 22 -1. <_> 7 13 10 11 2. <_> <_> 0 1 3 20 -1. <_> 1 1 1 20 3. <_> <_> 4 13 18 4 -1. <_> 13 13 9 2 2. <_> 4 15 9 2 2. <_> <_> 2 13 18 4 -1. <_> 2 13 9 2 2. <_> 11 15 9 2 2. <_> <_> 15 15 9 6 -1. <_> 15 17 9 2 3. <_> <_> 0 15 9 6 -1. <_> 0 17 9 2 3. <_> <_> 6 0 18 24 -1. <_> 15 0 9 12 2. <_> 6 12 9 12 2. <_> <_> 6 6 6 12 -1. <_> 6 10 6 4 3. <_> <_> 8 7 10 4 -1. <_> 8 9 10 2 2. <_> <_> 1 9 18 6 -1. <_> 1 9 9 3 2. <_> 10 12 9 3 2. <_> <_> 6 6 18 3 -1. <_> 6 7 18 1 3. <_> <_> 7 7 9 8 -1. <_> 10 7 3 8 3. <_> <_> 10 12 6 12 -1. <_> 12 12 2 12 3. <_> <_> 3 14 18 3 -1. <_> 3 15 18 1 3. <_> <_> 15 17 9 7 -1. <_> 18 17 3 7 3. <_> <_> 1 12 10 6 -1. <_> 1 14 10 2 3. <_> <_> 15 17 9 7 -1. <_> 18 17 3 7 3. <_> <_> 10 3 3 19 -1. <_> 11 3 1 19 3. <_> <_> 15 17 9 7 -1. <_> 18 17 3 7 3. <_> <_> 6 1 11 9 -1. <_> 6 4 11 3 3. <_> <_> 15 17 9 7 -1. <_> 18 17 3 7 3. <_> <_> 6 5 11 6 -1. <_> 6 8 11 3 2. <_> <_> 16 7 8 5 -1. <_> 16 7 4 5 2. <_> <_> 2 4 20 19 -1. <_> 12 4 10 19 2. <_> <_> 2 1 21 6 -1. <_> 9 1 7 6 3. <_> <_> 6 5 12 14 -1. <_> 6 5 6 7 2. <_> 12 12 6 7 2. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 2 11 8 5 -1. <_> 6 11 4 5 2. <_> <_> 16 7 8 5 -1. <_> 16 7 4 5 2. <_> <_> 0 7 8 5 -1. <_> 4 7 4 5 2. <_> <_> 15 17 9 7 -1. <_> 18 17 3 7 3. <_> <_> 8 6 8 10 -1. <_> 8 6 4 5 2. <_> 12 11 4 5 2. <_> <_> 15 15 9 9 -1. <_> 18 15 3 9 3. <_> <_> 0 15 9 9 -1. <_> 3 15 3 9 3. <_> <_> 12 10 9 7 -1. <_> 15 10 3 7 3. <_> <_> 3 10 9 7 -1. <_> 6 10 3 7 3. <_> <_> 13 15 10 8 -1. <_> 18 15 5 4 2. <_> 13 19 5 4 2. <_> <_> 0 1 6 12 -1. <_> 0 1 3 6 2. <_> 3 7 3 6 2. <_> <_> 10 0 6 12 -1. <_> 13 0 3 6 2. <_> 10 6 3 6 2. <_> <_> 7 0 10 12 -1. <_> 7 0 5 6 2. <_> 12 6 5 6 2. <_> <_> 4 1 16 8 -1. <_> 4 1 8 8 2. <_> <_> 0 21 19 3 -1. <_> 0 22 19 1 3. <_> <_> 6 9 18 4 -1. <_> 15 9 9 2 2. <_> 6 11 9 2 2. <_> <_> 3 4 9 6 -1. <_> 3 6 9 2 3. <_> <_> 9 1 6 15 -1. <_> 9 6 6 5 3. <_> <_> 5 9 6 6 -1. <_> 8 9 3 6 2. <_> <_> 5 1 14 9 -1. <_> 5 4 14 3 3. <_> <_> 3 0 8 20 -1. <_> 3 0 4 10 2. <_> 7 10 4 10 2. <_> <_> 5 0 7 9 -1. <_> 5 3 7 3 3. <_> <_> 6 6 12 5 -1. <_> 10 6 4 5 3. <_> <_> 0 1 8 14 -1. <_> 4 1 4 14 2. <_> <_> 2 12 22 4 -1. <_> 2 14 22 2 2. <_> <_> 8 17 6 6 -1. <_> 8 20 6 3 2. <_> <_> 18 1 6 7 -1. <_> 18 1 3 7 2. <_> <_> 0 0 6 6 -1. <_> 3 0 3 6 2. <_> <_> 4 6 17 18 -1. <_> 4 12 17 6 3. <_> <_> 6 0 12 6 -1. <_> 6 0 6 3 2. <_> 12 3 6 3 2. <_> <_> 4 7 18 4 -1. <_> 13 7 9 2 2. <_> 4 9 9 2 2. <_> <_> 4 12 10 6 -1. <_> 4 14 10 2 3. <_> <_> 7 9 10 12 -1. <_> 12 9 5 6 2. <_> 7 15 5 6 2. <_> <_> 0 1 24 3 -1. <_> 8 1 8 3 3. <_> <_> 13 11 6 6 -1. <_> 13 11 3 6 2. <_> <_> 5 11 6 6 -1. <_> 8 11 3 6 2. <_> <_> 3 10 19 3 -1. <_> 3 11 19 1 3. <_> <_> 0 2 6 9 -1. <_> 0 5 6 3 3. <_> <_> 14 16 10 6 -1. <_> 14 18 10 2 3. <_> <_> 0 16 10 6 -1. <_> 0 18 10 2 3. <_> <_> 14 13 9 6 -1. <_> 14 15 9 2 3. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 0 18 9 6 -1. <_> 0 20 9 2 3. <_> <_> 14 13 9 6 -1. <_> 14 15 9 2 3. <_> <_> 6 2 6 9 -1. <_> 8 2 2 9 3. <_> <_> 15 8 4 12 -1. <_> 15 8 2 12 2. <_> <_> 8 13 8 8 -1. <_> 8 17 8 4 2. <_> <_> 4 20 18 3 -1. <_> 10 20 6 3 3. <_> <_> 5 8 4 12 -1. <_> 7 8 2 12 2. <_> <_> 7 7 12 3 -1. <_> 7 7 6 3 2. <_> <_> 10 6 4 9 -1. <_> 12 6 2 9 2. <_> <_> 5 20 18 3 -1. <_> 11 20 6 3 3. <_> <_> 1 20 18 3 -1. <_> 7 20 6 3 3. <_> <_> 18 1 6 20 -1. <_> 21 1 3 10 2. <_> 18 11 3 10 2. <_> <_> 0 1 6 20 -1. <_> 0 1 3 10 2. <_> 3 11 3 10 2. <_> <_> 13 3 4 18 -1. <_> 15 3 2 9 2. <_> 13 12 2 9 2. <_> <_> 0 2 6 12 -1. <_> 0 6 6 4 3. <_> <_> 12 9 12 6 -1. <_> 18 9 6 3 2. <_> 12 12 6 3 2. <_> <_> 7 3 4 18 -1. <_> 7 3 2 9 2. <_> 9 12 2 9 2. <_> <_> 14 0 6 9 -1. <_> 16 0 2 9 3. <_> <_> 0 9 12 6 -1. <_> 0 9 6 3 2. <_> 6 12 6 3 2. <_> <_> 14 4 8 20 -1. <_> 18 4 4 10 2. <_> 14 14 4 10 2. <_> <_> 2 4 8 20 -1. <_> 2 4 4 10 2. <_> 6 14 4 10 2. <_> <_> 14 13 9 6 -1. <_> 14 15 9 2 3. <_> <_> 1 13 9 6 -1. <_> 1 15 9 2 3. <_> <_> 3 15 18 3 -1. <_> 9 15 6 3 3. <_> <_> 5 13 9 6 -1. <_> 5 15 9 2 3. <_> <_> 5 0 18 3 -1. <_> 5 1 18 1 3. <_> <_> 8 2 6 7 -1. <_> 11 2 3 7 2. <_> <_> 9 1 9 6 -1. <_> 12 1 3 6 3. <_> <_> 6 1 9 6 -1. <_> 9 1 3 6 3. <_> <_> 5 6 14 6 -1. <_> 12 6 7 3 2. <_> 5 9 7 3 2. <_> <_> 8 2 6 13 -1. <_> 10 2 2 13 3. <_> <_> 6 11 12 6 -1. <_> 12 11 6 3 2. <_> 6 14 6 3 2. <_> <_> 3 1 18 15 -1. <_> 9 1 6 15 3. <_> <_> 13 0 6 7 -1. <_> 13 0 3 7 2. <_> <_> 3 3 16 6 -1. <_> 3 6 16 3 2. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 7 7 6 9 -1. <_> 9 7 2 9 3. <_> <_> 13 0 4 24 -1. <_> 13 0 2 24 2. <_> <_> 7 0 4 24 -1. <_> 9 0 2 24 2. <_> <_> 11 9 5 12 -1. <_> 11 13 5 4 3. <_> <_> 7 15 9 6 -1. <_> 7 17 9 2 3. <_> <_> 5 7 18 6 -1. <_> 5 9 18 2 3. <_> <_> 8 9 5 12 -1. <_> 8 13 5 4 3. <_> <_> 4 17 17 6 -1. <_> 4 19 17 2 3. <_> <_> 0 3 18 14 -1. <_> 0 3 9 7 2. <_> 9 10 9 7 2. <_> <_> 0 1 24 2 -1. <_> 0 2 24 1 2. <_> <_> 0 15 18 3 -1. <_> 0 16 18 1 3. <_> <_> 9 0 6 9 -1. <_> 11 0 2 9 3. <_> <_> 3 3 14 12 -1. <_> 3 9 14 6 2. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 8 0 6 9 -1. <_> 10 0 2 9 3. <_> <_> 10 6 6 10 -1. <_> 12 6 2 10 3. <_> <_> 5 0 6 9 -1. <_> 7 0 2 9 3. <_> <_> 2 0 21 7 -1. <_> 9 0 7 7 3. <_> <_> 6 11 12 5 -1. <_> 10 11 4 5 3. <_> <_> 8 7 9 8 -1. <_> 11 7 3 8 3. <_> <_> 9 6 6 18 -1. <_> 9 6 3 9 2. <_> 12 15 3 9 2. <_> <_> 15 14 8 10 -1. <_> 19 14 4 5 2. <_> 15 19 4 5 2. <_> <_> 1 14 8 10 -1. <_> 1 14 4 5 2. <_> 5 19 4 5 2. <_> <_> 11 0 8 10 -1. <_> 15 0 4 5 2. <_> 11 5 4 5 2. <_> <_> 5 0 8 10 -1. <_> 5 0 4 5 2. <_> 9 5 4 5 2. <_> <_> 6 1 12 5 -1. <_> 6 1 6 5 2. <_> <_> 1 12 18 2 -1. <_> 10 12 9 2 2. <_> <_> 2 8 20 6 -1. <_> 12 8 10 3 2. <_> 2 11 10 3 2. <_> <_> 7 6 9 7 -1. <_> 10 6 3 7 3. <_> <_> 10 5 8 16 -1. <_> 14 5 4 8 2. <_> 10 13 4 8 2. <_> <_> 3 9 16 8 -1. <_> 3 9 8 4 2. <_> 11 13 8 4 2. <_> <_> 7 8 10 4 -1. <_> 7 8 5 4 2. <_> <_> 7 12 10 8 -1. <_> 7 12 5 4 2. <_> 12 16 5 4 2. <_> <_> 9 19 15 4 -1. <_> 14 19 5 4 3. <_> <_> 1 0 18 9 -1. <_> 7 0 6 9 3. <_> <_> 13 4 10 8 -1. <_> 18 4 5 4 2. <_> 13 8 5 4 2. <_> <_> 3 16 18 4 -1. <_> 9 16 6 4 3. <_> <_> 8 7 10 12 -1. <_> 13 7 5 6 2. <_> 8 13 5 6 2. <_> <_> 6 7 10 12 -1. <_> 6 7 5 6 2. <_> 11 13 5 6 2. <_> <_> 4 6 18 7 -1. <_> 10 6 6 7 3. <_> <_> 0 17 18 3 -1. <_> 0 18 18 1 3. <_> <_> 3 17 18 3 -1. <_> 3 18 18 1 3. <_> <_> 2 4 6 10 -1. <_> 4 4 2 10 3. <_> <_> 16 0 8 24 -1. <_> 16 0 4 24 2. <_> <_> 4 0 8 15 -1. <_> 8 0 4 15 2. <_> <_> 16 0 8 24 -1. <_> 16 0 4 24 2. <_> <_> 1 4 18 9 -1. <_> 7 4 6 9 3. <_> <_> 15 12 9 6 -1. <_> 15 14 9 2 3. <_> <_> 3 9 18 6 -1. <_> 3 9 9 3 2. <_> 12 12 9 3 2. <_> <_> 18 5 6 9 -1. <_> 18 8 6 3 3. <_> <_> 0 5 6 9 -1. <_> 0 8 6 3 3. <_> <_> 4 7 18 4 -1. <_> 13 7 9 2 2. <_> 4 9 9 2 2. <_> <_> 2 1 12 20 -1. <_> 2 1 6 10 2. <_> 8 11 6 10 2. <_> <_> 17 0 6 23 -1. <_> 17 0 3 23 2. <_> <_> 1 6 2 18 -1. <_> 1 15 2 9 2. <_> <_> 8 8 10 6 -1. <_> 8 10 10 2 3. <_> <_> 0 6 20 6 -1. <_> 0 6 10 3 2. <_> 10 9 10 3 2. <_> <_> 11 12 12 5 -1. <_> 15 12 4 5 3. <_> <_> 0 4 3 19 -1. <_> 1 4 1 19 3. <_> <_> 19 1 3 18 -1. <_> 20 1 1 18 3. <_> <_> 2 1 3 18 -1. <_> 3 1 1 18 3. <_> <_> 3 10 18 3 -1. <_> 9 10 6 3 3. <_> <_> 4 4 10 9 -1. <_> 9 4 5 9 2. <_> <_> 7 13 14 7 -1. <_> 7 13 7 7 2. <_> <_> 3 13 14 7 -1. <_> 10 13 7 7 2. <_> <_> 8 15 9 6 -1. <_> 11 15 3 6 3. <_> <_> 4 14 8 10 -1. <_> 4 14 4 5 2. <_> 8 19 4 5 2. <_> <_> 10 14 4 10 -1. <_> 10 19 4 5 2. <_> <_> 3 8 5 16 -1. <_> 3 16 5 8 2. <_> <_> 15 10 9 6 -1. <_> 15 12 9 2 3. <_> <_> 0 10 9 6 -1. <_> 0 12 9 2 3. <_> <_> 6 7 12 9 -1. <_> 6 10 12 3 3. <_> <_> 9 10 5 8 -1. <_> 9 14 5 4 2. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 8 15 6 9 -1. <_> 10 15 2 9 3. <_> <_> 16 6 7 6 -1. <_> 16 9 7 3 2. <_> <_> 8 1 4 22 -1. <_> 10 1 2 22 2. <_> <_> 6 6 14 3 -1. <_> 6 6 7 3 2. <_> <_> 0 18 19 3 -1. <_> 0 19 19 1 3. <_> <_> 17 0 6 24 -1. <_> 17 0 3 24 2. <_> <_> 0 13 15 6 -1. <_> 5 13 5 6 3. <_> <_> 9 6 10 14 -1. <_> 14 6 5 7 2. <_> 9 13 5 7 2. <_> <_> 1 6 8 10 -1. <_> 1 6 4 5 2. <_> 5 11 4 5 2. <_> <_> 7 6 12 5 -1. <_> 7 6 6 5 2. <_> <_> 7 7 9 6 -1. <_> 10 7 3 6 3. <_> <_> 7 8 14 14 -1. <_> 14 8 7 7 2. <_> 7 15 7 7 2. <_> <_> 3 8 14 14 -1. <_> 3 8 7 7 2. <_> 10 15 7 7 2. <_> <_> 9 8 13 4 -1. <_> 9 10 13 2 2. <_> <_> 3 2 6 12 -1. <_> 3 2 3 6 2. <_> 6 8 3 6 2. <_> <_> 6 10 17 6 -1. <_> 6 13 17 3 2. <_> <_> 1 10 17 6 -1. <_> 1 13 17 3 2. <_> <_> 16 7 8 9 -1. <_> 16 10 8 3 3. <_> <_> 0 7 8 9 -1. <_> 0 10 8 3 3. <_> <_> 0 9 24 10 -1. <_> 12 9 12 5 2. <_> 0 14 12 5 2. <_> <_> 3 2 15 8 -1. <_> 8 2 5 8 3. <_> <_> 4 2 18 8 -1. <_> 10 2 6 8 3. <_> <_> 0 1 18 4 -1. <_> 0 1 9 2 2. <_> 9 3 9 2 2. <_> <_> 20 2 3 18 -1. <_> 21 2 1 18 3. <_> <_> 1 3 3 19 -1. <_> 2 3 1 19 3. <_> <_> 18 8 6 16 -1. <_> 20 8 2 16 3. <_> <_> 0 8 6 16 -1. <_> 2 8 2 16 3. <_> <_> 8 18 11 6 -1. <_> 8 20 11 2 3. <_> <_> 4 6 12 5 -1. <_> 8 6 4 5 3. <_> <_> 7 6 12 5 -1. <_> 11 6 4 5 3. <_> <_> 6 3 9 6 -1. <_> 9 3 3 6 3. <_> <_> 7 6 12 5 -1. <_> 7 6 6 5 2. <_> <_> 9 8 6 7 -1. <_> 12 8 3 7 2. <_> <_> 8 2 9 6 -1. <_> 11 2 3 6 3. <_> <_> 8 14 6 9 -1. <_> 8 17 6 3 3. <_> <_> 8 2 9 6 -1. <_> 11 2 3 6 3. <_> <_> 4 3 16 20 -1. <_> 4 3 8 10 2. <_> 12 13 8 10 2. <_> <_> 7 6 10 12 -1. <_> 12 6 5 6 2. <_> 7 12 5 6 2. <_> <_> 0 2 7 12 -1. <_> 0 6 7 4 3. <_> <_> 12 17 11 6 -1. <_> 12 19 11 2 3. <_> <_> 4 7 12 8 -1. <_> 4 7 6 4 2. <_> 10 11 6 4 2. <_> <_> 8 11 8 10 -1. <_> 12 11 4 5 2. <_> 8 16 4 5 2. <_> <_> 9 1 4 9 -1. <_> 11 1 2 9 2. <_> <_> 14 0 3 22 -1. <_> 15 0 1 22 3. <_> <_> 7 0 3 22 -1. <_> 8 0 1 22 3. <_> <_> 4 7 18 4 -1. <_> 13 7 9 2 2. <_> 4 9 9 2 2. <_> <_> 10 2 4 15 -1. <_> 10 7 4 5 3. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 0 0 18 13 -1. <_> 9 0 9 13 2. <_> <_> 16 0 3 24 -1. <_> 17 0 1 24 3. <_> <_> 5 0 3 24 -1. <_> 6 0 1 24 3. <_> <_> 10 15 5 8 -1. <_> 10 19 5 4 2. <_> <_> 2 18 18 2 -1. <_> 2 19 18 1 2. <_> <_> 2 8 20 3 -1. <_> 2 9 20 1 3. <_> <_> 7 6 9 6 -1. <_> 7 8 9 2 3. <_> <_> 3 2 19 10 -1. <_> 3 7 19 5 2. <_> <_> 2 7 19 3 -1. <_> 2 8 19 1 3. <_> <_> 15 6 9 4 -1. <_> 15 8 9 2 2. <_> <_> 2 2 18 8 -1. <_> 8 2 6 8 3. <_> <_> 10 9 14 4 -1. <_> 10 9 7 4 2. <_> <_> 4 4 6 16 -1. <_> 7 4 3 16 2. <_> <_> 15 8 9 16 -1. <_> 18 8 3 16 3. <_> <_> 0 8 9 16 -1. <_> 3 8 3 16 3. <_> <_> 18 0 6 14 -1. <_> 20 0 2 14 3. <_> <_> 0 0 6 14 -1. <_> 2 0 2 14 3. <_> <_> 15 0 6 22 -1. <_> 17 0 2 22 3. <_> <_> 3 0 6 22 -1. <_> 5 0 2 22 3. <_> <_> 12 2 12 20 -1. <_> 16 2 4 20 3. <_> <_> 0 2 12 20 -1. <_> 4 2 4 20 3. <_> <_> 11 6 4 9 -1. <_> 11 6 2 9 2. <_> <_> 9 0 6 16 -1. <_> 12 0 3 16 2. <_> <_> 12 1 3 12 -1. <_> 12 7 3 6 2. <_> <_> 3 4 18 6 -1. <_> 3 4 9 3 2. <_> 12 7 9 3 2. <_> <_> 5 5 16 8 -1. <_> 13 5 8 4 2. <_> 5 9 8 4 2. <_> <_> 0 13 10 6 -1. <_> 0 15 10 2 3. <_> <_> 8 14 9 6 -1. <_> 8 16 9 2 3. <_> <_> 6 2 9 6 -1. <_> 9 2 3 6 3. <_> <_> 14 1 10 8 -1. <_> 19 1 5 4 2. <_> 14 5 5 4 2. <_> <_> 9 1 3 12 -1. <_> 9 7 3 6 2. <_> <_> 6 4 12 9 -1. <_> 6 7 12 3 3. <_> <_> 6 5 12 6 -1. <_> 10 5 4 6 3. <_> <_> 1 1 8 5 -1. <_> 5 1 4 5 2. <_> <_> 12 12 6 8 -1. <_> 12 16 6 4 2. <_> <_> 3 12 12 6 -1. <_> 3 14 12 2 3. <_> <_> 9 18 12 6 -1. <_> 15 18 6 3 2. <_> 9 21 6 3 2. <_> <_> 4 13 6 6 -1. <_> 4 16 6 3 2. <_> <_> 11 3 7 18 -1. <_> 11 12 7 9 2. <_> <_> 3 9 18 3 -1. <_> 9 9 6 3 3. <_> <_> 5 3 19 2 -1. <_> 5 4 19 1 2. <_> <_> 4 2 12 6 -1. <_> 4 2 6 3 2. <_> 10 5 6 3 2. <_> <_> 9 6 6 9 -1. <_> 11 6 2 9 3. <_> <_> 8 6 6 9 -1. <_> 10 6 2 9 3. <_> <_> 16 9 5 15 -1. <_> 16 14 5 5 3. <_> <_> 3 9 5 15 -1. <_> 3 14 5 5 3. <_> <_> 6 6 14 6 -1. <_> 13 6 7 3 2. <_> 6 9 7 3 2. <_> <_> 8 6 3 14 -1. <_> 8 13 3 7 2. <_> <_> 0 16 24 5 -1. <_> 8 16 8 5 3. <_> <_> 0 20 20 3 -1. <_> 10 20 10 3 2. <_> <_> 5 10 18 2 -1. <_> 5 11 18 1 2. <_> <_> 0 6 6 10 -1. <_> 2 6 2 10 3. <_> <_> 2 1 20 3 -1. <_> 2 2 20 1 3. <_> <_> 9 13 6 11 -1. <_> 11 13 2 11 3. <_> <_> 9 15 6 8 -1. <_> 9 19 6 4 2. <_> <_> 9 12 6 9 -1. <_> 9 15 6 3 3. <_> <_> 5 11 18 2 -1. <_> 5 12 18 1 2. <_> <_> 2 6 15 6 -1. <_> 2 8 15 2 3. <_> <_> 6 0 18 3 -1. <_> 6 1 18 1 3. <_> <_> 5 0 3 18 -1. <_> 6 0 1 18 3. <_> <_> 18 3 6 10 -1. <_> 20 3 2 10 3. <_> <_> 0 3 6 10 -1. <_> 2 3 2 10 3. <_> <_> 10 5 8 9 -1. <_> 10 5 4 9 2. <_> <_> 6 5 8 9 -1. <_> 10 5 4 9 2. <_> <_> 3 2 20 3 -1. <_> 3 3 20 1 3. <_> <_> 5 2 13 4 -1. <_> 5 4 13 2 2. <_> <_> 17 0 7 14 -1. <_> 17 7 7 7 2. <_> <_> 0 0 7 14 -1. <_> 0 7 7 7 2. <_> <_> 9 11 10 6 -1. <_> 9 11 5 6 2. <_> <_> 5 11 10 6 -1. <_> 10 11 5 6 2. <_> <_> 11 6 3 18 -1. <_> 11 12 3 6 3. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 6 16 18 3 -1. <_> 6 17 18 1 3. <_> <_> 4 6 9 10 -1. <_> 4 11 9 5 2. <_> <_> 9 7 15 4 -1. <_> 9 9 15 2 2. <_> <_> 5 6 12 6 -1. <_> 5 6 6 3 2. <_> 11 9 6 3 2. <_> <_> 6 1 12 9 -1. <_> 6 4 12 3 3. <_> <_> 7 9 6 12 -1. <_> 7 9 3 6 2. <_> 10 15 3 6 2. <_> <_> 11 5 13 6 -1. <_> 11 7 13 2 3. <_> <_> 1 11 22 13 -1. <_> 12 11 11 13 2. <_> <_> 18 8 6 6 -1. <_> 18 11 6 3 2. <_> <_> 0 8 6 6 -1. <_> 0 11 6 3 2. <_> <_> 0 6 24 3 -1. <_> 0 7 24 1 3. <_> <_> 0 5 10 6 -1. <_> 0 7 10 2 3. <_> <_> 6 7 18 3 -1. <_> 6 8 18 1 3. <_> <_> 0 0 10 6 -1. <_> 0 2 10 2 3. <_> <_> 19 0 3 19 -1. <_> 20 0 1 19 3. <_> <_> 4 6 12 16 -1. <_> 4 6 6 8 2. <_> 10 14 6 8 2. <_> <_> 19 6 4 18 -1. <_> 21 6 2 9 2. <_> 19 15 2 9 2. <_> <_> 1 6 4 18 -1. <_> 1 6 2 9 2. <_> 3 15 2 9 2. <_> <_> 3 21 18 3 -1. <_> 3 22 18 1 3. <_> <_> 0 19 9 4 -1. <_> 0 21 9 2 2. <_> <_> 12 18 12 6 -1. <_> 18 18 6 3 2. <_> 12 21 6 3 2. <_> <_> 7 18 9 4 -1. <_> 7 20 9 2 2. <_> <_> 12 16 10 8 -1. <_> 17 16 5 4 2. <_> 12 20 5 4 2. <_> <_> 2 16 10 8 -1. <_> 2 16 5 4 2. <_> 7 20 5 4 2. <_> <_> 14 0 10 12 -1. <_> 19 0 5 6 2. <_> 14 6 5 6 2. <_> <_> 0 0 10 12 -1. <_> 0 0 5 6 2. <_> 5 6 5 6 2. <_> <_> 15 14 9 6 -1. <_> 15 16 9 2 3. <_> <_> 0 14 9 6 -1. <_> 0 16 9 2 3. <_> <_> 14 14 10 6 -1. <_> 14 16 10 2 3. <_> <_> 0 14 10 6 -1. <_> 0 16 10 2 3. <_> <_> 5 18 18 2 -1. <_> 5 19 18 1 2. <_> <_> 0 18 18 3 -1. <_> 0 19 18 1 3. <_> <_> 3 5 18 12 -1. <_> 12 5 9 6 2. <_> 3 11 9 6 2. <_> <_> 5 3 7 9 -1. <_> 5 6 7 3 3. <_> <_> 4 0 19 15 -1. <_> 4 5 19 5 3. <_> <_> 3 0 16 4 -1. <_> 3 2 16 2 2. <_> <_> 4 12 16 12 -1. <_> 4 12 8 12 2. <_> <_> 4 3 12 15 -1. <_> 10 3 6 15 2. <_> <_> 16 4 2 19 -1. <_> 16 4 1 19 2. <_> <_> 6 4 2 19 -1. <_> 7 4 1 19 2. <_> <_> 13 14 8 10 -1. <_> 17 14 4 5 2. <_> 13 19 4 5 2. <_> <_> 3 14 8 10 -1. <_> 3 14 4 5 2. <_> 7 19 4 5 2. <_> <_> 12 6 3 18 -1. <_> 12 12 3 6 3. <_> <_> 5 11 12 6 -1. <_> 5 11 6 3 2. <_> 11 14 6 3 2. <_> <_> 10 5 8 10 -1. <_> 14 5 4 5 2. <_> 10 10 4 5 2. <_> <_> 6 4 12 10 -1. <_> 6 4 6 5 2. <_> 12 9 6 5 2. <_> <_> 6 8 18 10 -1. <_> 15 8 9 5 2. <_> 6 13 9 5 2. <_> <_> 0 8 18 10 -1. <_> 0 8 9 5 2. <_> 9 13 9 5 2. <_> <_> 12 6 3 18 -1. <_> 12 12 3 6 3. <_> <_> 0 14 18 3 -1. <_> 0 15 18 1 3. <_> <_> 12 6 3 18 -1. <_> 12 12 3 6 3. <_> <_> 9 6 3 18 -1. <_> 9 12 3 6 3. <_> <_> 6 14 18 3 -1. <_> 6 15 18 1 3. <_> <_> 0 5 18 3 -1. <_> 0 6 18 1 3. <_> <_> 2 5 22 3 -1. <_> 2 6 22 1 3. <_> <_> 0 0 21 10 -1. <_> 7 0 7 10 3. <_> <_> 6 3 18 17 -1. <_> 12 3 6 17 3. <_> <_> 0 3 18 17 -1. <_> 6 3 6 17 3. <_> <_> 0 12 24 11 -1. <_> 8 12 8 11 3. <_> <_> 4 10 16 6 -1. <_> 4 13 16 3 2. <_> <_> 12 8 6 8 -1. <_> 12 12 6 4 2. <_> <_> 6 14 8 7 -1. <_> 10 14 4 7 2. <_> <_> 15 10 6 14 -1. <_> 18 10 3 7 2. <_> 15 17 3 7 2. <_> <_> 3 10 6 14 -1. <_> 3 10 3 7 2. <_> 6 17 3 7 2. <_> <_> 6 12 18 2 -1. <_> 6 13 18 1 2. <_> <_> 5 8 10 6 -1. <_> 5 10 10 2 3. <_> <_> 12 11 9 4 -1. <_> 12 13 9 2 2. <_> <_> 0 11 9 6 -1. <_> 0 13 9 2 3. <_> <_> 11 2 3 18 -1. <_> 12 2 1 18 3. <_> <_> 10 2 3 18 -1. <_> 11 2 1 18 3. <_> <_> 9 12 6 10 -1. <_> 11 12 2 10 3. <_> <_> 1 10 6 9 -1. <_> 1 13 6 3 3. <_> <_> 6 9 16 6 -1. <_> 14 9 8 3 2. <_> 6 12 8 3 2. <_> <_> 1 8 9 6 -1. <_> 1 10 9 2 3. <_> <_> 7 7 16 6 -1. <_> 7 9 16 2 3. <_> <_> 0 0 18 3 -1. <_> 0 1 18 1 3. <_> <_> 10 0 6 9 -1. <_> 12 0 2 9 3. <_> <_> 9 5 6 6 -1. <_> 12 5 3 6 2. <_> <_> 10 6 4 18 -1. <_> 12 6 2 9 2. <_> 10 15 2 9 2. <_> <_> 8 0 6 9 -1. <_> 10 0 2 9 3. <_> <_> 9 1 6 9 -1. <_> 9 4 6 3 3. <_> <_> 1 0 18 9 -1. <_> 1 3 18 3 3. <_> <_> 0 3 24 3 -1. <_> 0 4 24 1 3. <_> <_> 6 14 9 4 -1. <_> 6 16 9 2 2. <_> <_> 8 9 8 10 -1. <_> 12 9 4 5 2. <_> 8 14 4 5 2. <_> <_> 5 2 13 9 -1. <_> 5 5 13 3 3. <_> <_> 4 4 16 9 -1. <_> 4 7 16 3 3. <_> <_> 4 4 14 9 -1. <_> 4 7 14 3 3. <_> <_> 8 5 9 6 -1. <_> 8 7 9 2 3. <_> <_> 1 7 16 6 -1. <_> 1 9 16 2 3. <_> <_> 10 5 13 9 -1. <_> 10 8 13 3 3. <_> <_> 1 5 13 9 -1. <_> 1 8 13 3 3. <_> <_> 0 4 24 6 -1. <_> 12 4 12 3 2. <_> 0 7 12 3 2. <_> <_> 1 14 10 9 -1. <_> 1 17 10 3 3. <_> <_> 5 17 18 3 -1. <_> 5 18 18 1 3. <_> <_> 0 16 18 3 -1. <_> 0 17 18 1 3. <_> <_> 9 17 9 6 -1. <_> 9 19 9 2 3. <_> <_> 1 20 22 4 -1. <_> 1 20 11 2 2. <_> 12 22 11 2 2. <_> <_> 8 14 8 6 -1. <_> 8 17 8 3 2. <_> <_> 8 6 8 15 -1. <_> 8 11 8 5 3. <_> <_> 5 4 18 3 -1. <_> 5 5 18 1 3. <_> <_> 9 3 5 10 -1. <_> 9 8 5 5 2. <_> <_> 6 8 12 3 -1. <_> 6 8 6 3 2. <_> <_> 2 6 18 6 -1. <_> 2 6 9 3 2. <_> 11 9 9 3 2. <_> <_> 10 6 4 18 -1. <_> 12 6 2 9 2. <_> 10 15 2 9 2. <_> <_> 7 5 6 6 -1. <_> 10 5 3 6 2. <_> <_> 14 5 2 18 -1. <_> 14 14 2 9 2. <_> <_> 8 5 2 18 -1. <_> 8 14 2 9 2. <_> <_> 9 2 10 6 -1. <_> 9 2 5 6 2. <_> <_> 3 1 18 12 -1. <_> 12 1 9 12 2. <_> <_> 5 2 17 22 -1. <_> 5 13 17 11 2. <_> <_> 4 0 12 6 -1. <_> 4 2 12 2 3. <_> <_> 6 9 16 6 -1. <_> 14 9 8 3 2. <_> 6 12 8 3 2. <_> <_> 9 0 5 18 -1. <_> 9 9 5 9 2. <_> <_> 12 0 6 9 -1. <_> 14 0 2 9 3. <_> <_> 6 0 6 9 -1. <_> 8 0 2 9 3. <_> <_> 9 1 6 12 -1. <_> 11 1 2 12 3. <_> <_> 5 9 13 4 -1. <_> 5 11 13 2 2. <_> <_> 5 8 19 3 -1. <_> 5 9 19 1 3. <_> <_> 9 9 6 8 -1. <_> 9 13 6 4 2. <_> <_> 11 9 4 15 -1. <_> 11 14 4 5 3. <_> <_> 2 0 6 14 -1. <_> 2 0 3 7 2. <_> 5 7 3 7 2. <_> <_> 15 1 6 14 -1. <_> 18 1 3 7 2. <_> 15 8 3 7 2. <_> <_> 3 1 6 14 -1. <_> 3 1 3 7 2. <_> 6 8 3 7 2. <_> <_> 3 20 18 4 -1. <_> 12 20 9 2 2. <_> 3 22 9 2 2. <_> <_> 5 0 4 20 -1. <_> 5 0 2 10 2. <_> 7 10 2 10 2. <_> <_> 16 8 8 12 -1. <_> 20 8 4 6 2. <_> 16 14 4 6 2. <_> <_> 0 8 8 12 -1. <_> 0 8 4 6 2. <_> 4 14 4 6 2. <_> <_> 13 13 10 8 -1. <_> 18 13 5 4 2. <_> 13 17 5 4 2. <_> <_> 1 13 10 8 -1. <_> 1 13 5 4 2. <_> 6 17 5 4 2. <_> <_> 15 8 4 15 -1. <_> 15 13 4 5 3. <_> <_> 5 8 4 15 -1. <_> 5 13 4 5 3. <_> <_> 6 11 16 12 -1. <_> 6 15 16 4 3. <_> <_> 2 11 16 12 -1. <_> 2 15 16 4 3. <_> <_> 14 12 7 9 -1. <_> 14 15 7 3 3. <_> <_> 10 1 3 21 -1. <_> 10 8 3 7 3. <_> <_> 13 11 9 4 -1. <_> 13 13 9 2 2. <_> <_> 3 10 17 9 -1. <_> 3 13 17 3 3. <_> <_> 13 8 8 15 -1. <_> 13 13 8 5 3. <_> <_> 3 8 8 15 -1. <_> 3 13 8 5 3. <_> <_> 11 14 10 8 -1. <_> 16 14 5 4 2. <_> 11 18 5 4 2. <_> <_> 0 18 22 6 -1. <_> 0 18 11 3 2. <_> 11 21 11 3 2. <_> <_> 0 16 24 4 -1. <_> 0 16 12 4 2. <_> <_> 6 20 12 3 -1. <_> 12 20 6 3 2. <_> <_> 18 12 6 12 -1. <_> 21 12 3 6 2. <_> 18 18 3 6 2. <_> <_> 0 12 6 12 -1. <_> 0 12 3 6 2. <_> 3 18 3 6 2. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 1 6 22 10 -1. <_> 1 6 11 5 2. <_> 12 11 11 5 2. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 0 18 18 2 -1. <_> 0 19 18 1 2. <_> <_> 3 15 19 3 -1. <_> 3 16 19 1 3. <_> <_> 0 13 18 3 -1. <_> 0 14 18 1 3. <_> <_> 15 17 9 6 -1. <_> 15 19 9 2 3. <_> <_> 0 17 9 6 -1. <_> 0 19 9 2 3. <_> <_> 12 17 9 6 -1. <_> 12 19 9 2 3. <_> <_> 3 17 9 6 -1. <_> 3 19 9 2 3. <_> <_> 16 2 3 20 -1. <_> 17 2 1 20 3. <_> <_> 0 13 24 8 -1. <_> 0 17 24 4 2. <_> <_> 9 1 6 22 -1. <_> 12 1 3 11 2. <_> 9 12 3 11 2. ================================================ FILE: examples/opencv-face/haarcascade_profileface.xml ================================================ BOOST HAAR 20 20 195 0 26 <_> 3 -1.1856809854507446e+00 <_> 0 -1 0 1.1384399840608239e-03 -8.3771979808807373e-01 7.3413830995559692e-01 <_> 0 -1 1 -1.1342350393533707e-02 6.2702018022537231e-01 -7.2396302223205566e-01 <_> 0 -1 2 -1.1023089755326509e-03 3.7600189447402954e-01 -6.6088408231735229e-01 <_> 12 -1.4913179874420166e+00 <_> 0 -1 3 -1.9553869962692261e-02 4.9245831370353699e-01 -6.3396167755126953e-01 <_> 0 -1 4 2.2794529795646667e-03 -6.4604967832565308e-01 3.5818460583686829e-01 <_> 0 -1 5 2.4270440917462111e-03 -4.7253230214118958e-01 2.8494310379028320e-01 <_> 0 -1 6 1.9644061103463173e-03 1.6999539732933044e-01 -7.7868157625198364e-01 <_> 0 -1 7 2.2895270958542824e-03 1.5551710128784180e-01 -6.6725099086761475e-01 <_> 0 -1 8 -3.0143910553306341e-03 -6.8721300363540649e-01 1.4604569971561432e-01 <_> 0 -1 9 -1.7399009317159653e-02 7.2524380683898926e-01 -1.6572900116443634e-01 <_> 0 -1 10 9.0722442837432027e-04 -4.6388080716133118e-01 2.3604999482631683e-01 <_> 0 -1 11 -1.5043979510664940e-03 -7.5959628820419312e-01 1.1436919867992401e-01 <_> 0 -1 12 1.0804689675569534e-01 -1.2865519523620605e-01 7.9092341661453247e-01 <_> 0 -1 13 -1.1923050042241812e-03 -6.2403547763824463e-01 1.4847490191459656e-01 <_> 0 -1 14 -2.0571390166878700e-02 4.0808489918708801e-01 -2.1287000179290771e-01 <_> 27 -1.9596290588378906e+00 <_> 0 -1 15 -3.6899209022521973e-02 5.3308618068695068e-01 -4.0872651338577271e-01 <_> 0 -1 16 2.4960909504443407e-03 -6.9489312171936035e-01 2.7125179767608643e-01 <_> 0 -1 17 2.4068039783742279e-04 -5.6208252906799316e-01 2.1930350363254547e-01 <_> 0 -1 18 -5.8021828532218933e-02 6.9060617685317993e-01 -1.5082140266895294e-01 <_> 0 -1 19 1.1526979506015778e-03 1.3925389945507050e-01 -6.6311657428741455e-01 <_> 0 -1 20 7.4388440698385239e-03 -3.3333170413970947e-01 3.1699380278587341e-01 <_> 0 -1 21 -1.4158539706841111e-03 -6.8007302284240723e-01 1.3243320584297180e-01 <_> 0 -1 22 8.8562711607664824e-04 -3.8672161102294922e-01 1.9732959568500519e-01 <_> 0 -1 23 2.5714060757309198e-03 1.2035659700632095e-01 -7.3177069425582886e-01 <_> 0 -1 24 1.8255549948662519e-03 7.7979840338230133e-02 -7.7196091413497925e-01 <_> 0 -1 25 -1.1993020307272673e-03 1.6821229457855225e-01 -4.1479128599166870e-01 <_> 0 -1 26 2.3179080337285995e-02 7.5337320566177368e-02 -7.1047067642211914e-01 <_> 0 -1 27 4.6539418399333954e-02 -1.0464839637279510e-01 6.6270697116851807e-01 <_> 0 -1 28 -1.7157640540972352e-03 -4.9618211388587952e-01 1.6275240480899811e-01 <_> 0 -1 29 -1.2778829783201218e-02 4.6254539489746094e-01 -1.6027900576591492e-01 <_> 0 -1 30 -1.5214820206165314e-01 -7.0592701435089111e-01 1.0022509843111038e-01 <_> 0 -1 31 3.1789899803698063e-03 1.2345749884843826e-01 -3.9093419909477234e-01 <_> 0 -1 32 -2.2882770281285048e-03 3.7081500887870789e-01 -1.6210420429706573e-01 <_> 0 -1 33 -2.9806189704686403e-03 1.8087059259414673e-01 -3.3239859342575073e-01 <_> 0 -1 34 -1.5072739915922284e-03 -4.9472311139106750e-01 9.8288856446743011e-02 <_> 0 -1 35 1.9225040450692177e-03 -1.7791110277175903e-01 3.0773329734802246e-01 <_> 0 -1 36 1.9025449873879552e-03 8.4794998168945312e-02 -5.9020972251892090e-01 <_> 0 -1 37 -3.5421559587121010e-03 3.1175771355628967e-01 -1.4392930269241333e-01 <_> 0 -1 38 -2.9751660767942667e-03 -6.3649141788482666e-01 8.2639887928962708e-02 <_> 0 -1 39 1.0003290139138699e-02 -1.1699260026216507e-01 4.2387530207633972e-01 <_> 0 -1 40 -1.9193530315533280e-03 -4.7115838527679443e-01 1.1038240045309067e-01 <_> 0 -1 41 2.5070620700716972e-02 4.8775929957628250e-02 -8.0351328849792480e-01 <_> 28 -1.9849590063095093e+00 <_> 0 -1 42 1.4214799739420414e-02 -6.3577878475189209e-01 3.3461728692054749e-01 <_> 0 -1 43 -1.2525909580290318e-02 3.2766130566596985e-01 -4.1331529617309570e-01 <_> 0 -1 44 -2.2514370357384905e-05 2.3102630674839020e-01 -5.4282051324844360e-01 <_> 0 -1 45 1.8600060138851404e-03 1.7933349311351776e-01 -6.9131940603256226e-01 <_> 0 -1 46 7.8344792127609253e-03 9.1071300208568573e-02 -7.8126847743988037e-01 <_> 0 -1 47 -4.2322301305830479e-03 2.0658409595489502e-01 -4.2906031012535095e-01 <_> 0 -1 48 -7.5860600918531418e-04 2.0730710029602051e-01 -4.2070311307907104e-01 <_> 0 -1 49 -3.5626380704343319e-03 -6.3227087259292603e-01 1.3118620216846466e-01 <_> 0 -1 50 -4.9960161559283733e-03 -7.5112378597259521e-01 7.8203327953815460e-02 <_> 0 -1 51 7.3098740540444851e-03 9.3428641557693481e-02 -6.6310107707977295e-01 <_> 0 -1 52 2.2772040392737836e-04 -3.4148821234703064e-01 2.0008200407028198e-01 <_> 0 -1 53 8.3124160300940275e-04 -2.5448161363601685e-01 2.5857710838317871e-01 <_> 0 -1 54 -7.5492179021239281e-03 -6.6138988733291626e-01 8.3004422485828400e-02 <_> 0 -1 55 -3.8039948791265488e-02 -8.2163572311401367e-01 5.9231590479612350e-02 <_> 0 -1 56 2.8484580107033253e-03 8.9729957282543182e-02 -5.8333742618560791e-01 <_> 0 -1 57 4.8181698657572269e-03 9.3960560858249664e-02 -5.7619768381118774e-01 <_> 0 -1 58 -1.1190489865839481e-02 -6.2544298171997070e-01 7.3608897626399994e-02 <_> 0 -1 59 -6.4537129364907742e-03 5.5123388767242432e-01 -1.0020790249109268e-01 <_> 0 -1 60 3.3225629013031721e-03 -1.0797890275716782e-01 5.3664940595626831e-01 <_> 0 -1 61 4.6705761924386024e-03 8.8321126997470856e-02 -6.7683601379394531e-01 <_> 0 -1 62 -1.1613310314714909e-02 -5.0711882114410400e-01 7.6556630432605743e-02 <_> 0 -1 63 -3.7515610456466675e-02 -7.2936272621154785e-01 5.9448610991239548e-02 <_> 0 -1 64 2.3086030036211014e-02 5.0718959420919418e-02 -7.8459781408309937e-01 <_> 0 -1 65 -7.1651988946541678e-06 1.6686220467090607e-01 -2.5713220238685608e-01 <_> 0 -1 66 7.1611627936363220e-04 1.0636030137538910e-01 -4.2793640494346619e-01 <_> 0 -1 67 4.1476460173726082e-03 -1.2069659680128098e-01 4.1993188858032227e-01 <_> 0 -1 68 -2.5815099943429232e-03 4.8718088865280151e-01 -1.0045810043811798e-01 <_> 0 -1 69 -1.7147070029750466e-03 -4.6096310019493103e-01 1.0375110059976578e-01 <_> 28 -1.8260079622268677e+00 <_> 0 -1 70 -6.1202719807624817e-02 3.9079108834266663e-01 -3.9401251077651978e-01 <_> 0 -1 71 -1.4643670292571187e-03 -7.3697841167449951e-01 1.5660220384597778e-01 <_> 0 -1 72 7.2080420795828104e-04 2.1675530076026917e-01 -5.8012658357620239e-01 <_> 0 -1 73 6.4895692048594356e-04 -7.2308099269866943e-01 1.2785249948501587e-01 <_> 0 -1 74 -1.7158190021291375e-03 -7.7100431919097900e-01 1.0210309922695160e-01 <_> 0 -1 75 -2.2490581031888723e-03 -6.0623127222061157e-01 1.2427269667387009e-01 <_> 0 -1 76 5.3841978311538696e-02 -1.7169749736785889e-01 5.3350567817687988e-01 <_> 0 -1 77 -1.3288970291614532e-01 5.5924367904663086e-01 -1.8954899907112122e-01 <_> 0 -1 78 9.0965389972552657e-04 -4.7166430950164795e-01 1.6924260556697845e-01 <_> 0 -1 79 6.0799147468060255e-04 1.1347220093011856e-01 -5.9846878051757812e-01 <_> 0 -1 80 1.6072629392147064e-01 -1.0295519977807999e-01 6.6487199068069458e-01 <_> 0 -1 81 -1.7097239615395665e-03 -4.7276279330253601e-01 1.3392050564289093e-01 <_> 0 -1 82 1.1734620202332735e-03 -2.2795589268207550e-01 2.6135650277137756e-01 <_> 0 -1 83 -1.5138329472392797e-03 -5.5395001173019409e-01 1.1028339713811874e-01 <_> 0 -1 84 -2.1774161141365767e-03 -6.2228900194168091e-01 7.8486673533916473e-02 <_> 0 -1 85 -2.7727920096367598e-03 4.6141120791435242e-01 -1.3496559858322144e-01 <_> 0 -1 86 9.3199027469381690e-04 1.0162770003080368e-01 -5.1631838083267212e-01 <_> 0 -1 87 2.9746659565716982e-03 -1.2999209761619568e-01 4.2117300629615784e-01 <_> 0 -1 88 -5.0399480387568474e-03 -6.3706171512603760e-01 7.7624127268791199e-02 <_> 0 -1 89 2.3414850234985352e-02 7.2182796895503998e-02 -5.9831130504608154e-01 <_> 0 -1 90 -1.0927390540018678e-03 -4.1664880514144897e-01 1.1829990148544312e-01 <_> 0 -1 91 -1.6441360348835588e-03 1.8583069741725922e-01 -2.7551019191741943e-01 <_> 0 -1 92 -2.5736279785633087e-02 -7.5146478414535522e-01 6.3907749950885773e-02 <_> 0 -1 93 -2.8924590442329645e-03 -5.6780880689620972e-01 7.3297739028930664e-02 <_> 0 -1 94 -5.2889231592416763e-03 -6.3738888502120972e-01 6.8686947226524353e-02 <_> 0 -1 95 3.2964269630610943e-03 -2.5062951445579529e-01 1.5989780426025391e-01 <_> 0 -1 96 2.4914439767599106e-02 5.5260978639125824e-02 -7.6208770275115967e-01 <_> 0 -1 97 -1.5088500455021858e-02 3.7033379077911377e-01 -1.2003959715366364e-01 <_> 53 -1.9446740150451660e+00 <_> 0 -1 98 -1.1857179924845695e-02 2.9421558976173401e-01 -5.1703310012817383e-01 <_> 0 -1 99 2.0991980563849211e-03 -6.1471748352050781e-01 2.0648500323295593e-01 <_> 0 -1 100 -1.5772449842188507e-04 2.2870740294456482e-01 -5.5258047580718994e-01 <_> 0 -1 101 -2.0669099467340857e-04 1.2070009857416153e-01 -5.4926127195358276e-01 <_> 0 -1 102 2.2675560321658850e-03 1.5354810655117035e-01 -4.6074301004409790e-01 <_> 0 -1 103 1.4469499699771404e-02 -1.8976309895515442e-01 4.2071411013603210e-01 <_> 0 -1 104 -1.2127560330554843e-03 -4.5139861106872559e-01 9.9425867199897766e-02 <_> 0 -1 105 2.1505509503185749e-03 1.0200879722833633e-01 -6.2064242362976074e-01 <_> 0 -1 106 -1.6638869419693947e-03 -7.0367491245269775e-01 7.7214680612087250e-02 <_> 0 -1 107 1.0530210565775633e-03 -3.2453960180282593e-01 1.7616109549999237e-01 <_> 0 -1 108 1.1836409568786621e-02 -1.3507820665836334e-01 4.2641130089759827e-01 <_> 0 -1 109 9.6512871095910668e-04 9.4502769410610199e-02 -4.8544931411743164e-01 <_> 0 -1 110 7.5651629595085979e-04 -2.9959529638290405e-01 1.6867619752883911e-01 <_> 0 -1 111 1.0839150287210941e-02 -1.1121030151844025e-01 4.6914410591125488e-01 <_> 0 -1 112 -5.1439419388771057e-02 4.1726920008659363e-01 -1.1776400357484818e-01 <_> 0 -1 113 3.4927250817418098e-03 9.2512279748916626e-02 -5.2599352598190308e-01 <_> 0 -1 114 -1.3926399871706963e-02 -6.6633498668670654e-01 5.2386458963155746e-02 <_> 0 -1 115 4.5590959489345551e-03 -9.3383841216564178e-02 4.3774750828742981e-01 <_> 0 -1 116 -3.7318699061870575e-02 -5.9583687782287598e-01 7.2627849876880646e-02 <_> 0 -1 117 1.2496879789978266e-03 6.9537237286567688e-02 -4.8772460222244263e-01 <_> 0 -1 118 -3.7307639140635729e-03 3.2699251174926758e-01 -1.1739090085029602e-01 <_> 0 -1 119 2.1144179627299309e-03 9.2889092862606049e-02 -4.1788020730018616e-01 <_> 0 -1 120 -6.4239342464134097e-04 -2.9332190752029419e-01 1.3107809424400330e-01 <_> 0 -1 121 -3.1379980500787497e-03 3.2445520162582397e-01 -1.1506850272417068e-01 <_> 0 -1 122 -3.9186969399452209e-02 -7.9360449314117432e-01 5.0053481012582779e-02 <_> 0 -1 123 4.4646807946264744e-03 5.4776020348072052e-02 -5.6535738706588745e-01 <_> 0 -1 124 8.6451368406414986e-04 -1.7471200227737427e-01 1.9758160412311554e-01 <_> 0 -1 125 2.4237011093646288e-03 -9.5296189188957214e-02 4.0760260820388794e-01 <_> 0 -1 126 -2.5377490092068911e-03 -6.2454742193222046e-01 6.9920547306537628e-02 <_> 0 -1 127 -7.3309220169903710e-06 1.2249249964952469e-01 -2.8157269954681396e-01 <_> 0 -1 128 -1.8882560543715954e-03 -6.2670397758483887e-01 6.5820932388305664e-02 <_> 0 -1 129 6.0609861975535750e-04 -2.5481408834457397e-01 1.2902240455150604e-01 <_> 0 -1 130 2.3213759995996952e-03 -9.7430117428302765e-02 3.2456091046333313e-01 <_> 0 -1 131 -1.8534410046413541e-03 -4.4065341353416443e-01 8.2968853414058685e-02 <_> 0 -1 132 2.3999500554054976e-03 -1.2041269987821579e-01 2.8288060426712036e-01 <_> 0 -1 133 -8.1356197595596313e-02 -7.3972231149673462e-01 4.6568300575017929e-02 <_> 0 -1 134 -2.9865680262446404e-03 1.6334620118141174e-01 -1.9834910333156586e-01 <_> 0 -1 135 2.8128880076110363e-03 1.1837379634380341e-01 -2.9398199915885925e-01 <_> 0 -1 136 -1.0060790181159973e-01 -7.3717647790908813e-01 4.2510021477937698e-02 <_> 0 -1 137 1.1854549666168168e-04 1.0471060127019882e-01 -2.9139861464500427e-01 <_> 0 -1 138 2.2375308908522129e-03 -9.6042059361934662e-02 3.4045928716659546e-01 <_> 0 -1 139 -4.4986992143094540e-03 -5.8234661817550659e-01 5.6236840784549713e-02 <_> 0 -1 140 -3.6484538577497005e-04 -2.7956131100654602e-01 1.0113990306854248e-01 <_> 0 -1 141 -7.9940296709537506e-03 2.7775949239730835e-01 -1.1941230297088623e-01 <_> 0 -1 142 -5.1547219045460224e-03 -6.0229510068893433e-01 4.8917140811681747e-02 <_> 0 -1 143 -8.1772619159892201e-04 1.7660500109195709e-01 -1.6407689452171326e-01 <_> 0 -1 144 6.7434698343276978e-02 4.0761459618806839e-02 -7.1865761280059814e-01 <_> 0 -1 145 -2.4103289470076561e-03 1.7671680450439453e-01 -1.6081850230693817e-01 <_> 0 -1 146 -3.5183799918740988e-03 -4.3078601360321045e-01 7.0671632885932922e-02 <_> 0 -1 147 -1.4561560419679154e-05 1.2714700400829315e-01 -2.3387859761714935e-01 <_> 0 -1 148 -4.7951821237802505e-02 -7.9085767269134521e-01 3.6803081631660461e-02 <_> 0 -1 149 2.1735159680247307e-03 -1.3089279830455780e-01 2.5330349802970886e-01 <_> 0 -1 150 -3.4542270004749298e-03 5.1025247573852539e-01 -7.5337253510951996e-02 <_> 54 -1.8389279842376709e+00 <_> 0 -1 151 4.5243161730468273e-03 -3.0485519766807556e-01 5.1908642053604126e-01 <_> 0 -1 152 2.3372350260615349e-03 -4.2904540896415710e-01 2.9052159190177917e-01 <_> 0 -1 153 -4.4243237935006618e-03 2.1068570017814636e-01 -4.5954981446266174e-01 <_> 0 -1 154 -1.2887439690530300e-02 1.9138230383396149e-01 -4.5879068970680237e-01 <_> 0 -1 155 -5.2370920457178727e-05 1.4141489565372467e-01 -5.0267368555068970e-01 <_> 0 -1 156 -4.7738491557538509e-03 -4.8760831356048584e-01 1.2341009825468063e-01 <_> 0 -1 157 9.6315861446782947e-04 1.3367399573326111e-01 -4.4793748855590820e-01 <_> 0 -1 158 -8.9140303432941437e-02 5.0387668609619141e-01 -1.5923009812831879e-01 <_> 0 -1 159 1.7201449954882264e-03 -2.0535360276699066e-01 2.4340680241584778e-01 <_> 0 -1 160 -2.6712119579315186e-03 -6.3319712877273560e-01 5.3035650402307510e-02 <_> 0 -1 161 3.7353280931711197e-02 -1.1360249668359756e-01 4.6645331382751465e-01 <_> 0 -1 162 -3.1510960310697556e-02 -6.8820482492446899e-01 6.9371856749057770e-02 <_> 0 -1 163 1.5293819829821587e-02 -1.0043840110301971e-01 4.6267789602279663e-01 <_> 0 -1 164 5.4966909810900688e-03 -9.3514643609523773e-02 4.5127061009407043e-01 <_> 0 -1 165 -4.6311439946293831e-03 -6.4314597845077515e-01 8.5003547370433807e-02 <_> 0 -1 166 8.0943357897922397e-04 7.9738967120647430e-02 -4.9320799112319946e-01 <_> 0 -1 167 2.9745940119028091e-02 7.8420467674732208e-02 -5.0482439994812012e-01 <_> 0 -1 168 9.7070122137665749e-04 5.8135438710451126e-02 -5.7035177946090698e-01 <_> 0 -1 169 2.4534659460186958e-03 -1.1259060353040695e-01 3.6852970719337463e-01 <_> 0 -1 170 1.9709810148924589e-03 7.7185310423374176e-02 -5.2683860063552856e-01 <_> 0 -1 171 4.8643019981682301e-03 -1.0479539632797241e-01 4.1474440693855286e-01 <_> 0 -1 172 1.0143260005861521e-03 -1.4731560647487640e-01 2.8671079874038696e-01 <_> 0 -1 173 -9.5099088503047824e-04 -3.8070049881935120e-01 8.8108353316783905e-02 <_> 0 -1 174 -5.6730289943516254e-03 2.4818900227546692e-01 -1.3696339726448059e-01 <_> 0 -1 175 1.6987899318337440e-02 -8.0896042287349701e-02 5.2781671285629272e-01 <_> 0 -1 176 -7.5278789736330509e-03 -4.6880009770393372e-01 8.9389666914939880e-02 <_> 0 -1 177 3.3948529511690140e-02 5.0594791769981384e-02 -6.7399561405181885e-01 <_> 0 -1 178 8.3328841719776392e-04 -1.8931360542774200e-01 1.9607099890708923e-01 <_> 0 -1 179 -5.9632491320371628e-04 -3.6229288578033447e-01 1.0544770210981369e-01 <_> 0 -1 180 3.0905720777809620e-03 5.7209629565477371e-02 -5.5316972732543945e-01 <_> 0 -1 181 3.5152619238942862e-03 -1.2211070209741592e-01 2.9369899630546570e-01 <_> 0 -1 182 7.9333729809150100e-04 7.5977906584739685e-02 -4.4539821147918701e-01 <_> 0 -1 183 -1.1189360171556473e-02 -5.0596517324447632e-01 5.7438369840383530e-02 <_> 0 -1 184 -1.1787790572270751e-03 3.0799698829650879e-01 -1.0762230306863785e-01 <_> 0 -1 185 5.4418851505033672e-05 -2.5997561216354370e-01 1.3138440251350403e-01 <_> 0 -1 186 -7.2562302193546202e-06 1.5439839661121368e-01 -2.1094700694084167e-01 <_> 0 -1 187 -8.3436258137226105e-04 1.3689869642257690e-01 -2.4367660284042358e-01 <_> 0 -1 188 -3.3380609005689621e-02 -6.7477357387542725e-01 5.0986740738153458e-02 <_> 0 -1 189 7.4093497823923826e-04 9.1248527169227600e-02 -3.5220760107040405e-01 <_> 0 -1 190 -2.0966369193047285e-03 1.9110049307346344e-01 -1.6380029916763306e-01 <_> 0 -1 191 -6.9339506328105927e-02 -8.7700867652893066e-01 3.5726629197597504e-02 <_> 0 -1 192 -5.7089990004897118e-03 -6.8067228794097900e-01 3.5545960068702698e-02 <_> 0 -1 193 6.8668760359287262e-03 -6.4886868000030518e-02 5.2265900373458862e-01 <_> 0 -1 194 5.4602831369265914e-04 1.0924419760704041e-01 -3.0285251140594482e-01 <_> 0 -1 195 6.4349039457738400e-03 -1.6561950743198395e-01 1.9022129476070404e-01 <_> 0 -1 196 -1.0112419724464417e-02 7.4523001909255981e-01 -3.8347329944372177e-02 <_> 0 -1 197 -7.5152877252548933e-04 -2.8147280216217041e-01 1.1321689933538437e-01 <_> 0 -1 198 2.8225290589034557e-03 -1.2364400178194046e-01 2.5608530640602112e-01 <_> 0 -1 199 2.2058798931539059e-03 5.7334281504154205e-02 -5.6152081489562988e-01 <_> 0 -1 200 2.8164181113243103e-01 4.2092379182577133e-02 -6.4923799037933350e-01 <_> 0 -1 201 -4.2593148536980152e-03 -6.4854997396469116e-01 4.3502658605575562e-02 <_> 0 -1 202 2.6586679741740227e-03 -9.3526139855384827e-02 3.4158730506896973e-01 <_> 0 -1 203 2.0971989724785089e-03 -1.1068929731845856e-01 3.1760269403457642e-01 <_> 0 -1 204 -1.0267860488966107e-03 -3.7612101435661316e-01 9.8973110318183899e-02 <_> 56 -1.8807189464569092e+00 <_> 0 -1 205 2.6354179717600346e-03 -5.2496808767318726e-01 2.7711030840873718e-01 <_> 0 -1 206 2.6279650628566742e-03 -3.2195448875427246e-01 3.7013629078865051e-01 <_> 0 -1 207 -5.8889109641313553e-03 2.3777529597282410e-01 -4.1800329089164734e-01 <_> 0 -1 208 1.9291159696877003e-03 -4.7122061252593994e-01 1.3692170381546021e-01 <_> 0 -1 209 -1.5205480158329010e-02 -3.9618429541587830e-01 1.7402400076389313e-01 <_> 0 -1 210 2.3393579758703709e-03 -3.8508901000022888e-01 1.5659110248088837e-01 <_> 0 -1 211 4.2395621538162231e-02 1.0478709638118744e-01 -6.2164002656936646e-01 <_> 0 -1 212 -5.6959640234708786e-02 5.1225858926773071e-01 -1.2684780359268188e-01 <_> 0 -1 213 -7.2845568865886889e-06 1.5136890113353729e-01 -3.1185621023178101e-01 <_> 0 -1 214 -7.9633750021457672e-02 -8.4324747323989868e-01 4.4978428632020950e-02 <_> 0 -1 215 5.9168688021600246e-03 -1.0745979845523834e-01 4.7434100508689880e-01 <_> 0 -1 216 -1.4736950397491455e-03 3.6067450046539307e-01 -1.4760640263557434e-01 <_> 0 -1 217 -3.9630971848964691e-02 -6.5838980674743652e-01 7.4866786599159241e-02 <_> 0 -1 218 6.2401412287726998e-04 -2.6195651292800903e-01 1.5652139484882355e-01 <_> 0 -1 219 -2.3399210476782173e-05 1.2157510221004486e-01 -3.0320811271667480e-01 <_> 0 -1 220 3.0802030116319656e-02 4.4408731162548065e-02 -6.6609877347946167e-01 <_> 0 -1 221 1.4787449617870152e-04 -2.4449509382247925e-01 1.4723050594329834e-01 <_> 0 -1 222 4.8630568198859692e-03 -1.1267810314893723e-01 3.2596799731254578e-01 <_> 0 -1 223 6.2191881239414215e-02 5.7439960539340973e-02 -6.4031070470809937e-01 <_> 0 -1 224 1.4668420189991593e-03 9.5356643199920654e-02 -3.3727881312370300e-01 <_> 0 -1 225 -1.4742349776497576e-05 1.9759610295295715e-01 -1.7083899676799774e-01 <_> 0 -1 226 -3.2495670020580292e-02 -3.6848729848861694e-01 9.0363331139087677e-02 <_> 0 -1 227 -1.5333830378949642e-03 3.2256379723548889e-01 -1.0416819900274277e-01 <_> 0 -1 228 -2.7998909354209900e-02 -4.9097910523414612e-01 8.2653783261775970e-02 <_> 0 -1 229 4.9783890135586262e-03 7.3238030076026917e-02 -4.4057780504226685e-01 <_> 0 -1 230 6.8226028233766556e-03 7.6766029000282288e-02 -4.1460910439491272e-01 <_> 0 -1 231 1.1497880332171917e-02 -9.1440111398696899e-02 4.0099748969078064e-01 <_> 0 -1 232 -1.1003069579601288e-02 -5.7417541742324829e-01 7.2776727378368378e-02 <_> 0 -1 233 4.9345887964591384e-04 -1.3353590667247772e-01 2.4575209617614746e-01 <_> 0 -1 234 2.2130589932203293e-03 -1.0753840208053589e-01 3.1632119417190552e-01 <_> 0 -1 235 5.1011620089411736e-03 7.8985318541526794e-02 -4.2948201298713684e-01 <_> 0 -1 236 -3.7305638194084167e-02 -6.7921191453933716e-01 4.5049939304590225e-02 <_> 0 -1 237 -6.1271698214113712e-03 2.3062059283256531e-01 -1.4559289813041687e-01 <_> 0 -1 238 7.6517700217664242e-03 -9.0355172753334045e-02 4.3072968721389771e-01 <_> 0 -1 239 -1.1280870065093040e-02 -4.7850719094276428e-01 7.4674449861049652e-02 <_> 0 -1 240 -1.4724049833603203e-05 1.4459890127182007e-01 -2.2535640001296997e-01 <_> 0 -1 241 -1.9895960576832294e-03 -6.1527568101882935e-01 5.4905921220779419e-02 <_> 0 -1 242 1.6876959707587957e-03 -9.7619786858558655e-02 3.3004701137542725e-01 <_> 0 -1 243 9.8390737548470497e-03 4.0972411632537842e-02 -7.5515109300613403e-01 <_> 0 -1 244 1.3243829598650336e-03 -1.0046280175447464e-01 3.0665108561515808e-01 <_> 0 -1 245 3.1150300055742264e-03 8.9804470539093018e-02 -3.3524599671363831e-01 <_> 0 -1 246 7.3907422120100819e-06 -2.2410400211811066e-01 1.3288240134716034e-01 <_> 0 -1 247 3.2559569925069809e-02 5.0113398581743240e-02 -5.4240328073501587e-01 <_> 0 -1 248 -2.9865119140595198e-03 2.8385341167449951e-01 -1.1164219677448273e-01 <_> 0 -1 249 1.6058710170909762e-03 -1.2024080008268356e-01 2.9032671451568604e-01 <_> 0 -1 250 2.2018649615347385e-03 7.8110128641128540e-02 -4.3846049904823303e-01 <_> 0 -1 251 -5.7107508182525635e-03 -3.2608801126480103e-01 9.2941299080848694e-02 <_> 0 -1 252 8.9503038907423615e-04 -1.3504159450531006e-01 2.2331899404525757e-01 <_> 0 -1 253 7.7259249985218048e-02 7.3221340775489807e-02 -4.1714018583297729e-01 <_> 0 -1 254 -1.0145610198378563e-02 -2.7330970764160156e-01 1.4099189639091492e-01 <_> 0 -1 255 -7.0878718361200299e-06 1.2602959573268890e-01 -2.3253719508647919e-01 <_> 0 -1 256 -8.0232005566358566e-03 -6.2682849168777466e-01 4.4199578464031219e-02 <_> 0 -1 257 -1.5409339684993029e-03 3.2154878973960876e-01 -9.5819726586341858e-02 <_> 0 -1 258 -1.3815560378134251e-03 2.3909060657024384e-01 -1.0845059901475906e-01 <_> 0 -1 259 -8.5559524595737457e-03 -6.2880992889404297e-01 4.6904459595680237e-02 <_> 0 -1 260 1.4967939932830632e-05 -1.7331050336360931e-01 1.6265609860420227e-01 <_> 68 -1.7268099784851074e+00 <_> 0 -1 261 -9.2911375686526299e-03 2.6676508784294128e-01 -4.8681628704071045e-01 <_> 0 -1 262 -1.0201609693467617e-03 2.1469169855117798e-01 -4.2971470952033997e-01 <_> 0 -1 263 1.8099240260198712e-03 -4.7085261344909668e-01 1.7293150722980499e-01 <_> 0 -1 264 -6.3195452094078064e-02 5.5868512392044067e-01 -1.1922080069780350e-01 <_> 0 -1 265 1.5157799934968352e-03 -3.3087429404258728e-01 1.4256539940834045e-01 <_> 0 -1 266 -3.1134260352700949e-03 3.1897360086441040e-01 -1.5563400089740753e-01 <_> 0 -1 267 6.7187240347266197e-03 1.1308009922504425e-01 -4.6142110228538513e-01 <_> 0 -1 268 -1.4929190001566894e-05 1.1303120106458664e-01 -3.8268089294433594e-01 <_> 0 -1 269 -1.9974811002612114e-03 -6.7833811044692993e-01 5.5562671273946762e-02 <_> 0 -1 270 4.4361899199429899e-05 -2.1478720009326935e-01 1.7524589598178864e-01 <_> 0 -1 271 -9.4379335641860962e-03 -2.9008820652961731e-01 1.0494410246610641e-01 <_> 0 -1 272 1.0263459989801049e-04 -3.6809450387954712e-01 1.1580110341310501e-01 <_> 0 -1 273 -4.3512079864740372e-02 -5.7967478036880493e-01 4.5160628855228424e-02 <_> 0 -1 274 2.3894330952316523e-03 -1.2443830072879791e-01 2.5726899504661560e-01 <_> 0 -1 275 3.6203579511493444e-03 4.8385269939899445e-02 -6.4456540346145630e-01 <_> 0 -1 276 -4.2086638859473169e-04 -2.9963639378547668e-01 9.7508132457733154e-02 <_> 0 -1 277 -3.6320161074399948e-02 3.2499030232429504e-01 -1.0373180359601974e-01 <_> 0 -1 278 5.5678240023553371e-03 -1.2865519523620605e-01 2.7721390128135681e-01 <_> 0 -1 279 1.4324679505079985e-03 6.3044667243957520e-02 -5.0411659479141235e-01 <_> 0 -1 280 1.2268769787624478e-03 -1.7073589563369751e-01 1.7944329977035522e-01 <_> 0 -1 281 4.0125530213117599e-03 7.2100132703781128e-02 -4.1321611404418945e-01 <_> 0 -1 282 4.7377590090036392e-03 -9.0100876986980438e-02 3.4303799271583557e-01 <_> 0 -1 283 4.3965759687125683e-03 5.4753091186285019e-02 -5.9175938367843628e-01 <_> 0 -1 284 1.8952810205519199e-03 4.0120709687471390e-02 -6.4907258749008179e-01 <_> 0 -1 285 -1.3425230281427503e-03 3.0321699380874634e-01 -1.1009240150451660e-01 <_> 0 -1 286 -4.6405740082263947e-02 -4.6026471257209778e-01 7.0307031273841858e-02 <_> 0 -1 287 2.5875549763441086e-02 3.8987319916486740e-02 -6.4847522974014282e-01 <_> 0 -1 288 1.0986380511894822e-03 -1.6458760201931000e-01 1.8133540451526642e-01 <_> 0 -1 289 -3.9583959733135998e-04 9.7805656492710114e-02 -2.7554351091384888e-01 <_> 0 -1 290 -4.5633990317583084e-02 -5.4276019334793091e-01 5.4855771362781525e-02 <_> 0 -1 291 -4.7068470157682896e-03 4.0961420536041260e-01 -6.9687090814113617e-02 <_> 0 -1 292 2.0004810357932001e-04 1.2908969819545746e-01 -2.1091359853744507e-01 <_> 0 -1 293 1.1126570170745254e-03 -2.2213070094585419e-01 1.2458589673042297e-01 <_> 0 -1 294 -1.4747029636055231e-03 2.9185178875923157e-01 -9.0756237506866455e-02 <_> 0 -1 295 4.3162931688129902e-03 6.1542909592390060e-02 -5.1068651676177979e-01 <_> 0 -1 296 2.0302709890529513e-04 -1.5639910101890564e-01 1.6466440260410309e-01 <_> 0 -1 297 3.4639390651136637e-04 1.0773540288209915e-01 -2.5532799959182739e-01 <_> 0 -1 298 1.5631220303475857e-03 -9.5428019762039185e-02 2.5450360774993896e-01 <_> 0 -1 299 5.5476918350905180e-04 7.9774253070354462e-02 -3.0791428685188293e-01 <_> 0 -1 300 2.7690480928868055e-03 -9.1900892555713654e-02 3.0198639631271362e-01 <_> 0 -1 301 1.1085179867222905e-03 6.2624886631965637e-02 -4.1680490970611572e-01 <_> 0 -1 302 3.4288389142602682e-03 -5.7473558932542801e-02 4.7293519973754883e-01 <_> 0 -1 303 -2.0233790855854750e-03 -2.4128660559654236e-01 1.0806660354137421e-01 <_> 0 -1 304 -9.1446418082341552e-04 1.7990960180759430e-01 -1.6031919419765472e-01 <_> 0 -1 305 3.8880690932273865e-02 3.9132621139287949e-02 -6.4085322618484497e-01 <_> 0 -1 306 1.2836069799959660e-03 5.2912048995494843e-02 -4.3914559483528137e-01 <_> 0 -1 307 3.5828219261020422e-03 -9.7462162375450134e-02 3.0772930383682251e-01 <_> 0 -1 308 2.3203529417514801e-03 -1.0929799824953079e-01 2.6735728979110718e-01 <_> 0 -1 309 1.1978139809798449e-04 1.1623129993677139e-01 -2.3586340248584747e-01 <_> 0 -1 310 -2.8259279206395149e-03 -4.1935729980468750e-01 5.7008400559425354e-02 <_> 0 -1 311 2.4410230107605457e-03 4.2706880718469620e-02 -5.3362858295440674e-01 <_> 0 -1 312 2.6899650692939758e-03 -1.1351829767227173e-01 2.4779020249843597e-01 <_> 0 -1 313 -3.1081750057637691e-03 -2.9488921165466309e-01 8.2543209195137024e-02 <_> 0 -1 314 -6.6210748627781868e-03 2.2958689928054810e-01 -1.1443620175123215e-01 <_> 0 -1 315 4.6786409802734852e-03 -1.2875209748744965e-01 2.6777699589729309e-01 <_> 0 -1 316 -1.2973829871043563e-03 -2.7280429005622864e-01 9.6471726894378662e-02 <_> 0 -1 317 2.9523740522563457e-03 -8.7040692567825317e-02 2.9207450151443481e-01 <_> 0 -1 318 -1.6173559706658125e-03 -4.0207850933074951e-01 6.5386466681957245e-02 <_> 0 -1 319 -7.5417757034301758e-02 -8.9723330736160278e-01 2.4602690711617470e-02 <_> 0 -1 320 -2.5402200408279896e-03 1.5258650481700897e-01 -1.5025460720062256e-01 <_> 0 -1 321 3.7864660844206810e-03 7.6477207243442535e-02 -3.3881941437721252e-01 <_> 0 -1 322 -1.4005510136485100e-02 4.4426390528678894e-01 -5.9003930538892746e-02 <_> 0 -1 323 5.5956508731469512e-04 7.4007123708724976e-02 -3.5604709386825562e-01 <_> 0 -1 324 2.5946850655600429e-04 -2.8126189112663269e-01 8.7399207055568695e-02 <_> 0 -1 325 4.4409232214093208e-03 2.8623659163713455e-02 -7.7284187078475952e-01 <_> 0 -1 326 -2.3343560751527548e-03 3.5460600256919861e-01 -7.1207538247108459e-02 <_> 0 -1 327 9.7654951969161630e-04 -1.0138420015573502e-01 2.2545370459556580e-01 <_> 0 -1 328 -4.3227209243923426e-04 -2.1095879375934601e-01 1.2273149937391281e-01 <_> 70 -1.6056820154190063e+00 <_> 0 -1 329 -1.2480209581553936e-02 2.6112109422683716e-01 -4.7001519799232483e-01 <_> 0 -1 330 3.5450961440801620e-02 -2.0008459687232971e-01 4.7718611359596252e-01 <_> 0 -1 331 2.0369330886751413e-03 -4.7703158855438232e-01 1.5132640302181244e-01 <_> 0 -1 332 -4.3946420191787183e-05 1.2288480252027512e-01 -5.1796287298202515e-01 <_> 0 -1 333 -3.8480788934975863e-03 4.1113680601119995e-01 -1.4595329761505127e-01 <_> 0 -1 334 -2.8316550888121128e-03 2.8710970282554626e-01 -1.7629599571228027e-01 <_> 0 -1 335 2.5026081129908562e-03 7.9668842256069183e-02 -5.7808011770248413e-01 <_> 0 -1 336 3.0812958721071482e-04 8.2838706672191620e-02 -4.2540180683135986e-01 <_> 0 -1 337 6.1186961829662323e-04 1.3641810417175293e-01 -3.0591419339179993e-01 <_> 0 -1 338 -1.4354350241774227e-05 1.4197489619255066e-01 -2.5681999325752258e-01 <_> 0 -1 339 1.6148330178111792e-03 -2.6239329576492310e-01 1.3288390636444092e-01 <_> 0 -1 340 2.0318101160228252e-03 7.5749568641185760e-02 -4.3141460418701172e-01 <_> 0 -1 341 9.5563679933547974e-03 -9.1424480080604553e-02 4.0004569292068481e-01 <_> 0 -1 342 -7.8439561184495687e-04 -3.6619931459426880e-01 9.1777816414833069e-02 <_> 0 -1 343 -3.9661130867898464e-03 2.3698210716247559e-01 -1.4281649887561798e-01 <_> 0 -1 344 -2.3194469977170229e-03 -4.2245340347290039e-01 7.8684106469154358e-02 <_> 0 -1 345 -7.3490202426910400e-02 -6.2218552827835083e-01 4.0496870875358582e-02 <_> 0 -1 346 -3.6803178954869509e-03 1.2612029910087585e-01 -2.0990429818630219e-01 <_> 0 -1 347 -4.1019290685653687e-02 -8.0316942930221558e-01 2.7993949130177498e-02 <_> 0 -1 348 -4.8213129048235714e-04 1.4825980365276337e-01 -1.7869630455970764e-01 <_> 0 -1 349 -1.6598250716924667e-02 4.1442281007766724e-01 -6.4051687717437744e-02 <_> 0 -1 350 -1.0631670011207461e-03 -3.3466520905494690e-01 8.2425996661186218e-02 <_> 0 -1 351 1.8658409826457500e-03 -1.3119789958000183e-01 2.3183380067348480e-01 <_> 0 -1 352 -2.5827190838754177e-03 3.8415950536727905e-01 -8.4121666848659515e-02 <_> 0 -1 353 1.7159619601443410e-03 7.6971538364887238e-02 -4.1098991036415100e-01 <_> 0 -1 354 -3.9140181615948677e-03 -6.2508618831634521e-01 3.8418460637331009e-02 <_> 0 -1 355 4.2724498780444264e-04 8.6016573011875153e-02 -2.6975229382514954e-01 <_> 0 -1 356 3.3992920070886612e-03 -1.0176510363817215e-01 2.7030828595161438e-01 <_> 0 -1 357 -3.6457281559705734e-02 -4.9261981248855591e-01 5.5854249745607376e-02 <_> 0 -1 358 1.6230379696935415e-03 5.7567078620195389e-02 -4.2053499817848206e-01 <_> 0 -1 359 4.6655549667775631e-03 -9.1158397495746613e-02 3.2095280289649963e-01 <_> 0 -1 360 3.1331549398601055e-03 -9.6932657063007355e-02 3.4073451161384583e-01 <_> 0 -1 361 -1.6835830174386501e-03 -3.6766248941421509e-01 8.2226082682609558e-02 <_> 0 -1 362 2.7728650718927383e-02 4.0117498487234116e-02 -6.5198391675949097e-01 <_> 0 -1 363 9.5015309751033783e-02 2.3065119981765747e-02 -8.8881981372833252e-01 <_> 0 -1 364 7.4755616486072540e-02 -6.3946872949600220e-02 4.7399708628654480e-01 <_> 0 -1 365 1.6693340614438057e-02 4.6477258205413818e-02 -7.1152418851852417e-01 <_> 0 -1 366 1.2088769581168890e-03 -1.1359269917011261e-01 2.2424149513244629e-01 <_> 0 -1 367 -6.1751517932862043e-04 -3.1268230080604553e-01 8.5018932819366455e-02 <_> 0 -1 368 8.5786692798137665e-03 -1.5559460222721100e-01 1.5640939772129059e-01 <_> 0 -1 369 6.1184767400845885e-04 9.4403937458992004e-02 -2.6520138978958130e-01 <_> 0 -1 370 -3.4570440184324980e-03 1.5146060287952423e-01 -1.6220529377460480e-01 <_> 0 -1 371 1.3953070156276226e-03 -9.9996216595172882e-02 2.4998310208320618e-01 <_> 0 -1 372 3.5910680890083313e-03 8.1011682748794556e-02 -3.0081549286842346e-01 <_> 0 -1 373 5.4192831739783287e-03 6.7650042474269867e-02 -3.2355660200119019e-01 <_> 0 -1 374 -1.1379310162737966e-03 1.8887449800968170e-01 -1.2729729712009430e-01 <_> 0 -1 375 9.1047259047627449e-03 1.0160540044307709e-01 -2.2280150651931763e-01 <_> 0 -1 376 6.5050171688199043e-03 -7.2986416518688202e-02 3.5770270228385925e-01 <_> 0 -1 377 -1.4676549653813709e-05 1.4693109691143036e-01 -1.7403540015220642e-01 <_> 0 -1 378 -9.4403158873319626e-03 -2.6536750793457031e-01 9.6619546413421631e-02 <_> 0 -1 379 -4.2933300137519836e-03 2.5656831264495850e-01 -1.0550209879875183e-01 <_> 0 -1 380 4.3133171275258064e-03 6.5936572849750519e-02 -4.5719939470291138e-01 <_> 0 -1 381 5.8854468166828156e-02 6.7918263375759125e-02 -3.3078071475028992e-01 <_> 0 -1 382 -2.8407620266079903e-03 2.3953500390052795e-01 -9.2092156410217285e-02 <_> 0 -1 383 9.6359942108392715e-04 -1.0982380062341690e-01 2.6462998986244202e-01 <_> 0 -1 384 -1.4724590073456056e-05 1.1111160367727280e-01 -2.2704580426216125e-01 <_> 0 -1 385 -8.0675468780100346e-04 -3.6335140466690063e-01 7.8122653067111969e-02 <_> 0 -1 386 7.3296198388561606e-04 -1.5605129301548004e-01 1.5184900164604187e-01 <_> 0 -1 387 6.3753738068044186e-03 -7.1957953274250031e-02 2.9723879694938660e-01 <_> 0 -1 388 4.6390579082071781e-03 3.5969600081443787e-02 -6.1132347583770752e-01 <_> 0 -1 389 -7.1079272311180830e-04 -2.8806841373443604e-01 6.9314628839492798e-02 <_> 0 -1 390 2.9162289574742317e-03 -7.5968459248542786e-02 3.2681688666343689e-01 <_> 0 -1 391 -1.7853140830993652e-02 4.4206309318542480e-01 -4.8174031078815460e-02 <_> 0 -1 392 8.3874985575675964e-03 4.8913899809122086e-02 -5.4415327310562134e-01 <_> 0 -1 393 2.9458320568664931e-05 -2.1131239831447601e-01 1.0629370063543320e-01 <_> 0 -1 394 -9.8192706704139709e-02 3.5318240523338318e-01 -6.9296866655349731e-02 <_> 0 -1 395 4.6140368795022368e-04 9.6270777285099030e-02 -2.5811928510665894e-01 <_> 0 -1 396 -2.4016610404942185e-04 -2.2976429760456085e-01 9.9984891712665558e-02 <_> 0 -1 397 3.7882480770349503e-02 -1.0365439951419830e-01 2.3164770007133484e-01 <_> 0 -1 398 3.2621581340208650e-04 9.7933940589427948e-02 -2.3689700663089752e-01 <_> 85 -1.5173089504241943e+00 <_> 0 -1 399 -3.6744121462106705e-02 3.4079340100288391e-01 -3.1779891252517700e-01 <_> 0 -1 400 2.1955010015517473e-03 -2.8729590773582458e-01 2.5869798660278320e-01 <_> 0 -1 401 8.3034839481115341e-03 -2.1800449490547180e-01 2.6759269833564758e-01 <_> 0 -1 402 2.6289420202374458e-03 -3.6006081104278564e-01 1.4639839529991150e-01 <_> 0 -1 403 1.9458869937807322e-03 1.3677720725536346e-01 -4.2058759927749634e-01 <_> 0 -1 404 -2.1704390645027161e-02 4.8903319239616394e-01 -9.8091572523117065e-02 <_> 0 -1 405 4.2956420220434666e-03 -2.7825561165809631e-01 1.5712629258632660e-01 <_> 0 -1 406 4.9894629046320915e-04 1.1003810167312622e-01 -3.3779421448707581e-01 <_> 0 -1 407 2.4652799591422081e-02 4.5820660889148712e-02 -5.4710537195205688e-01 <_> 0 -1 408 -2.3075740784406662e-02 -4.9801421165466309e-01 6.7044779658317566e-02 <_> 0 -1 409 1.1991280131042004e-02 -7.0877023041248322e-02 4.8294249176979065e-01 <_> 0 -1 410 1.5430679544806480e-02 -6.5949738025665283e-02 4.5236849784851074e-01 <_> 0 -1 411 -4.5555769465863705e-03 -4.4665691256523132e-01 6.7877657711505890e-02 <_> 0 -1 412 -4.4582979753613472e-03 3.3656919002532959e-01 -9.4792358577251434e-02 <_> 0 -1 413 1.3494009908754379e-04 -3.0288851261138916e-01 1.0293830186128616e-01 <_> 0 -1 414 -4.2500188574194908e-03 4.2550128698348999e-01 -7.2956383228302002e-02 <_> 0 -1 415 -1.4293759595602751e-03 -3.0116760730743408e-01 9.0039253234863281e-02 <_> 0 -1 416 -6.3978550024330616e-03 4.1943550109863281e-01 -7.9320870339870453e-02 <_> 0 -1 417 2.6083870325237513e-03 8.3598926663398743e-02 -4.1897168755531311e-01 <_> 0 -1 418 8.6870808154344559e-03 -6.3015699386596680e-02 5.2644741535186768e-01 <_> 0 -1 419 -1.0380990570411086e-03 -3.6220151185989380e-01 8.0301038920879364e-02 <_> 0 -1 420 4.4070050120353699e-01 3.4913059324026108e-02 -7.2764492034912109e-01 <_> 0 -1 421 3.3689520787447691e-03 5.7332780212163925e-02 -4.8633271455764771e-01 <_> 0 -1 422 1.7443710239604115e-03 -1.0994660109281540e-01 2.7023580670356750e-01 <_> 0 -1 423 5.3788698278367519e-04 -2.7439421415328979e-01 1.0063380002975464e-01 <_> 0 -1 424 1.0072899749502540e-03 1.0756769776344299e-01 -2.3221600055694580e-01 <_> 0 -1 425 -8.2518812268972397e-03 -6.5216302871704102e-01 3.5704229027032852e-02 <_> 0 -1 426 3.5490558948367834e-03 -8.4254868328571320e-02 3.1767430901527405e-01 <_> 0 -1 427 -1.1033359915018082e-02 4.1271620988845825e-01 -6.2587052583694458e-02 <_> 0 -1 428 3.2278439030051231e-03 7.1266986429691315e-02 -4.1172251105308533e-01 <_> 0 -1 429 1.7540389299392700e-01 3.4958980977535248e-02 -6.3775068521499634e-01 <_> 0 -1 430 -4.8067080206237733e-04 -2.4503110349178314e-01 9.8930649459362030e-02 <_> 0 -1 431 -1.8284550169482827e-03 1.3486519455909729e-01 -1.9799900054931641e-01 <_> 0 -1 432 1.7096720403060317e-03 -1.0525950044393539e-01 2.1005709469318390e-01 <_> 0 -1 433 3.9468301110900939e-04 8.0952547490596771e-02 -2.7405399084091187e-01 <_> 0 -1 434 2.3097719531506300e-03 1.2338220328092575e-01 -1.9958800077438354e-01 <_> 0 -1 435 3.1529190018773079e-03 -1.0612549632787704e-01 2.2089600563049316e-01 <_> 0 -1 436 -1.9097010372206569e-03 -2.5094708800315857e-01 8.7022580206394196e-02 <_> 0 -1 437 -1.2370609911158681e-03 3.0760520696640015e-01 -7.5937293469905853e-02 <_> 0 -1 438 3.7081091431900859e-04 -1.6065080463886261e-01 1.3480199873447418e-01 <_> 0 -1 439 3.4268848598003387e-02 3.5260949283838272e-02 -6.3547158241271973e-01 <_> 0 -1 440 4.6664681285619736e-03 -5.2494861185550690e-02 4.3242320418357849e-01 <_> 0 -1 441 1.0423569940030575e-02 5.1612429320812225e-02 -5.0745230913162231e-01 <_> 0 -1 442 1.1215180158615112e-02 -3.8614250719547272e-02 5.7645928859710693e-01 <_> 0 -1 443 -7.3029109444178175e-06 1.2052319943904877e-01 -1.7274369299411774e-01 <_> 0 -1 444 -4.9072802066802979e-03 -3.4818550944328308e-01 5.9116441756486893e-02 <_> 0 -1 445 1.9488829420879483e-03 -8.8861227035522461e-02 2.4020899832248688e-01 <_> 0 -1 446 1.3313010276760906e-04 -1.4657719433307648e-01 1.9929920136928558e-01 <_> 0 -1 447 -1.4298240421339869e-03 -3.9005228877067566e-01 5.9909418225288391e-02 <_> 0 -1 448 -6.4831459894776344e-03 1.8141369521617889e-01 -1.1655449867248535e-01 <_> 0 -1 449 7.2958500823006034e-06 -1.8219240009784698e-01 1.1812780052423477e-01 <_> 0 -1 450 4.1690681246109307e-04 1.0591679811477661e-01 -2.0353710651397705e-01 <_> 0 -1 451 5.1982058212161064e-03 -3.5962641239166260e-02 6.0264211893081665e-01 <_> 0 -1 452 -4.0649957954883575e-03 2.0696419477462769e-01 -9.8599843680858612e-02 <_> 0 -1 453 -4.7734950203448534e-04 -2.4629549682140350e-01 9.3174271285533905e-02 <_> 0 -1 454 5.2415160462260246e-03 3.6528520286083221e-02 -5.4934787750244141e-01 <_> 0 -1 455 3.7873629480600357e-03 -5.7597089558839798e-02 3.8733980059623718e-01 <_> 0 -1 456 -1.4434250260819681e-05 1.1292859911918640e-01 -1.7447079718112946e-01 <_> 0 -1 457 4.2011599987745285e-02 -4.6556860208511353e-02 4.5454800128936768e-01 <_> 0 -1 458 7.9663433134555817e-03 4.2258739471435547e-02 -5.3702521324157715e-01 <_> 0 -1 459 5.3092982852831483e-04 -9.7918719053268433e-02 2.1795919537544250e-01 <_> 0 -1 460 5.2906107157468796e-04 7.7961057424545288e-02 -2.8867539763450623e-01 <_> 0 -1 461 -1.9556249678134918e-01 -7.6475739479064941e-01 2.7276000007987022e-02 <_> 0 -1 462 -1.1559950187802315e-02 3.3526000380516052e-01 -6.3614986836910248e-02 <_> 0 -1 463 -1.4005659520626068e-01 -7.6232051849365234e-01 2.8024470433592796e-02 <_> 0 -1 464 4.4643289584200829e-05 -2.0320929586887360e-01 9.9391698837280273e-02 <_> 0 -1 465 3.9411801844835281e-03 4.9936279654502869e-02 -3.7584540247917175e-01 <_> 0 -1 466 -4.5965691097080708e-03 3.3031210303306580e-01 -6.3809931278228760e-02 <_> 0 -1 467 -6.9790292764082551e-04 1.6093710064888000e-01 -1.3192920386791229e-01 <_> 0 -1 468 6.1886821640655398e-04 7.4621193110942841e-02 -3.3021458983421326e-01 <_> 0 -1 469 -3.2755140215158463e-02 -4.0643560886383057e-01 4.9308661371469498e-02 <_> 0 -1 470 3.3697509206831455e-03 4.0627099573612213e-02 -4.9757328629493713e-01 <_> 0 -1 471 3.7391821388155222e-04 -1.4931799471378326e-01 1.6517969965934753e-01 <_> 0 -1 472 -4.0217190980911255e-03 2.9531970620155334e-01 -7.6642103493213654e-02 <_> 0 -1 473 -7.2943832492455840e-04 -2.7355810999870300e-01 7.9243987798690796e-02 <_> 0 -1 474 -5.7726111263036728e-03 3.4741240739822388e-01 -7.6087206602096558e-02 <_> 0 -1 475 -2.1122458856552839e-03 1.7290510237216949e-01 -1.2444470077753067e-01 <_> 0 -1 476 4.4956691563129425e-03 3.0218729749321938e-02 -7.4003338813781738e-01 <_> 0 -1 477 -1.1419389629736543e-03 -2.3494489490985870e-01 7.6911546289920807e-02 <_> 0 -1 478 2.7658098842948675e-03 -9.1666661202907562e-02 2.1009710431098938e-01 <_> 0 -1 479 -7.2281848406419158e-04 -2.5587469339370728e-01 7.5378142297267914e-02 <_> 0 -1 480 1.8604539800435305e-03 -9.4511069357395172e-02 1.9726920127868652e-01 <_> 0 -1 481 -2.8568008565343916e-04 -2.1073310077190399e-01 9.7290039062500000e-02 <_> 0 -1 482 -3.8796100765466690e-02 -7.8724592924118042e-01 2.4410309270024300e-02 <_> 0 -1 483 -1.2119869701564312e-02 3.6466810107231140e-01 -5.7907499372959137e-02 <_> 93 -1.6563049554824829e+00 <_> 0 -1 484 5.6008538231253624e-03 -3.8491588830947876e-01 3.3817461133003235e-01 <_> 0 -1 485 -3.7205789703875780e-03 2.4614119529724121e-01 -3.0673781037330627e-01 <_> 0 -1 486 -2.5333440862596035e-03 1.2531200051307678e-01 -4.2720189690589905e-01 <_> 0 -1 487 -7.3425087612122297e-04 1.3314330577850342e-01 -3.5111570358276367e-01 <_> 0 -1 488 -1.4792960428167135e-04 1.2545309960842133e-01 -3.8591191172599792e-01 <_> 0 -1 489 -4.8976339399814606e-02 3.6456748843193054e-01 -1.1494780331850052e-01 <_> 0 -1 490 1.0917349718511105e-03 7.9005338251590729e-02 -4.1399830579757690e-01 <_> 0 -1 491 5.4457997903227806e-03 -1.1921840161085129e-01 3.3085560798645020e-01 <_> 0 -1 492 1.5979419695213437e-03 4.1181199252605438e-02 -5.5028229951858521e-01 <_> 0 -1 493 -1.3023250503465533e-03 8.2839436829090118e-02 -3.5719320178031921e-01 <_> 0 -1 494 4.8810569569468498e-04 -2.0928630232810974e-01 1.4972810447216034e-01 <_> 0 -1 495 2.1033850498497486e-03 5.1839418709278107e-02 -6.1099958419799805e-01 <_> 0 -1 496 1.1984360404312611e-02 4.1022349148988724e-02 -5.8985722064971924e-01 <_> 0 -1 497 -1.1898590251803398e-02 4.5844998955726624e-01 -6.4714707434177399e-02 <_> 0 -1 498 5.3713661618530750e-03 -6.1560470610857010e-02 4.1204369068145752e-01 <_> 0 -1 499 4.3421140871942043e-03 6.0501661151647568e-02 -4.8703390359878540e-01 <_> 0 -1 500 6.6142519935965538e-03 4.6873189508914948e-02 -5.0346171855926514e-01 <_> 0 -1 501 1.2339729582890868e-03 -8.1538438796997070e-02 3.0428299307823181e-01 <_> 0 -1 502 -1.2975660152733326e-02 -4.7834330797195435e-01 4.8681490123271942e-02 <_> 0 -1 503 -1.7806360265240073e-03 3.7698730826377869e-01 -6.8126037716865540e-02 <_> 0 -1 504 7.8339744359254837e-03 5.4501280188560486e-02 -4.6738588809967041e-01 <_> 0 -1 505 -6.0113701038062572e-03 5.4870051145553589e-01 -4.4434640556573868e-02 <_> 0 -1 506 -2.0694560371339321e-03 -3.7755548954010010e-01 6.4383402466773987e-02 <_> 0 -1 507 4.7843591310083866e-03 4.6252150088548660e-02 -5.2633982896804810e-01 <_> 0 -1 508 -6.2808818183839321e-03 3.9451861381530762e-01 -6.9051302969455719e-02 <_> 0 -1 509 1.6099009662866592e-03 -1.0316190123558044e-01 2.7321669459342957e-01 <_> 0 -1 510 -8.2392559852451086e-04 -2.8039410710334778e-01 8.4601573646068573e-02 <_> 0 -1 511 -1.0123319923877716e-02 3.3635950088500977e-01 -6.1322949826717377e-02 <_> 0 -1 512 1.0525720193982124e-02 4.6165600419044495e-02 -5.1672130823135376e-01 <_> 0 -1 513 -2.6774499565362930e-02 -5.0325971841812134e-01 3.9857819676399231e-02 <_> 0 -1 514 4.0248301811516285e-03 -6.1501380056142807e-02 3.6659809947013855e-01 <_> 0 -1 515 -4.6271650353446603e-04 -2.6439830660820007e-01 8.1311263144016266e-02 <_> 0 -1 516 -5.1834900659741834e-05 1.1154399812221527e-01 -2.0269370079040527e-01 <_> 0 -1 517 4.8874281346797943e-03 -6.9644987583160400e-02 3.3612030744552612e-01 <_> 0 -1 518 1.2638230621814728e-01 3.6813639104366302e-02 -6.5849918127059937e-01 <_> 0 -1 519 -8.0248164013028145e-03 4.6601921319961548e-01 -4.8885859549045563e-02 <_> 0 -1 520 -1.1518909595906734e-03 -4.0466758608818054e-01 5.8572851121425629e-02 <_> 0 -1 521 9.8190037533640862e-04 -1.3197229802608490e-01 1.7744350433349609e-01 <_> 0 -1 522 -1.9447980448603630e-02 -6.8489527702331543e-01 3.3834591507911682e-02 <_> 0 -1 523 -7.2442039709130768e-06 1.1553110182285309e-01 -1.8726129829883575e-01 <_> 0 -1 524 -1.7039060592651367e-02 -3.5105291008949280e-01 6.7737713456153870e-02 <_> 0 -1 525 1.1186580173671246e-02 -9.3420043587684631e-02 2.1077099442481995e-01 <_> 0 -1 526 7.6585268834605813e-04 6.5965756773948669e-02 -3.2127881050109863e-01 <_> 0 -1 527 1.4231950626708567e-04 -1.5460130572319031e-01 1.3757640123367310e-01 <_> 0 -1 528 -5.5553209967911243e-03 3.1319350004196167e-01 -6.4753532409667969e-02 <_> 0 -1 529 1.2308239820413291e-04 9.7666621208190918e-02 -2.2251069545745850e-01 <_> 0 -1 530 -1.6092039877548814e-03 -3.6215591430664062e-01 6.4452558755874634e-02 <_> 0 -1 531 -1.5626100357621908e-03 2.2588780522346497e-01 -9.5551103353500366e-02 <_> 0 -1 532 -5.0116342026740313e-04 -2.2289219498634338e-01 8.9174531400203705e-02 <_> 0 -1 533 3.7322030402719975e-04 9.1969013214111328e-02 -2.1129919588565826e-01 <_> 0 -1 534 -2.2882660850882530e-03 3.8989049196243286e-01 -5.3455859422683716e-02 <_> 0 -1 535 -4.6884030103683472e-02 -6.2357091903686523e-01 3.2194521278142929e-02 <_> 0 -1 536 1.8901260336861014e-03 -7.2615146636962891e-02 2.7420088648796082e-01 <_> 0 -1 537 1.5805330127477646e-02 2.8601830825209618e-02 -6.9608169794082642e-01 <_> 0 -1 538 3.2644178718328476e-02 -4.0772251784801483e-02 5.0873398780822754e-01 <_> 0 -1 539 6.5482832724228501e-04 8.5724912583827972e-02 -2.7580630779266357e-01 <_> 0 -1 540 -1.1142930015921593e-02 8.7326012551784515e-02 -2.0914819836616516e-01 <_> 0 -1 541 -5.8072229148820043e-04 -2.9471421241760254e-01 6.6337890923023224e-02 <_> 0 -1 542 -7.4414577102288604e-04 1.8017959594726562e-01 -1.0654629766941071e-01 <_> 0 -1 543 7.6460661366581917e-03 -6.3608147203922272e-02 3.1582340598106384e-01 <_> 0 -1 544 3.2617211341857910e-02 3.2606441527605057e-02 -6.0541188716888428e-01 <_> 0 -1 545 -3.4527231007814407e-02 -5.9770858287811279e-01 2.7888769283890724e-02 <_> 0 -1 546 3.2211719080805779e-03 -4.9183920025825500e-02 4.0305620431900024e-01 <_> 0 -1 547 -4.1549839079380035e-04 1.3533140718936920e-01 -1.5845330059528351e-01 <_> 0 -1 548 2.5140501093119383e-03 6.3218571245670319e-02 -3.0768528580665588e-01 <_> 0 -1 549 -2.0818209648132324e-01 -7.5750261545181274e-01 2.2695960476994514e-02 <_> 0 -1 550 -2.6067279279232025e-02 -7.4959957599639893e-01 1.9375480711460114e-02 <_> 0 -1 551 -5.8264029212296009e-04 9.4658233225345612e-02 -1.9919820129871368e-01 <_> 0 -1 552 -3.2769259996712208e-03 1.6214330494403839e-01 -1.2322030216455460e-01 <_> 0 -1 553 1.3998829526826739e-03 -1.0849200189113617e-01 2.3151659965515137e-01 <_> 0 -1 554 -1.2055980041623116e-02 -2.4002850055694580e-01 9.3272961676120758e-02 <_> 0 -1 555 3.1805539038032293e-03 7.6264120638370514e-02 -2.5435069203376770e-01 <_> 0 -1 556 -1.0693799704313278e-03 2.2258889675140381e-01 -9.0730242431163788e-02 <_> 0 -1 557 -2.9467688873410225e-03 -3.4242698550224304e-01 6.0581039637327194e-02 <_> 0 -1 558 8.8108901400119066e-04 -7.8326202929019928e-02 2.6911988854408264e-01 <_> 0 -1 559 2.8118939371779561e-04 9.8370827734470367e-02 -2.1947909891605377e-01 <_> 0 -1 560 -1.8574869260191917e-02 2.6729720830917358e-01 -7.1240752935409546e-02 <_> 0 -1 561 -2.4810349568724632e-02 -6.8322032690048218e-01 2.9446309432387352e-02 <_> 0 -1 562 2.8904930222779512e-03 7.6161012053489685e-02 -2.4025200307369232e-01 <_> 0 -1 563 3.5410430282354355e-03 -1.0742089897394180e-01 1.8509419262409210e-01 <_> 0 -1 564 -8.4244477329775691e-04 1.8727229535579681e-01 -1.1407770216464996e-01 <_> 0 -1 565 -2.5338360574096441e-03 -3.5870191454887390e-01 5.1251661032438278e-02 <_> 0 -1 566 1.9654980860650539e-03 -1.4064720273017883e-01 1.3041019439697266e-01 <_> 0 -1 567 3.1574100255966187e-01 2.9550969600677490e-02 -6.3157892227172852e-01 <_> 0 -1 568 -2.9846638790331781e-04 -2.2911080718040466e-01 7.8875422477722168e-02 <_> 0 -1 569 -1.1545480042695999e-01 -8.1895941495895386e-01 2.2261450067162514e-02 <_> 0 -1 570 -3.5817299038171768e-02 -3.0612939596176147e-01 6.0644190758466721e-02 <_> 0 -1 571 1.7071690410375595e-02 -6.1134841293096542e-02 3.2152679562568665e-01 <_> 0 -1 572 -2.1385080181062222e-03 -5.4798161983489990e-01 3.8667369633913040e-02 <_> 0 -1 573 6.5424457192420959e-02 1.7884260043501854e-02 -8.5628831386566162e-01 <_> 0 -1 574 -1.3419929891824722e-02 3.0995100736618042e-01 -6.7559666931629181e-02 <_> 0 -1 575 1.8939709290862083e-02 2.8729729354381561e-02 -7.5338190793991089e-01 <_> 0 -1 576 -2.9120460152626038e-02 -7.3594617843627930e-01 2.0359549671411514e-02 <_> 79 -1.5920439958572388e+00 <_> 0 -1 577 -1.3419030234217644e-02 3.0538010597229004e-01 -4.1782331466674805e-01 <_> 0 -1 578 1.7404999816790223e-03 -2.7101579308509827e-01 3.5409560799598694e-01 <_> 0 -1 579 7.7174860052764416e-03 -3.1271371245384216e-01 2.1189980208873749e-01 <_> 0 -1 580 -1.4514879694615956e-05 1.6157090663909912e-01 -3.3522731065750122e-01 <_> 0 -1 581 -1.4871519852022175e-05 1.4571620523929596e-01 -2.9369521141052246e-01 <_> 0 -1 582 1.5004149463493377e-04 -4.0149879455566406e-01 1.0407949984073639e-01 <_> 0 -1 583 1.8634879961609840e-03 4.9062840640544891e-02 -6.5208268165588379e-01 <_> 0 -1 584 -2.9590800404548645e-03 2.8804430365562439e-01 -1.3293409347534180e-01 <_> 0 -1 585 3.3067780896089971e-04 3.9615370333194733e-02 -4.1540861129760742e-01 <_> 0 -1 586 -1.6816710121929646e-03 1.3032579421997070e-01 -2.3237510025501251e-01 <_> 0 -1 587 3.4896740689873695e-03 6.8852916359901428e-02 -4.7176009416580200e-01 <_> 0 -1 588 1.6204500570893288e-03 -1.0996960103511810e-01 3.4887188673019409e-01 <_> 0 -1 589 1.9125849939882755e-04 -2.0317320525646210e-01 1.4775620400905609e-01 <_> 0 -1 590 2.2485259920358658e-02 5.1929730921983719e-02 -5.4815691709518433e-01 <_> 0 -1 591 1.0035949759185314e-02 -1.0943319648504257e-01 2.6000571250915527e-01 <_> 0 -1 592 4.0091630071401596e-02 3.8657050579786301e-02 -7.4724602699279785e-01 <_> 0 -1 593 1.5319019556045532e-02 2.8579369187355042e-02 -7.7717798948287964e-01 <_> 0 -1 594 9.0913427993655205e-04 -1.5049549937248230e-01 1.7363379895687103e-01 <_> 0 -1 595 -6.0226190835237503e-03 -4.7704491019248962e-01 5.8185670524835587e-02 <_> 0 -1 596 7.8066787682473660e-04 -1.6349339485168457e-01 1.6236920654773712e-01 <_> 0 -1 597 -1.1492020450532436e-02 -5.6185477972030640e-01 4.6009611338376999e-02 <_> 0 -1 598 8.9691327884793282e-03 6.6570483148097992e-02 -3.3824840188026428e-01 <_> 0 -1 599 7.2241941234096885e-04 -1.2882669270038605e-01 1.9002969563007355e-01 <_> 0 -1 600 1.4879239643050823e-05 -2.1765929460525513e-01 1.3151009380817413e-01 <_> 0 -1 601 8.7159732356667519e-03 4.8188239336013794e-02 -5.2367717027664185e-01 <_> 0 -1 602 -1.3809900265187025e-03 -3.1734630465507507e-01 6.7012362182140350e-02 <_> 0 -1 603 1.4004110358655453e-02 -7.2155177593231201e-02 3.4900391101837158e-01 <_> 0 -1 604 -1.2883460149168968e-02 -5.9674298763275146e-01 3.9219990372657776e-02 <_> 0 -1 605 9.9220760166645050e-03 -7.3617048561573029e-02 3.5491651296615601e-01 <_> 0 -1 606 -1.0360360145568848e-02 -4.9655780196189880e-01 5.4516721516847610e-02 <_> 0 -1 607 5.9103948296979070e-04 -9.1649092733860016e-02 2.3738409578800201e-01 <_> 0 -1 608 1.4986419955675956e-05 -1.5624360740184784e-01 1.4216689765453339e-01 <_> 0 -1 609 6.2526292167603970e-03 4.6570941805839539e-02 -4.3861261010169983e-01 <_> 0 -1 610 9.0722978115081787e-02 2.3544119670987129e-02 -7.5557678937911987e-01 <_> 0 -1 611 1.2880839640274644e-03 -1.0999819636344910e-01 1.9954189658164978e-01 <_> 0 -1 612 -5.3202832350507379e-04 -2.3681020736694336e-01 9.4349831342697144e-02 <_> 0 -1 613 1.4669039519503713e-03 -6.0417938977479935e-02 3.5437929630279541e-01 <_> 0 -1 614 2.5929270312190056e-02 3.0205380171537399e-02 -7.1175122261047363e-01 <_> 0 -1 615 -7.2257839143276215e-02 -7.6830059289932251e-01 2.2078540176153183e-02 <_> 0 -1 616 -2.5999830104410648e-03 2.2878250479698181e-01 -9.2575646936893463e-02 <_> 0 -1 617 4.2036110162734985e-01 3.4129150211811066e-02 -6.3944667577743530e-01 <_> 0 -1 618 -2.1722039673477411e-03 -2.0458799600601196e-01 9.6727348864078522e-02 <_> 0 -1 619 -1.8573250621557236e-02 -7.2321742773056030e-01 2.6587400585412979e-02 <_> 0 -1 620 2.1321140229701996e-03 -7.9263173043727875e-02 2.9004418849945068e-01 <_> 0 -1 621 1.4585970347980037e-05 -1.5812200307846069e-01 1.2857919931411743e-01 <_> 0 -1 622 -2.5919941067695618e-01 -8.3206391334533691e-01 2.1327629685401917e-02 <_> 0 -1 623 -1.2713880278170109e-02 -4.8670661449432373e-01 3.5282909870147705e-02 <_> 0 -1 624 2.1182969212532043e-03 -4.8141859471797943e-02 4.3498820066452026e-01 <_> 0 -1 625 4.9225408583879471e-03 5.9389010071754456e-02 -3.5719910264015198e-01 <_> 0 -1 626 7.1720690466463566e-03 -7.2721220552921295e-02 3.1716778874397278e-01 <_> 0 -1 627 1.5319329686462879e-03 7.6105281710624695e-02 -2.9826408624649048e-01 <_> 0 -1 628 -2.6141680777072906e-02 -4.8129829764366150e-01 4.1991200298070908e-02 <_> 0 -1 629 -7.1861818469187710e-06 1.0385909676551819e-01 -2.5540891289710999e-01 <_> 0 -1 630 -5.8513309340924025e-04 2.1552430093288422e-01 -1.0446780174970627e-01 <_> 0 -1 631 7.3564669582992792e-04 8.2850307226181030e-02 -2.3229689896106720e-01 <_> 0 -1 632 -4.4216000242158771e-04 1.9849689304828644e-01 -1.1084359884262085e-01 <_> 0 -1 633 6.6545000299811363e-03 2.9844839125871658e-02 -6.3819402456283569e-01 <_> 0 -1 634 -1.4856060261081439e-05 1.0647810250520706e-01 -1.6304740309715271e-01 <_> 0 -1 635 4.4933347962796688e-03 -5.8312181383371353e-02 3.2200211286544800e-01 <_> 0 -1 636 3.8110970053821802e-03 7.1237437427043915e-02 -2.7149480581283569e-01 <_> 0 -1 637 -3.8309019058942795e-02 -6.2387478351593018e-01 2.9790399596095085e-02 <_> 0 -1 638 -2.5534629821777344e-03 2.0947620272636414e-01 -9.3472570180892944e-02 <_> 0 -1 639 -2.9908109354437329e-05 1.4771899580955505e-01 -1.2858720123767853e-01 <_> 0 -1 640 2.0549520850181580e-03 -9.3603983521461487e-02 2.1911169588565826e-01 <_> 0 -1 641 3.3064800663851202e-04 -1.4430660009384155e-01 1.6905060410499573e-01 <_> 0 -1 642 4.0969369001686573e-04 8.9844956994056702e-02 -2.1793210506439209e-01 <_> 0 -1 643 -5.1680381875485182e-04 -2.7330860495567322e-01 7.2490707039833069e-02 <_> 0 -1 644 -1.2285299599170685e-02 -5.7899951934814453e-01 2.8828129172325134e-02 <_> 0 -1 645 1.4923219569027424e-03 -8.9748427271842957e-02 2.1315790712833405e-01 <_> 0 -1 646 3.7809570785611868e-03 5.6869130581617355e-02 -3.2580479979515076e-01 <_> 0 -1 647 -1.3630799949169159e-01 -5.1958292722702026e-01 3.4014869481325150e-02 <_> 0 -1 648 2.1192250773310661e-02 -5.9815749526023865e-02 4.3134000897407532e-01 <_> 0 -1 649 -2.2501780185848475e-03 -3.2725110650062561e-01 6.9494038820266724e-02 <_> 0 -1 650 -1.3309439644217491e-02 5.5684721469879150e-01 -3.8055110722780228e-02 <_> 0 -1 651 -4.8674400895833969e-02 3.7503889203071594e-01 -4.8045299947261810e-02 <_> 0 -1 652 -1.4651560377387796e-05 9.3043543398380280e-02 -2.2984559834003448e-01 <_> 0 -1 653 -7.7605661936104298e-03 3.8858211040496826e-01 -5.4669309407472610e-02 <_> 0 -1 654 2.4429330602288246e-02 4.5898649841547012e-02 -5.1061111688613892e-01 <_> 0 -1 655 -2.1317049686331302e-04 -2.0513610541820526e-01 1.0507310181856155e-01 <_> 105 -1.6632529497146606e+00 <_> 0 -1 656 -5.7014292106032372e-03 2.7576211094856262e-01 -3.3123719692230225e-01 <_> 0 -1 657 -4.4359369203448296e-03 1.5587480366230011e-01 -5.0288617610931396e-01 <_> 0 -1 658 -5.0388257950544357e-03 1.6109010577201843e-01 -3.5196068882942200e-01 <_> 0 -1 659 8.0847437493503094e-04 -3.3315700292587280e-01 1.4446459710597992e-01 <_> 0 -1 660 2.1605329588055611e-02 -8.6723573505878448e-02 5.9101939201354980e-01 <_> 0 -1 661 -1.8266839906573296e-02 5.0261861085891724e-01 -8.4620863199234009e-02 <_> 0 -1 662 -8.3384668687358499e-04 -3.0832511186599731e-01 1.1352760344743729e-01 <_> 0 -1 663 -1.5336600132286549e-02 -6.8610608577728271e-01 3.3057838678359985e-02 <_> 0 -1 664 -5.0607877783477306e-03 3.4399279952049255e-01 -9.2118233442306519e-02 <_> 0 -1 665 -1.4741700397280511e-05 1.1778169870376587e-01 -2.5235179066658020e-01 <_> 0 -1 666 -1.1485730065032840e-03 -2.9050019383430481e-01 8.3533048629760742e-02 <_> 0 -1 667 2.8824089094996452e-03 -9.0674236416816711e-02 3.1274148821830750e-01 <_> 0 -1 668 -2.9224360361695290e-02 -6.9156378507614136e-01 3.3279780298471451e-02 <_> 0 -1 669 2.1423520520329475e-03 -1.0087729990482330e-01 2.4603089690208435e-01 <_> 0 -1 670 -3.3471059054136276e-02 -5.0953942537307739e-01 5.5052071809768677e-02 <_> 0 -1 671 1.4763450053578708e-05 -1.7823149263858795e-01 1.2816399335861206e-01 <_> 0 -1 672 1.6341559588909149e-02 -1.3254739344120026e-01 1.9663499295711517e-01 <_> 0 -1 673 2.2475779987871647e-03 7.9048447310924530e-02 -2.9476320743560791e-01 <_> 0 -1 674 4.6113221906125546e-03 -7.6338447630405426e-02 3.2394409179687500e-01 <_> 0 -1 675 2.8979079797863960e-03 -1.0839050263166428e-01 2.6353389024734497e-01 <_> 0 -1 676 1.3482819776982069e-03 7.9134561121463776e-02 -3.4839859604835510e-01 <_> 0 -1 677 4.6576592139899731e-03 7.6356090605258942e-02 -3.1110540032386780e-01 <_> 0 -1 678 -3.9915097877383232e-03 -3.4151628613471985e-01 8.2623466849327087e-02 <_> 0 -1 679 6.0268798843026161e-03 -9.6277832984924316e-02 2.6347661018371582e-01 <_> 0 -1 680 -4.1388701647520065e-03 2.3571729660034180e-01 -9.4335287809371948e-02 <_> 0 -1 681 -1.0371750220656395e-02 -7.2972798347473145e-01 3.3645220100879669e-02 <_> 0 -1 682 1.0373629629611969e-01 3.1347069889307022e-02 -5.8245128393173218e-01 <_> 0 -1 683 -1.8832299974747002e-04 1.6663299500942230e-01 -1.3723160326480865e-01 <_> 0 -1 684 -6.0749921249225736e-04 -2.7257540822029114e-01 8.1483371555805206e-02 <_> 0 -1 685 2.3499270901083946e-03 -1.0285440087318420e-01 2.1854889392852783e-01 <_> 0 -1 686 -3.1354159582406282e-03 -4.9246039986610413e-01 4.4747360050678253e-02 <_> 0 -1 687 1.5564589994028211e-03 5.3096260875463486e-02 -4.0526211261749268e-01 <_> 0 -1 688 6.3236099667847157e-03 -7.9116806387901306e-02 2.8413718938827515e-01 <_> 0 -1 689 -4.8074051737785339e-03 2.9990258812904358e-01 -8.2824081182479858e-02 <_> 0 -1 690 7.6432302594184875e-02 3.9146371185779572e-02 -5.7314342260360718e-01 <_> 0 -1 691 7.0249952841550112e-04 5.2832871675491333e-02 -3.3245471119880676e-01 <_> 0 -1 692 -8.2157138967886567e-04 -2.1230019629001617e-01 8.8145829737186432e-02 <_> 0 -1 693 -1.0148280300199986e-02 -2.2071610391139984e-01 9.6597403287887573e-02 <_> 0 -1 694 -1.7348809540271759e-01 -5.9822201728820801e-01 3.2547060400247574e-02 <_> 0 -1 695 4.3031540699303150e-03 -6.8253546953201294e-02 2.8981029987335205e-01 <_> 0 -1 696 -7.3378678280278109e-06 7.5155563652515411e-02 -2.5863590836524963e-01 <_> 0 -1 697 1.9277239916846156e-03 1.0856460034847260e-01 -1.6595140099525452e-01 <_> 0 -1 698 -4.2054480873048306e-03 1.9811309874057770e-01 -9.1941706836223602e-02 <_> 0 -1 699 1.1466189753264189e-03 4.2078729718923569e-02 -4.3991029262542725e-01 <_> 0 -1 700 -6.7244949750602245e-03 3.4456861019134521e-01 -5.7096958160400391e-02 <_> 0 -1 701 -1.4554189874615986e-05 1.1632560193538666e-01 -1.6252210736274719e-01 <_> 0 -1 702 -2.6114559732377529e-03 2.8084969520568848e-01 -6.8243041634559631e-02 <_> 0 -1 703 -1.9477460591588169e-04 -1.9368860125541687e-01 9.3413226306438446e-02 <_> 0 -1 704 2.6438338682055473e-04 9.9354371428489685e-02 -2.1586629748344421e-01 <_> 0 -1 705 2.0134719088673592e-03 -6.1209201812744141e-02 2.9120978713035583e-01 <_> 0 -1 706 -2.6024359464645386e-01 -8.3802181482315063e-01 2.1150760352611542e-02 <_> 0 -1 707 -1.5944700688123703e-02 -6.3974797725677490e-01 2.2144839167594910e-02 <_> 0 -1 708 6.7249889252707362e-04 -1.4014090597629547e-01 1.2326350063085556e-01 <_> 0 -1 709 1.3042770326137543e-02 2.4306889623403549e-02 -6.6303068399429321e-01 <_> 0 -1 710 -1.4540290067088790e-05 9.0137362480163574e-02 -1.7409169673919678e-01 <_> 0 -1 711 1.7920829355716705e-02 2.5644620880484581e-02 -6.5067142248153687e-01 <_> 0 -1 712 1.6542300581932068e-03 -1.0385700315237045e-01 1.6688160598278046e-01 <_> 0 -1 713 3.5362090915441513e-02 2.3093009367585182e-02 -6.9009417295455933e-01 <_> 0 -1 714 3.3049840567400679e-05 -1.7408940196037292e-01 9.3873098492622375e-02 <_> 0 -1 715 3.3775588963180780e-03 -5.8522459119558334e-02 3.0490559339523315e-01 <_> 0 -1 716 7.3239738121628761e-03 4.0999408811330795e-02 -4.6160981059074402e-01 <_> 0 -1 717 -2.9797051101922989e-03 5.1136761903762817e-01 -3.6246869713068008e-02 <_> 0 -1 718 2.0306499209254980e-03 6.5309353172779083e-02 -2.6698499917984009e-01 <_> 0 -1 719 -6.8856950383633375e-04 -1.7604120075702667e-01 9.9361896514892578e-02 <_> 0 -1 720 1.5746579738333821e-03 -1.0312269628047943e-01 1.6940550506114960e-01 <_> 0 -1 721 1.5011089853942394e-03 -8.8128447532653809e-02 1.8899090588092804e-01 <_> 0 -1 722 1.3503979425877333e-04 9.4145476818084717e-02 -1.8483440577983856e-01 <_> 0 -1 723 5.5570588447153568e-03 2.9959060251712799e-02 -5.5482620000839233e-01 <_> 0 -1 724 9.4529995694756508e-03 -5.3136389702558517e-02 4.0138289332389832e-01 <_> 0 -1 725 -6.1030662618577480e-04 -2.7060449123382568e-01 6.6881351172924042e-02 <_> 0 -1 726 -1.1329240351915359e-01 -6.5178507566452026e-01 2.5042990222573280e-02 <_> 0 -1 727 -2.0354389562271535e-04 1.0892420262098312e-01 -1.5174369513988495e-01 <_> 0 -1 728 -1.4983189757913351e-03 2.7388730645179749e-01 -5.8467049151659012e-02 <_> 0 -1 729 7.5277159921824932e-03 4.0991529822349548e-02 -4.2739889025688171e-01 <_> 0 -1 730 3.6209179088473320e-03 -6.7309238016605377e-02 2.6064750552177429e-01 <_> 0 -1 731 1.2153049930930138e-02 5.0768271088600159e-02 -3.8319081068038940e-01 <_> 0 -1 732 4.6126339584589005e-02 2.4232989177107811e-02 -6.5039527416229248e-01 <_> 0 -1 733 7.1408541407436132e-04 -1.3476370275020599e-01 1.2208549678325653e-01 <_> 0 -1 734 -4.4331620447337627e-03 1.9939610362052917e-01 -1.0218709707260132e-01 <_> 0 -1 735 1.3099729549139738e-03 7.4517026543617249e-02 -2.4503719806671143e-01 <_> 0 -1 736 2.6161450659856200e-04 -8.4287956357002258e-02 1.9924600422382355e-01 <_> 0 -1 737 -2.7577539440244436e-03 -6.8734467029571533e-01 2.4851109832525253e-02 <_> 0 -1 738 6.9469690322875977e-02 3.8438729941844940e-02 -3.9717179536819458e-01 <_> 0 -1 739 -1.3031469425186515e-03 2.0089949667453766e-01 -9.1723307967185974e-02 <_> 0 -1 740 1.3012000126764178e-03 -9.5305852591991425e-02 1.9248190522193909e-01 <_> 0 -1 741 -3.9377259090542793e-03 -3.9224091172218323e-01 4.3738011270761490e-02 <_> 0 -1 742 9.6125707030296326e-02 -4.3269440531730652e-02 3.7441849708557129e-01 <_> 0 -1 743 -1.9181859493255615e-01 -6.1320561170578003e-01 2.8775539249181747e-02 <_> 0 -1 744 -3.2945619896054268e-03 -2.2446820139884949e-01 7.7655017375946045e-02 <_> 0 -1 745 -8.5190916433930397e-03 4.4720551371574402e-01 -4.1310388594865799e-02 <_> 0 -1 746 -4.9431469291448593e-02 -5.1819682121276855e-01 3.6863740533590317e-02 <_> 0 -1 747 2.3110879585146904e-02 -3.3078420907258987e-02 5.9146630764007568e-01 <_> 0 -1 748 -4.3400399590609595e-05 1.1395029723644257e-01 -1.9526299834251404e-01 <_> 0 -1 749 5.4926839657127857e-03 6.1616070568561554e-02 -2.5591990351676941e-01 <_> 0 -1 750 1.1886029969900846e-03 -6.8509116768836975e-02 2.4291250109672546e-01 <_> 0 -1 751 8.8473428040742874e-03 7.6467283070087433e-02 -2.3176389932632446e-01 <_> 0 -1 752 2.3952820338308811e-03 -4.4620860368013382e-02 4.5811769366264343e-01 <_> 0 -1 753 -1.5011220239102840e-04 -1.6560749709606171e-01 1.0622239857912064e-01 <_> 0 -1 754 -2.3465899750590324e-02 -2.4931310117244720e-01 6.6179357469081879e-02 <_> 0 -1 755 -6.6368370316922665e-03 1.4358420670032501e-01 -1.1510509997606277e-01 <_> 0 -1 756 1.1986029567196965e-03 -9.8347522318363190e-02 1.7605540156364441e-01 <_> 0 -1 757 7.9502072185277939e-03 3.5481378436088562e-02 -5.0176638364791870e-01 <_> 0 -1 758 -4.5950649655424058e-04 -1.6928760707378387e-01 9.3400083482265472e-02 <_> 0 -1 759 -1.9301069900393486e-02 4.1836661100387573e-01 -5.1140110939741135e-02 <_> 0 -1 760 4.0163499116897583e-01 2.9358919709920883e-02 -6.4768058061599731e-01 <_> 114 -1.5384509563446045e+00 <_> 0 -1 761 -3.6284290254116058e-02 4.2841899394989014e-01 -2.5840431451797485e-01 <_> 0 -1 762 3.0520830303430557e-02 -2.9715040326118469e-01 2.1756610274314880e-01 <_> 0 -1 763 3.3444820437580347e-03 -2.1734359860420227e-01 1.9754439592361450e-01 <_> 0 -1 764 -1.3315919786691666e-03 1.5535929799079895e-01 -2.3133680224418640e-01 <_> 0 -1 765 -1.9773480016738176e-03 -4.2001301050186157e-01 8.8554427027702332e-02 <_> 0 -1 766 -3.7038238951936364e-04 1.2769789993762970e-01 -2.3879130184650421e-01 <_> 0 -1 767 -7.3736459016799927e-03 -4.0720060467720032e-01 2.9765319079160690e-02 <_> 0 -1 768 -2.1873020159546286e-05 1.2338209897279739e-01 -2.2237089276313782e-01 <_> 0 -1 769 4.5575048716273159e-05 -2.3092910647392273e-01 1.2953619658946991e-01 <_> 0 -1 770 -1.1247170157730579e-02 -5.4762738943099976e-01 4.1907660663127899e-02 <_> 0 -1 771 -8.9430268853902817e-03 2.7945289015769958e-01 -9.0801216661930084e-02 <_> 0 -1 772 1.4646670024376363e-05 -1.6777880489826202e-01 1.4968040585517883e-01 <_> 0 -1 773 -6.5398351289331913e-03 3.3654621243476868e-01 -7.1987256407737732e-02 <_> 0 -1 774 3.3825531136244535e-03 4.9931880086660385e-02 -4.5806300640106201e-01 <_> 0 -1 775 2.7450500056147575e-03 3.6119509488344193e-02 -5.7113862037658691e-01 <_> 0 -1 776 1.0356379672884941e-02 -5.3049158304929733e-02 4.2121198773384094e-01 <_> 0 -1 777 3.1687319278717041e-03 6.2849938869476318e-02 -3.4674918651580811e-01 <_> 0 -1 778 1.3616570504382253e-03 -9.0661056339740753e-02 2.5257480144500732e-01 <_> 0 -1 779 -2.2238260135054588e-03 2.6595190167427063e-01 -9.6649080514907837e-02 <_> 0 -1 780 1.1090899817645550e-02 8.6638063192367554e-02 -3.0103358626365662e-01 <_> 0 -1 781 -6.7766150459647179e-04 9.4277828931808472e-02 -2.1464149653911591e-01 <_> 0 -1 782 -3.3104580361396074e-03 -5.9162640571594238e-01 3.2738488167524338e-02 <_> 0 -1 783 2.3221869487315416e-03 -9.5557250082492828e-02 2.0546199381351471e-01 <_> 0 -1 784 3.0947118648327887e-04 -1.2992270290851593e-01 1.7704719305038452e-01 <_> 0 -1 785 -3.2214168459177017e-02 -6.4662492275238037e-01 3.1749259680509567e-02 <_> 0 -1 786 -8.3192758029326797e-04 -3.0666750669479370e-01 6.1040591448545456e-02 <_> 0 -1 787 3.9188290247693658e-04 -1.5795469284057617e-01 1.1830350011587143e-01 <_> 0 -1 788 -3.6203738301992416e-02 -2.2731229662895203e-01 8.3183012902736664e-02 <_> 0 -1 789 2.6437509804964066e-03 -7.6691061258316040e-02 2.3545509576797485e-01 <_> 0 -1 790 -3.4368310589343309e-03 3.6057031154632568e-01 -7.3672987520694733e-02 <_> 0 -1 791 -5.5921601597219706e-04 -2.5343179702758789e-01 7.8275643289089203e-02 <_> 0 -1 792 4.3010139052057639e-05 -1.8223099410533905e-01 9.7539380192756653e-02 <_> 0 -1 793 5.3192679770290852e-03 -7.6901949942111969e-02 2.4221810698509216e-01 <_> 0 -1 794 -6.9484501145780087e-03 -5.8275872468948364e-01 3.4601949155330658e-02 <_> 0 -1 795 1.2447779998183250e-02 2.3883659392595291e-02 -6.1712497472763062e-01 <_> 0 -1 796 1.0083100060001016e-03 -7.5152181088924408e-02 2.4744270741939545e-01 <_> 0 -1 797 -2.3544009309262037e-03 3.1459400057792664e-01 -6.5026231110095978e-02 <_> 0 -1 798 4.5676861191168427e-04 7.9758197069168091e-02 -2.3777219653129578e-01 <_> 0 -1 799 6.6723190248012543e-03 3.8779199123382568e-02 -4.6045419573783875e-01 <_> 0 -1 800 7.1861818469187710e-06 -1.3110539317131042e-01 1.2532530725002289e-01 <_> 0 -1 801 3.0392590910196304e-02 2.9670530930161476e-02 -5.3870928287506104e-01 <_> 0 -1 802 1.4835850379313342e-05 -1.5778580307960510e-01 1.0566859692335129e-01 <_> 0 -1 803 1.4415860176086426e-02 -7.6271347701549530e-02 3.0597710609436035e-01 <_> 0 -1 804 3.2787520904093981e-03 4.4464308768510818e-02 -3.8928028941154480e-01 <_> 0 -1 805 1.0770520195364952e-02 -3.9324011653661728e-02 4.1493979096412659e-01 <_> 0 -1 806 5.4678268497809768e-04 5.8721691370010376e-02 -2.7546930313110352e-01 <_> 0 -1 807 -1.8106499919667840e-03 1.8281750380992889e-01 -9.3675427138805389e-02 <_> 0 -1 808 1.1771249771118164e-01 2.3175759240984917e-02 -7.0696681737899780e-01 <_> 0 -1 809 -3.1166549888439476e-04 -2.0585930347442627e-01 7.6573841273784637e-02 <_> 0 -1 810 -9.7939418628811836e-03 4.8732680082321167e-01 -3.4746028482913971e-02 <_> 0 -1 811 1.0002780472859740e-03 -1.1003620177507401e-01 1.5490560233592987e-01 <_> 0 -1 812 6.9929230958223343e-03 3.2923609018325806e-02 -5.4326117038726807e-01 <_> 0 -1 813 3.4163020551204681e-02 1.8062820658087730e-02 -7.0809149742126465e-01 <_> 0 -1 814 -2.0808410644531250e-01 -6.7879611253738403e-01 2.0255820825695992e-02 <_> 0 -1 815 2.4889659835025668e-04 -1.7719520628452301e-01 8.8152356445789337e-02 <_> 0 -1 816 -9.3355607241392136e-03 1.7948059737682343e-01 -9.4474621117115021e-02 <_> 0 -1 817 2.9192469082772732e-04 -1.3786169886589050e-01 1.3819259405136108e-01 <_> 0 -1 818 9.1989226639270782e-03 -1.0269109904766083e-01 1.7618100345134735e-01 <_> 0 -1 819 6.8165437551215291e-04 7.4821308255195618e-02 -2.3621830344200134e-01 <_> 0 -1 820 -1.4507620107906405e-05 9.5861770212650299e-02 -1.7785739898681641e-01 <_> 0 -1 821 1.7662490427028388e-04 -1.3805359601974487e-01 1.3394320011138916e-01 <_> 0 -1 822 -1.7513500060886145e-03 7.7623583376407623e-02 -2.3174029588699341e-01 <_> 0 -1 823 5.1342020742595196e-03 3.0363969504833221e-02 -5.2420848608016968e-01 <_> 0 -1 824 9.4114318490028381e-03 -5.8994568884372711e-02 3.0291381478309631e-01 <_> 0 -1 825 -1.0448819957673550e-03 -1.7124690115451813e-01 1.0156030207872391e-01 <_> 0 -1 826 -6.3579198904335499e-03 3.1986710429191589e-01 -5.0694450736045837e-02 <_> 0 -1 827 -6.3502117991447449e-03 -5.2413272857666016e-01 3.1800068914890289e-02 <_> 0 -1 828 1.2251759879291058e-02 1.6559680923819542e-02 -7.9422187805175781e-01 <_> 0 -1 829 -1.4000720344483852e-02 -5.4444402456283569e-01 2.4652559310197830e-02 <_> 0 -1 830 1.9229920580983162e-03 -7.6944977045059204e-02 2.1888209879398346e-01 <_> 0 -1 831 -3.4030789975076914e-03 3.0143401026725769e-01 -5.8023329824209213e-02 <_> 0 -1 832 -2.7728609740734100e-02 -5.6704998016357422e-01 3.0071720480918884e-02 <_> 0 -1 833 1.4990579802542925e-04 9.1404616832733154e-02 -1.6989429295063019e-01 <_> 0 -1 834 -1.4532960449287202e-05 1.0442660003900528e-01 -1.3983349502086639e-01 <_> 0 -1 835 2.8315950185060501e-02 1.7812129110097885e-02 -8.1201279163360596e-01 <_> 0 -1 836 -1.7363600200042129e-03 1.9688630104064941e-01 -7.6398819684982300e-02 <_> 0 -1 837 -2.2081490606069565e-02 4.4497510790824890e-01 -3.3445868641138077e-02 <_> 0 -1 838 1.2189210392534733e-03 4.9154780805110931e-02 -3.7790310382843018e-01 <_> 0 -1 839 -5.4838892538100481e-04 -2.2823029756546021e-01 8.0446496605873108e-02 <_> 0 -1 840 -9.3702552840113640e-04 2.5258961319923401e-01 -6.5389201045036316e-02 <_> 0 -1 841 1.2496720068156719e-02 3.8215879350900650e-02 -4.0465530753135681e-01 <_> 0 -1 842 -1.6764370724558830e-02 -1.4508719742298126e-01 1.2119810283184052e-01 <_> 0 -1 843 5.6504327803850174e-03 -8.7139137089252472e-02 2.2194419801235199e-01 <_> 0 -1 844 5.2610319107770920e-04 8.7222076952457428e-02 -2.0502470433712006e-01 <_> 0 -1 845 1.5574200078845024e-03 -1.7036689817905426e-01 9.4435282051563263e-02 <_> 0 -1 846 2.5609090924263000e-01 1.7790110781788826e-02 -7.4050921201705933e-01 <_> 0 -1 847 3.3561999443918467e-03 -4.2667269706726074e-02 3.7573391199111938e-01 <_> 0 -1 848 4.7072928398847580e-02 3.2015219330787659e-02 -6.4522278308868408e-01 <_> 0 -1 849 -2.2168930154293776e-03 2.0757040381431580e-01 -7.7372692525386810e-02 <_> 0 -1 850 5.0796428695321083e-03 4.1829328984022141e-02 -3.7722969055175781e-01 <_> 0 -1 851 7.0120906457304955e-05 8.1031888723373413e-02 -1.8506260216236115e-01 <_> 0 -1 852 -5.2204862004145980e-04 1.2528459727764130e-01 -1.3090319931507111e-01 <_> 0 -1 853 -6.1609707772731781e-03 3.1177788972854614e-01 -5.1252178847789764e-02 <_> 0 -1 854 -2.8424879908561707e-01 -7.0340508222579956e-01 2.2811079397797585e-02 <_> 0 -1 855 -4.1746720671653748e-02 -7.8914260864257812e-01 1.6686350107192993e-02 <_> 0 -1 856 -1.0051350109279156e-03 -2.2181299328804016e-01 6.1887398362159729e-02 <_> 0 -1 857 -1.3900640187785029e-03 1.8797479569911957e-01 -7.6582401990890503e-02 <_> 0 -1 858 -4.0118378819897771e-04 -1.7291170358657837e-01 8.6806759238243103e-02 <_> 0 -1 859 -2.9202610676293261e-05 9.2319779098033905e-02 -1.7136460542678833e-01 <_> 0 -1 860 -2.6532830670475960e-03 3.9422848820686340e-01 -3.9826449006795883e-02 <_> 0 -1 861 -7.8933471813797951e-03 -4.3326890468597412e-01 3.6603361368179321e-02 <_> 0 -1 862 8.7933447211980820e-03 -3.3205948770046234e-02 4.8740789294242859e-01 <_> 0 -1 863 1.2014759704470634e-02 2.2244220599532127e-02 -8.1597268581390381e-01 <_> 0 -1 864 2.1147020161151886e-03 6.4942933619022369e-02 -2.0959229767322540e-01 <_> 0 -1 865 -9.9916034378111362e-04 1.5402349829673767e-01 -1.0149469971656799e-01 <_> 0 -1 866 -7.6499581336975098e-04 2.0236450433731079e-01 -7.1199662983417511e-02 <_> 0 -1 867 -4.2193511035293341e-04 1.1521430313587189e-01 -1.2845459580421448e-01 <_> 0 -1 868 -4.1548791341483593e-04 -2.1168529987335205e-01 7.0376142859458923e-02 <_> 0 -1 869 1.5300279483199120e-03 6.1263758689165115e-02 -2.2269320487976074e-01 <_> 0 -1 870 -2.6573969516903162e-03 3.8462328910827637e-01 -3.8276020437479019e-02 <_> 0 -1 871 -2.1988600492477417e-01 -5.1546782255172729e-01 2.8099389746785164e-02 <_> 0 -1 872 -8.7377207819372416e-04 1.0149329900741577e-01 -1.3990689814090729e-01 <_> 0 -1 873 7.5169820338487625e-03 -6.1671640723943710e-02 2.5486430525779724e-01 <_> 0 -1 874 -1.3438290625344962e-04 -1.6618040204048157e-01 8.8938876986503601e-02 <_> 117 -1.5079799890518188e+00 <_> 0 -1 875 3.5007519181817770e-03 -2.8256690502166748e-01 3.3628109097480774e-01 <_> 0 -1 876 4.1042729280889034e-03 -1.5877629816532135e-01 3.4091961383819580e-01 <_> 0 -1 877 9.8724407143890858e-04 -4.6094760298728943e-01 1.1771719902753830e-01 <_> 0 -1 878 -4.0168981067836285e-03 1.3994920253753662e-01 -3.8476601243019104e-01 <_> 0 -1 879 -4.2784500867128372e-02 3.1519949436187744e-01 -1.1673810333013535e-01 <_> 0 -1 880 -5.6273501832038164e-04 8.2315109670162201e-02 -3.3594700694084167e-01 <_> 0 -1 881 -4.3416650441940874e-05 1.0691779851913452e-01 -2.5068029761314392e-01 <_> 0 -1 882 1.5347570180892944e-02 9.7383828833699226e-03 -6.4612430334091187e-01 <_> 0 -1 883 1.8295480404049158e-03 8.9164443314075470e-02 -2.9637640714645386e-01 <_> 0 -1 884 3.2098879455588758e-04 -2.3136790096759796e-01 1.1478479951620102e-01 <_> 0 -1 885 1.0728760389611125e-03 -1.2982189655303955e-01 1.9653689861297607e-01 <_> 0 -1 886 -4.9566011875867844e-03 3.5313999652862549e-01 -7.6989777386188507e-02 <_> 0 -1 887 -1.6319400165230036e-03 -2.3701989650726318e-01 1.0319659858942032e-01 <_> 0 -1 888 1.9862050190567970e-02 5.9187598526477814e-02 -4.0955111384391785e-01 <_> 0 -1 889 -9.5205483958125114e-03 3.9061769843101501e-01 -5.7647578418254852e-02 <_> 0 -1 890 -1.0885810479521751e-03 -5.2902680635452271e-01 4.4961001724004745e-02 <_> 0 -1 891 3.5348529927432537e-03 -9.2707537114620209e-02 2.4449980258941650e-01 <_> 0 -1 892 5.7174800895154476e-03 5.7306189090013504e-02 -3.9878991246223450e-01 <_> 0 -1 893 -1.4010589802637696e-03 1.0757780075073242e-01 -1.9520820677280426e-01 <_> 0 -1 894 -2.2306239698082209e-03 -6.1328327655792236e-01 2.7875339612364769e-02 <_> 0 -1 895 -5.0583072006702423e-03 -5.4739731550216675e-01 3.0482530593872070e-02 <_> 0 -1 896 1.3725720345973969e-01 2.8162300586700439e-02 -6.0817748308181763e-01 <_> 0 -1 897 3.7828299682587385e-03 -1.2640979886054993e-01 1.3382309675216675e-01 <_> 0 -1 898 -1.0629029944539070e-02 -1.7343379557132721e-01 9.9954582750797272e-02 <_> 0 -1 899 5.6623672135174274e-03 -5.2419230341911316e-02 3.2940819859504700e-01 <_> 0 -1 900 -4.5901038683950901e-03 1.8784660100936890e-01 -9.2681042850017548e-02 <_> 0 -1 901 7.1088741533458233e-03 3.2605409622192383e-02 -5.7968139648437500e-01 <_> 0 -1 902 -1.9310249481350183e-03 -2.8707239031791687e-01 5.8658700436353683e-02 <_> 0 -1 903 3.5559700336307287e-03 -6.2841393053531647e-02 3.0232760310173035e-01 <_> 0 -1 904 2.1007249597460032e-04 -1.2029449641704559e-01 2.0722889900207520e-01 <_> 0 -1 905 3.0181880574673414e-03 4.2764421552419662e-02 -4.5567208528518677e-01 <_> 0 -1 906 -2.0919379312545061e-03 -5.8067041635513306e-01 2.4772390723228455e-02 <_> 0 -1 907 4.9380292184650898e-03 -6.7825779318809509e-02 2.6715460419654846e-01 <_> 0 -1 908 1.0227119782939553e-03 -1.1050579696893692e-01 1.7136010527610779e-01 <_> 0 -1 909 -9.1216713190078735e-02 -5.5617409944534302e-01 3.1176509335637093e-02 <_> 0 -1 910 1.9377609714865685e-03 5.2470069378614426e-02 -3.3402100205421448e-01 <_> 0 -1 911 -4.5235231518745422e-03 -3.8628038763999939e-01 4.4883530586957932e-02 <_> 0 -1 912 1.1070469627156854e-03 -9.4648011028766632e-02 1.7694370448589325e-01 <_> 0 -1 913 -1.4522889629006386e-02 -4.4854640960693359e-01 4.0654070675373077e-02 <_> 0 -1 914 2.0895639434456825e-02 3.5988390445709229e-02 -4.4317048788070679e-01 <_> 0 -1 915 7.3273790803796146e-06 -1.9736979901790619e-01 8.8131763041019440e-02 <_> 0 -1 916 -1.4750339687452652e-05 8.8203012943267822e-02 -1.9387699663639069e-01 <_> 0 -1 917 1.0160019621253014e-02 -7.3683522641658783e-02 2.7725589275360107e-01 <_> 0 -1 918 1.4658429790870287e-05 -1.3514040410518646e-01 1.1165390163660049e-01 <_> 0 -1 919 2.9789519030600786e-03 -5.6356389075517654e-02 2.9033899307250977e-01 <_> 0 -1 920 6.7907930351793766e-03 -5.5468060076236725e-02 2.9650750756263733e-01 <_> 0 -1 921 3.5746619105339050e-02 4.4232271611690521e-02 -3.7943100929260254e-01 <_> 0 -1 922 -8.6023868061602116e-04 -2.5524240732192993e-01 6.3983328640460968e-02 <_> 0 -1 923 -3.2749359961599112e-03 5.1642370223999023e-01 -3.0802410095930099e-02 <_> 0 -1 924 -1.4287419617176056e-04 -1.7014829814434052e-01 9.0200550854206085e-02 <_> 0 -1 925 -5.9252060949802399e-02 4.4787400960922241e-01 -3.4802999347448349e-02 <_> 0 -1 926 4.9169741570949554e-02 4.3797228485345840e-02 -3.9337700605392456e-01 <_> 0 -1 927 2.4047859478741884e-03 -8.5982158780097961e-02 1.7597770690917969e-01 <_> 0 -1 928 -8.8569998741149902e-02 -2.9694429039955139e-01 5.6752521544694901e-02 <_> 0 -1 929 3.5266599152237177e-03 -5.4160539060831070e-02 3.2359990477561951e-01 <_> 0 -1 930 -1.4674359590571839e-05 1.0095299780368805e-01 -1.7195940017700195e-01 <_> 0 -1 931 -1.0672880336642265e-02 -3.9103358983993530e-01 3.9687499403953552e-02 <_> 0 -1 932 -1.3177569955587387e-02 2.7460250258445740e-01 -5.5524408817291260e-02 <_> 0 -1 933 -2.0427990239113569e-03 -3.2616940140724182e-01 5.1151938736438751e-02 <_> 0 -1 934 2.5430709123611450e-02 3.4412149339914322e-02 -3.9120680093765259e-01 <_> 0 -1 935 6.6575622186064720e-03 -6.2124639749526978e-02 2.5493910908699036e-01 <_> 0 -1 936 -2.4922629818320274e-02 -7.5617647171020508e-01 2.0520050078630447e-02 <_> 0 -1 937 6.4869478344917297e-02 1.3535760343074799e-02 -8.5182607173919678e-01 <_> 0 -1 938 -1.9129139836877584e-03 -2.0609579980373383e-01 6.8809613585472107e-02 <_> 0 -1 939 -2.7280850335955620e-03 1.3853220641613007e-01 -1.1308959871530533e-01 <_> 0 -1 940 3.9647668600082397e-03 -8.5980050265789032e-02 1.8867929279804230e-01 <_> 0 -1 941 8.6866566562093794e-05 -1.3409359753131866e-01 1.1543890088796616e-01 <_> 0 -1 942 -1.0680439881980419e-03 2.4043959379196167e-01 -5.9584230184555054e-02 <_> 0 -1 943 6.4973197877407074e-03 3.5721741616725922e-02 -4.3827891349792480e-01 <_> 0 -1 944 3.3825050923041999e-04 7.5188770890235901e-02 -1.9240869581699371e-01 <_> 0 -1 945 2.4638089817017317e-03 -3.8108248263597488e-02 4.1398531198501587e-01 <_> 0 -1 946 7.1629788726568222e-04 6.7675560712814331e-02 -2.3129940032958984e-01 <_> 0 -1 947 -1.1354340240359306e-03 1.6413919627666473e-01 -9.8224140703678131e-02 <_> 0 -1 948 -4.6024488983675838e-04 7.8879103064537048e-02 -1.8191289901733398e-01 <_> 0 -1 949 -8.1474315375089645e-03 -1.8627829849720001e-01 7.7696673572063446e-02 <_> 0 -1 950 -3.3882331103086472e-02 4.1818460822105408e-01 -4.0109351277351379e-02 <_> 0 -1 951 -4.3395790271461010e-03 1.8961839377880096e-01 -8.3509556949138641e-02 <_> 0 -1 952 2.4691419675946236e-03 4.3756991624832153e-02 -3.8284140825271606e-01 <_> 0 -1 953 8.7688177824020386e-02 2.3466430604457855e-02 -5.9991317987442017e-01 <_> 0 -1 954 7.1277258939517196e-06 -1.4574949443340302e-01 9.4181038439273834e-02 <_> 0 -1 955 -2.2863550111651421e-03 2.2176849842071533e-01 -6.2630541622638702e-02 <_> 0 -1 956 -1.4718780221301131e-05 1.1210440099239349e-01 -1.3407769799232483e-01 <_> 0 -1 957 2.9124629218131304e-03 -6.1113931238651276e-02 2.6921069622039795e-01 <_> 0 -1 958 -7.2532321792095900e-04 -1.8317590653896332e-01 9.0204723179340363e-02 <_> 0 -1 959 -1.7109309555962682e-03 -2.9150980710983276e-01 5.6865800172090530e-02 <_> 0 -1 960 3.5050138831138611e-02 2.4259999394416809e-02 -5.9926068782806396e-01 <_> 0 -1 961 2.5119259953498840e-02 -4.6499390155076981e-02 3.3078059554100037e-01 <_> 0 -1 962 1.3924979604780674e-02 5.4394099861383438e-02 -3.2431459426879883e-01 <_> 0 -1 963 1.2507860083132982e-03 -8.6275100708007812e-02 1.6083979606628418e-01 <_> 0 -1 964 3.2347340602427721e-03 4.0214668959379196e-02 -3.3414369821548462e-01 <_> 0 -1 965 2.3993090726435184e-03 -3.6099448800086975e-02 4.0332961082458496e-01 <_> 0 -1 966 -6.4468860626220703e-02 -9.2355471849441528e-01 1.7104439437389374e-02 <_> 0 -1 967 2.6983879506587982e-02 -4.1323971003293991e-02 3.8095420598983765e-01 <_> 0 -1 968 -1.4244250451156404e-05 9.8453678190708160e-02 -1.3854749500751495e-01 <_> 0 -1 969 3.6304299719631672e-03 2.2532820701599121e-02 -5.7740187644958496e-01 <_> 0 -1 970 -2.7509450446814299e-03 2.8656649589538574e-01 -4.9012679606676102e-02 <_> 0 -1 971 3.4084690269082785e-03 3.8566160947084427e-02 -3.5187271237373352e-01 <_> 0 -1 972 -2.0442469976842403e-03 1.5499830245971680e-01 -8.1280998885631561e-02 <_> 0 -1 973 -3.3763761166483164e-04 -1.8969820439815521e-01 7.3497541248798370e-02 <_> 0 -1 974 -1.9649739842861891e-03 2.4030299484729767e-01 -5.3698450326919556e-02 <_> 0 -1 975 2.6115038781426847e-04 -1.0585899651050568e-01 1.4551800489425659e-01 <_> 0 -1 976 -2.4496200494468212e-03 -3.3511948585510254e-01 4.3949641287326813e-02 <_> 0 -1 977 2.5791170075535774e-02 1.9443970173597336e-02 -6.3135677576065063e-01 <_> 0 -1 978 -1.7996380338445306e-03 1.5620160102844238e-01 -8.9669622480869293e-02 <_> 0 -1 979 -5.5190739221870899e-03 3.8429600000381470e-01 -3.9308220148086548e-02 <_> 0 -1 980 9.3076081248000264e-04 5.3146060556173325e-02 -2.7482900023460388e-01 <_> 0 -1 981 2.7754770126193762e-03 -5.3488280624151230e-02 2.4878840148448944e-01 <_> 0 -1 982 1.9387940410524607e-03 7.5177863240242004e-02 -1.9432419538497925e-01 <_> 0 -1 983 -4.0069930255413055e-03 -2.7330648899078369e-01 6.2000360339879990e-02 <_> 0 -1 984 7.4540930800139904e-03 -5.0977949053049088e-02 2.7055469155311584e-01 <_> 0 -1 985 -1.6338729765266180e-03 1.0920850187540054e-01 -1.4821110665798187e-01 <_> 0 -1 986 -1.1626870185136795e-01 -9.4307368993759155e-01 1.4511439949274063e-02 <_> 0 -1 987 -1.2051310390233994e-02 -3.0964991450309753e-01 3.7726309150457382e-02 <_> 0 -1 988 1.5592000447213650e-02 -3.8526348769664764e-02 3.6706140637397766e-01 <_> 0 -1 989 -1.1198739521205425e-03 -1.4644260704517365e-01 9.6057042479515076e-02 <_> 0 -1 990 -1.4623399692936800e-05 1.0641819983720779e-01 -1.3394460082054138e-01 <_> 0 -1 991 -1.0319639742374420e-01 -7.0196557044982910e-01 1.8891770392656326e-02 <_> 121 -1.4499469995498657e+00 <_> 0 -1 992 -3.7469431757926941e-02 2.9079249501228333e-01 -3.5205191373825073e-01 <_> 0 -1 993 4.0861819870769978e-03 -2.9098600149154663e-01 1.8445029854774475e-01 <_> 0 -1 994 -9.2446897178888321e-04 1.1087530106306076e-01 -4.1064518690109253e-01 <_> 0 -1 995 8.5803697584196925e-04 -2.2129820287227631e-01 1.5465059876441956e-01 <_> 0 -1 996 2.3659599537495524e-04 -3.2185178995132446e-01 1.1183690279722214e-01 <_> 0 -1 997 -3.5021029412746429e-02 2.2721460461616516e-01 -1.4156529307365417e-01 <_> 0 -1 998 -3.4688229206949472e-03 -4.0247380733489990e-01 4.3791528791189194e-02 <_> 0 -1 999 5.0372090190649033e-03 -1.2387280166149139e-01 2.2701320052146912e-01 <_> 0 -1 1000 -1.1929610045626760e-03 -4.8692488670349121e-01 5.2568510174751282e-02 <_> 0 -1 1001 9.5561221241950989e-03 -4.6204000711441040e-02 5.1149028539657593e-01 <_> 0 -1 1002 1.1109219631180167e-03 4.5496881008148193e-02 -4.5278310775756836e-01 <_> 0 -1 1003 5.7835641200654209e-05 -1.5641710162162781e-01 1.3276909291744232e-01 <_> 0 -1 1004 -9.4595848349854350e-04 -2.8471308946609497e-01 6.4549557864665985e-02 <_> 0 -1 1005 8.8587577920407057e-04 6.5990276634693146e-02 -3.2505878806114197e-01 <_> 0 -1 1006 2.1180589683353901e-03 -7.1820907294750214e-02 3.3132740855216980e-01 <_> 0 -1 1007 -1.6004469245672226e-02 -4.9266660213470459e-01 3.5758759826421738e-02 <_> 0 -1 1008 1.4956319937482476e-03 -8.3095543086528778e-02 2.7613210678100586e-01 <_> 0 -1 1009 7.5204619206488132e-03 2.6987679302692413e-02 -6.5507948398590088e-01 <_> 0 -1 1010 -1.4567610378435347e-05 1.1181929707527161e-01 -1.8279710412025452e-01 <_> 0 -1 1011 1.5564640052616596e-03 -1.5681059658527374e-01 1.1271400004625320e-01 <_> 0 -1 1012 -3.6522798240184784e-02 -1.4254869520664215e-01 1.3022269308567047e-01 <_> 0 -1 1013 9.4677843153476715e-03 -4.3431900441646576e-02 3.6521318554878235e-01 <_> 0 -1 1014 -1.4508370441035368e-05 8.4056511521339417e-02 -2.0373860001564026e-01 <_> 0 -1 1015 9.7979931160807610e-04 -9.2570282518863678e-02 1.9765810668468475e-01 <_> 0 -1 1016 1.4909260244166944e-05 -1.4167930185794830e-01 1.2542089819908142e-01 <_> 0 -1 1017 -2.1510709484573454e-04 2.0154480636119843e-01 -8.0978751182556152e-02 <_> 0 -1 1018 -1.3552160235121846e-03 -3.9648211002349854e-01 4.5137099921703339e-02 <_> 0 -1 1019 8.4163509309291840e-03 -7.5962640345096588e-02 2.2327689826488495e-01 <_> 0 -1 1020 -3.0116800917312503e-04 -1.9837650656700134e-01 8.5917882621288300e-02 <_> 0 -1 1021 9.7665376961231232e-04 6.1060719192028046e-02 -3.1315010786056519e-01 <_> 0 -1 1022 1.9718110561370850e-03 -5.4124880582094193e-02 3.2931008934974670e-01 <_> 0 -1 1023 6.4220376312732697e-02 3.1034920364618301e-02 -5.8339309692382812e-01 <_> 0 -1 1024 -4.8852190375328064e-03 1.8666909635066986e-01 -8.5492432117462158e-02 <_> 0 -1 1025 -2.5309080956503749e-04 -1.6574999690055847e-01 9.2472381889820099e-02 <_> 0 -1 1026 2.9818940674886107e-05 -1.4195050299167633e-01 1.0154379904270172e-01 <_> 0 -1 1027 -1.0288760066032410e-02 2.5133699178695679e-01 -5.9286661446094513e-02 <_> 0 -1 1028 -2.9165179512347095e-05 1.2957669794559479e-01 -1.1733850091695786e-01 <_> 0 -1 1029 -2.0741471089422703e-03 -2.2633939981460571e-01 6.6792942583560944e-02 <_> 0 -1 1030 1.1343799997121096e-03 -6.3913702964782715e-02 2.7956250309944153e-01 <_> 0 -1 1031 -1.5007710317149758e-05 1.3454750180244446e-01 -1.1705060303211212e-01 <_> 0 -1 1032 4.9826782196760178e-03 2.6505010202527046e-02 -6.0010671615600586e-01 <_> 0 -1 1033 -3.4576859325170517e-03 3.1286209821701050e-01 -5.4155170917510986e-02 <_> 0 -1 1034 5.4344828240573406e-03 2.8702750802040100e-02 -5.6824082136154175e-01 <_> 0 -1 1035 -1.4558049770130310e-05 1.0756780207157135e-01 -1.3127699494361877e-01 <_> 0 -1 1036 1.5321969985961914e-03 -1.1911620199680328e-01 1.4021439850330353e-01 <_> 0 -1 1037 -2.2449430078268051e-02 -3.3376368880271912e-01 4.9373220652341843e-02 <_> 0 -1 1038 1.1923030018806458e-02 6.3558742403984070e-02 -2.4746930599212646e-01 <_> 0 -1 1039 2.0685950294137001e-02 -6.1905119568109512e-02 2.6367300748825073e-01 <_> 0 -1 1040 5.0756777636706829e-04 -1.2528319656848907e-01 1.4505800604820251e-01 <_> 0 -1 1041 9.2508539091795683e-04 5.9009589254856110e-02 -2.6204380393028259e-01 <_> 0 -1 1042 8.6694798665121198e-04 -8.8942721486091614e-02 1.7795750498771667e-01 <_> 0 -1 1043 4.7340960009023547e-04 6.8137630820274353e-02 -2.1880300343036652e-01 <_> 0 -1 1044 9.0366601943969727e-02 1.8516469746828079e-02 -6.5736871957778931e-01 <_> 0 -1 1045 2.0585930906236172e-03 -4.5568998903036118e-02 3.2879421114921570e-01 <_> 0 -1 1046 -4.0761628188192844e-03 -3.5896709561347961e-01 4.0903490036725998e-02 <_> 0 -1 1047 3.2309619709849358e-03 -5.8772470802068710e-02 2.5518509745597839e-01 <_> 0 -1 1048 2.0424150861799717e-03 4.3209441006183624e-02 -3.3393308520317078e-01 <_> 0 -1 1049 -2.8341729193925858e-04 -1.6685059666633606e-01 8.1555336713790894e-02 <_> 0 -1 1050 -1.0859699686989188e-03 1.7807449400424957e-01 -9.2171236872673035e-02 <_> 0 -1 1051 -2.0089520141482353e-02 -3.5236391425132751e-01 4.4607751071453094e-02 <_> 0 -1 1052 -1.8073120154440403e-03 3.0220940709114075e-01 -5.2047580480575562e-02 <_> 0 -1 1053 1.0337149724364281e-02 2.4787139147520065e-02 -6.8838161230087280e-01 <_> 0 -1 1054 -2.4023749865591526e-03 3.3173340559005737e-01 -4.6199489384889603e-02 <_> 0 -1 1055 -5.8347097365185618e-04 -1.8856820464134216e-01 7.7347792685031891e-02 <_> 0 -1 1056 -2.1759211085736752e-03 3.3067348599433899e-01 -4.0855869650840759e-02 <_> 0 -1 1057 -1.1984390439465642e-03 -2.1580339968204498e-01 6.8534582853317261e-02 <_> 0 -1 1058 1.4474330237135291e-03 -5.8074928820133209e-02 2.3362369835376740e-01 <_> 0 -1 1059 5.1625841297209263e-04 7.5655579566955566e-02 -2.0956470072269440e-01 <_> 0 -1 1060 -1.4388939598575234e-03 -3.0948141217231750e-01 5.8159999549388885e-02 <_> 0 -1 1061 -1.7495449865236878e-03 1.0236290097236633e-01 -1.5715239942073822e-01 <_> 0 -1 1062 1.6774939373135567e-02 2.3711699992418289e-02 -5.8594572544097900e-01 <_> 0 -1 1063 -8.3265192806720734e-03 3.0943349003791809e-01 -4.8807561397552490e-02 <_> 0 -1 1064 -4.4853150029666722e-05 1.0615509748458862e-01 -1.3089710474014282e-01 <_> 0 -1 1065 5.9908269904553890e-03 8.0168873071670532e-02 -1.6817809641361237e-01 <_> 0 -1 1066 1.4110070187598467e-03 -6.9941587746143341e-02 2.2045080363750458e-01 <_> 0 -1 1067 4.1205998510122299e-02 3.1721431761980057e-02 -4.4176858663558960e-01 <_> 0 -1 1068 1.5044870087876916e-04 -1.2152300029993057e-01 1.1241420358419418e-01 <_> 0 -1 1069 -4.8399530351161957e-03 2.8244999051094055e-01 -5.1606610417366028e-02 <_> 0 -1 1070 -1.0831269901245832e-03 -1.6978019475936890e-01 8.3731047809123993e-02 <_> 0 -1 1071 -1.3483200222253799e-02 2.8269320726394653e-01 -5.2228599786758423e-02 <_> 0 -1 1072 5.9854640858247876e-04 -1.3749149441719055e-01 1.2280890345573425e-01 <_> 0 -1 1073 -6.4943352481350303e-04 -1.6931599378585815e-01 8.8171690702438354e-02 <_> 0 -1 1074 -6.3191158697009087e-03 1.6245460510253906e-01 -8.6300060153007507e-02 <_> 0 -1 1075 -2.5179239455610514e-03 -3.1853398680686951e-01 5.2688188850879669e-02 <_> 0 -1 1076 -4.6924971044063568e-02 -6.5773141384124756e-01 2.0505079999566078e-02 <_> 0 -1 1077 -9.6446421230211854e-04 -2.7256599068641663e-01 4.5441299676895142e-02 <_> 0 -1 1078 1.5073099639266729e-03 -5.0479460507631302e-02 2.8486481308937073e-01 <_> 0 -1 1079 1.6149930655956268e-02 3.8769058883190155e-02 -3.6149570345878601e-01 <_> 0 -1 1080 1.9126510247588158e-02 -3.6233641207218170e-02 4.7573548555374146e-01 <_> 0 -1 1081 -1.2546279467642307e-03 1.1009909957647324e-01 -1.5554140508174896e-01 <_> 0 -1 1082 -1.4754529729543719e-05 9.6549153327941895e-02 -1.3947430253028870e-01 <_> 0 -1 1083 1.5680169686675072e-02 2.3214520886540413e-02 -5.7713180780410767e-01 <_> 0 -1 1084 1.2293360196053982e-02 -5.7809889316558838e-02 2.3951390385627747e-01 <_> 0 -1 1085 -9.6596255898475647e-03 2.4098740518093109e-01 -6.5823532640933990e-02 <_> 0 -1 1086 4.4940081425011158e-03 5.4532490670681000e-02 -3.1474688649177551e-01 <_> 0 -1 1087 1.1480580084025860e-02 1.7419299110770226e-02 -7.4722832441329956e-01 <_> 0 -1 1088 -6.5499639511108398e-01 -4.5483970642089844e-01 2.6187120005488396e-02 <_> 0 -1 1089 -1.5746919962111861e-04 8.4341458976268768e-02 -1.8240310251712799e-01 <_> 0 -1 1090 -1.0111900046467781e-03 -2.0862899720668793e-01 6.7676216363906860e-02 <_> 0 -1 1091 1.8488839268684387e-02 -3.5499621182680130e-02 4.1342151165008545e-01 <_> 0 -1 1092 -3.8888910785317421e-04 1.5692460536956787e-01 -8.6299479007720947e-02 <_> 0 -1 1093 -4.5315301977097988e-03 -4.3912211060523987e-01 3.4103620797395706e-02 <_> 0 -1 1094 3.3536020666360855e-02 -3.2231528311967850e-02 4.7096571326255798e-01 <_> 0 -1 1095 2.0854349713772535e-03 -7.6001010835170746e-02 1.7373880743980408e-01 <_> 0 -1 1096 -1.4060589819564484e-05 8.5960999131202698e-02 -1.6348780691623688e-01 <_> 0 -1 1097 4.2995680123567581e-02 2.2033119574189186e-02 -5.9274291992187500e-01 <_> 0 -1 1098 2.4928380735218525e-03 -6.3020773231983185e-02 2.1398860216140747e-01 <_> 0 -1 1099 1.4520809600071516e-05 -1.1218129843473434e-01 1.1997319757938385e-01 <_> 0 -1 1100 2.1152360364794731e-02 3.0270710587501526e-02 -4.4600808620452881e-01 <_> 0 -1 1101 2.1028789342381060e-04 8.0384418368339539e-02 -1.7209020256996155e-01 <_> 0 -1 1102 1.0620340472087264e-03 -6.4051970839500427e-02 2.1304920315742493e-01 <_> 0 -1 1103 -2.5768030900508165e-03 -5.2309602499008179e-01 2.6146469637751579e-02 <_> 0 -1 1104 4.7555579803884029e-03 3.6213729530572891e-02 -3.4408730268478394e-01 <_> 0 -1 1105 -5.9062540531158447e-01 -9.1701269149780273e-01 1.3416379690170288e-02 <_> 0 -1 1106 -9.7031831741333008e-02 4.8288398981094360e-01 -3.2344181090593338e-02 <_> 0 -1 1107 1.4890159945935011e-03 4.0591750293970108e-02 -3.8898488879203796e-01 <_> 0 -1 1108 2.4702500086277723e-03 -6.3159219920635223e-02 2.1322609484195709e-01 <_> 0 -1 1109 -2.9705299530178308e-03 1.4960889518260956e-01 -1.0181649774312973e-01 <_> 0 -1 1110 1.5555499494075775e-01 3.6674879491329193e-02 -3.5983988642692566e-01 <_> 0 -1 1111 1.4113659970462322e-02 1.3834640383720398e-02 -8.7112957239151001e-01 <_> 0 -1 1112 -9.5594127196818590e-04 -2.2359329462051392e-01 5.5646751075983047e-02 <_> 137 -1.4971179962158203e+00 <_> 0 -1 1113 2.3068320006132126e-02 -3.0734539031982422e-01 2.5758111476898193e-01 <_> 0 -1 1114 -1.1603030376136303e-02 1.7347939312458038e-01 -2.9917559027671814e-01 <_> 0 -1 1115 -1.0232869535684586e-03 1.9289019703865051e-01 -2.4926829338073730e-01 <_> 0 -1 1116 1.2194960378110409e-02 8.7591417133808136e-02 -4.0853890776634216e-01 <_> 0 -1 1117 -1.2484550243243575e-03 1.6345569491386414e-01 -1.8811899423599243e-01 <_> 0 -1 1118 3.2145460136234760e-04 7.9135909676551819e-02 -3.7722501158714294e-01 <_> 0 -1 1119 -7.9707789700478315e-04 -2.6377388834953308e-01 9.6936263144016266e-02 <_> 0 -1 1120 7.0924922823905945e-02 -1.2538060545921326e-01 2.5267291069030762e-01 <_> 0 -1 1121 2.5408361107110977e-03 -1.3923250138759613e-01 1.4974319934844971e-01 <_> 0 -1 1122 -6.9253891706466675e-04 -3.1363919377326965e-01 3.9419740438461304e-02 <_> 0 -1 1123 2.5845640338957310e-03 -7.0067122578620911e-02 2.8096580505371094e-01 <_> 0 -1 1124 -1.6803950071334839e-02 -4.6254080533981323e-01 3.6509469151496887e-02 <_> 0 -1 1125 -2.1332600153982639e-03 2.2691309452056885e-01 -8.4447480738162994e-02 <_> 0 -1 1126 -5.5397138930857182e-04 -2.0728160440921783e-01 1.0041700303554535e-01 <_> 0 -1 1127 -1.4573110092896968e-05 8.8534340262413025e-02 -2.0813420414924622e-01 <_> 0 -1 1128 8.0281507689505816e-04 -8.8521443307399750e-02 1.9553969800472260e-01 <_> 0 -1 1129 3.6762449890375137e-03 -8.3966277539730072e-02 2.4232700467109680e-01 <_> 0 -1 1130 -1.6549570136703551e-04 -1.9402000308036804e-01 1.0044509917497635e-01 <_> 0 -1 1131 5.5225789546966553e-03 4.6014141291379929e-02 -4.1095688939094543e-01 <_> 0 -1 1132 1.1023939587175846e-03 -2.1053719520568848e-01 8.4169827401638031e-02 <_> 0 -1 1133 -2.1610360592603683e-02 -3.4724879264831543e-01 5.1196940243244171e-02 <_> 0 -1 1134 -1.4869699953123927e-05 1.1187150329351425e-01 -1.6249230504035950e-01 <_> 0 -1 1135 3.1727060675621033e-02 3.7546031177043915e-02 -4.5357111096382141e-01 <_> 0 -1 1136 -6.5588178113102913e-03 2.9756790399551392e-01 -6.1539310961961746e-02 <_> 0 -1 1137 3.7398359272629023e-03 -6.9362841546535492e-02 2.2881920635700226e-01 <_> 0 -1 1138 -2.1445790771394968e-03 -3.0691981315612793e-01 5.7085540145635605e-02 <_> 0 -1 1139 1.4241340104490519e-03 4.7747720032930374e-02 -3.5141488909721375e-01 <_> 0 -1 1140 1.8902820302173495e-03 1.1250650137662888e-01 -1.5074999630451202e-01 <_> 0 -1 1141 -6.4917900599539280e-03 2.8712779283523560e-01 -6.2573678791522980e-02 <_> 0 -1 1142 -8.7750004604458809e-03 -5.4141241312026978e-01 2.9559530317783356e-02 <_> 0 -1 1143 9.3647688627243042e-02 -5.6943789124488831e-02 2.9638379812240601e-01 <_> 0 -1 1144 -4.4028809497831389e-05 1.0726290196180344e-01 -1.5169329941272736e-01 <_> 0 -1 1145 7.9690842540003359e-05 8.7704338133335114e-02 -1.8157640099525452e-01 <_> 0 -1 1146 -6.6510448232293129e-03 2.1250769495964050e-01 -7.8765399754047394e-02 <_> 0 -1 1147 2.1358320116996765e-01 3.2704930752515793e-02 -4.9895349144935608e-01 <_> 0 -1 1148 -9.8035410046577454e-02 -6.3620072603225708e-01 2.4300750344991684e-02 <_> 0 -1 1149 -3.6894609220325947e-03 -5.7873171567916870e-01 2.5343220680952072e-02 <_> 0 -1 1150 4.7867568209767342e-03 -6.9719798862934113e-02 2.4641029536724091e-01 <_> 0 -1 1151 4.0250780875794590e-04 -1.1852599680423737e-01 1.7163689434528351e-01 <_> 0 -1 1152 -3.8258030544966459e-03 -3.1708711385726929e-01 5.2796650677919388e-02 <_> 0 -1 1153 2.9255099434521981e-05 -1.2157870084047318e-01 1.2443509697914124e-01 <_> 0 -1 1154 -5.5969221284613013e-04 -2.3942449688911438e-01 6.1564020812511444e-02 <_> 0 -1 1155 1.6149280127137899e-03 -8.9536681771278381e-02 1.9396179914474487e-01 <_> 0 -1 1156 -5.9165759012103081e-03 -6.0741347074508667e-01 2.4107500910758972e-02 <_> 0 -1 1157 4.5592039823532104e-03 -5.4090119898319244e-02 2.8721129894256592e-01 <_> 0 -1 1158 -5.1767788827419281e-02 -6.4853471517562866e-01 2.4329099804162979e-02 <_> 0 -1 1159 -1.0635569691658020e-02 3.2359760999679565e-01 -5.0231788307428360e-02 <_> 0 -1 1160 2.5121110957115889e-04 9.5274448394775391e-02 -1.4859940111637115e-01 <_> 0 -1 1161 1.3107099803164601e-03 -1.1612690240144730e-01 1.2647250294685364e-01 <_> 0 -1 1162 -7.3629721999168396e-02 -6.2977832555770874e-01 2.4197410792112350e-02 <_> 0 -1 1163 5.1864539273083210e-04 8.0843970179557800e-02 -1.8038350343704224e-01 <_> 0 -1 1164 -2.0541099365800619e-03 2.0690770447254181e-01 -7.1559637784957886e-02 <_> 0 -1 1165 -7.2738518938422203e-03 -1.8049220740795135e-01 8.4618158638477325e-02 <_> 0 -1 1166 -7.0418710820376873e-03 -5.5255848169326782e-01 2.4243000894784927e-02 <_> 0 -1 1167 2.3678881116211414e-03 -7.4315063655376434e-02 2.2013199329376221e-01 <_> 0 -1 1168 -4.1341409087181091e-03 -3.1461110711097717e-01 5.7645540684461594e-02 <_> 0 -1 1169 5.9597631916403770e-03 2.1551210433244705e-02 -6.6399222612380981e-01 <_> 0 -1 1170 -1.4643320355389733e-05 1.0325399786233902e-01 -1.4378640055656433e-01 <_> 0 -1 1171 -8.0324069131165743e-04 -2.8026849031448364e-01 5.2175540477037430e-02 <_> 0 -1 1172 -1.7860220745205879e-02 3.1547638773918152e-01 -4.7295480966567993e-02 <_> 0 -1 1173 8.5229711839929223e-04 -1.0860790312290192e-01 1.6905729472637177e-01 <_> 0 -1 1174 8.8618341833353043e-03 2.0629420876502991e-02 -7.1686798334121704e-01 <_> 0 -1 1175 4.1418620385229588e-03 3.1313210725784302e-02 -3.9753648638725281e-01 <_> 0 -1 1176 -9.6616581082344055e-02 4.2378899455070496e-01 -3.2291099429130554e-02 <_> 0 -1 1177 -8.4853649139404297e-02 -4.8360210657119751e-01 3.4420508891344070e-02 <_> 0 -1 1178 -2.7399489656090736e-02 -2.8981518745422363e-01 4.6805508434772491e-02 <_> 0 -1 1179 1.9653420895338058e-03 -7.6221130788326263e-02 1.8894240260124207e-01 <_> 0 -1 1180 -9.0222749859094620e-03 -5.8255058526992798e-01 2.6038780808448792e-02 <_> 0 -1 1181 1.7859010398387909e-01 1.4113079756498337e-02 -7.5876772403717041e-01 <_> 0 -1 1182 2.6170860510319471e-03 -4.2011409997940063e-02 3.4582638740539551e-01 <_> 0 -1 1183 -1.8247140105813742e-03 -2.5125750899314880e-01 5.4113451391458511e-02 <_> 0 -1 1184 1.0635840008035302e-03 -6.9988057017326355e-02 2.1111090481281281e-01 <_> 0 -1 1185 -8.5794121026992798e-02 -5.2950221300125122e-01 2.4234309792518616e-02 <_> 0 -1 1186 -2.4844249710440636e-03 2.2798889875411987e-01 -5.7894941419363022e-02 <_> 0 -1 1187 2.4517390411347151e-03 4.7758270055055618e-02 -2.9931840300559998e-01 <_> 0 -1 1188 7.2088139131665230e-03 8.9190460741519928e-02 -1.4663650095462799e-01 <_> 0 -1 1189 -6.0728411190211773e-03 2.9773110151290894e-01 -4.4187791645526886e-02 <_> 0 -1 1190 2.9379719868302345e-02 1.8384920433163643e-02 -7.2799599170684814e-01 <_> 0 -1 1191 3.5265460610389709e-02 -4.0345128625631332e-02 3.4369349479675293e-01 <_> 0 -1 1192 8.0668088048696518e-04 -1.0171490162611008e-01 1.3324069976806641e-01 <_> 0 -1 1193 -1.4964640140533447e-03 -2.3296439647674561e-01 5.9193279594182968e-02 <_> 0 -1 1194 2.6136979460716248e-02 1.7993519082665443e-02 -7.3094600439071655e-01 <_> 0 -1 1195 1.8663259223103523e-02 1.4693800359964371e-02 -7.2105181217193604e-01 <_> 0 -1 1196 -5.0944439863087609e-05 9.8113812506198883e-02 -1.3487009704113007e-01 <_> 0 -1 1197 -5.5268028518185019e-04 -1.1313900351524353e-01 1.1931320279836655e-01 <_> 0 -1 1198 5.4916120134294033e-03 -6.8996928632259369e-02 2.2312630712985992e-01 <_> 0 -1 1199 3.1243199482560158e-02 -3.2394438982009888e-02 3.9250150322914124e-01 <_> 0 -1 1200 2.7375440113246441e-03 3.6713510751724243e-02 -4.0632349252700806e-01 <_> 0 -1 1201 9.0960890054702759e-02 2.7709199115633965e-02 -4.1612899303436279e-01 <_> 0 -1 1202 -4.2210621177218854e-04 -1.5993569791316986e-01 7.8440353274345398e-02 <_> 0 -1 1203 -2.3689800873398781e-03 1.4372199773788452e-01 -9.0417243540287018e-02 <_> 0 -1 1204 4.5116269029676914e-03 -6.8068206310272217e-02 2.1011069416999817e-01 <_> 0 -1 1205 -1.4441140228882432e-03 -1.3376539945602417e-01 1.1816109716892242e-01 <_> 0 -1 1206 2.1477979607880116e-03 -9.8067082464694977e-02 1.7571650445461273e-01 <_> 0 -1 1207 2.2534599527716637e-02 5.3246740251779556e-02 -2.8085210919380188e-01 <_> 0 -1 1208 -1.6165290027856827e-02 2.6058629155158997e-01 -5.6349318474531174e-02 <_> 0 -1 1209 1.3157909736037254e-02 4.4960599392652512e-02 -3.1084328889846802e-01 <_> 0 -1 1210 -2.5218630209565163e-02 -1.2245389819145203e-01 1.1707650125026703e-01 <_> 0 -1 1211 -1.0043029760709032e-04 6.2668606638908386e-02 -2.3665410280227661e-01 <_> 0 -1 1212 2.2884309291839600e-02 -5.6393388658761978e-02 2.6951891183853149e-01 <_> 0 -1 1213 -3.7653960753232241e-03 2.4265049397945404e-01 -6.0327839106321335e-02 <_> 0 -1 1214 -1.2131360126659274e-03 -2.2581340372562408e-01 6.3866272568702698e-02 <_> 0 -1 1215 3.6897920072078705e-03 -7.5056307017803192e-02 1.7121140658855438e-01 <_> 0 -1 1216 3.9484380977228284e-04 7.2925560176372528e-02 -1.8006080389022827e-01 <_> 0 -1 1217 -2.8756330721080303e-03 2.3332679271697998e-01 -5.8312799781560898e-02 <_> 0 -1 1218 -1.2939549982547760e-02 -5.9966820478439331e-01 2.4746209383010864e-02 <_> 0 -1 1219 4.8920139670372009e-03 -5.0808548927307129e-02 2.7142828702926636e-01 <_> 0 -1 1220 -6.3685458153486252e-03 -1.7759549617767334e-01 7.8720703721046448e-02 <_> 0 -1 1221 9.1700062155723572e-02 -2.4316219612956047e-02 5.6610620021820068e-01 <_> 0 -1 1222 -2.9075080528855324e-03 -5.3473442792892456e-01 2.6738349348306656e-02 <_> 0 -1 1223 -3.9782752282917500e-03 1.7898949980735779e-01 -7.3634162545204163e-02 <_> 0 -1 1224 3.8189089391380548e-03 9.6640147268772125e-02 -1.2615419924259186e-01 <_> 0 -1 1225 -6.1400169506669044e-03 -2.8025910258293152e-01 4.8952069133520126e-02 <_> 0 -1 1226 4.6048378571867943e-03 -3.5297919064760208e-02 3.6271721124649048e-01 <_> 0 -1 1227 6.9598153233528137e-02 2.8236450627446175e-02 -4.7523179650306702e-01 <_> 0 -1 1228 8.2954921526834369e-04 6.5010666847229004e-02 -1.9608500599861145e-01 <_> 0 -1 1229 1.0073450393974781e-02 2.4091430008411407e-02 -5.2702528238296509e-01 <_> 0 -1 1230 -4.9964170902967453e-02 2.7060431241989136e-01 -5.2939768880605698e-02 <_> 0 -1 1231 -2.3425720632076263e-02 -6.5538042783737183e-01 2.0399950444698334e-02 <_> 0 -1 1232 4.5370758743956685e-04 -1.0145729780197144e-01 1.2575489282608032e-01 <_> 0 -1 1233 -9.4329239800572395e-04 -2.3677830398082733e-01 5.2147369831800461e-02 <_> 0 -1 1234 -2.5503130163997412e-03 1.8695800006389618e-01 -6.4383536577224731e-02 <_> 0 -1 1235 -2.1031149663031101e-03 -4.0381109714508057e-01 2.8763780370354652e-02 <_> 0 -1 1236 2.3942890111356974e-03 -5.8961909264326096e-02 2.0151209831237793e-01 <_> 0 -1 1237 3.4859919105656445e-04 -1.1594740301370621e-01 1.1559849977493286e-01 <_> 0 -1 1238 6.5279641421511769e-04 -9.6583247184753418e-02 1.4546130597591400e-01 <_> 0 -1 1239 6.6208152566105127e-04 5.5666640400886536e-02 -2.3408170044422150e-01 <_> 0 -1 1240 -1.1246719956398010e-01 -7.2129100561141968e-01 1.6700809821486473e-02 <_> 0 -1 1241 2.4760260712355375e-03 -7.0752441883087158e-02 1.6832010447978973e-01 <_> 0 -1 1242 -8.7723489850759506e-03 -4.8666760325431824e-01 2.6006119325757027e-02 <_> 0 -1 1243 2.8840279206633568e-02 3.3308699727058411e-02 -3.4549170732498169e-01 <_> 0 -1 1244 4.7115320921875536e-04 5.8610469102859497e-02 -2.1334120631217957e-01 <_> 0 -1 1245 -7.5157210230827332e-03 3.7866720557212830e-01 -3.6307640373706818e-02 <_> 0 -1 1246 -1.7479779489804059e-04 -1.8687920272350311e-01 7.0380441844463348e-02 <_> 0 -1 1247 6.9826189428567886e-03 -7.5376212596893311e-02 1.8541449308395386e-01 <_> 0 -1 1248 -2.5053499266505241e-03 -4.7345471382141113e-01 2.6765290647745132e-02 <_> 0 -1 1249 6.5240712137892842e-04 -1.1398679763078690e-01 1.1460109800100327e-01 <_> 153 -1.5120370388031006e+00 <_> 0 -1 1250 2.7968829497694969e-02 -2.4054290354251862e-01 3.3976718783378601e-01 <_> 0 -1 1251 4.7484100796282291e-03 -1.8598410487174988e-01 2.6523759961128235e-01 <_> 0 -1 1252 -9.6774380654096603e-03 1.3574579358100891e-01 -3.1734740734100342e-01 <_> 0 -1 1253 1.0649940231814981e-03 -5.0356131792068481e-01 7.0383183658123016e-02 <_> 0 -1 1254 3.0151519458740950e-03 -1.7585769295692444e-01 1.6750140488147736e-01 <_> 0 -1 1255 7.6821137918159366e-04 -2.3158560693264008e-01 1.2748460471630096e-01 <_> 0 -1 1256 -5.6622780859470367e-02 3.0103230476379395e-01 -1.1525429785251617e-01 <_> 0 -1 1257 4.7889677807688713e-03 -6.8797349929809570e-02 3.5774651169776917e-01 <_> 0 -1 1258 3.7908130325376987e-03 1.1250580102205276e-01 -2.3389840126037598e-01 <_> 0 -1 1259 -3.6302749067544937e-03 -2.7425950765609741e-01 6.0180071741342545e-02 <_> 0 -1 1260 1.4986160211265087e-02 5.8370150625705719e-02 -3.5088211297988892e-01 <_> 0 -1 1261 6.1338639352470636e-04 -1.0045500099658966e-01 1.8004140257835388e-01 <_> 0 -1 1262 1.7827099654823542e-03 -5.8504570275545120e-02 2.8165730834007263e-01 <_> 0 -1 1263 1.0279649868607521e-03 4.6049151569604874e-02 -4.1633561253547668e-01 <_> 0 -1 1264 -1.4470520000031684e-05 9.7594477236270905e-02 -1.7005239427089691e-01 <_> 0 -1 1265 7.2919862577691674e-04 -8.9277692139148712e-02 1.9683800637722015e-01 <_> 0 -1 1266 -1.2752750189974904e-03 -2.1324349939823151e-01 7.7781319618225098e-02 <_> 0 -1 1267 2.7510570362210274e-02 9.8059087991714478e-02 -1.8463979661464691e-01 <_> 0 -1 1268 3.9082998409867287e-03 -9.8240077495574951e-02 1.7902830243110657e-01 <_> 0 -1 1269 2.8285238659009337e-04 6.4882382750511169e-02 -2.5903809070587158e-01 <_> 0 -1 1270 5.8698928914964199e-03 -4.8436500132083893e-02 3.5584059357643127e-01 <_> 0 -1 1271 5.2106438670307398e-04 6.4200893044471741e-02 -2.4268729984760284e-01 <_> 0 -1 1272 -3.8013618905097246e-03 3.1349530816078186e-01 -4.9372490495443344e-02 <_> 0 -1 1273 -3.5830549895763397e-03 -1.9015640020370483e-01 8.5928887128829956e-02 <_> 0 -1 1274 7.3326388373970985e-03 -8.7244078516960144e-02 1.8596029281616211e-01 <_> 0 -1 1275 6.8118958733975887e-04 9.0353183448314667e-02 -1.7380879819393158e-01 <_> 0 -1 1276 -2.4127468932420015e-03 2.6583871245384216e-01 -6.2018260359764099e-02 <_> 0 -1 1277 4.4389287941157818e-03 3.8672439754009247e-02 -4.4039198756217957e-01 <_> 0 -1 1278 2.9394390367087908e-05 -1.3116660714149475e-01 1.2389960139989853e-01 <_> 0 -1 1279 5.2613918669521809e-03 -5.4326139390468597e-02 3.1434679031372070e-01 <_> 0 -1 1280 2.3712380789220333e-03 3.5234931856393814e-02 -4.5936021208763123e-01 <_> 0 -1 1281 -2.4774149060249329e-03 -3.2579651474952698e-01 4.1676308959722519e-02 <_> 0 -1 1282 5.1308068213984370e-04 -9.8032839596271515e-02 1.5209600329399109e-01 <_> 0 -1 1283 -7.6761870877817273e-04 -2.0944289863109589e-01 6.9563657045364380e-02 <_> 0 -1 1284 4.1551832109689713e-03 -5.9142418205738068e-02 2.4788859486579895e-01 <_> 0 -1 1285 1.4315149746835232e-02 2.4713350459933281e-02 -6.2663692235946655e-01 <_> 0 -1 1286 8.9347898028790951e-04 -1.3387380540370941e-01 1.0626660287380219e-01 <_> 0 -1 1287 -5.8425782481208444e-04 -2.1583810448646545e-01 6.7552872002124786e-02 <_> 0 -1 1288 8.9712149929255247e-04 -1.5998089313507080e-01 9.6859596669673920e-02 <_> 0 -1 1289 -4.4576660729944706e-03 -4.6839779615402222e-01 3.4481108188629150e-02 <_> 0 -1 1290 1.6316650435328484e-02 1.6176480799913406e-02 -7.6990699768066406e-01 <_> 0 -1 1291 -1.9581869710236788e-03 2.3423190414905548e-01 -6.3605003058910370e-02 <_> 0 -1 1292 2.9628631472587585e-01 3.8007281720638275e-02 -3.8991358876228333e-01 <_> 0 -1 1293 -9.1676972806453705e-04 1.2086489796638489e-01 -1.0912480205297470e-01 <_> 0 -1 1294 -2.5543299852870405e-04 -1.8755780160427094e-01 7.1104221045970917e-02 <_> 0 -1 1295 8.2945115864276886e-03 -3.9912570267915726e-02 3.3551681041717529e-01 <_> 0 -1 1296 -5.8387689292430878e-02 -3.3475118875503540e-01 4.1011139750480652e-02 <_> 0 -1 1297 1.0927469702437520e-03 -8.3243489265441895e-02 1.6046769917011261e-01 <_> 0 -1 1298 1.0653319768607616e-03 -1.1920040100812912e-01 1.0561779886484146e-01 <_> 0 -1 1299 -3.5323720425367355e-02 2.8399449586868286e-01 -4.7650910913944244e-02 <_> 0 -1 1300 6.7976478021591902e-04 5.9223521500825882e-02 -2.2741270065307617e-01 <_> 0 -1 1301 -2.4810519069433212e-02 -6.5788549184799194e-01 1.8828939646482468e-02 <_> 0 -1 1302 4.5880349352955818e-03 -5.0799869000911713e-02 2.6886260509490967e-01 <_> 0 -1 1303 3.9034360088407993e-03 -5.9183020144701004e-02 2.2644530236721039e-01 <_> 0 -1 1304 1.2360659986734390e-01 2.2052299231290817e-02 -6.7844098806381226e-01 <_> 0 -1 1305 -3.7856408744119108e-04 -2.1715499460697174e-01 5.7522300630807877e-02 <_> 0 -1 1306 2.8562229126691818e-02 -3.4095268696546555e-02 4.2474791407585144e-01 <_> 0 -1 1307 2.2348840720951557e-03 -3.5655528306961060e-02 3.5050040483474731e-01 <_> 0 -1 1308 1.9211059436202049e-02 2.5078350678086281e-02 -5.9314918518066406e-01 <_> 0 -1 1309 1.5611639618873596e-01 2.3612640798091888e-02 -4.8740550875663757e-01 <_> 0 -1 1310 -1.2261980446055532e-03 -3.0421718955039978e-01 3.9526391774415970e-02 <_> 0 -1 1311 3.6561759188771248e-03 -7.7627539634704590e-02 2.0262609422206879e-01 <_> 0 -1 1312 1.1567790061235428e-03 5.5682398378849030e-02 -2.4368490278720856e-01 <_> 0 -1 1313 6.2764538452029228e-03 -6.4452603459358215e-02 2.1183019876480103e-01 <_> 0 -1 1314 1.2091239914298058e-02 2.0667979493737221e-02 -6.2231677770614624e-01 <_> 0 -1 1315 3.7568950210697949e-04 7.3670476675033569e-02 -1.7809109389781952e-01 <_> 0 -1 1316 3.8157668896019459e-03 3.3845711499452591e-02 -3.6262959241867065e-01 <_> 0 -1 1317 -1.3252210337668657e-03 1.4732490479946136e-01 -8.1727422773838043e-02 <_> 0 -1 1318 2.1575710270553827e-03 -6.8624198436737061e-02 1.7562319338321686e-01 <_> 0 -1 1319 -6.4548188820481300e-03 -5.8159267902374268e-01 2.3020049557089806e-02 <_> 0 -1 1320 -8.1042833626270294e-03 -3.5549208521842957e-01 3.5372331738471985e-02 <_> 0 -1 1321 1.6489460540469736e-04 7.4472688138484955e-02 -1.5718360245227814e-01 <_> 0 -1 1322 -1.9494029693305492e-03 3.5157081484794617e-01 -3.6213818937540054e-02 <_> 0 -1 1323 -1.5267659910023212e-04 -1.4115719497203827e-01 8.4802761673927307e-02 <_> 0 -1 1324 2.3890420794487000e-02 1.9317669793963432e-02 -6.3186031579971313e-01 <_> 0 -1 1325 -4.4950367882847786e-03 2.1254129707813263e-01 -5.9143088757991791e-02 <_> 0 -1 1326 2.8725271113216877e-03 3.2794039696455002e-02 -3.9505231380462646e-01 <_> 0 -1 1327 2.0885460544377565e-03 -8.5443787276744843e-02 1.4347669482231140e-01 <_> 0 -1 1328 -4.4343829154968262e-01 -4.0052318572998047e-01 2.9428049921989441e-02 <_> 0 -1 1329 2.0199170336127281e-02 4.0000550448894501e-02 -3.1763339042663574e-01 <_> 0 -1 1330 1.4570879749953747e-02 1.3662800192832947e-02 -8.6441951990127563e-01 <_> 0 -1 1331 -3.8080150261521339e-03 4.0930721163749695e-01 -3.3838968724012375e-02 <_> 0 -1 1332 1.0009920224547386e-03 -8.2600250840187073e-02 1.3928790390491486e-01 <_> 0 -1 1333 1.1500980472192168e-03 6.9677546620368958e-02 -1.7433060705661774e-01 <_> 0 -1 1334 3.4720861003734171e-04 6.6659383475780487e-02 -1.7403809726238251e-01 <_> 0 -1 1335 2.7565560303628445e-03 -2.9285680502653122e-02 4.0243569016456604e-01 <_> 0 -1 1336 -2.4124220013618469e-02 -3.2424208521842957e-01 3.7330508232116699e-02 <_> 0 -1 1337 -1.3989120721817017e-01 -6.5967488288879395e-01 1.7929619178175926e-02 <_> 0 -1 1338 3.0997680500149727e-02 1.4100589789450169e-02 -6.9532638788223267e-01 <_> 0 -1 1339 4.6191760338842869e-04 -6.7944146692752838e-02 1.8066139519214630e-01 <_> 0 -1 1340 3.4264490008354187e-02 2.2298639640212059e-02 -5.8638918399810791e-01 <_> 0 -1 1341 3.9756381884217262e-03 -4.1803721338510513e-02 3.1669101119041443e-01 <_> 0 -1 1342 -3.4192908788099885e-04 -1.5810790657997131e-01 7.7484056353569031e-02 <_> 0 -1 1343 7.1672953665256500e-02 -2.3302769288420677e-02 5.2465027570724487e-01 <_> 0 -1 1344 7.1812322130426764e-04 4.8268780112266541e-02 -2.7771729230880737e-01 <_> 0 -1 1345 -1.8881190335378051e-03 8.3184987306594849e-02 -1.4802010357379913e-01 <_> 0 -1 1346 -1.2498029973357916e-03 2.5329118967056274e-01 -4.9769390374422073e-02 <_> 0 -1 1347 -1.2756100296974182e-01 -6.7970567941665649e-01 2.0871700718998909e-02 <_> 0 -1 1348 -1.4621549780713394e-05 7.9338513314723969e-02 -1.5043739974498749e-01 <_> 0 -1 1349 3.5788679961115122e-03 -5.5469110608100891e-02 2.4075509607791901e-01 <_> 0 -1 1350 9.4902152195572853e-03 2.8637239709496498e-02 -5.3680288791656494e-01 <_> 0 -1 1351 1.0283050127327442e-02 1.1550529859960079e-02 -7.7501267194747925e-01 <_> 0 -1 1352 -4.2507290840148926e-02 -8.8770490884780884e-01 9.7261751070618629e-03 <_> 0 -1 1353 3.6155930138193071e-04 6.4407013356685638e-02 -1.7109510302543640e-01 <_> 0 -1 1354 -3.4245628863573074e-02 2.4231609702110291e-01 -4.7188870608806610e-02 <_> 0 -1 1355 -1.2806710600852966e-01 -5.4869401454925537e-01 2.1854300051927567e-02 <_> 0 -1 1356 5.3918339312076569e-02 -2.5415059179067612e-02 4.8263218998908997e-01 <_> 0 -1 1357 -3.7711810320615768e-02 1.4176939427852631e-01 -8.8871710002422333e-02 <_> 0 -1 1358 -2.8310909867286682e-01 -6.4925712347030640e-01 2.0563820376992226e-02 <_> 0 -1 1359 -1.1926019564270973e-02 -2.1756759285926819e-01 5.1851660013198853e-02 <_> 0 -1 1360 3.7750680348835886e-04 7.2340622544288635e-02 -1.6360169649124146e-01 <_> 0 -1 1361 1.5865910798311234e-02 -7.9940237104892731e-02 1.6453659534454346e-01 <_> 0 -1 1362 7.1175709366798401e-02 3.1589020043611526e-02 -4.1988191008567810e-01 <_> 0 -1 1363 5.8520520105957985e-03 2.3279080167412758e-02 -4.8604270815849304e-01 <_> 0 -1 1364 -1.3924130471423268e-03 1.6908380389213562e-01 -7.3783926665782928e-02 <_> 0 -1 1365 -1.8412459758110344e-04 1.2232059985399246e-01 -1.0313989967107773e-01 <_> 0 -1 1366 2.2130980505608022e-04 -8.1976376473903656e-02 1.6332870721817017e-01 <_> 0 -1 1367 2.0723740453831851e-04 9.2730201780796051e-02 -1.3733580708503723e-01 <_> 0 -1 1368 -3.8736319402232766e-04 -2.0004619657993317e-01 8.4838382899761200e-02 <_> 0 -1 1369 3.2468559220433235e-03 -5.6439258158206940e-02 2.2364979982376099e-01 <_> 0 -1 1370 9.3086768174543977e-04 3.1926579773426056e-02 -3.9701279997825623e-01 <_> 0 -1 1371 1.0306099429726601e-03 -6.0154888778924942e-02 2.0189760625362396e-01 <_> 0 -1 1372 -7.6027261093258858e-04 1.4901119470596313e-01 -9.9665373563766479e-02 <_> 0 -1 1373 -4.0442569297738373e-04 -1.9113409519195557e-01 7.4125148355960846e-02 <_> 0 -1 1374 -4.7783120535314083e-03 -3.5730269551277161e-01 3.6531679332256317e-02 <_> 0 -1 1375 -7.7672587940469384e-04 1.0242869704961777e-01 -1.2974999845027924e-01 <_> 0 -1 1376 -5.7417969219386578e-03 -1.6698950529098511e-01 7.0111282169818878e-02 <_> 0 -1 1377 -1.0879320092499256e-02 4.4120571017265320e-01 -2.9255589470267296e-02 <_> 0 -1 1378 6.4163492061197758e-04 -1.1195279657840729e-01 1.0681179910898209e-01 <_> 0 -1 1379 1.8341830000281334e-02 1.6387680172920227e-01 -8.0189116299152374e-02 <_> 0 -1 1380 -1.5051739756017923e-03 -2.2313259541988373e-01 6.1541710048913956e-02 <_> 0 -1 1381 4.4345208443701267e-03 -6.6646136343479156e-02 2.2299060225486755e-01 <_> 0 -1 1382 -1.4749550246051513e-05 1.1597889661788940e-01 -1.0377810150384903e-01 <_> 0 -1 1383 -2.6539659593254328e-03 1.3116030395030975e-01 -8.6488783359527588e-02 <_> 0 -1 1384 2.7743550017476082e-03 4.1064068675041199e-02 -3.1225061416625977e-01 <_> 0 -1 1385 1.1590829817578197e-03 6.4309477806091309e-02 -1.7413079738616943e-01 <_> 0 -1 1386 9.2315068468451500e-04 -8.2974001765251160e-02 1.4439080655574799e-01 <_> 0 -1 1387 -8.2323597744107246e-03 3.0380389094352722e-01 -4.1229110211133957e-02 <_> 0 -1 1388 3.5314110573381186e-03 3.9511259645223618e-02 -3.3097168803215027e-01 <_> 0 -1 1389 5.7490761391818523e-03 1.9821660593152046e-02 -5.8780592679977417e-01 <_> 0 -1 1390 7.8584970906376839e-03 -4.9952238798141479e-02 2.7249589562416077e-01 <_> 0 -1 1391 -1.4245980310079176e-05 8.8010340929031372e-02 -1.3228349387645721e-01 <_> 0 -1 1392 6.9364177761599422e-04 -6.7391887307167053e-02 1.7463630437850952e-01 <_> 0 -1 1393 -2.9837749898433685e-02 -5.1709812879562378e-01 2.4871410802006721e-02 <_> 0 -1 1394 7.1383598260581493e-03 6.7430503666400909e-02 -1.9037249684333801e-01 <_> 0 -1 1395 1.7582569271326065e-02 -3.6622371524572372e-02 3.5335469245910645e-01 <_> 0 -1 1396 -1.2527840444818139e-03 -2.1730649471282959e-01 6.1200018972158432e-02 <_> 0 -1 1397 7.4575009057298303e-04 -6.4467661082744598e-02 1.9775040447711945e-01 <_> 0 -1 1398 -7.2683871258050203e-04 -1.7233370244503021e-01 7.1719951927661896e-02 <_> 0 -1 1399 2.6301289908587933e-03 -3.9274338632822037e-02 3.3066290616989136e-01 <_> 0 -1 1400 -1.4553769688063767e-05 7.9698577523231506e-02 -1.7852419614791870e-01 <_> 0 -1 1401 -4.5518940896727145e-04 -1.6662250459194183e-01 7.5660362839698792e-02 <_> 0 -1 1402 -4.0261688991449773e-04 -1.4214369654655457e-01 8.1017293035984039e-02 <_> 161 -1.4741109609603882e+00 <_> 0 -1 1403 -8.3439666777849197e-03 3.1942158937454224e-01 -2.6766449213027954e-01 <_> 0 -1 1404 7.8073277836665511e-04 -3.4852638840675354e-01 1.3628880679607391e-01 <_> 0 -1 1405 8.6505862418562174e-04 -2.5323680043220520e-01 1.7417639493942261e-01 <_> 0 -1 1406 -2.0879819930996746e-04 8.8503703474998474e-02 -3.6038509011268616e-01 <_> 0 -1 1407 -7.4667241424322128e-03 1.6120630502700806e-01 -1.7366449534893036e-01 <_> 0 -1 1408 -6.9383758818730712e-04 9.6873007714748383e-02 -2.6793479919433594e-01 <_> 0 -1 1409 -4.7926991101121530e-05 9.1756246984004974e-02 -2.6212221384048462e-01 <_> 0 -1 1410 -1.5861799474805593e-03 -6.1400872468948364e-01 -7.4168378487229347e-03 <_> 0 -1 1411 4.4573731429409236e-05 -1.4841860532760620e-01 1.3855740427970886e-01 <_> 0 -1 1412 5.0104141701012850e-04 5.9088941663503647e-02 -2.9596069455146790e-01 <_> 0 -1 1413 -4.7243628650903702e-03 1.7092029750347137e-01 -1.0624700039625168e-01 <_> 0 -1 1414 3.9171050302684307e-03 8.8605202734470367e-02 -2.2775200009346008e-01 <_> 0 -1 1415 8.8675727602094412e-04 -1.6839639842510223e-01 1.1958680301904678e-01 <_> 0 -1 1416 -4.2634559795260429e-03 -3.3663240075111389e-01 4.7266270965337753e-02 <_> 0 -1 1417 6.8006501533091068e-03 -5.9237081557512283e-02 3.1675300002098083e-01 <_> 0 -1 1418 -1.3168989680707455e-02 3.7162569165229797e-01 -4.2714890092611313e-02 <_> 0 -1 1419 7.3881301796063781e-04 5.9158101677894592e-02 -3.0953711271286011e-01 <_> 0 -1 1420 1.7939460230991244e-03 -8.4615282714366913e-02 2.0452530682086945e-01 <_> 0 -1 1421 1.6819390002638102e-03 -8.6703762412071228e-02 2.0580549538135529e-01 <_> 0 -1 1422 -2.5033599231392145e-03 -4.3473190069198608e-01 3.8707830011844635e-02 <_> 0 -1 1423 3.3658559550531209e-04 -1.0717310011386871e-01 1.5238380432128906e-01 <_> 0 -1 1424 1.3037879951298237e-02 4.4682659208774567e-02 -4.0395650267601013e-01 <_> 0 -1 1425 1.3743729505222291e-04 -2.1432510018348694e-01 6.8643413484096527e-02 <_> 0 -1 1426 3.7178888916969299e-01 3.4502930939197540e-02 -4.5998379588127136e-01 <_> 0 -1 1427 -7.1649150922894478e-03 2.6640880107879639e-01 -5.4557949304580688e-02 <_> 0 -1 1428 -7.1985478280112147e-04 -1.4415690302848816e-01 9.8254486918449402e-02 <_> 0 -1 1429 1.6854539513587952e-02 2.8428679332137108e-02 -4.5227599143981934e-01 <_> 0 -1 1430 1.3624729588627815e-02 -6.0474298894405365e-02 2.2715990245342255e-01 <_> 0 -1 1431 1.3620140030980110e-02 7.9177603125572205e-02 -1.8104650080204010e-01 <_> 0 -1 1432 -4.4976719655096531e-03 2.1300099790096283e-01 -7.1392573416233063e-02 <_> 0 -1 1433 7.1611418388783932e-04 -9.4237379729747772e-02 1.5830449759960175e-01 <_> 0 -1 1434 7.0651061832904816e-04 4.8840671777725220e-02 -2.9152449965476990e-01 <_> 0 -1 1435 -3.1002271175384521e-01 -3.8511890172958374e-01 3.4369651228189468e-02 <_> 0 -1 1436 4.3721711263060570e-03 -4.6880301088094711e-02 2.9952910542488098e-01 <_> 0 -1 1437 -1.4383009634912014e-02 -4.5463728904724121e-01 3.4184519201517105e-02 <_> 0 -1 1438 -3.7763800937682390e-03 -5.6709027290344238e-01 2.1684719249606133e-02 <_> 0 -1 1439 -3.4393940586596727e-03 2.8183689713478088e-01 -5.2640009671449661e-02 <_> 0 -1 1440 -3.5846829414367676e-03 -2.9227399826049805e-01 5.2231520414352417e-02 <_> 0 -1 1441 3.6200750619173050e-03 -5.3378768265247345e-02 2.6364138722419739e-01 <_> 0 -1 1442 7.6435408554971218e-03 3.6897629499435425e-02 -3.9242339134216309e-01 <_> 0 -1 1443 3.5417820326983929e-03 3.5689998418092728e-02 -3.5601079463958740e-01 <_> 0 -1 1444 -2.4041049182415009e-03 1.6313059628009796e-01 -8.9239962399005890e-02 <_> 0 -1 1445 6.5479031763970852e-03 3.6708708852529526e-02 -3.4187689423561096e-01 <_> 0 -1 1446 -1.2350000441074371e-02 2.6157799363136292e-01 -5.2475821226835251e-02 <_> 0 -1 1447 1.4726500012329780e-05 -1.7869140207767487e-01 7.7807463705539703e-02 <_> 0 -1 1448 -2.1563619375228882e-02 -6.3926118612289429e-01 1.9050199538469315e-02 <_> 0 -1 1449 5.0762481987476349e-03 -5.1665481179952621e-02 2.9126250743865967e-01 <_> 0 -1 1450 -5.9531949460506439e-02 -7.5291550159454346e-01 2.0238230004906654e-02 <_> 0 -1 1451 -1.6808489337563515e-02 -4.2833268642425537e-01 2.5997729972004890e-02 <_> 0 -1 1452 3.4431689418852329e-03 -5.4912570863962173e-02 2.4233500659465790e-01 <_> 0 -1 1453 -1.0451589478179812e-03 -2.6243540644645691e-01 4.5748569071292877e-02 <_> 0 -1 1454 -4.8333409358747303e-04 8.9791953563690186e-02 -1.2892110645771027e-01 <_> 0 -1 1455 -4.7575961798429489e-03 -3.1868740916252136e-01 3.6020528525114059e-02 <_> 0 -1 1456 -1.0407149791717529e-01 5.1398742198944092e-01 -2.3598119616508484e-02 <_> 0 -1 1457 9.6292654052376747e-03 -4.7965578734874725e-02 2.1790429949760437e-01 <_> 0 -1 1458 5.9226430021226406e-03 6.4275130629539490e-02 -1.8210859596729279e-01 <_> 0 -1 1459 1.6943799331784248e-02 -3.7509348243474960e-02 3.1458830833435059e-01 <_> 0 -1 1460 -6.5468349494040012e-03 -1.5812429785728455e-01 9.0520747005939484e-02 <_> 0 -1 1461 9.4754863530397415e-03 4.8995878547430038e-02 -2.7853849530220032e-01 <_> 0 -1 1462 -4.9254479818046093e-03 3.1902191042900085e-01 -4.5609470456838608e-02 <_> 0 -1 1463 -9.4199541490525007e-04 -1.6472989320755005e-01 7.3966227471828461e-02 <_> 0 -1 1464 7.0046652108430862e-03 -3.6342341452836990e-02 3.3846628665924072e-01 <_> 0 -1 1465 -9.1483298456296325e-04 1.0460989922285080e-01 -1.1206439882516861e-01 <_> 0 -1 1466 -1.8404760339763016e-04 1.4215709269046783e-01 -8.7627373635768890e-02 <_> 0 -1 1467 -3.1692520133219659e-04 -1.6067850589752197e-01 7.0096842944622040e-02 <_> 0 -1 1468 2.3108009248971939e-02 -5.3784500807523727e-02 2.0780019462108612e-01 <_> 0 -1 1469 6.3212551176548004e-03 2.9342239722609520e-02 -3.8378500938415527e-01 <_> 0 -1 1470 7.3698158375918865e-03 -4.1625689715147018e-02 2.6526549458503723e-01 <_> 0 -1 1471 3.3730969298630953e-03 3.7753321230411530e-02 -3.0138298869132996e-01 <_> 0 -1 1472 -6.4016957767307758e-03 2.1839860081672668e-01 -5.4551340639591217e-02 <_> 0 -1 1473 1.3553920201957226e-02 2.8121260926127434e-02 -4.3601170182228088e-01 <_> 0 -1 1474 -6.7636291496455669e-03 -1.6322250664234161e-01 6.7339658737182617e-02 <_> 0 -1 1475 -1.3078070478513837e-03 1.2315399944782257e-01 -1.0096319764852524e-01 <_> 0 -1 1476 -7.6282368972897530e-03 2.5165349245071411e-01 -5.0460711121559143e-02 <_> 0 -1 1477 7.9994397237896919e-03 7.3020651936531067e-02 -1.8877799808979034e-01 <_> 0 -1 1478 -3.1321209389716387e-03 2.7653199434280396e-01 -4.3276838958263397e-02 <_> 0 -1 1479 -4.0931310504674911e-02 -6.5518248081207275e-01 1.8600920215249062e-02 <_> 0 -1 1480 7.0344978012144566e-03 2.1914770826697350e-02 -4.8595818877220154e-01 <_> 0 -1 1481 -2.5299859698861837e-03 1.4030769467353821e-01 -8.0566473305225372e-02 <_> 0 -1 1482 3.8867890834808350e-03 -8.9075699448585510e-02 1.6832409799098969e-01 <_> 0 -1 1483 3.8210590719245374e-04 6.5200872719287872e-02 -1.8599529564380646e-01 <_> 0 -1 1484 1.0954789817333221e-01 1.5036020427942276e-02 -8.6908358335494995e-01 <_> 0 -1 1485 -1.4177490083966404e-04 -1.4669269323348999e-01 7.9050153493881226e-02 <_> 0 -1 1486 2.0990408957004547e-03 -4.6489678323268890e-02 2.3045249283313751e-01 <_> 0 -1 1487 -2.3089480237103999e-04 -1.6784009337425232e-01 6.9773100316524506e-02 <_> 0 -1 1488 -4.3103471398353577e-04 8.1758759915828705e-02 -1.2939240038394928e-01 <_> 0 -1 1489 -2.9572288622148335e-04 -1.9068230688571930e-01 5.8420080691576004e-02 <_> 0 -1 1490 -4.0046018548309803e-03 1.2948529422283173e-01 -8.1599622964859009e-02 <_> 0 -1 1491 1.4935520084691234e-05 -1.3364720344543457e-01 9.8664022982120514e-02 <_> 0 -1 1492 5.7824450777843595e-04 5.9095639735460281e-02 -1.8318089842796326e-01 <_> 0 -1 1493 1.3251320458948612e-02 -7.1488671004772186e-02 1.5635989606380463e-01 <_> 0 -1 1494 7.1273561843554489e-06 -1.2283089756965637e-01 9.7752511501312256e-02 <_> 0 -1 1495 1.4193489914759994e-03 -8.1696748733520508e-02 1.3701570034027100e-01 <_> 0 -1 1496 -8.0165416002273560e-03 2.4697229266166687e-01 -5.6527040898799896e-02 <_> 0 -1 1497 -2.3803471121937037e-03 -3.7901589274406433e-01 3.4532550722360611e-02 <_> 0 -1 1498 -4.8633730039000511e-03 6.5441012382507324e-01 -1.9296199083328247e-02 <_> 0 -1 1499 -1.4388219824468251e-05 7.5101882219314575e-02 -1.4394460618495941e-01 <_> 0 -1 1500 1.4798780284763779e-05 -1.0807389765977859e-01 9.6213810145854950e-02 <_> 0 -1 1501 2.4176139384508133e-02 2.6983680203557014e-02 -4.0708479285240173e-01 <_> 0 -1 1502 -3.9851912297308445e-03 2.1786700189113617e-01 -5.4170310497283936e-02 <_> 0 -1 1503 -2.5377580896019936e-03 -1.5314599871635437e-01 8.8059239089488983e-02 <_> 0 -1 1504 2.1663319785147905e-03 1.0252720117568970e-01 -1.2039250135421753e-01 <_> 0 -1 1505 3.5593929351307452e-04 -8.2267768681049347e-02 1.3228890299797058e-01 <_> 0 -1 1506 1.1394560569897294e-03 -8.6393490433692932e-02 1.5693899989128113e-01 <_> 0 -1 1507 5.5563818663358688e-02 1.7108110710978508e-02 -7.0473742485046387e-01 <_> 0 -1 1508 5.5514591932296753e-01 1.3345389626920223e-02 -6.9916892051696777e-01 <_> 0 -1 1509 -4.6235490590333939e-03 -2.3983679711818695e-01 3.9515350013971329e-02 <_> 0 -1 1510 -4.5803869143128395e-03 4.2900869250297546e-01 -2.6430539786815643e-02 <_> 0 -1 1511 7.0851319469511509e-03 1.1231079697608948e-01 -1.0711509734392166e-01 <_> 0 -1 1512 -4.0524810901843011e-04 -2.5740951299667358e-01 4.6670019626617432e-02 <_> 0 -1 1513 -4.9121538177132607e-03 2.7129280567169189e-01 -4.3966241180896759e-02 <_> 0 -1 1514 -1.9348099827766418e-02 -4.0643858909606934e-01 2.9176769778132439e-02 <_> 0 -1 1515 -1.3842330081388354e-03 2.3537209630012512e-01 -5.0227548927068710e-02 <_> 0 -1 1516 6.2752598896622658e-03 2.8113570064306259e-02 -3.9913201332092285e-01 <_> 0 -1 1517 1.4853129869152326e-05 -1.0750629752874374e-01 1.0206390172243118e-01 <_> 0 -1 1518 -1.1780710192397237e-03 1.8112790584564209e-01 -5.8998040854930878e-02 <_> 0 -1 1519 -3.2166391611099243e-02 -9.8135101795196533e-01 1.1817139573395252e-02 <_> 0 -1 1520 2.8749080374836922e-03 5.0774369388818741e-02 -2.0650039613246918e-01 <_> 0 -1 1521 -3.5098160151392221e-03 1.4354039728641510e-01 -7.8006736934185028e-02 <_> 0 -1 1522 -7.2203627787530422e-03 2.3853950202465057e-01 -4.6176180243492126e-02 <_> 0 -1 1523 2.0837699994444847e-03 2.2801460698246956e-02 -5.0945621728897095e-01 <_> 0 -1 1524 3.6175400018692017e-02 1.4734740369021893e-02 -6.1349362134933472e-01 <_> 0 -1 1525 7.5545758008956909e-03 1.6166130080819130e-02 -5.8863008022308350e-01 <_> 0 -1 1526 -2.6058950461447239e-03 3.6436009407043457e-01 -3.4624300897121429e-02 <_> 0 -1 1527 6.4669351559132338e-04 6.3444733619689941e-02 -1.8953520059585571e-01 <_> 0 -1 1528 -3.1747641041874886e-03 4.2877858877182007e-01 -2.6968790218234062e-02 <_> 0 -1 1529 -2.3839730769395828e-02 -3.6871370673179626e-01 3.3688500523567200e-02 <_> 0 -1 1530 1.1973649961873889e-03 -6.2898509204387665e-02 1.9179169833660126e-01 <_> 0 -1 1531 4.4593929487746209e-05 -1.1022660136222839e-01 1.2159959971904755e-01 <_> 0 -1 1532 9.1575905680656433e-03 2.5353889912366867e-02 -4.9928730726242065e-01 <_> 0 -1 1533 2.3933469783514738e-03 4.8282090574502945e-02 -2.2685450315475464e-01 <_> 0 -1 1534 -1.1994830565527081e-03 1.0886570066213608e-01 -1.0669539868831635e-01 <_> 0 -1 1535 2.1603968925774097e-03 -7.6076626777648926e-02 1.6507959365844727e-01 <_> 0 -1 1536 -1.6556339338421822e-02 -5.4167211055755615e-01 2.0711649209260941e-02 <_> 0 -1 1537 -8.8350269943475723e-03 -3.6710909008979797e-01 2.8870400041341782e-02 <_> 0 -1 1538 -1.4592399566026870e-05 7.8724071383476257e-02 -1.3622610270977020e-01 <_> 0 -1 1539 -1.4897900400683284e-03 1.1436119675636292e-01 -1.0104899853467941e-01 <_> 0 -1 1540 -3.9764028042554855e-03 -1.0250560194253922e-01 1.0466060042381287e-01 <_> 0 -1 1541 -7.2657042182981968e-03 2.2982269525527954e-01 -4.5155581086874008e-02 <_> 0 -1 1542 8.9115025475621223e-03 2.9681159183382988e-02 -4.4235008955001831e-01 <_> 0 -1 1543 -1.8145949579775333e-03 2.3911419510841370e-01 -4.6856120228767395e-02 <_> 0 -1 1544 -3.7546321749687195e-02 -1.8569689989089966e-01 6.1533749103546143e-02 <_> 0 -1 1545 -1.0010029654949903e-03 1.4361350238323212e-01 -8.6990483105182648e-02 <_> 0 -1 1546 -3.7357229739427567e-03 2.0245459675788879e-01 -6.1167530715465546e-02 <_> 0 -1 1547 -1.4672010365757160e-05 8.8180869817733765e-02 -1.3037009537220001e-01 <_> 0 -1 1548 9.4379713118541986e-05 5.5626530200242996e-02 -2.0025369524955750e-01 <_> 0 -1 1549 1.5706509293522686e-04 -9.8335877060890198e-02 1.1518850177526474e-01 <_> 0 -1 1550 -8.1810058327391744e-04 -2.1701550483703613e-01 5.2880410104990005e-02 <_> 0 -1 1551 -5.1689259707927704e-02 5.7715278863906860e-01 -1.8761100247502327e-02 <_> 0 -1 1552 -9.0719409286975861e-02 -3.6278849840164185e-01 3.6741130053997040e-02 <_> 0 -1 1553 -1.0959040373563766e-02 1.6787180304527283e-01 -6.9725647568702698e-02 <_> 0 -1 1554 3.7122920621186495e-03 6.0360308736562729e-02 -2.0567069947719574e-01 <_> 0 -1 1555 -1.9315730780363083e-02 -5.7397401332855225e-01 1.9705319777131081e-02 <_> 0 -1 1556 -2.7051189914345741e-02 3.4983208775520325e-01 -3.6084290593862534e-02 <_> 0 -1 1557 2.1742910146713257e-02 2.2767079994082451e-02 -6.5319198369979858e-01 <_> 0 -1 1558 9.9608592689037323e-02 -3.1259559094905853e-02 3.8271111249923706e-01 <_> 0 -1 1559 4.6517839655280113e-03 1.0088030248880386e-01 -1.2396019697189331e-01 <_> 0 -1 1560 -1.4784580343984999e-05 7.9683482646942139e-02 -1.5573020279407501e-01 <_> 0 -1 1561 -1.6718909610062838e-03 1.7077329754829407e-01 -6.7733809351921082e-02 <_> 0 -1 1562 1.4456630196946207e-05 -1.0106030106544495e-01 1.1116830259561539e-01 <_> 0 -1 1563 -2.7084909379482269e-03 1.1312720179557800e-01 -1.0880629718303680e-01 <_> 159 -1.3943890333175659e+00 <_> 0 -1 1564 -2.2686859592795372e-02 2.7316910028457642e-01 -2.7358779311180115e-01 <_> 0 -1 1565 4.2952829971909523e-04 -2.5107958912849426e-01 1.5740729868412018e-01 <_> 0 -1 1566 2.5115790776908398e-03 -2.2002549469470978e-01 1.5660229325294495e-01 <_> 0 -1 1567 -6.3958892133086920e-04 7.2609938681125641e-02 -3.8278979063034058e-01 <_> 0 -1 1568 2.6575280353426933e-03 -1.1523439735174179e-01 2.3414239287376404e-01 <_> 0 -1 1569 -7.5916409492492676e-02 3.2517579197883606e-01 -8.2622267305850983e-02 <_> 0 -1 1570 1.4966350136091933e-05 -3.5640290379524231e-01 5.2353590726852417e-02 <_> 0 -1 1571 -1.4678399566037115e-05 1.0198219865560532e-01 -2.2452689707279205e-01 <_> 0 -1 1572 5.2314779168227687e-05 -1.7757849395275116e-01 1.0107079893350601e-01 <_> 0 -1 1573 1.4088390162214637e-04 -1.5139770507812500e-01 1.3872760534286499e-01 <_> 0 -1 1574 -2.3411789909005165e-02 -1.6435989737510681e-01 1.0702139884233475e-01 <_> 0 -1 1575 2.3284659255295992e-03 -8.0950729548931122e-02 2.2333970665931702e-01 <_> 0 -1 1576 -3.3611140679568052e-03 -4.4329941272735596e-01 3.4489039331674576e-02 <_> 0 -1 1577 5.8458978310227394e-04 -1.1083470284938812e-01 1.7215029895305634e-01 <_> 0 -1 1578 -3.3180968603119254e-04 6.9152593612670898e-02 -2.6321241259574890e-01 <_> 0 -1 1579 -8.8515877723693848e-04 -3.4764730930328369e-01 4.3258201330900192e-02 <_> 0 -1 1580 1.4169749920256436e-04 -1.4600689709186554e-01 1.0149820148944855e-01 <_> 0 -1 1581 1.4851680025458336e-03 2.9983170330524445e-02 -4.1786131262779236e-01 <_> 0 -1 1582 -7.5329327955842018e-04 -2.1557639539241791e-01 6.4534209668636322e-02 <_> 0 -1 1583 1.4260539785027504e-02 -8.0013327300548553e-02 1.9511990249156952e-01 <_> 0 -1 1584 -1.4687920156575274e-05 9.7121663391590118e-02 -1.3502350449562073e-01 <_> 0 -1 1585 -9.8925074562430382e-03 -5.1035261154174805e-01 2.9335800558328629e-02 <_> 0 -1 1586 -1.8316040514037013e-03 3.2676079869270325e-01 -4.5014020055532455e-02 <_> 0 -1 1587 8.6495577124878764e-04 -7.7836513519287109e-02 1.8764939904212952e-01 <_> 0 -1 1588 1.4902660250663757e-01 1.9568990916013718e-02 -6.2450677156448364e-01 <_> 0 -1 1589 -1.7126720398664474e-02 -1.8141449987888336e-01 7.3048681020736694e-02 <_> 0 -1 1590 -1.7061959952116013e-03 3.1236839294433594e-01 -4.4152028858661652e-02 <_> 0 -1 1591 3.8261809386312962e-03 5.1518529653549194e-02 -2.9330030083656311e-01 <_> 0 -1 1592 3.8093670736998320e-03 -7.6707206666469574e-02 1.7574439942836761e-01 <_> 0 -1 1593 -3.4228331060148776e-04 -2.3458020389080048e-01 6.1726640909910202e-02 <_> 0 -1 1594 -4.1697870939970016e-02 4.3929129838943481e-01 -3.6892820149660110e-02 <_> 0 -1 1595 1.9080520723946393e-04 -1.3488939404487610e-01 9.7168661653995514e-02 <_> 0 -1 1596 2.6400710339657962e-04 -1.6539520025253296e-01 7.3270231485366821e-02 <_> 0 -1 1597 7.9839164391160011e-03 -3.3527340739965439e-02 3.6535859107971191e-01 <_> 0 -1 1598 -1.4267410151660442e-02 4.6739241480827332e-01 -2.7154419571161270e-02 <_> 0 -1 1599 -9.4726070528849959e-05 -1.5017749369144440e-01 8.7657302618026733e-02 <_> 0 -1 1600 -2.9629279742948711e-04 -1.6194540262222290e-01 7.3863230645656586e-02 <_> 0 -1 1601 2.3301010951399803e-03 -7.9925157129764557e-02 1.5778550505638123e-01 <_> 0 -1 1602 3.6623800406232476e-04 -8.7019346654415131e-02 2.0495669543743134e-01 <_> 0 -1 1603 -4.4499669224023819e-02 -2.9891410470008850e-01 4.5648001134395599e-02 <_> 0 -1 1604 -6.0768700204789639e-03 2.3746150732040405e-01 -5.3580708801746368e-02 <_> 0 -1 1605 6.6064862767234445e-04 5.9221439063549042e-02 -2.3569910228252411e-01 <_> 0 -1 1606 7.4699260294437408e-03 5.1304049789905548e-02 -2.3386649787425995e-01 <_> 0 -1 1607 -6.7128022201359272e-03 2.7061641216278076e-01 -5.0031121820211411e-02 <_> 0 -1 1608 4.6589970588684082e-03 4.4932201504707336e-02 -3.0730488896369934e-01 <_> 0 -1 1609 4.9815201200544834e-03 -4.8255410045385361e-02 2.6853010058403015e-01 <_> 0 -1 1610 9.9244136363267899e-03 1.9446769729256630e-02 -7.0352387428283691e-01 <_> 0 -1 1611 6.1988402158021927e-03 -3.5107269883155823e-02 3.5460400581359863e-01 <_> 0 -1 1612 8.8433362543582916e-03 4.5328389853239059e-02 -2.7485930919647217e-01 <_> 0 -1 1613 1.1110560037195683e-02 2.2391419857740402e-02 -5.0172042846679688e-01 <_> 0 -1 1614 -6.9408811395987868e-04 1.7079490423202515e-01 -6.3849426805973053e-02 <_> 0 -1 1615 8.0377031117677689e-03 8.8937461376190186e-02 -1.6416129469871521e-01 <_> 0 -1 1616 1.4750069567526225e-05 -1.3713030517101288e-01 9.6981123089790344e-02 <_> 0 -1 1617 1.2381490087136626e-03 -6.9491222500801086e-02 1.6551379859447479e-01 <_> 0 -1 1618 2.6584148872643709e-04 -9.6803613007068634e-02 1.2020370364189148e-01 <_> 0 -1 1619 -5.4076651576906443e-04 -2.3185379803180695e-01 4.8987850546836853e-02 <_> 0 -1 1620 -5.1092808134853840e-03 3.0391758680343628e-01 -4.0800470858812332e-02 <_> 0 -1 1621 1.5575919533148408e-03 -1.0150980204343796e-01 1.4465929567813873e-01 <_> 0 -1 1622 2.8396019712090492e-02 1.5098540484905243e-01 -8.8314309716224670e-02 <_> 0 -1 1623 1.5096530551090837e-03 5.1589738577604294e-02 -2.6199528574943542e-01 <_> 0 -1 1624 1.4308419777080417e-03 -4.5497849583625793e-02 2.7584540843963623e-01 <_> 0 -1 1625 1.3030369579792023e-01 2.0329989492893219e-02 -5.7491821050643921e-01 <_> 0 -1 1626 -3.3548770006746054e-03 1.2289950251579285e-01 -8.9937411248683929e-02 <_> 0 -1 1627 2.7094839140772820e-02 1.4342390000820160e-02 -7.8952521085739136e-01 <_> 0 -1 1628 -3.6210110783576965e-01 -6.2560427188873291e-01 1.4021329581737518e-02 <_> 0 -1 1629 -6.6879601217806339e-04 2.1966129541397095e-01 -5.2415199577808380e-02 <_> 0 -1 1630 -3.7389241158962250e-02 -4.7313681244850159e-01 2.5704499334096909e-02 <_> 0 -1 1631 -7.4386061169207096e-03 -5.2914857864379883e-01 2.0038880407810211e-02 <_> 0 -1 1632 1.0443119704723358e-01 -2.2909460589289665e-02 5.1592028141021729e-01 <_> 0 -1 1633 -6.1161867051851004e-05 7.7016606926918030e-02 -1.4625400304794312e-01 <_> 0 -1 1634 6.5830379026010633e-04 7.0015281438827515e-02 -1.5569929778575897e-01 <_> 0 -1 1635 9.7367232665419579e-03 -3.1582240015268326e-02 3.2754561305046082e-01 <_> 0 -1 1636 -2.9574360232800245e-03 -3.4247711300849915e-01 3.2184720039367676e-02 <_> 0 -1 1637 1.6319820424541831e-03 -4.9400478601455688e-02 2.2656440734863281e-01 <_> 0 -1 1638 1.3844939880073071e-02 2.0476659759879112e-02 -5.4600667953491211e-01 <_> 0 -1 1639 3.1580299139022827e-02 -4.2422048747539520e-02 2.9091480374336243e-01 <_> 0 -1 1640 8.6624026298522949e-03 5.4432898759841919e-02 -2.1892189979553223e-01 <_> 0 -1 1641 -4.6714721247553825e-04 -1.8205730617046356e-01 7.1491912007331848e-02 <_> 0 -1 1642 4.1834521107375622e-03 -6.7491203546524048e-02 1.7285770177841187e-01 <_> 0 -1 1643 -5.3335628472268581e-03 -8.4681749343872070e-01 1.3804829679429531e-02 <_> 0 -1 1644 7.8782793134450912e-03 -4.8166718333959579e-02 2.4242730438709259e-01 <_> 0 -1 1645 3.8775329012423754e-03 2.4311149492859840e-02 -4.9763259291648865e-01 <_> 0 -1 1646 -1.6564880206715316e-04 5.5546380579471588e-02 -1.9554230570793152e-01 <_> 0 -1 1647 1.8993400037288666e-02 -3.6479089409112930e-02 2.8472718596458435e-01 <_> 0 -1 1648 -3.4308759495615959e-03 -3.2813000679016113e-01 3.6524198949337006e-02 <_> 0 -1 1649 1.4614370229537599e-05 -1.0106439888477325e-01 1.0622490197420120e-01 <_> 0 -1 1650 1.5978919342160225e-02 3.0059399083256721e-02 -3.9310181140899658e-01 <_> 0 -1 1651 -2.2245719446800649e-04 1.8586489558219910e-01 -7.2151653468608856e-02 <_> 0 -1 1652 2.0615909248590469e-02 1.5250990167260170e-02 -7.8391200304031372e-01 <_> 0 -1 1653 2.8645060956478119e-04 6.8745598196983337e-02 -1.5308310091495514e-01 <_> 0 -1 1654 -5.9233439969830215e-05 -1.2545019388198853e-01 9.8448492586612701e-02 <_> 0 -1 1655 -7.6257862383499742e-04 2.1546240150928497e-01 -5.3760219365358353e-02 <_> 0 -1 1656 -1.4181639999151230e-03 -1.9876889884471893e-01 5.1982138305902481e-02 <_> 0 -1 1657 -4.4716868549585342e-02 -7.5508397817611694e-01 1.2906449846923351e-02 <_> 0 -1 1658 -1.3735699467360973e-03 2.2003139555454254e-01 -5.1394689828157425e-02 <_> 0 -1 1659 -1.5352779999375343e-02 -2.1422849595546722e-01 5.3781170397996902e-02 <_> 0 -1 1660 1.3817439787089825e-02 -3.5158120095729828e-02 2.9399091005325317e-01 <_> 0 -1 1661 8.7981626391410828e-02 1.6688749194145203e-02 -7.2053599357604980e-01 <_> 0 -1 1662 4.0486121177673340e-01 9.4695771113038063e-03 -8.2725608348846436e-01 <_> 0 -1 1663 1.9231239566579461e-03 -5.8016318827867508e-02 1.7696020007133484e-01 <_> 0 -1 1664 -4.0756969247013330e-04 8.7600946426391602e-02 -1.2633720040321350e-01 <_> 0 -1 1665 -2.3862780071794987e-03 -4.0085569024085999e-01 2.7183029800653458e-02 <_> 0 -1 1666 5.6235089898109436e-02 -1.7541319131851196e-02 7.3818737268447876e-01 <_> 0 -1 1667 4.9810402560979128e-04 -7.6487071812152863e-02 1.2697990238666534e-01 <_> 0 -1 1668 5.3285917965695262e-04 5.9596300125122070e-02 -1.7600339651107788e-01 <_> 0 -1 1669 5.9949647402390838e-04 -8.2509063184261322e-02 1.3002809882164001e-01 <_> 0 -1 1670 -2.0725550712086260e-04 9.3374222517013550e-02 -1.1726769804954529e-01 <_> 0 -1 1671 8.1314949784427881e-04 -8.0063126981258392e-02 1.4701730012893677e-01 <_> 0 -1 1672 -3.4973450237885118e-04 1.1057929694652557e-01 -1.0881700366735458e-01 <_> 0 -1 1673 -2.1448899805545807e-01 -3.1701159477233887e-01 4.1711531579494476e-02 <_> 0 -1 1674 5.9010740369558334e-04 4.6280328184366226e-02 -2.3512250185012817e-01 <_> 0 -1 1675 -1.2093999981880188e-01 -6.8957090377807617e-01 1.4982040040194988e-02 <_> 0 -1 1676 1.0181350260972977e-01 1.1298139579594135e-02 -7.1199649572372437e-01 <_> 0 -1 1677 3.5208329558372498e-01 1.2944510206580162e-02 -6.7572408914566040e-01 <_> 0 -1 1678 -1.4602140254282858e-05 6.9550313055515289e-02 -1.4288060367107391e-01 <_> 0 -1 1679 -2.3212860524654388e-01 -7.5287401676177979e-01 1.1394330300390720e-02 <_> 0 -1 1680 -1.4764709630981088e-03 1.3547790050506592e-01 -8.5470907390117645e-02 <_> 0 -1 1681 9.9324379116296768e-03 -4.8758801072835922e-02 2.4582690000534058e-01 <_> 0 -1 1682 -2.6857290416955948e-02 -4.3975710868835449e-01 2.5082239881157875e-02 <_> 0 -1 1683 -7.3618912138044834e-03 1.2384700030088425e-01 -9.7226209938526154e-02 <_> 0 -1 1684 -1.9785730168223381e-02 -5.0932317972183228e-01 2.3481979966163635e-02 <_> 0 -1 1685 -1.4635100342275109e-05 9.4043917953968048e-02 -1.2145669758319855e-01 <_> 0 -1 1686 -5.4067030549049377e-02 -5.4586207866668701e-01 1.9500140100717545e-02 <_> 0 -1 1687 1.1532169766724110e-02 -7.6409153640270233e-02 1.3763970136642456e-01 <_> 0 -1 1688 -4.4358540326356888e-03 1.2359759956598282e-01 -9.1719299554824829e-02 <_> 0 -1 1689 8.3216017810627818e-04 6.3659071922302246e-02 -2.0440760254859924e-01 <_> 0 -1 1690 -1.2503969669342041e-01 -4.1524758934974670e-01 2.7199100703001022e-02 <_> 0 -1 1691 4.9618318676948547e-02 1.5955109149217606e-02 -6.1666852235794067e-01 <_> 0 -1 1692 -3.0613599810749292e-03 3.6662209033966064e-01 -3.3449448645114899e-02 <_> 0 -1 1693 3.5273379180580378e-03 3.1757980585098267e-02 -3.8478809595108032e-01 <_> 0 -1 1694 -6.6726570948958397e-03 3.2095840573310852e-01 -3.4408681094646454e-02 <_> 0 -1 1695 -2.5795500259846449e-03 -3.7870529294013977e-01 2.8562130406498909e-02 <_> 0 -1 1696 7.8417789191007614e-03 -2.0479770377278328e-02 5.1704108715057373e-01 <_> 0 -1 1697 3.1101319473236799e-04 -1.0809139907360077e-01 9.7204521298408508e-02 <_> 0 -1 1698 2.6113479398190975e-03 -8.1770427525043488e-02 1.4691209793090820e-01 <_> 0 -1 1699 7.3472261428833008e-03 2.5131259113550186e-02 -4.3025061488151550e-01 <_> 0 -1 1700 1.3528259296435863e-04 -1.4751060307025909e-01 6.7584678530693054e-02 <_> 0 -1 1701 -5.1026898290729150e-05 -1.2161359935998917e-01 8.4333047270774841e-02 <_> 0 -1 1702 1.1552199721336365e-03 -5.4663829505443573e-02 1.9773660600185394e-01 <_> 0 -1 1703 -8.2931712269783020e-02 -5.1923328638076782e-01 2.0582359284162521e-02 <_> 0 -1 1704 -4.6260739327408373e-04 8.5588268935680389e-02 -1.1725299805402756e-01 <_> 0 -1 1705 6.7906372714787722e-04 4.5980118215084076e-02 -2.2628420591354370e-01 <_> 0 -1 1706 1.4090019976720214e-03 -4.7628920525312424e-02 2.2722719609737396e-01 <_> 0 -1 1707 2.8954911231994629e-01 1.6701240092515945e-02 -6.3967019319534302e-01 <_> 0 -1 1708 1.9376130774617195e-02 -2.2569410502910614e-02 5.0590497255325317e-01 <_> 0 -1 1709 4.2641081381589174e-04 6.6041722893714905e-02 -1.6666300594806671e-01 <_> 0 -1 1710 1.7502580303698778e-03 -5.8077909052371979e-02 1.9512599706649780e-01 <_> 0 -1 1711 -3.2605750020593405e-03 -2.9101881384849548e-01 3.8328718394041061e-02 <_> 0 -1 1712 1.9519040361046791e-03 5.9565968811511993e-02 -1.6910600662231445e-01 <_> 0 -1 1713 -3.2053990289568901e-03 1.9927769899368286e-01 -5.6053258478641510e-02 <_> 0 -1 1714 1.7617279663681984e-03 5.0697531551122665e-02 -2.1276649832725525e-01 <_> 0 -1 1715 -6.0043102130293846e-03 -1.3699269294738770e-01 8.2275278866291046e-02 <_> 0 -1 1716 2.4830829352140427e-03 -5.1561661064624786e-02 2.1684220433235168e-01 <_> 0 -1 1717 -1.0821930319070816e-01 -7.8375291824340820e-01 1.4433650299906731e-02 <_> 0 -1 1718 -7.5229378417134285e-03 1.3453729450702667e-01 -9.0582698583602905e-02 <_> 0 -1 1719 3.0750989913940430e-02 1.1081690341234207e-01 -9.9475599825382233e-02 <_> 0 -1 1720 -2.8948320541530848e-03 1.9005739688873291e-01 -5.2639260888099670e-02 <_> 0 -1 1721 2.7011099737137556e-03 5.8573558926582336e-02 -1.9851949810981750e-01 <_> 0 -1 1722 1.2562989722937346e-03 -7.3565311729907990e-02 1.5436840057373047e-01 <_> 173 -1.4785599708557129e+00 <_> 0 -1 1723 -2.1460579708218575e-02 3.2505050301551819e-01 -2.0890380442142487e-01 <_> 0 -1 1724 7.6785432174801826e-03 -1.3231310248374939e-01 3.0525839328765869e-01 <_> 0 -1 1725 3.4118059556931257e-03 -3.0793079733848572e-01 1.1010979861021042e-01 <_> 0 -1 1726 -1.4710490177094471e-05 9.5858857035636902e-02 -2.9641860723495483e-01 <_> 0 -1 1727 1.0538049973547459e-02 -7.9252541065216064e-02 3.7234848737716675e-01 <_> 0 -1 1728 -2.5260078837163746e-04 6.7121110856533051e-02 -3.0784338712692261e-01 <_> 0 -1 1729 -3.5665810573846102e-03 1.4667609333992004e-01 -1.7083789408206940e-01 <_> 0 -1 1730 -1.2677359627559781e-03 -4.9063721299171448e-01 2.0374119281768799e-02 <_> 0 -1 1731 -6.7669381387531757e-03 2.5767329335212708e-01 -7.4175901710987091e-02 <_> 0 -1 1732 -6.0447258874773979e-04 -1.9196410477161407e-01 9.1349847614765167e-02 <_> 0 -1 1733 -2.5375590194016695e-03 -3.5663878917694092e-01 5.1547251641750336e-02 <_> 0 -1 1734 -7.0200557820498943e-03 3.9719080924987793e-01 -4.3967988342046738e-02 <_> 0 -1 1735 -5.7049379684031010e-03 -5.0015491247177124e-01 2.9825929552316666e-02 <_> 0 -1 1736 1.4744909713044763e-03 5.8546211570501328e-02 -2.6139810681343079e-01 <_> 0 -1 1737 9.2834811657667160e-03 -4.2836759239435196e-02 3.3443170785903931e-01 <_> 0 -1 1738 9.9660153500735760e-04 -1.0425110161304474e-01 1.6191780567169189e-01 <_> 0 -1 1739 -7.5932733714580536e-02 -3.7356320023536682e-01 4.3075688183307648e-02 <_> 0 -1 1740 5.5370710470015183e-05 -1.4570540189743042e-01 1.1560150235891342e-01 <_> 0 -1 1741 1.4746849956281949e-05 -1.2972679734230042e-01 1.1747740209102631e-01 <_> 0 -1 1742 -1.4875919441692531e-04 -1.8002930283546448e-01 7.8782692551612854e-02 <_> 0 -1 1743 3.3751460723578930e-03 -7.7242009341716766e-02 1.8596859276294708e-01 <_> 0 -1 1744 3.4271259210072458e-04 -1.5393340587615967e-01 1.0472580045461655e-01 <_> 0 -1 1745 -4.5711229904554784e-04 -2.2300529479980469e-01 6.1818670481443405e-02 <_> 0 -1 1746 3.2788628595881164e-04 7.9448707401752472e-02 -1.8889829516410828e-01 <_> 0 -1 1747 -9.6754019614309072e-04 1.3137130439281464e-01 -1.0801070183515549e-01 <_> 0 -1 1748 1.0537009686231613e-02 2.2138269618153572e-02 -5.7479751110076904e-01 <_> 0 -1 1749 5.6796409189701080e-03 -5.6034579873085022e-02 2.4849580228328705e-01 <_> 0 -1 1750 -8.8083967566490173e-03 -3.7167680263519287e-01 4.2726948857307434e-02 <_> 0 -1 1751 -2.8319710865616798e-02 -6.2387847900390625e-01 2.0844049751758575e-02 <_> 0 -1 1752 1.3637860305607319e-02 1.4434239827096462e-02 -7.1537137031555176e-01 <_> 0 -1 1753 1.1822770349681377e-02 -4.3181091547012329e-02 3.0682548880577087e-01 <_> 0 -1 1754 -6.1035697581246495e-04 -2.0418339967727661e-01 6.2115620821714401e-02 <_> 0 -1 1755 -5.6125568225979805e-03 3.6485010385513306e-01 -3.5448960959911346e-02 <_> 0 -1 1756 1.4603640011046082e-05 -9.6096910536289215e-02 1.2142290174961090e-01 <_> 0 -1 1757 1.9061230123043060e-03 5.3135868161916733e-02 -2.2978909313678741e-01 <_> 0 -1 1758 -3.6644220817834139e-03 1.9614529609680176e-01 -6.8556912243366241e-02 <_> 0 -1 1759 1.2336249928921461e-03 -8.7000347673892975e-02 1.3920229673385620e-01 <_> 0 -1 1760 5.4660569876432419e-03 2.2660890594124794e-02 -4.8329529166221619e-01 <_> 0 -1 1761 -6.1730947345495224e-04 -2.1959540247917175e-01 5.5258519947528839e-02 <_> 0 -1 1762 2.9604700393974781e-03 -5.0548229366540909e-02 2.7476710081100464e-01 <_> 0 -1 1763 2.8015000745654106e-02 1.8874650821089745e-02 -6.0498368740081787e-01 <_> 0 -1 1764 -7.1651988946541678e-06 1.0836219787597656e-01 -1.0606969892978668e-01 <_> 0 -1 1765 -1.6367150470614433e-02 2.8645038604736328e-01 -3.7137690931558609e-02 <_> 0 -1 1766 1.0280719725415111e-03 5.6318141520023346e-02 -2.1795029938220978e-01 <_> 0 -1 1767 1.3662660494446754e-03 -4.6803500503301620e-02 2.3804000020027161e-01 <_> 0 -1 1768 7.6626739464700222e-03 2.1595260128378868e-02 -5.6847488880157471e-01 <_> 0 -1 1769 -4.5117521658539772e-03 -3.5794979333877563e-01 3.0485490337014198e-02 <_> 0 -1 1770 -4.3773967772722244e-03 2.3192660510540009e-01 -5.3999818861484528e-02 <_> 0 -1 1771 -7.2474628686904907e-03 -4.3440380692481995e-01 2.6374189183115959e-02 <_> 0 -1 1772 7.9146260395646095e-04 -9.9924586713314056e-02 1.1088500171899796e-01 <_> 0 -1 1773 6.4166806638240814e-02 1.8938669934868813e-02 -5.7849419116973877e-01 <_> 0 -1 1774 -1.1797840124927461e-04 -1.4889569580554962e-01 6.8777203559875488e-02 <_> 0 -1 1775 1.2801289558410645e-02 5.6179329752922058e-02 -2.0865969359874725e-01 <_> 0 -1 1776 -2.7018740773200989e-02 4.5356890559196472e-01 -2.5054579600691795e-02 <_> 0 -1 1777 -6.9431727752089500e-03 -5.2916550636291504e-01 2.1800139918923378e-02 <_> 0 -1 1778 3.3396780490875244e-03 -3.7295959889888763e-02 3.1198439002037048e-01 <_> 0 -1 1779 -3.8888349081389606e-04 -1.5630130469799042e-01 7.0981830358505249e-02 <_> 0 -1 1780 -7.1400677552446723e-04 2.1799430251121521e-01 -5.4069280624389648e-02 <_> 0 -1 1781 1.2549630366265774e-02 1.7357179895043373e-02 -7.8320449590682983e-01 <_> 0 -1 1782 -1.4623020433646161e-05 7.8640103340148926e-02 -1.4212970435619354e-01 <_> 0 -1 1783 -1.2133170384913683e-03 -3.1371229887008667e-01 3.4287638962268829e-02 <_> 0 -1 1784 3.6882720887660980e-03 -3.8382381200790405e-02 3.0124679207801819e-01 <_> 0 -1 1785 -1.4818239833402913e-05 1.2561169266700745e-01 -9.1703377664089203e-02 <_> 0 -1 1786 3.0302109662443399e-03 -2.9543070122599602e-02 3.7889540195465088e-01 <_> 0 -1 1787 5.9340851294109598e-05 -1.7745719850063324e-01 7.0102430880069733e-02 <_> 0 -1 1788 -2.9449560315697454e-05 1.2052319943904877e-01 -1.1128979921340942e-01 <_> 0 -1 1789 -1.7771139740943909e-02 -4.7108310461044312e-01 2.5600789114832878e-02 <_> 0 -1 1790 7.6775359921157360e-03 -4.0757879614830017e-02 2.7021768689155579e-01 <_> 0 -1 1791 -1.8513019382953644e-01 -3.0238750576972961e-01 3.8790911436080933e-02 <_> 0 -1 1792 2.7697190642356873e-02 2.6712810620665550e-02 -4.4166600704193115e-01 <_> 0 -1 1793 -2.0427649840712547e-02 2.5086608529090881e-01 -5.5672701448202133e-02 <_> 0 -1 1794 9.0200370177626610e-03 4.7344069927930832e-02 -2.7445980906486511e-01 <_> 0 -1 1795 -1.2504979968070984e-03 -1.4971190690994263e-01 7.9667650163173676e-02 <_> 0 -1 1796 -1.0021160356700420e-02 2.4248859286308289e-01 -4.9217909574508667e-02 <_> 0 -1 1797 2.6042328681796789e-04 6.3192427158355713e-02 -1.8544280529022217e-01 <_> 0 -1 1798 1.1920549441128969e-03 -8.6547911167144775e-02 1.3552339375019073e-01 <_> 0 -1 1799 3.0391330365091562e-03 -7.2965219616889954e-02 1.6479800641536713e-01 <_> 0 -1 1800 -2.9615699531859718e-05 8.2047976553440094e-02 -1.4502969384193420e-01 <_> 0 -1 1801 -1.2226340360939503e-02 -5.3014177083969116e-01 2.0405799150466919e-02 <_> 0 -1 1802 -2.8124889358878136e-02 -5.5148762464523315e-01 1.7688119783997536e-02 <_> 0 -1 1803 -4.8307109624147415e-02 -8.2579791545867920e-01 1.1020540259778500e-02 <_> 0 -1 1804 4.6184109523892403e-03 3.2069969922304153e-02 -3.0115368962287903e-01 <_> 0 -1 1805 -8.4275740664452314e-04 1.7034439742565155e-01 -6.3009433448314667e-02 <_> 0 -1 1806 6.3863280229270458e-03 1.6307299956679344e-02 -7.1346491575241089e-01 <_> 0 -1 1807 -7.7203067485243082e-04 1.6715280711650848e-01 -6.6192783415317535e-02 <_> 0 -1 1808 -2.2645338904112577e-03 -3.5107091069221497e-01 2.8168670833110809e-02 <_> 0 -1 1809 -3.7738790269941092e-03 5.2762818336486816e-01 -2.0222609862685204e-02 <_> 0 -1 1810 5.8204168453812599e-03 7.0864066481590271e-02 -1.4675390720367432e-01 <_> 0 -1 1811 -1.2069250456988811e-02 2.3928099870681763e-01 -4.4312968850135803e-02 <_> 0 -1 1812 3.3203759230673313e-03 -6.5749533474445343e-02 2.0277680456638336e-01 <_> 0 -1 1813 2.1621929481625557e-03 6.7407980561256409e-02 -1.8125349283218384e-01 <_> 0 -1 1814 1.2229150161147118e-02 2.2559309378266335e-02 -4.9180999398231506e-01 <_> 0 -1 1815 -6.7253508605062962e-03 -1.5290050208568573e-01 6.9786652922630310e-02 <_> 0 -1 1816 2.3579499684274197e-03 4.9212101846933365e-02 -2.0838280022144318e-01 <_> 0 -1 1817 -2.2950689308345318e-03 1.2400440126657486e-01 -9.6624918282032013e-02 <_> 0 -1 1818 1.0958530474454165e-03 -7.3270753026008606e-02 1.5208619832992554e-01 <_> 0 -1 1819 -1.3427219819277525e-03 1.2233039736747742e-01 -9.5689877867698669e-02 <_> 0 -1 1820 5.4691417608410120e-04 -1.3924160599708557e-01 8.4381736814975739e-02 <_> 0 -1 1821 8.4598818793892860e-03 8.9689873158931732e-02 -1.3318899273872375e-01 <_> 0 -1 1822 -9.1597117483615875e-02 -6.1854732036590576e-01 2.2867869585752487e-02 <_> 0 -1 1823 -1.1090439511463046e-03 5.8513749390840530e-02 -1.8806450068950653e-01 <_> 0 -1 1824 2.2256910597207025e-05 -8.4488280117511749e-02 1.2780910730361938e-01 <_> 0 -1 1825 -1.5437819820363075e-04 -1.2228029966354370e-01 8.6046978831291199e-02 <_> 0 -1 1826 -2.6862788945436478e-03 -2.4487000703811646e-01 4.4255960732698441e-02 <_> 0 -1 1827 -4.0478641167283058e-03 2.7030688524246216e-01 -4.2200870811939240e-02 <_> 0 -1 1828 -5.3340241312980652e-02 -7.6232349872589111e-01 1.4388039708137512e-02 <_> 0 -1 1829 2.8256059158593416e-03 -2.9877070337533951e-02 3.9692971110343933e-01 <_> 0 -1 1830 1.4443730004131794e-02 3.0186710879206657e-02 -3.6606648564338684e-01 <_> 0 -1 1831 1.3111650478094816e-03 -4.8140369355678558e-02 2.2434459626674652e-01 <_> 0 -1 1832 1.6730680363252759e-03 -5.9983398765325546e-02 1.6394190490245819e-01 <_> 0 -1 1833 2.3517120629549026e-02 2.4109700694680214e-02 -4.0492439270019531e-01 <_> 0 -1 1834 -3.5689130891114473e-03 3.1903558969497681e-01 -3.4295879304409027e-02 <_> 0 -1 1835 -2.8193008620291948e-04 -1.4874160289764404e-01 7.0669896900653839e-02 <_> 0 -1 1836 1.0215859860181808e-01 1.2840500101447105e-02 -7.7848541736602783e-01 <_> 0 -1 1837 -1.9175480306148529e-01 -7.5706577301025391e-01 1.0587760247290134e-02 <_> 0 -1 1838 5.3162658587098122e-03 -4.0066570043563843e-02 2.6050180196762085e-01 <_> 0 -1 1839 -1.1487120063975453e-03 -1.8017220497131348e-01 6.1610430479049683e-02 <_> 0 -1 1840 -2.8316730260848999e-01 -8.4913408756256104e-01 1.1647139675915241e-02 <_> 0 -1 1841 3.3731758594512939e-02 1.2357609719038010e-01 -7.7482230961322784e-02 <_> 0 -1 1842 9.8635945469141006e-03 4.3958030641078949e-02 -2.5541779398918152e-01 <_> 0 -1 1843 -3.1564768869429827e-03 1.8942989408969879e-01 -5.8221038430929184e-02 <_> 0 -1 1844 1.5572150005027652e-03 -1.0376139730215073e-01 1.4107349514961243e-01 <_> 0 -1 1845 6.2360420823097229e-02 9.6462322399020195e-03 -8.5804969072341919e-01 <_> 0 -1 1846 1.1480550165288150e-04 -8.4419928491115570e-02 1.1312700062990189e-01 <_> 0 -1 1847 -5.9252730570733547e-03 -3.1650778651237488e-01 3.2079849392175674e-02 <_> 0 -1 1848 -2.4660851340740919e-04 8.8697679340839386e-02 -1.1085110157728195e-01 <_> 0 -1 1849 1.6946049872785807e-03 -5.9657149016857147e-02 2.0904210209846497e-01 <_> 0 -1 1850 9.0623252617660910e-05 7.7441960573196411e-02 -1.2806339561939240e-01 <_> 0 -1 1851 1.1666920036077499e-03 -6.1748579144477844e-02 1.5702450275421143e-01 <_> 0 -1 1852 1.2541549513116479e-03 4.4608380645513535e-02 -2.3140360414981842e-01 <_> 0 -1 1853 -6.0275900177657604e-03 9.5281846821308136e-02 -1.0283090174198151e-01 <_> 0 -1 1854 -2.0472849905490875e-01 -4.1114759445190430e-01 2.3537550121545792e-02 <_> 0 -1 1855 1.7691280692815781e-02 -3.9257150143384933e-02 2.8564441204071045e-01 <_> 0 -1 1856 -1.2875649333000183e-01 -8.2030779123306274e-01 1.1735290288925171e-02 <_> 0 -1 1857 1.2868089834228158e-03 5.0858870148658752e-02 -1.7848010361194611e-01 <_> 0 -1 1858 -4.5859832316637039e-03 1.6802109777927399e-01 -6.1582598835229874e-02 <_> 0 -1 1859 4.6391240903176367e-04 6.6747047007083893e-02 -1.4237800240516663e-01 <_> 0 -1 1860 -4.4439961202442646e-03 4.5714980363845825e-01 -2.1746810525655746e-02 <_> 0 -1 1861 3.8220020942389965e-03 1.8094329163432121e-02 -6.0244542360305786e-01 <_> 0 -1 1862 1.3894500443711877e-03 3.4007851034402847e-02 -2.7153480052947998e-01 <_> 0 -1 1863 -7.2111929766833782e-03 2.7312570810317993e-01 -3.6855131387710571e-02 <_> 0 -1 1864 1.6509749693796039e-03 -8.4407016634941101e-02 1.3134449720382690e-01 <_> 0 -1 1865 -5.0506892148405313e-04 -1.4193339645862579e-01 7.3628053069114685e-02 <_> 0 -1 1866 -1.1205329559743404e-02 3.0093750357627869e-01 -3.4171391278505325e-02 <_> 0 -1 1867 -3.4860160667449236e-04 -2.4538309872150421e-01 5.9823978692293167e-02 <_> 0 -1 1868 7.3347258148714900e-04 -6.1770260334014893e-02 1.6367949545383453e-01 <_> 0 -1 1869 -9.2969406396150589e-03 -3.0236640572547913e-01 3.9257898926734924e-02 <_> 0 -1 1870 2.3957120254635811e-02 -2.3900719359517097e-02 4.8340830206871033e-01 <_> 0 -1 1871 3.6422210541786626e-05 -1.2283039838075638e-01 9.1258950531482697e-02 <_> 0 -1 1872 5.0458200275897980e-02 1.3529149815440178e-02 -7.7827727794647217e-01 <_> 0 -1 1873 -9.8683983087539673e-03 -4.4060459733009338e-01 2.0404359325766563e-02 <_> 0 -1 1874 -1.0851239785552025e-02 2.0165500044822693e-01 -5.2248589694499969e-02 <_> 0 -1 1875 1.7670930537860841e-04 -1.3691440224647522e-01 8.3170592784881592e-02 <_> 0 -1 1876 1.2582179624587297e-04 6.1275351792573929e-02 -1.6542710363864899e-01 <_> 0 -1 1877 -7.0588971721008420e-04 1.5219129621982574e-01 -6.6164620220661163e-02 <_> 0 -1 1878 1.1355109745636582e-03 -5.4115369915962219e-02 2.1311099827289581e-01 <_> 0 -1 1879 -3.7436310667544603e-03 -2.3469850420951843e-01 4.9591001123189926e-02 <_> 0 -1 1880 1.2309269513934851e-03 -7.5196012854576111e-02 1.4646540582180023e-01 <_> 0 -1 1881 3.6228948738425970e-04 -9.7789406776428223e-02 1.2091729789972305e-01 <_> 0 -1 1882 7.5996189843863249e-04 6.9713920354843140e-02 -1.6278789937496185e-01 <_> 0 -1 1883 -1.8509250367060304e-03 -1.8382890522480011e-01 5.7501520961523056e-02 <_> 0 -1 1884 7.9539678990840912e-03 -5.8848708868026733e-02 1.8846440315246582e-01 <_> 0 -1 1885 -3.1013600528240204e-04 -1.4575460553169250e-01 7.2403199970722198e-02 <_> 0 -1 1886 1.6956350300461054e-03 7.0550262928009033e-02 -1.6740930080413818e-01 <_> 0 -1 1887 2.9058079235255718e-05 -1.0341589897871017e-01 9.5376282930374146e-02 <_> 0 -1 1888 1.4466919936239719e-02 -1.7532069236040115e-02 5.4767167568206787e-01 <_> 0 -1 1889 -5.7156499475240707e-02 -7.4789309501647949e-01 1.6394419595599174e-02 <_> 0 -1 1890 3.0681469943374395e-03 3.8702819496393204e-02 -2.4164369702339172e-01 <_> 0 -1 1891 3.7490210961550474e-03 -5.6555431336164474e-02 2.0308320224285126e-01 <_> 0 -1 1892 -1.0643450077623129e-03 -2.8211921453475952e-01 3.5207509994506836e-02 <_> 0 -1 1893 -8.9807435870170593e-03 2.1754769980907440e-01 -5.0628181546926498e-02 <_> 0 -1 1894 2.4643479264341295e-04 7.2727531194686890e-02 -1.4768819510936737e-01 <_> 0 -1 1895 2.2197801154106855e-03 -3.6754861474037170e-02 2.6939278841018677e-01 <_> 169 -1.3372850418090820e+00 <_> 0 -1 1896 -3.5328421741724014e-02 2.4123990535736084e-01 -2.7961900830268860e-01 <_> 0 -1 1897 2.6829841081053019e-03 -1.6362559795379639e-01 2.3433500528335571e-01 <_> 0 -1 1898 2.1330378949642181e-03 -2.0100639760494232e-01 1.5679529309272766e-01 <_> 0 -1 1899 4.2972870869562030e-04 -3.7790980935096741e-01 7.4083693325519562e-02 <_> 0 -1 1900 -3.4645918756723404e-02 3.0556240677833557e-01 -8.3546526730060577e-02 <_> 0 -1 1901 -1.4237920368032064e-05 8.2699142396450043e-02 -2.3583950102329254e-01 <_> 0 -1 1902 4.9165110103785992e-03 -1.9556050002574921e-01 9.6965387463569641e-02 <_> 0 -1 1903 6.0989488847553730e-03 7.8470550477504730e-02 -2.3209640383720398e-01 <_> 0 -1 1904 7.4874181300401688e-03 7.1725919842720032e-03 -5.1566261053085327e-01 <_> 0 -1 1905 4.2871991172432899e-03 4.0530510246753693e-02 -4.1086289286613464e-01 <_> 0 -1 1906 1.6856180503964424e-02 -7.7506266534328461e-02 2.3657779395580292e-01 <_> 0 -1 1907 -1.0347689967602491e-03 -4.6704441308975220e-01 3.4468568861484528e-02 <_> 0 -1 1908 1.6820980235934258e-03 -6.7206740379333496e-02 2.3671430349349976e-01 <_> 0 -1 1909 -1.2018240056931973e-02 -2.2372600436210632e-01 7.4281953275203705e-02 <_> 0 -1 1910 1.3802549801766872e-03 -9.9990189075469971e-02 1.5270860493183136e-01 <_> 0 -1 1911 -1.4281070232391357e-01 -2.8344118595123291e-01 6.2299348413944244e-02 <_> 0 -1 1912 -1.5463490039110184e-02 2.9084190726280212e-01 -5.3395688533782959e-02 <_> 0 -1 1913 -9.9617196246981621e-04 -3.6011821031570435e-01 4.1922971606254578e-02 <_> 0 -1 1914 -2.6956679299473763e-02 -4.3736729025840759e-01 3.1731128692626953e-02 <_> 0 -1 1915 -8.7780617177486420e-03 -5.0374472141265869e-01 2.5146849453449249e-02 <_> 0 -1 1916 4.2969950300175697e-05 -1.5406499803066254e-01 8.8478356599807739e-02 <_> 0 -1 1917 -6.2619051896035671e-03 2.2435919940471649e-01 -5.9849821031093597e-02 <_> 0 -1 1918 -6.4296770142391324e-04 -2.4377089738845825e-01 5.9389740228652954e-02 <_> 0 -1 1919 -1.5573870041407645e-04 -1.6867999732494354e-01 7.8476317226886749e-02 <_> 0 -1 1920 4.1139780660159886e-04 -8.9017570018768311e-02 1.4019380509853363e-01 <_> 0 -1 1921 1.8635790329426527e-03 3.8603689521551132e-02 -3.2118970155715942e-01 <_> 0 -1 1922 1.6059159534052014e-03 -7.8801520168781281e-02 1.5801469981670380e-01 <_> 0 -1 1923 8.6740078404545784e-04 5.4134480655193329e-02 -2.3538430035114288e-01 <_> 0 -1 1924 -7.9801032552495599e-04 1.3330009579658508e-01 -9.5731817185878754e-02 <_> 0 -1 1925 -4.8548211343586445e-03 -2.0736059546470642e-01 6.1038620769977570e-02 <_> 0 -1 1926 -1.1426740325987339e-02 1.7201809585094452e-01 -7.1152277290821075e-02 <_> 0 -1 1927 8.7062492966651917e-03 -7.2185672819614410e-02 1.9082969427108765e-01 <_> 0 -1 1928 -1.1634400580078363e-03 -1.3751690089702606e-01 9.1818131506443024e-02 <_> 0 -1 1929 6.8914610892534256e-03 9.6225969493389130e-02 -1.3246159255504608e-01 <_> 0 -1 1930 -2.2426620125770569e-03 3.5683241486549377e-01 -3.6280050873756409e-02 <_> 0 -1 1931 1.2301520444452763e-02 4.6940989792346954e-02 -3.0623328685760498e-01 <_> 0 -1 1932 3.9963610470294952e-03 -8.2999393343925476e-02 1.5486459434032440e-01 <_> 0 -1 1933 -2.2026189981261268e-05 1.1778099834918976e-01 -1.1899650096893311e-01 <_> 0 -1 1934 5.8708270080387592e-04 5.6864660233259201e-02 -2.2509899735450745e-01 <_> 0 -1 1935 -5.8760121464729309e-03 2.6625269651412964e-01 -4.4570129364728928e-02 <_> 0 -1 1936 4.3262130930088460e-04 5.8049838989973068e-02 -2.1173800528049469e-01 <_> 0 -1 1937 4.7852578572928905e-03 -4.0710568428039551e-02 2.9509121179580688e-01 <_> 0 -1 1938 4.5480159315047786e-05 -1.8201610445976257e-01 6.0179539024829865e-02 <_> 0 -1 1939 2.5633929762989283e-03 -8.7039761245250702e-02 1.2692840397357941e-01 <_> 0 -1 1940 -4.7383471392095089e-03 2.3961830139160156e-01 -4.9914900213479996e-02 <_> 0 -1 1941 4.4647231698036194e-03 4.0540020912885666e-02 -3.2467570900917053e-01 <_> 0 -1 1942 -6.7061209119856358e-03 -3.2789680361747742e-01 3.2299648970365524e-02 <_> 0 -1 1943 7.1761049330234528e-02 -2.3713670670986176e-02 4.7772058844566345e-01 <_> 0 -1 1944 3.0584860593080521e-02 1.6793910413980484e-02 -7.8061228990554810e-01 <_> 0 -1 1945 3.8672669325023890e-03 -2.4876890704035759e-02 5.1260662078857422e-01 <_> 0 -1 1946 -5.2802208811044693e-02 -5.0759661197662354e-01 2.3873040452599525e-02 <_> 0 -1 1947 -6.5651582553982735e-04 -2.0122329890727997e-01 4.9672801047563553e-02 <_> 0 -1 1948 8.5785267874598503e-03 -4.5007020235061646e-02 2.3518909513950348e-01 <_> 0 -1 1949 -1.2620680499821901e-03 -1.9962050020694733e-01 5.5564209818840027e-02 <_> 0 -1 1950 1.4215289615094662e-02 -4.6983979642391205e-02 2.0781150460243225e-01 <_> 0 -1 1951 1.6393810510635376e-01 1.4973269775509834e-02 -6.5025687217712402e-01 <_> 0 -1 1952 1.4837640523910522e-01 8.1885885447263718e-03 -9.4296187162399292e-01 <_> 0 -1 1953 1.4631190424552187e-05 -1.2383759766817093e-01 8.2489579916000366e-02 <_> 0 -1 1954 -3.3909391611814499e-02 -2.2818760573863983e-01 4.3302498757839203e-02 <_> 0 -1 1955 3.8288589566946030e-03 -3.7276919931173325e-02 2.7613049745559692e-01 <_> 0 -1 1956 8.0947913229465485e-03 2.8445359319448471e-02 -3.9388808608055115e-01 <_> 0 -1 1957 -7.0019601844251156e-04 1.2199380248785019e-01 -9.2714257538318634e-02 <_> 0 -1 1958 3.4412490203976631e-03 -4.8972681164741516e-02 2.0617230236530304e-01 <_> 0 -1 1959 -1.6337490081787109e-01 -6.1850237846374512e-01 1.6467820852994919e-02 <_> 0 -1 1960 6.5640709362924099e-03 1.1007189750671387e-01 -9.2340007424354553e-02 <_> 0 -1 1961 4.4708838686347008e-04 -1.3933309912681580e-01 7.7039696276187897e-02 <_> 0 -1 1962 1.7568700015544891e-02 9.7569692879915237e-03 -8.0032902956008911e-01 <_> 0 -1 1963 -1.9571769516915083e-03 2.8000330924987793e-01 -3.6428239196538925e-02 <_> 0 -1 1964 5.1913037896156311e-04 5.3515341132879257e-02 -1.9425579905509949e-01 <_> 0 -1 1965 9.6273031085729599e-03 3.1317751854658127e-02 -3.1802541017532349e-01 <_> 0 -1 1966 -5.0332810729742050e-02 5.6659060716629028e-01 -1.8494980409741402e-02 <_> 0 -1 1967 -6.4624901860952377e-03 -4.1894671320915222e-01 2.7350850403308868e-02 <_> 0 -1 1968 -5.2857249975204468e-03 1.7756509780883789e-01 -5.8377739042043686e-02 <_> 0 -1 1969 9.9454462528228760e-02 1.6487719491124153e-02 -5.8526170253753662e-01 <_> 0 -1 1970 2.1917840058449656e-04 -1.0714250057935715e-01 9.1884173452854156e-02 <_> 0 -1 1971 -4.3873358663404360e-05 7.8036926686763763e-02 -1.2723919749259949e-01 <_> 0 -1 1972 -6.7227642284706235e-04 -2.5709420442581177e-01 3.8843378424644470e-02 <_> 0 -1 1973 1.1754270235542208e-04 -7.9695962369441986e-02 1.2093970179557800e-01 <_> 0 -1 1974 4.6061190962791443e-01 1.3886069878935814e-02 -6.5241271257400513e-01 <_> 0 -1 1975 1.1115600354969501e-02 1.3871660456061363e-02 -6.0222518444061279e-01 <_> 0 -1 1976 9.0776477009057999e-03 -3.6118660122156143e-02 2.5702419877052307e-01 <_> 0 -1 1977 -4.9597548786550760e-04 1.1017049849033356e-01 -8.9249506592750549e-02 <_> 0 -1 1978 1.5807070303708315e-03 4.8131279647350311e-02 -2.0215910673141479e-01 <_> 0 -1 1979 -6.9012932479381561e-02 -8.1536060571670532e-01 1.0660010389983654e-02 <_> 0 -1 1980 1.9330780196469277e-04 -1.1231829971075058e-01 8.5046432912349701e-02 <_> 0 -1 1981 7.8813207801431417e-04 -5.5200818926095963e-02 1.7654439806938171e-01 <_> 0 -1 1982 9.5367128960788250e-04 5.4411198943853378e-02 -1.8674199283123016e-01 <_> 0 -1 1983 -2.3191540967673063e-03 -2.7544409036636353e-01 3.8513321429491043e-02 <_> 0 -1 1984 9.5087959198281169e-04 -6.8218901753425598e-02 1.6082139313220978e-01 <_> 0 -1 1985 9.5385108143091202e-03 -3.8826879113912582e-02 3.0370831489562988e-01 <_> 0 -1 1986 -1.4489189721643925e-02 -4.6989730000495911e-01 2.3550020530819893e-02 <_> 0 -1 1987 1.0756050236523151e-02 2.0565100014209747e-02 -4.7243130207061768e-01 <_> 0 -1 1988 -2.0074830390512943e-03 -2.7946698665618896e-01 3.6021549254655838e-02 <_> 0 -1 1989 -1.7316909506917000e-03 2.0902790129184723e-01 -4.6300981193780899e-02 <_> 0 -1 1990 1.5234799683094025e-01 1.4934250153601170e-02 -6.0461127758026123e-01 <_> 0 -1 1991 6.3340878114104271e-04 5.0307150930166245e-02 -1.8277199566364288e-01 <_> 0 -1 1992 -8.2793915644288063e-03 3.6463031172752380e-01 -2.6474289596080780e-02 <_> 0 -1 1993 1.3667670078575611e-02 1.2511620298027992e-02 -8.9023828506469727e-01 <_> 0 -1 1994 2.0979309920221567e-03 -8.0247193574905396e-02 1.2989950180053711e-01 <_> 0 -1 1995 -8.9776562526822090e-03 1.7411080002784729e-01 -6.1771109700202942e-02 <_> 0 -1 1996 1.2094390112906694e-03 6.8711720407009125e-02 -1.6561290621757507e-01 <_> 0 -1 1997 6.8200258538126945e-03 5.7795759290456772e-02 -1.8231619894504547e-01 <_> 0 -1 1998 -1.8268059939146042e-03 1.3340330123901367e-01 -7.5343966484069824e-02 <_> 0 -1 1999 7.9908408224582672e-03 -4.5094471424818039e-02 2.4594159424304962e-01 <_> 0 -1 2000 -2.5262041017413139e-03 -2.0763960480690002e-01 5.2334129810333252e-02 <_> 0 -1 2001 -7.4825510382652283e-02 -5.4688757658004761e-01 1.7803389579057693e-02 <_> 0 -1 2002 -3.3099399879574776e-03 3.3455818891525269e-01 -2.8966419398784637e-02 <_> 0 -1 2003 8.2276277244091034e-03 4.1579861193895340e-02 -2.6652270555496216e-01 <_> 0 -1 2004 3.1686299480497837e-03 -4.1817110031843185e-02 2.9769781231880188e-01 <_> 0 -1 2005 1.5170290134847164e-02 4.3392360210418701e-02 -2.4617969989776611e-01 <_> 0 -1 2006 -1.5946379862725735e-03 1.5057189762592316e-01 -7.3017738759517670e-02 <_> 0 -1 2007 -8.5226353257894516e-03 -1.5050080418586731e-01 6.9656036794185638e-02 <_> 0 -1 2008 -1.1418120004236698e-02 1.2974749505519867e-01 -9.5122329890727997e-02 <_> 0 -1 2009 -2.8856399655342102e-01 -2.1124540269374847e-01 4.7410819679498672e-02 <_> 0 -1 2010 -3.9014229550957680e-03 -2.6843780279159546e-01 3.8698658347129822e-02 <_> 0 -1 2011 -3.5567739978432655e-03 2.3385030031204224e-01 -4.5723881572484970e-02 <_> 0 -1 2012 -6.4394129440188408e-03 -6.0463881492614746e-01 1.6156049445271492e-02 <_> 0 -1 2013 -7.4861319735646248e-03 1.6867969930171967e-01 -5.5975880473852158e-02 <_> 0 -1 2014 2.3621210129931569e-04 5.3596749901771545e-02 -2.1872919797897339e-01 <_> 0 -1 2015 2.6099249720573425e-02 -5.3937491029500961e-02 2.2728930413722992e-01 <_> 0 -1 2016 -1.7809759592637420e-03 8.6759522557258606e-02 -1.2009979784488678e-01 <_> 0 -1 2017 -1.1987469770247117e-04 -1.5347549319267273e-01 7.0707783102989197e-02 <_> 0 -1 2018 -6.8248361349105835e-03 -3.7341019511222839e-01 2.6779960840940475e-02 <_> 0 -1 2019 -1.3119089999236166e-04 -1.1640869826078415e-01 8.7211161851882935e-02 <_> 0 -1 2020 -1.8228540429845452e-03 1.5664499998092651e-01 -6.8006090819835663e-02 <_> 0 -1 2021 2.6267999783158302e-03 -3.6987219005823135e-02 2.6393121480941772e-01 <_> 0 -1 2022 -7.0677183568477631e-02 -2.8295999765396118e-01 3.5035520792007446e-02 <_> 0 -1 2023 1.8061319366097450e-02 -2.8041649609804153e-02 3.5313779115676880e-01 <_> 0 -1 2024 9.2649407451972365e-04 4.4600278139114380e-02 -2.2788539528846741e-01 <_> 0 -1 2025 -5.3023721557110548e-04 -2.0866680145263672e-01 6.2718503177165985e-02 <_> 0 -1 2026 3.6058931145817041e-03 -6.7796908318996429e-02 1.4900009334087372e-01 <_> 0 -1 2027 8.5915643721818924e-03 -4.5626759529113770e-02 2.3078480362892151e-01 <_> 0 -1 2028 -8.8329352438449860e-03 -4.1117089986801147e-01 2.8230689465999603e-02 <_> 0 -1 2029 4.0959479520097375e-04 5.3656630218029022e-02 -1.8243549764156342e-01 <_> 0 -1 2030 -2.5011589750647545e-03 1.6313549876213074e-01 -6.0954701155424118e-02 <_> 0 -1 2031 -1.4622169546782970e-02 -4.9988400936126709e-01 1.8572760745882988e-02 <_> 0 -1 2032 -6.3790678977966309e-02 -4.8329600691795349e-01 1.7903389409184456e-02 <_> 0 -1 2033 -1.6671139746904373e-02 -2.6661589741706848e-01 3.4886009991168976e-02 <_> 0 -1 2034 -1.2526069767773151e-02 3.4061339497566223e-01 -2.8094800189137459e-02 <_> 0 -1 2035 4.8325158655643463e-02 -3.3176191151142120e-02 2.9025658965110779e-01 <_> 0 -1 2036 1.3246550224721432e-03 3.7181440740823746e-02 -2.6850658655166626e-01 <_> 0 -1 2037 -2.2221319377422333e-01 -8.9892768859863281e-01 1.0064439848065376e-02 <_> 0 -1 2038 1.2954319827258587e-03 -1.0161759704351425e-01 9.0588621795177460e-02 <_> 0 -1 2039 1.3794669881463051e-02 -7.4244648218154907e-02 1.4314259588718414e-01 <_> 0 -1 2040 8.5643801139667630e-04 5.9753969311714172e-02 -1.8660190701484680e-01 <_> 0 -1 2041 -2.3317540064454079e-02 -6.9259917736053467e-01 1.3667319901287556e-02 <_> 0 -1 2042 1.6281680436804891e-03 -6.1060748994350433e-02 1.5505290031433105e-01 <_> 0 -1 2043 -1.2380329892039299e-02 -1.5146850049495697e-01 6.1767600476741791e-02 <_> 0 -1 2044 1.8393599893897772e-03 -3.7167988717556000e-02 2.4822179973125458e-01 <_> 0 -1 2045 3.5529870074242353e-03 -2.9200790449976921e-02 3.3592289686203003e-01 <_> 0 -1 2046 1.0305979521945119e-03 3.7694081664085388e-02 -2.9085698723793030e-01 <_> 0 -1 2047 2.9916960556874983e-05 -8.8014192879199982e-02 1.0515210032463074e-01 <_> 0 -1 2048 -4.1505339322611690e-04 6.5726242959499359e-02 -1.5021100640296936e-01 <_> 0 -1 2049 -1.4631619706051424e-05 7.8170351684093475e-02 -1.1962439864873886e-01 <_> 0 -1 2050 -4.3779090046882629e-03 2.0752459764480591e-01 -5.2089329808950424e-02 <_> 0 -1 2051 4.7036199248395860e-04 6.3348479568958282e-02 -1.8767729401588440e-01 <_> 0 -1 2052 1.4788640328333713e-05 -9.5828853547573090e-02 1.1213099956512451e-01 <_> 0 -1 2053 3.7048431113362312e-04 -9.8723009228706360e-02 9.8647676408290863e-02 <_> 0 -1 2054 -1.8590339459478855e-03 -2.6873630285263062e-01 3.8352578878402710e-02 <_> 0 -1 2055 -7.0764529518783092e-03 -1.5984000265598297e-01 5.7841330766677856e-02 <_> 0 -1 2056 1.4920010231435299e-02 -5.1178149878978729e-02 1.9242909550666809e-01 <_> 0 -1 2057 -5.0713191740214825e-03 1.3863259553909302e-01 -1.1121229827404022e-01 <_> 0 -1 2058 -1.5005500055849552e-02 4.8583930730819702e-01 -1.8811760470271111e-02 <_> 0 -1 2059 -2.0439480431377888e-03 -3.2754859328269958e-01 2.7816310524940491e-02 <_> 0 -1 2060 -1.3060690253041685e-04 9.8868042230606079e-02 -8.4957577288150787e-02 <_> 0 -1 2061 8.8742617517709732e-03 -2.5235600769519806e-02 3.2389879226684570e-01 <_> 0 -1 2062 7.0397509261965752e-04 5.6327521800994873e-02 -1.7392079532146454e-01 <_> 0 -1 2063 -2.5402469560503960e-02 1.9675390422344208e-01 -4.7362301498651505e-02 <_> 0 -1 2064 -9.3743661418557167e-03 -1.5204219520092010e-01 5.9932630509138107e-02 <_> 178 -1.3418790102005005e+00 <_> 0 -1 2065 4.0453020483255386e-02 -2.3637829720973969e-01 2.8865531086921692e-01 <_> 0 -1 2066 -1.1056049726903439e-02 1.6062900424003601e-01 -2.6259741187095642e-01 <_> 0 -1 2067 -3.9778949576430023e-04 1.1591099947690964e-01 -2.7081018686294556e-01 <_> 0 -1 2068 1.0191530454903841e-03 -2.0969370007514954e-01 1.3642899692058563e-01 <_> 0 -1 2069 3.6101979203522205e-03 -2.1725459396839142e-01 1.2617790699005127e-01 <_> 0 -1 2070 4.4545531272888184e-04 -1.5974539518356323e-01 1.2596489489078522e-01 <_> 0 -1 2071 5.8226222172379494e-03 -1.5484449267387390e-01 9.7783811390399933e-02 <_> 0 -1 2072 -2.1416260860860348e-03 -3.6377671360969543e-01 4.0103349834680557e-02 <_> 0 -1 2073 -2.6691620587371290e-04 8.4470756351947784e-02 -1.7496100068092346e-01 <_> 0 -1 2074 -5.4352330043911934e-03 -3.1830930709838867e-01 4.9786038696765900e-02 <_> 0 -1 2075 -1.5426309546455741e-03 -2.1333709359169006e-01 6.4884513616561890e-02 <_> 0 -1 2076 -2.7932289522141218e-03 2.5483250617980957e-01 -6.5170928835868835e-02 <_> 0 -1 2077 1.3845940120518208e-03 3.9304580539464951e-02 -3.7404829263687134e-01 <_> 0 -1 2078 -3.2193479128181934e-03 2.6290428638458252e-01 -5.6396361440420151e-02 <_> 0 -1 2079 -9.7977351397275925e-03 3.2044389843940735e-01 -4.6382289379835129e-02 <_> 0 -1 2080 -1.7625789623707533e-03 1.5050819516181946e-01 -8.8892437517642975e-02 <_> 0 -1 2081 -3.6096889525651932e-02 -4.3137839436531067e-01 3.1785801053047180e-02 <_> 0 -1 2082 2.0813369192183018e-03 -6.5957918763160706e-02 1.9275289773941040e-01 <_> 0 -1 2083 -6.0533690266311169e-03 -3.1374609470367432e-01 5.1007431000471115e-02 <_> 0 -1 2084 3.7253410555422306e-03 -6.1402589082717896e-02 2.5631371140480042e-01 <_> 0 -1 2085 5.0668260082602501e-03 5.7962730526924133e-02 -2.4340160191059113e-01 <_> 0 -1 2086 2.8038739692419767e-03 -7.0329703390598297e-02 2.1375860273838043e-01 <_> 0 -1 2087 1.5925259795039892e-03 2.6637760922312737e-02 -5.1129138469696045e-01 <_> 0 -1 2088 2.9422679290291853e-05 -2.1710200607776642e-01 6.4985051751136780e-02 <_> 0 -1 2089 -2.2399190129362978e-05 8.1582568585872650e-02 -1.5135610103607178e-01 <_> 0 -1 2090 6.7072827368974686e-04 1.0502190142869949e-01 -1.1787360161542892e-01 <_> 0 -1 2091 -1.5262300148606300e-03 -3.4620371460914612e-01 3.9244089275598526e-02 <_> 0 -1 2092 1.8151829717680812e-03 -7.4669457972049713e-02 1.6847759485244751e-01 <_> 0 -1 2093 5.8078771689906716e-04 -9.7952410578727722e-02 1.4192749559879303e-01 <_> 0 -1 2094 -8.9623313397169113e-03 -1.9601620733737946e-01 6.6268041729927063e-02 <_> 0 -1 2095 1.1146809905767441e-01 1.7000140622258186e-02 -6.4917707443237305e-01 <_> 0 -1 2096 -1.7872039461508393e-04 -1.4053599536418915e-01 8.0108702182769775e-02 <_> 0 -1 2097 -4.6587768010795116e-03 1.9530229270458221e-01 -5.8602340519428253e-02 <_> 0 -1 2098 3.4576000180095434e-03 5.9805799275636673e-02 -2.1990789473056793e-01 <_> 0 -1 2099 -1.9979270291514695e-04 -1.3726149499416351e-01 8.3430230617523193e-02 <_> 0 -1 2100 -4.8079751431941986e-03 5.5041921138763428e-01 -2.0715299993753433e-02 <_> 0 -1 2101 -7.3389292083447799e-06 7.5302027165889740e-02 -1.4486590027809143e-01 <_> 0 -1 2102 -3.5799799952656031e-03 2.6277220249176025e-01 -4.2550459504127502e-02 <_> 0 -1 2103 1.1689850362017751e-03 -1.0984169691801071e-01 1.2971849739551544e-01 <_> 0 -1 2104 3.2639548182487488e-02 3.1038379296660423e-02 -3.9474260807037354e-01 <_> 0 -1 2105 1.1596709955483675e-03 5.2021898329257965e-02 -2.2035829722881317e-01 <_> 0 -1 2106 -1.4262240147218108e-03 1.0745699703693390e-01 -1.0067079961299896e-01 <_> 0 -1 2107 -2.3668329417705536e-01 -7.3174351453781128e-01 1.6999609768390656e-02 <_> 0 -1 2108 1.9279429398011416e-04 -1.3248440623283386e-01 7.8186027705669403e-02 <_> 0 -1 2109 -1.7292149364948273e-02 -9.7199842333793640e-02 1.1069560050964355e-01 <_> 0 -1 2110 -1.2431619688868523e-03 1.7741470038890839e-01 -7.2548337280750275e-02 <_> 0 -1 2111 2.1754560293629766e-05 -9.6952050924301147e-02 1.0899409651756287e-01 <_> 0 -1 2112 3.0975879053585231e-04 6.2249891459941864e-02 -1.7384719848632812e-01 <_> 0 -1 2113 -1.1590570211410522e-02 2.6162809133529663e-01 -4.1994079947471619e-02 <_> 0 -1 2114 1.8150920048356056e-02 2.6353549212217331e-02 -4.4685411453247070e-01 <_> 0 -1 2115 8.0223509576171637e-04 -1.2143869698047638e-01 8.7092787027359009e-02 <_> 0 -1 2116 -1.4258639421314001e-03 1.9236080348491669e-01 -5.2987430244684219e-02 <_> 0 -1 2117 -2.4536260752938688e-04 -1.6683700680732727e-01 6.5604820847511292e-02 <_> 0 -1 2118 2.2050029656384140e-05 -9.3477472662925720e-02 1.0711719840764999e-01 <_> 0 -1 2119 4.7658861149102449e-04 -8.0596633255481720e-02 1.2512689828872681e-01 <_> 0 -1 2120 4.0533850551582873e-04 6.8990617990493774e-02 -1.5740759670734406e-01 <_> 0 -1 2121 -1.6471749171614647e-02 -5.9667861461639404e-01 1.8876109272241592e-02 <_> 0 -1 2122 2.2267159074544907e-03 -4.5803830027580261e-02 2.3071089386940002e-01 <_> 0 -1 2123 4.9383189529180527e-02 1.9837729632854462e-02 -5.9306108951568604e-01 <_> 0 -1 2124 8.6411498486995697e-03 2.8697369620203972e-02 -3.5161119699478149e-01 <_> 0 -1 2125 -4.8241391777992249e-03 2.2474339604377747e-01 -4.8463210463523865e-02 <_> 0 -1 2126 -8.6174849420785904e-03 -5.7088959217071533e-01 1.9183190539479256e-02 <_> 0 -1 2127 -5.7220697635784745e-04 1.1697269976139069e-01 -8.8938057422637939e-02 <_> 0 -1 2128 1.1997730471193790e-03 8.4181122481822968e-02 -1.2565499544143677e-01 <_> 0 -1 2129 2.6049909647554159e-03 5.9500031173229218e-02 -2.0638149976730347e-01 <_> 0 -1 2130 -1.4789920533075929e-03 2.5114980340003967e-01 -4.7535050660371780e-02 <_> 0 -1 2131 -2.5746721029281616e-01 -7.3038768768310547e-01 1.5440680086612701e-02 <_> 0 -1 2132 -1.2104290071874857e-03 1.8646970391273499e-01 -5.5789809674024582e-02 <_> 0 -1 2133 3.4140399657189846e-04 6.7707672715187073e-02 -1.5597160160541534e-01 <_> 0 -1 2134 3.1749058980494738e-03 3.5003460943698883e-02 -2.9529309272766113e-01 <_> 0 -1 2135 4.4338819384574890e-01 1.4550019986927509e-02 -6.1034661531448364e-01 <_> 0 -1 2136 3.9458259940147400e-02 -4.5779328793287277e-02 2.2927519679069519e-01 <_> 0 -1 2137 3.0410829931497574e-03 1.6304129734635353e-02 -5.7491117715835571e-01 <_> 0 -1 2138 -1.4853020012378693e-01 -5.6220901012420654e-01 1.5771050006151199e-02 <_> 0 -1 2139 4.4339009036775678e-05 -9.1284371912479401e-02 1.0920979827642441e-01 <_> 0 -1 2140 2.2139810025691986e-03 -4.7668289393186569e-02 2.2291789948940277e-01 <_> 0 -1 2141 8.7831966578960419e-02 2.6718059554696083e-02 -4.0396329760551453e-01 <_> 0 -1 2142 -2.2798930294811726e-03 -1.6160930693149567e-01 6.6071107983589172e-02 <_> 0 -1 2143 -1.4653969628852792e-05 8.5298359394073486e-02 -1.2724019587039948e-01 <_> 0 -1 2144 1.2313240440562367e-03 -6.5917477011680603e-02 1.6606420278549194e-01 <_> 0 -1 2145 4.5110988616943359e-01 1.3457960449159145e-02 -7.1525502204895020e-01 <_> 0 -1 2146 -2.4518640711903572e-02 -4.3282639980316162e-01 2.0400719717144966e-02 <_> 0 -1 2147 -1.1901959805982187e-04 8.9420333504676819e-02 -1.1834760010242462e-01 <_> 0 -1 2148 -1.3584910193458200e-03 2.4722290039062500e-01 -4.3907400220632553e-02 <_> 0 -1 2149 6.9289728999137878e-03 -5.6832619011402130e-02 1.6665740311145782e-01 <_> 0 -1 2150 -6.9041848182678223e-03 -1.2742209434509277e-01 7.9310603439807892e-02 <_> 0 -1 2151 1.2964820489287376e-03 7.2462439537048340e-02 -1.6863870620727539e-01 <_> 0 -1 2152 2.3060059174895287e-02 -5.0913080573081970e-02 2.1664789319038391e-01 <_> 0 -1 2153 -4.0960568934679031e-02 -5.6479138135910034e-01 1.9609550014138222e-02 <_> 0 -1 2154 7.4867479270324111e-05 -6.9450333714485168e-02 1.4615139365196228e-01 <_> 0 -1 2155 -6.8458272144198418e-03 6.6049978137016296e-02 -2.0840729773044586e-01 <_> 0 -1 2156 1.9395649433135986e-02 1.6168899834156036e-02 -5.6396162509918213e-01 <_> 0 -1 2157 -1.6121419321279973e-04 -1.3194569945335388e-01 7.4094116687774658e-02 <_> 0 -1 2158 6.6511691547930241e-03 -5.5261820554733276e-02 1.9894389808177948e-01 <_> 0 -1 2159 4.5172171667218208e-03 3.2863661646842957e-02 -3.0980890989303589e-01 <_> 0 -1 2160 -4.0247041732072830e-02 -6.8980348110198975e-01 1.2438739649951458e-02 <_> 0 -1 2161 7.2544030444987584e-06 -9.5949873328208923e-02 9.7919799387454987e-02 <_> 0 -1 2162 -1.6025650501251221e-01 4.9472638964653015e-01 -1.8643429502844810e-02 <_> 0 -1 2163 5.0598900998011231e-04 -1.2216579914093018e-01 8.6699098348617554e-02 <_> 0 -1 2164 -1.0506899654865265e-01 -8.5855627059936523e-01 8.2870386540889740e-03 <_> 0 -1 2165 -1.8218380212783813e-01 -5.8477312326431274e-01 1.3160600326955318e-02 <_> 0 -1 2166 1.6435410827398300e-02 1.6296360641717911e-02 -5.5137562751770020e-01 <_> 0 -1 2167 1.9282519817352295e-02 -2.5027479976415634e-02 4.3645161390304565e-01 <_> 0 -1 2168 3.4772949293255806e-03 3.1632781028747559e-02 -2.9246759414672852e-01 <_> 0 -1 2169 2.2620869800448418e-02 -2.3985739797353745e-02 4.3105301260948181e-01 <_> 0 -1 2170 -1.8172320723533630e-01 -1.8037860095500946e-01 5.1903489977121353e-02 <_> 0 -1 2171 -4.3819830752909184e-03 -2.8302851319313049e-01 3.3024039119482040e-02 <_> 0 -1 2172 -1.5246120281517506e-02 2.3519919812679291e-01 -4.1242249310016632e-02 <_> 0 -1 2173 3.9043289422988892e-01 2.8530629351735115e-02 -3.5845771431922913e-01 <_> 0 -1 2174 3.9103450253605843e-03 -5.1523748785257339e-02 1.7829769849777222e-01 <_> 0 -1 2175 -1.0847560130059719e-02 -4.8355281352996826e-01 1.8765790387988091e-02 <_> 0 -1 2176 5.7015339843928814e-03 1.2250830419361591e-02 -7.0457488298416138e-01 <_> 0 -1 2177 -1.1917110532522202e-03 1.8404430150985718e-01 -5.0144620239734650e-02 <_> 0 -1 2178 4.0988530963659286e-04 -9.7399666905403137e-02 1.0874579846858978e-01 <_> 0 -1 2179 4.5295488089323044e-03 4.5356839895248413e-02 -2.1069140732288361e-01 <_> 0 -1 2180 -5.4893731139600277e-03 2.9642790555953979e-01 -3.5870831459760666e-02 <_> 0 -1 2181 1.9906361121684313e-03 3.4332871437072754e-02 -3.1506469845771790e-01 <_> 0 -1 2182 8.3358466625213623e-02 1.9684519618749619e-02 -4.4279980659484863e-01 <_> 0 -1 2183 3.0363420955836773e-03 -3.3693831413984299e-02 2.6669681072235107e-01 <_> 0 -1 2184 5.7799968868494034e-02 8.5875885561108589e-03 -9.8965817689895630e-01 <_> 0 -1 2185 -7.8585641458630562e-03 2.0088459551334381e-01 -4.6583641320466995e-02 <_> 0 -1 2186 1.9253200152888894e-03 4.7922369092702866e-02 -2.2640110552310944e-01 <_> 0 -1 2187 1.0996909812092781e-02 1.6258660703897476e-02 -5.4048168659210205e-01 <_> 0 -1 2188 1.6405170026700944e-04 -1.1542510241270065e-01 7.6001413166522980e-02 <_> 0 -1 2189 5.3780381567776203e-03 1.1179029941558838e-01 -8.4179848432540894e-02 <_> 0 -1 2190 2.2905960213392973e-03 -5.7969480752944946e-02 1.6899429261684418e-01 <_> 0 -1 2191 6.3102580606937408e-03 4.1471399366855621e-02 -2.0478209853172302e-01 <_> 0 -1 2192 -1.4342570304870605e-01 -7.8573477268218994e-01 1.1634309776127338e-02 <_> 0 -1 2193 1.2364640133455396e-03 -5.1800731569528580e-02 1.7734350264072418e-01 <_> 0 -1 2194 -2.0046550780534744e-02 -3.1420910358428955e-01 2.8849070891737938e-02 <_> 0 -1 2195 1.0868109762668610e-01 1.6183530911803246e-02 -5.1956307888031006e-01 <_> 0 -1 2196 5.1173489540815353e-02 -3.2460309565067291e-02 3.1230181455612183e-01 <_> 0 -1 2197 1.3251069933176041e-02 2.3655060678720474e-02 -4.4210249185562134e-01 <_> 0 -1 2198 -2.0110961049795151e-03 1.0359399765729904e-01 -9.3961462378501892e-02 <_> 0 -1 2199 -3.2843051012605429e-03 3.3196929097175598e-01 -2.9921280220150948e-02 <_> 0 -1 2200 8.8341237278655171e-04 5.9891819953918457e-02 -1.6192750632762909e-01 <_> 0 -1 2201 8.4265992045402527e-03 -3.6928750574588776e-02 2.3691199719905853e-01 <_> 0 -1 2202 -1.4503750207950361e-05 7.7373847365379333e-02 -1.3290609419345856e-01 <_> 0 -1 2203 8.0891689285635948e-03 2.8817569836974144e-02 -3.0961230397224426e-01 <_> 0 -1 2204 1.0339939966797829e-02 -2.4850569665431976e-02 3.7060049176216125e-01 <_> 0 -1 2205 -2.2790539078414440e-03 -2.2051370143890381e-01 4.1877530515193939e-02 <_> 0 -1 2206 -1.7716860165819526e-03 1.4205080270767212e-01 -6.5252363681793213e-02 <_> 0 -1 2207 -6.9317207671701908e-03 -3.3556079864501953e-01 2.7605969458818436e-02 <_> 0 -1 2208 -4.2506060563027859e-03 2.3591980338096619e-01 -3.7345319986343384e-02 <_> 0 -1 2209 1.5317599754780531e-03 3.9657011628150940e-02 -2.3438200354576111e-01 <_> 0 -1 2210 1.4941049739718437e-03 -6.0311999171972275e-02 1.4468440413475037e-01 <_> 0 -1 2211 -5.2249869331717491e-03 -4.0660250186920166e-01 2.3257270455360413e-02 <_> 0 -1 2212 6.4759532688185573e-04 6.4828239381313324e-02 -1.2987309694290161e-01 <_> 0 -1 2213 3.2836120226420462e-04 6.1917629092931747e-02 -1.4835810661315918e-01 <_> 0 -1 2214 -3.4691279288381338e-03 1.5662840008735657e-01 -5.7200349867343903e-02 <_> 0 -1 2215 4.5903379213996232e-04 5.2517898380756378e-02 -1.9093179702758789e-01 <_> 0 -1 2216 -2.6641879230737686e-03 1.5235909819602966e-01 -6.8154700100421906e-02 <_> 0 -1 2217 -8.2513149827718735e-03 3.6680310964584351e-01 -2.8480609878897667e-02 <_> 0 -1 2218 7.1076201274991035e-03 1.5445350110530853e-01 -6.7992970347404480e-02 <_> 0 -1 2219 -4.3808001279830933e-01 -2.8871530294418335e-01 3.6639489233493805e-02 <_> 0 -1 2220 6.3719082390889525e-04 -1.5995030105113983e-01 5.9860341250896454e-02 <_> 0 -1 2221 -1.9303169392514974e-04 8.6703971028327942e-02 -1.0924819856882095e-01 <_> 0 -1 2222 3.0723758973181248e-03 4.8543959856033325e-02 -1.7700059711933136e-01 <_> 0 -1 2223 1.8341860268265009e-03 -5.1901239901781082e-02 1.8232129514217377e-01 <_> 0 -1 2224 6.3172310590744019e-02 2.3308899253606796e-02 -4.2870610952377319e-01 <_> 0 -1 2225 2.4458649568259716e-03 -8.6425289511680603e-02 1.1974500119686127e-01 <_> 0 -1 2226 1.1953969951719046e-03 1.1685889959335327e-01 -1.0430490225553513e-01 <_> 0 -1 2227 3.1024610507301986e-04 6.2281988561153412e-02 -1.9196020066738129e-01 <_> 0 -1 2228 -3.1970158219337463e-02 -6.4184898138046265e-01 1.3087569735944271e-02 <_> 0 -1 2229 -1.0163170518353581e-03 -2.5210660696029663e-01 3.4096211194992065e-02 <_> 0 -1 2230 -5.1776540931314230e-04 1.1874090135097504e-01 -8.2813777029514313e-02 <_> 0 -1 2231 -4.0794219821691513e-03 -1.6135309636592865e-01 6.5708972513675690e-02 <_> 0 -1 2232 9.9409874528646469e-03 -3.0160220339894295e-02 3.5104531049728394e-01 <_> 0 -1 2233 1.9788760691881180e-03 -4.4945359230041504e-02 2.3295649886131287e-01 <_> 0 -1 2234 1.0975249856710434e-01 1.6620220616459846e-02 -6.0423362255096436e-01 <_> 0 -1 2235 -9.2024728655815125e-03 -5.6000357866287231e-01 1.4122909866273403e-02 <_> 0 -1 2236 5.8626191457733512e-04 -1.0622119903564453e-01 8.4198087453842163e-02 <_> 0 -1 2237 3.3601750619709492e-03 -2.1583529189229012e-02 4.1820129752159119e-01 <_> 0 -1 2238 -4.8143669962882996e-02 -7.2092157602310181e-01 1.4954459853470325e-02 <_> 0 -1 2239 1.2209859676659107e-02 2.1544290706515312e-02 -3.5482150316238403e-01 <_> 0 -1 2240 -3.9961449801921844e-02 -8.8848268985748291e-01 9.4328429549932480e-03 <_> 0 -1 2241 1.5312479808926582e-03 -6.4070880413055420e-02 1.3569630682468414e-01 <_> 0 -1 2242 8.9791123173199594e-05 5.0932768732309341e-02 -1.8393670022487640e-01 <_> 195 -1.3934370279312134e+00 <_> 0 -1 2243 -3.8741368800401688e-02 2.8778830170631409e-01 -2.3312190175056458e-01 <_> 0 -1 2244 -2.5511500425636768e-03 2.5108599662780762e-01 -2.1116070449352264e-01 <_> 0 -1 2245 -2.7973129181191325e-04 8.9916922152042389e-02 -3.4069269895553589e-01 <_> 0 -1 2246 1.1981100542470813e-03 -2.2542229294776917e-01 1.3602660596370697e-01 <_> 0 -1 2247 -5.6686070747673512e-03 8.2847259938716888e-02 -2.8080710768699646e-01 <_> 0 -1 2248 -2.7642669738270342e-04 1.0485479980707169e-01 -1.8848650157451630e-01 <_> 0 -1 2249 2.0516710355877876e-03 3.4714280627667904e-03 -4.8608478903770447e-01 <_> 0 -1 2250 -1.4435249795496929e-05 8.4275819361209869e-02 -1.9356100261211395e-01 <_> 0 -1 2251 7.4418791336938739e-04 -1.2526750564575195e-01 1.1769519746303558e-01 <_> 0 -1 2252 -4.9923241138458252e-02 -4.0080299973487854e-01 2.7910390868782997e-02 <_> 0 -1 2253 9.2694535851478577e-03 -9.1088913381099701e-02 1.7550450563430786e-01 <_> 0 -1 2254 -7.4646030552685261e-03 1.6380469501018524e-01 -1.0385499894618988e-01 <_> 0 -1 2255 -8.1985909491777420e-03 -1.9168980419635773e-01 8.5415020585060120e-02 <_> 0 -1 2256 -8.1690691877156496e-04 -3.0793309211730957e-01 4.0833581238985062e-02 <_> 0 -1 2257 2.8902110643684864e-03 -5.0324201583862305e-02 2.9259419441223145e-01 <_> 0 -1 2258 8.0008199438452721e-03 -4.6863578259944916e-02 3.1964871287345886e-01 <_> 0 -1 2259 -5.8349180035293102e-03 -1.5489180386066437e-01 8.8137261569499969e-02 <_> 0 -1 2260 -1.2492289533838630e-03 -3.6294621229171753e-01 3.6120988428592682e-02 <_> 0 -1 2261 2.2950479760766029e-02 -4.7119770199060440e-02 2.8532719612121582e-01 <_> 0 -1 2262 -6.9193239323794842e-03 1.7873649299144745e-01 -7.3547556996345520e-02 <_> 0 -1 2263 -1.9392240210436285e-04 1.3911420106887817e-01 -9.2489100992679596e-02 <_> 0 -1 2264 1.9811228848993778e-03 4.3448008596897125e-02 -3.0942690372467041e-01 <_> 0 -1 2265 1.6018489375710487e-02 -3.9718918502330780e-02 3.4248939156532288e-01 <_> 0 -1 2266 9.3541406095027924e-03 3.2482650130987167e-02 -4.4502100348472595e-01 <_> 0 -1 2267 -1.3822780456393957e-03 2.1627070009708405e-01 -5.6410200893878937e-02 <_> 0 -1 2268 2.5065820664167404e-02 2.3123230785131454e-02 -5.3954011201858521e-01 <_> 0 -1 2269 5.9798579663038254e-02 2.8747579082846642e-02 -3.6572590470314026e-01 <_> 0 -1 2270 -2.7519159484654665e-03 1.7491349577903748e-01 -6.3990972936153412e-02 <_> 0 -1 2271 -3.2093640416860580e-02 -2.5695550441741943e-01 4.0945108979940414e-02 <_> 0 -1 2272 -2.3349749390035868e-03 1.5433880686759949e-01 -7.2836689651012421e-02 <_> 0 -1 2273 2.6897678617388010e-04 7.2721242904663086e-02 -1.5513220429420471e-01 <_> 0 -1 2274 -8.9813407976180315e-04 -2.0699620246887207e-01 5.3738221526145935e-02 <_> 0 -1 2275 3.8521869573742151e-03 3.6562010645866394e-02 -2.8075969219207764e-01 <_> 0 -1 2276 1.3440090231597424e-02 -3.6046478897333145e-02 3.1876960396766663e-01 <_> 0 -1 2277 7.7129118144512177e-03 9.5960013568401337e-02 -1.1787489801645279e-01 <_> 0 -1 2278 2.1991880203131586e-04 -1.3249869644641876e-01 8.4939576685428619e-02 <_> 0 -1 2279 -7.4781170114874840e-03 -2.3073039948940277e-01 5.0310928374528885e-02 <_> 0 -1 2280 8.9175272732973099e-03 -5.3924769163131714e-02 2.0320640504360199e-01 <_> 0 -1 2281 2.2819850128144026e-03 3.5264909267425537e-02 -3.0841338634490967e-01 <_> 0 -1 2282 2.6413009036332369e-03 -3.2939229160547256e-02 3.1721460819244385e-01 <_> 0 -1 2283 -1.4605689793825150e-03 -1.7154279351234436e-01 6.3374556601047516e-02 <_> 0 -1 2284 -3.1993410084396601e-03 3.4501680731773376e-01 -3.0717490240931511e-02 <_> 0 -1 2285 2.3919229861348867e-03 2.0887520164251328e-02 -4.8564168810844421e-01 <_> 0 -1 2286 -3.5997610539197922e-03 2.8900530934333801e-01 -3.5605821758508682e-02 <_> 0 -1 2287 -1.4754279618500732e-05 7.2744622826576233e-02 -1.4580619335174561e-01 <_> 0 -1 2288 1.5968360006809235e-02 1.2548550032079220e-02 -6.7445451021194458e-01 <_> 0 -1 2289 -4.0752082131803036e-03 3.1447470188140869e-01 -3.2155450433492661e-02 <_> 0 -1 2290 7.5432872108649462e-05 -9.9738657474517822e-02 8.9665092527866364e-02 <_> 0 -1 2291 -3.9632249623537064e-02 2.7617400884628296e-01 -3.4800730645656586e-02 <_> 0 -1 2292 2.9354610887821764e-05 -1.4023000001907349e-01 8.8519610464572906e-02 <_> 0 -1 2293 3.1818989664316177e-02 2.9925649985671043e-02 -3.3958339691162109e-01 <_> 0 -1 2294 1.2690100073814392e-01 1.1263390071690083e-02 -8.9932328462600708e-01 <_> 0 -1 2295 -3.5952320322394371e-03 1.7751759290695190e-01 -5.8113489300012589e-02 <_> 0 -1 2296 -1.9231259822845459e-02 -3.3173981308937073e-01 4.0587101131677628e-02 <_> 0 -1 2297 2.2836721036583185e-03 3.7206009030342102e-02 -2.8370648622512817e-01 <_> 0 -1 2298 -1.6381660243496299e-03 1.4629170298576355e-01 -6.7781522870063782e-02 <_> 0 -1 2299 2.1173330023884773e-03 2.0773969590663910e-02 -4.3928679823875427e-01 <_> 0 -1 2300 6.4710620790719986e-03 -7.2133928537368774e-02 1.3981610536575317e-01 <_> 0 -1 2301 -3.1431620009243488e-03 -1.9903449714183807e-01 4.7544669359922409e-02 <_> 0 -1 2302 1.6056640306487679e-03 -3.9751898497343063e-02 2.5931739807128906e-01 <_> 0 -1 2303 4.8740832135081291e-03 3.4082379192113876e-02 -2.7611988782882690e-01 <_> 0 -1 2304 -9.6354109700769186e-05 -1.0709609836339951e-01 8.3503186702728271e-02 <_> 0 -1 2305 7.7706458978354931e-03 -3.0095349997282028e-02 2.9493871331214905e-01 <_> 0 -1 2306 1.3028859393671155e-04 -1.1232890188694000e-01 9.4578683376312256e-02 <_> 0 -1 2307 1.2239719508215785e-03 5.1999621093273163e-02 -1.8106269836425781e-01 <_> 0 -1 2308 -8.7549741147086024e-04 1.4276699721813202e-01 -7.5098946690559387e-02 <_> 0 -1 2309 -8.8081993162631989e-02 -7.0848828554153442e-01 1.4353640377521515e-02 <_> 0 -1 2310 -3.2854160666465759e-01 -4.9687421321868896e-01 1.6604600474238396e-02 <_> 0 -1 2311 9.8696127533912659e-03 1.9364370033144951e-02 -4.9978300929069519e-01 <_> 0 -1 2312 -2.7273639570921659e-03 2.9612520337104797e-01 -3.2831400632858276e-02 <_> 0 -1 2313 9.9100142717361450e-02 1.9799079746007919e-02 -4.7344958782196045e-01 <_> 0 -1 2314 -6.3501899130642414e-03 -5.1504719257354736e-01 1.6986010596156120e-02 <_> 0 -1 2315 2.9596920285257511e-05 -1.0923019796609879e-01 8.9656107127666473e-02 <_> 0 -1 2316 2.1247670054435730e-02 -4.1462190449237823e-02 2.2684270143508911e-01 <_> 0 -1 2317 -7.2977989912033081e-02 -6.3227838277816772e-01 1.6678869724273682e-02 <_> 0 -1 2318 1.6230919957160950e-01 -2.5661909952759743e-02 3.7533140182495117e-01 <_> 0 -1 2319 -1.4590819773729891e-05 8.5613600909709930e-02 -1.1900989711284637e-01 <_> 0 -1 2320 2.7719149366021156e-03 -5.4649248719215393e-02 2.0311379432678223e-01 <_> 0 -1 2321 -8.7484354153275490e-03 -7.3674517869949341e-01 1.5571890398859978e-02 <_> 0 -1 2322 1.3679199852049351e-02 7.8902930021286011e-02 -1.1590500175952911e-01 <_> 0 -1 2323 -1.1001150123775005e-02 3.1690821051597595e-01 -3.2384991645812988e-02 <_> 0 -1 2324 3.2964799902401865e-04 5.0016529858112335e-02 -2.0451450347900391e-01 <_> 0 -1 2325 2.7753270696848631e-03 -6.7407429218292236e-02 1.5935909748077393e-01 <_> 0 -1 2326 -2.8740249108523130e-03 2.2455960512161255e-01 -5.1031488925218582e-02 <_> 0 -1 2327 8.1631669308990240e-04 6.9849550724029541e-02 -1.4791619777679443e-01 <_> 0 -1 2328 3.7573580630123615e-03 3.1594600528478622e-02 -3.1387978792190552e-01 <_> 0 -1 2329 -3.4902389161288738e-03 1.1638429760932922e-01 -8.5947930812835693e-02 <_> 0 -1 2330 -2.9415320605039597e-02 6.8403428792953491e-01 -1.6140609979629517e-02 <_> 0 -1 2331 -8.8095385581254959e-03 -2.0775319635868073e-01 4.9950890243053436e-02 <_> 0 -1 2332 -1.5459939837455750e-02 -4.8748460412025452e-01 2.0065559074282646e-02 <_> 0 -1 2333 -3.6481369286775589e-02 -5.2395141124725342e-01 1.5850989148020744e-02 <_> 0 -1 2334 -8.8937362306751311e-05 -1.3299320638179779e-01 6.6926807165145874e-02 <_> 0 -1 2335 1.4536709932144731e-04 8.7170369923114777e-02 -1.0435820370912552e-01 <_> 0 -1 2336 1.5216879546642303e-01 1.6140580177307129e-02 -6.4970171451568604e-01 <_> 0 -1 2337 -4.2344830580987036e-04 1.8045839667320251e-01 -5.2974540740251541e-02 <_> 0 -1 2338 1.0672640055418015e-03 2.0548380911350250e-02 -4.8242041468620300e-01 <_> 0 -1 2339 1.5491680242121220e-02 -5.1540851593017578e-02 1.8363960087299347e-01 <_> 0 -1 2340 6.1393307987600565e-04 2.9983729124069214e-02 -3.1031700968742371e-01 <_> 0 -1 2341 -1.4619939975091256e-05 1.0368499904870987e-01 -9.1634131968021393e-02 <_> 0 -1 2342 6.9900648668408394e-03 1.4683909714221954e-02 -5.9485381841659546e-01 <_> 0 -1 2343 -5.3000110201537609e-03 -1.2457770109176636e-01 7.0542782545089722e-02 <_> 0 -1 2344 5.0289987120777369e-04 -7.7135689556598663e-02 1.2228710204362869e-01 <_> 0 -1 2345 1.1190979741513729e-02 5.0308059900999069e-02 -1.8091809749603271e-01 <_> 0 -1 2346 1.7019819468259811e-02 -3.8816768676042557e-02 3.0851981043815613e-01 <_> 0 -1 2347 -5.8241572696715593e-04 1.2537799775600433e-01 -7.6115481555461884e-02 <_> 0 -1 2348 2.0036669448018074e-02 4.9899481236934662e-02 -1.8082989752292633e-01 <_> 0 -1 2349 -5.4328818805515766e-03 2.3409770429134369e-01 -4.2385410517454147e-02 <_> 0 -1 2350 -2.9535360226873308e-05 5.7630240917205811e-02 -1.5753529965877533e-01 <_> 0 -1 2351 -1.0352370142936707e-01 7.1587741374969482e-01 -1.2989929877221584e-02 <_> 0 -1 2352 -1.2122269719839096e-02 -1.4788970351219177e-01 6.6566437482833862e-02 <_> 0 -1 2353 3.0254870653152466e-03 -5.4378628730773926e-02 1.7140829563140869e-01 <_> 0 -1 2354 -5.8111078105866909e-03 2.4422149360179901e-01 -5.7652641087770462e-02 <_> 0 -1 2355 8.2830740138888359e-03 2.2720400243997574e-02 -4.2961999773979187e-01 <_> 0 -1 2356 1.2375120073556900e-02 2.2810289636254311e-02 -3.7505629658699036e-01 <_> 0 -1 2357 1.9211210310459137e-02 1.1791059747338295e-02 -6.5529459714889526e-01 <_> 0 -1 2358 3.1843129545450211e-04 6.4130060374736786e-02 -1.3995569944381714e-01 <_> 0 -1 2359 8.4224628517404199e-04 -5.4134279489517212e-02 1.7525580525398254e-01 <_> 0 -1 2360 -1.6085049510002136e-01 -9.4571417570114136e-01 7.8549478203058243e-03 <_> 0 -1 2361 -1.6774870455265045e-03 -1.9166129827499390e-01 4.5787028968334198e-02 <_> 0 -1 2362 -1.8989649834111333e-03 1.5783150494098663e-01 -6.5896913409233093e-02 <_> 0 -1 2363 4.0205760160461068e-04 -7.3599092662334442e-02 1.3118380308151245e-01 <_> 0 -1 2364 2.4369959719479084e-03 2.3522870615124702e-02 -4.2745968699455261e-01 <_> 0 -1 2365 -2.8488409952842630e-05 6.3280619680881500e-02 -1.3599009811878204e-01 <_> 0 -1 2366 1.9538639113306999e-02 -2.1458270028233528e-02 4.7534748911857605e-01 <_> 0 -1 2367 -1.6530340071767569e-03 -1.5323260426521301e-01 5.9455979615449905e-02 <_> 0 -1 2368 -2.1052840165793896e-03 1.1017639935016632e-01 -8.3118103444576263e-02 <_> 0 -1 2369 -4.5266482047736645e-03 2.5815379619598389e-01 -3.5743940621614456e-02 <_> 0 -1 2370 -1.6275560483336449e-04 -1.3548290729522705e-01 6.9295726716518402e-02 <_> 0 -1 2371 -3.3048219047486782e-03 1.7806029319763184e-01 -5.2156440913677216e-02 <_> 0 -1 2372 -5.1905210129916668e-03 -3.4897321462631226e-01 2.5990990921854973e-02 <_> 0 -1 2373 1.1190810054540634e-01 2.9962029308080673e-02 -2.9597550630569458e-01 <_> 0 -1 2374 -5.2873138338327408e-03 1.8564499914646149e-01 -5.0216298550367355e-02 <_> 0 -1 2375 2.6098049711436033e-03 -7.3559276759624481e-02 1.4365130662918091e-01 <_> 0 -1 2376 -2.8581928927451372e-03 -1.2605139613151550e-01 7.5433082878589630e-02 <_> 0 -1 2377 -2.9555680157500319e-05 1.0733310133218765e-01 -1.0386200249195099e-01 <_> 0 -1 2378 5.9023561334470287e-05 -1.3029119372367859e-01 7.6478391885757446e-02 <_> 0 -1 2379 -4.3344721198081970e-02 -6.9299221038818359e-01 1.4173300005495548e-02 <_> 0 -1 2380 -4.6946998685598373e-02 -5.5803751945495605e-01 1.2422920204699039e-02 <_> 0 -1 2381 -1.5189060010015965e-02 3.7049770355224609e-01 -2.5564119219779968e-02 <_> 0 -1 2382 1.6361879184842110e-02 2.7049979194998741e-02 -3.4278920292854309e-01 <_> 0 -1 2383 4.0752839297056198e-02 9.3995258212089539e-03 -8.8683712482452393e-01 <_> 0 -1 2384 -1.0879869572818279e-02 5.3260582685470581e-01 -1.9450860098004341e-02 <_> 0 -1 2385 -7.7538257755804807e-05 -1.1696249991655350e-01 7.7288232743740082e-02 <_> 0 -1 2386 -4.0953079587779939e-04 1.6214360296726227e-01 -5.3711488842964172e-02 <_> 0 -1 2387 -1.8464239314198494e-02 -5.0844788551330566e-01 1.9838189706206322e-02 <_> 0 -1 2388 -5.6788129732012749e-03 3.0203920602798462e-01 -3.0203990638256073e-02 <_> 0 -1 2389 3.8324110209941864e-04 -1.6841089725494385e-01 5.4902028292417526e-02 <_> 0 -1 2390 6.4761550165712833e-03 9.5140263438224792e-02 -1.0746160149574280e-01 <_> 0 -1 2391 -2.4377859663218260e-03 -1.5647719800472260e-01 6.3407607376575470e-02 <_> 0 -1 2392 5.4156291298568249e-04 -6.5962299704551697e-02 1.8441629409790039e-01 <_> 0 -1 2393 2.7917029336094856e-02 -2.7590230107307434e-02 3.5032740235328674e-01 <_> 0 -1 2394 4.6622849185951054e-04 4.9628820270299911e-02 -2.2624179720878601e-01 <_> 0 -1 2395 -3.7316799163818359e-02 -4.2978170514106750e-01 2.1337680518627167e-02 <_> 0 -1 2396 -2.6047111023217440e-03 3.6650991439819336e-01 -2.5405049324035645e-02 <_> 0 -1 2397 5.1927138119935989e-03 2.6877930387854576e-02 -3.3478578925132751e-01 <_> 0 -1 2398 3.0462879221886396e-03 -3.0848290771245956e-02 2.9788359999656677e-01 <_> 0 -1 2399 -4.1325599886476994e-04 7.2986789047718048e-02 -1.2147530168294907e-01 <_> 0 -1 2400 -1.1456120014190674e-01 3.1955468654632568e-01 -3.3379800617694855e-02 <_> 0 -1 2401 -1.3044059742242098e-03 -2.0625290274620056e-01 5.4634369909763336e-02 <_> 0 -1 2402 4.5045089791528881e-05 -1.1376550048589706e-01 7.8123383224010468e-02 <_> 0 -1 2403 1.8890319624915719e-03 -6.5578728914260864e-02 1.7001299560070038e-01 <_> 0 -1 2404 -5.4107961477711797e-04 -1.8184140324592590e-01 5.1611810922622681e-02 <_> 0 -1 2405 4.4150161556899548e-03 -3.6324780434370041e-02 2.4938449263572693e-01 <_> 0 -1 2406 -2.1878050640225410e-02 -1.7643679678440094e-01 5.4811108857393265e-02 <_> 0 -1 2407 -2.0328219980001450e-03 9.4266183674335480e-02 -9.7129411995410919e-02 <_> 0 -1 2408 2.6754371356219053e-04 5.7487931102514267e-02 -1.5442019701004028e-01 <_> 0 -1 2409 1.4061420224606991e-03 -5.0268959254026413e-02 1.8814170360565186e-01 <_> 0 -1 2410 2.0725419744849205e-04 7.7659189701080322e-02 -1.2538130581378937e-01 <_> 0 -1 2411 1.8001600401476026e-03 -4.2675640434026718e-02 2.2430649399757385e-01 <_> 0 -1 2412 -4.6744230203330517e-03 -3.3480471372604370e-01 2.9364420101046562e-02 <_> 0 -1 2413 7.2110369801521301e-03 -5.2441328763961792e-02 1.8891569972038269e-01 <_> 0 -1 2414 2.3627521004527807e-03 3.4400060772895813e-02 -2.7200448513031006e-01 <_> 0 -1 2415 -1.3181479880586267e-03 1.7767719924449921e-01 -5.6363631039857864e-02 <_> 0 -1 2416 -1.7586319881957024e-04 9.1534242033958435e-02 -1.0412310063838959e-01 <_> 0 -1 2417 -2.5801590527407825e-04 -1.1226779967546463e-01 8.1381812691688538e-02 <_> 0 -1 2418 9.6790950919967145e-05 -1.1881929636001587e-01 7.1883186697959900e-02 <_> 0 -1 2419 8.2001117989420891e-03 -4.0254529565572739e-02 2.2790899872779846e-01 <_> 0 -1 2420 -6.7277951166033745e-04 -7.0979103446006775e-02 1.2775769829750061e-01 <_> 0 -1 2421 3.7424470065161586e-04 6.7096449434757233e-02 -1.3645760715007782e-01 <_> 0 -1 2422 2.5741120334714651e-03 -5.4319828748703003e-02 1.6720260679721832e-01 <_> 0 -1 2423 4.3884690967388451e-04 8.2114033401012421e-02 -1.1024679988622665e-01 <_> 0 -1 2424 -4.8180628567934036e-02 -7.2217732667922974e-01 1.2223210185766220e-02 <_> 0 -1 2425 9.9836904555559158e-03 1.2195640243589878e-02 -6.7448061704635620e-01 <_> 0 -1 2426 -1.2344559654593468e-03 1.7145380377769470e-01 -5.5381339043378830e-02 <_> 0 -1 2427 -2.7302911039441824e-03 -1.3044339418411255e-01 7.4266709387302399e-02 <_> 0 -1 2428 5.5562541820108891e-04 -1.0187319666147232e-01 1.0454159975051880e-01 <_> 0 -1 2429 1.5140359755605459e-03 8.2843840122222900e-02 -1.1898560076951981e-01 <_> 0 -1 2430 -7.2555973019916564e-05 -1.2512299418449402e-01 7.1132406592369080e-02 <_> 0 -1 2431 -2.4981278693303466e-04 -1.3125610351562500e-01 6.8963102996349335e-02 <_> 0 -1 2432 -6.0206428170204163e-03 2.1284450590610504e-01 -4.7603111714124680e-02 <_> 0 -1 2433 -7.2469102451577783e-04 1.0499659925699234e-01 -8.5549630224704742e-02 <_> 0 -1 2434 6.3740357290953398e-04 5.4655481129884720e-02 -1.7353290319442749e-01 <_> 0 -1 2435 1.0901190340518951e-02 -5.2832279354333878e-02 1.8752649426460266e-01 <_> 0 -1 2436 7.0734010078012943e-03 6.2958806753158569e-02 -1.6468439996242523e-01 <_> 0 -1 2437 1.3333789538592100e-03 -1.2590870261192322e-01 9.4716809689998627e-02 <_> 171 -1.2739679813385010e+00 <_> 0 -1 2438 6.2053989619016647e-02 -2.5427028536796570e-01 2.3591099679470062e-01 <_> 0 -1 2439 5.9534627944231033e-03 -2.2544360160827637e-01 1.7751939594745636e-01 <_> 0 -1 2440 7.2477371431887150e-03 -1.1398050189018250e-01 2.7556711435317993e-01 <_> 0 -1 2441 -2.2824530024081469e-03 8.6277678608894348e-02 -3.1412398815155029e-01 <_> 0 -1 2442 1.1776019819080830e-02 -6.2360338866710663e-02 3.4443479776382446e-01 <_> 0 -1 2443 4.3855342082679272e-03 1.8105769529938698e-02 -5.0128728151321411e-01 <_> 0 -1 2444 1.5859069302678108e-02 -7.8765146434307098e-02 2.6402598619461060e-01 <_> 0 -1 2445 3.0654110014438629e-03 3.3250238746404648e-02 -4.3427819013595581e-01 <_> 0 -1 2446 2.5912460405379534e-03 4.0578570216894150e-02 -4.9658200144767761e-01 <_> 0 -1 2447 3.0834769131615758e-04 -1.4615769684314728e-01 1.2339019775390625e-01 <_> 0 -1 2448 -2.4314899928867817e-03 7.2739332914352417e-02 -1.9999310374259949e-01 <_> 0 -1 2449 -1.8934230320155621e-03 -2.3373599350452423e-01 5.6464370340108871e-02 <_> 0 -1 2450 4.4724289327859879e-03 4.7042880207300186e-02 -3.1258741021156311e-01 <_> 0 -1 2451 1.5810050535947084e-04 -1.3098309934139252e-01 1.0137090086936951e-01 <_> 0 -1 2452 1.8755989149212837e-02 -3.8183789700269699e-02 3.7149110436439514e-01 <_> 0 -1 2453 -7.4876967119053006e-04 1.9981959462165833e-01 -6.0278389602899551e-02 <_> 0 -1 2454 -9.3861011555418372e-04 8.7467707693576813e-02 -1.6001270711421967e-01 <_> 0 -1 2455 -1.3442989438772202e-03 -3.3072051405906677e-01 3.6564111709594727e-02 <_> 0 -1 2456 -1.1384190293028951e-03 -2.0630060136318207e-01 5.6614480912685394e-02 <_> 0 -1 2457 2.5966269895434380e-03 -6.2676019966602325e-02 1.9195850193500519e-01 <_> 0 -1 2458 1.2499650474637747e-03 5.7390280067920685e-02 -1.9605259597301483e-01 <_> 0 -1 2459 1.1832700110971928e-03 -8.5788756608963013e-02 1.3682979345321655e-01 <_> 0 -1 2460 -5.1836138591170311e-03 3.1635698676109314e-01 -4.6736460179090500e-02 <_> 0 -1 2461 -1.3185790181159973e-01 -6.2279629707336426e-01 1.8798090517520905e-02 <_> 0 -1 2462 1.8653980223461986e-03 3.8837268948554993e-02 -3.0104321241378784e-01 <_> 0 -1 2463 7.3482480365782976e-04 -7.6612047851085663e-02 1.5002079308032990e-01 <_> 0 -1 2464 -1.5738410002086312e-04 -1.6588360071182251e-01 7.0020452141761780e-02 <_> 0 -1 2465 5.1779212662950158e-04 7.4801079928874969e-02 -1.6358199715614319e-01 <_> 0 -1 2466 7.5904270634055138e-03 -5.1050990819931030e-02 2.4487720429897308e-01 <_> 0 -1 2467 -1.1010250076651573e-02 -5.8380401134490967e-01 2.0622009411454201e-02 <_> 0 -1 2468 1.1621849983930588e-01 2.5175059214234352e-02 -4.1262671351432800e-01 <_> 0 -1 2469 -7.4468040838837624e-04 1.2729789316654205e-01 -8.9675500988960266e-02 <_> 0 -1 2470 1.1765309609472752e-02 2.0906679332256317e-02 -5.3172761201858521e-01 <_> 0 -1 2471 -4.4441698119044304e-03 1.4282639324665070e-01 -7.8762412071228027e-02 <_> 0 -1 2472 -4.3369788909330964e-04 -2.2131459414958954e-01 5.4554950445890427e-02 <_> 0 -1 2473 -1.9204010022804141e-03 -2.5610721111297607e-01 4.0600918233394623e-02 <_> 0 -1 2474 -2.9081690590828657e-03 2.0206320285797119e-01 -5.6222829967737198e-02 <_> 0 -1 2475 -1.4549949810316321e-05 9.0000502765178680e-02 -1.1770520359277725e-01 <_> 0 -1 2476 -5.3217669483274221e-04 -1.5299430489540100e-01 6.8925492465496063e-02 <_> 0 -1 2477 -1.4590179547667503e-02 2.1776519715785980e-01 -5.1850430667400360e-02 <_> 0 -1 2478 -4.0213059401139617e-04 9.4017893075942993e-02 -1.1027640104293823e-01 <_> 0 -1 2479 -2.3089889436960220e-03 2.4792349338531494e-01 -5.7857040315866470e-02 <_> 0 -1 2480 3.1196139752864838e-04 -1.4021940529346466e-01 7.7247492969036102e-02 <_> 0 -1 2481 -9.1317007318139076e-03 4.0242809057235718e-01 -2.8953509405255318e-02 <_> 0 -1 2482 4.2655199649743736e-04 5.3114388138055801e-02 -2.1355339884757996e-01 <_> 0 -1 2483 3.9956220425665379e-03 4.4066920876502991e-02 -2.2994419932365417e-01 <_> 0 -1 2484 -1.4012040337547660e-03 2.7106899023056030e-01 -4.5171830803155899e-02 <_> 0 -1 2485 3.6064770072698593e-02 3.3628080040216446e-02 -3.2830131053924561e-01 <_> 0 -1 2486 -1.3408949598670006e-04 -1.3888040184974670e-01 8.0078050494194031e-02 <_> 0 -1 2487 -6.9480319507420063e-03 -3.9315450191497803e-01 2.7302930131554604e-02 <_> 0 -1 2488 -1.4855440240353346e-03 1.9761669635772705e-01 -5.1562070846557617e-02 <_> 0 -1 2489 -1.3757539913058281e-02 -5.5620980262756348e-01 1.8301570788025856e-02 <_> 0 -1 2490 8.4021147340536118e-03 1.3690480031073093e-02 -6.3171321153640747e-01 <_> 0 -1 2491 -1.7845979891717434e-04 -1.4535990357398987e-01 6.3921131193637848e-02 <_> 0 -1 2492 -1.1326850391924381e-02 6.5870612859725952e-01 -1.6460629180073738e-02 <_> 0 -1 2493 1.5268150018528104e-03 -6.0389541089534760e-02 1.5454010665416718e-01 <_> 0 -1 2494 -6.0069989413022995e-03 2.5859731435775757e-01 -4.9466971307992935e-02 <_> 0 -1 2495 -7.4241221882402897e-03 -3.8806110620498657e-01 2.9393190518021584e-02 <_> 0 -1 2496 -3.9992430247366428e-03 -1.3788199424743652e-01 7.7991880476474762e-02 <_> 0 -1 2497 1.0202969860984012e-04 7.2710737586021423e-02 -1.7032580077648163e-01 <_> 0 -1 2498 4.0135599556379020e-04 -9.2788018286228180e-02 1.2305440008640289e-01 <_> 0 -1 2499 -9.7611807286739349e-03 -3.6630520224571228e-01 2.9748899862170219e-02 <_> 0 -1 2500 -3.0745539069175720e-01 -7.8651821613311768e-01 1.3058690354228020e-02 <_> 0 -1 2501 -6.0231718234717846e-03 -5.0900238752365112e-01 1.8171619623899460e-02 <_> 0 -1 2502 -2.3784159566275775e-04 -9.9822521209716797e-02 1.0530869662761688e-01 <_> 0 -1 2503 1.3516229810193181e-03 -6.6444016993045807e-02 1.5425109863281250e-01 <_> 0 -1 2504 -1.6924949595704675e-03 -4.4133850932121277e-01 2.5100700557231903e-02 <_> 0 -1 2505 1.0610929457470775e-03 -6.0577899217605591e-02 1.7217910289764404e-01 <_> 0 -1 2506 5.6644581491127610e-04 -7.8687779605388641e-02 1.6784669458866119e-01 <_> 0 -1 2507 -1.3955390080809593e-02 -5.7841098308563232e-01 1.9087139517068863e-02 <_> 0 -1 2508 -1.8862909637391567e-03 6.2118150293827057e-02 -1.6523399949073792e-01 <_> 0 -1 2509 1.6784170642495155e-02 -3.0380919575691223e-02 3.6105319857597351e-01 <_> 0 -1 2510 -1.4158519661577884e-05 7.2182632982730865e-02 -1.4407490193843842e-01 <_> 0 -1 2511 7.3750452138483524e-03 2.9791580513119698e-02 -2.9277870059013367e-01 <_> 0 -1 2512 8.0517530441284180e-03 -4.4681299477815628e-02 2.1760399639606476e-01 <_> 0 -1 2513 -7.9519696533679962e-02 -6.5208691358566284e-01 1.4618909917771816e-02 <_> 0 -1 2514 1.2065700255334377e-02 2.9202880337834358e-02 -2.9454120993614197e-01 <_> 0 -1 2515 -1.0122699663043022e-02 2.7746239304542542e-01 -4.3713569641113281e-02 <_> 0 -1 2516 -1.8515810370445251e-01 -4.6136859059333801e-01 2.4093240499496460e-02 <_> 0 -1 2517 -8.0726131796836853e-02 -4.4673430919647217e-01 2.0845459774136543e-02 <_> 0 -1 2518 1.5173270367085934e-03 -5.1575969904661179e-02 1.8063379824161530e-01 <_> 0 -1 2519 -1.1184819974005222e-02 -3.5373958945274353e-01 2.7059540152549744e-02 <_> 0 -1 2520 -3.5008399281650782e-03 2.0548710227012634e-01 -4.6032059937715530e-02 <_> 0 -1 2521 1.4720410108566284e-03 -6.3871711492538452e-02 1.8168300390243530e-01 <_> 0 -1 2522 -4.5021830010227859e-04 -1.6353920102119446e-01 5.9327740222215652e-02 <_> 0 -1 2523 6.1653478769585490e-04 6.9089323282241821e-02 -1.9156040251255035e-01 <_> 0 -1 2524 1.4797239564359188e-03 -5.2241999655961990e-02 1.8631340563297272e-01 <_> 0 -1 2525 -1.4754989933862817e-05 7.3586143553256989e-02 -1.5092320740222931e-01 <_> 0 -1 2526 8.6423632455989718e-04 6.6930077970027924e-02 -1.3976100087165833e-01 <_> 0 -1 2527 -4.1005611419677734e-03 2.0946699380874634e-01 -4.7175008803606033e-02 <_> 0 -1 2528 -2.1505339536815882e-03 -5.2753841876983643e-01 1.7665250226855278e-02 <_> 0 -1 2529 7.8334724530577660e-03 -4.5125011354684830e-02 2.0374919474124908e-01 <_> 0 -1 2530 -3.2690390944480896e-03 -1.3836699724197388e-01 7.0653162896633148e-02 <_> 0 -1 2531 3.9274748414754868e-03 6.8428598344326019e-02 -1.6210170090198517e-01 <_> 0 -1 2532 7.6534547843039036e-03 -9.3162156641483307e-02 9.9912680685520172e-02 <_> 0 -1 2533 -3.2620150595903397e-02 3.5453549027442932e-01 -3.0765339732170105e-02 <_> 0 -1 2534 -1.8247209489345551e-02 -3.8171181082725525e-01 2.7764180675148964e-02 <_> 0 -1 2535 -8.0104079097509384e-04 -1.4329099655151367e-01 6.4936630427837372e-02 <_> 0 -1 2536 -1.0993109643459320e-01 8.7319427728652954e-01 -1.1242670007050037e-02 <_> 0 -1 2537 -3.0508199706673622e-02 -6.1269849538803101e-01 1.9372699782252312e-02 <_> 0 -1 2538 -1.9187819212675095e-02 2.8533020615577698e-01 -3.6832328885793686e-02 <_> 0 -1 2539 2.3266570642590523e-03 4.7289360314607620e-02 -2.1252959966659546e-01 <_> 0 -1 2540 -1.4535760274156928e-03 1.3778920471668243e-01 -7.4501492083072662e-02 <_> 0 -1 2541 -1.0573640465736389e-03 -2.2186830639839172e-01 4.2039170861244202e-02 <_> 0 -1 2542 1.7203199677169323e-03 -6.9299750030040741e-02 1.3794890046119690e-01 <_> 0 -1 2543 -1.4716150471940637e-03 2.4296709895133972e-01 -4.0795009583234787e-02 <_> 0 -1 2544 -5.2822660654783249e-03 -3.1959480047225952e-01 3.4215260297060013e-02 <_> 0 -1 2545 -4.7165742143988609e-03 3.0581191182136536e-01 -3.1772918999195099e-02 <_> 0 -1 2546 7.3668370023369789e-03 6.1085078865289688e-02 -1.6390019655227661e-01 <_> 0 -1 2547 -7.6594999991357327e-03 -4.6472349762916565e-01 1.8869750201702118e-02 <_> 0 -1 2548 7.6969028450548649e-03 -1.8191590905189514e-02 5.5395811796188354e-01 <_> 0 -1 2549 -5.6195858633145690e-04 9.7618483006954193e-02 -1.0844089835882187e-01 <_> 0 -1 2550 -1.4587530131393578e-05 7.4585132300853729e-02 -1.2353610247373581e-01 <_> 0 -1 2551 -9.5779378898441792e-04 1.6370140016078949e-01 -5.8610081672668457e-02 <_> 0 -1 2552 8.0253500491380692e-03 2.6857670396566391e-02 -4.1507768630981445e-01 <_> 0 -1 2553 1.6938529442995787e-03 4.8536270856857300e-02 -1.7888469994068146e-01 <_> 0 -1 2554 -4.3334178626537323e-03 1.9798220694065094e-01 -4.8085059970617294e-02 <_> 0 -1 2555 -2.2440029715653509e-04 -1.5113249421119690e-01 6.0428649187088013e-02 <_> 0 -1 2556 -1.1392509564757347e-02 3.2737928628921509e-01 -2.9751259833574295e-02 <_> 0 -1 2557 -9.3984175473451614e-03 -1.2912990152835846e-01 7.6302282512187958e-02 <_> 0 -1 2558 8.7430170970037580e-04 -9.7556166350841522e-02 9.7808010876178741e-02 <_> 0 -1 2559 7.5171617791056633e-03 6.5084353089332581e-02 -1.5419410169124603e-01 <_> 0 -1 2560 -2.7937069535255432e-03 1.5009529888629913e-01 -6.3355393707752228e-02 <_> 0 -1 2561 -3.4385098842903972e-04 1.2404289841651917e-01 -7.5780630111694336e-02 <_> 0 -1 2562 8.7557926774024963e-02 -1.5905940905213356e-02 5.6607347726821899e-01 <_> 0 -1 2563 -9.3594435602426529e-03 -3.3039200305938721e-01 3.0874710530042648e-02 <_> 0 -1 2564 -6.7703737877309322e-03 1.7960870265960693e-01 -5.1310319453477859e-02 <_> 0 -1 2565 -6.2513751909136772e-03 -5.7952338457107544e-01 1.5425769612193108e-02 <_> 0 -1 2566 -2.5206409394741058e-02 -6.3777071237564087e-01 1.3051119633018970e-02 <_> 0 -1 2567 -1.1819769861176610e-03 -2.0478110015392303e-01 4.0494531393051147e-02 <_> 0 -1 2568 -1.0458839824423194e-03 1.4812879264354706e-01 -6.2631592154502869e-02 <_> 0 -1 2569 -2.5445020291954279e-03 1.3021010160446167e-01 -6.9430023431777954e-02 <_> 0 -1 2570 -8.0673627555370331e-02 -2.8054219484329224e-01 3.8956280797719955e-02 <_> 0 -1 2571 -1.4390920114237815e-04 1.0780519992113113e-01 -9.6550762653350830e-02 <_> 0 -1 2572 7.6481432188302279e-04 6.0667239129543304e-02 -1.5742610394954681e-01 <_> 0 -1 2573 -3.4516688901931047e-04 1.1415769904851913e-01 -8.8832370936870575e-02 <_> 0 -1 2574 -2.2118249908089638e-03 2.2988039255142212e-01 -5.0498738884925842e-02 <_> 0 -1 2575 9.4616543501615524e-03 1.9827060401439667e-02 -5.0633531808853149e-01 <_> 0 -1 2576 1.0567939607426524e-03 3.8744639605283737e-02 -2.3509359359741211e-01 <_> 0 -1 2577 2.9194469098001719e-03 -6.1895478516817093e-02 1.5313319861888885e-01 <_> 0 -1 2578 -1.0768010281026363e-02 -5.5298101902008057e-01 1.7847239971160889e-02 <_> 0 -1 2579 -1.0197740048170090e-03 1.1559300124645233e-01 -8.0185852944850922e-02 <_> 0 -1 2580 1.8127029761672020e-04 5.6652870029211044e-02 -1.6549369692802429e-01 <_> 0 -1 2581 7.1620188464294188e-06 -9.1480091214179993e-02 9.7915090620517731e-02 <_> 0 -1 2582 5.2910070866346359e-02 -1.3591200113296509e-02 6.6090220212936401e-01 <_> 0 -1 2583 4.0185371041297913e-01 1.9574489444494247e-02 -4.9015858769416809e-01 <_> 0 -1 2584 -1.7914770171046257e-02 -8.8317036628723145e-02 1.0532960295677185e-01 <_> 0 -1 2585 -1.4578569789591711e-05 7.8513152897357941e-02 -1.2300349771976471e-01 <_> 0 -1 2586 6.4994548447430134e-03 -4.0843468159437180e-02 2.9337158799171448e-01 <_> 0 -1 2587 9.5762982964515686e-02 1.9332479685544968e-02 -5.3444057703018188e-01 <_> 0 -1 2588 1.4263469893194269e-05 -8.8897533714771271e-02 1.0632789880037308e-01 <_> 0 -1 2589 2.2215039934962988e-03 -4.0777951478958130e-02 2.6405128836631775e-01 <_> 0 -1 2590 3.1875250861048698e-03 5.9725038707256317e-02 -1.6202959418296814e-01 <_> 0 -1 2591 9.6069589257240295e-02 1.1318460106849670e-02 -7.9110687971115112e-01 <_> 0 -1 2592 1.9584870897233486e-03 -3.9252020418643951e-02 2.3639929294586182e-01 <_> 0 -1 2593 -1.8468469381332397e-01 -5.8974397182464600e-01 1.5758410096168518e-02 <_> 0 -1 2594 2.1685050160158426e-04 4.6320449560880661e-02 -1.8274679780006409e-01 <_> 0 -1 2595 1.8809709697961807e-02 -4.3357118964195251e-02 2.7832600474357605e-01 <_> 0 -1 2596 -6.2639699317514896e-03 -1.3891190290451050e-01 7.7115900814533234e-02 <_> 0 -1 2597 3.2622940489090979e-04 -9.1803021728992462e-02 1.0588289797306061e-01 <_> 0 -1 2598 5.3745559416711330e-03 1.0803489945828915e-02 -7.6716458797454834e-01 <_> 0 -1 2599 2.8126770630478859e-03 -5.9618860483169556e-02 1.6133050620555878e-01 <_> 0 -1 2600 -6.5314618404954672e-04 -8.5690811276435852e-02 1.1540769785642624e-01 <_> 0 -1 2601 -1.7845110269263387e-03 8.1831991672515869e-02 -1.2700800597667694e-01 <_> 0 -1 2602 3.0969830695539713e-03 6.8366639316082001e-02 -1.4475439488887787e-01 <_> 0 -1 2603 -4.1442047804594040e-03 1.8632030487060547e-01 -5.4030310362577438e-02 <_> 0 -1 2604 -4.9972519278526306e-02 -1.2800359725952148e-01 8.5049159824848175e-02 <_> 0 -1 2605 -1.0743910446763039e-02 1.3701729476451874e-01 -7.7366456389427185e-02 <_> 0 -1 2606 -3.0474149389192462e-04 -1.6938340663909912e-01 5.7971168309450150e-02 <_> 0 -1 2607 3.6023318767547607e-02 1.3561300002038479e-02 -6.3279747962951660e-01 <_> 0 -1 2608 2.5479190517216921e-03 -4.3824359774589539e-02 2.2150419652462006e-01 <_> <_> 8 7 2 6 -1. <_> 8 10 2 3 2. <_> <_> 8 3 10 7 -1. <_> 13 3 5 7 2. <_> <_> 10 11 3 6 -1. <_> 10 14 3 3 2. <_> <_> 10 4 8 8 -1. <_> 14 4 4 8 2. <_> <_> 5 7 5 4 -1. <_> 5 9 5 2 2. <_> <_> 8 4 6 6 -1. <_> 8 4 3 3 2. <_> 11 7 3 3 2. <_> <_> 10 14 5 2 -1. <_> 10 15 5 1 2. <_> <_> 7 11 8 4 -1. <_> 7 13 8 2 2. <_> <_> 11 14 3 3 -1. <_> 11 15 3 1 3. <_> <_> 3 5 3 11 -1. <_> 4 5 1 11 3. <_> <_> 8 7 9 6 -1. <_> 8 10 9 3 2. <_> <_> 13 12 1 2 -1. <_> 13 13 1 1 2. <_> <_> 1 3 6 17 -1. <_> 4 3 3 17 2. <_> <_> 11 12 1 3 -1. <_> 11 13 1 1 3. <_> <_> 1 9 6 9 -1. <_> 4 9 3 9 2. <_> <_> 10 5 8 6 -1. <_> 14 5 4 6 2. <_> <_> 7 8 9 6 -1. <_> 7 10 9 2 3. <_> <_> 5 8 6 6 -1. <_> 5 8 3 3 2. <_> 8 11 3 3 2. <_> <_> 2 0 4 18 -1. <_> 4 0 2 18 2. <_> <_> 10 12 3 4 -1. <_> 10 14 3 2 2. <_> <_> 7 0 3 9 -1. <_> 7 3 3 3 3. <_> <_> 11 13 1 3 -1. <_> 11 14 1 1 3. <_> <_> 4 8 5 2 -1. <_> 4 9 5 1 2. <_> <_> 11 13 2 3 -1. <_> 11 14 2 1 3. <_> <_> 12 12 1 3 -1. <_> 12 13 1 1 3. <_> <_> 9 12 2 8 -1. <_> 9 16 2 4 2. <_> <_> 6 3 4 13 -1. <_> 8 3 2 13 2. <_> <_> 2 6 4 12 -1. <_> 4 6 2 12 2. <_> <_> 11 13 3 2 -1. <_> 12 13 1 2 3. <_> <_> 3 5 3 11 -1. <_> 4 5 1 11 3. <_> <_> 3 6 13 12 -1. <_> 3 12 13 6 2. <_> <_> 7 7 6 6 -1. <_> 7 7 3 3 2. <_> 10 10 3 3 2. <_> <_> 4 7 3 2 -1. <_> 5 7 1 2 3. <_> <_> 5 4 14 3 -1. <_> 12 4 7 3 2. <_> <_> 10 12 3 2 -1. <_> 11 12 1 2 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 12 14 1 3 -1. <_> 12 15 1 1 3. <_> <_> 3 6 3 3 -1. <_> 4 6 1 3 3. <_> <_> 8 4 3 2 -1. <_> 9 4 1 2 3. <_> <_> 3 3 3 13 -1. <_> 4 3 1 13 3. <_> <_> 15 4 2 3 -1. <_> 15 5 2 1 3. <_> <_> 12 8 4 4 -1. <_> 12 10 4 2 2. <_> <_> 8 7 8 9 -1. <_> 8 10 8 3 3. <_> <_> 8 0 12 6 -1. <_> 8 0 6 3 2. <_> 14 3 6 3 2. <_> <_> 5 9 3 6 -1. <_> 5 12 3 3 2. <_> <_> 11 12 2 4 -1. <_> 12 12 1 4 2. <_> <_> 10 11 3 8 -1. <_> 11 11 1 8 3. <_> <_> 5 5 5 6 -1. <_> 5 7 5 2 3. <_> <_> 10 13 2 6 -1. <_> 10 16 2 3 2. <_> <_> 10 15 3 4 -1. <_> 11 15 1 4 3. <_> <_> 7 3 3 3 -1. <_> 8 3 1 3 3. <_> <_> 5 8 6 2 -1. <_> 8 8 3 2 2. <_> <_> 8 7 4 2 -1. <_> 10 7 2 2 2. <_> <_> 5 6 2 3 -1. <_> 6 6 1 3 2. <_> <_> 8 0 3 8 -1. <_> 9 0 1 8 3. <_> <_> 5 10 3 8 -1. <_> 5 14 3 4 2. <_> <_> 12 3 3 2 -1. <_> 13 3 1 2 3. <_> <_> 8 2 3 4 -1. <_> 9 2 1 4 3. <_> <_> 14 10 1 8 -1. <_> 14 14 1 4 2. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 9 12 3 2 -1. <_> 10 12 1 2 3. <_> <_> 12 2 1 12 -1. <_> 12 6 1 4 3. <_> <_> 2 8 14 6 -1. <_> 2 8 7 3 2. <_> 9 11 7 3 2. <_> <_> 11 3 3 17 -1. <_> 12 3 1 17 3. <_> <_> 12 12 1 2 -1. <_> 12 13 1 1 2. <_> <_> 13 1 2 1 -1. <_> 14 1 1 1 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 12 12 2 3 -1. <_> 12 13 2 1 3. <_> <_> 8 2 10 10 -1. <_> 13 2 5 10 2. <_> <_> 11 13 3 1 -1. <_> 12 13 1 1 3. <_> <_> 12 10 1 4 -1. <_> 12 12 1 2 2. <_> <_> 8 7 2 6 -1. <_> 8 10 2 3 2. <_> <_> 12 11 1 3 -1. <_> 12 12 1 1 3. <_> <_> 9 12 3 3 -1. <_> 10 12 1 3 3. <_> <_> 6 0 8 6 -1. <_> 6 3 8 3 2. <_> <_> 0 0 8 19 -1. <_> 4 0 4 19 2. <_> <_> 5 6 4 9 -1. <_> 5 9 4 3 3. <_> <_> 13 14 1 2 -1. <_> 13 15 1 1 2. <_> <_> 1 3 8 15 -1. <_> 5 3 4 15 2. <_> <_> 13 14 2 3 -1. <_> 13 15 2 1 3. <_> <_> 5 7 3 2 -1. <_> 6 7 1 2 3. <_> <_> 8 5 3 1 -1. <_> 9 5 1 1 3. <_> <_> 9 5 3 1 -1. <_> 10 5 1 1 3. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 18 4 1 2 -1. <_> 18 5 1 1 2. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 10 10 3 4 -1. <_> 11 10 1 4 3. <_> <_> 6 5 2 14 -1. <_> 6 12 2 7 2. <_> <_> 14 8 3 4 -1. <_> 14 10 3 2 2. <_> <_> 4 5 3 6 -1. <_> 4 7 3 2 3. <_> <_> 5 10 2 8 -1. <_> 5 14 2 4 2. <_> <_> 9 1 3 2 -1. <_> 10 1 1 2 3. <_> <_> 10 1 3 3 -1. <_> 11 1 1 3 3. <_> <_> 9 12 8 8 -1. <_> 9 12 4 4 2. <_> 13 16 4 4 2. <_> <_> 8 13 6 4 -1. <_> 10 13 2 4 3. <_> <_> 3 6 3 12 -1. <_> 4 6 1 12 3. <_> <_> 9 3 8 5 -1. <_> 13 3 4 5 2. <_> <_> 7 7 3 6 -1. <_> 7 10 3 3 2. <_> <_> 5 10 10 4 -1. <_> 5 12 10 2 2. <_> <_> 11 12 1 6 -1. <_> 11 15 1 3 2. <_> <_> 5 8 6 2 -1. <_> 8 8 3 2 2. <_> <_> 2 0 8 4 -1. <_> 2 0 4 2 2. <_> 6 2 4 2 2. <_> <_> 11 7 3 5 -1. <_> 12 7 1 5 3. <_> <_> 12 13 2 3 -1. <_> 12 14 2 1 3. <_> <_> 12 12 1 2 -1. <_> 12 13 1 1 2. <_> <_> 5 11 6 3 -1. <_> 8 11 3 3 2. <_> <_> 2 6 3 9 -1. <_> 3 6 1 9 3. <_> <_> 12 12 1 3 -1. <_> 12 13 1 1 3. <_> <_> 5 8 4 2 -1. <_> 5 9 4 1 2. <_> <_> 3 8 3 7 -1. <_> 4 8 1 7 3. <_> <_> 1 3 6 15 -1. <_> 3 3 2 15 3. <_> <_> 12 14 4 3 -1. <_> 12 15 4 1 3. <_> <_> 9 0 2 20 -1. <_> 9 0 1 10 2. <_> 10 10 1 10 2. <_> <_> 6 12 3 3 -1. <_> 6 13 3 1 3. <_> <_> 5 7 3 10 -1. <_> 5 12 3 5 2. <_> <_> 8 5 2 1 -1. <_> 9 5 1 1 2. <_> <_> 5 12 3 3 -1. <_> 5 13 3 1 3. <_> <_> 15 5 4 2 -1. <_> 15 6 4 1 2. <_> <_> 15 5 3 2 -1. <_> 15 6 3 1 2. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 6 5 4 12 -1. <_> 8 5 2 12 2. <_> <_> 7 4 3 3 -1. <_> 8 4 1 3 3. <_> <_> 5 6 2 3 -1. <_> 6 6 1 3 2. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 12 10 2 1 -1. <_> 13 10 1 1 2. <_> <_> 10 13 5 2 -1. <_> 10 14 5 1 2. <_> <_> 11 13 1 3 -1. <_> 11 14 1 1 3. <_> <_> 7 2 3 6 -1. <_> 7 4 3 2 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 12 14 2 3 -1. <_> 12 15 2 1 3. <_> <_> 8 5 3 3 -1. <_> 8 6 3 1 3. <_> <_> 7 6 9 10 -1. <_> 7 11 9 5 2. <_> <_> 0 18 18 2 -1. <_> 6 18 6 2 3. <_> <_> 0 5 1 8 -1. <_> 0 9 1 4 2. <_> <_> 1 3 8 10 -1. <_> 1 8 8 5 2. <_> <_> 9 12 6 2 -1. <_> 9 13 6 1 2. <_> <_> 9 6 2 3 -1. <_> 9 7 2 1 3. <_> <_> 9 4 3 3 -1. <_> 10 4 1 3 3. <_> <_> 13 13 1 3 -1. <_> 13 14 1 1 3. <_> <_> 2 6 13 3 -1. <_> 2 7 13 1 3. <_> <_> 10 15 2 4 -1. <_> 11 15 1 4 2. <_> <_> 7 7 2 3 -1. <_> 8 7 1 3 2. <_> <_> 3 6 12 8 -1. <_> 3 6 6 4 2. <_> 9 10 6 4 2. <_> <_> 12 0 8 4 -1. <_> 12 0 4 2 2. <_> 16 2 4 2 2. <_> <_> 9 15 3 3 -1. <_> 10 15 1 3 3. <_> <_> 10 14 1 2 -1. <_> 10 15 1 1 2. <_> <_> 6 11 5 6 -1. <_> 6 14 5 3 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 5 6 3 4 -1. <_> 6 6 1 4 3. <_> <_> 9 6 6 4 -1. <_> 11 6 2 4 3. <_> <_> 6 5 12 6 -1. <_> 6 7 12 2 3. <_> <_> 3 1 16 7 -1. <_> 11 1 8 7 2. <_> <_> 12 11 1 6 -1. <_> 12 14 1 3 2. <_> <_> 6 6 9 8 -1. <_> 6 10 9 4 2. <_> <_> 5 9 4 6 -1. <_> 5 12 4 3 2. <_> <_> 1 0 6 14 -1. <_> 4 0 3 14 2. <_> <_> 8 1 1 9 -1. <_> 8 4 1 3 3. <_> <_> 11 13 2 2 -1. <_> 11 14 2 1 2. <_> <_> 2 7 4 13 -1. <_> 4 7 2 13 2. <_> <_> 5 8 6 6 -1. <_> 8 8 3 6 2. <_> <_> 18 0 2 20 -1. <_> 19 0 1 20 2. <_> <_> 6 7 3 3 -1. <_> 7 7 1 3 3. <_> <_> 13 10 1 4 -1. <_> 13 12 1 2 2. <_> <_> 12 11 2 2 -1. <_> 12 12 2 1 2. <_> <_> 3 6 12 6 -1. <_> 3 6 6 3 2. <_> 9 9 6 3 2. <_> <_> 10 13 2 2 -1. <_> 10 14 2 1 2. <_> <_> 6 13 2 3 -1. <_> 6 14 2 1 3. <_> <_> 13 5 1 3 -1. <_> 13 6 1 1 3. <_> <_> 6 14 3 3 -1. <_> 6 15 3 1 3. <_> <_> 5 15 3 3 -1. <_> 5 16 3 1 3. <_> <_> 15 3 1 3 -1. <_> 15 4 1 1 3. <_> <_> 3 8 3 12 -1. <_> 4 8 1 12 3. <_> <_> 3 4 3 14 -1. <_> 4 4 1 14 3. <_> <_> 6 11 6 2 -1. <_> 9 11 3 2 2. <_> <_> 4 8 8 4 -1. <_> 8 8 4 4 2. <_> <_> 4 5 2 4 -1. <_> 5 5 1 4 2. <_> <_> 7 3 2 1 -1. <_> 8 3 1 1 2. <_> <_> 12 16 2 3 -1. <_> 12 17 2 1 3. <_> <_> 3 16 6 3 -1. <_> 3 17 6 1 3. <_> <_> 13 4 2 1 -1. <_> 14 4 1 1 2. <_> <_> 9 16 4 4 -1. <_> 11 16 2 4 2. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 6 8 2 2 -1. <_> 6 9 2 1 2. <_> <_> 12 13 2 1 -1. <_> 13 13 1 1 2. <_> <_> 6 7 6 3 -1. <_> 8 7 2 3 3. <_> <_> 5 8 2 10 -1. <_> 5 13 2 5 2. <_> <_> 0 8 1 2 -1. <_> 0 9 1 1 2. <_> <_> 2 11 4 4 -1. <_> 4 11 2 4 2. <_> <_> 1 9 12 3 -1. <_> 5 9 4 3 3. <_> <_> 8 15 2 3 -1. <_> 9 15 1 3 2. <_> <_> 8 6 3 3 -1. <_> 8 7 3 1 3. <_> <_> 1 2 1 2 -1. <_> 1 3 1 1 2. <_> <_> 5 1 7 6 -1. <_> 5 3 7 2 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 13 7 3 4 -1. <_> 13 9 3 2 2. <_> <_> 5 10 3 3 -1. <_> 5 11 3 1 3. <_> <_> 7 5 3 1 -1. <_> 8 5 1 1 3. <_> <_> 0 0 11 16 -1. <_> 0 8 11 8 2. <_> <_> 7 4 3 2 -1. <_> 8 4 1 2 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 13 5 2 2 -1. <_> 13 6 2 1 2. <_> <_> 8 8 2 6 -1. <_> 8 10 2 2 3. <_> <_> 5 6 3 4 -1. <_> 6 6 1 4 3. <_> <_> 10 0 10 8 -1. <_> 10 0 5 4 2. <_> 15 4 5 4 2. <_> <_> 9 7 2 12 -1. <_> 9 11 2 4 3. <_> <_> 6 3 12 12 -1. <_> 6 3 6 6 2. <_> 12 9 6 6 2. <_> <_> 5 7 4 6 -1. <_> 5 9 4 2 3. <_> <_> 5 7 10 10 -1. <_> 5 7 5 5 2. <_> 10 12 5 5 2. <_> <_> 2 1 4 15 -1. <_> 4 1 2 15 2. <_> <_> 12 11 2 2 -1. <_> 13 11 1 2 2. <_> <_> 6 11 10 6 -1. <_> 6 14 10 3 2. <_> <_> 5 12 4 3 -1. <_> 5 13 4 1 3. <_> <_> 6 12 1 3 -1. <_> 6 13 1 1 3. <_> <_> 3 7 12 8 -1. <_> 3 7 6 4 2. <_> 9 11 6 4 2. <_> <_> 6 2 2 6 -1. <_> 6 4 2 2 3. <_> <_> 11 11 5 4 -1. <_> 11 13 5 2 2. <_> <_> 5 8 6 6 -1. <_> 8 8 3 6 2. <_> <_> 5 12 4 2 -1. <_> 7 12 2 2 2. <_> <_> 3 13 3 7 -1. <_> 4 13 1 7 3. <_> <_> 11 7 5 9 -1. <_> 11 10 5 3 3. <_> <_> 4 3 15 9 -1. <_> 4 6 15 3 3. <_> <_> 15 13 2 2 -1. <_> 15 13 1 1 2. <_> 16 14 1 1 2. <_> <_> 6 5 6 13 -1. <_> 9 5 3 13 2. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 6 1 2 15 -1. <_> 6 6 2 5 3. <_> <_> 11 0 4 3 -1. <_> 13 0 2 3 2. <_> <_> 0 0 2 4 -1. <_> 0 2 2 2 2. <_> <_> 4 8 9 3 -1. <_> 4 9 9 1 3. <_> <_> 6 5 6 2 -1. <_> 8 5 2 2 3. <_> <_> 4 15 2 2 -1. <_> 4 15 1 1 2. <_> 5 16 1 1 2. <_> <_> 6 14 2 3 -1. <_> 6 15 2 1 3. <_> <_> 6 12 1 6 -1. <_> 6 15 1 3 2. <_> <_> 5 9 2 10 -1. <_> 5 14 2 5 2. <_> <_> 3 6 3 10 -1. <_> 4 6 1 10 3. <_> <_> 3 7 3 5 -1. <_> 4 7 1 5 3. <_> <_> 11 0 6 2 -1. <_> 13 0 2 2 3. <_> <_> 11 12 2 1 -1. <_> 12 12 1 1 2. <_> <_> 11 12 2 1 -1. <_> 12 12 1 1 2. <_> <_> 6 16 1 3 -1. <_> 6 17 1 1 3. <_> <_> 10 16 5 3 -1. <_> 10 17 5 1 3. <_> <_> 7 13 1 3 -1. <_> 7 14 1 1 3. <_> <_> 12 4 8 2 -1. <_> 12 5 8 1 2. <_> <_> 8 7 4 3 -1. <_> 10 7 2 3 2. <_> <_> 12 10 5 9 -1. <_> 12 13 5 3 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 11 0 2 4 -1. <_> 12 0 1 4 2. <_> <_> 5 9 10 6 -1. <_> 5 9 5 3 2. <_> 10 12 5 3 2. <_> <_> 6 12 3 3 -1. <_> 6 13 3 1 3. <_> <_> 1 3 6 12 -1. <_> 1 9 6 6 2. <_> <_> 1 5 5 10 -1. <_> 1 10 5 5 2. <_> <_> 10 14 1 2 -1. <_> 10 15 1 1 2. <_> <_> 9 5 2 8 -1. <_> 9 5 1 4 2. <_> 10 9 1 4 2. <_> <_> 17 12 3 1 -1. <_> 18 12 1 1 3. <_> <_> 5 16 2 3 -1. <_> 5 17 2 1 3. <_> <_> 11 18 7 2 -1. <_> 11 19 7 1 2. <_> <_> 12 6 3 8 -1. <_> 13 6 1 8 3. <_> <_> 11 6 6 5 -1. <_> 14 6 3 5 2. <_> <_> 9 7 4 6 -1. <_> 9 7 2 3 2. <_> 11 10 2 3 2. <_> <_> 10 8 6 6 -1. <_> 10 10 6 2 3. <_> <_> 2 1 4 17 -1. <_> 4 1 2 17 2. <_> <_> 7 1 9 4 -1. <_> 7 3 9 2 2. <_> <_> 7 6 3 4 -1. <_> 8 6 1 4 3. <_> <_> 5 9 8 2 -1. <_> 9 9 4 2 2. <_> <_> 11 12 1 4 -1. <_> 11 14 1 2 2. <_> <_> 13 11 1 3 -1. <_> 13 12 1 1 3. <_> <_> 10 19 4 1 -1. <_> 12 19 2 1 2. <_> <_> 5 4 10 12 -1. <_> 5 4 5 6 2. <_> 10 10 5 6 2. <_> <_> 4 6 5 6 -1. <_> 4 9 5 3 2. <_> <_> 5 10 4 8 -1. <_> 5 14 4 4 2. <_> <_> 7 5 3 3 -1. <_> 7 6 3 1 3. <_> <_> 7 4 2 2 -1. <_> 8 4 1 2 2. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 0 3 6 16 -1. <_> 2 3 2 16 3. <_> <_> 2 6 3 12 -1. <_> 3 6 1 12 3. <_> <_> 12 11 2 2 -1. <_> 12 12 2 1 2. <_> <_> 18 0 2 13 -1. <_> 19 0 1 13 2. <_> <_> 9 14 5 4 -1. <_> 9 16 5 2 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 10 14 4 3 -1. <_> 10 15 4 1 3. <_> <_> 12 13 1 3 -1. <_> 12 14 1 1 3. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 6 6 6 14 -1. <_> 9 6 3 14 2. <_> <_> 5 11 6 3 -1. <_> 8 11 3 3 2. <_> <_> 5 7 2 4 -1. <_> 6 7 1 4 2. <_> <_> 7 3 11 9 -1. <_> 7 6 11 3 3. <_> <_> 10 4 9 6 -1. <_> 10 6 9 2 3. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 0 0 3 1 -1. <_> 1 0 1 1 3. <_> <_> 9 4 4 6 -1. <_> 9 4 2 3 2. <_> 11 7 2 3 2. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 6 4 3 2 -1. <_> 7 4 1 2 3. <_> <_> 7 14 1 3 -1. <_> 7 15 1 1 3. <_> <_> 1 3 1 2 -1. <_> 1 4 1 1 2. <_> <_> 7 16 2 3 -1. <_> 7 17 2 1 3. <_> <_> 19 6 1 2 -1. <_> 19 7 1 1 2. <_> <_> 6 15 2 3 -1. <_> 6 16 2 1 3. <_> <_> 11 13 1 3 -1. <_> 11 14 1 1 3. <_> <_> 17 10 3 1 -1. <_> 18 10 1 1 3. <_> <_> 10 0 6 1 -1. <_> 13 0 3 1 2. <_> <_> 14 0 6 4 -1. <_> 14 0 3 2 2. <_> 17 2 3 2 2. <_> <_> 12 7 4 6 -1. <_> 12 10 4 3 2. <_> <_> 14 5 1 2 -1. <_> 14 6 1 1 2. <_> <_> 6 13 4 3 -1. <_> 6 14 4 1 3. <_> <_> 5 12 4 3 -1. <_> 5 13 4 1 3. <_> <_> 9 3 2 1 -1. <_> 10 3 1 1 2. <_> <_> 9 3 3 3 -1. <_> 10 3 1 3 3. <_> <_> 9 5 3 1 -1. <_> 10 5 1 1 3. <_> <_> 7 8 4 3 -1. <_> 7 9 4 1 3. <_> <_> 1 4 1 6 -1. <_> 1 6 1 2 3. <_> <_> 3 2 3 11 -1. <_> 4 2 1 11 3. <_> <_> 3 2 3 18 -1. <_> 4 2 1 18 3. <_> <_> 5 12 6 2 -1. <_> 8 12 3 2 2. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 7 17 3 1 -1. <_> 8 17 1 1 3. <_> <_> 3 10 8 6 -1. <_> 3 13 8 3 2. <_> <_> 3 2 3 17 -1. <_> 4 2 1 17 3. <_> <_> 4 9 8 1 -1. <_> 8 9 4 1 2. <_> <_> 2 7 3 6 -1. <_> 3 7 1 6 3. <_> <_> 18 4 1 2 -1. <_> 18 5 1 1 2. <_> <_> 7 8 2 6 -1. <_> 7 10 2 2 3. <_> <_> 11 12 2 3 -1. <_> 11 13 2 1 3. <_> <_> 16 11 3 1 -1. <_> 17 11 1 1 3. <_> <_> 16 11 3 2 -1. <_> 17 11 1 2 3. <_> <_> 15 3 1 4 -1. <_> 15 5 1 2 2. <_> <_> 11 0 9 11 -1. <_> 14 0 3 11 3. <_> <_> 7 0 5 6 -1. <_> 7 3 5 3 2. <_> <_> 8 7 2 6 -1. <_> 8 10 2 3 2. <_> <_> 11 11 4 6 -1. <_> 11 14 4 3 2. <_> <_> 4 7 3 2 -1. <_> 5 7 1 2 3. <_> <_> 3 7 3 2 -1. <_> 4 7 1 2 3. <_> <_> 11 11 2 3 -1. <_> 11 12 2 1 3. <_> <_> 5 9 4 6 -1. <_> 5 12 4 3 2. <_> <_> 16 4 2 3 -1. <_> 17 4 1 3 2. <_> <_> 12 12 2 1 -1. <_> 13 12 1 1 2. <_> <_> 8 5 6 4 -1. <_> 8 5 3 2 2. <_> 11 7 3 2 2. <_> <_> 10 15 3 3 -1. <_> 11 15 1 3 3. <_> <_> 3 7 3 7 -1. <_> 4 7 1 7 3. <_> <_> 11 4 1 2 -1. <_> 11 5 1 1 2. <_> <_> 3 9 3 5 -1. <_> 4 9 1 5 3. <_> <_> 10 15 3 3 -1. <_> 11 15 1 3 3. <_> <_> 3 3 6 12 -1. <_> 3 9 6 6 2. <_> <_> 3 5 5 6 -1. <_> 3 7 5 2 3. <_> <_> 6 6 4 11 -1. <_> 8 6 2 11 2. <_> <_> 6 5 2 6 -1. <_> 7 5 1 6 2. <_> <_> 2 6 3 8 -1. <_> 3 6 1 8 3. <_> <_> 6 4 3 1 -1. <_> 7 4 1 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 13 14 2 3 -1. <_> 13 15 2 1 3. <_> <_> 10 11 2 3 -1. <_> 10 12 2 1 3. <_> <_> 19 5 1 3 -1. <_> 19 6 1 1 3. <_> <_> 5 14 5 3 -1. <_> 5 15 5 1 3. <_> <_> 4 10 10 4 -1. <_> 9 10 5 4 2. <_> <_> 12 12 2 3 -1. <_> 12 13 2 1 3. <_> <_> 5 13 4 3 -1. <_> 5 14 4 1 3. <_> <_> 6 12 3 3 -1. <_> 6 13 3 1 3. <_> <_> 6 15 3 2 -1. <_> 7 15 1 2 3. <_> <_> 4 11 8 2 -1. <_> 8 11 4 2 2. <_> <_> 14 3 6 8 -1. <_> 14 7 6 4 2. <_> <_> 8 5 12 5 -1. <_> 12 5 4 5 3. <_> <_> 5 14 6 2 -1. <_> 7 14 2 2 3. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 13 12 1 3 -1. <_> 13 13 1 1 3. <_> <_> 6 3 14 12 -1. <_> 6 3 7 6 2. <_> 13 9 7 6 2. <_> <_> 18 6 2 2 -1. <_> 18 7 2 1 2. <_> <_> 14 7 6 10 -1. <_> 16 7 2 10 3. <_> <_> 9 8 2 3 -1. <_> 9 9 2 1 3. <_> <_> 0 6 2 4 -1. <_> 0 8 2 2 2. <_> <_> 9 0 6 2 -1. <_> 11 0 2 2 3. <_> <_> 12 0 8 2 -1. <_> 12 0 4 1 2. <_> 16 1 4 1 2. <_> <_> 3 10 14 6 -1. <_> 3 12 14 2 3. <_> <_> 6 7 3 4 -1. <_> 7 7 1 4 3. <_> <_> 10 13 2 1 -1. <_> 11 13 1 1 2. <_> <_> 11 6 5 10 -1. <_> 11 11 5 5 2. <_> <_> 3 16 4 4 -1. <_> 3 16 2 2 2. <_> 5 18 2 2 2. <_> <_> 6 2 3 3 -1. <_> 7 2 1 3 3. <_> <_> 4 0 8 20 -1. <_> 4 0 4 10 2. <_> 8 10 4 10 2. <_> <_> 3 16 3 4 -1. <_> 4 16 1 4 3. <_> <_> 3 16 3 1 -1. <_> 4 16 1 1 3. <_> <_> 11 13 1 2 -1. <_> 11 14 1 1 2. <_> <_> 11 13 1 3 -1. <_> 11 14 1 1 3. <_> <_> 6 19 14 1 -1. <_> 13 19 7 1 2. <_> <_> 5 7 3 3 -1. <_> 6 7 1 3 3. <_> <_> 7 4 3 2 -1. <_> 8 4 1 2 3. <_> <_> 9 18 2 1 -1. <_> 10 18 1 1 2. <_> <_> 6 17 2 3 -1. <_> 6 18 2 1 3. <_> <_> 9 7 3 6 -1. <_> 9 9 3 2 3. <_> <_> 9 12 3 7 -1. <_> 10 12 1 7 3. <_> <_> 8 9 1 3 -1. <_> 8 10 1 1 3. <_> <_> 8 5 12 11 -1. <_> 12 5 4 11 3. <_> <_> 2 0 1 2 -1. <_> 2 1 1 1 2. <_> <_> 0 0 1 2 -1. <_> 0 1 1 1 2. <_> <_> 8 0 12 16 -1. <_> 12 0 4 16 3. <_> <_> 0 0 1 2 -1. <_> 0 1 1 1 2. <_> <_> 11 0 9 11 -1. <_> 14 0 3 11 3. <_> <_> 5 5 3 6 -1. <_> 6 5 1 6 3. <_> <_> 8 8 3 4 -1. <_> 8 10 3 2 2. <_> <_> 13 2 6 12 -1. <_> 13 8 6 6 2. <_> <_> 10 6 4 14 -1. <_> 10 13 4 7 2. <_> <_> 1 1 10 1 -1. <_> 6 1 5 1 2. <_> <_> 4 2 13 6 -1. <_> 4 4 13 2 3. <_> <_> 11 13 2 3 -1. <_> 12 13 1 3 2. <_> <_> 6 9 4 9 -1. <_> 6 12 4 3 3. <_> <_> 6 6 3 10 -1. <_> 6 11 3 5 2. <_> <_> 2 10 3 4 -1. <_> 3 10 1 4 3. <_> <_> 3 8 3 6 -1. <_> 4 8 1 6 3. <_> <_> 11 12 3 6 -1. <_> 12 12 1 6 3. <_> <_> 8 6 2 3 -1. <_> 8 7 2 1 3. <_> <_> 5 8 6 6 -1. <_> 5 8 3 3 2. <_> 8 11 3 3 2. <_> <_> 3 7 3 1 -1. <_> 4 7 1 1 3. <_> <_> 10 12 3 3 -1. <_> 10 13 3 1 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 10 12 4 3 -1. <_> 10 13 4 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 9 2 3 1 -1. <_> 10 2 1 1 3. <_> <_> 2 0 18 14 -1. <_> 2 7 18 7 2. <_> <_> 9 2 3 2 -1. <_> 10 2 1 2 3. <_> <_> 8 6 4 3 -1. <_> 8 7 4 1 3. <_> <_> 4 8 5 2 -1. <_> 4 9 5 1 2. <_> <_> 0 3 1 6 -1. <_> 0 5 1 2 3. <_> <_> 13 9 1 6 -1. <_> 13 12 1 3 2. <_> <_> 6 16 3 3 -1. <_> 6 17 3 1 3. <_> <_> 3 16 7 3 -1. <_> 3 17 7 1 3. <_> <_> 10 15 5 3 -1. <_> 10 16 5 1 3. <_> <_> 4 0 5 20 -1. <_> 4 10 5 10 2. <_> <_> 6 2 2 2 -1. <_> 7 2 1 2 2. <_> <_> 18 0 2 15 -1. <_> 18 5 2 5 3. <_> <_> 6 15 7 3 -1. <_> 6 16 7 1 3. <_> <_> 10 13 6 2 -1. <_> 10 14 6 1 2. <_> <_> 13 8 1 9 -1. <_> 13 11 1 3 3. <_> <_> 3 0 4 4 -1. <_> 3 0 2 2 2. <_> 5 2 2 2 2. <_> <_> 0 3 1 6 -1. <_> 0 5 1 2 3. <_> <_> 5 8 3 1 -1. <_> 6 8 1 1 3. <_> <_> 5 6 2 3 -1. <_> 6 6 1 3 2. <_> <_> 6 11 6 7 -1. <_> 8 11 2 7 3. <_> <_> 8 7 4 3 -1. <_> 8 8 4 1 3. <_> <_> 3 8 8 1 -1. <_> 7 8 4 1 2. <_> <_> 5 12 3 3 -1. <_> 5 13 3 1 3. <_> <_> 9 7 2 8 -1. <_> 9 7 1 4 2. <_> 10 11 1 4 2. <_> <_> 14 2 3 5 -1. <_> 15 2 1 5 3. <_> <_> 6 13 2 3 -1. <_> 6 14 2 1 3. <_> <_> 6 14 1 2 -1. <_> 6 15 1 1 2. <_> <_> 12 10 2 3 -1. <_> 12 11 2 1 3. <_> <_> 1 14 12 3 -1. <_> 5 14 4 3 3. <_> <_> 11 8 3 1 -1. <_> 12 8 1 1 3. <_> <_> 14 4 2 3 -1. <_> 14 5 2 1 3. <_> <_> 7 8 3 2 -1. <_> 8 8 1 2 3. <_> <_> 2 7 3 11 -1. <_> 3 7 1 11 3. <_> <_> 0 14 2 1 -1. <_> 1 14 1 1 2. <_> <_> 6 15 3 2 -1. <_> 7 15 1 2 3. <_> <_> 18 10 2 4 -1. <_> 18 10 1 2 2. <_> 19 12 1 2 2. <_> <_> 13 12 2 2 -1. <_> 14 12 1 2 2. <_> <_> 9 5 8 12 -1. <_> 13 5 4 12 2. <_> <_> 11 5 3 3 -1. <_> 12 5 1 3 3. <_> <_> 16 11 2 2 -1. <_> 16 11 1 1 2. <_> 17 12 1 1 2. <_> <_> 14 5 1 2 -1. <_> 14 6 1 1 2. <_> <_> 3 0 8 16 -1. <_> 3 8 8 8 2. <_> <_> 3 11 3 5 -1. <_> 4 11 1 5 3. <_> <_> 0 8 12 6 -1. <_> 4 8 4 6 3. <_> <_> 6 9 4 2 -1. <_> 6 9 2 1 2. <_> 8 10 2 1 2. <_> <_> 11 15 3 5 -1. <_> 12 15 1 5 3. <_> <_> 18 10 2 6 -1. <_> 18 10 1 3 2. <_> 19 13 1 3 2. <_> <_> 13 15 6 1 -1. <_> 16 15 3 1 2. <_> <_> 5 10 7 6 -1. <_> 5 13 7 3 2. <_> <_> 2 11 6 6 -1. <_> 2 14 6 3 2. <_> <_> 11 14 3 3 -1. <_> 11 15 3 1 3. <_> <_> 7 14 6 3 -1. <_> 7 15 6 1 3. <_> <_> 5 14 5 3 -1. <_> 5 15 5 1 3. <_> <_> 6 16 3 1 -1. <_> 7 16 1 1 3. <_> <_> 4 15 4 3 -1. <_> 4 16 4 1 3. <_> <_> 2 2 4 8 -1. <_> 2 2 2 4 2. <_> 4 6 2 4 2. <_> <_> 12 13 2 3 -1. <_> 12 14 2 1 3. <_> <_> 9 13 4 3 -1. <_> 9 14 4 1 3. <_> <_> 8 8 5 3 -1. <_> 8 9 5 1 3. <_> <_> 9 12 3 2 -1. <_> 10 12 1 2 3. <_> <_> 4 0 8 2 -1. <_> 4 0 4 1 2. <_> 8 1 4 1 2. <_> <_> 0 12 1 2 -1. <_> 0 13 1 1 2. <_> <_> 8 14 8 4 -1. <_> 8 16 8 2 2. <_> <_> 4 17 9 3 -1. <_> 4 18 9 1 3. <_> <_> 10 0 2 8 -1. <_> 10 4 2 4 2. <_> <_> 10 13 2 6 -1. <_> 10 16 2 3 2. <_> <_> 7 2 10 5 -1. <_> 12 2 5 5 2. <_> <_> 9 7 4 6 -1. <_> 9 7 2 3 2. <_> 11 10 2 3 2. <_> <_> 12 10 1 6 -1. <_> 12 13 1 3 2. <_> <_> 1 2 6 8 -1. <_> 4 2 3 8 2. <_> <_> 10 12 1 3 -1. <_> 10 13 1 1 3. <_> <_> 5 7 3 2 -1. <_> 6 7 1 2 3. <_> <_> 10 13 1 3 -1. <_> 10 14 1 1 3. <_> <_> 4 3 16 9 -1. <_> 4 6 16 3 3. <_> <_> 5 12 4 3 -1. <_> 7 12 2 3 2. <_> <_> 10 14 1 3 -1. <_> 10 15 1 1 3. <_> <_> 10 6 3 8 -1. <_> 11 6 1 8 3. <_> <_> 1 8 3 5 -1. <_> 2 8 1 5 3. <_> <_> 6 7 3 2 -1. <_> 7 7 1 2 3. <_> <_> 9 10 3 3 -1. <_> 10 10 1 3 3. <_> <_> 11 4 4 3 -1. <_> 11 5 4 1 3. <_> <_> 16 11 3 1 -1. <_> 17 11 1 1 3. <_> <_> 8 0 6 3 -1. <_> 10 0 2 3 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 11 3 7 3 -1. <_> 11 4 7 1 3. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 7 4 3 2 -1. <_> 8 4 1 2 3. <_> <_> 7 3 3 3 -1. <_> 8 3 1 3 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 10 12 2 3 -1. <_> 10 13 2 1 3. <_> <_> 5 0 12 2 -1. <_> 5 1 12 1 2. <_> <_> 4 11 8 4 -1. <_> 4 13 8 2 2. <_> <_> 6 12 8 4 -1. <_> 6 14 8 2 2. <_> <_> 4 0 4 2 -1. <_> 4 0 2 1 2. <_> 6 1 2 1 2. <_> <_> 13 9 4 2 -1. <_> 13 10 4 1 2. <_> <_> 12 10 2 2 -1. <_> 13 10 1 2 2. <_> <_> 9 9 6 1 -1. <_> 12 9 3 1 2. <_> <_> 6 6 14 6 -1. <_> 6 9 14 3 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 11 11 1 3 -1. <_> 11 12 1 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 12 11 6 2 -1. <_> 14 11 2 2 3. <_> <_> 11 11 2 1 -1. <_> 12 11 1 1 2. <_> <_> 3 11 14 1 -1. <_> 10 11 7 1 2. <_> <_> 1 13 6 5 -1. <_> 3 13 2 5 3. <_> <_> 14 0 2 1 -1. <_> 15 0 1 1 2. <_> <_> 10 0 10 1 -1. <_> 15 0 5 1 2. <_> <_> 5 15 3 3 -1. <_> 5 16 3 1 3. <_> <_> 12 14 2 2 -1. <_> 12 15 2 1 2. <_> <_> 12 14 2 3 -1. <_> 12 15 2 1 3. <_> <_> 8 6 1 3 -1. <_> 8 7 1 1 3. <_> <_> 0 2 1 3 -1. <_> 0 3 1 1 3. <_> <_> 0 2 1 3 -1. <_> 0 3 1 1 3. <_> <_> 4 8 2 2 -1. <_> 4 8 1 1 2. <_> 5 9 1 1 2. <_> <_> 3 6 8 10 -1. <_> 3 6 4 5 2. <_> 7 11 4 5 2. <_> <_> 6 15 1 3 -1. <_> 6 16 1 1 3. <_> <_> 12 0 3 8 -1. <_> 13 0 1 8 3. <_> <_> 10 0 10 6 -1. <_> 10 0 5 3 2. <_> 15 3 5 3 2. <_> <_> 17 2 2 2 -1. <_> 17 3 2 1 2. <_> <_> 8 0 12 14 -1. <_> 14 0 6 14 2. <_> <_> 10 18 2 1 -1. <_> 11 18 1 1 2. <_> <_> 18 9 2 6 -1. <_> 18 9 1 3 2. <_> 19 12 1 3 2. <_> <_> 18 4 2 16 -1. <_> 18 4 1 8 2. <_> 19 12 1 8 2. <_> <_> 5 8 6 6 -1. <_> 8 8 3 6 2. <_> <_> 6 5 4 11 -1. <_> 8 5 2 11 2. <_> <_> 6 8 2 2 -1. <_> 7 8 1 2 2. <_> <_> 6 5 2 5 -1. <_> 7 5 1 5 2. <_> <_> 10 16 3 4 -1. <_> 11 16 1 4 3. <_> <_> 3 0 8 18 -1. <_> 3 9 8 9 2. <_> <_> 1 7 7 3 -1. <_> 1 8 7 1 3. <_> <_> 5 5 2 6 -1. <_> 5 7 2 2 3. <_> <_> 3 8 3 10 -1. <_> 4 8 1 10 3. <_> <_> 3 12 3 2 -1. <_> 4 12 1 2 3. <_> <_> 3 9 10 3 -1. <_> 8 9 5 3 2. <_> <_> 6 15 6 2 -1. <_> 8 15 2 2 3. <_> <_> 5 9 3 2 -1. <_> 6 9 1 2 3. <_> <_> 17 5 3 3 -1. <_> 17 6 3 1 3. <_> <_> 8 6 1 3 -1. <_> 8 7 1 1 3. <_> <_> 18 5 1 3 -1. <_> 18 6 1 1 3. <_> <_> 5 2 5 6 -1. <_> 5 5 5 3 2. <_> <_> 11 1 6 3 -1. <_> 13 1 2 3 3. <_> <_> 6 7 2 10 -1. <_> 6 12 2 5 2. <_> <_> 3 14 4 4 -1. <_> 5 14 2 4 2. <_> <_> 2 11 4 1 -1. <_> 4 11 2 1 2. <_> <_> 6 4 3 2 -1. <_> 7 4 1 2 3. <_> <_> 8 3 2 6 -1. <_> 8 5 2 2 3. <_> <_> 0 10 20 10 -1. <_> 10 10 10 10 2. <_> <_> 13 7 2 2 -1. <_> 13 8 2 1 2. <_> <_> 10 8 10 4 -1. <_> 15 8 5 4 2. <_> <_> 0 10 16 2 -1. <_> 8 10 8 2 2. <_> <_> 10 14 6 6 -1. <_> 10 14 3 3 2. <_> 13 17 3 3 2. <_> <_> 13 10 1 3 -1. <_> 13 11 1 1 3. <_> <_> 4 4 10 8 -1. <_> 4 4 5 4 2. <_> 9 8 5 4 2. <_> <_> 5 1 6 6 -1. <_> 5 1 3 3 2. <_> 8 4 3 3 2. <_> <_> 11 10 8 3 -1. <_> 11 11 8 1 3. <_> <_> 3 11 3 6 -1. <_> 3 13 3 2 3. <_> <_> 8 0 12 6 -1. <_> 8 0 6 3 2. <_> 14 3 6 3 2. <_> <_> 7 8 2 4 -1. <_> 7 8 1 2 2. <_> 8 10 1 2 2. <_> <_> 11 1 7 10 -1. <_> 11 6 7 5 2. <_> <_> 10 15 3 2 -1. <_> 10 16 3 1 2. <_> <_> 11 11 2 3 -1. <_> 12 11 1 3 2. <_> <_> 6 8 3 2 -1. <_> 6 9 3 1 2. <_> <_> 11 14 1 3 -1. <_> 11 15 1 1 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 12 12 2 2 -1. <_> 12 13 2 1 2. <_> <_> 11 3 8 9 -1. <_> 11 6 8 3 3. <_> <_> 10 11 3 3 -1. <_> 11 11 1 3 3. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 9 6 2 3 -1. <_> 10 6 1 3 2. <_> <_> 7 8 2 6 -1. <_> 7 10 2 2 3. <_> <_> 3 0 4 6 -1. <_> 3 0 2 3 2. <_> 5 3 2 3 2. <_> <_> 5 0 3 17 -1. <_> 6 0 1 17 3. <_> <_> 12 9 6 3 -1. <_> 12 10 6 1 3. <_> <_> 10 19 8 1 -1. <_> 14 19 4 1 2. <_> <_> 13 3 5 3 -1. <_> 13 4 5 1 3. <_> <_> 5 7 2 2 -1. <_> 6 7 1 2 2. <_> <_> 12 10 3 10 -1. <_> 13 10 1 10 3. <_> <_> 4 7 6 3 -1. <_> 7 7 3 3 2. <_> <_> 6 10 1 3 -1. <_> 6 11 1 1 3. <_> <_> 6 9 2 3 -1. <_> 6 10 2 1 3. <_> <_> 11 3 6 3 -1. <_> 11 4 6 1 3. <_> <_> 13 14 2 3 -1. <_> 13 15 2 1 3. <_> <_> 6 16 8 4 -1. <_> 6 16 4 2 2. <_> 10 18 4 2 2. <_> <_> 10 5 3 15 -1. <_> 11 5 1 15 3. <_> <_> 10 0 10 6 -1. <_> 10 0 5 3 2. <_> 15 3 5 3 2. <_> <_> 11 2 3 16 -1. <_> 12 2 1 16 3. <_> <_> 7 12 2 2 -1. <_> 7 12 1 1 2. <_> 8 13 1 1 2. <_> <_> 6 4 2 1 -1. <_> 7 4 1 1 2. <_> <_> 6 3 3 4 -1. <_> 7 3 1 4 3. <_> <_> 0 13 16 6 -1. <_> 0 15 16 2 3. <_> <_> 7 14 2 3 -1. <_> 7 15 2 1 3. <_> <_> 15 17 2 2 -1. <_> 15 18 2 1 2. <_> <_> 17 12 2 2 -1. <_> 17 12 1 1 2. <_> 18 13 1 1 2. <_> <_> 11 1 3 19 -1. <_> 12 1 1 19 3. <_> <_> 1 11 19 4 -1. <_> 1 13 19 2 2. <_> <_> 17 8 2 10 -1. <_> 17 8 1 5 2. <_> 18 13 1 5 2. <_> <_> 9 0 11 20 -1. <_> 9 10 11 10 2. <_> <_> 4 1 12 12 -1. <_> 4 1 6 6 2. <_> 10 7 6 6 2. <_> <_> 5 11 3 6 -1. <_> 6 11 1 6 3. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 18 1 2 4 -1. <_> 19 1 1 4 2. <_> <_> 11 0 8 15 -1. <_> 15 0 4 15 2. <_> <_> 5 5 6 2 -1. <_> 7 5 2 2 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 6 8 2 8 -1. <_> 6 12 2 4 2. <_> <_> 9 9 2 4 -1. <_> 9 11 2 2 2. <_> <_> 0 8 2 2 -1. <_> 0 9 2 1 2. <_> <_> 7 12 8 4 -1. <_> 7 14 8 2 2. <_> <_> 11 13 3 2 -1. <_> 11 14 3 1 2. <_> <_> 5 8 2 2 -1. <_> 5 8 1 1 2. <_> 6 9 1 1 2. <_> <_> 12 11 2 3 -1. <_> 12 12 2 1 3. <_> <_> 10 8 2 2 -1. <_> 10 8 1 1 2. <_> 11 9 1 1 2. <_> <_> 6 16 3 2 -1. <_> 7 16 1 2 3. <_> <_> 13 12 2 1 -1. <_> 14 12 1 1 2. <_> <_> 16 9 2 6 -1. <_> 16 9 1 3 2. <_> 17 12 1 3 2. <_> <_> 17 2 2 6 -1. <_> 17 4 2 2 3. <_> <_> 13 2 7 6 -1. <_> 13 4 7 2 3. <_> <_> 16 10 4 4 -1. <_> 16 10 2 2 2. <_> 18 12 2 2 2. <_> <_> 11 10 2 2 -1. <_> 11 11 2 1 2. <_> <_> 6 13 3 3 -1. <_> 6 14 3 1 3. <_> <_> 4 14 4 2 -1. <_> 4 15 4 1 2. <_> <_> 0 9 2 1 -1. <_> 1 9 1 1 2. <_> <_> 7 6 4 8 -1. <_> 7 10 4 4 2. <_> <_> 9 17 7 3 -1. <_> 9 18 7 1 3. <_> <_> 7 12 2 3 -1. <_> 7 13 2 1 3. <_> <_> 12 17 4 3 -1. <_> 12 18 4 1 3. <_> <_> 11 7 9 11 -1. <_> 14 7 3 11 3. <_> <_> 16 14 4 5 -1. <_> 18 14 2 5 2. <_> <_> 9 2 3 4 -1. <_> 10 2 1 4 3. <_> <_> 3 11 2 8 -1. <_> 3 11 1 4 2. <_> 4 15 1 4 2. <_> <_> 13 2 6 18 -1. <_> 13 2 3 9 2. <_> 16 11 3 9 2. <_> <_> 9 12 5 2 -1. <_> 9 13 5 1 2. <_> <_> 11 8 4 10 -1. <_> 11 8 2 5 2. <_> 13 13 2 5 2. <_> <_> 0 11 20 1 -1. <_> 10 11 10 1 2. <_> <_> 1 12 1 2 -1. <_> 1 13 1 1 2. <_> <_> 6 7 6 3 -1. <_> 8 7 2 3 3. <_> <_> 8 5 10 3 -1. <_> 13 5 5 3 2. <_> <_> 5 5 4 6 -1. <_> 5 7 4 2 3. <_> <_> 5 11 6 3 -1. <_> 8 11 3 3 2. <_> <_> 2 8 3 7 -1. <_> 3 8 1 7 3. <_> <_> 2 10 3 6 -1. <_> 3 10 1 6 3. <_> <_> 14 0 2 2 -1. <_> 15 0 1 2 2. <_> <_> 8 7 4 4 -1. <_> 8 7 2 2 2. <_> 10 9 2 2 2. <_> <_> 4 13 4 3 -1. <_> 4 14 4 1 3. <_> <_> 8 11 6 2 -1. <_> 8 12 6 1 2. <_> <_> 17 3 1 4 -1. <_> 17 5 1 2 2. <_> <_> 6 13 2 3 -1. <_> 6 14 2 1 3. <_> <_> 7 9 6 8 -1. <_> 7 9 3 4 2. <_> 10 13 3 4 2. <_> <_> 5 15 2 3 -1. <_> 5 16 2 1 3. <_> <_> 7 10 4 9 -1. <_> 7 13 4 3 3. <_> <_> 5 4 2 1 -1. <_> 6 4 1 1 2. <_> <_> 0 1 6 19 -1. <_> 2 1 2 19 3. <_> <_> 5 8 6 2 -1. <_> 8 8 3 2 2. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 9 12 2 4 -1. <_> 9 12 1 2 2. <_> 10 14 1 2 2. <_> <_> 12 7 2 10 -1. <_> 12 12 2 5 2. <_> <_> 10 6 6 8 -1. <_> 10 10 6 4 2. <_> <_> 4 3 2 6 -1. <_> 5 3 1 6 2. <_> <_> 4 6 3 3 -1. <_> 5 6 1 3 3. <_> <_> 10 7 2 8 -1. <_> 10 7 1 4 2. <_> 11 11 1 4 2. <_> <_> 2 0 6 10 -1. <_> 2 5 6 5 2. <_> <_> 8 10 6 2 -1. <_> 8 11 6 1 2. <_> <_> 10 0 2 1 -1. <_> 11 0 1 1 2. <_> <_> 4 16 4 3 -1. <_> 4 17 4 1 3. <_> <_> 7 4 3 2 -1. <_> 8 4 1 2 3. <_> <_> 7 5 3 1 -1. <_> 8 5 1 1 3. <_> <_> 5 5 6 3 -1. <_> 5 6 6 1 3. <_> <_> 5 5 5 3 -1. <_> 5 6 5 1 3. <_> <_> 10 7 6 9 -1. <_> 10 10 6 3 3. <_> <_> 17 4 1 2 -1. <_> 17 5 1 1 2. <_> <_> 4 9 10 4 -1. <_> 4 9 5 2 2. <_> 9 11 5 2 2. <_> <_> 5 6 3 10 -1. <_> 5 11 3 5 2. <_> <_> 2 13 18 5 -1. <_> 11 13 9 5 2. <_> <_> 5 12 3 3 -1. <_> 5 13 3 1 3. <_> <_> 9 12 2 4 -1. <_> 9 14 2 2 2. <_> <_> 5 11 15 6 -1. <_> 5 13 15 2 3. <_> <_> 16 0 4 6 -1. <_> 16 0 2 3 2. <_> 18 3 2 3 2. <_> <_> 11 12 2 2 -1. <_> 11 12 1 1 2. <_> 12 13 1 1 2. <_> <_> 6 6 3 5 -1. <_> 7 6 1 5 3. <_> <_> 13 13 2 1 -1. <_> 14 13 1 1 2. <_> <_> 5 8 3 2 -1. <_> 6 8 1 2 3. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 16 12 3 1 -1. <_> 17 12 1 1 3. <_> <_> 8 5 12 8 -1. <_> 14 5 6 8 2. <_> <_> 5 13 4 4 -1. <_> 5 13 2 2 2. <_> 7 15 2 2 2. <_> <_> 5 7 2 3 -1. <_> 6 7 1 3 2. <_> <_> 9 2 2 10 -1. <_> 9 2 1 5 2. <_> 10 7 1 5 2. <_> <_> 9 14 1 2 -1. <_> 9 15 1 1 2. <_> <_> 15 7 2 4 -1. <_> 15 9 2 2 2. <_> <_> 7 5 4 3 -1. <_> 7 6 4 1 3. <_> <_> 3 10 8 2 -1. <_> 7 10 4 2 2. <_> <_> 13 8 2 2 -1. <_> 13 9 2 1 2. <_> <_> 9 6 2 3 -1. <_> 9 7 2 1 3. <_> <_> 13 10 5 2 -1. <_> 13 11 5 1 2. <_> <_> 16 11 2 2 -1. <_> 16 11 1 1 2. <_> 17 12 1 1 2. <_> <_> 0 10 2 4 -1. <_> 0 10 1 2 2. <_> 1 12 1 2 2. <_> <_> 0 8 2 8 -1. <_> 0 8 1 4 2. <_> 1 12 1 4 2. <_> <_> 6 14 5 3 -1. <_> 6 15 5 1 3. <_> <_> 18 8 2 4 -1. <_> 19 8 1 4 2. <_> <_> 14 2 3 1 -1. <_> 15 2 1 1 3. <_> <_> 9 13 3 3 -1. <_> 9 14 3 1 3. <_> <_> 5 13 6 3 -1. <_> 5 14 6 1 3. <_> <_> 12 12 1 3 -1. <_> 12 13 1 1 3. <_> <_> 2 14 14 6 -1. <_> 2 17 14 3 2. <_> <_> 7 5 2 4 -1. <_> 7 5 1 2 2. <_> 8 7 1 2 2. <_> <_> 5 17 2 2 -1. <_> 5 17 1 1 2. <_> 6 18 1 1 2. <_> <_> 9 3 3 5 -1. <_> 10 3 1 5 3. <_> <_> 6 17 4 3 -1. <_> 6 18 4 1 3. <_> <_> 10 0 6 4 -1. <_> 12 0 2 4 3. <_> <_> 4 8 6 10 -1. <_> 4 8 3 5 2. <_> 7 13 3 5 2. <_> <_> 4 3 2 6 -1. <_> 5 3 1 6 2. <_> <_> 3 4 6 6 -1. <_> 5 4 2 6 3. <_> <_> 5 8 2 8 -1. <_> 5 12 2 4 2. <_> <_> 5 11 2 2 -1. <_> 5 12 2 1 2. <_> <_> 12 13 1 3 -1. <_> 12 14 1 1 3. <_> <_> 5 1 4 15 -1. <_> 5 6 4 5 3. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 6 11 3 3 -1. <_> 6 12 3 1 3. <_> <_> 11 0 3 3 -1. <_> 12 0 1 3 3. <_> <_> 2 2 15 3 -1. <_> 7 2 5 3 3. <_> <_> 4 0 16 5 -1. <_> 12 0 8 5 2. <_> <_> 13 7 6 8 -1. <_> 13 11 6 4 2. <_> <_> 9 9 3 4 -1. <_> 9 11 3 2 2. <_> <_> 5 2 6 16 -1. <_> 5 2 3 8 2. <_> 8 10 3 8 2. <_> <_> 10 7 6 3 -1. <_> 13 7 3 3 2. <_> <_> 12 11 2 1 -1. <_> 13 11 1 1 2. <_> <_> 0 0 1 8 -1. <_> 0 4 1 4 2. <_> <_> 9 7 2 3 -1. <_> 9 8 2 1 3. <_> <_> 6 5 4 15 -1. <_> 8 5 2 15 2. <_> <_> 7 7 2 2 -1. <_> 8 7 1 2 2. <_> <_> 1 3 1 2 -1. <_> 1 4 1 1 2. <_> <_> 6 2 6 11 -1. <_> 9 2 3 11 2. <_> <_> 9 6 9 6 -1. <_> 9 8 9 2 3. <_> <_> 9 8 3 3 -1. <_> 9 9 3 1 3. <_> <_> 6 8 2 3 -1. <_> 6 9 2 1 3. <_> <_> 13 1 2 8 -1. <_> 13 5 2 4 2. <_> <_> 6 0 6 4 -1. <_> 6 2 6 2 2. <_> <_> 0 6 20 14 -1. <_> 10 6 10 14 2. <_> <_> 8 0 12 6 -1. <_> 8 0 6 3 2. <_> 14 3 6 3 2. <_> <_> 8 7 9 9 -1. <_> 8 10 9 3 3. <_> <_> 10 14 6 6 -1. <_> 10 14 3 3 2. <_> 13 17 3 3 2. <_> <_> 8 7 4 10 -1. <_> 8 7 2 5 2. <_> 10 12 2 5 2. <_> <_> 15 4 3 3 -1. <_> 15 5 3 1 3. <_> <_> 14 0 6 6 -1. <_> 16 0 2 6 3. <_> <_> 5 9 10 6 -1. <_> 5 9 5 3 2. <_> 10 12 5 3 2. <_> <_> 11 12 2 1 -1. <_> 12 12 1 1 2. <_> <_> 11 7 3 7 -1. <_> 12 7 1 7 3. <_> <_> 9 0 2 18 -1. <_> 9 0 1 9 2. <_> 10 9 1 9 2. <_> <_> 3 6 3 4 -1. <_> 4 6 1 4 3. <_> <_> 14 10 2 2 -1. <_> 14 10 1 1 2. <_> 15 11 1 1 2. <_> <_> 4 7 3 2 -1. <_> 5 7 1 2 3. <_> <_> 10 14 4 3 -1. <_> 10 15 4 1 3. <_> <_> 12 12 2 3 -1. <_> 12 13 2 1 3. <_> <_> 3 0 2 8 -1. <_> 3 0 1 4 2. <_> 4 4 1 4 2. <_> <_> 14 4 5 3 -1. <_> 14 5 5 1 3. <_> <_> 6 16 1 3 -1. <_> 6 17 1 1 3. <_> <_> 5 16 2 3 -1. <_> 5 17 2 1 3. <_> <_> 4 6 10 6 -1. <_> 4 6 5 3 2. <_> 9 9 5 3 2. <_> <_> 9 14 7 4 -1. <_> 9 16 7 2 2. <_> <_> 10 11 2 4 -1. <_> 10 11 1 2 2. <_> 11 13 1 2 2. <_> <_> 5 12 4 3 -1. <_> 5 13 4 1 3. <_> <_> 5 13 3 2 -1. <_> 5 14 3 1 2. <_> <_> 7 13 8 4 -1. <_> 7 15 8 2 2. <_> <_> 8 4 3 1 -1. <_> 9 4 1 1 3. <_> <_> 6 1 1 4 -1. <_> 6 3 1 2 2. <_> <_> 8 0 12 6 -1. <_> 8 0 6 3 2. <_> 14 3 6 3 2. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 7 4 3 1 -1. <_> 8 4 1 1 3. <_> <_> 7 9 2 2 -1. <_> 7 9 1 1 2. <_> 8 10 1 1 2. <_> <_> 15 14 4 6 -1. <_> 15 14 2 3 2. <_> 17 17 2 3 2. <_> <_> 7 9 1 4 -1. <_> 7 11 1 2 2. <_> <_> 10 11 3 9 -1. <_> 11 11 1 9 3. <_> <_> 17 11 3 1 -1. <_> 18 11 1 1 3. <_> <_> 17 11 3 1 -1. <_> 18 11 1 1 3. <_> <_> 0 1 1 2 -1. <_> 0 2 1 1 2. <_> <_> 9 15 7 3 -1. <_> 9 16 7 1 3. <_> <_> 15 0 2 2 -1. <_> 16 0 1 2 2. <_> <_> 5 0 1 14 -1. <_> 5 7 1 7 2. <_> <_> 7 3 1 2 -1. <_> 7 4 1 1 2. <_> <_> 7 0 4 6 -1. <_> 7 2 4 2 3. <_> <_> 7 2 3 2 -1. <_> 8 2 1 2 3. <_> <_> 5 12 4 3 -1. <_> 5 13 4 1 3. <_> <_> 18 5 1 2 -1. <_> 18 6 1 1 2. <_> <_> 18 0 2 10 -1. <_> 18 0 1 5 2. <_> 19 5 1 5 2. <_> <_> 0 2 13 6 -1. <_> 0 4 13 2 3. <_> <_> 0 0 2 2 -1. <_> 0 0 1 1 2. <_> 1 1 1 1 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 6 12 2 4 -1. <_> 7 12 1 4 2. <_> <_> 7 9 4 10 -1. <_> 9 9 2 10 2. <_> <_> 2 0 9 16 -1. <_> 2 8 9 8 2. <_> <_> 10 3 2 8 -1. <_> 10 3 1 4 2. <_> 11 7 1 4 2. <_> <_> 1 2 12 3 -1. <_> 5 2 4 3 3. <_> <_> 4 6 2 3 -1. <_> 5 6 1 3 2. <_> <_> 1 7 6 10 -1. <_> 3 7 2 10 3. <_> <_> 1 14 2 1 -1. <_> 2 14 1 1 2. <_> <_> 11 12 1 2 -1. <_> 11 13 1 1 2. <_> <_> 12 8 3 5 -1. <_> 13 8 1 5 3. <_> <_> 6 5 9 6 -1. <_> 6 7 9 2 3. <_> <_> 13 8 2 3 -1. <_> 13 9 2 1 3. <_> <_> 7 15 6 4 -1. <_> 7 15 3 2 2. <_> 10 17 3 2 2. <_> <_> 10 15 6 3 -1. <_> 10 16 6 1 3. <_> <_> 3 2 2 6 -1. <_> 3 2 1 3 2. <_> 4 5 1 3 2. <_> <_> 10 15 3 5 -1. <_> 11 15 1 5 3. <_> <_> 12 9 5 2 -1. <_> 12 10 5 1 2. <_> <_> 4 11 10 1 -1. <_> 9 11 5 1 2. <_> <_> 6 12 6 2 -1. <_> 6 12 3 1 2. <_> 9 13 3 1 2. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 3 12 8 4 -1. <_> 3 12 4 2 2. <_> 7 14 4 2 2. <_> <_> 0 3 1 3 -1. <_> 0 4 1 1 3. <_> <_> 10 12 2 1 -1. <_> 11 12 1 1 2. <_> <_> 3 10 3 6 -1. <_> 3 12 3 2 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 8 7 4 6 -1. <_> 8 9 4 2 3. <_> <_> 12 11 1 3 -1. <_> 12 12 1 1 3. <_> <_> 12 11 2 3 -1. <_> 12 12 2 1 3. <_> <_> 6 10 2 2 -1. <_> 6 10 1 1 2. <_> 7 11 1 1 2. <_> <_> 3 10 9 6 -1. <_> 3 13 9 3 2. <_> <_> 4 8 7 10 -1. <_> 4 13 7 5 2. <_> <_> 6 8 11 3 -1. <_> 6 9 11 1 3. <_> <_> 6 5 1 14 -1. <_> 6 12 1 7 2. <_> <_> 13 6 5 10 -1. <_> 13 11 5 5 2. <_> <_> 2 0 13 15 -1. <_> 2 5 13 5 3. <_> <_> 6 7 2 2 -1. <_> 7 7 1 2 2. <_> <_> 4 5 9 4 -1. <_> 7 5 3 4 3. <_> <_> 6 7 3 3 -1. <_> 7 7 1 3 3. <_> <_> 8 1 3 4 -1. <_> 9 1 1 4 3. <_> <_> 8 11 7 2 -1. <_> 8 12 7 1 2. <_> <_> 4 7 3 2 -1. <_> 5 7 1 2 3. <_> <_> 4 14 2 6 -1. <_> 4 14 1 3 2. <_> 5 17 1 3 2. <_> <_> 0 7 8 13 -1. <_> 4 7 4 13 2. <_> <_> 6 3 4 9 -1. <_> 8 3 2 9 2. <_> <_> 9 12 2 3 -1. <_> 9 13 2 1 3. <_> <_> 16 14 2 6 -1. <_> 16 14 1 3 2. <_> 17 17 1 3 2. <_> <_> 11 14 2 3 -1. <_> 11 15 2 1 3. <_> <_> 11 14 1 2 -1. <_> 11 15 1 1 2. <_> <_> 8 8 3 2 -1. <_> 8 9 3 1 2. <_> <_> 13 1 3 5 -1. <_> 14 1 1 5 3. <_> <_> 6 15 8 2 -1. <_> 6 15 4 1 2. <_> 10 16 4 1 2. <_> <_> 13 2 3 4 -1. <_> 14 2 1 4 3. <_> <_> 1 8 1 6 -1. <_> 1 10 1 2 3. <_> <_> 12 0 8 2 -1. <_> 12 0 4 1 2. <_> 16 1 4 1 2. <_> <_> 5 8 3 1 -1. <_> 6 8 1 1 3. <_> <_> 7 5 2 4 -1. <_> 8 5 1 4 2. <_> <_> 7 2 2 1 -1. <_> 8 2 1 1 2. <_> <_> 0 4 2 3 -1. <_> 0 5 2 1 3. <_> <_> 3 17 2 2 -1. <_> 3 17 1 1 2. <_> 4 18 1 1 2. <_> <_> 6 0 12 9 -1. <_> 12 0 6 9 2. <_> <_> 7 0 12 3 -1. <_> 11 0 4 3 3. <_> <_> 14 0 6 6 -1. <_> 14 0 3 3 2. <_> 17 3 3 3 2. <_> <_> 15 2 1 2 -1. <_> 15 3 1 1 2. <_> <_> 8 2 1 6 -1. <_> 8 4 1 2 3. <_> <_> 5 7 3 2 -1. <_> 6 7 1 2 3. <_> <_> 6 7 4 6 -1. <_> 6 10 4 3 2. <_> <_> 8 6 10 2 -1. <_> 13 6 5 2 2. <_> <_> 2 1 4 15 -1. <_> 4 1 2 15 2. <_> <_> 5 9 3 6 -1. <_> 5 12 3 3 2. <_> <_> 12 11 2 1 -1. <_> 13 11 1 1 2. <_> <_> 6 4 6 2 -1. <_> 8 4 2 2 3. <_> <_> 12 9 4 8 -1. <_> 12 13 4 4 2. <_> <_> 15 8 2 4 -1. <_> 15 10 2 2 2. <_> <_> 6 12 3 3 -1. <_> 6 13 3 1 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 5 10 4 6 -1. <_> 7 10 2 6 2. <_> <_> 7 8 2 9 -1. <_> 7 11 2 3 3. <_> <_> 5 13 4 3 -1. <_> 5 14 4 1 3. <_> <_> 11 12 2 2 -1. <_> 11 12 1 1 2. <_> 12 13 1 1 2. <_> <_> 5 13 5 3 -1. <_> 5 14 5 1 3. <_> <_> 4 9 8 1 -1. <_> 8 9 4 1 2. <_> <_> 12 0 8 6 -1. <_> 12 0 4 3 2. <_> 16 3 4 3 2. <_> <_> 11 12 1 2 -1. <_> 11 13 1 1 2. <_> <_> 8 4 3 3 -1. <_> 9 4 1 3 3. <_> <_> 8 0 7 15 -1. <_> 8 5 7 5 3. <_> <_> 3 0 8 4 -1. <_> 3 0 4 2 2. <_> 7 2 4 2 2. <_> <_> 0 11 20 1 -1. <_> 10 11 10 1 2. <_> <_> 3 14 3 2 -1. <_> 4 14 1 2 3. <_> <_> 3 11 3 8 -1. <_> 4 11 1 8 3. <_> <_> 7 13 2 5 -1. <_> 8 13 1 5 2. <_> <_> 14 4 3 3 -1. <_> 14 5 3 1 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 6 12 1 2 -1. <_> 6 13 1 1 2. <_> <_> 5 13 3 1 -1. <_> 6 13 1 1 3. <_> <_> 12 11 1 3 -1. <_> 12 12 1 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 9 1 3 -1. <_> 5 10 1 1 3. <_> <_> 1 9 12 9 -1. <_> 1 12 12 3 3. <_> <_> 12 14 3 3 -1. <_> 12 15 3 1 3. <_> <_> 10 14 5 3 -1. <_> 10 15 5 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 5 11 2 6 -1. <_> 5 14 2 3 2. <_> <_> 6 5 2 14 -1. <_> 6 12 2 7 2. <_> <_> 2 8 5 2 -1. <_> 2 9 5 1 2. <_> <_> 10 14 1 2 -1. <_> 10 15 1 1 2. <_> <_> 7 14 4 6 -1. <_> 7 16 4 2 3. <_> <_> 8 12 3 1 -1. <_> 9 12 1 1 3. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 3 6 3 4 -1. <_> 4 6 1 4 3. <_> <_> 4 4 3 8 -1. <_> 4 8 3 4 2. <_> <_> 12 5 2 2 -1. <_> 12 6 2 1 2. <_> <_> 16 10 2 2 -1. <_> 16 10 1 1 2. <_> 17 11 1 1 2. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 7 0 5 8 -1. <_> 7 4 5 4 2. <_> <_> 4 5 8 10 -1. <_> 4 5 4 5 2. <_> 8 10 4 5 2. <_> <_> 7 5 3 3 -1. <_> 7 6 3 1 3. <_> <_> 10 6 10 14 -1. <_> 10 13 10 7 2. <_> <_> 8 6 2 3 -1. <_> 8 7 2 1 3. <_> <_> 13 10 1 4 -1. <_> 13 12 1 2 2. <_> <_> 3 9 12 4 -1. <_> 3 9 6 2 2. <_> 9 11 6 2 2. <_> <_> 7 14 3 6 -1. <_> 7 16 3 2 3. <_> <_> 10 10 3 2 -1. <_> 11 10 1 2 3. <_> <_> 3 4 10 4 -1. <_> 3 4 5 2 2. <_> 8 6 5 2 2. <_> <_> 4 10 4 3 -1. <_> 4 11 4 1 3. <_> <_> 5 3 6 4 -1. <_> 5 3 3 2 2. <_> 8 5 3 2 2. <_> <_> 6 8 6 10 -1. <_> 9 8 3 10 2. <_> <_> 10 15 6 3 -1. <_> 10 16 6 1 3. <_> <_> 3 4 3 7 -1. <_> 4 4 1 7 3. <_> <_> 3 3 3 11 -1. <_> 4 3 1 11 3. <_> <_> 7 14 5 3 -1. <_> 7 15 5 1 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 9 0 3 4 -1. <_> 10 0 1 4 3. <_> <_> 11 1 3 1 -1. <_> 12 1 1 1 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 0 10 2 1 -1. <_> 1 10 1 1 2. <_> <_> 17 0 2 8 -1. <_> 17 0 1 4 2. <_> 18 4 1 4 2. <_> <_> 6 7 6 2 -1. <_> 8 7 2 2 3. <_> <_> 5 7 6 9 -1. <_> 8 7 3 9 2. <_> <_> 6 8 9 3 -1. <_> 9 8 3 3 3. <_> <_> 11 7 6 4 -1. <_> 13 7 2 4 3. <_> <_> 8 5 2 2 -1. <_> 9 5 1 2 2. <_> <_> 15 3 4 10 -1. <_> 15 8 4 5 2. <_> <_> 9 2 1 2 -1. <_> 9 3 1 1 2. <_> <_> 7 15 8 2 -1. <_> 7 15 4 1 2. <_> 11 16 4 1 2. <_> <_> 6 5 2 9 -1. <_> 7 5 1 9 2. <_> <_> 6 6 2 4 -1. <_> 7 6 1 4 2. <_> <_> 10 15 2 4 -1. <_> 11 15 1 4 2. <_> <_> 9 17 3 2 -1. <_> 10 17 1 2 3. <_> <_> 12 9 7 4 -1. <_> 12 11 7 2 2. <_> <_> 5 9 9 3 -1. <_> 8 9 3 3 3. <_> <_> 5 8 6 5 -1. <_> 8 8 3 5 2. <_> <_> 7 16 4 3 -1. <_> 7 17 4 1 3. <_> <_> 15 4 4 3 -1. <_> 15 5 4 1 3. <_> <_> 16 10 2 2 -1. <_> 16 10 1 1 2. <_> 17 11 1 1 2. <_> <_> 5 6 6 9 -1. <_> 8 6 3 9 2. <_> <_> 10 0 10 6 -1. <_> 10 0 5 3 2. <_> 15 3 5 3 2. <_> <_> 13 14 1 2 -1. <_> 13 15 1 1 2. <_> <_> 10 4 3 1 -1. <_> 11 4 1 1 3. <_> <_> 6 16 1 3 -1. <_> 6 17 1 1 3. <_> <_> 11 13 4 3 -1. <_> 11 14 4 1 3. <_> <_> 14 10 6 6 -1. <_> 14 10 3 3 2. <_> 17 13 3 3 2. <_> <_> 1 1 1 2 -1. <_> 1 2 1 1 2. <_> <_> 6 15 1 3 -1. <_> 6 16 1 1 3. <_> <_> 7 15 1 3 -1. <_> 7 16 1 1 3. <_> <_> 8 16 3 2 -1. <_> 9 16 1 2 3. <_> <_> 5 8 3 9 -1. <_> 6 8 1 9 3. <_> <_> 3 3 2 10 -1. <_> 3 3 1 5 2. <_> 4 8 1 5 2. <_> <_> 3 6 3 1 -1. <_> 4 6 1 1 3. <_> <_> 2 0 2 1 -1. <_> 3 0 1 1 2. <_> <_> 7 13 2 3 -1. <_> 7 14 2 1 3. <_> <_> 7 9 1 9 -1. <_> 7 12 1 3 3. <_> <_> 7 8 1 9 -1. <_> 7 11 1 3 3. <_> <_> 15 7 3 10 -1. <_> 16 7 1 10 3. <_> <_> 14 7 6 10 -1. <_> 16 7 2 10 3. <_> <_> 2 12 18 6 -1. <_> 2 14 18 2 3. <_> <_> 0 9 12 1 -1. <_> 4 9 4 1 3. <_> <_> 1 7 3 6 -1. <_> 2 7 1 6 3. <_> <_> 5 6 8 1 -1. <_> 9 6 4 1 2. <_> <_> 10 14 2 1 -1. <_> 11 14 1 1 2. <_> <_> 14 8 6 10 -1. <_> 16 8 2 10 3. <_> <_> 10 5 8 7 -1. <_> 14 5 4 7 2. <_> <_> 8 5 8 4 -1. <_> 8 5 4 2 2. <_> 12 7 4 2 2. <_> <_> 11 11 1 8 -1. <_> 11 15 1 4 2. <_> <_> 5 6 2 4 -1. <_> 6 6 1 4 2. <_> <_> 7 8 2 2 -1. <_> 7 9 2 1 2. <_> <_> 0 2 8 11 -1. <_> 4 2 4 11 2. <_> <_> 8 6 8 8 -1. <_> 8 10 8 4 2. <_> <_> 4 4 2 6 -1. <_> 5 4 1 6 2. <_> <_> 13 12 1 2 -1. <_> 13 13 1 1 2. <_> <_> 3 8 3 2 -1. <_> 4 8 1 2 3. <_> <_> 13 12 1 3 -1. <_> 13 13 1 1 3. <_> <_> 9 19 4 1 -1. <_> 11 19 2 1 2. <_> <_> 15 4 2 3 -1. <_> 15 5 2 1 3. <_> <_> 5 11 11 4 -1. <_> 5 13 11 2 2. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 6 12 4 4 -1. <_> 6 14 4 2 2. <_> <_> 7 11 1 3 -1. <_> 7 12 1 1 3. <_> <_> 9 10 3 3 -1. <_> 10 10 1 3 3. <_> <_> 10 12 2 1 -1. <_> 11 12 1 1 2. <_> <_> 7 1 12 16 -1. <_> 7 1 6 8 2. <_> 13 9 6 8 2. <_> <_> 10 5 8 7 -1. <_> 14 5 4 7 2. <_> <_> 18 8 2 10 -1. <_> 18 8 1 5 2. <_> 19 13 1 5 2. <_> <_> 12 11 2 2 -1. <_> 13 11 1 2 2. <_> <_> 3 15 3 1 -1. <_> 4 15 1 1 3. <_> <_> 5 14 2 1 -1. <_> 6 14 1 1 2. <_> <_> 11 9 1 2 -1. <_> 11 10 1 1 2. <_> <_> 10 12 3 1 -1. <_> 11 12 1 1 3. <_> <_> 5 9 7 2 -1. <_> 5 10 7 1 2. <_> <_> 11 0 2 1 -1. <_> 12 0 1 1 2. <_> <_> 11 0 2 2 -1. <_> 12 0 1 2 2. <_> <_> 5 0 2 2 -1. <_> 5 0 1 1 2. <_> 6 1 1 1 2. <_> <_> 8 3 12 6 -1. <_> 8 5 12 2 3. <_> <_> 17 0 3 12 -1. <_> 18 0 1 12 3. <_> <_> 11 1 2 1 -1. <_> 12 1 1 1 2. <_> <_> 5 5 2 1 -1. <_> 6 5 1 1 2. <_> <_> 7 14 6 6 -1. <_> 7 14 3 3 2. <_> 10 17 3 3 2. <_> <_> 11 10 1 2 -1. <_> 11 11 1 1 2. <_> <_> 3 9 12 4 -1. <_> 3 9 6 2 2. <_> 9 11 6 2 2. <_> <_> 5 10 1 2 -1. <_> 5 11 1 1 2. <_> <_> 6 10 2 1 -1. <_> 7 10 1 1 2. <_> <_> 8 16 3 2 -1. <_> 9 16 1 2 3. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 7 15 3 2 -1. <_> 8 15 1 2 3. <_> <_> 8 15 2 1 -1. <_> 9 15 1 1 2. <_> <_> 5 10 4 3 -1. <_> 5 11 4 1 3. <_> <_> 6 7 4 12 -1. <_> 8 7 2 12 2. <_> <_> 5 6 6 7 -1. <_> 8 6 3 7 2. <_> <_> 8 4 6 11 -1. <_> 11 4 3 11 2. <_> <_> 7 9 6 3 -1. <_> 9 9 2 3 3. <_> <_> 0 5 1 2 -1. <_> 0 6 1 1 2. <_> <_> 6 8 3 1 -1. <_> 7 8 1 1 3. <_> <_> 12 1 2 2 -1. <_> 13 1 1 2 2. <_> <_> 4 4 10 12 -1. <_> 4 4 5 6 2. <_> 9 10 5 6 2. <_> <_> 5 18 2 2 -1. <_> 5 18 1 1 2. <_> 6 19 1 1 2. <_> <_> 6 3 3 3 -1. <_> 7 3 1 3 3. <_> <_> 5 12 2 3 -1. <_> 5 13 2 1 3. <_> <_> 11 15 2 3 -1. <_> 11 16 2 1 3. <_> <_> 11 15 1 3 -1. <_> 11 16 1 1 3. <_> <_> 6 7 3 2 -1. <_> 7 7 1 2 3. <_> <_> 3 11 14 1 -1. <_> 10 11 7 1 2. <_> <_> 5 7 3 1 -1. <_> 6 7 1 1 3. <_> <_> 14 9 3 3 -1. <_> 14 10 3 1 3. <_> <_> 4 17 2 2 -1. <_> 4 17 1 1 2. <_> 5 18 1 1 2. <_> <_> 15 16 2 2 -1. <_> 15 17 2 1 2. <_> <_> 18 12 2 2 -1. <_> 18 12 1 1 2. <_> 19 13 1 1 2. <_> <_> 5 11 4 3 -1. <_> 7 11 2 3 2. <_> <_> 9 7 2 3 -1. <_> 9 8 2 1 3. <_> <_> 18 6 2 2 -1. <_> 18 7 2 1 2. <_> <_> 18 6 2 2 -1. <_> 18 7 2 1 2. <_> <_> 4 5 2 6 -1. <_> 4 7 2 2 3. <_> <_> 3 11 6 4 -1. <_> 3 11 3 2 2. <_> 6 13 3 2 2. <_> <_> 1 10 3 3 -1. <_> 2 10 1 3 3. <_> <_> 15 0 4 4 -1. <_> 15 0 2 2 2. <_> 17 2 2 2 2. <_> <_> 5 6 4 10 -1. <_> 5 11 4 5 2. <_> <_> 7 13 1 3 -1. <_> 7 14 1 1 3. <_> <_> 3 10 16 4 -1. <_> 3 10 8 2 2. <_> 11 12 8 2 2. <_> <_> 7 14 1 3 -1. <_> 7 15 1 1 3. <_> <_> 5 14 3 3 -1. <_> 5 15 3 1 3. <_> <_> 9 9 3 8 -1. <_> 10 9 1 8 3. <_> <_> 6 0 7 4 -1. <_> 6 2 7 2 2. <_> <_> 8 0 1 4 -1. <_> 8 2 1 2 2. <_> <_> 1 4 1 6 -1. <_> 1 6 1 2 3. <_> <_> 0 2 15 3 -1. <_> 5 2 5 3 3. <_> <_> 0 8 2 2 -1. <_> 0 9 2 1 2. <_> <_> 3 10 6 4 -1. <_> 5 10 2 4 3. <_> <_> 8 5 3 1 -1. <_> 9 5 1 1 3. <_> <_> 15 11 2 2 -1. <_> 15 11 1 1 2. <_> 16 12 1 1 2. <_> <_> 4 11 6 2 -1. <_> 7 11 3 2 2. <_> <_> 6 8 6 4 -1. <_> 8 8 2 4 3. <_> <_> 6 5 6 6 -1. <_> 8 5 2 6 3. <_> <_> 14 12 2 3 -1. <_> 15 12 1 3 2. <_> <_> 11 5 3 7 -1. <_> 12 5 1 7 3. <_> <_> 7 16 8 4 -1. <_> 7 16 4 2 2. <_> 11 18 4 2 2. <_> <_> 5 16 12 4 -1. <_> 5 16 6 2 2. <_> 11 18 6 2 2. <_> <_> 10 17 6 3 -1. <_> 10 18 6 1 3. <_> <_> 6 8 2 3 -1. <_> 6 9 2 1 3. <_> <_> 0 0 20 18 -1. <_> 10 0 10 18 2. <_> <_> 8 0 6 5 -1. <_> 11 0 3 5 2. <_> <_> 13 5 4 2 -1. <_> 13 5 2 1 2. <_> 15 6 2 1 2. <_> <_> 10 4 4 11 -1. <_> 12 4 2 11 2. <_> <_> 5 10 3 1 -1. <_> 6 10 1 1 3. <_> <_> 17 4 2 3 -1. <_> 17 5 2 1 3. <_> <_> 6 13 8 6 -1. <_> 6 13 4 3 2. <_> 10 16 4 3 2. <_> <_> 17 5 3 10 -1. <_> 18 5 1 10 3. <_> <_> 13 11 2 2 -1. <_> 14 11 1 2 2. <_> <_> 5 9 4 9 -1. <_> 5 12 4 3 3. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 15 15 2 2 -1. <_> 15 15 1 1 2. <_> 16 16 1 1 2. <_> <_> 6 13 6 5 -1. <_> 8 13 2 5 3. <_> <_> 9 7 2 8 -1. <_> 9 7 1 4 2. <_> 10 11 1 4 2. <_> <_> 4 12 2 2 -1. <_> 4 12 1 1 2. <_> 5 13 1 1 2. <_> <_> 7 4 3 1 -1. <_> 8 4 1 1 3. <_> <_> 12 3 3 4 -1. <_> 13 3 1 4 3. <_> <_> 2 0 18 20 -1. <_> 2 10 18 10 2. <_> <_> 11 2 7 12 -1. <_> 11 8 7 6 2. <_> <_> 13 5 2 2 -1. <_> 14 5 1 2 2. <_> <_> 4 17 4 1 -1. <_> 6 17 2 1 2. <_> <_> 3 14 4 4 -1. <_> 5 14 2 4 2. <_> <_> 0 2 8 18 -1. <_> 0 11 8 9 2. <_> <_> 5 7 3 3 -1. <_> 5 8 3 1 3. <_> <_> 8 2 3 2 -1. <_> 9 2 1 2 3. <_> <_> 5 7 15 4 -1. <_> 5 9 15 2 2. <_> <_> 10 0 10 8 -1. <_> 10 0 5 4 2. <_> 15 4 5 4 2. <_> <_> 10 8 4 4 -1. <_> 10 8 2 2 2. <_> 12 10 2 2 2. <_> <_> 5 6 3 10 -1. <_> 5 11 3 5 2. <_> <_> 7 6 3 4 -1. <_> 8 6 1 4 3. <_> <_> 12 13 2 2 -1. <_> 12 14 2 1 2. <_> <_> 7 8 4 12 -1. <_> 7 12 4 4 3. <_> <_> 0 0 6 18 -1. <_> 2 0 2 18 3. <_> <_> 6 1 10 6 -1. <_> 6 3 10 2 3. <_> <_> 13 9 3 2 -1. <_> 13 10 3 1 2. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 6 10 1 10 -1. <_> 6 15 1 5 2. <_> <_> 9 9 3 4 -1. <_> 9 11 3 2 2. <_> <_> 7 4 2 2 -1. <_> 7 5 2 1 2. <_> <_> 12 12 2 1 -1. <_> 13 12 1 1 2. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 1 0 1 2 -1. <_> 1 1 1 1 2. <_> <_> 10 16 6 3 -1. <_> 10 17 6 1 3. <_> <_> 9 4 4 6 -1. <_> 9 4 2 3 2. <_> 11 7 2 3 2. <_> <_> 10 9 10 1 -1. <_> 15 9 5 1 2. <_> <_> 9 11 1 2 -1. <_> 9 12 1 1 2. <_> <_> 7 8 3 6 -1. <_> 7 10 3 2 3. <_> <_> 1 18 8 2 -1. <_> 1 18 4 1 2. <_> 5 19 4 1 2. <_> <_> 5 13 3 3 -1. <_> 5 14 3 1 3. <_> <_> 4 6 5 6 -1. <_> 4 9 5 3 2. <_> <_> 6 5 2 1 -1. <_> 7 5 1 1 2. <_> <_> 11 6 1 6 -1. <_> 11 9 1 3 2. <_> <_> 6 17 4 3 -1. <_> 6 18 4 1 3. <_> <_> 10 4 2 10 -1. <_> 10 4 1 5 2. <_> 11 9 1 5 2. <_> <_> 8 4 9 13 -1. <_> 11 4 3 13 3. <_> <_> 10 11 2 2 -1. <_> 11 11 1 2 2. <_> <_> 13 15 1 2 -1. <_> 13 16 1 1 2. <_> <_> 17 0 3 13 -1. <_> 18 0 1 13 3. <_> <_> 0 0 14 10 -1. <_> 0 5 14 5 2. <_> <_> 12 5 6 15 -1. <_> 14 5 2 15 3. <_> <_> 11 10 2 3 -1. <_> 11 11 2 1 3. <_> <_> 5 14 3 3 -1. <_> 5 15 3 1 3. <_> <_> 5 15 3 2 -1. <_> 5 16 3 1 2. <_> <_> 11 14 3 6 -1. <_> 12 14 1 6 3. <_> <_> 12 18 2 1 -1. <_> 13 18 1 1 2. <_> <_> 16 5 1 2 -1. <_> 16 6 1 1 2. <_> <_> 17 8 3 4 -1. <_> 18 8 1 4 3. <_> <_> 8 15 2 3 -1. <_> 9 15 1 3 2. <_> <_> 6 7 2 4 -1. <_> 6 7 1 2 2. <_> 7 9 1 2 2. <_> <_> 3 7 12 2 -1. <_> 7 7 4 2 3. <_> <_> 4 7 3 3 -1. <_> 5 7 1 3 3. <_> <_> 1 10 2 1 -1. <_> 2 10 1 1 2. <_> <_> 4 4 2 5 -1. <_> 5 4 1 5 2. <_> <_> 6 7 14 2 -1. <_> 13 7 7 2 2. <_> <_> 14 17 2 3 -1. <_> 14 18 2 1 3. <_> <_> 6 11 1 3 -1. <_> 6 12 1 1 3. <_> <_> 11 3 8 16 -1. <_> 11 11 8 8 2. <_> <_> 9 12 5 3 -1. <_> 9 13 5 1 3. <_> <_> 5 9 1 3 -1. <_> 5 10 1 1 3. <_> <_> 3 8 8 4 -1. <_> 3 8 4 2 2. <_> 7 10 4 2 2. <_> <_> 10 15 2 3 -1. <_> 10 16 2 1 3. <_> <_> 14 9 1 6 -1. <_> 14 12 1 3 2. <_> <_> 13 11 1 3 -1. <_> 13 12 1 1 3. <_> <_> 8 7 6 6 -1. <_> 8 9 6 2 3. <_> <_> 9 8 4 3 -1. <_> 9 9 4 1 3. <_> <_> 8 2 2 5 -1. <_> 9 2 1 5 2. <_> <_> 13 6 3 3 -1. <_> 13 7 3 1 3. <_> <_> 12 0 5 14 -1. <_> 12 7 5 7 2. <_> <_> 2 2 7 10 -1. <_> 2 7 7 5 2. <_> <_> 5 5 6 11 -1. <_> 8 5 3 11 2. <_> <_> 6 17 3 3 -1. <_> 6 18 3 1 3. <_> <_> 9 5 2 8 -1. <_> 9 5 1 4 2. <_> 10 9 1 4 2. <_> <_> 14 0 4 16 -1. <_> 14 8 4 8 2. <_> <_> 10 7 1 3 -1. <_> 10 8 1 1 3. <_> <_> 7 16 3 2 -1. <_> 8 16 1 2 3. <_> <_> 10 6 1 3 -1. <_> 10 7 1 1 3. <_> <_> 5 11 14 6 -1. <_> 5 14 14 3 2. <_> <_> 9 6 1 3 -1. <_> 9 7 1 1 3. <_> <_> 6 11 5 4 -1. <_> 6 13 5 2 2. <_> <_> 6 9 10 8 -1. <_> 6 9 5 4 2. <_> 11 13 5 4 2. <_> <_> 18 9 2 6 -1. <_> 18 9 1 3 2. <_> 19 12 1 3 2. <_> <_> 5 12 8 2 -1. <_> 9 12 4 2 2. <_> <_> 8 8 6 12 -1. <_> 8 8 3 6 2. <_> 11 14 3 6 2. <_> <_> 12 7 3 5 -1. <_> 13 7 1 5 3. <_> <_> 10 13 4 3 -1. <_> 10 14 4 1 3. <_> <_> 12 4 3 15 -1. <_> 13 4 1 15 3. <_> <_> 4 12 4 2 -1. <_> 6 12 2 2 2. <_> <_> 14 1 6 1 -1. <_> 16 1 2 1 3. <_> <_> 15 3 2 8 -1. <_> 16 3 1 8 2. <_> <_> 13 16 6 4 -1. <_> 13 16 3 2 2. <_> 16 18 3 2 2. <_> <_> 9 5 6 7 -1. <_> 12 5 3 7 2. <_> <_> 18 3 2 2 -1. <_> 18 4 2 1 2. <_> <_> 2 0 18 4 -1. <_> 11 0 9 4 2. <_> <_> 0 8 2 2 -1. <_> 1 8 1 2 2. <_> <_> 4 12 3 6 -1. <_> 5 12 1 6 3. <_> <_> 3 13 4 2 -1. <_> 5 13 2 2 2. <_> <_> 4 14 11 2 -1. <_> 4 15 11 1 2. <_> <_> 4 13 8 3 -1. <_> 4 14 8 1 3. <_> <_> 3 7 6 10 -1. <_> 3 7 3 5 2. <_> 6 12 3 5 2. <_> <_> 5 7 6 4 -1. <_> 7 7 2 4 3. <_> <_> 2 11 10 6 -1. <_> 2 14 10 3 2. <_> <_> 5 7 9 12 -1. <_> 5 13 9 6 2. <_> <_> 9 12 7 4 -1. <_> 9 14 7 2 2. <_> <_> 2 0 8 4 -1. <_> 2 0 4 2 2. <_> 6 2 4 2 2. <_> <_> 4 0 4 4 -1. <_> 4 0 2 2 2. <_> 6 2 2 2 2. <_> <_> 6 2 3 2 -1. <_> 7 2 1 2 3. <_> <_> 2 11 3 4 -1. <_> 3 11 1 4 3. <_> <_> 1 17 2 1 -1. <_> 2 17 1 1 2. <_> <_> 15 12 4 3 -1. <_> 15 13 4 1 3. <_> <_> 9 15 7 3 -1. <_> 9 16 7 1 3. <_> <_> 6 7 3 2 -1. <_> 7 7 1 2 3. <_> <_> 3 5 12 10 -1. <_> 3 5 6 5 2. <_> 9 10 6 5 2. <_> <_> 4 2 12 5 -1. <_> 10 2 6 5 2. <_> <_> 9 5 3 1 -1. <_> 10 5 1 1 3. <_> <_> 2 10 3 4 -1. <_> 3 10 1 4 3. <_> <_> 11 5 2 10 -1. <_> 11 10 2 5 2. <_> <_> 8 6 7 8 -1. <_> 8 10 7 4 2. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 2 8 8 4 -1. <_> 6 8 4 4 2. <_> <_> 0 9 2 2 -1. <_> 1 9 1 2 2. <_> <_> 13 11 4 2 -1. <_> 15 11 2 2 2. <_> <_> 8 6 12 5 -1. <_> 12 6 4 5 3. <_> <_> 11 11 9 1 -1. <_> 14 11 3 1 3. <_> <_> 15 10 2 4 -1. <_> 15 10 1 2 2. <_> 16 12 1 2 2. <_> <_> 18 5 1 3 -1. <_> 18 6 1 1 3. <_> <_> 4 10 7 3 -1. <_> 4 11 7 1 3. <_> <_> 8 5 3 1 -1. <_> 9 5 1 1 3. <_> <_> 7 13 2 3 -1. <_> 7 14 2 1 3. <_> <_> 7 14 3 3 -1. <_> 7 15 3 1 3. <_> <_> 7 15 3 3 -1. <_> 7 16 3 1 3. <_> <_> 14 15 1 3 -1. <_> 14 16 1 1 3. <_> <_> 2 14 10 6 -1. <_> 2 17 10 3 2. <_> <_> 5 12 5 3 -1. <_> 5 13 5 1 3. <_> <_> 7 9 1 6 -1. <_> 7 11 1 2 3. <_> <_> 0 6 5 6 -1. <_> 0 8 5 2 3. <_> <_> 6 10 3 4 -1. <_> 6 12 3 2 2. <_> <_> 4 9 9 2 -1. <_> 4 10 9 1 2. <_> <_> 7 3 1 2 -1. <_> 7 4 1 1 2. <_> <_> 8 9 4 4 -1. <_> 8 11 4 2 2. <_> <_> 11 10 3 1 -1. <_> 12 10 1 1 3. <_> <_> 5 7 3 2 -1. <_> 5 8 3 1 2. <_> <_> 7 0 6 6 -1. <_> 7 3 6 3 2. <_> <_> 5 6 3 4 -1. <_> 6 6 1 4 3. <_> <_> 11 1 9 12 -1. <_> 14 1 3 12 3. <_> <_> 6 7 4 9 -1. <_> 6 10 4 3 3. <_> <_> 11 7 8 6 -1. <_> 11 7 4 3 2. <_> 15 10 4 3 2. <_> <_> 8 9 7 3 -1. <_> 8 10 7 1 3. <_> <_> 3 2 4 18 -1. <_> 5 2 2 18 2. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 6 11 8 6 -1. <_> 6 11 4 3 2. <_> 10 14 4 3 2. <_> <_> 5 9 4 7 -1. <_> 7 9 2 7 2. <_> <_> 5 8 6 5 -1. <_> 8 8 3 5 2. <_> <_> 7 11 1 3 -1. <_> 7 12 1 1 3. <_> <_> 15 10 3 1 -1. <_> 16 10 1 1 3. <_> <_> 10 12 2 2 -1. <_> 10 13 2 1 2. <_> <_> 11 13 2 1 -1. <_> 12 13 1 1 2. <_> <_> 6 12 2 2 -1. <_> 6 13 2 1 2. <_> <_> 11 2 2 12 -1. <_> 11 2 1 6 2. <_> 12 8 1 6 2. <_> <_> 7 0 6 6 -1. <_> 7 3 6 3 2. <_> <_> 4 8 4 2 -1. <_> 4 9 4 1 2. <_> <_> 14 12 1 2 -1. <_> 14 13 1 1 2. <_> <_> 4 0 2 4 -1. <_> 4 0 1 2 2. <_> 5 2 1 2 2. <_> <_> 15 2 2 1 -1. <_> 16 2 1 1 2. <_> <_> 3 14 3 1 -1. <_> 4 14 1 1 3. <_> <_> 5 11 10 4 -1. <_> 5 11 5 2 2. <_> 10 13 5 2 2. <_> <_> 4 10 12 3 -1. <_> 4 11 12 1 3. <_> <_> 15 2 4 6 -1. <_> 15 2 2 3 2. <_> 17 5 2 3 2. <_> <_> 5 8 1 4 -1. <_> 5 10 1 2 2. <_> <_> 6 15 3 2 -1. <_> 7 15 1 2 3. <_> <_> 11 19 2 1 -1. <_> 12 19 1 1 2. <_> <_> 6 7 3 2 -1. <_> 7 7 1 2 3. <_> <_> 6 4 2 1 -1. <_> 7 4 1 1 2. <_> <_> 6 4 3 2 -1. <_> 7 4 1 2 3. <_> <_> 6 8 2 2 -1. <_> 6 8 1 1 2. <_> 7 9 1 1 2. <_> <_> 6 15 3 2 -1. <_> 7 15 1 2 3. <_> <_> 4 8 2 4 -1. <_> 4 8 1 2 2. <_> 5 10 1 2 2. <_> <_> 10 4 7 3 -1. <_> 10 5 7 1 3. <_> <_> 4 5 2 6 -1. <_> 5 5 1 6 2. <_> <_> 10 13 1 3 -1. <_> 10 14 1 1 3. <_> <_> 6 11 6 3 -1. <_> 9 11 3 3 2. <_> <_> 10 14 3 2 -1. <_> 10 15 3 1 2. <_> <_> 8 8 4 2 -1. <_> 10 8 2 2 2. <_> <_> 17 12 3 1 -1. <_> 18 12 1 1 3. <_> <_> 9 0 11 16 -1. <_> 9 8 11 8 2. <_> <_> 17 0 3 6 -1. <_> 17 2 3 2 3. <_> <_> 0 0 1 2 -1. <_> 0 1 1 1 2. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 4 10 10 9 -1. <_> 4 13 10 3 3. <_> <_> 3 3 3 5 -1. <_> 4 3 1 5 3. <_> <_> 6 1 2 6 -1. <_> 6 3 2 2 3. <_> <_> 5 0 8 6 -1. <_> 5 2 8 2 3. <_> <_> 0 0 1 2 -1. <_> 0 1 1 1 2. <_> <_> 6 3 6 4 -1. <_> 8 3 2 4 3. <_> <_> 8 6 3 3 -1. <_> 8 7 3 1 3. <_> <_> 9 6 3 6 -1. <_> 9 8 3 2 3. <_> <_> 4 3 12 12 -1. <_> 4 3 6 6 2. <_> 10 9 6 6 2. <_> <_> 13 8 3 2 -1. <_> 13 9 3 1 2. <_> <_> 4 3 10 2 -1. <_> 9 3 5 2 2. <_> <_> 18 14 2 2 -1. <_> 18 14 1 1 2. <_> 19 15 1 1 2. <_> <_> 5 6 6 2 -1. <_> 8 6 3 2 2. <_> <_> 0 14 20 5 -1. <_> 10 14 10 5 2. <_> <_> 9 17 2 1 -1. <_> 10 17 1 1 2. <_> <_> 5 16 5 3 -1. <_> 5 17 5 1 3. <_> <_> 9 16 3 2 -1. <_> 10 16 1 2 3. <_> <_> 6 5 5 3 -1. <_> 6 6 5 1 3. <_> <_> 11 12 3 8 -1. <_> 12 12 1 8 3. <_> <_> 4 3 3 9 -1. <_> 4 6 3 3 3. <_> <_> 11 0 3 3 -1. <_> 12 0 1 3 3. <_> <_> 5 17 10 2 -1. <_> 5 17 5 1 2. <_> 10 18 5 1 2. <_> <_> 5 15 2 3 -1. <_> 5 16 2 1 3. <_> <_> 6 14 2 4 -1. <_> 6 14 1 2 2. <_> 7 16 1 2 2. <_> <_> 10 17 6 3 -1. <_> 10 18 6 1 3. <_> <_> 19 5 1 3 -1. <_> 19 6 1 1 3. <_> <_> 16 13 2 2 -1. <_> 16 13 1 1 2. <_> 17 14 1 1 2. <_> <_> 0 11 2 1 -1. <_> 1 11 1 1 2. <_> <_> 4 12 6 6 -1. <_> 4 12 3 3 2. <_> 7 15 3 3 2. <_> <_> 5 15 4 3 -1. <_> 5 16 4 1 3. <_> <_> 10 16 3 2 -1. <_> 11 16 1 2 3. <_> <_> 1 0 10 2 -1. <_> 1 0 5 1 2. <_> 6 1 5 1 2. <_> <_> 2 0 18 14 -1. <_> 11 0 9 14 2. <_> <_> 15 7 4 7 -1. <_> 17 7 2 7 2. <_> <_> 5 10 2 4 -1. <_> 6 10 1 4 2. <_> <_> 15 16 3 1 -1. <_> 16 16 1 1 3. <_> <_> 7 15 5 3 -1. <_> 7 16 5 1 3. <_> <_> 12 1 6 3 -1. <_> 14 1 2 3 3. <_> <_> 16 2 2 1 -1. <_> 17 2 1 1 2. <_> <_> 17 0 2 2 -1. <_> 17 0 1 1 2. <_> 18 1 1 1 2. <_> <_> 1 0 4 6 -1. <_> 1 2 4 2 3. <_> <_> 3 1 6 18 -1. <_> 3 7 6 6 3. <_> <_> 5 1 1 12 -1. <_> 5 7 1 6 2. <_> <_> 16 9 2 2 -1. <_> 16 9 1 1 2. <_> 17 10 1 1 2. <_> <_> 4 2 2 11 -1. <_> 5 2 1 11 2. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 14 18 2 2 -1. <_> 14 19 2 1 2. <_> <_> 10 0 10 10 -1. <_> 10 0 5 5 2. <_> 15 5 5 5 2. <_> <_> 19 6 1 2 -1. <_> 19 7 1 1 2. <_> <_> 11 0 6 8 -1. <_> 11 0 3 4 2. <_> 14 4 3 4 2. <_> <_> 5 0 2 2 -1. <_> 5 0 1 1 2. <_> 6 1 1 1 2. <_> <_> 3 1 9 11 -1. <_> 6 1 3 11 3. <_> <_> 10 11 3 2 -1. <_> 10 12 3 1 2. <_> <_> 10 9 4 2 -1. <_> 12 9 2 2 2. <_> <_> 13 7 1 6 -1. <_> 13 9 1 2 3. <_> <_> 8 10 6 2 -1. <_> 8 10 3 1 2. <_> 11 11 3 1 2. <_> <_> 4 11 4 6 -1. <_> 4 14 4 3 2. <_> <_> 17 4 2 3 -1. <_> 17 5 2 1 3. <_> <_> 10 2 8 14 -1. <_> 10 2 4 7 2. <_> 14 9 4 7 2. <_> <_> 12 8 8 7 -1. <_> 16 8 4 7 2. <_> <_> 1 2 18 1 -1. <_> 7 2 6 1 3. <_> <_> 0 1 8 19 -1. <_> 4 1 4 19 2. <_> <_> 0 0 8 12 -1. <_> 4 0 4 12 2. <_> <_> 13 5 5 12 -1. <_> 13 11 5 6 2. <_> <_> 7 9 1 4 -1. <_> 7 11 1 2 2. <_> <_> 0 13 10 3 -1. <_> 5 13 5 3 2. <_> <_> 2 7 12 4 -1. <_> 6 7 4 4 3. <_> <_> 9 1 2 6 -1. <_> 9 1 1 3 2. <_> 10 4 1 3 2. <_> <_> 6 8 3 3 -1. <_> 7 8 1 3 3. <_> <_> 4 11 3 1 -1. <_> 5 11 1 1 3. <_> <_> 5 10 1 2 -1. <_> 5 11 1 1 2. <_> <_> 0 17 4 1 -1. <_> 2 17 2 1 2. <_> <_> 1 16 2 1 -1. <_> 2 16 1 1 2. <_> <_> 7 14 2 3 -1. <_> 7 15 2 1 3. <_> <_> 10 13 2 2 -1. <_> 10 14 2 1 2. <_> <_> 16 11 3 1 -1. <_> 17 11 1 1 3. <_> <_> 16 10 3 2 -1. <_> 17 10 1 2 3. <_> <_> 7 2 3 1 -1. <_> 8 2 1 1 3. <_> <_> 14 4 5 3 -1. <_> 14 5 5 1 3. <_> <_> 7 7 2 3 -1. <_> 8 7 1 3 2. <_> <_> 5 7 6 7 -1. <_> 8 7 3 7 2. <_> <_> 4 2 2 6 -1. <_> 4 2 1 3 2. <_> 5 5 1 3 2. <_> <_> 4 9 2 3 -1. <_> 4 10 2 1 3. <_> <_> 8 6 7 12 -1. <_> 8 10 7 4 3. <_> <_> 8 5 2 10 -1. <_> 8 10 2 5 2. <_> <_> 4 3 3 5 -1. <_> 5 3 1 5 3. <_> <_> 9 12 2 1 -1. <_> 10 12 1 1 2. <_> <_> 3 8 3 4 -1. <_> 4 8 1 4 3. <_> <_> 13 14 3 3 -1. <_> 13 15 3 1 3. <_> <_> 1 14 2 3 -1. <_> 2 14 1 3 2. <_> <_> 5 0 2 4 -1. <_> 5 0 1 2 2. <_> 6 2 1 2 2. <_> <_> 5 14 4 3 -1. <_> 5 15 4 1 3. <_> <_> 6 12 2 6 -1. <_> 6 12 1 3 2. <_> 7 15 1 3 2. <_> <_> 6 13 2 2 -1. <_> 7 13 1 2 2. <_> <_> 9 10 4 5 -1. <_> 11 10 2 5 2. <_> <_> 11 3 2 1 -1. <_> 12 3 1 1 2. <_> <_> 6 7 2 2 -1. <_> 6 7 1 1 2. <_> 7 8 1 1 2. <_> <_> 5 3 6 5 -1. <_> 7 3 2 5 3. <_> <_> 5 6 4 8 -1. <_> 7 6 2 8 2. <_> <_> 5 7 6 3 -1. <_> 7 7 2 3 3. <_> <_> 9 12 3 4 -1. <_> 10 12 1 4 3. <_> <_> 16 9 3 1 -1. <_> 17 9 1 1 3. <_> <_> 13 14 3 3 -1. <_> 13 15 3 1 3. <_> <_> 7 13 4 2 -1. <_> 7 13 2 1 2. <_> 9 14 2 1 2. <_> <_> 10 13 1 2 -1. <_> 10 14 1 1 2. <_> <_> 9 13 2 3 -1. <_> 9 14 2 1 3. <_> <_> 9 14 2 3 -1. <_> 9 15 2 1 3. <_> <_> 9 6 8 1 -1. <_> 13 6 4 1 2. <_> <_> 6 8 3 2 -1. <_> 6 9 3 1 2. <_> <_> 5 6 2 3 -1. <_> 6 6 1 3 2. <_> <_> 12 10 2 6 -1. <_> 12 13 2 3 2. <_> <_> 1 0 18 2 -1. <_> 7 0 6 2 3. <_> <_> 9 7 4 6 -1. <_> 9 7 2 3 2. <_> 11 10 2 3 2. <_> <_> 12 10 2 4 -1. <_> 13 10 1 4 2. <_> <_> 13 12 1 2 -1. <_> 13 13 1 1 2. <_> <_> 13 18 2 2 -1. <_> 14 18 1 2 2. <_> <_> 15 4 2 1 -1. <_> 16 4 1 1 2. <_> <_> 5 7 6 3 -1. <_> 7 7 2 3 3. <_> <_> 5 8 8 3 -1. <_> 9 8 4 3 2. <_> <_> 6 12 6 3 -1. <_> 9 12 3 3 2. <_> <_> 12 14 3 6 -1. <_> 13 14 1 6 3. <_> <_> 18 9 2 8 -1. <_> 18 9 1 4 2. <_> 19 13 1 4 2. <_> <_> 5 5 7 3 -1. <_> 5 6 7 1 3. <_> <_> 10 13 2 2 -1. <_> 10 13 1 1 2. <_> 11 14 1 1 2. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 9 13 4 2 -1. <_> 9 13 2 1 2. <_> 11 14 2 1 2. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 7 10 3 6 -1. <_> 7 12 3 2 3. <_> <_> 13 8 4 4 -1. <_> 13 10 4 2 2. <_> <_> 8 0 12 18 -1. <_> 8 9 12 9 2. <_> <_> 18 9 2 10 -1. <_> 18 9 1 5 2. <_> 19 14 1 5 2. <_> <_> 14 2 3 6 -1. <_> 14 5 3 3 2. <_> <_> 10 0 3 14 -1. <_> 11 0 1 14 3. <_> <_> 6 16 8 4 -1. <_> 6 16 4 2 2. <_> 10 18 4 2 2. <_> <_> 5 3 5 12 -1. <_> 5 7 5 4 3. <_> <_> 4 15 6 3 -1. <_> 4 16 6 1 3. <_> <_> 6 15 1 3 -1. <_> 6 16 1 1 3. <_> <_> 13 1 2 1 -1. <_> 14 1 1 1 2. <_> <_> 2 2 18 9 -1. <_> 11 2 9 9 2. <_> <_> 4 16 2 4 -1. <_> 4 16 1 2 2. <_> 5 18 1 2 2. <_> <_> 15 1 3 8 -1. <_> 16 1 1 8 3. <_> <_> 11 11 2 3 -1. <_> 11 12 2 1 3. <_> <_> 9 9 2 4 -1. <_> 9 11 2 2 2. <_> <_> 5 9 8 4 -1. <_> 5 9 4 2 2. <_> 9 11 4 2 2. <_> <_> 9 6 2 3 -1. <_> 9 7 2 1 3. <_> <_> 7 9 2 3 -1. <_> 7 10 2 1 3. <_> <_> 11 15 4 3 -1. <_> 11 16 4 1 3. <_> <_> 8 6 2 3 -1. <_> 8 7 2 1 3. <_> <_> 6 8 2 3 -1. <_> 6 9 2 1 3. <_> <_> 6 9 6 3 -1. <_> 8 9 2 3 3. <_> <_> 6 9 4 2 -1. <_> 6 9 2 1 2. <_> 8 10 2 1 2. <_> <_> 4 7 9 1 -1. <_> 7 7 3 1 3. <_> <_> 5 7 2 6 -1. <_> 5 7 1 3 2. <_> 6 10 1 3 2. <_> <_> 4 8 4 8 -1. <_> 4 12 4 4 2. <_> <_> 7 0 2 19 -1. <_> 8 0 1 19 2. <_> <_> 5 9 1 3 -1. <_> 5 10 1 1 3. <_> <_> 9 5 3 1 -1. <_> 10 5 1 1 3. <_> <_> 16 4 3 6 -1. <_> 16 6 3 2 3. <_> <_> 10 15 5 3 -1. <_> 10 16 5 1 3. <_> <_> 13 1 5 14 -1. <_> 13 8 5 7 2. <_> <_> 3 0 4 4 -1. <_> 3 0 2 2 2. <_> 5 2 2 2 2. <_> <_> 6 5 4 13 -1. <_> 8 5 2 13 2. <_> <_> 4 2 2 16 -1. <_> 4 2 1 8 2. <_> 5 10 1 8 2. <_> <_> 4 8 8 3 -1. <_> 8 8 4 3 2. <_> <_> 5 6 2 12 -1. <_> 5 12 2 6 2. <_> <_> 8 7 2 4 -1. <_> 9 7 1 4 2. <_> <_> 13 9 5 4 -1. <_> 13 11 5 2 2. <_> <_> 12 0 8 2 -1. <_> 12 0 4 1 2. <_> 16 1 4 1 2. <_> <_> 14 0 6 4 -1. <_> 14 0 3 2 2. <_> 17 2 3 2 2. <_> <_> 4 9 6 2 -1. <_> 6 9 2 2 3. <_> <_> 13 1 2 1 -1. <_> 14 1 1 1 2. <_> <_> 0 0 12 3 -1. <_> 6 0 6 3 2. <_> <_> 5 12 3 3 -1. <_> 6 12 1 3 3. <_> <_> 5 11 4 3 -1. <_> 5 12 4 1 3. <_> <_> 5 13 2 4 -1. <_> 5 13 1 2 2. <_> 6 15 1 2 2. <_> <_> 4 11 3 3 -1. <_> 4 12 3 1 3. <_> <_> 1 8 6 2 -1. <_> 1 9 6 1 2. <_> <_> 6 8 4 12 -1. <_> 6 12 4 4 3. <_> <_> 7 14 6 4 -1. <_> 7 14 3 2 2. <_> 10 16 3 2 2. <_> <_> 8 16 8 4 -1. <_> 8 16 4 2 2. <_> 12 18 4 2 2. <_> <_> 5 10 10 6 -1. <_> 5 12 10 2 3. <_> <_> 6 13 1 3 -1. <_> 6 14 1 1 3. <_> <_> 3 11 4 6 -1. <_> 3 13 4 2 3. <_> <_> 10 14 6 3 -1. <_> 10 15 6 1 3. <_> <_> 3 15 4 2 -1. <_> 5 15 2 2 2. <_> <_> 3 14 4 3 -1. <_> 5 14 2 3 2. <_> <_> 1 2 1 2 -1. <_> 1 3 1 1 2. <_> <_> 0 12 8 4 -1. <_> 4 12 4 4 2. <_> <_> 1 2 1 2 -1. <_> 1 3 1 1 2. <_> <_> 5 11 1 3 -1. <_> 5 12 1 1 3. <_> <_> 10 19 2 1 -1. <_> 11 19 1 1 2. <_> <_> 6 6 4 4 -1. <_> 6 6 2 2 2. <_> 8 8 2 2 2. <_> <_> 6 3 1 2 -1. <_> 6 4 1 1 2. <_> <_> 0 4 10 2 -1. <_> 5 4 5 2 2. <_> <_> 4 5 2 1 -1. <_> 5 5 1 1 2. <_> <_> 0 12 2 1 -1. <_> 1 12 1 1 2. <_> <_> 1 4 6 11 -1. <_> 3 4 2 11 3. <_> <_> 6 4 2 1 -1. <_> 7 4 1 1 2. <_> <_> 7 0 1 6 -1. <_> 7 2 1 2 3. <_> <_> 7 0 8 4 -1. <_> 7 2 8 2 2. <_> <_> 13 6 2 2 -1. <_> 13 7 2 1 2. <_> <_> 16 15 2 2 -1. <_> 16 15 1 1 2. <_> 17 16 1 1 2. <_> <_> 11 12 1 2 -1. <_> 11 13 1 1 2. <_> <_> 4 4 5 2 -1. <_> 4 5 5 1 2. <_> <_> 4 3 3 9 -1. <_> 4 6 3 3 3. <_> <_> 6 7 2 3 -1. <_> 7 7 1 3 2. <_> <_> 4 8 6 1 -1. <_> 7 8 3 1 2. <_> <_> 3 8 12 5 -1. <_> 9 8 6 5 2. <_> <_> 9 8 1 3 -1. <_> 9 9 1 1 3. <_> <_> 9 9 6 1 -1. <_> 12 9 3 1 2. <_> <_> 13 7 7 6 -1. <_> 13 9 7 2 3. <_> <_> 0 2 20 18 -1. <_> 10 2 10 18 2. <_> <_> 12 5 6 3 -1. <_> 12 6 6 1 3. <_> <_> 8 8 3 2 -1. <_> 8 9 3 1 2. <_> <_> 4 9 11 6 -1. <_> 4 11 11 2 3. <_> <_> 7 7 7 6 -1. <_> 7 10 7 3 2. <_> <_> 15 7 2 8 -1. <_> 15 7 1 4 2. <_> 16 11 1 4 2. <_> <_> 4 10 2 6 -1. <_> 4 12 2 2 3. <_> <_> 7 13 2 2 -1. <_> 7 13 1 1 2. <_> 8 14 1 1 2. <_> <_> 7 2 3 4 -1. <_> 8 2 1 4 3. <_> <_> 7 3 2 3 -1. <_> 8 3 1 3 2. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 14 6 3 8 -1. <_> 15 6 1 8 3. <_> <_> 4 10 2 6 -1. <_> 4 13 2 3 2. <_> <_> 0 17 10 3 -1. <_> 0 18 10 1 3. <_> <_> 5 18 7 2 -1. <_> 5 19 7 1 2. <_> <_> 13 12 1 3 -1. <_> 13 13 1 1 3. <_> <_> 9 2 4 16 -1. <_> 9 2 2 8 2. <_> 11 10 2 8 2. <_> <_> 6 7 2 3 -1. <_> 6 8 2 1 3. <_> <_> 9 8 2 4 -1. <_> 9 10 2 2 2. <_> <_> 18 4 2 3 -1. <_> 18 5 2 1 3. <_> <_> 16 10 2 2 -1. <_> 16 10 1 1 2. <_> 17 11 1 1 2. <_> <_> 14 2 6 6 -1. <_> 14 4 6 2 3. <_> <_> 16 11 3 1 -1. <_> 17 11 1 1 3. <_> <_> 17 10 2 1 -1. <_> 18 10 1 1 2. <_> <_> 16 8 2 4 -1. <_> 17 8 1 4 2. <_> <_> 11 15 6 3 -1. <_> 11 16 6 1 3. <_> <_> 3 7 3 4 -1. <_> 4 7 1 4 3. <_> <_> 3 5 3 5 -1. <_> 4 5 1 5 3. <_> <_> 2 10 6 1 -1. <_> 5 10 3 1 2. <_> <_> 12 0 4 2 -1. <_> 14 0 2 2 2. <_> <_> 9 14 1 2 -1. <_> 9 15 1 1 2. <_> <_> 15 12 5 6 -1. <_> 15 14 5 2 3. <_> <_> 4 13 10 4 -1. <_> 4 15 10 2 2. <_> <_> 7 16 6 4 -1. <_> 7 16 3 2 2. <_> 10 18 3 2 2. <_> <_> 9 16 7 3 -1. <_> 9 17 7 1 3. <_> <_> 4 8 2 2 -1. <_> 4 8 1 1 2. <_> 5 9 1 1 2. <_> <_> 0 17 20 2 -1. <_> 10 17 10 2 2. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 4 7 2 6 -1. <_> 4 7 1 3 2. <_> 5 10 1 3 2. <_> <_> 11 11 1 2 -1. <_> 11 12 1 1 2. <_> <_> 10 13 5 2 -1. <_> 10 14 5 1 2. <_> <_> 8 16 3 3 -1. <_> 8 17 3 1 3. <_> <_> 9 18 3 1 -1. <_> 10 18 1 1 3. <_> <_> 8 6 11 12 -1. <_> 8 10 11 4 3. <_> <_> 2 4 13 12 -1. <_> 2 10 13 6 2. <_> <_> 0 15 10 4 -1. <_> 0 15 5 2 2. <_> 5 17 5 2 2. <_> <_> 4 8 6 2 -1. <_> 7 8 3 2 2. <_> <_> 10 1 6 2 -1. <_> 12 1 2 2 3. <_> <_> 7 8 6 7 -1. <_> 9 8 2 7 3. <_> <_> 9 9 6 2 -1. <_> 11 9 2 2 3. <_> <_> 3 14 15 4 -1. <_> 8 14 5 4 3. <_> <_> 7 3 2 14 -1. <_> 7 10 2 7 2. <_> <_> 11 14 1 2 -1. <_> 11 15 1 1 2. <_> <_> 5 11 1 3 -1. <_> 5 12 1 1 3. <_> <_> 11 14 3 3 -1. <_> 11 15 3 1 3. <_> <_> 10 7 9 4 -1. <_> 13 7 3 4 3. <_> <_> 11 6 6 5 -1. <_> 14 6 3 5 2. <_> <_> 8 9 1 2 -1. <_> 8 10 1 1 2. <_> <_> 16 3 1 10 -1. <_> 16 8 1 5 2. <_> <_> 6 11 10 4 -1. <_> 6 13 10 2 2. <_> <_> 5 7 2 2 -1. <_> 6 7 1 2 2. <_> <_> 1 6 6 11 -1. <_> 4 6 3 11 2. <_> <_> 6 8 3 2 -1. <_> 6 9 3 1 2. <_> <_> 10 15 1 2 -1. <_> 10 16 1 1 2. <_> <_> 8 0 12 1 -1. <_> 14 0 6 1 2. <_> <_> 5 3 2 2 -1. <_> 6 3 1 2 2. <_> <_> 11 6 6 5 -1. <_> 14 6 3 5 2. <_> <_> 6 12 3 3 -1. <_> 6 13 3 1 3. <_> <_> 10 10 3 3 -1. <_> 11 10 1 3 3. <_> <_> 6 13 2 2 -1. <_> 6 14 2 1 2. <_> <_> 4 2 16 8 -1. <_> 12 2 8 8 2. <_> <_> 10 12 2 2 -1. <_> 10 12 1 1 2. <_> 11 13 1 1 2. <_> <_> 10 7 2 2 -1. <_> 11 7 1 2 2. <_> <_> 13 13 1 3 -1. <_> 13 14 1 1 3. <_> <_> 13 13 2 3 -1. <_> 13 14 2 1 3. <_> <_> 1 13 6 4 -1. <_> 4 13 3 4 2. <_> <_> 10 13 2 1 -1. <_> 11 13 1 1 2. <_> <_> 10 6 2 10 -1. <_> 10 6 1 5 2. <_> 11 11 1 5 2. <_> <_> 16 11 2 2 -1. <_> 16 11 1 1 2. <_> 17 12 1 1 2. <_> <_> 16 12 3 1 -1. <_> 17 12 1 1 3. <_> <_> 9 5 7 12 -1. <_> 9 9 7 4 3. <_> <_> 4 1 10 18 -1. <_> 4 1 5 9 2. <_> 9 10 5 9 2. <_> <_> 17 12 2 2 -1. <_> 17 12 1 1 2. <_> 18 13 1 1 2. <_> <_> 12 5 6 2 -1. <_> 12 6 6 1 2. <_> <_> 4 7 5 2 -1. <_> 4 8 5 1 2. <_> <_> 7 3 1 2 -1. <_> 7 4 1 1 2. <_> <_> 6 0 7 6 -1. <_> 6 3 7 3 2. <_> <_> 13 11 2 8 -1. <_> 13 11 1 4 2. <_> 14 15 1 4 2. <_> <_> 8 7 4 2 -1. <_> 10 7 2 2 2. <_> <_> 4 1 2 4 -1. <_> 4 1 1 2 2. <_> 5 3 1 2 2. <_> <_> 4 0 2 8 -1. <_> 4 0 1 4 2. <_> 5 4 1 4 2. <_> <_> 6 3 2 1 -1. <_> 7 3 1 1 2. <_> <_> 14 12 1 3 -1. <_> 14 13 1 1 3. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 11 2 2 -1. <_> 5 12 2 1 2. <_> <_> 5 1 4 15 -1. <_> 5 6 4 5 3. <_> <_> 11 5 4 14 -1. <_> 11 5 2 7 2. <_> 13 12 2 7 2. <_> <_> 9 18 3 1 -1. <_> 10 18 1 1 3. <_> <_> 4 10 5 6 -1. <_> 4 12 5 2 3. <_> <_> 5 13 3 3 -1. <_> 5 14 3 1 3. <_> <_> 8 1 3 5 -1. <_> 9 1 1 5 3. <_> <_> 4 7 3 2 -1. <_> 5 7 1 2 3. <_> <_> 6 14 3 3 -1. <_> 7 14 1 3 3. <_> <_> 7 13 2 3 -1. <_> 7 14 2 1 3. <_> <_> 4 3 2 9 -1. <_> 4 6 2 3 3. <_> <_> 4 8 3 2 -1. <_> 4 9 3 1 2. <_> <_> 10 10 2 2 -1. <_> 10 11 2 1 2. <_> <_> 7 8 12 6 -1. <_> 7 8 6 3 2. <_> 13 11 6 3 2. <_> <_> 14 10 3 2 -1. <_> 14 11 3 1 2. <_> <_> 5 16 6 2 -1. <_> 5 17 6 1 2. <_> <_> 8 15 4 3 -1. <_> 8 16 4 1 3. <_> <_> 14 9 2 2 -1. <_> 14 10 2 1 2. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 8 5 3 3 -1. <_> 8 6 3 1 3. <_> <_> 1 7 17 9 -1. <_> 1 10 17 3 3. <_> <_> 5 10 6 8 -1. <_> 5 14 6 4 2. <_> <_> 18 1 2 2 -1. <_> 18 1 1 1 2. <_> 19 2 1 1 2. <_> <_> 0 0 11 6 -1. <_> 0 3 11 3 2. <_> <_> 3 0 16 3 -1. <_> 3 1 16 1 3. <_> <_> 10 10 10 3 -1. <_> 10 11 10 1 3. <_> <_> 0 0 15 18 -1. <_> 0 9 15 9 2. <_> <_> 15 11 2 2 -1. <_> 15 11 1 1 2. <_> 16 12 1 1 2. <_> <_> 14 12 6 3 -1. <_> 17 12 3 3 2. <_> <_> 8 4 3 4 -1. <_> 9 4 1 4 3. <_> <_> 8 6 12 4 -1. <_> 12 6 4 4 3. <_> <_> 9 12 2 2 -1. <_> 9 13 2 1 2. <_> <_> 6 3 1 2 -1. <_> 6 4 1 1 2. <_> <_> 4 7 2 8 -1. <_> 4 7 1 4 2. <_> 5 11 1 4 2. <_> <_> 9 17 3 2 -1. <_> 10 17 1 2 3. <_> <_> 9 6 1 3 -1. <_> 9 7 1 1 3. <_> <_> 6 4 1 6 -1. <_> 6 7 1 3 2. <_> <_> 5 6 13 6 -1. <_> 5 8 13 2 3. <_> <_> 6 7 4 12 -1. <_> 8 7 2 12 2. <_> <_> 6 12 2 4 -1. <_> 7 12 1 4 2. <_> <_> 5 14 4 3 -1. <_> 5 15 4 1 3. <_> <_> 10 5 3 1 -1. <_> 11 5 1 1 3. <_> <_> 4 15 4 3 -1. <_> 4 16 4 1 3. <_> <_> 11 12 3 2 -1. <_> 12 12 1 2 3. <_> <_> 11 10 8 2 -1. <_> 15 10 4 2 2. <_> <_> 14 18 6 2 -1. <_> 17 18 3 2 2. <_> <_> 7 5 3 2 -1. <_> 8 5 1 2 3. <_> <_> 11 8 2 1 -1. <_> 12 8 1 1 2. <_> <_> 12 6 3 6 -1. <_> 12 8 3 2 3. <_> <_> 11 9 1 2 -1. <_> 11 10 1 1 2. <_> <_> 12 9 3 9 -1. <_> 13 9 1 9 3. <_> <_> 0 8 1 3 -1. <_> 0 9 1 1 3. <_> <_> 0 8 1 3 -1. <_> 0 9 1 1 3. <_> <_> 3 8 2 2 -1. <_> 3 8 1 1 2. <_> 4 9 1 1 2. <_> <_> 4 6 2 6 -1. <_> 4 9 2 3 2. <_> <_> 4 9 2 9 -1. <_> 4 12 2 3 3. <_> <_> 7 13 2 2 -1. <_> 7 13 1 1 2. <_> 8 14 1 1 2. <_> <_> 3 6 10 6 -1. <_> 3 6 5 3 2. <_> 8 9 5 3 2. <_> <_> 9 9 4 6 -1. <_> 11 9 2 6 2. <_> <_> 2 12 14 3 -1. <_> 9 12 7 3 2. <_> <_> 0 0 11 18 -1. <_> 0 9 11 9 2. <_> <_> 4 18 4 2 -1. <_> 4 18 2 1 2. <_> 6 19 2 1 2. <_> <_> 7 13 4 6 -1. <_> 7 13 2 3 2. <_> 9 16 2 3 2. <_> <_> 8 17 3 1 -1. <_> 9 17 1 1 3. <_> <_> 5 14 8 6 -1. <_> 5 14 4 3 2. <_> 9 17 4 3 2. <_> <_> 7 12 2 3 -1. <_> 7 13 2 1 3. <_> <_> 14 4 4 2 -1. <_> 14 4 2 1 2. <_> 16 5 2 1 2. <_> <_> 7 13 2 3 -1. <_> 7 14 2 1 3. <_> <_> 7 14 4 2 -1. <_> 7 14 2 1 2. <_> 9 15 2 1 2. <_> <_> 10 14 2 6 -1. <_> 10 16 2 2 3. <_> <_> 9 6 9 1 -1. <_> 12 6 3 1 3. <_> <_> 2 5 18 7 -1. <_> 11 5 9 7 2. <_> <_> 18 6 1 2 -1. <_> 18 7 1 1 2. <_> <_> 4 14 14 6 -1. <_> 4 17 14 3 2. <_> <_> 8 0 6 20 -1. <_> 10 0 2 20 3. <_> <_> 12 0 8 18 -1. <_> 12 9 8 9 2. <_> <_> 12 5 2 1 -1. <_> 13 5 1 1 2. <_> <_> 0 6 6 13 -1. <_> 3 6 3 13 2. <_> <_> 3 15 3 4 -1. <_> 4 15 1 4 3. <_> <_> 3 13 3 6 -1. <_> 4 13 1 6 3. <_> <_> 3 11 9 2 -1. <_> 6 11 3 2 3. <_> <_> 0 11 6 8 -1. <_> 3 11 3 8 2. <_> <_> 16 0 3 7 -1. <_> 17 0 1 7 3. <_> <_> 16 1 2 6 -1. <_> 16 1 1 3 2. <_> 17 4 1 3 2. <_> <_> 3 7 6 10 -1. <_> 3 7 3 5 2. <_> 6 12 3 5 2. <_> <_> 2 0 6 7 -1. <_> 5 0 3 7 2. <_> <_> 1 2 12 2 -1. <_> 5 2 4 2 3. <_> <_> 6 4 1 2 -1. <_> 6 5 1 1 2. <_> <_> 0 14 8 6 -1. <_> 4 14 4 6 2. <_> <_> 3 11 9 3 -1. <_> 6 11 3 3 3. <_> <_> 4 14 2 2 -1. <_> 4 14 1 1 2. <_> 5 15 1 1 2. <_> <_> 11 2 3 2 -1. <_> 12 2 1 2 3. <_> <_> 18 5 2 6 -1. <_> 18 5 1 3 2. <_> 19 8 1 3 2. <_> <_> 0 5 1 2 -1. <_> 0 6 1 1 2. <_> <_> 8 4 6 1 -1. <_> 11 4 3 1 2. <_> <_> 4 5 2 3 -1. <_> 5 5 1 3 2. <_> <_> 1 3 6 4 -1. <_> 3 3 2 4 3. <_> <_> 12 5 6 1 -1. <_> 14 5 2 1 3. <_> <_> 6 9 3 3 -1. <_> 6 10 3 1 3. <_> <_> 4 3 2 2 -1. <_> 4 4 2 1 2. <_> <_> 8 7 3 3 -1. <_> 8 8 3 1 3. <_> <_> 5 5 10 14 -1. <_> 5 5 5 7 2. <_> 10 12 5 7 2. <_> <_> 16 5 2 6 -1. <_> 16 7 2 2 3. <_> <_> 19 5 1 3 -1. <_> 19 6 1 1 3. <_> <_> 3 6 2 2 -1. <_> 3 6 1 1 2. <_> 4 7 1 1 2. <_> <_> 0 1 10 10 -1. <_> 5 1 5 10 2. <_> <_> 3 0 8 1 -1. <_> 7 0 4 1 2. <_> <_> 14 5 6 1 -1. <_> 16 5 2 1 3. <_> <_> 6 16 1 3 -1. <_> 6 17 1 1 3. <_> <_> 6 14 2 4 -1. <_> 6 14 1 2 2. <_> 7 16 1 2 2. <_> <_> 0 7 2 5 -1. <_> 1 7 1 5 2. <_> <_> 18 0 2 8 -1. <_> 18 0 1 4 2. <_> 19 4 1 4 2. <_> <_> 5 8 6 2 -1. <_> 8 8 3 2 2. <_> <_> 4 8 8 3 -1. <_> 8 8 4 3 2. <_> <_> 8 0 2 2 -1. <_> 8 1 2 1 2. <_> <_> 13 8 6 11 -1. <_> 15 8 2 11 3. <_> <_> 11 15 9 5 -1. <_> 14 15 3 5 3. <_> <_> 5 4 12 15 -1. <_> 9 4 4 15 3. <_> <_> 16 12 2 8 -1. <_> 16 12 1 4 2. <_> 17 16 1 4 2. <_> <_> 7 13 10 6 -1. <_> 7 16 10 3 2. <_> <_> 6 15 3 4 -1. <_> 6 17 3 2 2. <_> <_> 9 5 8 2 -1. <_> 13 5 4 2 2. <_> <_> 5 6 3 4 -1. <_> 6 6 1 4 3. <_> <_> 10 8 7 6 -1. <_> 10 10 7 2 3. <_> <_> 12 13 1 4 -1. <_> 12 15 1 2 2. <_> <_> 2 10 3 4 -1. <_> 3 10 1 4 3. <_> <_> 8 7 6 6 -1. <_> 8 7 3 3 2. <_> 11 10 3 3 2. <_> <_> 2 0 15 2 -1. <_> 7 0 5 2 3. <_> <_> 13 10 1 3 -1. <_> 13 11 1 1 3. <_> <_> 2 9 3 4 -1. <_> 3 9 1 4 3. <_> <_> 6 4 3 2 -1. <_> 6 5 3 1 2. <_> <_> 10 16 2 3 -1. <_> 11 16 1 3 2. <_> <_> 7 13 2 3 -1. <_> 7 14 2 1 3. <_> <_> 6 12 2 4 -1. <_> 6 12 1 2 2. <_> 7 14 1 2 2. <_> <_> 9 1 6 1 -1. <_> 12 1 3 1 2. <_> <_> 6 6 3 4 -1. <_> 7 6 1 4 3. <_> <_> 9 8 3 3 -1. <_> 9 9 3 1 3. <_> <_> 8 7 12 3 -1. <_> 14 7 6 3 2. <_> <_> 12 10 4 2 -1. <_> 12 10 2 1 2. <_> 14 11 2 1 2. <_> <_> 16 11 1 2 -1. <_> 16 12 1 1 2. <_> <_> 6 2 1 2 -1. <_> 6 3 1 1 2. <_> <_> 5 10 2 3 -1. <_> 5 11 2 1 3. <_> <_> 5 9 2 3 -1. <_> 5 10 2 1 3. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 12 0 8 2 -1. <_> 12 0 4 1 2. <_> 16 1 4 1 2. <_> <_> 10 11 3 8 -1. <_> 11 11 1 8 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 5 10 1 6 -1. <_> 5 13 1 3 2. <_> <_> 6 2 6 6 -1. <_> 6 2 3 3 2. <_> 9 5 3 3 2. <_> <_> 11 4 1 6 -1. <_> 11 6 1 2 3. <_> <_> 18 3 2 16 -1. <_> 18 3 1 8 2. <_> 19 11 1 8 2. <_> <_> 10 12 3 2 -1. <_> 11 12 1 2 3. <_> <_> 7 14 2 3 -1. <_> 7 15 2 1 3. <_> <_> 16 12 2 1 -1. <_> 17 12 1 1 2. <_> <_> 15 6 4 2 -1. <_> 15 7 4 1 2. <_> <_> 4 6 2 3 -1. <_> 4 7 2 1 3. <_> <_> 8 19 6 1 -1. <_> 11 19 3 1 2. <_> <_> 9 12 3 3 -1. <_> 9 13 3 1 3. <_> <_> 10 12 1 3 -1. <_> 10 13 1 1 3. <_> <_> 8 6 2 3 -1. <_> 8 7 2 1 3. <_> <_> 5 7 6 5 -1. <_> 8 7 3 5 2. <_> <_> 14 10 1 2 -1. <_> 14 11 1 1 2. <_> <_> 11 7 6 3 -1. <_> 13 7 2 3 3. <_> <_> 14 6 6 1 -1. <_> 16 6 2 1 3. <_> <_> 9 7 1 3 -1. <_> 9 8 1 1 3. <_> <_> 9 5 2 8 -1. <_> 9 5 1 4 2. <_> 10 9 1 4 2. <_> <_> 6 12 1 4 -1. <_> 6 14 1 2 2. <_> <_> 5 13 4 2 -1. <_> 5 14 4 1 2. <_> <_> 12 9 2 4 -1. <_> 12 11 2 2 2. <_> <_> 12 7 3 6 -1. <_> 13 7 1 6 3. <_> <_> 5 0 2 14 -1. <_> 5 7 2 7 2. <_> <_> 9 3 1 2 -1. <_> 9 4 1 1 2. <_> <_> 6 1 14 12 -1. <_> 6 5 14 4 3. <_> <_> 13 6 7 6 -1. <_> 13 9 7 3 2. <_> <_> 14 9 3 3 -1. <_> 14 10 3 1 3. <_> <_> 17 12 3 1 -1. <_> 18 12 1 1 3. <_> <_> 8 2 3 2 -1. <_> 9 2 1 2 3. <_> <_> 7 11 2 1 -1. <_> 8 11 1 1 2. <_> <_> 5 7 3 2 -1. <_> 5 8 3 1 2. <_> <_> 11 11 2 1 -1. <_> 12 11 1 1 2. <_> <_> 11 11 3 1 -1. <_> 12 11 1 1 3. <_> <_> 9 5 1 3 -1. <_> 9 6 1 1 3. <_> <_> 12 9 1 2 -1. <_> 12 10 1 1 2. <_> <_> 12 7 2 3 -1. <_> 13 7 1 3 2. <_> <_> 5 11 6 3 -1. <_> 8 11 3 3 2. <_> <_> 6 10 2 2 -1. <_> 6 10 1 1 2. <_> 7 11 1 1 2. <_> <_> 17 2 1 9 -1. <_> 17 5 1 3 3. <_> <_> 4 7 2 6 -1. <_> 4 7 1 3 2. <_> 5 10 1 3 2. <_> <_> 0 1 11 18 -1. <_> 0 10 11 9 2. <_> <_> 7 6 2 8 -1. <_> 7 10 2 4 2. <_> <_> 6 2 4 6 -1. <_> 6 5 4 3 2. <_> <_> 2 12 12 4 -1. <_> 2 14 12 2 2. <_> <_> 9 0 6 1 -1. <_> 12 0 3 1 2. <_> <_> 5 0 12 2 -1. <_> 5 1 12 1 2. <_> <_> 10 0 2 1 -1. <_> 11 0 1 1 2. <_> <_> 7 14 3 3 -1. <_> 7 15 3 1 3. <_> <_> 4 13 5 3 -1. <_> 4 14 5 1 3. <_> <_> 9 16 6 2 -1. <_> 9 17 6 1 2. <_> <_> 11 16 5 3 -1. <_> 11 17 5 1 3. <_> <_> 5 0 3 15 -1. <_> 6 0 1 15 3. <_> <_> 9 16 8 4 -1. <_> 9 18 8 2 2. <_> <_> 0 6 3 2 -1. <_> 0 7 3 1 2. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 9 11 4 2 -1. <_> 9 11 2 1 2. <_> 11 12 2 1 2. <_> <_> 4 13 2 2 -1. <_> 4 13 1 1 2. <_> 5 14 1 1 2. <_> <_> 6 4 1 2 -1. <_> 6 5 1 1 2. <_> <_> 14 18 2 2 -1. <_> 14 18 1 1 2. <_> 15 19 1 1 2. <_> <_> 7 10 5 6 -1. <_> 7 12 5 2 3. <_> <_> 8 7 4 6 -1. <_> 8 9 4 2 3. <_> <_> 7 9 6 2 -1. <_> 9 9 2 2 3. <_> <_> 6 6 6 4 -1. <_> 6 6 3 2 2. <_> 9 8 3 2 2. <_> <_> 10 3 1 6 -1. <_> 10 5 1 2 3. <_> <_> 5 2 12 14 -1. <_> 5 2 6 7 2. <_> 11 9 6 7 2. <_> <_> 13 5 6 2 -1. <_> 13 6 6 1 2. <_> <_> 16 0 4 8 -1. <_> 16 0 2 4 2. <_> 18 4 2 4 2. <_> <_> 3 12 3 1 -1. <_> 4 12 1 1 3. <_> <_> 3 10 3 4 -1. <_> 4 10 1 4 3. <_> <_> 4 6 1 6 -1. <_> 4 9 1 3 2. <_> <_> 3 7 15 1 -1. <_> 8 7 5 1 3. <_> <_> 1 15 6 5 -1. <_> 4 15 3 5 2. <_> <_> 11 9 8 4 -1. <_> 15 9 4 4 2. <_> <_> 15 7 2 4 -1. <_> 16 7 1 4 2. <_> <_> 19 1 1 2 -1. <_> 19 2 1 1 2. <_> <_> 6 15 3 3 -1. <_> 7 15 1 3 3. <_> <_> 3 16 3 1 -1. <_> 4 16 1 1 3. <_> <_> 3 10 3 10 -1. <_> 4 10 1 10 3. <_> <_> 18 17 2 2 -1. <_> 18 17 1 1 2. <_> 19 18 1 1 2. <_> <_> 3 12 6 4 -1. <_> 3 12 3 2 2. <_> 6 14 3 2 2. <_> <_> 5 17 2 2 -1. <_> 5 17 1 1 2. <_> 6 18 1 1 2. <_> <_> 7 16 2 3 -1. <_> 7 17 2 1 3. <_> <_> 5 11 6 3 -1. <_> 8 11 3 3 2. <_> <_> 7 16 1 3 -1. <_> 7 17 1 1 3. <_> <_> 0 16 2 1 -1. <_> 1 16 1 1 2. <_> <_> 11 7 9 6 -1. <_> 11 10 9 3 2. <_> <_> 9 4 9 16 -1. <_> 12 4 3 16 3. <_> <_> 14 12 5 3 -1. <_> 14 13 5 1 3. <_> <_> 8 18 3 2 -1. <_> 9 18 1 2 3. <_> <_> 4 0 11 16 -1. <_> 4 8 11 8 2. <_> <_> 2 4 12 15 -1. <_> 2 9 12 5 3. <_> <_> 3 13 11 4 -1. <_> 3 15 11 2 2. <_> <_> 7 5 4 3 -1. <_> 7 6 4 1 3. <_> <_> 6 5 4 3 -1. <_> 6 6 4 1 3. <_> <_> 5 0 2 9 -1. <_> 5 3 2 3 3. <_> <_> 16 8 2 2 -1. <_> 16 8 1 1 2. <_> 17 9 1 1 2. <_> <_> 12 10 8 2 -1. <_> 12 10 4 1 2. <_> 16 11 4 1 2. <_> <_> 6 2 2 8 -1. <_> 7 2 1 8 2. <_> <_> 6 6 2 3 -1. <_> 7 6 1 3 2. <_> <_> 17 4 1 3 -1. <_> 17 5 1 1 3. <_> <_> 15 13 3 2 -1. <_> 16 13 1 2 3. <_> <_> 11 13 2 3 -1. <_> 11 14 2 1 3. <_> <_> 14 5 6 11 -1. <_> 16 5 2 11 3. <_> <_> 6 0 12 8 -1. <_> 12 0 6 8 2. <_> <_> 7 15 8 4 -1. <_> 7 15 4 2 2. <_> 11 17 4 2 2. <_> <_> 4 14 16 6 -1. <_> 4 16 16 2 3. <_> <_> 6 12 2 6 -1. <_> 6 12 1 3 2. <_> 7 15 1 3 2. <_> <_> 7 14 6 4 -1. <_> 7 14 3 2 2. <_> 10 16 3 2 2. <_> <_> 0 0 2 4 -1. <_> 0 0 1 2 2. <_> 1 2 1 2 2. <_> <_> 15 12 1 3 -1. <_> 15 13 1 1 3. <_> <_> 7 16 3 1 -1. <_> 8 16 1 1 3. <_> <_> 1 8 1 2 -1. <_> 1 9 1 1 2. <_> <_> 3 14 3 2 -1. <_> 4 14 1 2 3. <_> <_> 3 13 3 5 -1. <_> 4 13 1 5 3. <_> <_> 7 2 3 4 -1. <_> 8 2 1 4 3. <_> <_> 10 1 4 4 -1. <_> 10 3 4 2 2. <_> <_> 9 2 1 2 -1. <_> 9 3 1 1 2. <_> <_> 7 12 2 2 -1. <_> 7 12 1 1 2. <_> 8 13 1 1 2. <_> <_> 4 11 4 4 -1. <_> 4 11 2 2 2. <_> 6 13 2 2 2. <_> <_> 9 10 6 4 -1. <_> 12 10 3 4 2. <_> <_> 8 12 3 2 -1. <_> 9 12 1 2 3. <_> <_> 13 9 6 6 -1. <_> 13 9 3 3 2. <_> 16 12 3 3 2. <_> <_> 14 0 3 5 -1. <_> 15 0 1 5 3. <_> <_> 9 8 6 4 -1. <_> 9 8 3 2 2. <_> 12 10 3 2 2. <_> <_> 10 6 3 3 -1. <_> 11 6 1 3 3. <_> <_> 13 3 2 1 -1. <_> 14 3 1 1 2. <_> <_> 4 5 2 2 -1. <_> 4 5 1 1 2. <_> 5 6 1 1 2. <_> <_> 4 5 2 2 -1. <_> 4 5 1 1 2. <_> 5 6 1 1 2. <_> <_> 7 9 2 6 -1. <_> 7 11 2 2 3. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 6 13 2 3 -1. <_> 6 14 2 1 3. <_> <_> 7 4 3 2 -1. <_> 8 4 1 2 3. <_> <_> 13 1 3 4 -1. <_> 14 1 1 4 3. <_> <_> 6 8 11 3 -1. <_> 6 9 11 1 3. <_> <_> 13 10 5 2 -1. <_> 13 11 5 1 2. <_> <_> 13 9 3 6 -1. <_> 13 12 3 3 2. <_> <_> 3 14 5 2 -1. <_> 3 15 5 1 2. <_> <_> 11 0 8 2 -1. <_> 11 0 4 1 2. <_> 15 1 4 1 2. <_> <_> 13 1 7 6 -1. <_> 13 3 7 2 3. <_> <_> 11 0 6 1 -1. <_> 13 0 2 1 3. <_> <_> 8 1 5 3 -1. <_> 8 2 5 1 3. <_> <_> 12 11 1 3 -1. <_> 12 12 1 1 3. <_> <_> 17 13 3 6 -1. <_> 17 15 3 2 3. <_> <_> 12 11 1 3 -1. <_> 12 12 1 1 3. <_> <_> 15 9 3 1 -1. <_> 16 9 1 1 3. <_> <_> 10 4 6 11 -1. <_> 13 4 3 11 2. <_> <_> 13 9 4 4 -1. <_> 13 9 2 2 2. <_> 15 11 2 2 2. <_> <_> 8 2 1 6 -1. <_> 8 4 1 2 3. <_> <_> 5 6 4 6 -1. <_> 5 9 4 3 2. <_> <_> 2 6 4 8 -1. <_> 4 6 2 8 2. <_> <_> 11 15 1 2 -1. <_> 11 16 1 1 2. <_> <_> 11 1 7 10 -1. <_> 11 6 7 5 2. <_> <_> 7 11 9 6 -1. <_> 7 13 9 2 3. <_> <_> 4 9 8 1 -1. <_> 8 9 4 1 2. <_> <_> 10 10 3 3 -1. <_> 11 10 1 3 3. <_> <_> 8 0 7 6 -1. <_> 8 2 7 2 3. <_> <_> 11 13 2 2 -1. <_> 11 13 1 1 2. <_> 12 14 1 1 2. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 7 10 3 9 -1. <_> 7 13 3 3 3. <_> <_> 5 9 1 3 -1. <_> 5 10 1 1 3. <_> <_> 2 8 18 6 -1. <_> 11 8 9 6 2. <_> <_> 11 7 6 4 -1. <_> 13 7 2 4 3. <_> <_> 7 8 4 6 -1. <_> 7 10 4 2 3. <_> <_> 10 4 4 6 -1. <_> 10 6 4 2 3. <_> <_> 11 12 6 1 -1. <_> 13 12 2 1 3. <_> <_> 5 7 2 1 -1. <_> 6 7 1 1 2. <_> <_> 5 12 3 3 -1. <_> 5 13 3 1 3. <_> <_> 16 17 1 2 -1. <_> 16 18 1 1 2. <_> <_> 1 0 2 1 -1. <_> 2 0 1 1 2. <_> <_> 5 12 2 2 -1. <_> 5 13 2 1 2. <_> <_> 12 13 2 3 -1. <_> 12 14 2 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 1 0 2 1 -1. <_> 2 0 1 1 2. <_> <_> 16 0 4 4 -1. <_> 16 0 2 2 2. <_> 18 2 2 2 2. <_> <_> 4 5 8 10 -1. <_> 4 5 4 5 2. <_> 8 10 4 5 2. <_> <_> 3 14 4 5 -1. <_> 5 14 2 5 2. <_> <_> 2 16 6 2 -1. <_> 5 16 3 2 2. <_> <_> 8 0 8 1 -1. <_> 12 0 4 1 2. <_> <_> 0 4 15 6 -1. <_> 0 7 15 3 2. <_> <_> 9 9 3 2 -1. <_> 9 10 3 1 2. <_> <_> 7 9 2 6 -1. <_> 7 11 2 2 3. <_> <_> 5 10 4 3 -1. <_> 5 11 4 1 3. <_> <_> 12 10 1 2 -1. <_> 12 11 1 1 2. <_> <_> 17 3 1 3 -1. <_> 17 4 1 1 3. <_> <_> 11 9 4 4 -1. <_> 11 9 2 2 2. <_> 13 11 2 2 2. <_> <_> 10 14 6 2 -1. <_> 10 15 6 1 2. <_> <_> 11 12 2 8 -1. <_> 11 16 2 4 2. <_> <_> 11 7 5 6 -1. <_> 11 10 5 3 2. <_> <_> 4 2 2 6 -1. <_> 5 2 1 6 2. <_> <_> 6 0 5 2 -1. <_> 6 1 5 1 2. <_> <_> 10 17 4 3 -1. <_> 10 18 4 1 3. <_> <_> 12 3 7 3 -1. <_> 12 4 7 1 3. <_> <_> 8 1 12 8 -1. <_> 8 1 6 4 2. <_> 14 5 6 4 2. <_> <_> 11 0 3 20 -1. <_> 12 0 1 20 3. <_> <_> 17 1 2 2 -1. <_> 17 1 1 1 2. <_> 18 2 1 1 2. <_> <_> 2 10 7 6 -1. <_> 2 12 7 2 3. <_> <_> 7 3 3 1 -1. <_> 8 3 1 1 3. <_> <_> 4 17 11 3 -1. <_> 4 18 11 1 3. <_> <_> 7 15 3 2 -1. <_> 8 15 1 2 3. <_> <_> 3 4 3 13 -1. <_> 4 4 1 13 3. <_> <_> 5 2 12 14 -1. <_> 5 2 6 7 2. <_> 11 9 6 7 2. <_> <_> 0 0 10 6 -1. <_> 0 3 10 3 2. <_> <_> 5 4 2 1 -1. <_> 6 4 1 1 2. <_> <_> 7 7 6 13 -1. <_> 10 7 3 13 2. <_> <_> 7 2 2 8 -1. <_> 7 2 1 4 2. <_> 8 6 1 4 2. <_> <_> 6 1 3 4 -1. <_> 7 1 1 4 3. <_> <_> 7 8 2 1 -1. <_> 8 8 1 1 2. <_> <_> 4 0 4 2 -1. <_> 4 0 2 1 2. <_> 6 1 2 1 2. <_> <_> 3 10 16 8 -1. <_> 3 14 16 4 2. <_> <_> 10 5 5 10 -1. <_> 10 10 5 5 2. <_> <_> 13 6 3 4 -1. <_> 13 8 3 2 2. <_> <_> 13 10 5 3 -1. <_> 13 11 5 1 3. <_> <_> 16 12 2 2 -1. <_> 16 12 1 1 2. <_> 17 13 1 1 2. <_> <_> 16 3 2 1 -1. <_> 17 3 1 1 2. <_> <_> 5 1 3 5 -1. <_> 6 1 1 5 3. <_> <_> 5 7 8 6 -1. <_> 5 9 8 2 3. <_> <_> 6 10 8 2 -1. <_> 6 10 4 1 2. <_> 10 11 4 1 2. <_> <_> 6 9 4 8 -1. <_> 6 9 2 4 2. <_> 8 13 2 4 2. <_> <_> 0 7 8 4 -1. <_> 4 7 4 4 2. <_> <_> 14 13 2 6 -1. <_> 14 13 1 3 2. <_> 15 16 1 3 2. <_> <_> 12 13 2 1 -1. <_> 13 13 1 1 2. <_> <_> 6 8 2 2 -1. <_> 6 9 2 1 2. <_> <_> 15 12 2 1 -1. <_> 16 12 1 1 2. <_> <_> 0 0 18 14 -1. <_> 0 7 18 7 2. <_> <_> 11 5 3 3 -1. <_> 12 5 1 3 3. <_> <_> 4 7 3 3 -1. <_> 5 7 1 3 3. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 5 9 1 8 -1. <_> 5 13 1 4 2. <_> <_> 4 2 3 15 -1. <_> 5 2 1 15 3. <_> <_> 15 0 4 4 -1. <_> 17 0 2 4 2. <_> <_> 10 7 1 3 -1. <_> 10 8 1 1 3. <_> <_> 8 17 3 2 -1. <_> 9 17 1 2 3. <_> <_> 8 17 3 2 -1. <_> 9 17 1 2 3. <_> <_> 10 6 1 3 -1. <_> 10 7 1 1 3. <_> <_> 6 7 4 4 -1. <_> 6 7 2 2 2. <_> 8 9 2 2 2. <_> <_> 8 7 4 4 -1. <_> 8 7 2 2 2. <_> 10 9 2 2 2. <_> <_> 15 8 2 7 -1. <_> 16 8 1 7 2. <_> <_> 8 3 3 2 -1. <_> 9 3 1 2 3. <_> <_> 16 17 3 1 -1. <_> 17 17 1 1 3. <_> <_> 3 2 12 14 -1. <_> 3 2 6 7 2. <_> 9 9 6 7 2. <_> <_> 16 16 1 2 -1. <_> 16 17 1 1 2. <_> <_> 7 12 2 3 -1. <_> 7 13 2 1 3. <_> <_> 7 13 2 6 -1. <_> 8 13 1 6 2. <_> <_> 8 14 2 6 -1. <_> 8 16 2 2 3. <_> <_> 6 14 4 6 -1. <_> 6 16 4 2 3. <_> <_> 11 12 3 6 -1. <_> 12 12 1 6 3. <_> <_> 0 6 1 12 -1. <_> 0 10 1 4 3. <_> <_> 3 3 2 10 -1. <_> 3 3 1 5 2. <_> 4 8 1 5 2. <_> <_> 3 3 2 8 -1. <_> 3 3 1 4 2. <_> 4 7 1 4 2. <_> <_> 9 4 1 12 -1. <_> 9 10 1 6 2. <_> <_> 0 5 6 4 -1. <_> 3 5 3 4 2. <_> <_> 9 9 1 4 -1. <_> 9 11 1 2 2. <_> <_> 4 6 6 4 -1. <_> 4 6 3 2 2. <_> 7 8 3 2 2. <_> <_> 6 8 2 2 -1. <_> 7 8 1 2 2. <_> <_> 6 4 4 14 -1. <_> 8 4 2 14 2. <_> <_> 6 7 3 3 -1. <_> 7 7 1 3 3. <_> <_> 4 7 6 5 -1. <_> 7 7 3 5 2. <_> <_> 0 4 8 10 -1. <_> 4 4 4 10 2. <_> <_> 0 6 18 14 -1. <_> 9 6 9 14 2. <_> <_> 11 15 3 5 -1. <_> 12 15 1 5 3. <_> <_> 3 18 4 2 -1. <_> 3 18 2 1 2. <_> 5 19 2 1 2. <_> <_> 7 10 2 2 -1. <_> 7 11 2 1 2. <_> <_> 10 1 3 10 -1. <_> 10 6 3 5 2. <_> <_> 9 0 8 10 -1. <_> 13 0 4 10 2. <_> <_> 7 2 8 13 -1. <_> 11 2 4 13 2. <_> <_> 3 3 12 7 -1. <_> 9 3 6 7 2. <_> <_> 11 8 3 2 -1. <_> 12 8 1 2 3. <_> <_> 11 7 2 8 -1. <_> 11 7 1 4 2. <_> 12 11 1 4 2. <_> <_> 0 6 3 2 -1. <_> 0 7 3 1 2. <_> <_> 6 17 2 3 -1. <_> 6 18 2 1 3. <_> <_> 4 7 2 2 -1. <_> 4 7 1 1 2. <_> 5 8 1 1 2. <_> <_> 9 2 10 9 -1. <_> 9 5 10 3 3. <_> <_> 9 0 10 4 -1. <_> 9 0 5 2 2. <_> 14 2 5 2 2. <_> <_> 7 5 2 1 -1. <_> 8 5 1 1 2. <_> <_> 7 5 2 1 -1. <_> 8 5 1 1 2. <_> <_> 4 9 3 3 -1. <_> 4 10 3 1 3. <_> <_> 4 10 4 3 -1. <_> 4 11 4 1 3. <_> <_> 6 7 2 3 -1. <_> 6 8 2 1 3. <_> <_> 18 4 1 3 -1. <_> 18 5 1 1 3. <_> <_> 17 0 3 5 -1. <_> 18 0 1 5 3. <_> <_> 11 2 8 3 -1. <_> 11 3 8 1 3. <_> <_> 14 9 6 5 -1. <_> 17 9 3 5 2. <_> <_> 0 7 4 6 -1. <_> 0 9 4 2 3. <_> <_> 12 7 4 12 -1. <_> 12 7 2 6 2. <_> 14 13 2 6 2. <_> <_> 8 7 9 3 -1. <_> 11 7 3 3 3. <_> <_> 12 12 2 3 -1. <_> 12 13 2 1 3. <_> <_> 11 0 6 20 -1. <_> 14 0 3 20 2. <_> <_> 4 5 2 6 -1. <_> 5 5 1 6 2. <_> <_> 1 7 6 11 -1. <_> 3 7 2 11 3. <_> <_> 2 15 2 1 -1. <_> 3 15 1 1 2. <_> <_> 5 11 2 6 -1. <_> 5 14 2 3 2. <_> <_> 6 17 2 3 -1. <_> 6 18 2 1 3. <_> <_> 5 8 11 12 -1. <_> 5 12 11 4 3. <_> <_> 16 10 2 2 -1. <_> 16 10 1 1 2. <_> 17 11 1 1 2. <_> <_> 15 11 3 1 -1. <_> 16 11 1 1 3. <_> <_> 13 14 1 3 -1. <_> 13 15 1 1 3. <_> <_> 6 14 3 4 -1. <_> 6 16 3 2 2. <_> <_> 6 6 2 14 -1. <_> 6 13 2 7 2. <_> <_> 11 14 2 1 -1. <_> 12 14 1 1 2. <_> <_> 9 13 6 6 -1. <_> 9 13 3 3 2. <_> 12 16 3 3 2. <_> <_> 10 17 3 1 -1. <_> 11 17 1 1 3. <_> <_> 9 13 2 6 -1. <_> 9 13 1 3 2. <_> 10 16 1 3 2. <_> <_> 11 18 4 2 -1. <_> 13 18 2 2 2. <_> <_> 9 12 3 3 -1. <_> 10 12 1 3 3. <_> <_> 5 6 1 12 -1. <_> 5 12 1 6 2. <_> <_> 2 4 6 6 -1. <_> 4 4 2 6 3. <_> <_> 1 4 9 3 -1. <_> 4 4 3 3 3. <_> <_> 5 10 3 3 -1. <_> 5 11 3 1 3. <_> <_> 8 9 1 3 -1. <_> 8 10 1 1 3. <_> <_> 11 19 6 1 -1. <_> 13 19 2 1 3. <_> <_> 18 4 2 8 -1. <_> 18 4 1 4 2. <_> 19 8 1 4 2. <_> <_> 17 5 2 3 -1. <_> 17 6 2 1 3. <_> <_> 12 15 8 4 -1. <_> 16 15 4 4 2. <_> <_> 14 8 4 10 -1. <_> 14 13 4 5 2. <_> <_> 11 0 3 18 -1. <_> 11 6 3 6 3. <_> <_> 8 5 12 6 -1. <_> 8 7 12 2 3. <_> <_> 10 11 4 2 -1. <_> 12 11 2 2 2. <_> <_> 5 7 2 8 -1. <_> 6 7 1 8 2. <_> <_> 6 3 12 12 -1. <_> 6 3 6 6 2. <_> 12 9 6 6 2. <_> <_> 6 10 4 2 -1. <_> 6 10 2 1 2. <_> 8 11 2 1 2. <_> <_> 0 2 6 10 -1. <_> 2 2 2 10 3. <_> <_> 10 15 3 2 -1. <_> 11 15 1 2 3. <_> <_> 6 8 10 2 -1. <_> 6 8 5 1 2. <_> 11 9 5 1 2. <_> <_> 6 12 1 6 -1. <_> 6 15 1 3 2. <_> <_> 9 0 4 1 -1. <_> 11 0 2 1 2. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 7 4 2 1 -1. <_> 8 4 1 1 2. <_> <_> 2 11 3 1 -1. <_> 3 11 1 1 3. <_> <_> 1 10 3 3 -1. <_> 2 10 1 3 3. <_> <_> 12 0 8 2 -1. <_> 12 0 4 1 2. <_> 16 1 4 1 2. <_> <_> 6 6 6 8 -1. <_> 9 6 3 8 2. <_> <_> 6 10 1 3 -1. <_> 6 11 1 1 3. <_> <_> 8 12 7 2 -1. <_> 8 13 7 1 2. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 6 6 2 12 -1. <_> 6 12 2 6 2. <_> <_> 6 12 2 3 -1. <_> 6 13 2 1 3. <_> <_> 12 12 1 3 -1. <_> 12 13 1 1 3. <_> <_> 8 9 1 2 -1. <_> 8 10 1 1 2. <_> <_> 7 11 4 6 -1. <_> 7 11 2 3 2. <_> 9 14 2 3 2. <_> <_> 10 10 4 3 -1. <_> 10 11 4 1 3. <_> <_> 12 10 2 3 -1. <_> 12 11 2 1 3. <_> <_> 6 13 2 3 -1. <_> 6 14 2 1 3. <_> <_> 7 14 1 3 -1. <_> 7 15 1 1 3. <_> <_> 6 10 8 6 -1. <_> 6 12 8 2 3. <_> <_> 5 8 6 12 -1. <_> 5 12 6 4 3. <_> <_> 1 14 2 1 -1. <_> 2 14 1 1 2. <_> <_> 8 6 2 3 -1. <_> 8 7 2 1 3. <_> <_> 4 6 8 4 -1. <_> 4 6 4 2 2. <_> 8 8 4 2 2. <_> <_> 0 14 3 1 -1. <_> 1 14 1 1 3. <_> <_> 4 1 2 2 -1. <_> 4 1 1 1 2. <_> 5 2 1 1 2. <_> <_> 14 10 1 6 -1. <_> 14 13 1 3 2. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 5 10 3 3 -1. <_> 5 11 3 1 3. <_> <_> 2 3 12 4 -1. <_> 2 3 6 2 2. <_> 8 5 6 2 2. <_> <_> 10 15 3 2 -1. <_> 11 15 1 2 3. <_> <_> 12 14 8 1 -1. <_> 16 14 4 1 2. <_> <_> 11 0 8 13 -1. <_> 15 0 4 13 2. <_> <_> 12 12 2 8 -1. <_> 12 12 1 4 2. <_> 13 16 1 4 2. <_> <_> 4 7 8 12 -1. <_> 4 13 8 6 2. <_> <_> 10 9 2 4 -1. <_> 10 11 2 2 2. <_> <_> 4 4 3 1 -1. <_> 5 4 1 1 3. <_> <_> 18 5 1 3 -1. <_> 18 6 1 1 3. <_> <_> 6 9 9 1 -1. <_> 9 9 3 1 3. <_> <_> 12 5 4 6 -1. <_> 12 7 4 2 3. <_> <_> 16 0 4 4 -1. <_> 18 0 2 4 2. <_> <_> 3 10 2 2 -1. <_> 3 10 1 1 2. <_> 4 11 1 1 2. <_> <_> 0 0 2 1 -1. <_> 1 0 1 1 2. <_> <_> 17 4 2 8 -1. <_> 17 4 1 4 2. <_> 18 8 1 4 2. <_> <_> 7 15 1 3 -1. <_> 7 16 1 1 3. <_> <_> 0 15 2 1 -1. <_> 1 15 1 1 2. <_> <_> 7 10 2 4 -1. <_> 7 12 2 2 2. <_> <_> 4 19 3 1 -1. <_> 5 19 1 1 3. <_> <_> 2 14 4 5 -1. <_> 4 14 2 5 2. <_> <_> 4 11 4 4 -1. <_> 4 11 2 2 2. <_> 6 13 2 2 2. <_> <_> 4 13 2 6 -1. <_> 4 13 1 3 2. <_> 5 16 1 3 2. <_> <_> 7 3 3 4 -1. <_> 8 3 1 4 3. <_> <_> 17 11 3 2 -1. <_> 18 11 1 2 3. <_> <_> 10 4 6 2 -1. <_> 10 5 6 1 2. <_> <_> 12 3 6 3 -1. <_> 12 4 6 1 3. <_> <_> 17 12 2 2 -1. <_> 17 12 1 1 2. <_> 18 13 1 1 2. <_> <_> 5 12 15 8 -1. <_> 10 12 5 8 3. <_> <_> 4 18 2 2 -1. <_> 4 18 1 1 2. <_> 5 19 1 1 2. <_> <_> 0 15 2 2 -1. <_> 0 15 1 1 2. <_> 1 16 1 1 2. <_> <_> 5 9 1 6 -1. <_> 5 12 1 3 2. <_> <_> 1 0 18 14 -1. <_> 1 7 18 7 2. <_> <_> 6 2 7 6 -1. <_> 6 5 7 3 2. <_> <_> 6 16 2 1 -1. <_> 7 16 1 1 2. <_> <_> 4 11 16 9 -1. <_> 4 14 16 3 3. <_> <_> 16 9 2 2 -1. <_> 17 9 1 2 2. <_> <_> 6 8 2 2 -1. <_> 7 8 1 2 2. <_> <_> 0 14 12 3 -1. <_> 6 14 6 3 2. <_> <_> 7 6 3 10 -1. <_> 7 11 3 5 2. <_> <_> 10 11 1 2 -1. <_> 10 12 1 1 2. <_> <_> 5 17 2 2 -1. <_> 6 17 1 2 2. <_> <_> 2 0 18 18 -1. <_> 11 0 9 18 2. <_> <_> 12 11 6 3 -1. <_> 14 11 2 3 3. <_> <_> 12 12 6 1 -1. <_> 14 12 2 1 3. <_> <_> 15 10 2 2 -1. <_> 15 10 1 1 2. <_> 16 11 1 1 2. <_> <_> 3 11 3 8 -1. <_> 4 11 1 8 3. <_> <_> 6 1 4 12 -1. <_> 8 1 2 12 2. <_> <_> 6 3 4 8 -1. <_> 8 3 2 8 2. <_> <_> 8 4 6 12 -1. <_> 11 4 3 12 2. <_> <_> 16 12 4 5 -1. <_> 18 12 2 5 2. <_> <_> 14 9 2 3 -1. <_> 15 9 1 3 2. <_> <_> 9 7 10 6 -1. <_> 14 7 5 6 2. <_> <_> 12 7 3 11 -1. <_> 13 7 1 11 3. <_> <_> 19 16 1 2 -1. <_> 19 17 1 1 2. <_> <_> 8 15 12 1 -1. <_> 14 15 6 1 2. <_> <_> 10 15 6 3 -1. <_> 10 16 6 1 3. <_> <_> 6 8 10 4 -1. <_> 6 8 5 2 2. <_> 11 10 5 2 2. <_> <_> 10 15 1 3 -1. <_> 10 16 1 1 3. <_> <_> 10 1 9 12 -1. <_> 10 7 9 6 2. <_> <_> 10 1 1 4 -1. <_> 10 3 1 2 2. <_> <_> 1 5 18 4 -1. <_> 1 7 18 2 2. <_> <_> 6 4 12 6 -1. <_> 12 4 6 6 2. <_> <_> 13 1 7 3 -1. <_> 13 2 7 1 3. <_> <_> 14 0 6 4 -1. <_> 14 0 3 2 2. <_> 17 2 3 2 2. <_> <_> 9 12 3 3 -1. <_> 9 13 3 1 3. <_> <_> 5 14 8 4 -1. <_> 5 14 4 2 2. <_> 9 16 4 2 2. <_> <_> 1 6 14 14 -1. <_> 8 6 7 14 2. <_> <_> 13 4 6 2 -1. <_> 13 4 3 1 2. <_> 16 5 3 1 2. <_> <_> 8 7 6 6 -1. <_> 8 9 6 2 3. <_> <_> 8 0 12 20 -1. <_> 8 10 12 10 2. <_> <_> 9 8 4 3 -1. <_> 9 9 4 1 3. <_> <_> 10 18 8 2 -1. <_> 10 19 8 1 2. <_> <_> 9 12 4 2 -1. <_> 9 12 2 1 2. <_> 11 13 2 1 2. <_> <_> 4 14 2 2 -1. <_> 4 14 1 1 2. <_> 5 15 1 1 2. <_> <_> 5 14 3 2 -1. <_> 5 15 3 1 2. <_> <_> 11 1 6 3 -1. <_> 13 1 2 3 3. <_> <_> 6 14 2 3 -1. <_> 6 15 2 1 3. <_> <_> 14 1 2 2 -1. <_> 15 1 1 2 2. <_> <_> 0 13 6 7 -1. <_> 3 13 3 7 2. <_> <_> 17 11 3 1 -1. <_> 18 11 1 1 3. <_> <_> 5 10 8 4 -1. <_> 9 10 4 4 2. <_> <_> 7 16 8 4 -1. <_> 7 16 4 2 2. <_> 11 18 4 2 2. <_> <_> 11 16 4 3 -1. <_> 11 17 4 1 3. <_> <_> 3 10 6 2 -1. <_> 3 10 3 1 2. <_> 6 11 3 1 2. <_> <_> 11 7 3 2 -1. <_> 12 7 1 2 3. <_> <_> 8 7 9 2 -1. <_> 11 7 3 2 3. <_> <_> 13 6 3 10 -1. <_> 14 6 1 10 3. <_> <_> 15 10 4 3 -1. <_> 17 10 2 3 2. <_> <_> 1 10 6 10 -1. <_> 3 10 2 10 3. <_> <_> 5 0 2 2 -1. <_> 5 0 1 1 2. <_> 6 1 1 1 2. <_> <_> 3 11 3 6 -1. <_> 3 13 3 2 3. <_> <_> 4 6 9 10 -1. <_> 7 6 3 10 3. <_> <_> 6 10 9 5 -1. <_> 9 10 3 5 3. <_> <_> 10 5 3 9 -1. <_> 11 5 1 9 3. <_> <_> 3 7 3 4 -1. <_> 4 7 1 4 3. <_> <_> 4 6 2 2 -1. <_> 4 6 1 1 2. <_> 5 7 1 1 2. <_> <_> 0 2 2 3 -1. <_> 0 3 2 1 3. <_> <_> 12 0 8 4 -1. <_> 12 0 4 2 2. <_> 16 2 4 2 2. <_> <_> 11 1 8 2 -1. <_> 11 1 4 1 2. <_> 15 2 4 1 2. <_> <_> 12 2 7 3 -1. <_> 12 3 7 1 3. <_> <_> 3 6 3 2 -1. <_> 4 6 1 2 3. <_> <_> 4 6 4 6 -1. <_> 4 9 4 3 2. <_> <_> 13 12 6 4 -1. <_> 13 12 3 2 2. <_> 16 14 3 2 2. <_> <_> 13 10 2 4 -1. <_> 13 12 2 2 2. <_> <_> 15 12 3 3 -1. <_> 15 13 3 1 3. <_> <_> 14 14 2 3 -1. <_> 14 15 2 1 3. <_> <_> 18 4 2 8 -1. <_> 18 4 1 4 2. <_> 19 8 1 4 2. <_> <_> 7 14 2 4 -1. <_> 7 14 1 2 2. <_> 8 16 1 2 2. <_> <_> 14 3 6 6 -1. <_> 14 5 6 2 3. <_> <_> 19 7 1 2 -1. <_> 19 8 1 1 2. <_> <_> 8 8 6 2 -1. <_> 8 8 3 1 2. <_> 11 9 3 1 2. <_> <_> 19 6 1 3 -1. <_> 19 7 1 1 3. <_> <_> 7 8 7 3 -1. <_> 7 9 7 1 3. <_> <_> 18 6 2 6 -1. <_> 18 6 1 3 2. <_> 19 9 1 3 2. <_> <_> 5 8 8 6 -1. <_> 5 10 8 2 3. <_> <_> 1 1 18 15 -1. <_> 10 1 9 15 2. <_> <_> 11 7 5 4 -1. <_> 11 9 5 2 2. <_> <_> 10 12 2 3 -1. <_> 11 12 1 3 2. <_> <_> 0 7 2 4 -1. <_> 0 9 2 2 2. <_> <_> 6 12 4 2 -1. <_> 6 12 2 1 2. <_> 8 13 2 1 2. <_> <_> 7 7 6 8 -1. <_> 7 11 6 4 2. <_> <_> 9 9 2 4 -1. <_> 9 11 2 2 2. <_> <_> 9 10 6 6 -1. <_> 9 12 6 2 3. <_> <_> 12 13 4 2 -1. <_> 12 14 4 1 2. <_> <_> 0 4 8 1 -1. <_> 4 4 4 1 2. <_> <_> 14 13 1 2 -1. <_> 14 14 1 1 2. <_> <_> 8 7 2 6 -1. <_> 8 7 1 3 2. <_> 9 10 1 3 2. <_> <_> 5 8 10 6 -1. <_> 5 8 5 3 2. <_> 10 11 5 3 2. <_> <_> 5 12 3 3 -1. <_> 5 13 3 1 3. <_> <_> 5 10 2 2 -1. <_> 5 11 2 1 2. <_> <_> 6 2 4 15 -1. <_> 6 7 4 5 3. <_> <_> 7 6 2 4 -1. <_> 7 6 1 2 2. <_> 8 8 1 2 2. <_> <_> 5 9 2 3 -1. <_> 5 10 2 1 3. <_> <_> 15 16 2 2 -1. <_> 15 16 1 1 2. <_> 16 17 1 1 2. <_> <_> 4 11 4 6 -1. <_> 4 13 4 2 3. <_> <_> 5 0 3 6 -1. <_> 6 0 1 6 3. <_> <_> 4 11 12 4 -1. <_> 4 11 6 2 2. <_> 10 13 6 2 2. <_> <_> 7 13 3 3 -1. <_> 7 14 3 1 3. <_> <_> 9 12 6 2 -1. <_> 9 13 6 1 2. <_> <_> 8 0 12 8 -1. <_> 8 0 6 4 2. <_> 14 4 6 4 2. <_> <_> 10 8 4 4 -1. <_> 10 8 2 2 2. <_> 12 10 2 2 2. <_> <_> 12 10 1 6 -1. <_> 12 13 1 3 2. <_> <_> 5 5 3 10 -1. <_> 6 5 1 10 3. <_> <_> 4 0 14 6 -1. <_> 11 0 7 6 2. <_> <_> 9 7 2 6 -1. <_> 9 7 1 3 2. <_> 10 10 1 3 2. <_> <_> 8 4 3 1 -1. <_> 9 4 1 1 3. <_> <_> 11 14 2 2 -1. <_> 11 15 2 1 2. <_> <_> 9 18 6 2 -1. <_> 12 18 3 2 2. <_> <_> 8 12 8 6 -1. <_> 8 15 8 3 2. <_> <_> 7 0 8 6 -1. <_> 7 2 8 2 3. <_> <_> 1 2 12 3 -1. <_> 5 2 4 3 3. <_> <_> 5 4 10 12 -1. <_> 5 4 5 6 2. <_> 10 10 5 6 2. <_> <_> 5 8 3 2 -1. <_> 5 9 3 1 2. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 5 11 3 3 -1. <_> 5 12 3 1 3. <_> <_> 8 10 6 9 -1. <_> 8 13 6 3 3. <_> <_> 7 8 3 6 -1. <_> 7 10 3 2 3. <_> <_> 3 4 3 14 -1. <_> 4 4 1 14 3. <_> <_> 3 10 3 6 -1. <_> 4 10 1 6 3. <_> <_> 4 8 2 2 -1. <_> 4 8 1 1 2. <_> 5 9 1 1 2. <_> <_> 10 13 2 3 -1. <_> 10 14 2 1 3. <_> <_> 6 14 8 4 -1. <_> 6 14 4 2 2. <_> 10 16 4 2 2. <_> <_> 5 12 3 4 -1. <_> 6 12 1 4 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 15 6 1 10 -1. <_> 15 11 1 5 2. <_> <_> 7 1 12 6 -1. <_> 7 3 12 2 3. <_> <_> 4 9 2 4 -1. <_> 4 9 1 2 2. <_> 5 11 1 2 2. <_> <_> 6 7 6 12 -1. <_> 9 7 3 12 2. <_> <_> 7 6 2 3 -1. <_> 8 6 1 3 2. <_> <_> 0 1 1 3 -1. <_> 0 2 1 1 3. <_> <_> 0 1 1 3 -1. <_> 0 2 1 1 3. <_> <_> 11 15 3 5 -1. <_> 12 15 1 5 3. <_> <_> 8 6 4 6 -1. <_> 8 8 4 2 3. <_> <_> 5 3 3 12 -1. <_> 5 7 3 4 3. <_> <_> 7 9 2 2 -1. <_> 7 9 1 1 2. <_> 8 10 1 1 2. <_> <_> 4 4 2 12 -1. <_> 4 8 2 4 3. <_> <_> 4 5 7 3 -1. <_> 4 6 7 1 3. <_> <_> 13 5 2 3 -1. <_> 13 6 2 1 3. <_> <_> 4 0 2 2 -1. <_> 4 0 1 1 2. <_> 5 1 1 1 2. <_> <_> 11 8 3 11 -1. <_> 12 8 1 11 3. <_> <_> 4 0 2 2 -1. <_> 4 0 1 1 2. <_> 5 1 1 1 2. <_> <_> 9 3 2 2 -1. <_> 9 3 1 1 2. <_> 10 4 1 1 2. <_> <_> 7 11 3 2 -1. <_> 8 11 1 2 3. <_> <_> 11 12 2 1 -1. <_> 12 12 1 1 2. <_> <_> 8 8 4 2 -1. <_> 10 8 2 2 2. <_> <_> 17 15 3 1 -1. <_> 18 15 1 1 3. <_> <_> 12 6 2 4 -1. <_> 12 6 1 2 2. <_> 13 8 1 2 2. <_> <_> 8 3 9 11 -1. <_> 11 3 3 11 3. <_> <_> 10 8 2 2 -1. <_> 11 8 1 2 2. <_> <_> 12 5 3 9 -1. <_> 12 8 3 3 3. <_> <_> 13 0 6 17 -1. <_> 15 0 2 17 3. <_> <_> 6 6 3 4 -1. <_> 7 6 1 4 3. <_> <_> 5 6 4 7 -1. <_> 7 6 2 7 2. <_> <_> 7 5 3 2 -1. <_> 8 5 1 2 3. <_> <_> 7 15 6 2 -1. <_> 7 15 3 1 2. <_> 10 16 3 1 2. <_> <_> 11 14 1 3 -1. <_> 11 15 1 1 3. <_> <_> 2 12 6 7 -1. <_> 4 12 2 7 3. <_> <_> 11 17 5 3 -1. <_> 11 18 5 1 3. <_> <_> 17 11 2 2 -1. <_> 17 11 1 1 2. <_> 18 12 1 1 2. <_> <_> 10 17 6 3 -1. <_> 10 18 6 1 3. <_> <_> 2 15 1 2 -1. <_> 2 16 1 1 2. <_> <_> 8 6 3 3 -1. <_> 8 7 3 1 3. <_> <_> 7 7 1 2 -1. <_> 7 8 1 1 2. <_> <_> 2 15 2 2 -1. <_> 2 16 2 1 2. <_> <_> 3 16 3 1 -1. <_> 4 16 1 1 3. <_> <_> 3 0 3 20 -1. <_> 4 0 1 20 3. <_> <_> 8 2 12 12 -1. <_> 14 2 6 12 2. <_> <_> 5 3 2 3 -1. <_> 5 4 2 1 3. <_> <_> 3 4 2 2 -1. <_> 3 4 1 1 2. <_> 4 5 1 1 2. <_> <_> 0 15 20 3 -1. <_> 10 15 10 3 2. <_> <_> 6 13 2 4 -1. <_> 6 13 1 2 2. <_> 7 15 1 2 2. <_> <_> 12 8 3 7 -1. <_> 13 8 1 7 3. <_> <_> 8 9 6 10 -1. <_> 8 9 3 5 2. <_> 11 14 3 5 2. <_> <_> 2 10 16 2 -1. <_> 10 10 8 2 2. <_> <_> 5 3 15 6 -1. <_> 10 3 5 6 3. <_> <_> 10 14 2 1 -1. <_> 11 14 1 1 2. <_> <_> 9 11 4 4 -1. <_> 11 11 2 4 2. <_> <_> 12 8 2 4 -1. <_> 12 10 2 2 2. <_> <_> 1 3 10 14 -1. <_> 1 3 5 7 2. <_> 6 10 5 7 2. <_> <_> 8 0 3 4 -1. <_> 8 2 3 2 2. <_> <_> 10 2 2 1 -1. <_> 11 2 1 1 2. <_> <_> 5 12 5 3 -1. <_> 5 13 5 1 3. <_> <_> 7 12 1 3 -1. <_> 7 13 1 1 3. <_> <_> 10 12 6 3 -1. <_> 10 13 6 1 3. <_> <_> 6 4 1 3 -1. <_> 6 5 1 1 3. <_> <_> 2 0 18 3 -1. <_> 2 1 18 1 3. <_> <_> 8 8 11 6 -1. <_> 8 10 11 2 3. <_> <_> 2 6 10 8 -1. <_> 2 6 5 4 2. <_> 7 10 5 4 2. <_> <_> 9 2 6 2 -1. <_> 11 2 2 2 3. <_> <_> 13 9 6 3 -1. <_> 15 9 2 3 3. <_> <_> 5 3 1 2 -1. <_> 5 4 1 1 2. <_> <_> 1 7 3 1 -1. <_> 2 7 1 1 3. <_> <_> 0 6 8 6 -1. <_> 4 6 4 6 2. <_> <_> 11 9 1 2 -1. <_> 11 10 1 1 2. <_> <_> 12 13 1 2 -1. <_> 12 14 1 1 2. <_> <_> 10 15 10 4 -1. <_> 10 15 5 2 2. <_> 15 17 5 2 2. <_> <_> 12 11 1 2 -1. <_> 12 12 1 1 2. <_> <_> 6 11 2 1 -1. <_> 7 11 1 1 2. <_> <_> 11 3 3 2 -1. <_> 12 3 1 2 3. <_> <_> 4 7 6 5 -1. <_> 7 7 3 5 2. <_> <_> 3 16 3 1 -1. <_> 4 16 1 1 3. <_> <_> 4 7 6 5 -1. <_> 7 7 3 5 2. <_> <_> 5 7 6 3 -1. <_> 7 7 2 3 3. <_> <_> 7 8 4 8 -1. <_> 7 8 2 4 2. <_> 9 12 2 4 2. <_> <_> 4 2 14 12 -1. <_> 4 6 14 4 3. <_> <_> 4 14 2 6 -1. <_> 4 14 1 3 2. <_> 5 17 1 3 2. <_> <_> 7 11 2 4 -1. <_> 7 13 2 2 2. <_> <_> 6 4 10 15 -1. <_> 6 9 10 5 3. <_> <_> 6 11 12 6 -1. <_> 6 13 12 2 3. <_> <_> 6 17 4 3 -1. <_> 6 18 4 1 3. <_> <_> 6 17 4 3 -1. <_> 6 18 4 1 3. <_> <_> 9 13 3 7 -1. <_> 10 13 1 7 3. <_> <_> 2 8 5 2 -1. <_> 2 9 5 1 2. <_> <_> 14 1 3 8 -1. <_> 15 1 1 8 3. <_> <_> 2 12 1 2 -1. <_> 2 13 1 1 2. <_> <_> 8 6 2 2 -1. <_> 8 6 1 1 2. <_> 9 7 1 1 2. <_> <_> 4 3 10 12 -1. <_> 4 9 10 6 2. <_> <_> 5 9 8 4 -1. <_> 5 9 4 2 2. <_> 9 11 4 2 2. <_> <_> 9 9 4 4 -1. <_> 9 11 4 2 2. <_> <_> 5 10 4 2 -1. <_> 5 11 4 1 2. <_> <_> 6 17 2 1 -1. <_> 7 17 1 1 2. <_> <_> 12 12 2 1 -1. <_> 13 12 1 1 2. <_> <_> 11 6 4 8 -1. <_> 13 6 2 8 2. <_> <_> 9 4 3 10 -1. <_> 10 4 1 10 3. <_> <_> 0 18 9 2 -1. <_> 3 18 3 2 3. <_> <_> 15 13 3 3 -1. <_> 15 14 3 1 3. <_> <_> 9 12 2 2 -1. <_> 9 12 1 1 2. <_> 10 13 1 1 2. <_> <_> 13 12 7 3 -1. <_> 13 13 7 1 3. <_> <_> 14 10 6 2 -1. <_> 14 11 6 1 2. <_> <_> 14 5 5 14 -1. <_> 14 12 5 7 2. <_> <_> 4 16 5 3 -1. <_> 4 17 5 1 3. <_> <_> 5 16 5 3 -1. <_> 5 17 5 1 3. <_> <_> 8 14 4 5 -1. <_> 10 14 2 5 2. <_> <_> 9 14 2 1 -1. <_> 10 14 1 1 2. <_> <_> 6 10 6 2 -1. <_> 6 10 3 1 2. <_> 9 11 3 1 2. <_> <_> 5 8 6 6 -1. <_> 8 8 3 6 2. <_> <_> 10 13 7 6 -1. <_> 10 15 7 2 3. <_> <_> 4 1 2 8 -1. <_> 4 1 1 4 2. <_> 5 5 1 4 2. <_> <_> 3 6 6 4 -1. <_> 3 6 3 2 2. <_> 6 8 3 2 2. <_> <_> 15 2 3 13 -1. <_> 16 2 1 13 3. <_> <_> 16 10 2 6 -1. <_> 16 10 1 3 2. <_> 17 13 1 3 2. <_> <_> 13 19 2 1 -1. <_> 14 19 1 1 2. <_> <_> 7 11 2 1 -1. <_> 8 11 1 1 2. <_> <_> 4 10 3 4 -1. <_> 5 10 1 4 3. <_> <_> 4 7 2 4 -1. <_> 4 7 1 2 2. <_> 5 9 1 2 2. <_> <_> 10 7 5 4 -1. <_> 10 9 5 2 2. <_> <_> 7 4 8 16 -1. <_> 7 4 4 8 2. <_> 11 12 4 8 2. <_> <_> 5 9 10 6 -1. <_> 5 9 5 3 2. <_> 10 12 5 3 2. <_> <_> 5 11 3 2 -1. <_> 5 12 3 1 2. <_> <_> 12 12 4 8 -1. <_> 12 16 4 4 2. <_> <_> 8 13 6 2 -1. <_> 8 14 6 1 2. <_> <_> 3 12 5 6 -1. <_> 3 14 5 2 3. <_> <_> 16 0 2 2 -1. <_> 16 0 1 1 2. <_> 17 1 1 1 2. <_> <_> 13 3 3 4 -1. <_> 14 3 1 4 3. <_> <_> 15 11 3 1 -1. <_> 16 11 1 1 3. <_> <_> 14 0 6 5 -1. <_> 16 0 2 5 3. <_> <_> 10 1 8 18 -1. <_> 10 10 8 9 2. <_> <_> 11 5 3 2 -1. <_> 11 6 3 1 2. <_> <_> 5 5 2 1 -1. <_> 6 5 1 1 2. <_> <_> 3 4 3 3 -1. <_> 4 4 1 3 3. <_> <_> 11 14 1 3 -1. <_> 11 15 1 1 3. <_> <_> 16 13 3 3 -1. <_> 16 14 3 1 3. <_> <_> 15 8 5 12 -1. <_> 15 14 5 6 2. <_> <_> 3 0 3 10 -1. <_> 4 0 1 10 3. <_> <_> 15 15 1 2 -1. <_> 15 16 1 1 2. <_> <_> 15 0 4 2 -1. <_> 15 0 2 1 2. <_> 17 1 2 1 2. <_> <_> 17 2 2 1 -1. <_> 18 2 1 1 2. <_> <_> 8 13 1 3 -1. <_> 8 14 1 1 3. <_> <_> 9 1 2 6 -1. <_> 9 1 1 3 2. <_> 10 4 1 3 2. <_> <_> 1 12 9 3 -1. <_> 1 13 9 1 3. <_> <_> 12 14 3 3 -1. <_> 12 15 3 1 3. <_> <_> 15 10 3 1 -1. <_> 16 10 1 1 3. <_> <_> 9 6 9 1 -1. <_> 12 6 3 1 3. <_> <_> 12 5 3 7 -1. <_> 13 5 1 7 3. <_> <_> 8 2 2 2 -1. <_> 8 3 2 1 2. <_> <_> 7 0 9 2 -1. <_> 7 1 9 1 2. <_> <_> 13 5 2 5 -1. <_> 14 5 1 5 2. <_> <_> 14 2 3 6 -1. <_> 15 2 1 6 3. <_> <_> 8 6 4 3 -1. <_> 8 7 4 1 3. <_> <_> 6 8 1 9 -1. <_> 6 11 1 3 3. <_> <_> 3 9 7 6 -1. <_> 3 11 7 2 3. <_> <_> 6 6 2 3 -1. <_> 6 7 2 1 3. <_> <_> 5 9 3 1 -1. <_> 6 9 1 1 3. <_> <_> 4 5 4 4 -1. <_> 4 5 2 2 2. <_> 6 7 2 2 2. <_> <_> 8 5 2 3 -1. <_> 8 6 2 1 3. <_> <_> 5 6 4 7 -1. <_> 7 6 2 7 2. <_> <_> 10 8 3 5 -1. <_> 11 8 1 5 3. <_> <_> 11 4 3 13 -1. <_> 12 4 1 13 3. <_> <_> 2 13 3 3 -1. <_> 3 13 1 3 3. <_> <_> 4 8 3 2 -1. <_> 5 8 1 2 3. <_> <_> 0 4 1 3 -1. <_> 0 5 1 1 3. <_> <_> 7 6 6 6 -1. <_> 9 6 2 6 3. <_> <_> 7 7 4 12 -1. <_> 9 7 2 12 2. <_> <_> 6 12 6 3 -1. <_> 9 12 3 3 2. <_> <_> 8 6 9 12 -1. <_> 8 10 9 4 3. <_> <_> 11 0 3 15 -1. <_> 11 5 3 5 3. <_> <_> 8 16 6 4 -1. <_> 8 16 3 2 2. <_> 11 18 3 2 2. <_> <_> 6 5 10 6 -1. <_> 6 7 10 2 3. <_> <_> 2 12 3 4 -1. <_> 3 12 1 4 3. <_> <_> 9 13 4 3 -1. <_> 9 14 4 1 3. <_> <_> 3 0 4 6 -1. <_> 3 0 2 3 2. <_> 5 3 2 3 2. <_> <_> 5 9 6 1 -1. <_> 8 9 3 1 2. <_> <_> 11 14 2 3 -1. <_> 11 15 2 1 3. <_> <_> 5 8 2 1 -1. <_> 6 8 1 1 2. <_> <_> 17 0 3 12 -1. <_> 17 4 3 4 3. <_> <_> 10 13 3 6 -1. <_> 11 13 1 6 3. <_> <_> 10 13 3 7 -1. <_> 11 13 1 7 3. <_> <_> 6 5 6 1 -1. <_> 8 5 2 1 3. <_> <_> 18 2 2 8 -1. <_> 19 2 1 8 2. <_> <_> 5 8 3 1 -1. <_> 6 8 1 1 3. <_> <_> 8 7 4 6 -1. <_> 8 7 2 3 2. <_> 10 10 2 3 2. <_> <_> 8 3 2 2 -1. <_> 8 3 1 1 2. <_> 9 4 1 1 2. <_> <_> 18 5 2 3 -1. <_> 18 6 2 1 3. <_> <_> 17 7 3 4 -1. <_> 18 7 1 4 3. <_> <_> 8 2 2 4 -1. <_> 8 2 1 2 2. <_> 9 4 1 2 2. <_> <_> 4 6 2 2 -1. <_> 5 6 1 2 2. <_> <_> 4 8 3 1 -1. <_> 5 8 1 1 3. <_> <_> 10 9 9 10 -1. <_> 10 14 9 5 2. <_> <_> 6 4 3 1 -1. <_> 7 4 1 1 3. <_> <_> 8 14 1 3 -1. <_> 8 15 1 1 3. <_> <_> 6 4 2 1 -1. <_> 7 4 1 1 2. <_> <_> 5 9 3 9 -1. <_> 5 12 3 3 3. <_> <_> 5 13 7 3 -1. <_> 5 14 7 1 3. <_> <_> 9 6 2 10 -1. <_> 9 6 1 5 2. <_> 10 11 1 5 2. <_> <_> 13 1 3 18 -1. <_> 13 10 3 9 2. <_> <_> 5 13 2 3 -1. <_> 5 14 2 1 3. <_> <_> 9 10 3 7 -1. <_> 10 10 1 7 3. <_> <_> 17 0 3 13 -1. <_> 18 0 1 13 3. <_> <_> 13 6 1 2 -1. <_> 13 7 1 1 2. <_> <_> 6 15 3 2 -1. <_> 7 15 1 2 3. <_> <_> 5 14 2 3 -1. <_> 5 15 2 1 3. <_> <_> 16 6 1 6 -1. <_> 16 8 1 2 3. <_> <_> 0 6 2 2 -1. <_> 1 6 1 2 2. <_> <_> 3 12 4 8 -1. <_> 3 12 2 4 2. <_> 5 16 2 4 2. <_> <_> 6 2 2 8 -1. <_> 7 2 1 8 2. <_> <_> 6 7 2 6 -1. <_> 6 7 1 3 2. <_> 7 10 1 3 2. <_> <_> 5 12 4 2 -1. <_> 7 12 2 2 2. <_> <_> 4 9 13 2 -1. <_> 4 10 13 1 2. <_> <_> 19 5 1 2 -1. <_> 19 6 1 1 2. <_> <_> 4 8 9 1 -1. <_> 7 8 3 1 3. <_> <_> 8 8 2 1 -1. <_> 9 8 1 1 2. <_> <_> 3 0 2 10 -1. <_> 3 5 2 5 2. <_> <_> 6 2 2 1 -1. <_> 7 2 1 1 2. <_> <_> 14 5 3 3 -1. <_> 15 5 1 3 3. <_> <_> 4 8 2 2 -1. <_> 4 8 1 1 2. <_> 5 9 1 1 2. <_> <_> 8 16 9 2 -1. <_> 8 17 9 1 2. <_> <_> 6 7 2 3 -1. <_> 6 8 2 1 3. <_> <_> 12 11 2 2 -1. <_> 12 11 1 1 2. <_> 13 12 1 1 2. <_> <_> 15 9 2 4 -1. <_> 15 11 2 2 2. <_> <_> 5 11 2 3 -1. <_> 5 12 2 1 3. <_> <_> 6 11 2 3 -1. <_> 6 12 2 1 3. <_> <_> 6 12 1 6 -1. <_> 6 15 1 3 2. <_> <_> 6 9 5 9 -1. <_> 6 12 5 3 3. <_> <_> 8 11 2 2 -1. <_> 8 12 2 1 2. <_> <_> 8 10 4 2 -1. <_> 10 10 2 2 2. <_> <_> 8 10 4 6 -1. <_> 8 10 2 3 2. <_> 10 13 2 3 2. <_> <_> 2 0 9 20 -1. <_> 5 0 3 20 3. <_> <_> 12 3 2 4 -1. <_> 12 3 1 2 2. <_> 13 5 1 2 2. <_> <_> 15 0 2 10 -1. <_> 16 0 1 10 2. <_> <_> 13 7 3 4 -1. <_> 14 7 1 4 3. <_> <_> 14 10 1 2 -1. <_> 14 11 1 1 2. <_> <_> 16 11 3 1 -1. <_> 17 11 1 1 3. <_> <_> 16 11 2 2 -1. <_> 16 11 1 1 2. <_> 17 12 1 1 2. <_> <_> 13 12 6 1 -1. <_> 15 12 2 1 3. <_> <_> 3 2 14 9 -1. <_> 10 2 7 9 2. <_> <_> 5 4 12 2 -1. <_> 11 4 6 2 2. <_> <_> 13 6 2 1 -1. <_> 14 6 1 1 2. <_> <_> 7 10 3 3 -1. <_> 7 11 3 1 3. <_> <_> 16 17 4 2 -1. <_> 18 17 2 2 2. <_> <_> 4 12 8 8 -1. <_> 4 12 4 4 2. <_> 8 16 4 4 2. <_> <_> 14 8 4 5 -1. <_> 16 8 2 5 2. <_> <_> 11 8 6 2 -1. <_> 13 8 2 2 3. <_> <_> 4 5 16 5 -1. <_> 12 5 8 5 2. <_> <_> 14 9 6 10 -1. <_> 16 9 2 10 3. <_> <_> 4 18 3 1 -1. <_> 5 18 1 1 3. <_> <_> 4 13 4 4 -1. <_> 4 13 2 2 2. <_> 6 15 2 2 2. <_> <_> 6 15 2 3 -1. <_> 6 16 2 1 3. <_> <_> 6 15 1 3 -1. <_> 6 16 1 1 3. <_> <_> 7 17 3 1 -1. <_> 8 17 1 1 3. <_> <_> 7 17 3 1 -1. <_> 8 17 1 1 3. <_> <_> 9 10 4 1 -1. <_> 11 10 2 1 2. <_> <_> 11 12 2 1 -1. <_> 12 12 1 1 2. <_> <_> 7 8 1 6 -1. <_> 7 11 1 3 2. <_> <_> 6 7 3 3 -1. <_> 7 7 1 3 3. <_> <_> 13 10 1 3 -1. <_> 13 11 1 1 3. <_> <_> 5 8 2 4 -1. <_> 5 10 2 2 2. <_> <_> 5 8 6 6 -1. <_> 8 8 3 6 2. <_> <_> 6 5 4 13 -1. <_> 8 5 2 13 2. <_> <_> 8 4 10 8 -1. <_> 8 4 5 4 2. <_> 13 8 5 4 2. <_> <_> 8 3 9 6 -1. <_> 11 3 3 6 3. <_> <_> 11 0 6 3 -1. <_> 13 0 2 3 3. <_> <_> 11 1 3 15 -1. <_> 12 1 1 15 3. <_> <_> 4 8 14 9 -1. <_> 4 11 14 3 3. <_> <_> 11 2 1 16 -1. <_> 11 10 1 8 2. <_> <_> 12 1 2 14 -1. <_> 12 8 2 7 2. <_> <_> 11 1 3 4 -1. <_> 12 1 1 4 3. <_> <_> 9 8 4 2 -1. <_> 9 8 2 1 2. <_> 11 9 2 1 2. <_> <_> 17 3 2 2 -1. <_> 18 3 1 2 2. <_> <_> 2 6 3 2 -1. <_> 3 6 1 2 3. <_> <_> 9 8 2 2 -1. <_> 9 9 2 1 2. <_> <_> 6 15 6 1 -1. <_> 8 15 2 1 3. <_> <_> 16 10 2 4 -1. <_> 16 10 1 2 2. <_> 17 12 1 2 2. <_> <_> 6 6 10 6 -1. <_> 6 6 5 3 2. <_> 11 9 5 3 2. <_> <_> 13 8 3 3 -1. <_> 13 9 3 1 3. <_> <_> 13 0 4 2 -1. <_> 13 0 2 1 2. <_> 15 1 2 1 2. <_> <_> 10 0 10 2 -1. <_> 10 0 5 1 2. <_> 15 1 5 1 2. <_> <_> 13 13 2 1 -1. <_> 14 13 1 1 2. <_> <_> 4 9 2 2 -1. <_> 4 9 1 1 2. <_> 5 10 1 1 2. <_> <_> 6 8 2 3 -1. <_> 6 9 2 1 3. <_> <_> 2 12 2 3 -1. <_> 2 13 2 1 3. <_> <_> 2 0 10 2 -1. <_> 2 0 5 1 2. <_> 7 1 5 1 2. <_> <_> 6 2 2 2 -1. <_> 6 3 2 1 2. <_> <_> 5 10 8 2 -1. <_> 5 11 8 1 2. <_> <_> 11 7 5 10 -1. <_> 11 12 5 5 2. <_> <_> 5 10 4 3 -1. <_> 5 11 4 1 3. <_> <_> 9 6 6 12 -1. <_> 9 12 6 6 2. <_> <_> 16 10 3 5 -1. <_> 17 10 1 5 3. <_> <_> 15 12 2 4 -1. <_> 15 12 1 2 2. <_> 16 14 1 2 2. <_> <_> 8 0 12 8 -1. <_> 8 0 6 4 2. <_> 14 4 6 4 2. <_> <_> 14 1 5 3 -1. <_> 14 2 5 1 3. <_> <_> 2 2 3 6 -1. <_> 3 2 1 6 3. <_> <_> 6 5 2 2 -1. <_> 7 5 1 2 2. <_> <_> 7 12 12 1 -1. <_> 11 12 4 1 3. <_> <_> 13 9 7 2 -1. <_> 13 10 7 1 2. <_> <_> 5 10 1 3 -1. <_> 5 11 1 1 3. <_> <_> 0 4 15 2 -1. <_> 5 4 5 2 3. <_> <_> 3 0 9 13 -1. <_> 6 0 3 13 3. <_> <_> 5 10 6 2 -1. <_> 7 10 2 2 3. <_> <_> 8 3 4 2 -1. <_> 8 3 2 1 2. <_> 10 4 2 1 2. <_> <_> 8 7 2 6 -1. <_> 8 7 1 3 2. <_> 9 10 1 3 2. <_> <_> 8 7 2 3 -1. <_> 9 7 1 3 2. <_> <_> 5 11 3 3 -1. <_> 6 11 1 3 3. <_> <_> 0 1 1 2 -1. <_> 0 2 1 1 2. <_> <_> 7 0 1 6 -1. <_> 7 2 1 2 3. <_> <_> 14 0 2 5 -1. <_> 15 0 1 5 2. <_> <_> 3 2 12 1 -1. <_> 7 2 4 1 3. <_> <_> 11 13 5 2 -1. <_> 11 14 5 1 2. <_> <_> 13 14 1 3 -1. <_> 13 15 1 1 3. <_> <_> 7 17 12 2 -1. <_> 11 17 4 2 3. <_> <_> 0 0 13 20 -1. <_> 0 10 13 10 2. <_> <_> 4 7 10 12 -1. <_> 4 13 10 6 2. <_> <_> 10 12 2 2 -1. <_> 11 12 1 2 2. <_> <_> 9 11 4 4 -1. <_> 11 11 2 4 2. <_> <_> 4 9 16 5 -1. <_> 12 9 8 5 2. <_> <_> 16 9 2 4 -1. <_> 17 9 1 4 2. <_> <_> 15 9 3 1 -1. <_> 16 9 1 1 3. <_> <_> 14 3 4 11 -1. <_> 16 3 2 11 2. <_> <_> 4 3 10 10 -1. <_> 4 3 5 5 2. <_> 9 8 5 5 2. <_> <_> 16 9 3 1 -1. <_> 17 9 1 1 3. <_> <_> 6 4 14 9 -1. <_> 6 7 14 3 3. <_> <_> 8 11 2 4 -1. <_> 8 13 2 2 2. <_> <_> 5 9 6 8 -1. <_> 5 9 3 4 2. <_> 8 13 3 4 2. <_> <_> 5 11 4 4 -1. <_> 5 13 4 2 2. <_> <_> 7 14 1 3 -1. <_> 7 15 1 1 3. <_> <_> 9 10 3 1 -1. <_> 10 10 1 1 3. <_> <_> 4 8 2 4 -1. <_> 4 8 1 2 2. <_> 5 10 1 2 2. <_> <_> 14 6 2 5 -1. <_> 15 6 1 5 2. <_> <_> 13 7 6 7 -1. <_> 15 7 2 7 3. <_> <_> 15 6 4 7 -1. <_> 17 6 2 7 2. <_> <_> 9 11 6 5 -1. <_> 11 11 2 5 3. <_> <_> 0 8 20 4 -1. <_> 10 8 10 4 2. <_> <_> 1 2 8 14 -1. <_> 1 2 4 7 2. <_> 5 9 4 7 2. <_> <_> 10 13 3 1 -1. <_> 11 13 1 1 3. <_> <_> 7 0 6 4 -1. <_> 9 0 2 4 3. <_> <_> 7 14 6 2 -1. <_> 7 14 3 1 2. <_> 10 15 3 1 2. ================================================ FILE: examples/opencv-face/index.html ================================================ OpenCV Face Detection example

OpenCV Face Detection Demo

(click to dismiss)

Use OpenCV to find faces and draw boxes around them in 2D.

================================================ FILE: examples/opencv-face/old-rotate-resize.js ================================================ // createCVMat // // this routine does two things (if needed) as part of copying the input buffer to a cv.Mat: // - rotates the image so it is upright // - converts to greyscale var rotatedImage = null; var lastRotation = -1; function createCVMat(rotation, buffer, pixelFormat) { var width = buffer.size.width var height = buffer.size.height if (!rotatedImage || (lastRotation != rotation)) { lastRotation = rotation; if (rotatedImage) rotatedImage.delete() if(rotation == 90 || rotation == -90) { rotatedImage = new cv.Mat(width, height, cv.CV_8U) } else { rotatedImage = new cv.Mat(height, width, cv.CV_8U) } } var src, dest; src = dest = 0; var i, j; var b = new Uint8Array(buffer.buffer); var r = rotatedImage.data; var rowExtra = buffer.size.bytesPerRow - buffer.size.bytesPerPixel * width; switch(rotation) { case -90: // clockwise dest = height - 1; for (j = 0; j < height; j++) { switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: for (var i = 0; i < width; i++) { r[dest] = b[src++] dest += height; // up the row } break; case XRVideoFrame.IMAGEFORMAT_RGBA32: for (var i = 0; i < width; i++) { r[dest] = (b[src++] + b[src++] + b[src++]) / 3 src++ dest += height; // up the row } break; } dest -= width * height; dest --; src += rowExtra; } break; case 90: // anticlockwise dest = width * (height - 1); for (j = 0; j < height; j++) { switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: for (var i = 0; i < width; i++) { r[dest] = b[src++] dest -= height; // down the row } break; case XRVideoFrame.IMAGEFORMAT_RGBA32: for (var i = 0; i < width; i++) { r[dest] = (b[src++] + b[src++] + b[src++]) / 3 src++ dest -= height; // down the row } break; } dest += width * height; dest ++; src += rowExtra; } break; case 180: // 180 dest = width * height - 1; for (j = 0; j < height; j++) { switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: for (var i = 0; i < width; i++) { r[dest--] = b[src++] } break; case XRVideoFrame.IMAGEFORMAT_RGBA32: for (var i = 0; i < width; i++) { r[dest--] = (b[src++] + b[src++] + b[src++]) / 3 src++ } break; } src += rowExtra; } break; case 0: default: // copy for (j = 0; j < height; j++) { switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: for (var i = 0; i < width; i++) { r[dest++] = b[src++] } break; case XRVideoFrame.IMAGEFORMAT_RGBA32: for (var i = 0; i < width; i++) { r[dest++] = (b[src++] + b[src++] + b[src++]) / 3 src++ } break; } src += rowExtra; } } return rotatedImage; } ================================================ FILE: examples/opencv-face/opencv.js ================================================ (function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(function () { return (root.cv = factory()); }); } else if (typeof module === 'object' && module.exports) { // Node. Does not work with strict CommonJS, but // only CommonJS-like environments that support module.exports, // like Node. module.exports = factory(); } else { // Browser globals root.cv = factory(); } }(this, function () { var cv = function(cv) { cv = cv || {}; var Module=typeof cv!=="undefined"?cv:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){return read(f)}}Module["readBinary"]=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=1024;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function getMemory(size){if(!staticSealed)return staticAlloc(size);if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];assert(__cxa_demangle_func);try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(HEAP32[status>>2]===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}function integrateWasmJS(){var wasmTextFile="opencv_js.wast";var wasmBinaryFile="opencv_js.wasm";var asmjsCodeFile="opencv_js.temp.asm.js";if(typeof Module["locateFile"]==="function"){if(!isDataURI(wasmTextFile)){wasmTextFile=Module["locateFile"](wasmTextFile)}if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=Module["locateFile"](wasmBinaryFile)}if(!isDataURI(asmjsCodeFile)){asmjsCodeFile=Module["locateFile"](asmjsCodeFile)}}var wasmPageSize=64*1024;var info={"global":null,"env":null,"asm2wasm":{"f64-rem":(function(x,y){return x%y}),"debugger":(function(){debugger})},"parent":Module};var exports=null;function mergeMemory(newBuffer){var oldBuffer=Module["buffer"];if(newBuffer.byteLength0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?(function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null)||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}}),requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=(function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)});return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),asyncLoad:(function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(dep)addRunDependency(dep)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h0);info.refcount--;if(info.refcount===0&&!info.rethrown){if(info.destructor){Module["dynCall_vi"](info.destructor,ptr)}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(setTempRet0(0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(setTempRet0(throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___gxx_personality_v0(){}function ___lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}var tupleRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])}),destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]}));return[]}))}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,(function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)}),argCount-1);whenDependentTypesAreResolved([],argTypes,(function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn),argCount-1);return[]}))}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_smart_ptr(rawType,rawPointeeType,name,sharingPolicy,getPointeeSignature,rawGetPointee,constructorSignature,rawConstructor,shareSignature,rawShare,destructorSignature,rawDestructor){name=readLatin1String(name);rawGetPointee=embind__requireFunction(getPointeeSignature,rawGetPointee);rawConstructor=embind__requireFunction(constructorSignature,rawConstructor);rawShare=embind__requireFunction(shareSignature,rawShare);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);whenDependentTypesAreResolved([rawType],[rawPointeeType],(function(pointeeType){pointeeType=pointeeType[0];var registeredPointer=new RegisteredPointer(name,pointeeType.registeredClass,false,false,true,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor);return[registeredPointer]}))}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_allocateDestructors(destructorsRef){var destructors=[];HEAP32[destructorsRef>>2]=__emval_register(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=requireHandle(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map((function(t){return t.name})).join("_")+"$";var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return __emval_register([])}function __emval_new_cstring(v){return __emval_register(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=emval_handle_array[handle].value;runDestructors(destructors);__emval_decref(handle)}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return __emval_register(v)}function _abort(){Module["abort"]()}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_pow_f32=Math_pow;var _llvm_pow_f64=Math_pow;function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_key_delete(key){if(key in PTHREAD_SPECIFIC){delete PTHREAD_SPECIFIC[key];return 0}return ERRNO_CODES.EINVAL}function _pthread_mutex_destroy(){}function _pthread_mutex_init(){}function _pthread_mutexattr_destroy(){}function _pthread_mutexattr_init(){}function _pthread_mutexattr_settype(){}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _sched_yield(){return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["wasmTableSize"]=9536;Module["wasmMaxTableSize"]=9536;function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiddi(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiid(index,a1,a2,a3,a4){try{return Module["dynCall_diiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiddi(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_diiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiii(index,a1,a2,a3,a4){try{return Module["dynCall_diiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_diiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_diiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_diiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_diiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_diiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fii(index,a1,a2){try{return Module["dynCall_fii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiii(index,a1,a2,a3){try{return Module["dynCall_fiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiii(index,a1,a2,a3,a4){try{return Module["dynCall_fiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_fiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_fiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iid(index,a1,a2){try{return Module["dynCall_iid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iidi(index,a1,a2,a3){try{return Module["dynCall_iidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiid(index,a1,a2,a3){try{return Module["dynCall_iiid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module["dynCall_iiidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidi(index,a1,a2,a3,a4){try{return Module["dynCall_iiidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiidii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiidiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiidiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiid(index,a1,a2,a3,a4){try{return Module["dynCall_iiiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiif(index,a1,a2,a3,a4){try{return Module["dynCall_iiiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiid(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiididiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{return Module["dynCall_iiiiiiiididiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{return Module["dynCall_iiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiij"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ji(index,a1){try{return Module["dynCall_ji"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_jii(index,a1,a2){try{return Module["dynCall_jii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_jiii(index,a1,a2,a3){try{return Module["dynCall_jiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){try{return Module["dynCall_jiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdii(index,a1,a2,a3){try{Module["dynCall_vdii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vdiii(index,a1,a2,a3,a4){try{Module["dynCall_vdiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vididdi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vididdi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vididdii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_vididdii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidii(index,a1,a2,a3,a4){try{Module["dynCall_vidii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vidiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_vidiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vifi(index,a1,a2,a3){try{Module["dynCall_vifi"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidd(index,a1,a2,a3,a4){try{Module["dynCall_viidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiddid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddidd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiddidd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddiddd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiddiddd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddidddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiddidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiddii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiddiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiddiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididdi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viididdi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididdii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viididdii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viididi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viididii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viididii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viidii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viidiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidiiid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viidiiid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viidiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viidiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viif(index,a1,a2,a3){try{Module["dynCall_viif"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidd(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiidd"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidddd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidddii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiidddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiidddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiddid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddidd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddidd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddidddd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiddidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiddii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiddiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiidi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiididi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiididi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiididii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiididii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiidii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiidiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiidiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiidiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiif(index,a1,a2,a3,a4){try{Module["dynCall_viiif"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiid(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiid"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidd(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidd"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiddd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidddd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiddddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidddii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiidddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiidddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiddi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiddii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiddiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiddiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiidi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiidii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiidiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiidiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiif(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiif"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidd(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiidd"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidi(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiidi"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiidii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiidiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiidiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiidiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiidiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiidiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiidii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiidiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiidiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiidiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiiiidiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiidi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){try{Module["dynCall_viiiiiiiiiiddi"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){try{Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiiiiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){try{Module["dynCall_viiiiiiiiiiid"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiij(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiij"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiij"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viijii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viji(index,a1,a2,a3,a4){try{Module["dynCall_viji"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_di":invoke_di,"invoke_dii":invoke_dii,"invoke_diiddi":invoke_diiddi,"invoke_diii":invoke_diii,"invoke_diiid":invoke_diiid,"invoke_diiiddi":invoke_diiiddi,"invoke_diiii":invoke_diiii,"invoke_diiiid":invoke_diiiid,"invoke_diiiii":invoke_diiiii,"invoke_diiiiii":invoke_diiiiii,"invoke_diiiiiii":invoke_diiiiiii,"invoke_diiiiiiii":invoke_diiiiiiii,"invoke_fii":invoke_fii,"invoke_fiii":invoke_fiii,"invoke_fiiii":invoke_fiiii,"invoke_fiiiii":invoke_fiiiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iid":invoke_iid,"invoke_iidi":invoke_iidi,"invoke_iii":invoke_iii,"invoke_iiid":invoke_iiid,"invoke_iiidd":invoke_iiidd,"invoke_iiidi":invoke_iiidi,"invoke_iiidii":invoke_iiidii,"invoke_iiidiii":invoke_iiidiii,"invoke_iiidiiii":invoke_iiidiiii,"invoke_iiii":invoke_iiii,"invoke_iiiid":invoke_iiiid,"invoke_iiiif":invoke_iiiif,"invoke_iiiii":invoke_iiiii,"invoke_iiiiid":invoke_iiiiid,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiid":invoke_iiiiiid,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiididiii":invoke_iiiiiiiididiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiiiiii":invoke_iiiiiiiiiiiii,"invoke_iiiiij":invoke_iiiiij,"invoke_ji":invoke_ji,"invoke_jii":invoke_jii,"invoke_jiii":invoke_jiii,"invoke_jiiii":invoke_jiiii,"invoke_v":invoke_v,"invoke_vdii":invoke_vdii,"invoke_vdiii":invoke_vdiii,"invoke_vi":invoke_vi,"invoke_vid":invoke_vid,"invoke_vidi":invoke_vidi,"invoke_vididdi":invoke_vididdi,"invoke_vididdii":invoke_vididdii,"invoke_vidii":invoke_vidii,"invoke_vidiii":invoke_vidiii,"invoke_vifi":invoke_vifi,"invoke_vii":invoke_vii,"invoke_viid":invoke_viid,"invoke_viidd":invoke_viidd,"invoke_viiddi":invoke_viiddi,"invoke_viiddid":invoke_viiddid,"invoke_viiddidd":invoke_viiddidd,"invoke_viiddiddd":invoke_viiddiddd,"invoke_viiddidddd":invoke_viiddidddd,"invoke_viiddii":invoke_viiddii,"invoke_viiddiii":invoke_viiddiii,"invoke_viidi":invoke_viidi,"invoke_viididdi":invoke_viididdi,"invoke_viididdii":invoke_viididdii,"invoke_viididi":invoke_viididi,"invoke_viididii":invoke_viididii,"invoke_viidii":invoke_viidii,"invoke_viidiii":invoke_viidiii,"invoke_viidiiid":invoke_viidiiid,"invoke_viidiiii":invoke_viidiiii,"invoke_viif":invoke_viif,"invoke_viii":invoke_viii,"invoke_viiid":invoke_viiid,"invoke_viiidd":invoke_viiidd,"invoke_viiiddd":invoke_viiiddd,"invoke_viiidddd":invoke_viiidddd,"invoke_viiiddddi":invoke_viiiddddi,"invoke_viiiddddii":invoke_viiiddddii,"invoke_viiidddi":invoke_viiidddi,"invoke_viiidddii":invoke_viiidddii,"invoke_viiidddiii":invoke_viiidddiii,"invoke_viiidddiiii":invoke_viiidddiiii,"invoke_viiiddi":invoke_viiiddi,"invoke_viiiddid":invoke_viiiddid,"invoke_viiiddidd":invoke_viiiddidd,"invoke_viiiddiddd":invoke_viiiddiddd,"invoke_viiiddidddd":invoke_viiiddidddd,"invoke_viiiddii":invoke_viiiddii,"invoke_viiiddiii":invoke_viiiddiii,"invoke_viiiddiiid":invoke_viiiddiiid,"invoke_viiiddiiii":invoke_viiiddiiii,"invoke_viiiddiiiid":invoke_viiiddiiiid,"invoke_viiidi":invoke_viiidi,"invoke_viiididi":invoke_viiididi,"invoke_viiididii":invoke_viiididii,"invoke_viiidii":invoke_viiidii,"invoke_viiidiiddi":invoke_viiidiiddi,"invoke_viiidiii":invoke_viiidiii,"invoke_viiidiiid":invoke_viiidiiid,"invoke_viiidiiii":invoke_viiidiiii,"invoke_viiidiiiidi":invoke_viiidiiiidi,"invoke_viiif":invoke_viiif,"invoke_viiii":invoke_viiii,"invoke_viiiid":invoke_viiiid,"invoke_viiiidd":invoke_viiiidd,"invoke_viiiiddd":invoke_viiiiddd,"invoke_viiiidddd":invoke_viiiidddd,"invoke_viiiiddddi":invoke_viiiiddddi,"invoke_viiiiddddii":invoke_viiiiddddii,"invoke_viiiidddi":invoke_viiiidddi,"invoke_viiiidddii":invoke_viiiidddii,"invoke_viiiidddiii":invoke_viiiidddiii,"invoke_viiiidddiiii":invoke_viiiidddiiii,"invoke_viiiiddi":invoke_viiiiddi,"invoke_viiiiddii":invoke_viiiiddii,"invoke_viiiiddiii":invoke_viiiiddiii,"invoke_viiiiddiiid":invoke_viiiiddiiid,"invoke_viiiiddiiii":invoke_viiiiddiiii,"invoke_viiiiddiiiid":invoke_viiiiddiiiid,"invoke_viiiidi":invoke_viiiidi,"invoke_viiiidii":invoke_viiiidii,"invoke_viiiidiid":invoke_viiiidiid,"invoke_viiiidiidd":invoke_viiiidiidd,"invoke_viiiidiiddi":invoke_viiiidiiddi,"invoke_viiiidiii":invoke_viiiidiii,"invoke_viiiidiiii":invoke_viiiidiiii,"invoke_viiiidiiiidi":invoke_viiiidiiiidi,"invoke_viiiif":invoke_viiiif,"invoke_viiiii":invoke_viiiii,"invoke_viiiiid":invoke_viiiiid,"invoke_viiiiidd":invoke_viiiiidd,"invoke_viiiiiddi":invoke_viiiiiddi,"invoke_viiiiidi":invoke_viiiiidi,"invoke_viiiiidii":invoke_viiiiidii,"invoke_viiiiidiid":invoke_viiiiidiid,"invoke_viiiiidiidd":invoke_viiiiidiidd,"invoke_viiiiidiiddi":invoke_viiiiidiiddi,"invoke_viiiiidiii":invoke_viiiiidiii,"invoke_viiiiidiiii":invoke_viiiiidiiii,"invoke_viiiiidiiiii":invoke_viiiiidiiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiid":invoke_viiiiiid,"invoke_viiiiiidd":invoke_viiiiiidd,"invoke_viiiiiiddi":invoke_viiiiiiddi,"invoke_viiiiiidi":invoke_viiiiiidi,"invoke_viiiiiidii":invoke_viiiiiidii,"invoke_viiiiiidiii":invoke_viiiiiidiii,"invoke_viiiiiidiiii":invoke_viiiiiidiiii,"invoke_viiiiiidiiiii":invoke_viiiiiidiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiid":invoke_viiiiiiid,"invoke_viiiiiiidd":invoke_viiiiiiidd,"invoke_viiiiiiiddi":invoke_viiiiiiiddi,"invoke_viiiiiiidi":invoke_viiiiiiidi,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiidd":invoke_viiiiiiiiidd,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiiiiiiiid":invoke_viiiiiiiiiid,"invoke_viiiiiiiiiiddi":invoke_viiiiiiiiiiddi,"invoke_viiiiiiiiiii":invoke_viiiiiiiiiii,"invoke_viiiiiiiiiiid":invoke_viiiiiiiiiiid,"invoke_viiiij":invoke_viiiij,"invoke_viiij":invoke_viiij,"invoke_viijii":invoke_viijii,"invoke_viji":invoke_viji,"ClassHandle":ClassHandle,"ClassHandle_clone":ClassHandle_clone,"ClassHandle_delete":ClassHandle_delete,"ClassHandle_deleteLater":ClassHandle_deleteLater,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"ClassHandle_isDeleted":ClassHandle_isDeleted,"RegisteredClass":RegisteredClass,"RegisteredPointer":RegisteredPointer,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"RegisteredPointer_destructor":RegisteredPointer_destructor,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"___buildEnvironment":___buildEnvironment,"___cxa_allocate_exception":___cxa_allocate_exception,"___cxa_begin_catch":___cxa_begin_catch,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___lock":___lock,"___map_file":___map_file,"___resumeException":___resumeException,"___setErrNo":___setErrNo,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall4":___syscall4,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall91":___syscall91,"___unlock":___unlock,"__addDays":__addDays,"__arraySum":__arraySum,"__embind_finalize_value_array":__embind_finalize_value_array,"__embind_finalize_value_object":__embind_finalize_value_object,"__embind_register_bool":__embind_register_bool,"__embind_register_class":__embind_register_class,"__embind_register_class_class_function":__embind_register_class_class_function,"__embind_register_class_constructor":__embind_register_class_constructor,"__embind_register_class_function":__embind_register_class_function,"__embind_register_class_property":__embind_register_class_property,"__embind_register_constant":__embind_register_constant,"__embind_register_emval":__embind_register_emval,"__embind_register_float":__embind_register_float,"__embind_register_function":__embind_register_function,"__embind_register_integer":__embind_register_integer,"__embind_register_memory_view":__embind_register_memory_view,"__embind_register_smart_ptr":__embind_register_smart_ptr,"__embind_register_std_string":__embind_register_std_string,"__embind_register_std_wstring":__embind_register_std_wstring,"__embind_register_value_array":__embind_register_value_array,"__embind_register_value_array_element":__embind_register_value_array_element,"__embind_register_value_object":__embind_register_value_object,"__embind_register_value_object_field":__embind_register_value_object_field,"__embind_register_void":__embind_register_void,"__emval_addMethodCaller":__emval_addMethodCaller,"__emval_allocateDestructors":__emval_allocateDestructors,"__emval_as":__emval_as,"__emval_call_void_method":__emval_call_void_method,"__emval_decref":__emval_decref,"__emval_get_method_caller":__emval_get_method_caller,"__emval_get_property":__emval_get_property,"__emval_incref":__emval_incref,"__emval_lookupTypes":__emval_lookupTypes,"__emval_new_array":__emval_new_array,"__emval_new_cstring":__emval_new_cstring,"__emval_register":__emval_register,"__emval_run_destructors":__emval_run_destructors,"__emval_take_value":__emval_take_value,"__isLeapYear":__isLeapYear,"_abort":_abort,"_embind_repr":_embind_repr,"_emscripten_get_now":_emscripten_get_now,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_llvm_fabs_f32":_llvm_fabs_f32,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_pow_f32":_llvm_pow_f32,"_llvm_pow_f64":_llvm_pow_f64,"_llvm_trap":_llvm_trap,"_pthread_cond_wait":_pthread_cond_wait,"_pthread_getspecific":_pthread_getspecific,"_pthread_key_create":_pthread_key_create,"_pthread_key_delete":_pthread_key_delete,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_mutex_init":_pthread_mutex_init,"_pthread_mutexattr_destroy":_pthread_mutexattr_destroy,"_pthread_mutexattr_init":_pthread_mutexattr_init,"_pthread_mutexattr_settype":_pthread_mutexattr_settype,"_pthread_once":_pthread_once,"_pthread_setspecific":_pthread_setspecific,"_sched_yield":_sched_yield,"_strftime":_strftime,"_strftime_l":_strftime_l,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"count_emval_handles":count_emval_handles,"craftInvokerFunction":craftInvokerFunction,"createNamedFunction":createNamedFunction,"downcastPointer":downcastPointer,"embind__requireFunction":embind__requireFunction,"embind_init_charCodes":embind_init_charCodes,"ensureOverloadTable":ensureOverloadTable,"exposePublicSymbol":exposePublicSymbol,"extendError":extendError,"floatReadValueFromPointer":floatReadValueFromPointer,"flushPendingDeletes":flushPendingDeletes,"genericPointerToWireType":genericPointerToWireType,"getBasestPointer":getBasestPointer,"getInheritedInstance":getInheritedInstance,"getInheritedInstanceCount":getInheritedInstanceCount,"getLiveInheritedInstances":getLiveInheritedInstances,"getShiftFromSize":getShiftFromSize,"getStringOrSymbol":getStringOrSymbol,"getTypeName":getTypeName,"get_first_emval":get_first_emval,"heap32VectorToArray":heap32VectorToArray,"init_ClassHandle":init_ClassHandle,"init_RegisteredPointer":init_RegisteredPointer,"init_embind":init_embind,"init_emval":init_emval,"integerReadValueFromPointer":integerReadValueFromPointer,"makeClassHandle":makeClassHandle,"makeLegalFunctionName":makeLegalFunctionName,"new_":new_,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"readLatin1String":readLatin1String,"registerType":registerType,"replacePublicSymbol":replacePublicSymbol,"requireHandle":requireHandle,"requireRegisteredType":requireRegisteredType,"runDestructor":runDestructor,"runDestructors":runDestructors,"setDelayFunction":setDelayFunction,"shallowCopyInternalPointer":shallowCopyInternalPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwBindingError":throwBindingError,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"throwInternalError":throwInternalError,"throwUnboundTypeError":throwUnboundTypeError,"upcastPointer":upcastPointer,"validateThis":validateThis,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX};var asm=Module["asm"](Module.asmGlobalArg,Module.asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=(function(){return Module["asm"]["__GLOBAL__I_000101"].apply(null,arguments)});var __GLOBAL__sub_I_attr_value_pb_cc=Module["__GLOBAL__sub_I_attr_value_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_attr_value_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bind_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_bindings_cpp=Module["__GLOBAL__sub_I_bindings_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_bindings_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_color_lab_cpp=Module["__GLOBAL__sub_I_color_lab_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_color_lab_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_descriptor_pb_cc=Module["__GLOBAL__sub_I_descriptor_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_descriptor_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_detection_output_layer_cpp=Module["__GLOBAL__sub_I_detection_output_layer_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_detection_output_layer_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_dnn_cpp=Module["__GLOBAL__sub_I_dnn_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_dnn_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_function_pb_cc=Module["__GLOBAL__sub_I_function_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_function_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_graph_pb_cc=Module["__GLOBAL__sub_I_graph_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_graph_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_haar_cpp=Module["__GLOBAL__sub_I_haar_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_haar_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_histogram_cpp=Module["__GLOBAL__sub_I_histogram_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_histogram_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_hog_cpp=Module["__GLOBAL__sub_I_hog_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_hog_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_imgwarp_cpp=Module["__GLOBAL__sub_I_imgwarp_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_imgwarp_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_init_cpp=Module["__GLOBAL__sub_I_init_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_init_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_iostream_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_kmeans_cpp=Module["__GLOBAL__sub_I_kmeans_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_kmeans_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_message_cc=Module["__GLOBAL__sub_I_message_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_message_cc"].apply(null,arguments)});var __GLOBAL__sub_I_op_def_pb_cc=Module["__GLOBAL__sub_I_op_def_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_op_def_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_opencv_caffe_pb_cc=Module["__GLOBAL__sub_I_opencv_caffe_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_opencv_caffe_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_persistence_types_cpp=Module["__GLOBAL__sub_I_persistence_types_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_persistence_types_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_prior_box_layer_cpp=Module["__GLOBAL__sub_I_prior_box_layer_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_prior_box_layer_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_status_cc=Module["__GLOBAL__sub_I_status_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_status_cc"].apply(null,arguments)});var __GLOBAL__sub_I_system_cpp=Module["__GLOBAL__sub_I_system_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_system_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_tensor_pb_cc=Module["__GLOBAL__sub_I_tensor_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_tensor_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_tensor_shape_pb_cc=Module["__GLOBAL__sub_I_tensor_shape_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_tensor_shape_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_types_pb_cc=Module["__GLOBAL__sub_I_types_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_types_pb_cc"].apply(null,arguments)});var __GLOBAL__sub_I_umatrix_cpp=Module["__GLOBAL__sub_I_umatrix_cpp"]=(function(){return Module["asm"]["__GLOBAL__sub_I_umatrix_cpp"].apply(null,arguments)});var __GLOBAL__sub_I_versions_pb_cc=Module["__GLOBAL__sub_I_versions_pb_cc"]=(function(){return Module["asm"]["__GLOBAL__sub_I_versions_pb_cc"].apply(null,arguments)});var ___cxa_can_catch=Module["___cxa_can_catch"]=(function(){return Module["asm"]["___cxa_can_catch"].apply(null,arguments)});var ___cxa_demangle=Module["___cxa_demangle"]=(function(){return Module["asm"]["___cxa_demangle"].apply(null,arguments)});var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=(function(){return Module["asm"]["___cxa_is_pointer_type"].apply(null,arguments)});var ___errno_location=Module["___errno_location"]=(function(){return Module["asm"]["___errno_location"].apply(null,arguments)});var ___getTypeName=Module["___getTypeName"]=(function(){return Module["asm"]["___getTypeName"].apply(null,arguments)});var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=(function(){return Module["asm"]["_emscripten_replace_memory"].apply(null,arguments)});var _free=Module["_free"]=(function(){return Module["asm"]["_free"].apply(null,arguments)});var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=(function(){return Module["asm"]["_llvm_bswap_i32"].apply(null,arguments)});var _llvm_ctlz_i64=Module["_llvm_ctlz_i64"]=(function(){return Module["asm"]["_llvm_ctlz_i64"].apply(null,arguments)});var _malloc=Module["_malloc"]=(function(){return Module["asm"]["_malloc"].apply(null,arguments)});var _memcpy=Module["_memcpy"]=(function(){return Module["asm"]["_memcpy"].apply(null,arguments)});var _memmove=Module["_memmove"]=(function(){return Module["asm"]["_memmove"].apply(null,arguments)});var _memset=Module["_memset"]=(function(){return Module["asm"]["_memset"].apply(null,arguments)});var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=(function(){return Module["asm"]["_pthread_cond_broadcast"].apply(null,arguments)});var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=(function(){return Module["asm"]["_pthread_mutex_lock"].apply(null,arguments)});var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=(function(){return Module["asm"]["_pthread_mutex_unlock"].apply(null,arguments)});var _rintf=Module["_rintf"]=(function(){return Module["asm"]["_rintf"].apply(null,arguments)});var _sbrk=Module["_sbrk"]=(function(){return Module["asm"]["_sbrk"].apply(null,arguments)});var establishStackSpace=Module["establishStackSpace"]=(function(){return Module["asm"]["establishStackSpace"].apply(null,arguments)});var getTempRet0=Module["getTempRet0"]=(function(){return Module["asm"]["getTempRet0"].apply(null,arguments)});var runPostSets=Module["runPostSets"]=(function(){return Module["asm"]["runPostSets"].apply(null,arguments)});var setTempRet0=Module["setTempRet0"]=(function(){return Module["asm"]["setTempRet0"].apply(null,arguments)});var setThrew=Module["setThrew"]=(function(){return Module["asm"]["setThrew"].apply(null,arguments)});var stackAlloc=Module["stackAlloc"]=(function(){return Module["asm"]["stackAlloc"].apply(null,arguments)});var stackRestore=Module["stackRestore"]=(function(){return Module["asm"]["stackRestore"].apply(null,arguments)});var stackSave=Module["stackSave"]=(function(){return Module["asm"]["stackSave"].apply(null,arguments)});var dynCall_di=Module["dynCall_di"]=(function(){return Module["asm"]["dynCall_di"].apply(null,arguments)});var dynCall_dii=Module["dynCall_dii"]=(function(){return Module["asm"]["dynCall_dii"].apply(null,arguments)});var dynCall_diiddi=Module["dynCall_diiddi"]=(function(){return Module["asm"]["dynCall_diiddi"].apply(null,arguments)});var dynCall_diii=Module["dynCall_diii"]=(function(){return Module["asm"]["dynCall_diii"].apply(null,arguments)});var dynCall_diiid=Module["dynCall_diiid"]=(function(){return Module["asm"]["dynCall_diiid"].apply(null,arguments)});var dynCall_diiiddi=Module["dynCall_diiiddi"]=(function(){return Module["asm"]["dynCall_diiiddi"].apply(null,arguments)});var dynCall_diiii=Module["dynCall_diiii"]=(function(){return Module["asm"]["dynCall_diiii"].apply(null,arguments)});var dynCall_diiiid=Module["dynCall_diiiid"]=(function(){return Module["asm"]["dynCall_diiiid"].apply(null,arguments)});var dynCall_diiiii=Module["dynCall_diiiii"]=(function(){return Module["asm"]["dynCall_diiiii"].apply(null,arguments)});var dynCall_diiiiii=Module["dynCall_diiiiii"]=(function(){return Module["asm"]["dynCall_diiiiii"].apply(null,arguments)});var dynCall_diiiiiii=Module["dynCall_diiiiiii"]=(function(){return Module["asm"]["dynCall_diiiiiii"].apply(null,arguments)});var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=(function(){return Module["asm"]["dynCall_diiiiiiii"].apply(null,arguments)});var dynCall_fii=Module["dynCall_fii"]=(function(){return Module["asm"]["dynCall_fii"].apply(null,arguments)});var dynCall_fiii=Module["dynCall_fiii"]=(function(){return Module["asm"]["dynCall_fiii"].apply(null,arguments)});var dynCall_fiiii=Module["dynCall_fiiii"]=(function(){return Module["asm"]["dynCall_fiiii"].apply(null,arguments)});var dynCall_fiiiii=Module["dynCall_fiiiii"]=(function(){return Module["asm"]["dynCall_fiiiii"].apply(null,arguments)});var dynCall_i=Module["dynCall_i"]=(function(){return Module["asm"]["dynCall_i"].apply(null,arguments)});var dynCall_ii=Module["dynCall_ii"]=(function(){return Module["asm"]["dynCall_ii"].apply(null,arguments)});var dynCall_iid=Module["dynCall_iid"]=(function(){return Module["asm"]["dynCall_iid"].apply(null,arguments)});var dynCall_iidi=Module["dynCall_iidi"]=(function(){return Module["asm"]["dynCall_iidi"].apply(null,arguments)});var dynCall_iii=Module["dynCall_iii"]=(function(){return Module["asm"]["dynCall_iii"].apply(null,arguments)});var dynCall_iiid=Module["dynCall_iiid"]=(function(){return Module["asm"]["dynCall_iiid"].apply(null,arguments)});var dynCall_iiidd=Module["dynCall_iiidd"]=(function(){return Module["asm"]["dynCall_iiidd"].apply(null,arguments)});var dynCall_iiidi=Module["dynCall_iiidi"]=(function(){return Module["asm"]["dynCall_iiidi"].apply(null,arguments)});var dynCall_iiidii=Module["dynCall_iiidii"]=(function(){return Module["asm"]["dynCall_iiidii"].apply(null,arguments)});var dynCall_iiidiii=Module["dynCall_iiidiii"]=(function(){return Module["asm"]["dynCall_iiidiii"].apply(null,arguments)});var dynCall_iiidiiii=Module["dynCall_iiidiiii"]=(function(){return Module["asm"]["dynCall_iiidiiii"].apply(null,arguments)});var dynCall_iiii=Module["dynCall_iiii"]=(function(){return Module["asm"]["dynCall_iiii"].apply(null,arguments)});var dynCall_iiiid=Module["dynCall_iiiid"]=(function(){return Module["asm"]["dynCall_iiiid"].apply(null,arguments)});var dynCall_iiiif=Module["dynCall_iiiif"]=(function(){return Module["asm"]["dynCall_iiiif"].apply(null,arguments)});var dynCall_iiiii=Module["dynCall_iiiii"]=(function(){return Module["asm"]["dynCall_iiiii"].apply(null,arguments)});var dynCall_iiiiid=Module["dynCall_iiiiid"]=(function(){return Module["asm"]["dynCall_iiiiid"].apply(null,arguments)});var dynCall_iiiiii=Module["dynCall_iiiiii"]=(function(){return Module["asm"]["dynCall_iiiiii"].apply(null,arguments)});var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=(function(){return Module["asm"]["dynCall_iiiiiid"].apply(null,arguments)});var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiii"].apply(null,arguments)});var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiididiii=Module["dynCall_iiiiiiiididiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiididiii"].apply(null,arguments)});var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiii"].apply(null,arguments)});var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_iiiiiiiiiiiii"].apply(null,arguments)});var dynCall_iiiiij=Module["dynCall_iiiiij"]=(function(){return Module["asm"]["dynCall_iiiiij"].apply(null,arguments)});var dynCall_ji=Module["dynCall_ji"]=(function(){return Module["asm"]["dynCall_ji"].apply(null,arguments)});var dynCall_jii=Module["dynCall_jii"]=(function(){return Module["asm"]["dynCall_jii"].apply(null,arguments)});var dynCall_jiii=Module["dynCall_jiii"]=(function(){return Module["asm"]["dynCall_jiii"].apply(null,arguments)});var dynCall_jiiii=Module["dynCall_jiiii"]=(function(){return Module["asm"]["dynCall_jiiii"].apply(null,arguments)});var dynCall_v=Module["dynCall_v"]=(function(){return Module["asm"]["dynCall_v"].apply(null,arguments)});var dynCall_vdii=Module["dynCall_vdii"]=(function(){return Module["asm"]["dynCall_vdii"].apply(null,arguments)});var dynCall_vdiii=Module["dynCall_vdiii"]=(function(){return Module["asm"]["dynCall_vdiii"].apply(null,arguments)});var dynCall_vi=Module["dynCall_vi"]=(function(){return Module["asm"]["dynCall_vi"].apply(null,arguments)});var dynCall_vid=Module["dynCall_vid"]=(function(){return Module["asm"]["dynCall_vid"].apply(null,arguments)});var dynCall_vidi=Module["dynCall_vidi"]=(function(){return Module["asm"]["dynCall_vidi"].apply(null,arguments)});var dynCall_vididdi=Module["dynCall_vididdi"]=(function(){return Module["asm"]["dynCall_vididdi"].apply(null,arguments)});var dynCall_vididdii=Module["dynCall_vididdii"]=(function(){return Module["asm"]["dynCall_vididdii"].apply(null,arguments)});var dynCall_vidii=Module["dynCall_vidii"]=(function(){return Module["asm"]["dynCall_vidii"].apply(null,arguments)});var dynCall_vidiii=Module["dynCall_vidiii"]=(function(){return Module["asm"]["dynCall_vidiii"].apply(null,arguments)});var dynCall_vifi=Module["dynCall_vifi"]=(function(){return Module["asm"]["dynCall_vifi"].apply(null,arguments)});var dynCall_vii=Module["dynCall_vii"]=(function(){return Module["asm"]["dynCall_vii"].apply(null,arguments)});var dynCall_viid=Module["dynCall_viid"]=(function(){return Module["asm"]["dynCall_viid"].apply(null,arguments)});var dynCall_viidd=Module["dynCall_viidd"]=(function(){return Module["asm"]["dynCall_viidd"].apply(null,arguments)});var dynCall_viiddi=Module["dynCall_viiddi"]=(function(){return Module["asm"]["dynCall_viiddi"].apply(null,arguments)});var dynCall_viiddid=Module["dynCall_viiddid"]=(function(){return Module["asm"]["dynCall_viiddid"].apply(null,arguments)});var dynCall_viiddidd=Module["dynCall_viiddidd"]=(function(){return Module["asm"]["dynCall_viiddidd"].apply(null,arguments)});var dynCall_viiddiddd=Module["dynCall_viiddiddd"]=(function(){return Module["asm"]["dynCall_viiddiddd"].apply(null,arguments)});var dynCall_viiddidddd=Module["dynCall_viiddidddd"]=(function(){return Module["asm"]["dynCall_viiddidddd"].apply(null,arguments)});var dynCall_viiddii=Module["dynCall_viiddii"]=(function(){return Module["asm"]["dynCall_viiddii"].apply(null,arguments)});var dynCall_viiddiii=Module["dynCall_viiddiii"]=(function(){return Module["asm"]["dynCall_viiddiii"].apply(null,arguments)});var dynCall_viidi=Module["dynCall_viidi"]=(function(){return Module["asm"]["dynCall_viidi"].apply(null,arguments)});var dynCall_viididdi=Module["dynCall_viididdi"]=(function(){return Module["asm"]["dynCall_viididdi"].apply(null,arguments)});var dynCall_viididdii=Module["dynCall_viididdii"]=(function(){return Module["asm"]["dynCall_viididdii"].apply(null,arguments)});var dynCall_viididi=Module["dynCall_viididi"]=(function(){return Module["asm"]["dynCall_viididi"].apply(null,arguments)});var dynCall_viididii=Module["dynCall_viididii"]=(function(){return Module["asm"]["dynCall_viididii"].apply(null,arguments)});var dynCall_viidii=Module["dynCall_viidii"]=(function(){return Module["asm"]["dynCall_viidii"].apply(null,arguments)});var dynCall_viidiii=Module["dynCall_viidiii"]=(function(){return Module["asm"]["dynCall_viidiii"].apply(null,arguments)});var dynCall_viidiiid=Module["dynCall_viidiiid"]=(function(){return Module["asm"]["dynCall_viidiiid"].apply(null,arguments)});var dynCall_viidiiii=Module["dynCall_viidiiii"]=(function(){return Module["asm"]["dynCall_viidiiii"].apply(null,arguments)});var dynCall_viif=Module["dynCall_viif"]=(function(){return Module["asm"]["dynCall_viif"].apply(null,arguments)});var dynCall_viii=Module["dynCall_viii"]=(function(){return Module["asm"]["dynCall_viii"].apply(null,arguments)});var dynCall_viiid=Module["dynCall_viiid"]=(function(){return Module["asm"]["dynCall_viiid"].apply(null,arguments)});var dynCall_viiidd=Module["dynCall_viiidd"]=(function(){return Module["asm"]["dynCall_viiidd"].apply(null,arguments)});var dynCall_viiiddd=Module["dynCall_viiiddd"]=(function(){return Module["asm"]["dynCall_viiiddd"].apply(null,arguments)});var dynCall_viiidddd=Module["dynCall_viiidddd"]=(function(){return Module["asm"]["dynCall_viiidddd"].apply(null,arguments)});var dynCall_viiiddddi=Module["dynCall_viiiddddi"]=(function(){return Module["asm"]["dynCall_viiiddddi"].apply(null,arguments)});var dynCall_viiiddddii=Module["dynCall_viiiddddii"]=(function(){return Module["asm"]["dynCall_viiiddddii"].apply(null,arguments)});var dynCall_viiidddi=Module["dynCall_viiidddi"]=(function(){return Module["asm"]["dynCall_viiidddi"].apply(null,arguments)});var dynCall_viiidddii=Module["dynCall_viiidddii"]=(function(){return Module["asm"]["dynCall_viiidddii"].apply(null,arguments)});var dynCall_viiidddiii=Module["dynCall_viiidddiii"]=(function(){return Module["asm"]["dynCall_viiidddiii"].apply(null,arguments)});var dynCall_viiidddiiii=Module["dynCall_viiidddiiii"]=(function(){return Module["asm"]["dynCall_viiidddiiii"].apply(null,arguments)});var dynCall_viiiddi=Module["dynCall_viiiddi"]=(function(){return Module["asm"]["dynCall_viiiddi"].apply(null,arguments)});var dynCall_viiiddid=Module["dynCall_viiiddid"]=(function(){return Module["asm"]["dynCall_viiiddid"].apply(null,arguments)});var dynCall_viiiddidd=Module["dynCall_viiiddidd"]=(function(){return Module["asm"]["dynCall_viiiddidd"].apply(null,arguments)});var dynCall_viiiddiddd=Module["dynCall_viiiddiddd"]=(function(){return Module["asm"]["dynCall_viiiddiddd"].apply(null,arguments)});var dynCall_viiiddidddd=Module["dynCall_viiiddidddd"]=(function(){return Module["asm"]["dynCall_viiiddidddd"].apply(null,arguments)});var dynCall_viiiddii=Module["dynCall_viiiddii"]=(function(){return Module["asm"]["dynCall_viiiddii"].apply(null,arguments)});var dynCall_viiiddiii=Module["dynCall_viiiddiii"]=(function(){return Module["asm"]["dynCall_viiiddiii"].apply(null,arguments)});var dynCall_viiiddiiid=Module["dynCall_viiiddiiid"]=(function(){return Module["asm"]["dynCall_viiiddiiid"].apply(null,arguments)});var dynCall_viiiddiiii=Module["dynCall_viiiddiiii"]=(function(){return Module["asm"]["dynCall_viiiddiiii"].apply(null,arguments)});var dynCall_viiiddiiiid=Module["dynCall_viiiddiiiid"]=(function(){return Module["asm"]["dynCall_viiiddiiiid"].apply(null,arguments)});var dynCall_viiidi=Module["dynCall_viiidi"]=(function(){return Module["asm"]["dynCall_viiidi"].apply(null,arguments)});var dynCall_viiididi=Module["dynCall_viiididi"]=(function(){return Module["asm"]["dynCall_viiididi"].apply(null,arguments)});var dynCall_viiididii=Module["dynCall_viiididii"]=(function(){return Module["asm"]["dynCall_viiididii"].apply(null,arguments)});var dynCall_viiidii=Module["dynCall_viiidii"]=(function(){return Module["asm"]["dynCall_viiidii"].apply(null,arguments)});var dynCall_viiidiiddi=Module["dynCall_viiidiiddi"]=(function(){return Module["asm"]["dynCall_viiidiiddi"].apply(null,arguments)});var dynCall_viiidiii=Module["dynCall_viiidiii"]=(function(){return Module["asm"]["dynCall_viiidiii"].apply(null,arguments)});var dynCall_viiidiiid=Module["dynCall_viiidiiid"]=(function(){return Module["asm"]["dynCall_viiidiiid"].apply(null,arguments)});var dynCall_viiidiiii=Module["dynCall_viiidiiii"]=(function(){return Module["asm"]["dynCall_viiidiiii"].apply(null,arguments)});var dynCall_viiidiiiidi=Module["dynCall_viiidiiiidi"]=(function(){return Module["asm"]["dynCall_viiidiiiidi"].apply(null,arguments)});var dynCall_viiif=Module["dynCall_viiif"]=(function(){return Module["asm"]["dynCall_viiif"].apply(null,arguments)});var dynCall_viiii=Module["dynCall_viiii"]=(function(){return Module["asm"]["dynCall_viiii"].apply(null,arguments)});var dynCall_viiiid=Module["dynCall_viiiid"]=(function(){return Module["asm"]["dynCall_viiiid"].apply(null,arguments)});var dynCall_viiiidd=Module["dynCall_viiiidd"]=(function(){return Module["asm"]["dynCall_viiiidd"].apply(null,arguments)});var dynCall_viiiiddd=Module["dynCall_viiiiddd"]=(function(){return Module["asm"]["dynCall_viiiiddd"].apply(null,arguments)});var dynCall_viiiidddd=Module["dynCall_viiiidddd"]=(function(){return Module["asm"]["dynCall_viiiidddd"].apply(null,arguments)});var dynCall_viiiiddddi=Module["dynCall_viiiiddddi"]=(function(){return Module["asm"]["dynCall_viiiiddddi"].apply(null,arguments)});var dynCall_viiiiddddii=Module["dynCall_viiiiddddii"]=(function(){return Module["asm"]["dynCall_viiiiddddii"].apply(null,arguments)});var dynCall_viiiidddi=Module["dynCall_viiiidddi"]=(function(){return Module["asm"]["dynCall_viiiidddi"].apply(null,arguments)});var dynCall_viiiidddii=Module["dynCall_viiiidddii"]=(function(){return Module["asm"]["dynCall_viiiidddii"].apply(null,arguments)});var dynCall_viiiidddiii=Module["dynCall_viiiidddiii"]=(function(){return Module["asm"]["dynCall_viiiidddiii"].apply(null,arguments)});var dynCall_viiiidddiiii=Module["dynCall_viiiidddiiii"]=(function(){return Module["asm"]["dynCall_viiiidddiiii"].apply(null,arguments)});var dynCall_viiiiddi=Module["dynCall_viiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiddi"].apply(null,arguments)});var dynCall_viiiiddii=Module["dynCall_viiiiddii"]=(function(){return Module["asm"]["dynCall_viiiiddii"].apply(null,arguments)});var dynCall_viiiiddiii=Module["dynCall_viiiiddiii"]=(function(){return Module["asm"]["dynCall_viiiiddiii"].apply(null,arguments)});var dynCall_viiiiddiiid=Module["dynCall_viiiiddiiid"]=(function(){return Module["asm"]["dynCall_viiiiddiiid"].apply(null,arguments)});var dynCall_viiiiddiiii=Module["dynCall_viiiiddiiii"]=(function(){return Module["asm"]["dynCall_viiiiddiiii"].apply(null,arguments)});var dynCall_viiiiddiiiid=Module["dynCall_viiiiddiiiid"]=(function(){return Module["asm"]["dynCall_viiiiddiiiid"].apply(null,arguments)});var dynCall_viiiidi=Module["dynCall_viiiidi"]=(function(){return Module["asm"]["dynCall_viiiidi"].apply(null,arguments)});var dynCall_viiiidii=Module["dynCall_viiiidii"]=(function(){return Module["asm"]["dynCall_viiiidii"].apply(null,arguments)});var dynCall_viiiidiid=Module["dynCall_viiiidiid"]=(function(){return Module["asm"]["dynCall_viiiidiid"].apply(null,arguments)});var dynCall_viiiidiidd=Module["dynCall_viiiidiidd"]=(function(){return Module["asm"]["dynCall_viiiidiidd"].apply(null,arguments)});var dynCall_viiiidiiddi=Module["dynCall_viiiidiiddi"]=(function(){return Module["asm"]["dynCall_viiiidiiddi"].apply(null,arguments)});var dynCall_viiiidiii=Module["dynCall_viiiidiii"]=(function(){return Module["asm"]["dynCall_viiiidiii"].apply(null,arguments)});var dynCall_viiiidiiii=Module["dynCall_viiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiidiiii"].apply(null,arguments)});var dynCall_viiiidiiiidi=Module["dynCall_viiiidiiiidi"]=(function(){return Module["asm"]["dynCall_viiiidiiiidi"].apply(null,arguments)});var dynCall_viiiif=Module["dynCall_viiiif"]=(function(){return Module["asm"]["dynCall_viiiif"].apply(null,arguments)});var dynCall_viiiii=Module["dynCall_viiiii"]=(function(){return Module["asm"]["dynCall_viiiii"].apply(null,arguments)});var dynCall_viiiiid=Module["dynCall_viiiiid"]=(function(){return Module["asm"]["dynCall_viiiiid"].apply(null,arguments)});var dynCall_viiiiidd=Module["dynCall_viiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiidd"].apply(null,arguments)});var dynCall_viiiiiddi=Module["dynCall_viiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiddi"].apply(null,arguments)});var dynCall_viiiiidi=Module["dynCall_viiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiidi"].apply(null,arguments)});var dynCall_viiiiidii=Module["dynCall_viiiiidii"]=(function(){return Module["asm"]["dynCall_viiiiidii"].apply(null,arguments)});var dynCall_viiiiidiid=Module["dynCall_viiiiidiid"]=(function(){return Module["asm"]["dynCall_viiiiidiid"].apply(null,arguments)});var dynCall_viiiiidiidd=Module["dynCall_viiiiidiidd"]=(function(){return Module["asm"]["dynCall_viiiiidiidd"].apply(null,arguments)});var dynCall_viiiiidiiddi=Module["dynCall_viiiiidiiddi"]=(function(){return Module["asm"]["dynCall_viiiiidiiddi"].apply(null,arguments)});var dynCall_viiiiidiii=Module["dynCall_viiiiidiii"]=(function(){return Module["asm"]["dynCall_viiiiidiii"].apply(null,arguments)});var dynCall_viiiiidiiii=Module["dynCall_viiiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiiidiiii"].apply(null,arguments)});var dynCall_viiiiidiiiii=Module["dynCall_viiiiidiiiii"]=(function(){return Module["asm"]["dynCall_viiiiidiiiii"].apply(null,arguments)});var dynCall_viiiiii=Module["dynCall_viiiiii"]=(function(){return Module["asm"]["dynCall_viiiiii"].apply(null,arguments)});var dynCall_viiiiiid=Module["dynCall_viiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiid"].apply(null,arguments)});var dynCall_viiiiiidd=Module["dynCall_viiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiddi=Module["dynCall_viiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiidi=Module["dynCall_viiiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiiidi"].apply(null,arguments)});var dynCall_viiiiiidii=Module["dynCall_viiiiiidii"]=(function(){return Module["asm"]["dynCall_viiiiiidii"].apply(null,arguments)});var dynCall_viiiiiidiii=Module["dynCall_viiiiiidiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiii"].apply(null,arguments)});var dynCall_viiiiiidiiii=Module["dynCall_viiiiiidiiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiiii"].apply(null,arguments)});var dynCall_viiiiiidiiiii=Module["dynCall_viiiiiidiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiidiiiii"].apply(null,arguments)});var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiii"].apply(null,arguments)});var dynCall_viiiiiiid=Module["dynCall_viiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiid"].apply(null,arguments)});var dynCall_viiiiiiidd=Module["dynCall_viiiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiiddi=Module["dynCall_viiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiiidi=Module["dynCall_viiiiiiidi"]=(function(){return Module["asm"]["dynCall_viiiiiiidi"].apply(null,arguments)});var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiidd=Module["dynCall_viiiiiiiiidd"]=(function(){return Module["asm"]["dynCall_viiiiiiiiidd"].apply(null,arguments)});var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiiid=Module["dynCall_viiiiiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiid"].apply(null,arguments)});var dynCall_viiiiiiiiiiddi=Module["dynCall_viiiiiiiiiiddi"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiiddi"].apply(null,arguments)});var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiii"].apply(null,arguments)});var dynCall_viiiiiiiiiiid=Module["dynCall_viiiiiiiiiiid"]=(function(){return Module["asm"]["dynCall_viiiiiiiiiiid"].apply(null,arguments)});var dynCall_viiiij=Module["dynCall_viiiij"]=(function(){return Module["asm"]["dynCall_viiiij"].apply(null,arguments)});var dynCall_viiij=Module["dynCall_viiij"]=(function(){return Module["asm"]["dynCall_viiij"].apply(null,arguments)});var dynCall_viijii=Module["dynCall_viijii"]=(function(){return Module["asm"]["dynCall_viijii"].apply(null,arguments)});var dynCall_viji=Module["dynCall_viji"]=(function(){return Module["asm"]["dynCall_viji"].apply(null,arguments)});Module["asm"]=asm;Module["getMemory"]=getMemory;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();Module["imread"]=(function(imageSource){var img=null;if(typeof imageSource==="string"){img=document.getElementById(imageSource)}else{img=imageSource}var canvas=null;var ctx=null;if(img instanceof HTMLImageElement){canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;ctx=canvas.getContext("2d");ctx.drawImage(img,0,0,img.width,img.height)}else if(img instanceof HTMLCanvasElement){canvas=img;ctx=canvas.getContext("2d")}else{throw new Error("Please input the valid canvas or img id.");return}var imgData=ctx.getImageData(0,0,canvas.width,canvas.height);return cv.matFromImageData(imgData)});Module["imshow"]=(function(canvasSource,mat){var canvas=null;if(typeof canvasSource==="string"){canvas=document.getElementById(canvasSource)}else{canvas=canvasSource}if(!(canvas instanceof HTMLCanvasElement)){throw new Error("Please input the valid canvas element or id.");return}if(!(mat instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}var img=new cv.Mat;var depth=mat.type()%8;var scale=depth<=cv.CV_8S?1:depth<=cv.CV_32S?1/256:255;var shift=depth===cv.CV_8S||depth===cv.CV_16S?128:0;mat.convertTo(img,cv.CV_8U,scale,shift);switch(img.type()){case cv.CV_8UC1:cv.cvtColor(img,img,cv.COLOR_GRAY2RGBA);break;case cv.CV_8UC3:cv.cvtColor(img,img,cv.COLOR_RGB2RGBA);break;case cv.CV_8UC4:break;default:throw new Error("Bad number of channels (Source image must have 1, 3 or 4 channels)");return}var imgData=new ImageData(new Uint8ClampedArray(img.data),img.cols,img.rows);var ctx=canvas.getContext("2d");ctx.clearRect(0,0,canvas.width,canvas.height);canvas.width=imgData.width;canvas.height=imgData.height;ctx.putImageData(imgData,0,0);img.delete()});Module["VideoCapture"]=(function(videoSource){var video=null;if(typeof videoSource==="string"){video=document.getElementById(videoSource)}else{video=videoSource}if(!(video instanceof HTMLVideoElement)){throw new Error("Please input the valid video element or id.");return}var canvas=document.createElement("canvas");canvas.width=video.width;canvas.height=video.height;var ctx=canvas.getContext("2d");this.video=video;this.read=(function(frame){if(!(frame instanceof cv.Mat)){throw new Error("Please input the valid cv.Mat instance.");return}if(frame.type()!==cv.CV_8UC4){throw new Error("Bad type of input mat: the type should be cv.CV_8UC4.");return}if(frame.cols!==video.width||frame.rows!==video.height){throw new Error("Bad size of input mat: the size should be same as the video.");return}ctx.drawImage(video,0,0,video.width,video.height);frame.data.set(ctx.getImageData(0,0,video.width,video.height).data)})});function Range(start,end){this.start=typeof start==="undefined"?0:start;this.end=typeof end==="undefined"?0:end}Module["Range"]=Range;function Point(x,y){this.x=typeof x==="undefined"?0:x;this.y=typeof y==="undefined"?0:y}Module["Point"]=Point;function Size(width,height){this.width=typeof width==="undefined"?0:width;this.height=typeof height==="undefined"?0:height}Module["Size"]=Size;function Rect(){switch(arguments.length){case 0:{this.x=0;this.y=0;this.width=0;this.height=0;break};case 1:{var rect=arguments[0];this.x=rect.x;this.y=rect.y;this.width=rect.width;this.height=rect.height;break};case 2:{var point=arguments[0];var size=arguments[1];this.x=point.x;this.y=point.y;this.width=size.width;this.height=size.height;break};case 4:{this.x=arguments[0];this.y=arguments[1];this.width=arguments[2];this.height=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["Rect"]=Rect;function RotatedRect(){switch(arguments.length){case 0:{this.center={x:0,y:0};this.size={width:0,height:0};this.angle=0;break};case 3:{this.center=arguments[0];this.size=arguments[1];this.angle=arguments[2];break};default:{throw new Error("Invalid arguments")}}}RotatedRect.points=(function(obj){return Module.rotatedRectPoints(obj)});RotatedRect.boundingRect=(function(obj){return Module.rotatedRectBoundingRect(obj)});RotatedRect.boundingRect2f=(function(obj){return Module.rotatedRectBoundingRect2f(obj)});Module["RotatedRect"]=RotatedRect;function Scalar(v0,v1,v2,v3){this.push(typeof v0==="undefined"?0:v0);this.push(typeof v1==="undefined"?0:v1);this.push(typeof v2==="undefined"?0:v2);this.push(typeof v3==="undefined"?0:v3)}Scalar.prototype=new Array;Scalar.all=(function(v){return new Scalar(v,v,v,v)});Module["Scalar"]=Scalar;function MinMaxLoc(){switch(arguments.length){case 0:{this.minVal=0;this.maxVal=0;this.minLoc=new Point;this.maxLoc=new Point;break};case 4:{this.minVal=arguments[0];this.maxVal=arguments[1];this.minLoc=arguments[2];this.maxLoc=arguments[3];break};default:{throw new Error("Invalid arguments")}}}Module["MinMaxLoc"]=MinMaxLoc;function Circle(){switch(arguments.length){case 0:{this.center=new Point;this.radius=0;break};case 2:{this.center=arguments[0];this.radius=arguments[1];break};default:{throw new Error("Invalid arguments")}}}Module["Circle"]=Circle;function TermCriteria(){switch(arguments.length){case 0:{this.type=0;this.maxCount=0;this.epsilon=0;break};case 3:{this.type=arguments[0];this.maxCount=arguments[1];this.epsilon=arguments[2];break};default:{throw new Error("Invalid arguments")}}}Module["TermCriteria"]=TermCriteria;Module["matFromArray"]=(function(rows,cols,type,array){var mat=new cv.Mat(rows,cols,type);switch(type){case cv.CV_8U:case cv.CV_8UC1:case cv.CV_8UC2:case cv.CV_8UC3:case cv.CV_8UC4:{mat.data.set(array);break};case cv.CV_8S:case cv.CV_8SC1:case cv.CV_8SC2:case cv.CV_8SC3:case cv.CV_8SC4:{mat.data8S.set(array);break};case cv.CV_16U:case cv.CV_16UC1:case cv.CV_16UC2:case cv.CV_16UC3:case cv.CV_16UC4:{mat.data16U.set(array);break};case cv.CV_16S:case cv.CV_16SC1:case cv.CV_16SC2:case cv.CV_16SC3:case cv.CV_16SC4:{mat.data16S.set(array);break};case cv.CV_32S:case cv.CV_32SC1:case cv.CV_32SC2:case cv.CV_32SC3:case cv.CV_32SC4:{mat.data32S.set(array);break};case cv.CV_32F:case cv.CV_32FC1:case cv.CV_32FC2:case cv.CV_32FC3:case cv.CV_32FC4:{mat.data32F.set(array);break};case cv.CV_64F:case cv.CV_64FC1:case cv.CV_64FC2:case cv.CV_64FC3:case cv.CV_64FC4:{mat.data64F.set(array);break};default:{throw new Error("Type is unsupported")}}return mat});Module["matFromImageData"]=(function(imageData){var mat=new cv.Mat(imageData.height,imageData.width,cv.CV_8UC4);mat.data.set(imageData.data);return mat}) return cv; }; if (typeof exports === 'object' && typeof module === 'object') module.exports = cv; else if (typeof define === 'function' && define['amd']) define([], function() { return cv; }); else if (typeof exports === 'object') exports["cv"] = cv; if (typeof Module === 'undefined') Module = {}; return cv(Module); })); ================================================ FILE: examples/opencv-face/worker.js ================================================ importScripts('../../dist/webxr-worker.js') console.log("loaded webxr-worker.js") var openCVready = false; // need to load up the files for tracking the face and eyes. WASM module has hooks to pass in // files to be loaded by opencv var Module = { preRun: [function() { console.log("CV preRun") Module.FS_createPreloadedFile('./', 'haarcascade_eye.xml', 'haarcascade_eye.xml', true, false); Module.FS_createPreloadedFile('./', 'haarcascade_frontalface_default.xml', 'haarcascade_frontalface_default.xml', true, false); Module.FS_createPreloadedFile('./', 'haarcascade_profileface.xml', 'haarcascade_profileface.xml', true, false); }], onRuntimeInitialized: function() { openCVready = true; postMessage({type: "cvReady"}); }, setStatus: function(msg) { postMessage({type: "cvStatus", msg: msg}); } }; console.log("set up pre-load") importScripts('opencv.js') console.log("loaded opencv.js:" + cv); /** * In the video callback, ev.detail contains: { "frame": { "buffers": [ // Array of base64 encoded string buffers { "size": { "width": 320, "height": 180, "bytesPerRow": 320, "bytesPerPixel": 1 }, "buffer": "e3x...d7d" /// convert to Uint8 buffer in code below }, { "size": { "width": 160, "height": 90, "bytesPerRow": 320, "bytesPerPixel": 2 }, "buffer": "ZZF.../fIJ7" /// convert to Uint8 buffer in code below } ], "pixelFormat": "YUV420P", /// Added in the code below, clients should ignore pixelFormatType "timestamp": 337791 }, "camera": { "cameraIntrinsics": [3x3 matrix], fx 0 px 0 fy py 0 0 1 fx and fy are the focal length in pixels. px and py are the coordinates of the principal point in pixels. The origin is at the center of the upper-left pixel. "cameraImageResolution": { "width": 1280, "height": 720 }, "viewMatrix": [4x4 camera view matrix], "arCamera": true; "cameraOrientation": 0, // orientation in degrees of image relative to display // normally 0, but on video mixed displays that keep the camera in a fixed // orientation, but rotate the UI, like on some phones, this will change // as the display orientation changes "projectionMatrix": [4x4 camera projection matrix] } } */ // faces and eyes var face_cascade; var eye_cascade; function loadFaceDetectTrainingSet() { if (face_cascade == undefined) { face_cascade = new cv.CascadeClassifier(); let load = face_cascade.load('haarcascade_frontalface_default.xml'); console.log('load face detection training data', load); } } function loadEyesDetectTrainingSet() { if (eye_cascade == undefined) { eye_cascade = new cv.CascadeClassifier(); let load = eye_cascade.load('haarcascade_eye.xml'); console.log('load eye detection training data', load); } } function faceDetect(img_gray, roiRect) { loadFaceDetectTrainingSet(); var roi_gray = img_gray if (roiRect) { roi_gray = img_gray.roi(roiRect); } else { roiRect = new cv.Rect(0, 0, img_gray.cols, img_gray.rows); } let faces = new cv.RectVector(); let s1 = new cv.Size(15,15); let s2 = new cv.Size(120,120); face_cascade.detectMultiScale(roi_gray, faces, 1.3, 3, 0, s1, s2); let rects = []; for (let i = 0; i < faces.size(); i += 1) { let faceRect = faces.get(i); rects.push({ x: faceRect.x + roiRect.x, y: faceRect.y + roiRect.y, width: faceRect.width, height: faceRect.height }); } if (roi_gray != img_gray) roi_gray.delete() faces.delete(); return rects; } function eyesDetect(img_gray) { loadFaceDetectTrainingSet(); loadEyesDetectTrainingSet(); let faces = new cv.RectVector(); let s1 = new cv.Size(); let s2 = new cv.Size(); face_cascade.detectMultiScale(img_gray, faces);//, 1.1, 3, 0);//, s1, s2); let rects = []; for (let i = 0; i < faces.size(); i += 1) { let faceRect = faces.get(i); let x = faceRect.x; let y = faceRect.y; let w = faceRect.width; let h = faceRect.height; rects.push({ x: x, y: y, width: w, height: h }); let roiRect = new cv.Rect(x, y, w, h); let roi_gray = img_gray.roi(roiRect); let eyes = new cv.RectVector(); eye_cascade.detectMultiScale(roi_gray, eyes);//, 1.1, 3, 0, s1, s2); for (let j = 0; j < eyes.size(); j += 1) { let eyeRect = eyes.get(j); rects.push({ x: x + eyeRect.x, y: y + eyeRect.y, width: eyeRect.width, height: eyeRect.height }); } eyes.delete(); roi_gray.delete(); } faces.delete(); return rects } // createCVMat // // this routine does two things (if needed) as part of copying the input buffer to a cv.Mat: // - rotates the image so it is upright // - converts to greyscale var rotatedImage = null; var img_gray = null; var img_rgba = null; var resizedImage = null; function createCVMat2(rotation, buffer, pixelFormat) { var width = buffer.size.width var height = buffer.size.height if (!img_gray) img_gray = new cv.Mat(); if (!img_rgba) img_rgba = new cv.Mat(); if (!rotatedImage) rotatedImage = new cv.Mat(); switch(pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: var b = new Uint8Array(buffer.buffer); img_gray.create(height,width,cv.CV_8U) img_gray.data.set(b); break; case XRVideoFrame.IMAGEFORMAT_RGBA32: var b = new Uint8Array(buffer.buffer); img_rgba.create(height,width,cv.CV_8UC4) img_rgba.data.set(b); cv.cvtColor(img_rgba, img_gray, cv.COLOR_RGBA2GRAY, 0); break; } // face tracker only works if image is upright. // on mobile, the camera is fixed, even though the display rotates. So, we need // to rotate the image so it's in the right orientation (upright, relative to how the // user sees it) switch(rotation) { case -90: cv.rotate(img_gray, rotatedImage, cv.ROTATE_90_CLOCKWISE); return rotatedImage; break; case 90: cv.rotate(img_gray, rotatedImage, cv.ROTATE_90_COUNTERCLOCKWISE); return rotatedImage; break; case 180: cv.rotate(img_gray, rotatedImage, cv.ROTATE_180); return rotatedImage; break; default: return img_gray; } } /////////// var endTime = 0; self.addEventListener('message', function(event){ // send back some timing messages, letting the main thread know the message is // received and CV processing has started postMessage({type: "cvStart", time: ( performance || Date ).now()}); // create a videoFrame object frome the message. Eventually, this may // be passed in by the browser, if we create something like a "vision worker" var videoFrame = XRVideoFrame.createFromMessage(event); // did we find any? var faceRects = [] // don't do anything until opencv.js and WASM and support files are loaded if (openCVready) { // deal with the video formats we know about switch (videoFrame.pixelFormat) { case XRVideoFrame.IMAGEFORMAT_YUV420P: case XRVideoFrame.IMAGEFORMAT_RGBA32: var scale = 1; var buffer = videoFrame.buffer(0); var width = buffer.size.width; var height = buffer.size.height; // let's pick a size such that the video is below 256 in size in both dimensions // since face detection is really expensive on large images while (width > 256 || height > 256) { width = width / 2 height = height / 2 scale = scale / 2; } // first, rotate the image such that it is oriented correctly relative to the display // since the face detector assumes the face is upright. Also, this routine // converts to 8bit grey scale var rotation = videoFrame.camera.cameraOrientation; var image = createCVMat2(rotation, videoFrame.buffer(0), videoFrame.pixelFormat) postMessage({type: "cvAfterMat", time: ( performance || Date ).now()}); // did we decide to scale? if (scale != 1) { if (!resizedImage) resizedImage = new cv.Mat(); cv.resize(image, resizedImage, new cv.Size(), scale, scale); postMessage({type: "cvAfterResize", time: ( performance || Date ).now()}); // now find faces faceRects = faceDetect(resizedImage); for (let i = 0; i < faceRects.length; i++) { let rect = faceRects[i]; rect.x = rect.x / scale rect.y = rect.y / scale rect.width = rect.width / scale rect.height = rect.height / scale } } else { // no resize? Just use the original image postMessage({type: "cvAfterResize", time: ( performance || Date ).now()}); faceRects = faceDetect(image); } } } endTime = ( performance || Date ).now() videoFrame.postReplyMessage({type: "cvFrame", faceRects: faceRects, time: endTime}) videoFrame.release(); }); ================================================ FILE: examples/peoples/index.html ================================================ Spinners example

Peoples

(click to dismiss)

Place animated people on surfaces by tapping.

================================================ FILE: examples/persistence/index.html ================================================ Hit test example

Hit Test with Persistence

(click to dismiss)

Find anchors by searching on tap events.

================================================ FILE: examples/reticle/index.html ================================================ Reticle example

Reticle

(click to dismiss)

Place a reticle on surfaces.

================================================ FILE: examples/sensing/index.html ================================================ Show What Information is Being Sensed in the World

Show World Knowledge

(click to dismiss)

Render the anchors, including planes and face geometry, detected by the platform.

================================================ FILE: examples/simplecv/index.html ================================================ Simple Custom CV example

Simple Computer Vision

(click to dismiss)

Compute the average intensity of the video image pixels.

================================================ FILE: examples/simplecv/webxr-worker.js ================================================ /* Copyright (c) 2011, Daniel Guerrero All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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 COPYRIGHT HOLDERS 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 DANIEL GUERRERO 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. */ /** * Uses the new array typed in javascript to binary base64 encode/decode * at the moment just decodes a binary base64 encoded * into either an ArrayBuffer (decodeArrayBuffer) * or into an Uint8Array (decode) * * References: * https://developer.mozilla.org/en/JavaScript_typed_arrays/ArrayBuffer * https://developer.mozilla.org/en/JavaScript_typed_arrays/Uint8Array */ var Base64Binary = { _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", /* will return a Uint8Array type */ decodeArrayBuffer: function(input, buffer) { var bytes = (input.length/4) * 3; if (!buffer || buffer.byteLength != bytes) { // replace the buffer with a new, appropriately sized one buffer = new ArrayBuffer(bytes); } this.decode(input, buffer); return buffer; }, decode: function(input, arrayBuffer) { //get last chars to see if are valid var lkey1 = this._keyStr.indexOf(input.charAt(input.length-1)); var lkey2 = this._keyStr.indexOf(input.charAt(input.length-2)); var bytes = (input.length/4) * 3; if (lkey1 == 64) bytes--; //padding chars, so skip if (lkey2 == 64) bytes--; //padding chars, so skip var uarray; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; var j = 0; if (arrayBuffer) uarray = new Uint8Array(arrayBuffer); else uarray = new Uint8Array(bytes); input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); for (i=0; i> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; uarray[i] = chr1; if (enc3 != 64) uarray[i+1] = chr2; if (enc4 != 64) uarray[i+2] = chr3; } return uarray; } } //importScripts('webxr-worker.js'); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } // store unused ArrayBuffers // we'll push to it on release, pop from it when we need a new one. In the common case, where the // same camera setup is running and the same cv is running, we should get some speed up by not reallocating // because the same size and number of buffers will be pushed/popped in the same order var _ab = []; var XRVideoFrame = function () { function XRVideoFrame(buffers, pixelFormat, timestamp, camera) { _classCallCheck(this, XRVideoFrame); this._buffers = buffers; this._pixelFormat = pixelFormat; this._timestamp = timestamp; this._camera = camera; } _createClass(XRVideoFrame, [{ key: "numBuffers", value: function numBuffers() { this._buffers.length; } }, { key: "buffer", value: function buffer(index) { if (index >= 0 && index < this._buffers.length) { var buff = this._buffers[index]; if (typeof buff.buffer == "string") { var bufflen = buff.buffer.length; buff.buffer = Base64Binary.decodeArrayBuffer(buff.buffer, _ab.length > 0 ? _ab.pop() : null); var buffersize = buff.buffer.byteLength; var imagesize = buff.size.height * buff.size.bytesPerRow; } return buff; } } }, { key: "release", value: function release() { // if buffers are passed in, check if they are ArrayBuffers, and if so, save // them for possible use on the next frame. // // we do this because passing buffers down into Workers invalidates them, so we need to // return them here when we get them back from the Worker, so they can be reused. var buffers = this._buffers; for (var i = 0; i < buffers.length; i++) { if (buffers[i].buffer instanceof ArrayBuffer) { _ab.push(buffers[i].buffer); } } } }, { key: "postMessageToWorker", value: function postMessageToWorker(worker, options) { var msg = Object.assign({}, options || {}); msg.buffers = this._buffers; msg.timestamp = this._timestamp; msg.pixelFormat = this._pixelFormat; msg.camera = this._camera; var buffs = []; for (var i = 0; i < msg.buffers.length; i++) { if (msg.buffers[i].buffer instanceof ArrayBuffer) { buffs.push(msg.buffers[i].buffer); } } worker.postMessage(msg, buffs); } }, { key: "postReplyMessage", value: function postReplyMessage(options) { var msg = Object.assign({}, options); msg.buffers = this._buffers; msg.timestamp = this._timestamp; msg.pixelFormat = this._pixelFormat; msg.camera = this._camera; var buffs = []; for (var i = 0; i < msg.buffers.length; i++) { if (msg.buffers[i].buffer instanceof ArrayBuffer) { // any array buffers should be marked for transfer buffs.push(msg.buffers[i].buffer); } else { // if we passed in a string, and it didn't get accessed, we shouldn't pass it back out msg.buffers.buffer[i] = null; } } postMessage(msg, buffs); } }, { key: "pixelFormat", get: function get() { return this._pixelFormat; } }, { key: "timestamp", get: function get() { return this._timestamp; } }, { key: "camera", get: function get() { return this._camera; } }], [{ key: "createFromMessage", value: function createFromMessage(event) { return new this(event.data.buffers, event.data.pixelFormat, event.data.timestamp, event.data.camera); } }]); return XRVideoFrame; }(); /* ImageFormat taken from https://w3c.github.io/mediacapture-worker/#imagebitmap-extensions enum ImageFormat { "RGBA32", "BGRA32", "RGB24", "BGR24", "GRAY8", "YUV444P", "YUV422P", "YUV420P", "YUV420SP_NV12", "YUV420SP_NV21", "HSV", "Lab", "DEPTH", // empty string "" }; */ XRVideoFrame.IMAGEFORMAT_RGBA32 = "RGBA32"; XRVideoFrame.IMAGEFORMAT_BGRA32 = "BGRA32"; XRVideoFrame.IMAGEFORMAT_RGB24 = "RGB24"; XRVideoFrame.IMAGEFORMAT_BGR24 = "BGR24"; XRVideoFrame.IMAGEFORMAT_GRAY8 = "GRAY8"; XRVideoFrame.IMAGEFORMAT_YUV444P = "YUV444P"; XRVideoFrame.IMAGEFORMAT_YUV422P = "YUV422P"; XRVideoFrame.IMAGEFORMAT_YUV420P = "YUV420P"; XRVideoFrame.IMAGEFORMAT_YUV420SP_NV12 = "YUV420SP_NV12"; XRVideoFrame.IMAGEFORMAT_YUV420SP_NV21 = "YUV420SP_NV21"; XRVideoFrame.IMAGEFORMAT_HSV = "HSV"; XRVideoFrame.IMAGEFORMAT_Lab = "Lab"; XRVideoFrame.IMAGEFORMAT_DEPTH = "DEPTH"; XRVideoFrame.IMAGEFORMAT_NULL = ""; XRVideoFrame.IMAGEFORMAT = [XRVideoFrame.IMAGEFORMAT_RGBA32, XRVideoFrame.IMAGEFORMAT_BGRA32, XRVideoFrame.IMAGEFORMAT_RGB24, XRVideoFrame.IMAGEFORMAT_BGR24, XRVideoFrame.IMAGEFORMAT_GRAY8, XRVideoFrame.IMAGEFORMAT_YUV444P, XRVideoFrame.IMAGEFORMAT_YUV422P, XRVideoFrame.IMAGEFORMAT_YUV420P, XRVideoFrame.IMAGEFORMAT_YUV420SP_NV12, XRVideoFrame.IMAGEFORMAT_YUV420SP_NV21, XRVideoFrame.IMAGEFORMAT_HSV, XRVideoFrame.IMAGEFORMAT_Lab, XRVideoFrame.IMAGEFORMAT_DEPTH, XRVideoFrame.IMAGEFORMAT_NULL]; ================================================ FILE: examples/simplecv/worker.js ================================================ //importScripts('webxr-worker.js') importScripts('../../dist/webxr-worker.js') /** * In the video callback, ev.detail contains: { "frame": { "buffers": [ // Array of base64 encoded string buffers { "size": { "width": 320, "height": 180, "bytesPerRow": 320, "bytesPerPixel": 1 }, "buffer": "e3x...d7d" /// convert to Uint8 ArrayBuffer in code below }, { "size": { "width": 160, "height": 90, "bytesPerRow": 320, "bytesPerPixel": 2 }, "buffer": "ZZF.../fIJ7" /// convert to Uint8 ArrayBuffer in code below } ], "pixelFormatType": "kCVPixelFormatType_420YpCbCr8BiPlanarFullRange", "pixelFormat": "YUV420P", /// Added in the code below, clients should ignore pixelFormatType "timestamp": 337791 }, "camera": { "cameraIntrinsics": [3x3 matrix], fx 0 px 0 fy py 0 0 1 fx and fy are the focal length in pixels. px and py are the coordinates of the principal point in pixels. The origin is at the center of the upper-left pixel. "cameraImageResolution": { "width": 1280, "height": 720 }, "viewMatrix": [4x4 camera view matrix], "interfaceOrientation": 3, // 0 UIDeviceOrientationUnknown // 1 UIDeviceOrientationPortrait // 2 UIDeviceOrientationPortraitUpsideDown // 3 UIDeviceOrientationLandscapeRight // 4 UIDeviceOrientationLandscapeLeft "projectionMatrix": [4x4 camera projection matrix] } } */ // some globals to hold the -- silly -- values we compute var intensity = 0.0; var cr = -1; var cg = -1; var cb = -1; // a silly simply function to compute something based on 'all the pixels' in an RGBA image averageIntensityRGBA = function (buffer) { var w = buffer.size.width; var h = buffer.size.height; var pad = buffer.size.bytesPerRow - w * buffer.size.bytesPerPixel; var pixels = buffer.buffer; intensity = 0.0; var p = 0; for (var r = 0; r < h; r++) { var v = 0; for (var i = 0; i < w; i++) { v += (pixels[p++] + pixels[p++] + pixels[p++]) / 3 p++ } intensity += v / w; p += pad; } intensity = (intensity / h) / 255.0; } // a silly simply function to compute something based on 'all the pixels' in a grayscale image averageIntensityLum = function (buffer) { var w = buffer.size.width; var h = buffer.size.height; var pad = buffer.size.bytesPerRow - w * buffer.size.bytesPerPixel; var pixels = buffer.buffer; intensity = 0.0; var p = 0; for (var r = 0; r < h; r++) { var v = 0; for (var i = 0; i < w; i++) { v += pixels[p++] } intensity += v / w; p += pad; } intensity = (intensity / h) / 255.0; } // sample a single color, just for variety colorAtCenterRGB = function(buffer0) { var w = buffer0.size.width; var h = buffer0.size.height; var pixels = buffer0.buffer; var cx = Math.floor(w / 2) * buffer0.size.bytesPerPixel var cy = Math.floor(h / 2) var p = cy * buffer0.size.bytesPerRow + cx; cr = pixels[p++]; cg = pixels[p++]; cb = pixels[p]; } // Make an attempt to convert a UV color to RBG // // LUV == LuCbCr // // Y = 0.299R + 0.587G + 0.114B // U'= (B-Y)*0.565 // V'= (R-Y)*0.713 clamp = function (x, min, max) { if (x < min) { return min; } if (x > max) { return max; } return x; } colorAtCenterLUV = function(buffer0, buffer1) { var w = buffer0.size.width; var h = buffer0.size.height; var pixels = buffer0.buffer; var cx = Math.floor(w / 2) * buffer0.size.bytesPerPixel var cy = Math.floor(h / 2) var p = cy * buffer0.size.bytesPerRow + cx; var lum = pixels[p]; w = buffer1.size.width; h = buffer1.size.height; pixels = buffer1.buffer; cx = Math.floor(w / 2) * buffer1.size.bytesPerPixel cy = Math.floor(h / 2) p = cy * buffer1.size.bytesPerRow + cx; cb = pixels[p++]; cr = pixels[p]; // luv -> rgb. see https://www.fourcc.org/fccyvrgb.php var y=1.1643*(lum-16) var u=cb-128; var v=cr-128; cr=clamp(y+1.5958*v, 0, 255); cg=clamp(y-0.39173*u-0.81290*v, 0, 255); cb=clamp(y+2.017*u, 0, 255); // Alternatives: // // var y=lum // var u=cb-128; // var v=cr-128; // cr=y+1.402*v; // cg=y-0.34414*u-0.71414*v; // cb=y+1.772*u; } // The listener. // // We can ignore the message type field, since we are only receiving one message from // the main thread, a new video frame self.addEventListener('message', function(event){ try { // a utility function to receive the message. Takes care of managing the // internal ArrayBuffers that are being passed around var videoFrame = XRVideoFrame.createFromMessage(event); // The video frames will come in different formats on different platforms. // The call to videoFrame.buffer(i) retrieves the i-th plane for the frame; // (in the case of the WebXR Viewer, it also converts the base64 encoded message // into an ArrayBuffer, which we don't do until the plane is used) switch (videoFrame.pixelFormat) { // the WebXR Viewer uses iOS native YCbCr, which is two buffers, one for Y and one for CbCr case XRVideoFrame.IMAGEFORMAT_YUV420P: this.averageIntensityLum(videoFrame.buffer(0)) this.colorAtCenterLUV(videoFrame.buffer(0),videoFrame.buffer(1)) break; // WebRTC uses web-standard RGBA case XRVideoFrame.IMAGEFORMAT_RGBA32: this.averageIntensityRGBA(videoFrame.buffer(0)) this.colorAtCenterRGB(videoFrame.buffer(0)) break; } // utility function to send the video frame and additional parameters back. // Want to use this so we pass ArrayBuffers back and forth to avoid having to // reallocate them every frame. videoFrame.postReplyMessage({intensity: intensity, cr: cr, cg: cg, cb: cb}) videoFrame.release(); } catch(e) { console.error('page error', e) } }); ================================================ FILE: examples/textures/Park2/readme.txt ================================================ Author ====== This is the work of Emil Persson, aka Humus. http://www.humus.name humus@comhem.se Legal stuff =========== This work is free and may be used by anyone for any purpose and may be distributed freely to anyone using any distribution media or distribution method as long as this file is included. Distribution without this file is allowed if it's distributed with free non-commercial software; however, fair credit of the original author is expected. Any commercial distribution of this software requires the written approval of Emil Persson. ================================================ FILE: examples/vr_simplest/index.html ================================================ VR simplest example
================================================ FILE: index.html ================================================ WebXR Viewer

WebXR Viewer

Help Mozilla Research by taking part in WebXR viewer, an augmented reality and virtual reality application that lets you navigate to XR experiences just like websites.

Below you will find examples of WebXR experiences. If you are a developer, click the source code links to see how to use the WebXR polyfill to create your own AR or VR experiences.

Samples

Simple Examples

================================================ FILE: package.json ================================================ { "name": "WebXR_examples", "version": "0.0.1", "description": "", "main": "index.js", "directories": { "lib": "lib" }, "scripts": { "start": "npm run build && http-server .", "build": "webpack" }, "repository": { "type": "git", "url": "git+https://github.com/Mozilla/webxr-api.git" }, "keywords": [], "author": "", "license": "ISC", "bugs": { "url": "https://github.com/Mozilla/webxr-api/issues" }, "homepage": "https://github.com/Mozilla/webxr-api#readme", "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.1", "babel-preset-env": "^1.6.0", "http-server": "^0.10.0", "webpack": "^3.5.5", "wrapper-webpack-plugin": "^1.0.0" }, "dependencies": { } } ================================================ FILE: polyfill/Reality.js ================================================ import EventHandlerBase from './fill/EventHandlerBase.js' /* A Reality represents a view of the world, be it the real world via sensors or a virtual world that is rendered with WebGL or WebGPU. */ export default class Reality extends EventHandlerBase { constructor(xr, name, isShared, isPassthrough){ super() this._xr = xr this._name = name this._isShared = isShared this._isPassthrough = isPassthrough this._anchors = new Map() } get name(){ return this._name } get isShared(){ return this._isShared } get isPassthrough(){ return this._isPassthrough } getCoordinateSystem(...types){ //XRCoordinateSystem? getCoordinateSystem(XRFrameOfReferenceType type, ...); // Tries the types in order, returning the first match or null if none is found throw new Error('Not implemented') } /* Called when at least one active XRSession is using this Reality */ _start(parameters){ throw new Error('Extending classes should implement _start') } /* Called when no more active XRSessions are using this Reality */ _stop(){ throw new Error('Extending classes should implement _stop') } /* Request another video frame be generated, typically from video-mixed Realities. */ _requestVideoFrame() { } /* Start or stop video frames */ _stopVideoFrames() { } _startVideoFrames() { } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(){} /* Create an anchor hung in space */ _addAnchor(anchor, display){ // returns DOMString anchor UID throw new Error('Extending classes should implement _addAnchor') } /* Create an anchor attached to a surface, as found by a ray returns a Promise that resolves either to an AnchorOffset or null if the hit test failed normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right */ _findAnchor(normalizedScreenX, normalizedScreenY, display){ throw new Error('Extending classes should implement _findAnchor') } _createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) { throw new Error('Extending classes should implement _createImageAnchor') } activateDetectionImage(uid, display) { throw new Error('Extending classes should implement _activateDetectionImage') } /* Find an XRAnchorOffset that is at floor level below the current head pose returns a Promise that resolves either to an AnchorOffset or null if the floor level is unknown */ _findFloorAnchor(display, uid=null){ throw new Error('Extending classes should implement _findFloorAnchor') } _getAnchor(uid){ return this._anchors.get(uid) || null } _removeAnchor(uid){ // returns void throw new Error('Extending classes should implement _removeAnchor') } _hitTestNoAnchor(normalizedScreenX, normalizedScreenY, display){ throw new Error('Extending classes should implement _hitTestNoAnchor') } _getLightAmbientIntensity(){ throw new Error('Extending classes should implement _getLightAmbientIntensity') } _getWorldMap() { throw new Error('Extending classes should implement _getWorldMap') } _setWorldMap(worldMap) { throw new Error('Extending classes should implement _setWorldMap') } _getWorldMappingStatus() { throw new Error('Extending classes should implement _getWorldMappingStatus') } // attribute EventHandler onchange; } Reality.COMPUTER_VISION_DATA = 'cv_data' Reality.WINDOW_RESIZE_EVENT = 'window-resize' Reality.NEW_WORLD_ANCHOR = 'world-anchor' Reality.UPDATE_WORLD_ANCHOR = 'update-world-anchor' Reality.REMOVE_WORLD_ANCHOR = 'remove-world-anchor' ================================================ FILE: polyfill/XRAnchor.js ================================================ /* XRAnchors provide per-frame coordinates which the Reality attempts to pin "in place". In a virtual Reality these coordinates do not change. In a Reality based on environment mapping sensors, the anchors may change pose on a per-frame bases as the system refines its map. */ export default class XRAnchor { constructor(xrCoordinateSystem, uid=null){ this._uid = uid || XRAnchor._generateUID() this._coordinateSystem = xrCoordinateSystem } get uid(){ return this._uid } get coordinateSystem(){ return this._coordinateSystem } static _generateUID(){ return 'anchor-' + new Date().getTime() + '-' + Math.floor((Math.random() * Number.MAX_SAFE_INTEGER)) } } ================================================ FILE: polyfill/XRAnchorOffset.js ================================================ import MatrixMath from './fill/MatrixMath.js' import Quaternion from './fill/Quaternion.js' import XRAnchor from './XRAnchor.js' /* XRAnchorOffset represents a pose in relation to an XRAnchor */ export default class XRAnchorOffset { constructor(anchorUID, poseMatrix=null){ this._anchorUID = anchorUID this._tempArray = new Float32Array(16); this._poseMatrix = poseMatrix || MatrixMath.mat4_generateIdentity() } setIdentityOffset() { var p = this._poseMatrix p[0] = p[5] = p[10] = p[15] = 1 p[1] = p[2] = p[3] = 0 p[4] = p[6] = p[7] = 0 p[8] = p[9] = p[11] = 0 p[12] = p[13] = p[14] = 0 } get anchorUID(){ return this._anchorUID } /* A Float32Array(16) representing a column major affine transform matrix */ get poseMatrix(){ return this._poseMatrix } set poseMatrix(array16){ for(let i=0; i < 16; i++){ this._poseMatrix[i] = array16[i] } } /* returns a Float32Array(4) representing an x, y, z position from this.poseMatrix */ get position(){ return new Float32Array([this._poseMatrix[12], this._poseMatrix[13], this._poseMatrix[14]]) } /* returns a Float32Array(4) representing x, y, z, w of a quaternion from this.poseMatrix */ get orientation(){ let quat = new Quaternion() quat.setFromRotationMatrix(this._poseMatrix) return quat.toArray() } /* Return a transform matrix that is offset by this XRAnchorOffset.poseMatrix relative to coordinateSystem */ getOffsetTransform(coordinateSystem){ return MatrixMath.mat4_multiply(this._tempArray, this._poseMatrix, coordinateSystem._poseModelMatrix) } } ================================================ FILE: polyfill/XRCoordinateSystem.js ================================================ import MatrixMath from './fill/MatrixMath.js' /* XRCoordinateSystem represents the origin of a 3D coordinate system positioned at a known frame of reference. The XRCoordinateSystem is a string from XRCoordinateSystem.TYPES: These types are used by the app code when requesting a coordinate system from the session: - XRCoordinateSystem.HEAD_MODEL: origin is aligned with the pose of the head, as sensed by HMD or handset trackers - XRCoordinateSystem.EYE_LEVEL: origin is at a fixed distance above the ground This is an internal type, specific to just this polyfill and not visible to the app code - XRCoordinateSystem.TRACKER: The origin of this coordinate system is at floor level at or below the origin of the HMD or handset provided tracking system */ export default class XRCoordinateSystem { constructor(display, type){ this._display = display this._type = type this.__relativeMatrix = MatrixMath.mat4_generateIdentity() this._workingMatrix = MatrixMath.mat4_generateIdentity() } getTransformTo(otherCoordinateSystem){ // apply inverse of the poseModelMatrix to the identity matrix let inverse = MatrixMath.mat4_invert(new Float32Array(16), otherCoordinateSystem._poseModelMatrix) let out = MatrixMath.mat4_generateIdentity() MatrixMath.mat4_multiply(out, inverse, out) // apply the other system's poseModelMatrix MatrixMath.mat4_multiply(out, this._poseModelMatrix, out) return out } get _relativeMatrix(){ return this.__relativeMatrix } set _relativeMatrix(value){ for(let i=0; i < 16; i++){ this.__relativeMatrix[i] = value[i] } } get _poseModelMatrix(){ switch(this._type){ case XRCoordinateSystem.HEAD_MODEL: return this._display._headPose.poseModelMatrix case XRCoordinateSystem.EYE_LEVEL: return this._display._eyeLevelPose.poseModelMatrix case XRCoordinateSystem.TRACKER: MatrixMath.mat4_multiply(this._workingMatrix, this.__relativeMatrix, this._display._trackerPoseModelMatrix) return this._workingMatrix default: throw new Error('Unknown coordinate system type: ' + this._type) } } } XRCoordinateSystem.HEAD_MODEL = 'headModel' XRCoordinateSystem.EYE_LEVEL = 'eyeLevel' XRCoordinateSystem.TRACKER = 'tracker' XRCoordinateSystem.TYPES = [ XRCoordinateSystem.HEAD_MODEL, XRCoordinateSystem.EYE_LEVEL, XRCoordinateSystem.TRACKER, ] ================================================ FILE: polyfill/XRDisplay.js ================================================ import MatrixMath from './fill/MatrixMath.js' import EventHandlerBase from './fill/EventHandlerBase.js' import VirtualReality from './reality/VirtualReality.js' import XRFieldOfView from './XRFieldOfView.js' import Reality from './Reality.js' /* Each XRDisplay represents a method of using a specific type of hardware to render AR or VR realities and layers. This doesn't yet support a geospatial coordinate system */ export default class XRDisplay extends EventHandlerBase { constructor(xr, displayName, isExternal, reality){ super() this._xr = xr this._displayName = displayName this._isExternal = isExternal this._reality = reality // The Reality instance that is currently displayed this._headModelCoordinateSystem = new XRCoordinateSystem(this, XRCoordinateSystem.HEAD_MODEL) this._eyeLevelCoordinateSystem = new XRCoordinateSystem(this, XRCoordinateSystem.EYE_LEVEL) this._trackerCoordinateSystem = new XRCoordinateSystem(this, XRCoordinateSystem.TRACKER) this._headPose = new XRViewPose([0, XRViewPose.SITTING_EYE_HEIGHT, 0]) this._eyeLevelPose = new XRViewPose([0, XRViewPose.SITTING_EYE_HEIGHT, 0]) this._trackerPoseModelMatrix = MatrixMath.mat4_generateIdentity() this._fovy = 70; var fov = this._fovy/2; this._fov = new XRFieldOfView(fov, fov, fov, fov) this._depthNear = 0.1 this._depthFar = 1000 this._views = [] } get displayName(){ return this._displayName } get isExternal(){ return this._isExternal } supportsSession(parameters){ // parameters: XRSessionCreateParametersInit // returns boolean return this._supportedCreationParameters(parameters) } requestSession(parameters){ return new Promise((resolve, reject) => { if(this._supportedCreationParameters(parameters) === false){ reject() return } if(parameters.type === XRSession.REALITY){ this._reality = new VirtualReality() this._xr._privateRealities.push(this._reality) } resolve(this._createSession(parameters)) }) } // no-op unless display supports it _requestVideoFrame() {} _requestAnimationFrame(callback){ return window.requestAnimationFrame(callback) } _cancelAnimationFrame(handle){ return window.cancelAnimationFrame(handle) } _createSession(parameters){ return new XRSession(this._xr, this, parameters) } _supportedCreationParameters(parameters){ // returns true if the parameters are supported by this display throw 'Should be implemented by extending class' } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(frame){} /* Called by a session after it has handed the XRPresentationFrame to the app Use this for any display submission calls that need to happen after the render has occurred. */ _handleAfterFrame(frame){} /* Called by XRSession after the session.baseLayer is assigned a value */ _handleNewBaseLayer(baseLayer){} //attribute EventHandler ondeactivate; } XRDisplay.VIDEO_FRAME = 'videoFrame' XRDisplay.TRACKING_CHANGED = 'tracking-changed' XRDisplay.NEW_WORLD_ANCHOR = 'world-anchor' XRDisplay.UPDATE_WORLD_ANCHOR = 'update-world-anchor' XRDisplay.REMOVE_WORLD_ANCHOR = 'remove-world-anchor' ================================================ FILE: polyfill/XRFaceAnchor.js ================================================ import XRAnchor from './XRAnchor.js' /* XRFaceAnchor represents a face anchor */ export default class XRFaceAnchor extends XRAnchor { constructor(coordinateSystem, uid=null, geometry, blendShapeArray) { super(coordinateSystem, uid) this.geometry = geometry this.blendShapes = {} this.updateBlendShapes(blendShapeArray) } updateBlendShapes(blendShapeArray) { for (let i = 0; i < blendShapeNames.length; i++) { this.blendShapes[blendShapeNames[i]] = blendShapeArray[i] } } } const blendShapeNames = [ "browDownLeft", "browDownRight", "browInnerUp", "browOuterUpLeft", "browOuterUpRight", "cheekPuff", "cheekSquintLeft", "cheekSquintRight", "eyeBlinkLeft", "eyeBlinkRight", "eyeLookDownLeft", "eyeLookDownRight", "eyeLookInLeft", "eyeLookInRight", "eyeLookOutLeft", "eyeLookOutRight", "eyeLookUpLeft", "eyeLookUpRight", "eyeSquintLeft", "eyeSquintRight", "eyeWideLeft", "eyeWideRight", "jawForward", "jawLeft", "jawOpen", "jawRight", "mouthClose", "mouthDimpleLeft", "mouthDimpleRight", "mouthFrownLeft", "mouthFrownRight", "mouthFunnel", "mouthLeft", "mouthLowerDownLeft", "mouthLowerDownRight", "mouthPressLeft", "mouthPressRight", "mouthPucker", "mouthRight", "mouthRollLower", "mouthRollUpper", "mouthShrugLower", "mouthShrugUpper", "mouthSmileLeft", "mouthSmileRight", "mouthStretchLeft", "mouthStretchRight", "mouthUpperUpLeft", "mouthUpperUpRight", "noseSneerLeft", "noseSneerRight" ] ================================================ FILE: polyfill/XRFieldOfView.js ================================================ /* XRFieldOFView represents the four boundaries of a camera's field of view: up, down, left, and right. */ export default class XRFieldOfView { constructor(upDegrees, downDegrees, leftDegrees, rightDegrees){ this._upDegrees = upDegrees this._downDegrees = downDegrees this._leftDegrees = leftDegrees this._rightDegrees = rightDegrees } get upDegrees(){ return this._upDegrees } get downDegrees(){ return this._downDegrees } get leftDegrees(){ return this._leftDegrees } get rightDegrees(){ return this._rightDegrees } } ================================================ FILE: polyfill/XRImageAnchor.js ================================================ import XRAnchor from './XRAnchor.js' /* XRFaceAnchor represents an anchor */ export default class XRImageAnchor extends XRAnchor { constructor(coordinateSystem, uid=null) { super(coordinateSystem, uid) } } ================================================ FILE: polyfill/XRLayer.js ================================================ import EventHandlerBase from './fill/EventHandlerBase.js' /* XRLayer defines a source of bitmap images and a description of how the image is to be rendered in the XRDisplay */ export default class XRLayer extends EventHandlerBase { // Everything is implemented on XRWebGLLayer } ================================================ FILE: polyfill/XRLightEstimate.js ================================================ /* XRLightEstimate represents the attributes of environmental light as supplied by the device's sensors. */ export default class XRLightEstimate { constructor(){ this._ambientLightIntensity = 1 } set ambientIntensity(value){ // A value of 1000 represents "neutral" lighting. (https://developer.apple.com/documentation/arkit/arlightestimate/2878308-ambientintensity) this._ambientLightIntensity = value / 1000 } get ambientIntensity(){ //readonly attribute double ambientIntensity; return this._ambientLightIntensity } getAmbientColorTemperature(){ //readonly attribute double ambientColorTemperature; throw new Error('Not implemented') } } ================================================ FILE: polyfill/XRPlaneAnchor.js ================================================ import XRAnchor from './XRAnchor.js' /* XRPlaneAnchor represents a flat surfaces like floors, table tops, or walls. */ export default class XRPlaneAnchor extends XRAnchor { constructor(coordinateSystem, uid=null, center, extent, alignment, geometry) { super(coordinateSystem, uid) this.center = center this.extent = extent this.alignment = alignment this.geometry = geometry } get width(){ //readonly attribute double width; throw 'Not implemented' } get length(){ //readonly attribute double length; throw 'Not implemented' } } ================================================ FILE: polyfill/XRPointCloud.js ================================================ /* XRPointCloud holds an array of float values where each four values represents [x, y, z, confidence in range 0-1] that describe a point in space detected by the device's sensors. */ export default class XRPointCloud { get points(){ //readonly attribute Float32Array points throw new Error('Not implemented') } } ================================================ FILE: polyfill/XRPolyfill.js ================================================ import _XRDisplay from './XRDisplay.js' import _XRSession from './XRSession.js' import _XRSessionCreateParameters from './XRSessionCreateParameters.js' import _Reality from './Reality.js' import _XRPointCloud from './XRPointCloud.js' import _XRLightEstimate from './XRLightEstimate.js' import _XRAnchor from './XRAnchor.js' import _XRPlaneAnchor from './XRPlaneAnchor.js' import _XRFaceAnchor from './XRFaceAnchor.js' import _XRImageAnchor from './XRImageAnchor.js' import _XRAnchorOffset from './XRAnchorOffset.js' import _XRStageBounds from './XRStageBounds.js' import _XRStageBoundsPoint from './XRStageBoundsPoint.js' import _XRPresentationFrame from './XRPresentationFrame.js' import _XRView from './XRView.js' import _XRViewport from './XRViewport.js' import _XRCoordinateSystem from './XRCoordinateSystem.js' import _XRViewPose from './XRViewPose.js' import _XRLayer from './XRLayer.js' import _XRWebGLLayer from './XRWebGLLayer.js' import _XRVideoFrame from './XRVideoFrame.js' import EventHandlerBase from './fill/EventHandlerBase.js' import FlatDisplay from './display/FlatDisplay.js' import HeadMountedDisplay from './display/HeadMountedDisplay.js' import CameraReality from './reality/CameraReality.js' /* XRPolyfill implements the window.XR functionality as a polyfill Code below will check for window.XR and if it doesn't exist will install this polyfill, so you can safely include this script in any page. */ class XRPolyfill extends EventHandlerBase { constructor(){ super() window.XRDisplay = _XRDisplay window.XRSession = _XRSession window.XRSessionCreateParameters = _XRSessionCreateParameters window.Reality = _Reality window.XRPointCloud = _XRPointCloud window.XRLightEstimate = _XRLightEstimate window.XRAnchor = _XRAnchor window.XRPlaneAnchor = _XRPlaneAnchor window.XRFaceAnchor = _XRFaceAnchor window.XRImageAnchor = _XRImageAnchor window.XRAnchorOffset = _XRAnchorOffset window.XRStageBounds = _XRStageBounds window.XRStageBoundsPoint = _XRStageBoundsPoint window.XRPresentationFrame = _XRPresentationFrame window.XRView = _XRView window.XRViewport = _XRViewport window.XRCoordinateSystem = _XRCoordinateSystem window.XRViewPose = _XRViewPose window.XRLayer = _XRLayer window.XRWebGLLayer = _XRWebGLLayer window.XRVideoFrame = _XRVideoFrame XRDisplay = window.XRDisplay XRSession = window.XRSession XRSessionCreateParameters = window.XRSessionCreateParameters Reality = window.Reality XRPointCloud = window.XRPointCloud XRLightEstimate = window.XRLightEstimate XRAnchor = window.XRAnchor; XRPlaneAnchor = window.XRPlaneAnchor; XRFaceAnchor = window.XRFaceAnchor; XRImageAnchor = window.XRImageAnchor; XRAnchorOffset = window.XRAnchorOffset; XRStageBounds = window.XRStageBounds; XRStageBoundsPoint = window.XRStageBoundsPoint; XRPresentationFrame = window.XRPresentationFrame; XRView = window.XRView; XRViewport = window.XRViewport; XRCoordinateSystem = window.XRCoordinateSystem; XRViewPose = window.XRViewPose; XRLayer = window.XRLayer; XRWebGLLayer = window.XRWebGLLayer; XRVideoFrame = window.XRVideoFrame; this._getVRDisplaysFinished = false; // Reality instances that may be shared by multiple XRSessions this._sharedRealities = [new CameraReality(this)] this._privateRealities = [] this._displays = [new FlatDisplay(this, this._sharedRealities[0])] if(typeof navigator.getVRDisplays === 'function'){ navigator.getVRDisplays().then(displays => { for(let display of displays){ if(display === null) continue if(display.capabilities.canPresent){ this._displays.push(new HeadMountedDisplay(this, this._sharedRealities[0], display)) } } this._getVRDisplaysFinished = true; }) } else { // if no WebVR, we don't need to wait this._getVRDisplaysFinished = true; } // These elements are at the beginning of the body and absolutely positioned to fill the entire window // Sessions and realities add their elements to these divs so that they are in the right render order this._sessionEls = document.createElement('div') this._sessionEls.setAttribute('class', 'webxr-sessions') this._realityEls = document.createElement('div') this._realityEls.setAttribute('class', 'webxr-realities') for(let el of [this._sessionEls, this._realityEls]){ el.style.position = 'absolute' el.style.width = '100%' el.style.height = '100%' } let prependElements = () => { document.body.style.width = '100%'; document.body.style.height = '100%'; document.body.prepend(this._sessionEls); document.body.prepend(this._realityEls); // realities must render behind the sessions } if(document.readyState !== 'loading') { prependElements(); } else { document.addEventListener('DOMContentLoaded', prependElements); } } getDisplays(){ var self=this var waitTillDisplaysChecked = function(resolve) { if (!self._getVRDisplaysFinished) { setTimeout(waitTillDisplaysChecked.bind(self, resolve), 30); } else { resolve(self._displays); } } return new Promise((resolve, reject) => { waitTillDisplaysChecked(resolve); }) } //attribute EventHandler ondisplayconnect; //attribute EventHandler ondisplaydisconnect; } /* Install XRPolyfill if window.XR does not exist */ if(typeof navigator.XR === 'undefined') { navigator.XR = new XRPolyfill() } ================================================ FILE: polyfill/XRPresentationFrame.js ================================================ import XRAnchor from './XRAnchor.js' import ARKitWrapper from './platform/ARKitWrapper.js' import MatrixMath from './fill/MatrixMath.js' /* XRPresentationFrame provides all of the values needed to render a single frame of an XR scene to the XRDisplay. */ export default class XRPresentationFrame { constructor(session, timestamp){ this._session = session this._timestamp = this._session.reality._getTimeStamp(timestamp); } get session(){ return this._session } get views(){ //readonly attribute FrozenArray views; return this._session._display._views } get hasPointCloud(){ //readonly attribute boolean hasPointCloud; return false } get pointCloud(){ //readonly attribute XRPointCloud? pointCloud; return null } get hasLightEstimate(){ //readonly attribute boolean hasLightEstimate; return this._session.reality._getHasLightEstimate(); } get lightEstimate(){ //readonly attribute XRLightEstimate? lightEstimate; return this._session.reality._getLightAmbientIntensity(); } get timestamp () { return this._timestamp; } /* Returns an array of known XRAnchor instances. May be empty. */ get anchors(){ //readonly attribute sequence anchors; let results = [] for(let value of this._session.reality._anchors.values()){ results.push(value) } return results } /* Create an anchor at a specific position defined by XRAnchor.coordinates */ addAnchor(coordinateSystem, position=[0,0,0], orientation=[0,0,0,1],uid=null){ //DOMString? addAnchor(XRCoordinateSystem, position, orientation); let poseMatrix = MatrixMath.mat4_fromRotationTranslation(new Float32Array(16), orientation, position) MatrixMath.mat4_multiply(poseMatrix, coordinateSystem.getTransformTo(this._session._display._trackerCoordinateSystem), poseMatrix) let anchorCoordinateSystem = new XRCoordinateSystem(this._session._display, XRCoordinateSystem.TRACKER) anchorCoordinateSystem._relativeMatrix = poseMatrix return this._session.reality._addAnchor(new XRAnchor(anchorCoordinateSystem, uid), this._session.display) } // normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right findAnchor(normalizedScreenX, normalizedScreenY, options=null){ // Promise findAnchor(float32, float32); // cast a ray to find or create an anchor at the first intersection in the Reality return this._session.reality._findAnchor(normalizedScreenX, normalizedScreenY, this._session.display, options) } hitTestNoAnchor(normalizedScreenX, normalizedScreenY){ // Array hitTestNoAnchor(float32, float32); // cast a ray to find all plane intersections in the Reality return this._session.reality._hitTestNoAnchor(normalizedScreenX, normalizedScreenY, this._session.display) } /* Find an XRAnchorOffset that is at floor level below the current head pose uid will be the resulting anchor uid (if any), or if null one will be assigned */ findFloorAnchor(uid=null){ // Promise findFloorAnchor(); return this._session.reality._findFloorAnchor(this._session.display, uid) } removeAnchor(uid){ // void removeAnchor(DOMString uid); return this._session.reality._removeAnchor(uid) } /* Returns an existing XRAnchor or null if uid is unknown */ getAnchor(uid){ // XRAnchor? getAnchor(DOMString uid); return this._session.reality._getAnchor(uid) } getCoordinateSystem(...types){ // XRCoordinateSystem? getCoordinateSystem(...XRFrameOfReferenceType types); // Tries the types in order, returning the first match or null if none is found return this._session._getCoordinateSystem(...types) } getDisplayPose(coordinateSystem){ // XRViewPose? getDisplayPose(XRCoordinateSystem coordinateSystem); switch(coordinateSystem._type){ case XRCoordinateSystem.HEAD_MODEL: return this._session._display._headPose case XRCoordinateSystem.EYE_LEVEL: return this._session._display._eyeLevelPose default: return null } } } // hit test types XRPresentationFrame.HIT_TEST_TYPE_FEATURE_POINT = ARKitWrapper.HIT_TEST_TYPE_FEATURE_POINT XRPresentationFrame.HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE = ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE XRPresentationFrame.HIT_TEST_TYPE_ESTIMATED_VERTICAL_PLANE = ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_VERTICAL_PLANE XRPresentationFrame.HIT_TEST_TYPE_EXISTING_PLANE = ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE XRPresentationFrame.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT = ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT XRPresentationFrame.HIT_TEST_TYPE_EXISTING_PLANE_USING_GEOMETRY = ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_GEOMETRY XRPresentationFrame.HIT_TEST_TYPE_ALL = ARKitWrapper.HIT_TEST_TYPE_FEATURE_POINT | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE | ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT XRPresentationFrame.HIT_TEST_TYPE_EXISTING_PLANES = ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT ================================================ FILE: polyfill/XRSession.js ================================================ import EventHandlerBase from './fill/EventHandlerBase.js' import MatrixMath from './fill/MatrixMath.js' import XRDisplay from './XRDisplay.js' import XRFaceAnchor from './XRFaceAnchor.js' import XRImageAnchor from './XRImageAnchor.js' import XRAnchor from './XRAnchor.js' import ARKitWrapper from './platform/ARKitWrapper.js' import XRPlaneAnchor from './XRPlaneAnchor.js' /* A script that wishes to make use of an XRDisplay can request an XRSession. An XRSession provides a list of the available Reality instances that the script may request as well as make a request for an animation frame. */ export default class XRSession extends EventHandlerBase { constructor(xr, display, createParameters){ super(xr) this._xr = xr this._display = display this._createParameters = createParameters this._ended = false this._baseLayer = null this._stageBounds = null this._skip = false; this._frameAnchors = [] this._tempMatrix = MatrixMath.mat4_generateIdentity() this._tempMatrix2 = MatrixMath.mat4_generateIdentity() this._display.addEventListener(XRDisplay.TRACKING_CHANGED, this._handleTrackingChanged.bind(this)) this._display.addEventListener(XRDisplay.NEW_WORLD_ANCHOR, this._handleNewWorldAnchor.bind(this)) this._display.addEventListener(XRDisplay.REMOVE_WORLD_ANCHOR, this._handleRemoveWorldAnchor.bind(this)) this._display.addEventListener(XRDisplay.UPDATE_WORLD_ANCHOR, this._handleUpdateWorldAnchor.bind(this)) } get display(){ return this._display } get createParameters(){ return this._parameters } get realities(){ return this._xr._sharedRealities } get reality(){ return this._display._reality } get baseLayer(){ return this._baseLayer } set baseLayer(value){ this._baseLayer = value this._display._handleNewBaseLayer(this._baseLayer) } get depthNear(){ this._display._depthNear } set depthNear(value){ this._display._depthNear = value } get depthFar(){ this._display._depthFar } set depthFar(value){ this._display._depthFar = value } get hasStageBounds(){ this._stageBounds !== null } get stageBounds(){ return this._stageBounds } requestFrame(callback){ if(this._ended) return null if(typeof callback !== 'function'){ throw 'Invalid callback' } return this._handleRequestFrame(callback) } _handleRequestFrame(callback) { return this._display._requestAnimationFrame((timestamp) => { if (this._skip) { this._skip = false; return this._handleRequestFrame(callback) } //this._skip = true; // try skipping every second raf const frame = this._createPresentationFrame(timestamp) this._updateCameraAnchor(frame) this._display._reality._handleNewFrame(frame) this._display._handleNewFrame(frame) callback(frame) this._display._handleAfterFrame(frame) }) } cancelFrame(handle){ return this._display._cancelAnimationFrame(handle) } end(){ if(this._ended) return for (var i = 0; i< this._frameAnchors.length; i++) { this._display._reality._removeAnchor(this._frameAnchors[i].uid) } this._frameAnchors = []; this._ended = true this._display._stop() return new Promise((resolve, reject) => { resolve() }) } _updateCameraAnchor(frame) { // new anchor each minute if (this._frameAnchors.length == 0 || (this._frameAnchors[0].timestamp + 1000) < frame.timestamp) { const headCoordinateSystem = frame.getCoordinateSystem(XRCoordinateSystem.EYE_LEVEL) const anchorUID = frame.addAnchor(headCoordinateSystem, [0,-1,0], [0,0,0,1], 'cameraAnchor-' + new Date().getTime() + '-' + Math.floor((Math.random() * Number.MAX_SAFE_INTEGER))); const anchor = frame.getAnchor(anchorUID) anchor.timestamp = frame.timestamp; this._frameAnchors.unshift(anchor) if (this._frameAnchors.length > 5) { var oldAnchor = this._frameAnchors.pop() this._display._reality._removeAnchor(oldAnchor.uid) } return anchor; } else { return this._frameAnchors[0] } } _transformToCameraAnchor(camera) { if (this._frameAnchors.length == 0) return camera.viewMatrix var matrix = camera.viewMatrix camera._anchorUid = this._frameAnchors[0].uid const anchorCoords = this._frameAnchors[0].coordinateSystem // should only have to invert anchor coords, but we're sending in the inverse // of the camera pose ... // get world to anchor by inverting anchor to world MatrixMath.mat4_invert(this._tempMatrix, anchorCoords._poseModelMatrix) // get camera to world by inverting world to camera // MatrixMath.mat4_invert(this._tempMatrix2, matrix) // MatrixMath.mat4_multiply(camera.viewMatrix, this._tempMatrix, this._tempMatrix2) MatrixMath.mat4_multiply(camera.viewMatrix, this._tempMatrix, matrix) } setVideoFrameHandler(callback) { if (callback instanceof Worker) { var worker = callback; callback = (ev => { // var cv = ev.detail // var buffers = cv.frame.buffers // var buffs = [] // for (var i = 0; i < buffers.length; i++) { // buffs.push(buffers[i].buffer) // } // worker.postMessage(cv, buffs); this._transformToCameraAnchor(ev.detail.camera) ev.detail.postMessageToWorker(worker, {type: "newVideoFrame"}) ev.detail.release() }) } else { var originalCallback = callback; callback = (ev => { this._transformToCameraAnchor(ev.detail.camera) originalCallback(ev) }) } this._display.addEventListener("videoFrame", callback) } getVideoFramePose(videoFrame, poseOut) { if (!videoFrame.camera._anchorUid) return var anchorPose; var anchor = this.reality._getAnchor(videoFrame.camera._anchorUid) if (anchor) { anchorPose = anchor.coordinateSystem._poseModelMatrix } else { var i =0; for (; i < this._frameAnchors.length; i++) { if (videoFrame.camera._anchorUid == this._frameAnchors[i].uid) { anchorPose = this._frameAnchors[i].coordinateSystem._poseModelMatrix; break; } } if (i == this._frameAnchors.length) { // shouldn't happen! console.warn("should never get here: session.getVideoFramePose can't find anchor") return; } } MatrixMath.mat4_multiply(poseOut, anchorPose, videoFrame.camera.viewMatrix ) } // normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right hitTest(normalizedScreenX, normalizedScreenY, options=null){ // Promise findAnchor(float32, float32); // cast a ray to find or create an anchor at the first intersection in the Reality return this.reality._findAnchor(normalizedScreenX, normalizedScreenY, this.display, options) } requestVideoFrame() { this._display._requestVideoFrame(); } stopVideoFrames() { this._display._stopVideoFrames(); } startVideoFrames() { this._display._startVideoFrames(); } _createPresentationFrame(timestamp){ return new XRPresentationFrame(this, timestamp) } _getCoordinateSystem(...types){ for(let type of types){ switch(type){ case XRCoordinateSystem.HEAD_MODEL: return this._display._headModelCoordinateSystem case XRCoordinateSystem.EYE_LEVEL: return this._display._eyeLevelCoordinateSystem case XRCoordinateSystem.TRACKER: return this._display._trackerCoordinateSystem case XRCoordinateSystem.GEOSPATIAL: // Not supported yet default: continue } } return null } createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) { return this.reality._createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) } activateDetectionImage(uid) { return this.reality._activateDetectionImage(uid, this._display) } _handleNewWorldAnchor(event) { let xrAnchor = event.detail //console.log(`New world anchor: ${JSON.stringify(xrAnchor)}`) if (!xrAnchor.uid.startsWith('cameraAnchor-')) { try { this.dispatchEvent( new CustomEvent( XRSession.NEW_WORLD_ANCHOR, { source: this, detail: xrAnchor } ) ) } catch(e) { console.error('NEW_WORLD_ANCHOR event error', e) } } else { // console.log('not passing NEW_WORLD_ANCHOR event to app for ', xrAnchor.uid) } } _handleUpdateWorldAnchor(event) { let xrAnchor = event.detail //console.log(`New world anchor: ${JSON.stringify(xrAnchor)}`) try { this.dispatchEvent( new CustomEvent( XRSession.UPDATE_WORLD_ANCHOR, { source: this, detail: xrAnchor } ) ) } catch(e) { console.error('UPDATE_WORLD_ANCHOR event error', e) } } _handleRemoveWorldAnchor(event) { let xrAnchor = event.detail //console.log(`Remove world anchor: ${JSON.stringify(xrAnchor)}`) try { this.dispatchEvent( new CustomEvent( XRSession.REMOVE_WORLD_ANCHOR, { source: this, detail: xrAnchor } ) ) } catch(e) { console.error('REMOVE_WORLD_ANCHOR event error', e) } } _handleTrackingChanged(event) { try { this.dispatchEvent( new CustomEvent( XRSession.TRACKING_CHANGED, { source: this, detail: event.detail } ) ) } catch(e) { console.error('TRACKING_CHANGED event error', e) } } getWorldMap() { return this.reality._getWorldMap() } setWorldMap(worldMap) { return this.reality._setWorldMap(worldMap) } getWorldMappingStatus() { return this.reality._getWorldMappingStatus() } /* attribute EventHandler onblur; attribute EventHandler onfocus; attribute EventHandler onresetpose; attribute EventHandler onrealitychanged; attribute EventHandler onrealityconnect; attribute EventHandler onrealitydisconnect; attribute EventHandler onboundschange; attribute EventHandler onended; */ } XRSession.REALITY = 'reality' XRSession.AUGMENTATION = 'augmentation' XRSession.TYPES = [XRSession.REALITY, XRSession.AUGMENTATION] XRSession.TRACKING_CHANGED = 'tracking-changed' XRSession.NEW_WORLD_ANCHOR = 'world-anchor' XRSession.UPDATE_WORLD_ANCHOR = 'update-world-anchor' XRSession.REMOVE_WORLD_ANCHOR = 'remove-world-anchor' ================================================ FILE: polyfill/XRSessionCreateParameters.js ================================================ /* The XRSessionCreateParametersInit dictionary provides a session description, indicating the desired capabilities of a session to be returned from requestSession() */ export default class XRSessionCreateParameters { get exclusive(){ //readonly attribute boolean exclusive; throw 'Not implemented' } get type(){ //readonly attribute XRSessionRealityType type; throw 'Not implemented' } } ================================================ FILE: polyfill/XRStageBounds.js ================================================ /* The XRStageBounds interface describes a space known as a "Stage". The stage is a bounded, floor-relative play space that the user can be expected to safely be able to move within. Other XR platforms sometimes refer to this concept as "room scale" or "standing XR". */ export default class XRStageBounds { get center(){ //readonly attribute XRCoordinateSystem center; throw new Error('Not implemented') } get geometry(){ //readonly attribute FrozenArray? geometry; throw new Error('Not implemented') } } ================================================ FILE: polyfill/XRStageBoundsPoint.js ================================================ /* XRStageBoundPoints represent the offset in meters from the stage origin along the X and Z axes. */ export default class XRStageBoundsPoint { get x(){ //readonly attribute double x; throw new Error('Not implemented') } get y(){ //readonly attribute double z; throw new Error('Not implemented') } } ================================================ FILE: polyfill/XRVideoFrame.js ================================================ import * as glMatrix from "./fill/gl-matrix/common.js"; import * as mat4 from "./fill/gl-matrix/mat4.js"; import * as quat from "./fill/gl-matrix/quat.js"; import * as vec3 from "./fill/gl-matrix/vec3.js"; import base64 from "./fill/base64-binary.js"; /* XRVideoFrame represents the a video frame from a camera. { "frame": { "buffers": [ // Array of base64 encoded string buffers { "size": { "width": 320, "height": 180, "bytesPerRow": 320, "bytesPerPixel": 1 }, "buffer": "e3x...d7d" /// convert to Uint8 buffer in code below }, { "size": { "width": 160, "height": 90, "bytesPerRow": 320, "bytesPerPixel": 2 }, "buffer": "ZZF.../fIJ7" /// convert to Uint8 buffer in code below } ], "pixelFormat": "YUV420P", /// Added in the code below, clients should ignore pixelFormatType "timestamp": 337791 }, "camera": { "cameraIntrinsics": [3x3 matrix], fx 0 px 0 fy py 0 0 1 fx and fy are the focal length in pixels. px and py are the coordinates of the principal point in pixels. The origin is at the center of the upper-left pixel. "cameraImageResolution": { "width": 1280, "height": 720 }, "viewMatrix": [4x4 camera view matrix], "arCamera": true; "cameraOrientation": 0, // orientation in degrees of image relative to display // normally 0, but on video mixed displays that keep the camera in a fixed // orientation, but rotate the UI, like on some phones, this will change // as the display orientation changes "projectionMatrix": [4x4 camera projection matrix] } } frame.buffers.buffer[*] can be String (which will be lazily converted to ArrayBuffer) or ArrayBuffer. pixelFormat should be one of XRVideoFrame.IMAGEFORMAT */ // store unused ArrayBuffers // we'll push to it on release, pop from it when we need a new one. In the common case, where the // same camera setup is running and the same cv is running, we should get some speed up by not reallocating // because the same size and number of buffers will be pushed/popped in the same order var _ab = [] export default class XRVideoFrame { constructor(buffers, pixelFormat, timestamp, camera){ this._buffers = buffers for (var i=0; i< buffers.length; i++) { buffers[i]._buffer = buffers[i].buffer buffers[i].buffer = null // if we didn't pass in an abCache, as might happen when we pass this // to/from a worker, see if there is a saved ArrayBuffer of the right size if (!buffers[i]._abCache && typeof buffers[i]._buffer == "string") { var bytes = base64.decodeLength(buffers[i]._buffer); for (var j=0; j < _ab.length; j++) { if (_ab[j].byteLength == bytes) { buffers[i]._abCache = _ab[j] _ab.splice(j, 1); break; } } } else if (!buffers[i]._abCache && buffers[i]._buffer instanceof ImageData) { var data = buffers[i]._buffer.data var bytes = data.length for (var j=0; j < _ab.length; j++) { if (_ab[j].byteLength == bytes) { buffers[i]._abCache = _ab[j] _ab.splice(j, 1); break; } } var ab = buffers[i]._abCache ? buffers[i]._abCache : new ArrayBuffer(bytes) buffers[i]._abCache = null; var buffData = new Uint8Array(ab); for (var k = 0; k < bytes; k++) buffData[k] = data[k] buffers[i]._buffer = ab } } this._pixelFormat = pixelFormat this._timestamp = timestamp this._camera = camera } static createFromMessage (event) { return new this(event.data.buffers, event.data.pixelFormat, event.data.timestamp, event.data.camera) } numBuffers() {this._buffers.length} buffer(index) { if (index >= 0 && index < this._buffers.length) { var buff = this._buffers[index] if (!buff.buffer) { if (typeof buff._buffer == "string") { // use the ArrayBuffer cache if there buff._buffer = base64.decodeArrayBuffer(buff._buffer, buff._abCache); buff._abCache = null; buff.buffer = new Uint8Array(buff._buffer); } else if (buff._buffer instanceof ArrayBuffer) { buff.buffer = new Uint8Array(buff._buffer); } else if (buff._buffer instanceof ImageData) { buff.buffer = ImageData.data } } return buff; } return null } get pixelFormat(){ return this._pixelFormat } get timestamp(){ return this._timestamp } get camera(){ return this._camera } release () { // if buffers are passed in, check if they are ArrayBuffers, and if so, save // them for possible use on the next frame. // // we do this because passing buffers down into Workers invalidates them, so we need to // return them here when we get them back from the Worker, so they can be reused. var buffers = this._buffers; for (var i=0; i< buffers.length; i++) { if (buffers[i]._buffer instanceof ArrayBuffer && buffers[i]._buffer.byteLength > 0) { _ab.push(buffers[i]._buffer) } if (buffers[i]._abCache instanceof ArrayBuffer && buffers[i]._abCache.byteLength > 0) { _ab.push(buffers[i]._abCache) } } } postMessageToWorker (worker, options) { var msg = Object.assign({}, options || {}) msg.buffers = this._buffers msg.timestamp = this._timestamp msg.pixelFormat = this._pixelFormat msg.camera = this._camera var buffs = [] for (var i = 0; i < msg.buffers.length; i++) { msg.buffers[i].buffer = msg.buffers[i]._buffer; if (msg.buffers[i]._buffer instanceof ArrayBuffer || msg.buffers[i]._buffer instanceof ImageData) { buffs.push(msg.buffers[i]._buffer) } msg.buffers[i]._buffer = null; if (msg.buffers[i]._abCache instanceof ArrayBuffer) { buffs.push(msg.buffers[i]._abCache) } } worker.postMessage(msg, buffs); } postReplyMessage (options) { var msg = Object.assign({}, options) msg.buffers = this._buffers msg.timestamp = this._timestamp msg.pixelFormat = this._pixelFormat msg.camera = this._camera var buffs = [] for (var i = 0; i < msg.buffers.length; i++) { msg.buffers[i].buffer = null; if (msg.buffers[i]._buffer instanceof ArrayBuffer || msg.buffers[i]._buffer instanceof ImageData) { // any array buffers should be marked for transfer buffs.push(msg.buffers[i]._buffer) msg.buffers[i].buffer = msg.buffers[i]._buffer } msg.buffers[i]._buffer = null if (msg.buffers[i]._abCache instanceof ArrayBuffer) { buffs.push(msg.buffers[i]._abCache) } } postMessage(msg, buffs); } } /* ImageFormat taken from https://w3c.github.io/mediacapture-worker/#imagebitmap-extensions enum ImageFormat { "RGBA32", "BGRA32", "RGB24", "BGR24", "GRAY8", "YUV444P", "YUV422P", "YUV420P", "YUV420SP_NV12", "YUV420SP_NV21", "HSV", "Lab", "DEPTH", // empty string "" }; */ XRVideoFrame.IMAGEFORMAT_RGBA32 = "RGBA32" XRVideoFrame.IMAGEFORMAT_BGRA32 = "BGRA32" XRVideoFrame.IMAGEFORMAT_RGB24 = "RGB24" XRVideoFrame.IMAGEFORMAT_BGR24 = "BGR24" XRVideoFrame.IMAGEFORMAT_GRAY8 = "GRAY8" XRVideoFrame.IMAGEFORMAT_YUV444P = "YUV444P" XRVideoFrame.IMAGEFORMAT_YUV422P = "YUV422P" XRVideoFrame.IMAGEFORMAT_YUV420P = "YUV420P" XRVideoFrame.IMAGEFORMAT_YUV420SP_NV12 = "YUV420SP_NV12" XRVideoFrame.IMAGEFORMAT_YUV420SP_NV21 = "YUV420SP_NV21" XRVideoFrame.IMAGEFORMAT_HSV = "HSV" XRVideoFrame.IMAGEFORMAT_Lab = "Lab" XRVideoFrame.IMAGEFORMAT_DEPTH = "DEPTH" XRVideoFrame.IMAGEFORMAT_NULL = "" XRVideoFrame.IMAGEFORMAT = [ XRVideoFrame.IMAGEFORMAT_RGBA32, XRVideoFrame.IMAGEFORMAT_BGRA32, XRVideoFrame.IMAGEFORMAT_RGB24, XRVideoFrame.IMAGEFORMAT_BGR24, XRVideoFrame.IMAGEFORMAT_GRAY8, XRVideoFrame.IMAGEFORMAT_YUV444P, XRVideoFrame.IMAGEFORMAT_YUV422P, XRVideoFrame.IMAGEFORMAT_YUV420P, XRVideoFrame.IMAGEFORMAT_YUV420SP_NV12, XRVideoFrame.IMAGEFORMAT_YUV420SP_NV21, XRVideoFrame.IMAGEFORMAT_HSV, XRVideoFrame.IMAGEFORMAT_Lab, XRVideoFrame.IMAGEFORMAT_DEPTH, XRVideoFrame.IMAGEFORMAT_NULL ] ================================================ FILE: polyfill/XRView.js ================================================ import XRViewport from './XRViewport.js' import MatrixMath from './fill/MatrixMath.js' /* An XRView describes a single view into an XR scene. It provides several values directly, and acts as a key to query view-specific values from other interfaces. */ export default class XRView { constructor(fov, depthNear, depthFar, eye=null){ this._fov = fov this._depthNear = depthNear this._depthFar = depthFar this._eye = eye this._viewport = new XRViewport(0, 0, 1, 1) this._projectionMatrix = new Float32Array(16) this._viewMatrix = new Float32Array([1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]) MatrixMath.mat4_perspectiveFromFieldOfView(this._projectionMatrix, this._fov, this._depthNear, this._depthFar) } set fov ( value ) { this._fov = value MatrixMath.mat4_perspectiveFromFieldOfView(this._projectionMatrix, this._fov, this._depthNear, this._depthFar) } get eye(){ return this._eye } get projectionMatrix(){ return this._projectionMatrix } setProjectionMatrix(array16){ for(let i=0; i < 16; i++){ this._projectionMatrix[i] = array16[i] } } get viewMatrix(){ return this._viewMatrix } setViewMatrix(array16){ for(let i=0; i < 16; i++){ this._viewMatrix[i] = array16[i] } } getViewport(layer){ if(this._eye === XRView.LEFT){ this._viewport.x = 0 this._viewport.y = 0 this._viewport.width = layer.framebufferWidth / 2 this._viewport.height = layer.framebufferHeight } else if(this._eye === XRView.RIGHT){ this._viewport.x = layer.framebufferWidth / 2 this._viewport.y = 0 this._viewport.width = layer.framebufferWidth / 2 this._viewport.height = layer.framebufferHeight } else { this._viewport.x = 0 this._viewport.y = 0 this._viewport.width = layer.framebufferWidth this._viewport.height = layer.framebufferHeight } return this._viewport } } XRView.LEFT = 'left' XRView.RIGHT = 'right' XRView.EYES = [XRView.LEFT, XRView.RIGHT] ================================================ FILE: polyfill/XRViewPose.js ================================================ import MatrixMath from './fill/MatrixMath.js' import Quaternion from './fill/Quaternion.js' /* XRDevicePose describes the position and orientation of an XRDisplay relative to the query XRCoordinateSystem. It also describes the view and projection matrices that should be used by the application to render a frame of the XR scene. */ export default class XRViewPose { constructor(position=[0, 0, 0], orientation=[0, 0, 0, 1]){ this._poseModelMatrix = new Float32Array(16) MatrixMath.mat4_fromRotationTranslation(this._poseModelMatrix, orientation, position) } get poseModelMatrix(){ return this._poseModelMatrix } _setPoseModelMatrix(array16){ for(let i=0; i < 16; i++){ this._poseModelMatrix[i] = array16[i] } } get _position(){ return [this._poseModelMatrix[12], this._poseModelMatrix[13], this._poseModelMatrix[14]] } set _position(array3){ this._poseModelMatrix[12] = array3[0] this._poseModelMatrix[13] = array3[1] this._poseModelMatrix[14] = array3[2] } get _orientation(){ let quat = new Quaternion() quat.setFromRotationMatrix(this._poseModelMatrix) return quat.toArray() } set _orientation(array4){ MatrixMath.mat4_fromRotationTranslation(this._poseModelMatrix, array4, this._position) } _translate(array3){ this._poseModelMatrix[12] += array3[0] this._poseModelMatrix[13] += array3[1] this._poseModelMatrix[14] += array3[2] } getViewMatrix(view, out=null){ if(out === null){ out = new Float32Array(16) } MatrixMath.mat4_eyeView(out, this._poseModelMatrix) // TODO offsets return out } } // We are not going to use this any more. The way it was handled was broken, we'll just // use the raw values for the coordinate systems. XRViewPose.SITTING_EYE_HEIGHT = 0 // meters ================================================ FILE: polyfill/XRViewport.js ================================================ /* XRViewport represents the dimensions in pixels of an XRView. */ export default class XRViewport { constructor(x, y, width, height){ this._x = x this._y = y this._width = width this._height = height } get x(){ return this._x } set x(value) { this._x = value } get y(){ return this._y } set y(value) { this._y = value } get width(){ return this._width } set width(value) { this._width = value } get height(){ return this._height } set height(value) { this._height = value } } ================================================ FILE: polyfill/XRWebGLLayer.js ================================================ import XRLayer from './XRLayer.js' /* XRWebGLLayer defines the WebGL or WebGL 2 context that is rendering the visuals for this layer. */ export default class XRWebGLLayer extends XRLayer { constructor(session, context){ super() this._session = session this._context = context this._width = this._context.canvas.width; this._height = this._context.canvas.height; this._framebuffer = null // TODO } get context(){ return this._context } get antialias(){ // readonly attribute boolean antialias; throw 'Not implemented' } get depth(){ // readonly attribute boolean depth; throw 'Not implemented' } get stencil(){ // readonly attribute boolean stencil; throw 'Not implemented' } get alpha(){ // readonly attribute boolean alpha; throw 'Not implemented' } get multiview(){ // readonly attribute boolean multiview; throw 'Not implemented' } get framebuffer(){ return this._framebuffer } set framebufferWidth(w){ this._width = w; this._context.canvas.width = w; } get framebufferWidth(){ // not using this for now, on iOS it's not good. // var pr = window.devicePixelRatio || 1; //return this._context.canvas.clientWidth; return this._width; } set framebufferHeight(h){ this._height = h; this._context.canvas.height = h; } get framebufferHeight(){ // not using this for now, on iOS it's not good. // var pr = window.devicePixelRatio || 1; //return this._context.canvas.clientHeight; return this._height; } requestViewportScaling(viewportScaleFactor){ // void requestViewportScaling(double viewportScaleFactor); throw 'Not implemented' } } ================================================ FILE: polyfill/XRWorkerPolyfill.js ================================================ import XRAnchor from './XRAnchor.js' import XRAnchorOffset from './XRAnchorOffset.js' import XRCoordinateSystem from './XRCoordinateSystem.js' import XRViewPose from './XRViewPose.js' import XRVideoFrame from './XRVideoFrame.js' import EventHandlerBase from './fill/EventHandlerBase.js' /* XRPolyfill implements the window.XR functionality as a polyfill Code below will check for window.XR and if it doesn't exist will install this polyfill, so you can safely include this script in any page. */ export default class XRWorkerPolyfill extends EventHandlerBase { constructor(){ super() self.XRAnchor = XRAnchor self.XRAnchorOffset = XRAnchorOffset self.XRCoordinateSystem = XRCoordinateSystem self.XRViewPose = XRViewPose self.XRVideoFrame = XRVideoFrame } } /* Install XRWorkerPolyfill if self.XR does not exist */ self.XR = new XRWorkerPolyfill() ================================================ FILE: polyfill/display/FlatDisplay.js ================================================ import XRDisplay from '../XRDisplay.js' import XRView from '../XRView.js' import XRSession from '../XRSession.js' import XRFieldOfView from '../XRFieldOfView.js' import MatrixMath from '../fill/MatrixMath.js' import Quaternion from '../fill/Quaternion.js' import Vector3 from '../fill/Vector3.js' import DeviceOrientationTracker from '../fill/DeviceOrientationTracker.js' import ARKitWrapper from '../platform/ARKitWrapper.js' import XRPlaneAnchor from '../XRPlaneAnchor.js' import XRFaceAnchor from '../XRFaceAnchor.js' import XRAnchor from '../XRAnchor.js' import XRImageAnchor from '../XRImageAnchor.js' /* FlatDisplay takes over a handset's full screen and presents a moving view into a Reality, as if it were a magic window. If ARKit is present, it uses the ARKit updates to set the headModel pose. If ARCore is available on the VRDisplays, use that to pose the headModel. (TODO) Otherwise, use orientation events. */ export default class FlatDisplay extends XRDisplay { constructor(xr, reality){ super(xr, 'Flat', false, reality) this._started = false this._initialized = false // This is used if we have ARKit support this._arKitWrapper = null // This is used if we have ARCore support this._vrFrameData = null // This is used if we are using orientation events this._deviceOrientationTracker = null // These are used if we have ARCore support or use window orientation events this._deviceOrientation = null // Quaternion this._devicePosition = null // Vector3 this._deviceWorldMatrix = null // Float32Array(16) // Currently only support full screen views this._views.push(new XRView(this._fov, this._depthNear, this._depthFar)) } _start(parameters=null){ if(this._reality._vrDisplay){ // Use ARCore if(this._vrFrameData === null){ this._vrFrameData = new VRFrameData() this._views[0]._depthNear = this._reality._vrDisplay.depthNear this._views[0]._depthFar = this._reality._vrDisplay.depthFar this._deviceOrientation = new Quaternion() this._devicePosition = new Vector3() this._deviceWorldMatrix = new Float32Array(16) } } else if(ARKitWrapper.HasARKit()){ // Use ARKit if(this._initialized === false){ this._initialized = true this._arKitWrapper = ARKitWrapper.GetOrCreate() this._arKitWrapper.addEventListener(ARKitWrapper.INIT_EVENT, this._handleARKitInit.bind(this)) this._arKitWrapper.addEventListener(ARKitWrapper.WATCH_EVENT, this._handleARKitUpdate.bind(this)) this._arKitWrapper.addEventListener(ARKitWrapper.WINDOW_RESIZE_EVENT, this._handleARKitWindowResize.bind(this)) this._arKitWrapper.addEventListener(ARKitWrapper.ON_ERROR, this._handleOnError.bind(this)) this._arKitWrapper.addEventListener(ARKitWrapper.AR_TRACKING_CHANGED, this._handleArTrackingChanged.bind(this)) this._arKitWrapper.addEventListener(ARKitWrapper.COMPUTER_VISION_DATA, this._handleComputerVisionData.bind(this)) this._reality.addEventListener(Reality.NEW_WORLD_ANCHOR, this._handleNewWorldAnchor.bind(this)) this._reality.addEventListener(Reality.UPDATE_WORLD_ANCHOR, this._handleUpdateWorldAnchor.bind(this)) this._reality.addEventListener(Reality.REMOVE_WORLD_ANCHOR, this._handleRemoveWorldAnchor.bind(this)) this._arKitWrapper.waitForInit().then(() => { // doing this in the reality // this._arKitWrapper.watch() }) } else { // doing this in the reality // this._arKitWrapper.watch() } } else { // Use device orientation if(this._initialized === false){ this._initialized = true this._deviceOrientation = new Quaternion() this._devicePosition = new Vector3() this._deviceWorldMatrix = new Float32Array(16) this._deviceOrientationTracker = new DeviceOrientationTracker() this._deviceOrientationTracker.addEventListener(DeviceOrientationTracker.ORIENTATION_UPDATE_EVENT, this._updateFromDeviceOrientationTracker.bind(this)) this._reality.addEventListener(Reality.COMPUTER_VISION_DATA, this._handleComputerVisionData.bind(this)) this._reality.addEventListener(Reality.WINDOW_RESIZE_EVENT, this._handleWindowResize.bind(this)) } } this.running = true this._reality._start(parameters) } _stop(){ // TODO figure out how to stop ARKit and ARCore so that CameraReality can still work if(this.running === false) return this.running = false this._reality._stop() } _fixFov (width, height, focalLength) { if (!this.baseLayer) { return; } var ratio = width / this.baseLayer._context.canvas.clientWidth focalLength = focalLength / ratio var x = 0.5 * this.baseLayer._context.canvas.clientWidth / focalLength var fovx = (180/Math.PI) * 2 * Math.atan(x) var y = 0.5 * this.baseLayer._context.canvas.clientHeight / focalLength var fovy = (180/Math.PI) * 2 * Math.atan(y) // var x = (Math.tan(0.5 * fov) / this.baseLayer.framebufferHeight) * this.baseLayer.framebufferWidth // var fovx = (Math.atan(x) * 2) / (Math.PI/180); this._fov = new XRFieldOfView(fovy/2, fovy/2, fovx/2, fovx/2) this._views[0].fov = this._fov } _handleWindowResize(ev){ this._fixFov(ev.detail.width, ev.detail.height, ev.detail.focalLength) } _handleNewWorldAnchor(event) { let anchorObject = event.detail let coordinateSystem = new XRCoordinateSystem(this, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = anchorObject.transform let anchor switch (anchorObject.type) { case ARKitWrapper.ANCHOR_TYPE_PLANE: anchor = new XRPlaneAnchor(coordinateSystem, anchorObject.uuid, anchorObject.plane_center, [anchorObject.plane_extent.x, anchorObject.plane_extent.z], anchorObject.plane_alignment, anchorObject.geometry) break case ARKitWrapper.ANCHOR_TYPE_FACE: anchor = new XRFaceAnchor(coordinateSystem, anchorObject.uuid, anchorObject.geometry, anchorObject.blendShapes) break case ARKitWrapper.ANCHOR_TYPE_ANCHOR: anchor = new XRAnchor(coordinateSystem, anchorObject.uuid) break case ARKitWrapper.ANCHOR_TYPE_IMAGE: anchor = new XRImageAnchor(coordinateSystem, anchorObject.uuid) break } this._reality._anchors.set(anchorObject.uuid, anchor) //console.log(`New world anchor: ${JSON.stringify(ev)}`) try { this.dispatchEvent( new CustomEvent( XRDisplay.NEW_WORLD_ANCHOR, { source: this, detail: anchor } ) ) } catch(e) { console.error('NEW_WORLD_ANCHOR event error', e) } } _handleUpdateWorldAnchor(event) { let anchorUUID = event.detail let anchor = this._reality._anchors.get(anchorUUID) if (anchor !== null) { try { this.dispatchEvent( new CustomEvent( XRDisplay.UPDATE_WORLD_ANCHOR, { source: this, detail: anchor } ) ) } catch(e) { console.error('UPDATE_WORLD_ANCHOR event error', e) } } } _handleRemoveWorldAnchor(event) { let anchorUUID = event.detail let anchor = this._reality._anchors.get(anchorUUID) if (anchor !== null) { try { this.dispatchEvent( new CustomEvent( XRDisplay.REMOVE_WORLD_ANCHOR, { source: this, detail: anchor } ) ) } catch(e) { console.error('REMOVE_WORLD_ANCHOR event error', e) } } } /* Called by a session to indicate that its baseLayer attribute has been set. FlatDisplay just adds the layer's canvas to DOM elements created by the XR polyfill */ _handleNewBaseLayer(baseLayer){ this.baseLayer = baseLayer; baseLayer._context.canvas.style.width = "100%"; baseLayer._context.canvas.style.height = "100%"; baseLayer.framebufferWidth = this._xr._sessionEls.clientWidth; baseLayer.framebufferHeight = this._xr._sessionEls.clientHeight; if (this._arKitWrapper === null) { // TODO: Need to remove this listener if a new base layer is set window.addEventListener('resize', () => { baseLayer.framebufferWidth = baseLayer._context.canvas.clientWidth; baseLayer.framebufferHeight = baseLayer._context.canvas.clientHeight; }, false) } //this._fixFov(baseLayer.framebufferWidth, baseLayer.framebufferHeight, this._reality._focalLength) this._xr._sessionEls.appendChild(baseLayer._context.canvas) } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(frame){ if(this._vrFrameData !== null){ this._updateFromVRDevice() } } _updateFromVRDevice(){ this._reality._vrDisplay.getFrameData(this._vrFrameData) this._views[0].setProjectionMatrix(this._vrFrameData.leftProjectionMatrix) this._deviceOrientation.set(...this._vrFrameData.pose.orientation) this._devicePosition.set(...this._vrFrameData.pose.position) this._devicePosition.add(0, XRViewPose.SITTING_EYE_HEIGHT, 0) MatrixMath.mat4_fromRotationTranslation(this._deviceWorldMatrix, this._deviceOrientation.toArray(), this._devicePosition.toArray()) this._views[0].setViewMatrix(this._deviceWorldMatrix) this._headPose._setPoseModelMatrix(this._deviceWorldMatrix) this._eyeLevelPose._position = this._devicePosition.toArray() } _updateFromDeviceOrientationTracker(){ // TODO set XRView's FOV this._deviceOrientationTracker.getOrientation(this._deviceOrientation) this._devicePosition.set(this._headPose.poseModelMatrix[12], this._headPose.poseModelMatrix[13], this._headPose.poseModelMatrix[14]) this._devicePosition.add(0, XRViewPose.SITTING_EYE_HEIGHT, 0) MatrixMath.mat4_fromRotationTranslation(this._deviceWorldMatrix, this._deviceOrientation.toArray(), this._devicePosition.toArray()) this._headPose._setPoseModelMatrix(this._deviceWorldMatrix) this._views[0].setViewMatrix(this._deviceWorldMatrix) this._eyeLevelPose._position = this._devicePosition.toArray() } _handleARKitUpdate(...params){ const cameraTransformMatrix = this._arKitWrapper.getData('camera_transform') if (cameraTransformMatrix) { this._headPose._setPoseModelMatrix(cameraTransformMatrix) this._views[0].setViewMatrix(cameraTransformMatrix) this._headPose._poseModelMatrix[13] += XRViewPose.SITTING_EYE_HEIGHT this._eyeLevelPose._position = this._headPose._position } else { console.log('no camera transform', this._arKitWrapper.rawARData) } const cameraProjectionMatrix = this._arKitWrapper.getData('projection_camera') if(cameraProjectionMatrix){ this._views[0].setProjectionMatrix(cameraProjectionMatrix) } else { console.log('no projection camera', this._arKitWrapper.rawARData) } } _handleARKitInit(ev){ // doing this in the reality // setTimeout(() => { // this._arKitWrapper.watch({ // location: true, // camera: true, // objects: true, // light_intensity: true, // computer_vision_data: true // }) // }, 1000) } _handleARKitWindowResize(ev){ this.baseLayer.framebufferWidth = ev.detail.width; this.baseLayer.framebufferHeight = ev.detail.height; } _handleOnError(ev){ //"domain": "error domain", //"code": 1234, //"message": "error message" // Ex: > {code: 3, message: "error.localizedDescription", domain: "error.domain"} } _handleArTrackingChanged(ev){ // ev.detail values // #define WEB_AR_TRACKING_STATE_NORMAL @"ar_tracking_normal" // #define WEB_AR_TRACKING_STATE_LIMITED @"ar_tracking_limited" // #define WEB_AR_TRACKING_STATE_LIMITED_INITIALIZING @"ar_tracking_limited_initializing" // #define WEB_AR_TRACKING_STATE_LIMITED_MOTION @"ar_tracking_limited_excessive_motion" // #define WEB_AR_TRACKING_STATE_LIMITED_FEATURES @"ar_tracking_limited_insufficient_features" // #define WEB_AR_TRACKING_STATE_NOT_AVAILABLE @"ar_tracking_not_available" // #define WEB_AR_TRACKING_STATE_RELOCALIZING @"ar_tracking_relocalizing" // the string gets sent as a single member array, pull the member out try { this.dispatchEvent( new CustomEvent( XRDisplay.TRACKING_CHANGED, { source: this, detail: ev.detail[0] } ) ); } catch (e) { console.error('trackingChanged callback error', e); } } _handleComputerVisionData(ev) { // Do whatever is needed with the image buffers here try { this.dispatchEvent( new CustomEvent( XRDisplay.VIDEO_FRAME, { source: this, detail: ev.detail } ) ) } catch(e) { console.error('computer vision callback error', e) } } _requestVideoFrame() { if(this._arKitWrapper){ // Use ARKit // call this._arKitWrapper.requestComputerVisionData(buffers) to request a new one this._arKitWrapper._requestComputerVisionData() } else { // might have webrtc video in the reality this._reality._requestVideoFrame() } } _stopVideoFrames() { if(this._arKitWrapper){ // Use ARKit // call this._arKitWrapper.requestComputerVisionData(buffers) to request a new one this._arKitWrapper._stopSendingComputerVisionData() } else { // might have webrtc video in the reality this._reality._stopVideoFrames() } } _startVideoFrames() { if(this._arKitWrapper){ // Use ARKit // call this._arKitWrapper.requestComputerVisionData(buffers) to request a new one this._arKitWrapper._startSendingComputerVisionData() } else { // might have webrtc video in the reality this._reality._startVideoFrames() } } _createSession(parameters=null){ this._start(parameters) if(ARKitWrapper.HasARKit()){ // Use ARKit return this._arKitWrapper.waitForInit().then(() => { return super._createSession(parameters) }) } else { return super._createSession(parameters) } } _supportedCreationParameters(parameters){ return parameters.type === XRSession.AUGMENTATION && parameters.exclusive === false } //attribute EventHandler ondeactivate; // FlatDisplay never deactivates } ================================================ FILE: polyfill/display/HeadMountedDisplay.js ================================================ import XRDisplay from '../XRDisplay.js' import XRView from '../XRView.js' import XRSession from '../XRSession.js' import XRViewPose from '../XRViewPose.js' import MatrixMath from '../fill/MatrixMath.js' import Quaternion from '../fill/Quaternion.js' import Vector3 from '../fill/Vector3.js' import DeviceOrientationTracker from '../fill/DeviceOrientationTracker.js' import ARKitWrapper from '../platform/ARKitWrapper.js' /* HeadMountedDisplay wraps a WebVR 1.1 display, like a Vive, Rift, or Daydream. */ export default class HeadMountedDisplay extends XRDisplay { constructor(xr, reality, vrDisplay){ super(xr, vrDisplay.displayName, vrDisplay.capabilities.hasExternalDisplay, reality) this._vrDisplay = vrDisplay this._vrFrameData = new VRFrameData() // The view projection matrices will be reset using VRFrameData during this._handleNewFrame this._leftView = new XRView(this._fov, this._depthNear, this._depthFar, XRView.LEFT) this._rightView = new XRView(this._fov, this._depthNear, this._depthFar, XRView.RIGHT) this._views = [this._leftView, this._rightView] // These will be used to set the head and eye level poses during this._handleNewFrame this._deviceOrientation = new Quaternion() this._devicePosition = new Vector3() this._deviceWorldMatrix = new Float32Array(16) } /* Called via the XRSession.requestAnimationFrame */ _requestAnimationFrame(callback){ if(this._vrDisplay.isPresenting){ this._vrDisplay.requestAnimationFrame(callback) } else { window.requestAnimationFrame(callback) } } /* Called by a session to indicate that its baseLayer attribute has been set. This is where the VRDisplay is used to create a session */ _handleNewBaseLayer(baseLayer){ this._vrDisplay.requestPresent([{ source: baseLayer._context.canvas }]).then(() => { const leftEye = this._vrDisplay.getEyeParameters('left') const rightEye = this._vrDisplay.getEyeParameters('right') baseLayer.framebufferWidth = Math.max(leftEye.renderWidth, rightEye.renderWidth) * 2 baseLayer.framebufferHeight = Math.max(leftEye.renderHeight, rightEye.renderHeight) baseLayer._context.canvas.style.position = 'absolute' baseLayer._context.canvas.style.bottom = '1px' baseLayer._context.canvas.style.right = '1px' baseLayer._context.canvas.style.width = "100%"; baseLayer._context.canvas.style.height = "100%"; document.body.appendChild(baseLayer._context.canvas) }).catch(e => { console.error('Unable to init WebVR 1.1 display', e) }) } _stop(){ // TODO figure out how to stop ARKit and ARCore so that CameraReality can still work if(this.running === false) return this.running = false this._reality._stop() } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(frame){ if(this._vrDisplay.isPresenting){ this._updateFromVRFrameData() } } _handleAfterFrame(frame){ if(this._vrDisplay.isPresenting){ this._vrDisplay.submitFrame() } } _supportedCreationParameters(parameters){ return parameters.type === XRSession.REALITY && parameters.exclusive === true } _updateFromVRFrameData(){ this._vrDisplay.getFrameData(this._vrFrameData) this._leftView.setViewMatrix(this._vrFrameData.leftViewMatrix) this._rightView.setViewMatrix(this._vrFrameData.rightViewMatrix) this._leftView.setProjectionMatrix(this._vrFrameData.leftProjectionMatrix) this._rightView.setProjectionMatrix(this._vrFrameData.rightProjectionMatrix) if(this._vrFrameData.pose){ if(this._vrFrameData.pose.orientation){ this._deviceOrientation.set(...this._vrFrameData.pose.orientation) } if(this._vrFrameData.pose.position){ this._devicePosition.set(...this._vrFrameData.pose.position) } MatrixMath.mat4_fromRotationTranslation(this._deviceWorldMatrix, this._deviceOrientation.toArray(), this._devicePosition.toArray()) if(this._vrDisplay.stageParameters && this._vrDisplay.stageParameters.sittingToStandingTransform){ MatrixMath.mat4_multiply(this._deviceWorldMatrix, this._vrDisplay.stageParameters.sittingToStandingTransform, this._deviceWorldMatrix) } this._headPose._setPoseModelMatrix(this._deviceWorldMatrix) this._eyeLevelPose.position = this._devicePosition.toArray() } } } ================================================ FILE: polyfill/fill/DeviceOrientationTracker.js ================================================ import EventHandlerBase from './EventHandlerBase.js' import Vector3 from './Vector3.js' import Quaternion from './Quaternion.js' import Euler from './Euler.js' /* DeviceOrientationTracker keeps track of device orientation, which can be queried usnig `getOrientation` */ export default class DeviceOrientationTracker extends EventHandlerBase { constructor(){ super() this._deviceOrientation = null this._windowOrientation = 0 window.addEventListener('orientationchange', () => { this._windowOrientation = window.orientation || 0 }, false) window.addEventListener('deviceorientation', ev => { this._deviceOrientation = ev try { this.dispatchEvent(new CustomEvent(DeviceOrientationTracker.ORIENTATION_UPDATE_EVENT, { deviceOrientation: this._deviceOrientation, windowOrientation: this._windowOrientation })) } catch(e) { console.error('deviceorientation event handler error', e) } }, false) } /* getOrientation sets the value of outQuaternion to the most recently tracked device orientation returns true if a device orientation has been received, otherwise false */ getOrientation(outQuaternion){ if(this._deviceOrientation === null){ outQuaternion.set(0, 0, 0, 1) return false } DeviceOrientationTracker.WORKING_EULER.set( this._deviceOrientation.beta * DeviceOrientationTracker.DEG_TO_RAD, this._deviceOrientation.alpha * DeviceOrientationTracker.DEG_TO_RAD, -1 * this._deviceOrientation.gamma * DeviceOrientationTracker.DEG_TO_RAD, 'YXZ' ) outQuaternion.setFromEuler( DeviceOrientationTracker.WORKING_EULER.x, DeviceOrientationTracker.WORKING_EULER.y, DeviceOrientationTracker.WORKING_EULER.z, DeviceOrientationTracker.WORKING_EULER.order ) outQuaternion.multiply(DeviceOrientationTracker.HALF_PI_AROUND_X) outQuaternion.multiply(DeviceOrientationTracker.WORKING_QUATERNION.setFromAxisAngle(DeviceOrientationTracker.Z_AXIS, -this._windowOrientation * DeviceOrientationTracker.DEG_TO_RAD)) return true } } DeviceOrientationTracker.ORIENTATION_UPDATE_EVENT = 'orientation-update' DeviceOrientationTracker.Z_AXIS = new Vector3(0, 0, 1) DeviceOrientationTracker.WORKING_EULER = new Euler() DeviceOrientationTracker.WORKING_QUATERNION = new Quaternion() DeviceOrientationTracker.HALF_PI_AROUND_X = new Quaternion(-Math.sqrt(0.5), 0, 0, Math.sqrt(0.5)) DeviceOrientationTracker.DEG_TO_RAD = Math.PI / 180 ================================================ FILE: polyfill/fill/Euler.js ================================================ export default class Euler { constructor(x, y, z, order=Euler.DefaultOrder){ this.x = x this.y = y this.z = z this.order = order } set(x, y, z, order=Euler.DefaultOrder){ this.x = x this.y = y this.z = z this.order = order } toArray(){ return [this.x, this.y, this.z] } } Euler.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX'] Euler.DefaultOrder = 'XYZ' ================================================ FILE: polyfill/fill/EventHandlerBase.js ================================================ /* EventHandlerBase is the base class that implements the EventHandler interface methods for dispatching and receiving events. */ export default class EventHandlerBase { constructor(){ this._listeners = new Map() // string type -> [listener, ...] } addEventListener(type, listener){ let listeners = this._listeners.get(type) if(Array.isArray(listeners) === false){ listeners = [] this._listeners.set(type, listeners) } listeners.push(listener) } removeEventListener(type, listener){ let listeners = this._listeners.get(type) if(Array.isArray(listeners) === false){ return } for(let i = 0; i < listeners.length; i++){ if(listeners[i] === listener){ listeners.splice(i, 1) return } } } dispatchEvent(event){ let listeners = this._listeners.get(event.type) if(Array.isArray(listeners) === false) return // need a copy, since removeEventListener is often called inside listeners to create one-shots and it modifies the array, causing // listeners not to be called! var array = listeners.slice( 0 ); for(let listener of array){ listener(event) } } } ================================================ FILE: polyfill/fill/MatrixMath.js ================================================ import Quaternion from './Quaternion.js' /* MatrixMath provides helper functions for populating the various matrices involved with 3D graphics. Many of the math methods were taken from the Google webvr polyfill: https://github.com/googlevr/webvr-polyfill/blob/master/src/util.js#L270 */ export default class MatrixMath { // Returns a new Float32Array that is set to the transform identity static mat4_generateIdentity(){ return new Float32Array([ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, ]) } static mat4_get_position(out, m){ out[0] = m[12] out[1] = m[13] out[2] = m[14] return out } static mat4_get_rotation(out, m){ let quat = new Quaternion() quat.setFromRotationMatrix(m) out[0] = quat.x out[1] = quat.y out[2] = quat.z out[3] = quat.w return out } static mat4_eyeView(out, poseModelMatrix, offset=new Float32Array([0, 0, 0])) { MatrixMath.mat4_translate(out, poseModelMatrix, offset) MatrixMath.mat4_invert(out, out) } static mat4_perspectiveFromFieldOfView(out, fov, near, far) { var upTan = Math.tan(fov.upDegrees * MatrixMath.PI_OVER_180) var downTan = Math.tan(fov.downDegrees * MatrixMath.PI_OVER_180) var leftTan = Math.tan(fov.leftDegrees * MatrixMath.PI_OVER_180) var rightTan = Math.tan(fov.rightDegrees * MatrixMath.PI_OVER_180) var xScale = 2.0 / (leftTan + rightTan) var yScale = 2.0 / (upTan + downTan) out[0] = xScale out[1] = 0.0 out[2] = 0.0 out[3] = 0.0 out[4] = 0.0 out[5] = yScale out[6] = 0.0 out[7] = 0.0 out[8] = -((leftTan - rightTan) * xScale * 0.5) out[9] = ((upTan - downTan) * yScale * 0.5) out[10] = far / (near - far) out[11] = -1.0 out[12] = 0.0 out[13] = 0.0 out[14] = (far * near) / (near - far) out[15] = 0.0 return out } static mat4_fromRotationTranslation(out, q=[0,0,0,1], v=[0,0,0]) { // Quaternion math var x = q[0] var y = q[1] var z = q[2] var w = q[3] var x2 = x + x var y2 = y + y var z2 = z + z var xx = x * x2 var xy = x * y2 var xz = x * z2 var yy = y * y2 var yz = y * z2 var zz = z * z2 var wx = w * x2 var wy = w * y2 var wz = w * z2 out[0] = 1 - (yy + zz) out[1] = xy + wz out[2] = xz - wy out[3] = 0 out[4] = xy - wz out[5] = 1 - (xx + zz) out[6] = yz + wx out[7] = 0 out[8] = xz + wy out[9] = yz - wx out[10] = 1 - (xx + yy) out[11] = 0 out[12] = v[0] out[13] = v[1] out[14] = v[2] out[15] = 1 return out } static mat4_translate(out, a, v) { var x = v[0] var y = v[1] var z = v[2] let a00 let a01 let a02 let a03 let a10, a11, a12, a13, a20, a21, a22, a23 if (a === out) { out[12] = a[0] * x + a[4] * y + a[8] * z + a[12] out[13] = a[1] * x + a[5] * y + a[9] * z + a[13] out[14] = a[2] * x + a[6] * y + a[10] * z + a[14] out[15] = a[3] * x + a[7] * y + a[11] * z + a[15] } else { a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3] a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7] a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11] out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03 out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13 out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23 out[12] = a00 * x + a10 * y + a20 * z + a[12] out[13] = a01 * x + a11 * y + a21 * z + a[13] out[14] = a02 * x + a12 * y + a22 * z + a[14] out[15] = a03 * x + a13 * y + a23 * z + a[15] } return out } static mat4_invert(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3], a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7], a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11], a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15] var b00 = a00 * a11 - a01 * a10 var b01 = a00 * a12 - a02 * a10 var b02 = a00 * a13 - a03 * a10 var b03 = a01 * a12 - a02 * a11 var b04 = a01 * a13 - a03 * a11 var b05 = a02 * a13 - a03 * a12 var b06 = a20 * a31 - a21 * a30 var b07 = a20 * a32 - a22 * a30 var b08 = a20 * a33 - a23 * a30 var b09 = a21 * a32 - a22 * a31 var b10 = a21 * a33 - a23 * a31 var b11 = a22 * a33 - a23 * a32 // Calculate the determinant let det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06 if (!det) { return null } det = 1.0 / det out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det return out } static mat4_multiply(out, ae, be){ var a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12] var a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13] var a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14] var a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15] var b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12] var b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13] var b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14] var b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15] out[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41 out[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42 out[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43 out[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44 out[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41 out[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42 out[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43 out[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44 out[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41 out[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42 out[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43 out[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44 out[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41 out[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42 out[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43 out[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44 return out } } MatrixMath.PI_OVER_180 = Math.PI / 180.0 ================================================ FILE: polyfill/fill/Quaternion.js ================================================ /* Quaternion wraps a vector of length 4 used as an orientation value. Taken from https://github.com/googlevr/webvr-polyfill/blob/master/src/math-util.js which took it from Three.js */ export default class Quaternion{ constructor(x=0, y=0, z=0, w=1){ this.x = x this.y = y this.z = z this.w = w } set(x, y, z, w){ this.x = x this.y = y this.z = z this.w = w return this } toArray(){ return [this.x, this.y, this.z, this.w] } copy(quaternion){ this.x = quaternion.x this.y = quaternion.y this.z = quaternion.z this.w = quaternion.w return this } setFromRotationMatrix(array16){ // Taken from https://github.com/mrdoob/three.js/blob/dev/src/math/Quaternion.js // which took it from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm // assumes the upper 3x3 of array16 (column major) is a pure rotation matrix (i.e, unscaled) let m11 = array16[0], m12 = array16[4], m13 = array16[8], m21 = array16[1], m22 = array16[5], m23 = array16[9], m31 = array16[2], m32 = array16[6], m33 = array16[10] var trace = m11 + m22 + m33 if(trace > 0){ var s = 0.5 / Math.sqrt(trace + 1.0) this.w = 0.25 / s this.x = (m32 - m23) * s this.y = (m13 - m31) * s this.z = (m21 - m12) * s } else if (m11 > m22 && m11 > m33){ var s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33) this.w = (m32 - m23) / s this.x = 0.25 * s this.y = (m12 + m21) / s this.z = (m13 + m31) / s } else if (m22 > m33){ var s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33) this.w = (m13 - m31) / s this.x = (m12 + m21) / s this.y = 0.25 * s this.z = (m23 + m32) / s } else{ var s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22) this.w = (m21 - m12) / s this.x = (m13 + m31) / s this.y = (m23 + m32) / s this.z = 0.25 * s } return this } setFromEuler(x, y, z, order='XYZ'){ // http://www.mathworks.com/matlabcentral/fileexchange/ // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ // content/SpinCalc.m var cos = Math.cos var sin = Math.sin var c1 = cos(x / 2) var c2 = cos(y / 2) var c3 = cos(z / 2) var s1 = sin(x / 2) var s2 = sin(y / 2) var s3 = sin(z / 2) if (order === 'XYZ'){ this.x = s1 * c2 * c3 + c1 * s2 * s3 this.y = c1 * s2 * c3 - s1 * c2 * s3 this.z = c1 * c2 * s3 + s1 * s2 * c3 this.w = c1 * c2 * c3 - s1 * s2 * s3 } else if (order === 'YXZ'){ this.x = s1 * c2 * c3 + c1 * s2 * s3 this.y = c1 * s2 * c3 - s1 * c2 * s3 this.z = c1 * c2 * s3 - s1 * s2 * c3 this.w = c1 * c2 * c3 + s1 * s2 * s3 } else if (order === 'ZXY'){ this.x = s1 * c2 * c3 - c1 * s2 * s3 this.y = c1 * s2 * c3 + s1 * c2 * s3 this.z = c1 * c2 * s3 + s1 * s2 * c3 this.w = c1 * c2 * c3 - s1 * s2 * s3 } else if (order === 'ZYX'){ this.x = s1 * c2 * c3 - c1 * s2 * s3 this.y = c1 * s2 * c3 + s1 * c2 * s3 this.z = c1 * c2 * s3 - s1 * s2 * c3 this.w = c1 * c2 * c3 + s1 * s2 * s3 } else if (order === 'YZX'){ this.x = s1 * c2 * c3 + c1 * s2 * s3 this.y = c1 * s2 * c3 + s1 * c2 * s3 this.z = c1 * c2 * s3 - s1 * s2 * c3 this.w = c1 * c2 * c3 - s1 * s2 * s3 } else if (order === 'XZY'){ this.x = s1 * c2 * c3 - c1 * s2 * s3 this.y = c1 * s2 * c3 - s1 * c2 * s3 this.z = c1 * c2 * s3 + s1 * s2 * c3 this.w = c1 * c2 * c3 + s1 * s2 * s3 } } setFromAxisAngle(axis, angle){ // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm // assumes axis is normalized var halfAngle = angle / 2 var s = Math.sin(halfAngle) this.x = axis.x * s this.y = axis.y * s this.z = axis.z * s this.w = Math.cos(halfAngle) return this } multiply(q){ return this.multiplyQuaternions(this, q) } multiplyQuaternions(a, b){ // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm var qax = a.x, qay = a.y, qaz = a.z, qaw = a.w var qbx = b.x, qby = b.y, qbz = b.z, qbw = b.w this.x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby this.y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz this.z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx this.w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz return this } inverse(){ this.x *= -1 this.y *= -1 this.z *= -1 this.normalize() return this } normalize(){ let l = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w) if (l === 0){ this.x = 0 this.y = 0 this.z = 0 this.w = 1 } else{ l = 1 / l this.x = this.x * l this.y = this.y * l this.z = this.z * l this.w = this.w * l } return this } slerp(qb, t){ // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ if(t === 0) return this if(t === 1) return this.copy(qb) var x = this.x, y = this.y, z = this.z, w = this.w let cosHalfTheta = w * qb.w + x * qb.x + y * qb.y + z * qb.z if (cosHalfTheta < 0){ this.w = - qb.w this.x = - qb.x this.y = - qb.y this.z = - qb.z cosHalfTheta = - cosHalfTheta } else{ this.copy(qb) } if (cosHalfTheta >= 1.0){ this.w = w this.x = x this.y = y this.z = z return this } var halfTheta = Math.acos(cosHalfTheta) var sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta) if (Math.abs(sinHalfTheta) < 0.001){ this.w = 0.5 * (w + this.w) this.x = 0.5 * (x + this.x) this.y = 0.5 * (y + this.y) this.z = 0.5 * (z + this.z) return this } var ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta var ratioB = Math.sin(t * halfTheta) / sinHalfTheta this.w = (w * ratioA + this.w * ratioB) this.x = (x * ratioA + this.x * ratioB) this.y = (y * ratioA + this.y * ratioB) this.z = (z * ratioA + this.z * ratioB) return this } } ================================================ FILE: polyfill/fill/Vector3.js ================================================ /* Vector3 wraps a vector of length 3, often used as a position in 3D space. Taken from https://github.com/googlevr/webvr-polyfill/blob/master/src/math-util.js which took it from Three.js */ export default class Vector3 { constructor(x=0, y=0, z=0){ this.x = x this.y = y this.z = z } set(x, y, z){ this.x = x this.y = y this.z = z return this } copy(v){ this.x = v.x this.y = v.y this.z = v.z return this } toArray(){ return [this.x, this.y, this.z] } length(){ return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z) } add(x, y, z){ this.x += x this.y += y this.z += z } normalize(){ var scalar = this.length() if (scalar !== 0){ this.multiplyScalar(1 / scalar) } else { this.x = 0 this.y = 0 this.z = 0 } return this } multiplyScalar(scalar){ this.x *= scalar this.y *= scalar this.z *= scalar } applyQuaternion(q){ var x = this.x var y = this.y var z = this.z var qx = q.x var qy = q.y var qz = q.z var qw = q.w // calculate quat * vector var ix = qw * x + qy * z - qz * y var iy = qw * y + qz * x - qx * z var iz = qw * z + qx * y - qy * x var iw = - qx * x - qy * y - qz * z // calculate result * inverse quat this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx return this } applyMatrix4(matrix){ var x = this.x var y = this.y var z = this.z var w = 1 / (matrix[3] * x + matrix[7] * y + matrix[11] * z + matrix[15]) this.x = (matrix[0] * x + matrix[4] * y + matrix[8] * z + matrix[12]) * w this.y = (matrix[1] * x + matrix[5] * y + matrix[9] * z + matrix[13]) * w this.z = (matrix[2] * x + matrix[6] * y + matrix[10] * z + matrix[14]) * w return this } dot(v){ return this.x * v.x + this.y * v.y + this.z * v.z } crossVectors(a, b){ var ax = a.x, ay = a.y, az = a.z var bx = b.x, by = b.y, bz = b.z this.x = ay * bz - az * by this.y = az * bx - ax * bz this.z = ax * by - ay * bx return this } } ================================================ FILE: polyfill/fill/base64-binary.js ================================================ /* Copyright (c) 2011, Daniel Guerrero All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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 COPYRIGHT HOLDERS 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 DANIEL GUERRERO 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. */ /** * Uses the new array typed in javascript to binary base64 encode/decode * at the moment just decodes a binary base64 encoded * into either an ArrayBuffer (decodeArrayBuffer) * or into an Uint8Array (decode) * * References: * https://developer.mozilla.org/en/JavaScript_typed_arrays/ArrayBuffer * https://developer.mozilla.org/en/JavaScript_typed_arrays/Uint8Array */ export default class base64 { static decodeLength(input) { return (input.length/4) * 3; } /* will return a Uint8Array type */ static decodeArrayBuffer(input, buffer) { var bytes = (input.length/4) * 3; if (!buffer || buffer.byteLength != bytes) { // replace the buffer with a new, appropriately sized one buffer = new ArrayBuffer(bytes); } this.decode(input, buffer); return buffer; } static removePaddingChars(input){ var lkey = this._keyStr.indexOf(input.charAt(input.length - 1)); if(lkey == 64){ return input.substring(0,input.length - 1); } return input; } static decode(input, arrayBuffer) { //get last chars to see if are valid input = this.removePaddingChars(input); input = this.removePaddingChars(input); var bytes = parseInt((input.length / 4) * 3, 10); var uarray; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; var j = 0; if (arrayBuffer) uarray = new Uint8Array(arrayBuffer); else uarray = new Uint8Array(bytes); input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); for (i=0; i> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; uarray[i] = chr1; if (enc3 != 64) uarray[i+1] = chr2; if (enc4 != 64) uarray[i+2] = chr3; } return uarray; } // pass in a typedArray, ArrayBuffer, or ImageData object static encode(buffer) { var base64 = '' var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' var bytes = buffer; // assume it's a typedArrayBuffer if (buffer instanceof ArrayBuffer) { bytes = new Uint8Array(arrayBuffer) } else if (buffer instanceof ImageData) { bytes = buffer.data } var byteLength = buffer.length var byteRemainder = byteLength % 3 var mainLength = byteLength - byteRemainder var a, b, c, d var chunk // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2] // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18 // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12 // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6 // 4032 = (2^6 - 1) << 6 d = chunk & 63 // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d] } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2 // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4 // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '==' } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1] a = (chunk & 64512) >> 10 // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4 // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '=' } return base64 } } base64._keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ================================================ FILE: polyfill/fill/gl-matrix/common.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /** * Common utilities * @module glMatrix */ // Configuration Constants export const EPSILON = 0.000001; export let ARRAY_TYPE = (typeof Float32Array !== 'undefined') ? Float32Array : Array; export const RANDOM = Math.random; /** * Sets the type of array used when creating new vectors and matrices * * @param {Type} type Array type, such as Float32Array or Array */ export function setMatrixArrayType(type) { ARRAY_TYPE = type; } const degree = Math.PI / 180; /** * Convert Degree To Radian * * @param {Number} a Angle in Degrees */ export function toRadian(a) { return a * degree; } /** * Tests whether or not the arguments have approximately the same value, within an absolute * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less * than or equal to 1.0, and a relative tolerance is used for larger values) * * @param {Number} a The first number to test. * @param {Number} b The second number to test. * @returns {Boolean} True if the numbers are approximately equal, false otherwise. */ export function equals(a, b) { return Math.abs(a - b) <= EPSILON*Math.max(1.0, Math.abs(a), Math.abs(b)); } ================================================ FILE: polyfill/fill/gl-matrix/mat2.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js" /** * 2x2 Matrix * @module mat2 */ /** * Creates a new identity mat2 * * @returns {mat2} a new 2x2 matrix */ export function create() { let out = new glMatrix.ARRAY_TYPE(4); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Creates a new mat2 initialized with values from an existing matrix * * @param {mat2} a matrix to clone * @returns {mat2} a new 2x2 matrix */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(4); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Copy the values from one mat2 to another * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Set a mat2 to the identity matrix * * @param {mat2} out the receiving matrix * @returns {mat2} out */ export function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Create a new mat2 with the given values * * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m10 Component in column 1, row 0 position (index 2) * @param {Number} m11 Component in column 1, row 1 position (index 3) * @returns {mat2} out A new 2x2 matrix */ export function fromValues(m00, m01, m10, m11) { let out = new glMatrix.ARRAY_TYPE(4); out[0] = m00; out[1] = m01; out[2] = m10; out[3] = m11; return out; } /** * Set the components of a mat2 to the given values * * @param {mat2} out the receiving matrix * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m10 Component in column 1, row 0 position (index 2) * @param {Number} m11 Component in column 1, row 1 position (index 3) * @returns {mat2} out */ export function set(out, m00, m01, m10, m11) { out[0] = m00; out[1] = m01; out[2] = m10; out[3] = m11; return out; } /** * Transpose the values of a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ export function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache // some values if (out === a) { let a1 = a[1]; out[1] = a[2]; out[2] = a1; } else { out[0] = a[0]; out[1] = a[2]; out[2] = a[1]; out[3] = a[3]; } return out; } /** * Inverts a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ export function invert(out, a) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; // Calculate the determinant let det = a0 * a3 - a2 * a1; if (!det) { return null; } det = 1.0 / det; out[0] = a3 * det; out[1] = -a1 * det; out[2] = -a2 * det; out[3] = a0 * det; return out; } /** * Calculates the adjugate of a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ export function adjoint(out, a) { // Caching this value is nessecary if out == a let a0 = a[0]; out[0] = a[3]; out[1] = -a[1]; out[2] = -a[2]; out[3] = a0; return out; } /** * Calculates the determinant of a mat2 * * @param {mat2} a the source matrix * @returns {Number} determinant of a */ export function determinant(a) { return a[0] * a[3] - a[2] * a[1]; } /** * Multiplies two mat2's * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ export function multiply(out, a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; out[0] = a0 * b0 + a2 * b1; out[1] = a1 * b0 + a3 * b1; out[2] = a0 * b2 + a2 * b3; out[3] = a1 * b2 + a3 * b3; return out; } /** * Rotates a mat2 by the given angle * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat2} out */ export function rotate(out, a, rad) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let s = Math.sin(rad); let c = Math.cos(rad); out[0] = a0 * c + a2 * s; out[1] = a1 * c + a3 * s; out[2] = a0 * -s + a2 * c; out[3] = a1 * -s + a3 * c; return out; } /** * Scales the mat2 by the dimensions in the given vec2 * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to rotate * @param {vec2} v the vec2 to scale the matrix by * @returns {mat2} out **/ export function scale(out, a, v) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let v0 = v[0], v1 = v[1]; out[0] = a0 * v0; out[1] = a1 * v0; out[2] = a2 * v1; out[3] = a3 * v1; return out; } /** * Creates a matrix from a given angle * This is equivalent to (but much faster than): * * mat2.identity(dest); * mat2.rotate(dest, dest, rad); * * @param {mat2} out mat2 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat2} out */ export function fromRotation(out, rad) { let s = Math.sin(rad); let c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = -s; out[3] = c; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat2.identity(dest); * mat2.scale(dest, dest, vec); * * @param {mat2} out mat2 receiving operation result * @param {vec2} v Scaling vector * @returns {mat2} out */ export function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = v[1]; return out; } /** * Returns a string representation of a mat2 * * @param {mat2} a matrix to represent as a string * @returns {String} string representation of the matrix */ export function str(a) { return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Returns Frobenius norm of a mat2 * * @param {mat2} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ export function frob(a) { return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2))) } /** * Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix * @param {mat2} L the lower triangular matrix * @param {mat2} D the diagonal matrix * @param {mat2} U the upper triangular matrix * @param {mat2} a the input matrix to factorize */ export function LDU(L, D, U, a) { L[2] = a[2]/a[0]; U[0] = a[0]; U[1] = a[1]; U[3] = a[3] - L[2] * U[1]; return [L, D, U]; } /** * Adds two mat2's * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat2} a The first matrix. * @param {mat2} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat2} a The first matrix. * @param {mat2} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a3), Math.abs(b3))); } /** * Multiply each element of the matrix by a scalar. * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat2} out */ export function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; return out; } /** * Adds two mat2's after multiplying each element of the second operand by a scalar value. * * @param {mat2} out the receiving vector * @param {mat2} a the first operand * @param {mat2} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat2} out */ export function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); out[3] = a[3] + (b[3] * scale); return out; } /** * Alias for {@link mat2.multiply} * @function */ export const mul = multiply; /** * Alias for {@link mat2.subtract} * @function */ export const sub = subtract; ================================================ FILE: polyfill/fill/gl-matrix/mat2d.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 2x3 Matrix * @module mat2d * * @description * A mat2d contains six elements defined as: *
 * [a, c, tx,
 *  b, d, ty]
 * 
* This is a short form for the 3x3 matrix: *
 * [a, c, tx,
 *  b, d, ty,
 *  0, 0, 1]
 * 
* The last row is ignored so the array is shorter and operations are faster. */ /** * Creates a new identity mat2d * * @returns {mat2d} a new 2x3 matrix */ export function create() { let out = new glMatrix.ARRAY_TYPE(6); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = 0; out[5] = 0; return out; } /** * Creates a new mat2d initialized with values from an existing matrix * * @param {mat2d} a matrix to clone * @returns {mat2d} a new 2x3 matrix */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(6); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; return out; } /** * Copy the values from one mat2d to another * * @param {mat2d} out the receiving matrix * @param {mat2d} a the source matrix * @returns {mat2d} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; return out; } /** * Set a mat2d to the identity matrix * * @param {mat2d} out the receiving matrix * @returns {mat2d} out */ export function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = 0; out[5] = 0; return out; } /** * Create a new mat2d with the given values * * @param {Number} a Component A (index 0) * @param {Number} b Component B (index 1) * @param {Number} c Component C (index 2) * @param {Number} d Component D (index 3) * @param {Number} tx Component TX (index 4) * @param {Number} ty Component TY (index 5) * @returns {mat2d} A new mat2d */ export function fromValues(a, b, c, d, tx, ty) { let out = new glMatrix.ARRAY_TYPE(6); out[0] = a; out[1] = b; out[2] = c; out[3] = d; out[4] = tx; out[5] = ty; return out; } /** * Set the components of a mat2d to the given values * * @param {mat2d} out the receiving matrix * @param {Number} a Component A (index 0) * @param {Number} b Component B (index 1) * @param {Number} c Component C (index 2) * @param {Number} d Component D (index 3) * @param {Number} tx Component TX (index 4) * @param {Number} ty Component TY (index 5) * @returns {mat2d} out */ export function set(out, a, b, c, d, tx, ty) { out[0] = a; out[1] = b; out[2] = c; out[3] = d; out[4] = tx; out[5] = ty; return out; } /** * Inverts a mat2d * * @param {mat2d} out the receiving matrix * @param {mat2d} a the source matrix * @returns {mat2d} out */ export function invert(out, a) { let aa = a[0], ab = a[1], ac = a[2], ad = a[3]; let atx = a[4], aty = a[5]; let det = aa * ad - ab * ac; if(!det){ return null; } det = 1.0 / det; out[0] = ad * det; out[1] = -ab * det; out[2] = -ac * det; out[3] = aa * det; out[4] = (ac * aty - ad * atx) * det; out[5] = (ab * atx - aa * aty) * det; return out; } /** * Calculates the determinant of a mat2d * * @param {mat2d} a the source matrix * @returns {Number} determinant of a */ export function determinant(a) { return a[0] * a[3] - a[1] * a[2]; } /** * Multiplies two mat2d's * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ export function multiply(out, a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5]; out[0] = a0 * b0 + a2 * b1; out[1] = a1 * b0 + a3 * b1; out[2] = a0 * b2 + a2 * b3; out[3] = a1 * b2 + a3 * b3; out[4] = a0 * b4 + a2 * b5 + a4; out[5] = a1 * b4 + a3 * b5 + a5; return out; } /** * Rotates a mat2d by the given angle * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat2d} out */ export function rotate(out, a, rad) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; let s = Math.sin(rad); let c = Math.cos(rad); out[0] = a0 * c + a2 * s; out[1] = a1 * c + a3 * s; out[2] = a0 * -s + a2 * c; out[3] = a1 * -s + a3 * c; out[4] = a4; out[5] = a5; return out; } /** * Scales the mat2d by the dimensions in the given vec2 * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to translate * @param {vec2} v the vec2 to scale the matrix by * @returns {mat2d} out **/ export function scale(out, a, v) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; let v0 = v[0], v1 = v[1]; out[0] = a0 * v0; out[1] = a1 * v0; out[2] = a2 * v1; out[3] = a3 * v1; out[4] = a4; out[5] = a5; return out; } /** * Translates the mat2d by the dimensions in the given vec2 * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to translate * @param {vec2} v the vec2 to translate the matrix by * @returns {mat2d} out **/ export function translate(out, a, v) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; let v0 = v[0], v1 = v[1]; out[0] = a0; out[1] = a1; out[2] = a2; out[3] = a3; out[4] = a0 * v0 + a2 * v1 + a4; out[5] = a1 * v0 + a3 * v1 + a5; return out; } /** * Creates a matrix from a given angle * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.rotate(dest, dest, rad); * * @param {mat2d} out mat2d receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat2d} out */ export function fromRotation(out, rad) { let s = Math.sin(rad), c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = -s; out[3] = c; out[4] = 0; out[5] = 0; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.scale(dest, dest, vec); * * @param {mat2d} out mat2d receiving operation result * @param {vec2} v Scaling vector * @returns {mat2d} out */ export function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = v[1]; out[4] = 0; out[5] = 0; return out; } /** * Creates a matrix from a vector translation * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.translate(dest, dest, vec); * * @param {mat2d} out mat2d receiving operation result * @param {vec2} v Translation vector * @returns {mat2d} out */ export function fromTranslation(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = v[0]; out[5] = v[1]; return out; } /** * Returns a string representation of a mat2d * * @param {mat2d} a matrix to represent as a string * @returns {String} string representation of the matrix */ export function str(a) { return 'mat2d(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ')'; } /** * Returns Frobenius norm of a mat2d * * @param {mat2d} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ export function frob(a) { return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + 1)) } /** * Adds two mat2d's * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; return out; } /** * Multiply each element of the matrix by a scalar. * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat2d} out */ export function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; return out; } /** * Adds two mat2d's after multiplying each element of the second operand by a scalar value. * * @param {mat2d} out the receiving vector * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat2d} out */ export function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); out[3] = a[3] + (b[3] * scale); out[4] = a[4] + (b[4] * scale); out[5] = a[5] + (b[5] * scale); return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat2d} a The first matrix. * @param {mat2d} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat2d} a The first matrix. * @param {mat2d} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a5), Math.abs(b5))); } /** * Alias for {@link mat2d.multiply} * @function */ export const mul = multiply; /** * Alias for {@link mat2d.subtract} * @function */ export const sub = subtract; ================================================ FILE: polyfill/fill/gl-matrix/mat3.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 3x3 Matrix * @module mat3 */ /** * Creates a new identity mat3 * * @returns {mat3} a new 3x3 matrix */ export function create() { let out = new glMatrix.ARRAY_TYPE(9); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 1; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } /** * Copies the upper-left 3x3 values into the given mat3. * * @param {mat3} out the receiving 3x3 matrix * @param {mat4} a the source 4x4 matrix * @returns {mat3} out */ export function fromMat4(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[4]; out[4] = a[5]; out[5] = a[6]; out[6] = a[8]; out[7] = a[9]; out[8] = a[10]; return out; } /** * Creates a new mat3 initialized with values from an existing matrix * * @param {mat3} a matrix to clone * @returns {mat3} a new 3x3 matrix */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(9); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } /** * Copy the values from one mat3 to another * * @param {mat3} out the receiving matrix * @param {mat3} a the source matrix * @returns {mat3} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } /** * Create a new mat3 with the given values * * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m10 Component in column 1, row 0 position (index 3) * @param {Number} m11 Component in column 1, row 1 position (index 4) * @param {Number} m12 Component in column 1, row 2 position (index 5) * @param {Number} m20 Component in column 2, row 0 position (index 6) * @param {Number} m21 Component in column 2, row 1 position (index 7) * @param {Number} m22 Component in column 2, row 2 position (index 8) * @returns {mat3} A new mat3 */ export function fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) { let out = new glMatrix.ARRAY_TYPE(9); out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m10; out[4] = m11; out[5] = m12; out[6] = m20; out[7] = m21; out[8] = m22; return out; } /** * Set the components of a mat3 to the given values * * @param {mat3} out the receiving matrix * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m10 Component in column 1, row 0 position (index 3) * @param {Number} m11 Component in column 1, row 1 position (index 4) * @param {Number} m12 Component in column 1, row 2 position (index 5) * @param {Number} m20 Component in column 2, row 0 position (index 6) * @param {Number} m21 Component in column 2, row 1 position (index 7) * @param {Number} m22 Component in column 2, row 2 position (index 8) * @returns {mat3} out */ export function set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) { out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m10; out[4] = m11; out[5] = m12; out[6] = m20; out[7] = m21; out[8] = m22; return out; } /** * Set a mat3 to the identity matrix * * @param {mat3} out the receiving matrix * @returns {mat3} out */ export function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 1; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } /** * Transpose the values of a mat3 * * @param {mat3} out the receiving matrix * @param {mat3} a the source matrix * @returns {mat3} out */ export function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache some values if (out === a) { let a01 = a[1], a02 = a[2], a12 = a[5]; out[1] = a[3]; out[2] = a[6]; out[3] = a01; out[5] = a[7]; out[6] = a02; out[7] = a12; } else { out[0] = a[0]; out[1] = a[3]; out[2] = a[6]; out[3] = a[1]; out[4] = a[4]; out[5] = a[7]; out[6] = a[2]; out[7] = a[5]; out[8] = a[8]; } return out; } /** * Inverts a mat3 * * @param {mat3} out the receiving matrix * @param {mat3} a the source matrix * @returns {mat3} out */ export function invert(out, a) { let a00 = a[0], a01 = a[1], a02 = a[2]; let a10 = a[3], a11 = a[4], a12 = a[5]; let a20 = a[6], a21 = a[7], a22 = a[8]; let b01 = a22 * a11 - a12 * a21; let b11 = -a22 * a10 + a12 * a20; let b21 = a21 * a10 - a11 * a20; // Calculate the determinant let det = a00 * b01 + a01 * b11 + a02 * b21; if (!det) { return null; } det = 1.0 / det; out[0] = b01 * det; out[1] = (-a22 * a01 + a02 * a21) * det; out[2] = (a12 * a01 - a02 * a11) * det; out[3] = b11 * det; out[4] = (a22 * a00 - a02 * a20) * det; out[5] = (-a12 * a00 + a02 * a10) * det; out[6] = b21 * det; out[7] = (-a21 * a00 + a01 * a20) * det; out[8] = (a11 * a00 - a01 * a10) * det; return out; } /** * Calculates the adjugate of a mat3 * * @param {mat3} out the receiving matrix * @param {mat3} a the source matrix * @returns {mat3} out */ export function adjoint(out, a) { let a00 = a[0], a01 = a[1], a02 = a[2]; let a10 = a[3], a11 = a[4], a12 = a[5]; let a20 = a[6], a21 = a[7], a22 = a[8]; out[0] = (a11 * a22 - a12 * a21); out[1] = (a02 * a21 - a01 * a22); out[2] = (a01 * a12 - a02 * a11); out[3] = (a12 * a20 - a10 * a22); out[4] = (a00 * a22 - a02 * a20); out[5] = (a02 * a10 - a00 * a12); out[6] = (a10 * a21 - a11 * a20); out[7] = (a01 * a20 - a00 * a21); out[8] = (a00 * a11 - a01 * a10); return out; } /** * Calculates the determinant of a mat3 * * @param {mat3} a the source matrix * @returns {Number} determinant of a */ export function determinant(a) { let a00 = a[0], a01 = a[1], a02 = a[2]; let a10 = a[3], a11 = a[4], a12 = a[5]; let a20 = a[6], a21 = a[7], a22 = a[8]; return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20); } /** * Multiplies two mat3's * * @param {mat3} out the receiving matrix * @param {mat3} a the first operand * @param {mat3} b the second operand * @returns {mat3} out */ export function multiply(out, a, b) { let a00 = a[0], a01 = a[1], a02 = a[2]; let a10 = a[3], a11 = a[4], a12 = a[5]; let a20 = a[6], a21 = a[7], a22 = a[8]; let b00 = b[0], b01 = b[1], b02 = b[2]; let b10 = b[3], b11 = b[4], b12 = b[5]; let b20 = b[6], b21 = b[7], b22 = b[8]; out[0] = b00 * a00 + b01 * a10 + b02 * a20; out[1] = b00 * a01 + b01 * a11 + b02 * a21; out[2] = b00 * a02 + b01 * a12 + b02 * a22; out[3] = b10 * a00 + b11 * a10 + b12 * a20; out[4] = b10 * a01 + b11 * a11 + b12 * a21; out[5] = b10 * a02 + b11 * a12 + b12 * a22; out[6] = b20 * a00 + b21 * a10 + b22 * a20; out[7] = b20 * a01 + b21 * a11 + b22 * a21; out[8] = b20 * a02 + b21 * a12 + b22 * a22; return out; } /** * Translate a mat3 by the given vector * * @param {mat3} out the receiving matrix * @param {mat3} a the matrix to translate * @param {vec2} v vector to translate by * @returns {mat3} out */ export function translate(out, a, v) { let a00 = a[0], a01 = a[1], a02 = a[2], a10 = a[3], a11 = a[4], a12 = a[5], a20 = a[6], a21 = a[7], a22 = a[8], x = v[0], y = v[1]; out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a10; out[4] = a11; out[5] = a12; out[6] = x * a00 + y * a10 + a20; out[7] = x * a01 + y * a11 + a21; out[8] = x * a02 + y * a12 + a22; return out; } /** * Rotates a mat3 by the given angle * * @param {mat3} out the receiving matrix * @param {mat3} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat3} out */ export function rotate(out, a, rad) { let a00 = a[0], a01 = a[1], a02 = a[2], a10 = a[3], a11 = a[4], a12 = a[5], a20 = a[6], a21 = a[7], a22 = a[8], s = Math.sin(rad), c = Math.cos(rad); out[0] = c * a00 + s * a10; out[1] = c * a01 + s * a11; out[2] = c * a02 + s * a12; out[3] = c * a10 - s * a00; out[4] = c * a11 - s * a01; out[5] = c * a12 - s * a02; out[6] = a20; out[7] = a21; out[8] = a22; return out; }; /** * Scales the mat3 by the dimensions in the given vec2 * * @param {mat3} out the receiving matrix * @param {mat3} a the matrix to rotate * @param {vec2} v the vec2 to scale the matrix by * @returns {mat3} out **/ export function scale(out, a, v) { let x = v[0], y = v[1]; out[0] = x * a[0]; out[1] = x * a[1]; out[2] = x * a[2]; out[3] = y * a[3]; out[4] = y * a[4]; out[5] = y * a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; return out; } /** * Creates a matrix from a vector translation * This is equivalent to (but much faster than): * * mat3.identity(dest); * mat3.translate(dest, dest, vec); * * @param {mat3} out mat3 receiving operation result * @param {vec2} v Translation vector * @returns {mat3} out */ export function fromTranslation(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 1; out[5] = 0; out[6] = v[0]; out[7] = v[1]; out[8] = 1; return out; } /** * Creates a matrix from a given angle * This is equivalent to (but much faster than): * * mat3.identity(dest); * mat3.rotate(dest, dest, rad); * * @param {mat3} out mat3 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat3} out */ export function fromRotation(out, rad) { let s = Math.sin(rad), c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = 0; out[3] = -s; out[4] = c; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat3.identity(dest); * mat3.scale(dest, dest, vec); * * @param {mat3} out mat3 receiving operation result * @param {vec2} v Scaling vector * @returns {mat3} out */ export function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = v[1]; out[5] = 0; out[6] = 0; out[7] = 0; out[8] = 1; return out; } /** * Copies the values from a mat2d into a mat3 * * @param {mat3} out the receiving matrix * @param {mat2d} a the matrix to copy * @returns {mat3} out **/ export function fromMat2d(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = 0; out[3] = a[2]; out[4] = a[3]; out[5] = 0; out[6] = a[4]; out[7] = a[5]; out[8] = 1; return out; } /** * Calculates a 3x3 matrix from the given quaternion * * @param {mat3} out mat3 receiving operation result * @param {quat} q Quaternion to create matrix from * * @returns {mat3} out */ export function fromQuat(out, q) { let x = q[0], y = q[1], z = q[2], w = q[3]; let x2 = x + x; let y2 = y + y; let z2 = z + z; let xx = x * x2; let yx = y * x2; let yy = y * y2; let zx = z * x2; let zy = z * y2; let zz = z * z2; let wx = w * x2; let wy = w * y2; let wz = w * z2; out[0] = 1 - yy - zz; out[3] = yx - wz; out[6] = zx + wy; out[1] = yx + wz; out[4] = 1 - xx - zz; out[7] = zy - wx; out[2] = zx - wy; out[5] = zy + wx; out[8] = 1 - xx - yy; return out; } /** * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix * * @param {mat3} out mat3 receiving operation result * @param {mat4} a Mat4 to derive the normal matrix from * * @returns {mat3} out */ export function normalFromMat4(out, a) { let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; let b00 = a00 * a11 - a01 * a10; let b01 = a00 * a12 - a02 * a10; let b02 = a00 * a13 - a03 * a10; let b03 = a01 * a12 - a02 * a11; let b04 = a01 * a13 - a03 * a11; let b05 = a02 * a13 - a03 * a12; let b06 = a20 * a31 - a21 * a30; let b07 = a20 * a32 - a22 * a30; let b08 = a20 * a33 - a23 * a30; let b09 = a21 * a32 - a22 * a31; let b10 = a21 * a33 - a23 * a31; let b11 = a22 * a33 - a23 * a32; // Calculate the determinant let det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; if (!det) { return null; } det = 1.0 / det; out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det; out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det; out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det; out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det; out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det; out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det; out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det; out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det; return out; } /** * Generates a 2D projection matrix with the given bounds * * @param {mat3} out mat3 frustum matrix will be written into * @param {number} width Width of your gl context * @param {number} height Height of gl context * @returns {mat3} out */ export function projection(out, width, height) { out[0] = 2 / width; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = -2 / height; out[5] = 0; out[6] = -1; out[7] = 1; out[8] = 1; return out; } /** * Returns a string representation of a mat3 * * @param {mat3} a matrix to represent as a string * @returns {String} string representation of the matrix */ export function str(a) { return 'mat3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + a[8] + ')'; } /** * Returns Frobenius norm of a mat3 * * @param {mat3} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ export function frob(a) { return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2))) } /** * Adds two mat3's * * @param {mat3} out the receiving matrix * @param {mat3} a the first operand * @param {mat3} b the second operand * @returns {mat3} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; out[6] = a[6] + b[6]; out[7] = a[7] + b[7]; out[8] = a[8] + b[8]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat3} out the receiving matrix * @param {mat3} a the first operand * @param {mat3} b the second operand * @returns {mat3} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; out[6] = a[6] - b[6]; out[7] = a[7] - b[7]; out[8] = a[8] - b[8]; return out; } /** * Multiply each element of the matrix by a scalar. * * @param {mat3} out the receiving matrix * @param {mat3} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat3} out */ export function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; out[6] = a[6] * b; out[7] = a[7] * b; out[8] = a[8] * b; return out; } /** * Adds two mat3's after multiplying each element of the second operand by a scalar value. * * @param {mat3} out the receiving vector * @param {mat3} a the first operand * @param {mat3} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat3} out */ export function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); out[3] = a[3] + (b[3] * scale); out[4] = a[4] + (b[4] * scale); out[5] = a[5] + (b[5] * scale); out[6] = a[6] + (b[6] * scale); out[7] = a[7] + (b[7] * scale); out[8] = a[8] + (b[8] * scale); return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat3} a The first matrix. * @param {mat3} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat3} a The first matrix. * @param {mat3} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7], a8 = a[8]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a8), Math.abs(b8))); } /** * Alias for {@link mat3.multiply} * @function */ export const mul = multiply; /** * Alias for {@link mat3.subtract} * @function */ export const sub = subtract; ================================================ FILE: polyfill/fill/gl-matrix/mat4.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 4x4 Matrix * @module mat4 */ /** * Creates a new identity mat4 * * @returns {mat4} a new 4x4 matrix */ export function create() { let out = new glMatrix.ARRAY_TYPE(16); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a new mat4 initialized with values from an existing matrix * * @param {mat4} a matrix to clone * @returns {mat4} a new 4x4 matrix */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(16); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Copy the values from one mat4 to another * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Create a new mat4 with the given values * * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m03 Component in column 0, row 3 position (index 3) * @param {Number} m10 Component in column 1, row 0 position (index 4) * @param {Number} m11 Component in column 1, row 1 position (index 5) * @param {Number} m12 Component in column 1, row 2 position (index 6) * @param {Number} m13 Component in column 1, row 3 position (index 7) * @param {Number} m20 Component in column 2, row 0 position (index 8) * @param {Number} m21 Component in column 2, row 1 position (index 9) * @param {Number} m22 Component in column 2, row 2 position (index 10) * @param {Number} m23 Component in column 2, row 3 position (index 11) * @param {Number} m30 Component in column 3, row 0 position (index 12) * @param {Number} m31 Component in column 3, row 1 position (index 13) * @param {Number} m32 Component in column 3, row 2 position (index 14) * @param {Number} m33 Component in column 3, row 3 position (index 15) * @returns {mat4} A new mat4 */ export function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) { let out = new glMatrix.ARRAY_TYPE(16); out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m03; out[4] = m10; out[5] = m11; out[6] = m12; out[7] = m13; out[8] = m20; out[9] = m21; out[10] = m22; out[11] = m23; out[12] = m30; out[13] = m31; out[14] = m32; out[15] = m33; return out; } /** * Set the components of a mat4 to the given values * * @param {mat4} out the receiving matrix * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m03 Component in column 0, row 3 position (index 3) * @param {Number} m10 Component in column 1, row 0 position (index 4) * @param {Number} m11 Component in column 1, row 1 position (index 5) * @param {Number} m12 Component in column 1, row 2 position (index 6) * @param {Number} m13 Component in column 1, row 3 position (index 7) * @param {Number} m20 Component in column 2, row 0 position (index 8) * @param {Number} m21 Component in column 2, row 1 position (index 9) * @param {Number} m22 Component in column 2, row 2 position (index 10) * @param {Number} m23 Component in column 2, row 3 position (index 11) * @param {Number} m30 Component in column 3, row 0 position (index 12) * @param {Number} m31 Component in column 3, row 1 position (index 13) * @param {Number} m32 Component in column 3, row 2 position (index 14) * @param {Number} m33 Component in column 3, row 3 position (index 15) * @returns {mat4} out */ export function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) { out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m03; out[4] = m10; out[5] = m11; out[6] = m12; out[7] = m13; out[8] = m20; out[9] = m21; out[10] = m22; out[11] = m23; out[12] = m30; out[13] = m31; out[14] = m32; out[15] = m33; return out; } /** * Set a mat4 to the identity matrix * * @param {mat4} out the receiving matrix * @returns {mat4} out */ export function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Transpose the values of a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ export function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache some values if (out === a) { let a01 = a[1], a02 = a[2], a03 = a[3]; let a12 = a[6], a13 = a[7]; let a23 = a[11]; out[1] = a[4]; out[2] = a[8]; out[3] = a[12]; out[4] = a01; out[6] = a[9]; out[7] = a[13]; out[8] = a02; out[9] = a12; out[11] = a[14]; out[12] = a03; out[13] = a13; out[14] = a23; } else { out[0] = a[0]; out[1] = a[4]; out[2] = a[8]; out[3] = a[12]; out[4] = a[1]; out[5] = a[5]; out[6] = a[9]; out[7] = a[13]; out[8] = a[2]; out[9] = a[6]; out[10] = a[10]; out[11] = a[14]; out[12] = a[3]; out[13] = a[7]; out[14] = a[11]; out[15] = a[15]; } return out; } /** * Inverts a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ export function invert(out, a) { let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; let b00 = a00 * a11 - a01 * a10; let b01 = a00 * a12 - a02 * a10; let b02 = a00 * a13 - a03 * a10; let b03 = a01 * a12 - a02 * a11; let b04 = a01 * a13 - a03 * a11; let b05 = a02 * a13 - a03 * a12; let b06 = a20 * a31 - a21 * a30; let b07 = a20 * a32 - a22 * a30; let b08 = a20 * a33 - a23 * a30; let b09 = a21 * a32 - a22 * a31; let b10 = a21 * a33 - a23 * a31; let b11 = a22 * a33 - a23 * a32; // Calculate the determinant let det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; if (!det) { return null; } det = 1.0 / det; out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det; out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det; out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det; out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det; out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det; out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det; out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det; out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det; out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det; out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; return out; } /** * Calculates the adjugate of a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ export function adjoint(out, a) { let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; out[0] = (a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22)); out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22)); out[2] = (a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12)); out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12)); out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22)); out[5] = (a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22)); out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12)); out[7] = (a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12)); out[8] = (a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21)); out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21)); out[10] = (a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11)); out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11)); out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21)); out[13] = (a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21)); out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11)); out[15] = (a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11)); return out; } /** * Calculates the determinant of a mat4 * * @param {mat4} a the source matrix * @returns {Number} determinant of a */ export function determinant(a) { let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; let b00 = a00 * a11 - a01 * a10; let b01 = a00 * a12 - a02 * a10; let b02 = a00 * a13 - a03 * a10; let b03 = a01 * a12 - a02 * a11; let b04 = a01 * a13 - a03 * a11; let b05 = a02 * a13 - a03 * a12; let b06 = a20 * a31 - a21 * a30; let b07 = a20 * a32 - a22 * a30; let b08 = a20 * a33 - a23 * a30; let b09 = a21 * a32 - a22 * a31; let b10 = a21 * a33 - a23 * a31; let b11 = a22 * a33 - a23 * a32; // Calculate the determinant return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; } /** * Multiplies two mat4s * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ export function multiply(out, a, b) { let a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; let a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; let a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; let a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; // Cache only the current line of the second matrix let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; out[0] = b0*a00 + b1*a10 + b2*a20 + b3*a30; out[1] = b0*a01 + b1*a11 + b2*a21 + b3*a31; out[2] = b0*a02 + b1*a12 + b2*a22 + b3*a32; out[3] = b0*a03 + b1*a13 + b2*a23 + b3*a33; b0 = b[4]; b1 = b[5]; b2 = b[6]; b3 = b[7]; out[4] = b0*a00 + b1*a10 + b2*a20 + b3*a30; out[5] = b0*a01 + b1*a11 + b2*a21 + b3*a31; out[6] = b0*a02 + b1*a12 + b2*a22 + b3*a32; out[7] = b0*a03 + b1*a13 + b2*a23 + b3*a33; b0 = b[8]; b1 = b[9]; b2 = b[10]; b3 = b[11]; out[8] = b0*a00 + b1*a10 + b2*a20 + b3*a30; out[9] = b0*a01 + b1*a11 + b2*a21 + b3*a31; out[10] = b0*a02 + b1*a12 + b2*a22 + b3*a32; out[11] = b0*a03 + b1*a13 + b2*a23 + b3*a33; b0 = b[12]; b1 = b[13]; b2 = b[14]; b3 = b[15]; out[12] = b0*a00 + b1*a10 + b2*a20 + b3*a30; out[13] = b0*a01 + b1*a11 + b2*a21 + b3*a31; out[14] = b0*a02 + b1*a12 + b2*a22 + b3*a32; out[15] = b0*a03 + b1*a13 + b2*a23 + b3*a33; return out; } /** * Translate a mat4 by the given vector * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to translate * @param {vec3} v vector to translate by * @returns {mat4} out */ export function translate(out, a, v) { let x = v[0], y = v[1], z = v[2]; let a00, a01, a02, a03; let a10, a11, a12, a13; let a20, a21, a22, a23; if (a === out) { out[12] = a[0] * x + a[4] * y + a[8] * z + a[12]; out[13] = a[1] * x + a[5] * y + a[9] * z + a[13]; out[14] = a[2] * x + a[6] * y + a[10] * z + a[14]; out[15] = a[3] * x + a[7] * y + a[11] * z + a[15]; } else { a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; out[0] = a00; out[1] = a01; out[2] = a02; out[3] = a03; out[4] = a10; out[5] = a11; out[6] = a12; out[7] = a13; out[8] = a20; out[9] = a21; out[10] = a22; out[11] = a23; out[12] = a00 * x + a10 * y + a20 * z + a[12]; out[13] = a01 * x + a11 * y + a21 * z + a[13]; out[14] = a02 * x + a12 * y + a22 * z + a[14]; out[15] = a03 * x + a13 * y + a23 * z + a[15]; } return out; } /** * Scales the mat4 by the dimensions in the given vec3 not using vectorization * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to scale * @param {vec3} v the vec3 to scale the matrix by * @returns {mat4} out **/ export function scale(out, a, v) { let x = v[0], y = v[1], z = v[2]; out[0] = a[0] * x; out[1] = a[1] * x; out[2] = a[2] * x; out[3] = a[3] * x; out[4] = a[4] * y; out[5] = a[5] * y; out[6] = a[6] * y; out[7] = a[7] * y; out[8] = a[8] * z; out[9] = a[9] * z; out[10] = a[10] * z; out[11] = a[11] * z; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Rotates a mat4 by the given angle around the given axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @param {vec3} axis the axis to rotate around * @returns {mat4} out */ export function rotate(out, a, rad, axis) { let x = axis[0], y = axis[1], z = axis[2]; let len = Math.sqrt(x * x + y * y + z * z); let s, c, t; let a00, a01, a02, a03; let a10, a11, a12, a13; let a20, a21, a22, a23; let b00, b01, b02; let b10, b11, b12; let b20, b21, b22; if (Math.abs(len) < glMatrix.EPSILON) { return null; } len = 1 / len; x *= len; y *= len; z *= len; s = Math.sin(rad); c = Math.cos(rad); t = 1 - c; a00 = a[0]; a01 = a[1]; a02 = a[2]; a03 = a[3]; a10 = a[4]; a11 = a[5]; a12 = a[6]; a13 = a[7]; a20 = a[8]; a21 = a[9]; a22 = a[10]; a23 = a[11]; // Construct the elements of the rotation matrix b00 = x * x * t + c; b01 = y * x * t + z * s; b02 = z * x * t - y * s; b10 = x * y * t - z * s; b11 = y * y * t + c; b12 = z * y * t + x * s; b20 = x * z * t + y * s; b21 = y * z * t - x * s; b22 = z * z * t + c; // Perform rotation-specific matrix multiplication out[0] = a00 * b00 + a10 * b01 + a20 * b02; out[1] = a01 * b00 + a11 * b01 + a21 * b02; out[2] = a02 * b00 + a12 * b01 + a22 * b02; out[3] = a03 * b00 + a13 * b01 + a23 * b02; out[4] = a00 * b10 + a10 * b11 + a20 * b12; out[5] = a01 * b10 + a11 * b11 + a21 * b12; out[6] = a02 * b10 + a12 * b11 + a22 * b12; out[7] = a03 * b10 + a13 * b11 + a23 * b12; out[8] = a00 * b20 + a10 * b21 + a20 * b22; out[9] = a01 * b20 + a11 * b21 + a21 * b22; out[10] = a02 * b20 + a12 * b21 + a22 * b22; out[11] = a03 * b20 + a13 * b21 + a23 * b22; if (a !== out) { // If the source and destination differ, copy the unchanged last row out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } return out; } /** * Rotates a matrix by the given angle around the X axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function rotateX(out, a, rad) { let s = Math.sin(rad); let c = Math.cos(rad); let a10 = a[4]; let a11 = a[5]; let a12 = a[6]; let a13 = a[7]; let a20 = a[8]; let a21 = a[9]; let a22 = a[10]; let a23 = a[11]; if (a !== out) { // If the source and destination differ, copy the unchanged rows out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[4] = a10 * c + a20 * s; out[5] = a11 * c + a21 * s; out[6] = a12 * c + a22 * s; out[7] = a13 * c + a23 * s; out[8] = a20 * c - a10 * s; out[9] = a21 * c - a11 * s; out[10] = a22 * c - a12 * s; out[11] = a23 * c - a13 * s; return out; } /** * Rotates a matrix by the given angle around the Y axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function rotateY(out, a, rad) { let s = Math.sin(rad); let c = Math.cos(rad); let a00 = a[0]; let a01 = a[1]; let a02 = a[2]; let a03 = a[3]; let a20 = a[8]; let a21 = a[9]; let a22 = a[10]; let a23 = a[11]; if (a !== out) { // If the source and destination differ, copy the unchanged rows out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[0] = a00 * c - a20 * s; out[1] = a01 * c - a21 * s; out[2] = a02 * c - a22 * s; out[3] = a03 * c - a23 * s; out[8] = a00 * s + a20 * c; out[9] = a01 * s + a21 * c; out[10] = a02 * s + a22 * c; out[11] = a03 * s + a23 * c; return out; } /** * Rotates a matrix by the given angle around the Z axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function rotateZ(out, a, rad) { let s = Math.sin(rad); let c = Math.cos(rad); let a00 = a[0]; let a01 = a[1]; let a02 = a[2]; let a03 = a[3]; let a10 = a[4]; let a11 = a[5]; let a12 = a[6]; let a13 = a[7]; if (a !== out) { // If the source and destination differ, copy the unchanged last row out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[0] = a00 * c + a10 * s; out[1] = a01 * c + a11 * s; out[2] = a02 * c + a12 * s; out[3] = a03 * c + a13 * s; out[4] = a10 * c - a00 * s; out[5] = a11 * c - a01 * s; out[6] = a12 * c - a02 * s; out[7] = a13 * c - a03 * s; return out; } /** * Creates a matrix from a vector translation * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, dest, vec); * * @param {mat4} out mat4 receiving operation result * @param {vec3} v Translation vector * @returns {mat4} out */ export function fromTranslation(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.scale(dest, dest, vec); * * @param {mat4} out mat4 receiving operation result * @param {vec3} v Scaling vector * @returns {mat4} out */ export function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = v[1]; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = v[2]; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from a given angle around a given axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotate(dest, dest, rad, axis); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @param {vec3} axis the axis to rotate around * @returns {mat4} out */ export function fromRotation(out, rad, axis) { let x = axis[0], y = axis[1], z = axis[2]; let len = Math.sqrt(x * x + y * y + z * z); let s, c, t; if (Math.abs(len) < glMatrix.EPSILON) { return null; } len = 1 / len; x *= len; y *= len; z *= len; s = Math.sin(rad); c = Math.cos(rad); t = 1 - c; // Perform rotation-specific matrix multiplication out[0] = x * x * t + c; out[1] = y * x * t + z * s; out[2] = z * x * t - y * s; out[3] = 0; out[4] = x * y * t - z * s; out[5] = y * y * t + c; out[6] = z * y * t + x * s; out[7] = 0; out[8] = x * z * t + y * s; out[9] = y * z * t - x * s; out[10] = z * z * t + c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the X axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateX(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function fromXRotation(out, rad) { let s = Math.sin(rad); let c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = c; out[6] = s; out[7] = 0; out[8] = 0; out[9] = -s; out[10] = c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the Y axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateY(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function fromYRotation(out, rad) { let s = Math.sin(rad); let c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = c; out[1] = 0; out[2] = -s; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = s; out[9] = 0; out[10] = c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the Z axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateZ(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ export function fromZRotation(out, rad) { let s = Math.sin(rad); let c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = c; out[1] = s; out[2] = 0; out[3] = 0; out[4] = -s; out[5] = c; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from a quaternion rotation and vector translation * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @returns {mat4} out */ export function fromRotationTranslation(out, q, v) { // Quaternion math let x = q[0], y = q[1], z = q[2], w = q[3]; let x2 = x + x; let y2 = y + y; let z2 = z + z; let xx = x * x2; let xy = x * y2; let xz = x * z2; let yy = y * y2; let yz = y * z2; let zz = z * z2; let wx = w * x2; let wy = w * y2; let wz = w * z2; out[0] = 1 - (yy + zz); out[1] = xy + wz; out[2] = xz - wy; out[3] = 0; out[4] = xy - wz; out[5] = 1 - (xx + zz); out[6] = yz + wx; out[7] = 0; out[8] = xz + wy; out[9] = yz - wx; out[10] = 1 - (xx + yy); out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Returns the translation vector component of a transformation * matrix. If a matrix is built with fromRotationTranslation, * the returned vector will be the same as the translation vector * originally supplied. * @param {vec3} out Vector to receive translation component * @param {mat4} mat Matrix to be decomposed (input) * @return {vec3} out */ export function getTranslation(out, mat) { out[0] = mat[12]; out[1] = mat[13]; out[2] = mat[14]; return out; } /** * Returns the scaling factor component of a transformation * matrix. If a matrix is built with fromRotationTranslationScale * with a normalized Quaternion paramter, the returned vector will be * the same as the scaling vector * originally supplied. * @param {vec3} out Vector to receive scaling factor component * @param {mat4} mat Matrix to be decomposed (input) * @return {vec3} out */ export function getScaling(out, mat) { let m11 = mat[0]; let m12 = mat[1]; let m13 = mat[2]; let m21 = mat[4]; let m22 = mat[5]; let m23 = mat[6]; let m31 = mat[8]; let m32 = mat[9]; let m33 = mat[10]; out[0] = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13); out[1] = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23); out[2] = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33); return out; } /** * Returns a quaternion representing the rotational component * of a transformation matrix. If a matrix is built with * fromRotationTranslation, the returned quaternion will be the * same as the quaternion originally supplied. * @param {quat} out Quaternion to receive the rotation component * @param {mat4} mat Matrix to be decomposed (input) * @return {quat} out */ export function getRotation(out, mat) { // Algorithm taken from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm let trace = mat[0] + mat[5] + mat[10]; let S = 0; if (trace > 0) { S = Math.sqrt(trace + 1.0) * 2; out[3] = 0.25 * S; out[0] = (mat[6] - mat[9]) / S; out[1] = (mat[8] - mat[2]) / S; out[2] = (mat[1] - mat[4]) / S; } else if ((mat[0] > mat[5]) && (mat[0] > mat[10])) { S = Math.sqrt(1.0 + mat[0] - mat[5] - mat[10]) * 2; out[3] = (mat[6] - mat[9]) / S; out[0] = 0.25 * S; out[1] = (mat[1] + mat[4]) / S; out[2] = (mat[8] + mat[2]) / S; } else if (mat[5] > mat[10]) { S = Math.sqrt(1.0 + mat[5] - mat[0] - mat[10]) * 2; out[3] = (mat[8] - mat[2]) / S; out[0] = (mat[1] + mat[4]) / S; out[1] = 0.25 * S; out[2] = (mat[6] + mat[9]) / S; } else { S = Math.sqrt(1.0 + mat[10] - mat[0] - mat[5]) * 2; out[3] = (mat[1] - mat[4]) / S; out[0] = (mat[8] + mat[2]) / S; out[1] = (mat[6] + mat[9]) / S; out[2] = 0.25 * S; } return out; } /** * Creates a matrix from a quaternion rotation, vector translation and vector scale * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * mat4.scale(dest, scale) * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @param {vec3} s Scaling vector * @returns {mat4} out */ export function fromRotationTranslationScale(out, q, v, s) { // Quaternion math let x = q[0], y = q[1], z = q[2], w = q[3]; let x2 = x + x; let y2 = y + y; let z2 = z + z; let xx = x * x2; let xy = x * y2; let xz = x * z2; let yy = y * y2; let yz = y * z2; let zz = z * z2; let wx = w * x2; let wy = w * y2; let wz = w * z2; let sx = s[0]; let sy = s[1]; let sz = s[2]; out[0] = (1 - (yy + zz)) * sx; out[1] = (xy + wz) * sx; out[2] = (xz - wy) * sx; out[3] = 0; out[4] = (xy - wz) * sy; out[5] = (1 - (xx + zz)) * sy; out[6] = (yz + wx) * sy; out[7] = 0; out[8] = (xz + wy) * sz; out[9] = (yz - wx) * sz; out[10] = (1 - (xx + yy)) * sz; out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * mat4.translate(dest, origin); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * mat4.scale(dest, scale) * mat4.translate(dest, negativeOrigin); * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @param {vec3} s Scaling vector * @param {vec3} o The origin vector around which to scale and rotate * @returns {mat4} out */ export function fromRotationTranslationScaleOrigin(out, q, v, s, o) { // Quaternion math let x = q[0], y = q[1], z = q[2], w = q[3]; let x2 = x + x; let y2 = y + y; let z2 = z + z; let xx = x * x2; let xy = x * y2; let xz = x * z2; let yy = y * y2; let yz = y * z2; let zz = z * z2; let wx = w * x2; let wy = w * y2; let wz = w * z2; let sx = s[0]; let sy = s[1]; let sz = s[2]; let ox = o[0]; let oy = o[1]; let oz = o[2]; let out0 = (1 - (yy + zz)) * sx; let out1 = (xy + wz) * sx; let out2 = (xz - wy) * sx; let out4 = (xy - wz) * sy; let out5 = (1 - (xx + zz)) * sy; let out6 = (yz + wx) * sy; let out8 = (xz + wy) * sz; let out9 = (yz - wx) * sz; let out10 = (1 - (xx + yy)) * sz; out[0] = out0; out[1] = out1; out[2] = out2; out[3] = 0; out[4] = out4; out[5] = out5; out[6] = out6; out[7] = 0; out[8] = out8; out[9] = out9; out[10] = out10; out[11] = 0; out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz); out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz); out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz); out[15] = 1; return out; } /** * Calculates a 4x4 matrix from the given quaternion * * @param {mat4} out mat4 receiving operation result * @param {quat} q Quaternion to create matrix from * * @returns {mat4} out */ export function fromQuat(out, q) { let x = q[0], y = q[1], z = q[2], w = q[3]; let x2 = x + x; let y2 = y + y; let z2 = z + z; let xx = x * x2; let yx = y * x2; let yy = y * y2; let zx = z * x2; let zy = z * y2; let zz = z * z2; let wx = w * x2; let wy = w * y2; let wz = w * z2; out[0] = 1 - yy - zz; out[1] = yx + wz; out[2] = zx - wy; out[3] = 0; out[4] = yx - wz; out[5] = 1 - xx - zz; out[6] = zy + wx; out[7] = 0; out[8] = zx + wy; out[9] = zy - wx; out[10] = 1 - xx - yy; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Generates a frustum matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {Number} left Left bound of the frustum * @param {Number} right Right bound of the frustum * @param {Number} bottom Bottom bound of the frustum * @param {Number} top Top bound of the frustum * @param {Number} near Near bound of the frustum * @param {Number} far Far bound of the frustum * @returns {mat4} out */ export function frustum(out, left, right, bottom, top, near, far) { let rl = 1 / (right - left); let tb = 1 / (top - bottom); let nf = 1 / (near - far); out[0] = (near * 2) * rl; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = (near * 2) * tb; out[6] = 0; out[7] = 0; out[8] = (right + left) * rl; out[9] = (top + bottom) * tb; out[10] = (far + near) * nf; out[11] = -1; out[12] = 0; out[13] = 0; out[14] = (far * near * 2) * nf; out[15] = 0; return out; } /** * Generates a perspective projection matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {number} fovy Vertical field of view in radians * @param {number} aspect Aspect ratio. typically viewport width/height * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ export function perspective(out, fovy, aspect, near, far) { let f = 1.0 / Math.tan(fovy / 2); let nf = 1 / (near - far); out[0] = f / aspect; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = f; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = (far + near) * nf; out[11] = -1; out[12] = 0; out[13] = 0; out[14] = (2 * far * near) * nf; out[15] = 0; return out; } /** * Generates a perspective projection matrix with the given field of view. * This is primarily useful for generating projection matrices to be used * with the still experiemental WebVR API. * * @param {mat4} out mat4 frustum matrix will be written into * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ export function perspectiveFromFieldOfView(out, fov, near, far) { let upTan = Math.tan(fov.upDegrees * Math.PI/180.0); let downTan = Math.tan(fov.downDegrees * Math.PI/180.0); let leftTan = Math.tan(fov.leftDegrees * Math.PI/180.0); let rightTan = Math.tan(fov.rightDegrees * Math.PI/180.0); let xScale = 2.0 / (leftTan + rightTan); let yScale = 2.0 / (upTan + downTan); out[0] = xScale; out[1] = 0.0; out[2] = 0.0; out[3] = 0.0; out[4] = 0.0; out[5] = yScale; out[6] = 0.0; out[7] = 0.0; out[8] = -((leftTan - rightTan) * xScale * 0.5); out[9] = ((upTan - downTan) * yScale * 0.5); out[10] = far / (near - far); out[11] = -1.0; out[12] = 0.0; out[13] = 0.0; out[14] = (far * near) / (near - far); out[15] = 0.0; return out; } /** * Generates a orthogonal projection matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {number} left Left bound of the frustum * @param {number} right Right bound of the frustum * @param {number} bottom Bottom bound of the frustum * @param {number} top Top bound of the frustum * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ export function ortho(out, left, right, bottom, top, near, far) { let lr = 1 / (left - right); let bt = 1 / (bottom - top); let nf = 1 / (near - far); out[0] = -2 * lr; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = -2 * bt; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 2 * nf; out[11] = 0; out[12] = (left + right) * lr; out[13] = (top + bottom) * bt; out[14] = (far + near) * nf; out[15] = 1; return out; } /** * Generates a look-at matrix with the given eye position, focal point, and up axis. * If you want a matrix that actually makes an object look at another object, you should use targetTo instead. * * @param {mat4} out mat4 frustum matrix will be written into * @param {vec3} eye Position of the viewer * @param {vec3} center Point the viewer is looking at * @param {vec3} up vec3 pointing up * @returns {mat4} out */ export function lookAt(out, eye, center, up) { let x0, x1, x2, y0, y1, y2, z0, z1, z2, len; let eyex = eye[0]; let eyey = eye[1]; let eyez = eye[2]; let upx = up[0]; let upy = up[1]; let upz = up[2]; let centerx = center[0]; let centery = center[1]; let centerz = center[2]; if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) { return identity(out); } z0 = eyex - centerx; z1 = eyey - centery; z2 = eyez - centerz; len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2); z0 *= len; z1 *= len; z2 *= len; x0 = upy * z2 - upz * z1; x1 = upz * z0 - upx * z2; x2 = upx * z1 - upy * z0; len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2); if (!len) { x0 = 0; x1 = 0; x2 = 0; } else { len = 1 / len; x0 *= len; x1 *= len; x2 *= len; } y0 = z1 * x2 - z2 * x1; y1 = z2 * x0 - z0 * x2; y2 = z0 * x1 - z1 * x0; len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2); if (!len) { y0 = 0; y1 = 0; y2 = 0; } else { len = 1 / len; y0 *= len; y1 *= len; y2 *= len; } out[0] = x0; out[1] = y0; out[2] = z0; out[3] = 0; out[4] = x1; out[5] = y1; out[6] = z1; out[7] = 0; out[8] = x2; out[9] = y2; out[10] = z2; out[11] = 0; out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez); out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez); out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez); out[15] = 1; return out; } /** * Generates a matrix that makes something look at something else. * * @param {mat4} out mat4 frustum matrix will be written into * @param {vec3} eye Position of the viewer * @param {vec3} center Point the viewer is looking at * @param {vec3} up vec3 pointing up * @returns {mat4} out */ export function targetTo(out, eye, target, up) { let eyex = eye[0], eyey = eye[1], eyez = eye[2], upx = up[0], upy = up[1], upz = up[2]; let z0 = eyex - target[0], z1 = eyey - target[1], z2 = eyez - target[2]; let len = z0*z0 + z1*z1 + z2*z2; if (len > 0) { len = 1 / Math.sqrt(len); z0 *= len; z1 *= len; z2 *= len; } let x0 = upy * z2 - upz * z1, x1 = upz * z0 - upx * z2, x2 = upx * z1 - upy * z0; len = x0*x0 + x1*x1 + x2*x2; if (len > 0) { len = 1 / Math.sqrt(len); x0 *= len; x1 *= len; x2 *= len; } out[0] = x0; out[1] = x1; out[2] = x2; out[3] = 0; out[4] = z1 * x2 - z2 * x1; out[5] = z2 * x0 - z0 * x2; out[6] = z0 * x1 - z1 * x0; out[7] = 0; out[8] = z0; out[9] = z1; out[10] = z2; out[11] = 0; out[12] = eyex; out[13] = eyey; out[14] = eyez; out[15] = 1; return out; }; /** * Returns a string representation of a mat4 * * @param {mat4} a matrix to represent as a string * @returns {String} string representation of the matrix */ export function str(a) { return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' + a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')'; } /** * Returns Frobenius norm of a mat4 * * @param {mat4} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ export function frob(a) { return(Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2) + Math.pow(a[9], 2) + Math.pow(a[10], 2) + Math.pow(a[11], 2) + Math.pow(a[12], 2) + Math.pow(a[13], 2) + Math.pow(a[14], 2) + Math.pow(a[15], 2) )) } /** * Adds two mat4's * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; out[6] = a[6] + b[6]; out[7] = a[7] + b[7]; out[8] = a[8] + b[8]; out[9] = a[9] + b[9]; out[10] = a[10] + b[10]; out[11] = a[11] + b[11]; out[12] = a[12] + b[12]; out[13] = a[13] + b[13]; out[14] = a[14] + b[14]; out[15] = a[15] + b[15]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; out[6] = a[6] - b[6]; out[7] = a[7] - b[7]; out[8] = a[8] - b[8]; out[9] = a[9] - b[9]; out[10] = a[10] - b[10]; out[11] = a[11] - b[11]; out[12] = a[12] - b[12]; out[13] = a[13] - b[13]; out[14] = a[14] - b[14]; out[15] = a[15] - b[15]; return out; } /** * Multiply each element of the matrix by a scalar. * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat4} out */ export function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; out[6] = a[6] * b; out[7] = a[7] * b; out[8] = a[8] * b; out[9] = a[9] * b; out[10] = a[10] * b; out[11] = a[11] * b; out[12] = a[12] * b; out[13] = a[13] * b; out[14] = a[14] * b; out[15] = a[15] * b; return out; } /** * Adds two mat4's after multiplying each element of the second operand by a scalar value. * * @param {mat4} out the receiving vector * @param {mat4} a the first operand * @param {mat4} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat4} out */ export function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); out[3] = a[3] + (b[3] * scale); out[4] = a[4] + (b[4] * scale); out[5] = a[5] + (b[5] * scale); out[6] = a[6] + (b[6] * scale); out[7] = a[7] + (b[7] * scale); out[8] = a[8] + (b[8] * scale); out[9] = a[9] + (b[9] * scale); out[10] = a[10] + (b[10] * scale); out[11] = a[11] + (b[11] * scale); out[12] = a[12] + (b[12] * scale); out[13] = a[13] + (b[13] * scale); out[14] = a[14] + (b[14] * scale); out[15] = a[15] + (b[15] * scale); return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat4} a The first matrix. * @param {mat4} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat4} a The first matrix. * @param {mat4} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7]; let a8 = a[8], a9 = a[9], a10 = a[10], a11 = a[11]; let a12 = a[12], a13 = a[13], a14 = a[14], a15 = a[15]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; let b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7]; let b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11]; let b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a15), Math.abs(b15))); } /** * Alias for {@link mat4.multiply} * @function */ export const mul = multiply; /** * Alias for {@link mat4.subtract} * @function */ export const sub = subtract; ================================================ FILE: polyfill/fill/gl-matrix/quat.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js" import * as mat3 from "./mat3.js" import * as vec3 from "./vec3.js" import * as vec4 from "./vec4.js" /** * Quaternion * @module quat */ /** * Creates a new identity quat * * @returns {quat} a new quaternion */ export function create() { let out = new glMatrix.ARRAY_TYPE(4); out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Set a quat to the identity quaternion * * @param {quat} out the receiving quaternion * @returns {quat} out */ export function identity(out) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Sets a quat from the given angle and rotation axis, * then returns it. * * @param {quat} out the receiving quaternion * @param {vec3} axis the axis around which to rotate * @param {Number} rad the angle in radians * @returns {quat} out **/ export function setAxisAngle(out, axis, rad) { rad = rad * 0.5; let s = Math.sin(rad); out[0] = s * axis[0]; out[1] = s * axis[1]; out[2] = s * axis[2]; out[3] = Math.cos(rad); return out; } /** * Gets the rotation axis and angle for a given * quaternion. If a quaternion is created with * setAxisAngle, this method will return the same * values as providied in the original parameter list * OR functionally equivalent values. * Example: The quaternion formed by axis [0, 0, 1] and * angle -90 is the same as the quaternion formed by * [0, 0, 1] and 270. This method favors the latter. * @param {vec3} out_axis Vector receiving the axis of rotation * @param {quat} q Quaternion to be decomposed * @return {Number} Angle, in radians, of the rotation */ export function getAxisAngle(out_axis, q) { let rad = Math.acos(q[3]) * 2.0; let s = Math.sin(rad / 2.0); if (s != 0.0) { out_axis[0] = q[0] / s; out_axis[1] = q[1] / s; out_axis[2] = q[2] / s; } else { // If s is zero, return any axis (no rotation - axis does not matter) out_axis[0] = 1; out_axis[1] = 0; out_axis[2] = 0; } return rad; } /** * Multiplies two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @returns {quat} out */ export function multiply(out, a, b) { let ax = a[0], ay = a[1], az = a[2], aw = a[3]; let bx = b[0], by = b[1], bz = b[2], bw = b[3]; out[0] = ax * bw + aw * bx + ay * bz - az * by; out[1] = ay * bw + aw * by + az * bx - ax * bz; out[2] = az * bw + aw * bz + ax * by - ay * bx; out[3] = aw * bw - ax * bx - ay * by - az * bz; return out; } /** * Rotates a quaternion by the given angle about the X axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ export function rotateX(out, a, rad) { rad *= 0.5; let ax = a[0], ay = a[1], az = a[2], aw = a[3]; let bx = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw + aw * bx; out[1] = ay * bw + az * bx; out[2] = az * bw - ay * bx; out[3] = aw * bw - ax * bx; return out; } /** * Rotates a quaternion by the given angle about the Y axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ export function rotateY(out, a, rad) { rad *= 0.5; let ax = a[0], ay = a[1], az = a[2], aw = a[3]; let by = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw - az * by; out[1] = ay * bw + aw * by; out[2] = az * bw + ax * by; out[3] = aw * bw - ay * by; return out; } /** * Rotates a quaternion by the given angle about the Z axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ export function rotateZ(out, a, rad) { rad *= 0.5; let ax = a[0], ay = a[1], az = a[2], aw = a[3]; let bz = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw + ay * bz; out[1] = ay * bw - ax * bz; out[2] = az * bw + aw * bz; out[3] = aw * bw - az * bz; return out; } /** * Calculates the W component of a quat from the X, Y, and Z components. * Assumes that quaternion is 1 unit in length. * Any existing W component will be ignored. * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate W component of * @returns {quat} out */ export function calculateW(out, a) { let x = a[0], y = a[1], z = a[2]; out[0] = x; out[1] = y; out[2] = z; out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z)); return out; } /** * Performs a spherical linear interpolation between two quat * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {quat} out */ export function slerp(out, a, b, t) { // benchmarks: // http://jsperf.com/quaternion-slerp-implementations let ax = a[0], ay = a[1], az = a[2], aw = a[3]; let bx = b[0], by = b[1], bz = b[2], bw = b[3]; let omega, cosom, sinom, scale0, scale1; // calc cosine cosom = ax * bx + ay * by + az * bz + aw * bw; // adjust signs (if necessary) if ( cosom < 0.0 ) { cosom = -cosom; bx = - bx; by = - by; bz = - bz; bw = - bw; } // calculate coefficients if ( (1.0 - cosom) > 0.000001 ) { // standard case (slerp) omega = Math.acos(cosom); sinom = Math.sin(omega); scale0 = Math.sin((1.0 - t) * omega) / sinom; scale1 = Math.sin(t * omega) / sinom; } else { // "from" and "to" quaternions are very close // ... so we can do a linear interpolation scale0 = 1.0 - t; scale1 = t; } // calculate final values out[0] = scale0 * ax + scale1 * bx; out[1] = scale0 * ay + scale1 * by; out[2] = scale0 * az + scale1 * bz; out[3] = scale0 * aw + scale1 * bw; return out; } /** * Calculates the inverse of a quat * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate inverse of * @returns {quat} out */ export function invert(out, a) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let dot = a0*a0 + a1*a1 + a2*a2 + a3*a3; let invDot = dot ? 1.0/dot : 0; // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0 out[0] = -a0*invDot; out[1] = -a1*invDot; out[2] = -a2*invDot; out[3] = a3*invDot; return out; } /** * Calculates the conjugate of a quat * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate conjugate of * @returns {quat} out */ export function conjugate(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; out[3] = a[3]; return out; } /** * Creates a quaternion from the given 3x3 rotation matrix. * * NOTE: The resultant quaternion is not normalized, so you should be sure * to renormalize the quaternion yourself where necessary. * * @param {quat} out the receiving quaternion * @param {mat3} m rotation matrix * @returns {quat} out * @function */ export function fromMat3(out, m) { // Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes // article "Quaternion Calculus and Fast Animation". let fTrace = m[0] + m[4] + m[8]; let fRoot; if ( fTrace > 0.0 ) { // |w| > 1/2, may as well choose w > 1/2 fRoot = Math.sqrt(fTrace + 1.0); // 2w out[3] = 0.5 * fRoot; fRoot = 0.5/fRoot; // 1/(4w) out[0] = (m[5]-m[7])*fRoot; out[1] = (m[6]-m[2])*fRoot; out[2] = (m[1]-m[3])*fRoot; } else { // |w| <= 1/2 let i = 0; if ( m[4] > m[0] ) i = 1; if ( m[8] > m[i*3+i] ) i = 2; let j = (i+1)%3; let k = (i+2)%3; fRoot = Math.sqrt(m[i*3+i]-m[j*3+j]-m[k*3+k] + 1.0); out[i] = 0.5 * fRoot; fRoot = 0.5 / fRoot; out[3] = (m[j*3+k] - m[k*3+j]) * fRoot; out[j] = (m[j*3+i] + m[i*3+j]) * fRoot; out[k] = (m[k*3+i] + m[i*3+k]) * fRoot; } return out; } /** * Creates a quaternion from the given euler angle x, y, z. * * @param {quat} out the receiving quaternion * @param {x} Angle to rotate around X axis in degrees. * @param {y} Angle to rotate around Y axis in degrees. * @param {z} Angle to rotate around Z axis in degrees. * @returns {quat} out * @function */ export function fromEuler(out, x, y, z) { let halfToRad = 0.5 * Math.PI / 180.0; x *= halfToRad; y *= halfToRad; z *= halfToRad; let sx = Math.sin(x); let cx = Math.cos(x); let sy = Math.sin(y); let cy = Math.cos(y); let sz = Math.sin(z); let cz = Math.cos(z); out[0] = sx * cy * cz - cx * sy * sz; out[1] = cx * sy * cz + sx * cy * sz; out[2] = cx * cy * sz - sx * sy * cz; out[3] = cx * cy * cz + sx * sy * sz; return out; } /** * Returns a string representation of a quatenion * * @param {quat} a vector to represent as a string * @returns {String} string representation of the vector */ export function str(a) { return 'quat(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Creates a new quat initialized with values from an existing quaternion * * @param {quat} a quaternion to clone * @returns {quat} a new quaternion * @function */ export const clone = vec4.clone; /** * Creates a new quat initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {quat} a new quaternion * @function */ export const fromValues = vec4.fromValues; /** * Copy the values from one quat to another * * @param {quat} out the receiving quaternion * @param {quat} a the source quaternion * @returns {quat} out * @function */ export const copy = vec4.copy; /** * Set the components of a quat to the given values * * @param {quat} out the receiving quaternion * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {quat} out * @function */ export const set = vec4.set; /** * Adds two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @returns {quat} out * @function */ export const add = vec4.add; /** * Alias for {@link quat.multiply} * @function */ export const mul = multiply; /** * Scales a quat by a scalar number * * @param {quat} out the receiving vector * @param {quat} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {quat} out * @function */ export const scale = vec4.scale; /** * Calculates the dot product of two quat's * * @param {quat} a the first operand * @param {quat} b the second operand * @returns {Number} dot product of a and b * @function */ export const dot = vec4.dot; /** * Performs a linear interpolation between two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {quat} out * @function */ export const lerp = vec4.lerp; /** * Calculates the length of a quat * * @param {quat} a vector to calculate length of * @returns {Number} length of a */ export const length = vec4.length; /** * Alias for {@link quat.length} * @function */ export const len = length; /** * Calculates the squared length of a quat * * @param {quat} a vector to calculate squared length of * @returns {Number} squared length of a * @function */ export const squaredLength = vec4.squaredLength; /** * Alias for {@link quat.squaredLength} * @function */ export const sqrLen = squaredLength; /** * Normalize a quat * * @param {quat} out the receiving quaternion * @param {quat} a quaternion to normalize * @returns {quat} out * @function */ export const normalize = vec4.normalize; /** * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===) * * @param {quat} a The first quaternion. * @param {quat} b The second quaternion. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export const exactEquals = vec4.exactEquals; /** * Returns whether or not the quaternions have approximately the same elements in the same position. * * @param {quat} a The first vector. * @param {quat} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export const equals = vec4.equals; /** * Sets a quaternion to represent the shortest rotation from one * vector to another. * * Both vectors are assumed to be unit length. * * @param {quat} out the receiving quaternion. * @param {vec3} a the initial vector * @param {vec3} b the destination vector * @returns {quat} out */ export const rotationTo = (function() { let tmpvec3 = vec3.create(); let xUnitVec3 = vec3.fromValues(1,0,0); let yUnitVec3 = vec3.fromValues(0,1,0); return function(out, a, b) { let dot = vec3.dot(a, b); if (dot < -0.999999) { vec3.cross(tmpvec3, xUnitVec3, a); if (vec3.len(tmpvec3) < 0.000001) vec3.cross(tmpvec3, yUnitVec3, a); vec3.normalize(tmpvec3, tmpvec3); setAxisAngle(out, tmpvec3, Math.PI); return out; } else if (dot > 0.999999) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } else { vec3.cross(tmpvec3, a, b); out[0] = tmpvec3[0]; out[1] = tmpvec3[1]; out[2] = tmpvec3[2]; out[3] = 1 + dot; return normalize(out, out); } }; })(); /** * Performs a spherical linear interpolation with two control points * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {quat} c the third operand * @param {quat} d the fourth operand * @param {Number} t interpolation amount * @returns {quat} out */ export const sqlerp = (function () { let temp1 = create(); let temp2 = create(); return function (out, a, b, c, d, t) { slerp(temp1, a, d, t); slerp(temp2, b, c, t); slerp(out, temp1, temp2, 2 * t * (1 - t)); return out; }; }()); /** * Sets the specified quaternion with values corresponding to the given * axes. Each axis is a vec3 and is expected to be unit length and * perpendicular to all other specified axes. * * @param {vec3} view the vector representing the viewing direction * @param {vec3} right the vector representing the local "right" direction * @param {vec3} up the vector representing the local "up" direction * @returns {quat} out */ export const setAxes = (function() { let matr = mat3.create(); return function(out, view, right, up) { matr[0] = right[0]; matr[3] = right[1]; matr[6] = right[2]; matr[1] = up[0]; matr[4] = up[1]; matr[7] = up[2]; matr[2] = -view[0]; matr[5] = -view[1]; matr[8] = -view[2]; return normalize(out, fromMat3(out, matr)); }; })(); ================================================ FILE: polyfill/fill/gl-matrix/vec2.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 2 Dimensional Vector * @module vec2 */ /** * Creates a new, empty vec2 * * @returns {vec2} a new 2D vector */ export function create() { let out = new glMatrix.ARRAY_TYPE(2); out[0] = 0; out[1] = 0; return out; } /** * Creates a new vec2 initialized with values from an existing vector * * @param {vec2} a vector to clone * @returns {vec2} a new 2D vector */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(2); out[0] = a[0]; out[1] = a[1]; return out; } /** * Creates a new vec2 initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @returns {vec2} a new 2D vector */ export function fromValues(x, y) { let out = new glMatrix.ARRAY_TYPE(2); out[0] = x; out[1] = y; return out; } /** * Copy the values from one vec2 to another * * @param {vec2} out the receiving vector * @param {vec2} a the source vector * @returns {vec2} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; return out; } /** * Set the components of a vec2 to the given values * * @param {vec2} out the receiving vector * @param {Number} x X component * @param {Number} y Y component * @returns {vec2} out */ export function set(out, x, y) { out[0] = x; out[1] = y; return out; } /** * Adds two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; return out; } /** * Subtracts vector b from vector a * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; return out; } /** * Multiplies two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function multiply(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; return out; }; /** * Divides two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function divide(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; return out; }; /** * Math.ceil the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to ceil * @returns {vec2} out */ export function ceil(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); return out; }; /** * Math.floor the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to floor * @returns {vec2} out */ export function floor(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); return out; }; /** * Returns the minimum of two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function min(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); return out; }; /** * Returns the maximum of two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ export function max(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); return out; }; /** * Math.round the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to round * @returns {vec2} out */ export function round (out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); return out; }; /** * Scales a vec2 by a scalar number * * @param {vec2} out the receiving vector * @param {vec2} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {vec2} out */ export function scale(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; return out; }; /** * Adds two vec2's after scaling the second operand by a scalar value * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @param {Number} scale the amount to scale b by before adding * @returns {vec2} out */ export function scaleAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); return out; }; /** * Calculates the euclidian distance between two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} distance between a and b */ export function distance(a, b) { var x = b[0] - a[0], y = b[1] - a[1]; return Math.sqrt(x*x + y*y); }; /** * Calculates the squared euclidian distance between two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} squared distance between a and b */ export function squaredDistance(a, b) { var x = b[0] - a[0], y = b[1] - a[1]; return x*x + y*y; }; /** * Calculates the length of a vec2 * * @param {vec2} a vector to calculate length of * @returns {Number} length of a */ export function length(a) { var x = a[0], y = a[1]; return Math.sqrt(x*x + y*y); }; /** * Calculates the squared length of a vec2 * * @param {vec2} a vector to calculate squared length of * @returns {Number} squared length of a */ export function squaredLength (a) { var x = a[0], y = a[1]; return x*x + y*y; }; /** * Negates the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to negate * @returns {vec2} out */ export function negate(out, a) { out[0] = -a[0]; out[1] = -a[1]; return out; }; /** * Returns the inverse of the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to invert * @returns {vec2} out */ export function inverse(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; return out; }; /** * Normalize a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to normalize * @returns {vec2} out */ export function normalize(out, a) { var x = a[0], y = a[1]; var len = x*x + y*y; if (len > 0) { //TODO: evaluate use of glm_invsqrt here? len = 1 / Math.sqrt(len); out[0] = a[0] * len; out[1] = a[1] * len; } return out; }; /** * Calculates the dot product of two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} dot product of a and b */ export function dot(a, b) { return a[0] * b[0] + a[1] * b[1]; }; /** * Computes the cross product of two vec2's * Note that the cross product must by definition produce a 3D vector * * @param {vec3} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec3} out */ export function cross(out, a, b) { var z = a[0] * b[1] - a[1] * b[0]; out[0] = out[1] = 0; out[2] = z; return out; }; /** * Performs a linear interpolation between two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec2} out */ export function lerp(out, a, b, t) { var ax = a[0], ay = a[1]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); return out; }; /** * Generates a random vector with the given scale * * @param {vec2} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec2} out */ export function random(out, scale) { scale = scale || 1.0; var r = glMatrix.RANDOM() * 2.0 * Math.PI; out[0] = Math.cos(r) * scale; out[1] = Math.sin(r) * scale; return out; }; /** * Transforms the vec2 with a mat2 * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat2} m matrix to transform with * @returns {vec2} out */ export function transformMat2(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[2] * y; out[1] = m[1] * x + m[3] * y; return out; }; /** * Transforms the vec2 with a mat2d * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat2d} m matrix to transform with * @returns {vec2} out */ export function transformMat2d(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[2] * y + m[4]; out[1] = m[1] * x + m[3] * y + m[5]; return out; }; /** * Transforms the vec2 with a mat3 * 3rd vector component is implicitly '1' * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat3} m matrix to transform with * @returns {vec2} out */ export function transformMat3(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[3] * y + m[6]; out[1] = m[1] * x + m[4] * y + m[7]; return out; }; /** * Transforms the vec2 with a mat4 * 3rd vector component is implicitly '0' * 4th vector component is implicitly '1' * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec2} out */ export function transformMat4(out, a, m) { let x = a[0]; let y = a[1]; out[0] = m[0] * x + m[4] * y + m[12]; out[1] = m[1] * x + m[5] * y + m[13]; return out; } /** * Returns a string representation of a vector * * @param {vec2} a vector to represent as a string * @returns {String} string representation of the vector */ export function str(a) { return 'vec2(' + a[0] + ', ' + a[1] + ')'; } /** * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===) * * @param {vec2} a The first vector. * @param {vec2} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec2} a The first vector. * @param {vec2} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1]; let b0 = b[0], b1 = b[1]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1))); } /** * Alias for {@link vec2.length} * @function */ export const len = length; /** * Alias for {@link vec2.subtract} * @function */ export const sub = subtract; /** * Alias for {@link vec2.multiply} * @function */ export const mul = multiply; /** * Alias for {@link vec2.divide} * @function */ export const div = divide; /** * Alias for {@link vec2.distance} * @function */ export const dist = distance; /** * Alias for {@link vec2.squaredDistance} * @function */ export const sqrDist = squaredDistance; /** * Alias for {@link vec2.squaredLength} * @function */ export const sqrLen = squaredLength; /** * Perform some operation over an array of vec2s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ export const forEach = (function() { let vec = create(); return function(a, stride, offset, count, fn, arg) { let i, l; if(!stride) { stride = 2; } if(!offset) { offset = 0; } if(count) { l = Math.min((count * stride) + offset, a.length); } else { l = a.length; } for(i = offset; i < l; i += stride) { vec[0] = a[i]; vec[1] = a[i+1]; fn(vec, vec, arg); a[i] = vec[0]; a[i+1] = vec[1]; } return a; }; })(); ================================================ FILE: polyfill/fill/gl-matrix/vec3.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 3 Dimensional Vector * @module vec3 */ /** * Creates a new, empty vec3 * * @returns {vec3} a new 3D vector */ export function create() { let out = new glMatrix.ARRAY_TYPE(3); out[0] = 0; out[1] = 0; out[2] = 0; return out; } /** * Creates a new vec3 initialized with values from an existing vector * * @param {vec3} a vector to clone * @returns {vec3} a new 3D vector */ export function clone(a) { var out = new glMatrix.ARRAY_TYPE(3); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; return out; } /** * Calculates the length of a vec3 * * @param {vec3} a vector to calculate length of * @returns {Number} length of a */ export function length(a) { let x = a[0]; let y = a[1]; let z = a[2]; return Math.sqrt(x*x + y*y + z*z); } /** * Creates a new vec3 initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @returns {vec3} a new 3D vector */ export function fromValues(x, y, z) { let out = new glMatrix.ARRAY_TYPE(3); out[0] = x; out[1] = y; out[2] = z; return out; } /** * Copy the values from one vec3 to another * * @param {vec3} out the receiving vector * @param {vec3} a the source vector * @returns {vec3} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; return out; } /** * Set the components of a vec3 to the given values * * @param {vec3} out the receiving vector * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @returns {vec3} out */ export function set(out, x, y, z) { out[0] = x; out[1] = y; out[2] = z; return out; } /** * Adds two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; return out; } /** * Subtracts vector b from vector a * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; return out; } /** * Multiplies two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function multiply(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; out[2] = a[2] * b[2]; return out; } /** * Divides two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function divide(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; out[2] = a[2] / b[2]; return out; } /** * Math.ceil the components of a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to ceil * @returns {vec3} out */ export function ceil(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); out[2] = Math.ceil(a[2]); return out; } /** * Math.floor the components of a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to floor * @returns {vec3} out */ export function floor(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); out[2] = Math.floor(a[2]); return out; } /** * Returns the minimum of two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function min(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); out[2] = Math.min(a[2], b[2]); return out; } /** * Returns the maximum of two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function max(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); out[2] = Math.max(a[2], b[2]); return out; } /** * Math.round the components of a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to round * @returns {vec3} out */ export function round(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); out[2] = Math.round(a[2]); return out; } /** * Scales a vec3 by a scalar number * * @param {vec3} out the receiving vector * @param {vec3} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {vec3} out */ export function scale(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; return out; } /** * Adds two vec3's after scaling the second operand by a scalar value * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {Number} scale the amount to scale b by before adding * @returns {vec3} out */ export function scaleAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); return out; } /** * Calculates the euclidian distance between two vec3's * * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {Number} distance between a and b */ export function distance(a, b) { let x = b[0] - a[0]; let y = b[1] - a[1]; let z = b[2] - a[2]; return Math.sqrt(x*x + y*y + z*z); } /** * Calculates the squared euclidian distance between two vec3's * * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {Number} squared distance between a and b */ export function squaredDistance(a, b) { let x = b[0] - a[0]; let y = b[1] - a[1]; let z = b[2] - a[2]; return x*x + y*y + z*z; } /** * Calculates the squared length of a vec3 * * @param {vec3} a vector to calculate squared length of * @returns {Number} squared length of a */ export function squaredLength(a) { let x = a[0]; let y = a[1]; let z = a[2]; return x*x + y*y + z*z; } /** * Negates the components of a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to negate * @returns {vec3} out */ export function negate(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; return out; } /** * Returns the inverse of the components of a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to invert * @returns {vec3} out */ export function inverse(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; out[2] = 1.0 / a[2]; return out; } /** * Normalize a vec3 * * @param {vec3} out the receiving vector * @param {vec3} a vector to normalize * @returns {vec3} out */ export function normalize(out, a) { let x = a[0]; let y = a[1]; let z = a[2]; let len = x*x + y*y + z*z; if (len > 0) { //TODO: evaluate use of glm_invsqrt here? len = 1 / Math.sqrt(len); out[0] = a[0] * len; out[1] = a[1] * len; out[2] = a[2] * len; } return out; } /** * Calculates the dot product of two vec3's * * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {Number} dot product of a and b */ export function dot(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } /** * Computes the cross product of two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ export function cross(out, a, b) { let ax = a[0], ay = a[1], az = a[2]; let bx = b[0], by = b[1], bz = b[2]; out[0] = ay * bz - az * by; out[1] = az * bx - ax * bz; out[2] = ax * by - ay * bx; return out; } /** * Performs a linear interpolation between two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ export function lerp(out, a, b, t) { let ax = a[0]; let ay = a[1]; let az = a[2]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); return out; } /** * Performs a hermite interpolation with two control points * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {vec3} c the third operand * @param {vec3} d the fourth operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ export function hermite(out, a, b, c, d, t) { let factorTimes2 = t * t; let factor1 = factorTimes2 * (2 * t - 3) + 1; let factor2 = factorTimes2 * (t - 2) + t; let factor3 = factorTimes2 * (t - 1); let factor4 = factorTimes2 * (3 - 2 * t); out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } /** * Performs a bezier interpolation with two control points * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {vec3} c the third operand * @param {vec3} d the fourth operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ export function bezier(out, a, b, c, d, t) { let inverseFactor = 1 - t; let inverseFactorTimesTwo = inverseFactor * inverseFactor; let factorTimes2 = t * t; let factor1 = inverseFactorTimesTwo * inverseFactor; let factor2 = 3 * t * inverseFactorTimesTwo; let factor3 = 3 * factorTimes2 * inverseFactor; let factor4 = factorTimes2 * t; out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } /** * Generates a random vector with the given scale * * @param {vec3} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec3} out */ export function random(out, scale) { scale = scale || 1.0; let r = glMatrix.RANDOM() * 2.0 * Math.PI; let z = (glMatrix.RANDOM() * 2.0) - 1.0; let zScale = Math.sqrt(1.0-z*z) * scale; out[0] = Math.cos(r) * zScale; out[1] = Math.sin(r) * zScale; out[2] = z * scale; return out; } /** * Transforms the vec3 with a mat4. * 4th vector component is implicitly '1' * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec3} out */ export function transformMat4(out, a, m) { let x = a[0], y = a[1], z = a[2]; let w = m[3] * x + m[7] * y + m[11] * z + m[15]; w = w || 1.0; out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w; out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w; out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w; return out; } /** * Transforms the vec3 with a mat3. * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {mat3} m the 3x3 matrix to transform with * @returns {vec3} out */ export function transformMat3(out, a, m) { let x = a[0], y = a[1], z = a[2]; out[0] = x * m[0] + y * m[3] + z * m[6]; out[1] = x * m[1] + y * m[4] + z * m[7]; out[2] = x * m[2] + y * m[5] + z * m[8]; return out; } /** * Transforms the vec3 with a quat * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {quat} q quaternion to transform with * @returns {vec3} out */ export function transformQuat(out, a, q) { // benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations let x = a[0], y = a[1], z = a[2]; let qx = q[0], qy = q[1], qz = q[2], qw = q[3]; // calculate quat * vec let ix = qw * x + qy * z - qz * y; let iy = qw * y + qz * x - qx * z; let iz = qw * z + qx * y - qy * x; let iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; return out; } /** * Rotate a 3D vector around the x-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ export function rotateX(out, a, b, c){ let p = [], r=[]; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0]; r[1] = p[1]*Math.cos(c) - p[2]*Math.sin(c); r[2] = p[1]*Math.sin(c) + p[2]*Math.cos(c); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Rotate a 3D vector around the y-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ export function rotateY(out, a, b, c){ let p = [], r=[]; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[2]*Math.sin(c) + p[0]*Math.cos(c); r[1] = p[1]; r[2] = p[2]*Math.cos(c) - p[0]*Math.sin(c); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Rotate a 3D vector around the z-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ export function rotateZ(out, a, b, c){ let p = [], r=[]; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0]*Math.cos(c) - p[1]*Math.sin(c); r[1] = p[0]*Math.sin(c) + p[1]*Math.cos(c); r[2] = p[2]; //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Get the angle between two 3D vectors * @param {vec3} a The first operand * @param {vec3} b The second operand * @returns {Number} The angle in radians */ export function angle(a, b) { let tempA = fromValues(a[0], a[1], a[2]); let tempB = fromValues(b[0], b[1], b[2]); normalize(tempA, tempA); normalize(tempB, tempB); let cosine = dot(tempA, tempB); if(cosine > 1.0) { return 0; } else if(cosine < -1.0) { return Math.PI; } else { return Math.acos(cosine); } } /** * Returns a string representation of a vector * * @param {vec3} a vector to represent as a string * @returns {String} string representation of the vector */ export function str(a) { return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'; } /** * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) * * @param {vec3} a The first vector. * @param {vec3} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec3} a The first vector. * @param {vec3} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2]; let b0 = b[0], b1 = b[1], b2 = b[2]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2))); } /** * Alias for {@link vec3.subtract} * @function */ export const sub = subtract; /** * Alias for {@link vec3.multiply} * @function */ export const mul = multiply; /** * Alias for {@link vec3.divide} * @function */ export const div = divide; /** * Alias for {@link vec3.distance} * @function */ export const dist = distance; /** * Alias for {@link vec3.squaredDistance} * @function */ export const sqrDist = squaredDistance; /** * Alias for {@link vec3.length} * @function */ export const len = length; /** * Alias for {@link vec3.squaredLength} * @function */ export const sqrLen = squaredLength; /** * Perform some operation over an array of vec3s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ export const forEach = (function() { let vec = create(); return function(a, stride, offset, count, fn, arg) { let i, l; if(!stride) { stride = 3; } if(!offset) { offset = 0; } if(count) { l = Math.min((count * stride) + offset, a.length); } else { l = a.length; } for(i = offset; i < l; i += stride) { vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; fn(vec, vec, arg); a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; } return a; }; })(); ================================================ FILE: polyfill/fill/gl-matrix/vec4.js ================================================ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ import * as glMatrix from "./common.js"; /** * 4 Dimensional Vector * @module vec4 */ /** * Creates a new, empty vec4 * * @returns {vec4} a new 4D vector */ export function create() { let out = new glMatrix.ARRAY_TYPE(4); out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 0; return out; } /** * Creates a new vec4 initialized with values from an existing vector * * @param {vec4} a vector to clone * @returns {vec4} a new 4D vector */ export function clone(a) { let out = new glMatrix.ARRAY_TYPE(4); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Creates a new vec4 initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {vec4} a new 4D vector */ export function fromValues(x, y, z, w) { let out = new glMatrix.ARRAY_TYPE(4); out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } /** * Copy the values from one vec4 to another * * @param {vec4} out the receiving vector * @param {vec4} a the source vector * @returns {vec4} out */ export function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Set the components of a vec4 to the given values * * @param {vec4} out the receiving vector * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {vec4} out */ export function set(out, x, y, z, w) { out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } /** * Adds two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; return out; } /** * Subtracts vector b from vector a * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; return out; } /** * Multiplies two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function multiply(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; out[2] = a[2] * b[2]; out[3] = a[3] * b[3]; return out; } /** * Divides two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function divide(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; out[2] = a[2] / b[2]; out[3] = a[3] / b[3]; return out; } /** * Math.ceil the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to ceil * @returns {vec4} out */ export function ceil(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); out[2] = Math.ceil(a[2]); out[3] = Math.ceil(a[3]); return out; } /** * Math.floor the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to floor * @returns {vec4} out */ export function floor(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); out[2] = Math.floor(a[2]); out[3] = Math.floor(a[3]); return out; } /** * Returns the minimum of two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function min(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); out[2] = Math.min(a[2], b[2]); out[3] = Math.min(a[3], b[3]); return out; } /** * Returns the maximum of two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ export function max(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); out[2] = Math.max(a[2], b[2]); out[3] = Math.max(a[3], b[3]); return out; } /** * Math.round the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to round * @returns {vec4} out */ export function round(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); out[2] = Math.round(a[2]); out[3] = Math.round(a[3]); return out; } /** * Scales a vec4 by a scalar number * * @param {vec4} out the receiving vector * @param {vec4} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {vec4} out */ export function scale(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; return out; } /** * Adds two vec4's after scaling the second operand by a scalar value * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @param {Number} scale the amount to scale b by before adding * @returns {vec4} out */ export function scaleAndAdd(out, a, b, scale) { out[0] = a[0] + (b[0] * scale); out[1] = a[1] + (b[1] * scale); out[2] = a[2] + (b[2] * scale); out[3] = a[3] + (b[3] * scale); return out; } /** * Calculates the euclidian distance between two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} distance between a and b */ export function distance(a, b) { let x = b[0] - a[0]; let y = b[1] - a[1]; let z = b[2] - a[2]; let w = b[3] - a[3]; return Math.sqrt(x*x + y*y + z*z + w*w); } /** * Calculates the squared euclidian distance between two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} squared distance between a and b */ export function squaredDistance(a, b) { let x = b[0] - a[0]; let y = b[1] - a[1]; let z = b[2] - a[2]; let w = b[3] - a[3]; return x*x + y*y + z*z + w*w; } /** * Calculates the length of a vec4 * * @param {vec4} a vector to calculate length of * @returns {Number} length of a */ export function length(a) { let x = a[0]; let y = a[1]; let z = a[2]; let w = a[3]; return Math.sqrt(x*x + y*y + z*z + w*w); } /** * Calculates the squared length of a vec4 * * @param {vec4} a vector to calculate squared length of * @returns {Number} squared length of a */ export function squaredLength(a) { let x = a[0]; let y = a[1]; let z = a[2]; let w = a[3]; return x*x + y*y + z*z + w*w; } /** * Negates the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to negate * @returns {vec4} out */ export function negate(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; out[3] = -a[3]; return out; } /** * Returns the inverse of the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to invert * @returns {vec4} out */ export function inverse(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; out[2] = 1.0 / a[2]; out[3] = 1.0 / a[3]; return out; } /** * Normalize a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to normalize * @returns {vec4} out */ export function normalize(out, a) { let x = a[0]; let y = a[1]; let z = a[2]; let w = a[3]; let len = x*x + y*y + z*z + w*w; if (len > 0) { len = 1 / Math.sqrt(len); out[0] = x * len; out[1] = y * len; out[2] = z * len; out[3] = w * len; } return out; } /** * Calculates the dot product of two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} dot product of a and b */ export function dot(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; } /** * Performs a linear interpolation between two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec4} out */ export function lerp(out, a, b, t) { let ax = a[0]; let ay = a[1]; let az = a[2]; let aw = a[3]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); out[3] = aw + t * (b[3] - aw); return out; } /** * Generates a random vector with the given scale * * @param {vec4} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec4} out */ export function random(out, vectorScale) { vectorScale = vectorScale || 1.0; //TODO: This is a pretty awful way of doing this. Find something better. out[0] = glMatrix.RANDOM(); out[1] = glMatrix.RANDOM(); out[2] = glMatrix.RANDOM(); out[3] = glMatrix.RANDOM(); normalize(out, out); scale(out, out, vectorScale); return out; } /** * Transforms the vec4 with a mat4. * * @param {vec4} out the receiving vector * @param {vec4} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec4} out */ export function transformMat4(out, a, m) { let x = a[0], y = a[1], z = a[2], w = a[3]; out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w; out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w; out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w; out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w; return out; } /** * Transforms the vec4 with a quat * * @param {vec4} out the receiving vector * @param {vec4} a the vector to transform * @param {quat} q quaternion to transform with * @returns {vec4} out */ export function transformQuat(out, a, q) { let x = a[0], y = a[1], z = a[2]; let qx = q[0], qy = q[1], qz = q[2], qw = q[3]; // calculate quat * vec let ix = qw * x + qy * z - qz * y; let iy = qw * y + qz * x - qx * z; let iz = qw * z + qx * y - qy * x; let iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; out[3] = a[3]; return out; } /** * Returns a string representation of a vector * * @param {vec4} a vector to represent as a string * @returns {String} string representation of the vector */ export function str(a) { return 'vec4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) * * @param {vec4} a The first vector. * @param {vec4} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec4} a The first vector. * @param {vec4} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ export function equals(a, b) { let a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; let b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; return (Math.abs(a0 - b0) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON*Math.max(1.0, Math.abs(a3), Math.abs(b3))); } /** * Alias for {@link vec4.subtract} * @function */ export const sub = subtract; /** * Alias for {@link vec4.multiply} * @function */ export const mul = multiply; /** * Alias for {@link vec4.divide} * @function */ export const div = divide; /** * Alias for {@link vec4.distance} * @function */ export const dist = distance; /** * Alias for {@link vec4.squaredDistance} * @function */ export const sqrDist = squaredDistance; /** * Alias for {@link vec4.length} * @function */ export const len = length; /** * Alias for {@link vec4.squaredLength} * @function */ export const sqrLen = squaredLength; /** * Perform some operation over an array of vec4s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ export const forEach = (function() { let vec = create(); return function(a, stride, offset, count, fn, arg) { let i, l; if(!stride) { stride = 4; } if(!offset) { offset = 0; } if(count) { l = Math.min((count * stride) + offset, a.length); } else { l = a.length; } for(i = offset; i < l; i += stride) { vec[0] = a[i]; vec[1] = a[i+1]; vec[2] = a[i+2]; vec[3] = a[i+3]; fn(vec, vec, arg); a[i] = vec[0]; a[i+1] = vec[1]; a[i+2] = vec[2]; a[i+3] = vec[3]; } return a; }; })(); ================================================ FILE: polyfill/fill/gl-matrix-min.js ================================================ /** * @fileoverview gl-matrix - High performance matrix and vector operations * @author Brandon Jones * @author Colin MacKenzie IV * @version 2.4.0 */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ !function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}("undefined"!=typeof self?self:this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={i:a,l:!1,exports:{}};return t[a].call(e.exports,e,e.exports,n),e.l=!0,e.exports}var r={};return n.m=t,n.c=r,n.d=function(t,r,a){n.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,"a",r),r},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=4)}([function(t,n,r){"use strict";function a(t){n.ARRAY_TYPE=i=t}function e(t){return t*s}function u(t,n){return Math.abs(t-n)<=o*Math.max(1,Math.abs(t),Math.abs(n))}Object.defineProperty(n,"__esModule",{value:!0}),n.setMatrixArrayType=a,n.toRadian=e,n.equals=u;var o=n.EPSILON=1e-6,i=n.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,s=(n.RANDOM=Math.random,Math.PI/180)},function(t,n,r){"use strict";function a(){var t=new g.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function e(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t}function u(t){var n=new g.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n}function o(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t}function i(t,n,r,a,e,u,o,i,s){var c=new g.ARRAY_TYPE(9);return c[0]=t,c[1]=n,c[2]=r,c[3]=a,c[4]=e,c[5]=u,c[6]=o,c[7]=i,c[8]=s,c}function s(t,n,r,a,e,u,o,i,s,c){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t[4]=u,t[5]=o,t[6]=i,t[7]=s,t[8]=c,t}function c(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function f(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t}function M(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],s=n[6],c=n[7],f=n[8],M=f*o-i*c,h=-f*u+i*s,l=c*u-o*s,v=r*M+a*h+e*l;return v?(v=1/v,t[0]=M*v,t[1]=(-f*a+e*c)*v,t[2]=(i*a-e*o)*v,t[3]=h*v,t[4]=(f*r-e*s)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-c*r+a*s)*v,t[8]=(o*r-a*u)*v,t):null}function h(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],s=n[6],c=n[7],f=n[8];return t[0]=o*f-i*c,t[1]=e*c-a*f,t[2]=a*i-e*o,t[3]=i*s-u*f,t[4]=r*f-e*s,t[5]=e*u-r*i,t[6]=u*c-o*s,t[7]=a*s-r*c,t[8]=r*o-a*u,t}function l(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],s=t[7],c=t[8];return n*(c*u-o*s)+r*(-c*e+o*i)+a*(s*e-u*i)}function v(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],s=n[5],c=n[6],f=n[7],M=n[8],h=r[0],l=r[1],v=r[2],d=r[3],b=r[4],m=r[5],p=r[6],P=r[7],E=r[8];return t[0]=h*a+l*o+v*c,t[1]=h*e+l*i+v*f,t[2]=h*u+l*s+v*M,t[3]=d*a+b*o+m*c,t[4]=d*e+b*i+m*f,t[5]=d*u+b*s+m*M,t[6]=p*a+P*o+E*c,t[7]=p*e+P*i+E*f,t[8]=p*u+P*s+E*M,t}function d(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],s=n[5],c=n[6],f=n[7],M=n[8],h=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=s,t[6]=h*a+l*o+c,t[7]=h*e+l*i+f,t[8]=h*u+l*s+M,t}function b(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],s=n[5],c=n[6],f=n[7],M=n[8],h=Math.sin(r),l=Math.cos(r);return t[0]=l*a+h*o,t[1]=l*e+h*i,t[2]=l*u+h*s,t[3]=l*o-h*a,t[4]=l*i-h*e,t[5]=l*s-h*u,t[6]=c,t[7]=f,t[8]=M,t}function m(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t}function p(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t}function P(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function E(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function O(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t}function x(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,s=e+e,c=r*o,f=a*o,M=a*i,h=e*o,l=e*i,v=e*s,d=u*o,b=u*i,m=u*s;return t[0]=1-M-v,t[3]=f-m,t[6]=h+b,t[1]=f+m,t[4]=1-c-v,t[7]=l-d,t[2]=h-b,t[5]=l+d,t[8]=1-c-M,t}function A(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],s=n[6],c=n[7],f=n[8],M=n[9],h=n[10],l=n[11],v=n[12],d=n[13],b=n[14],m=n[15],p=r*i-a*o,P=r*s-e*o,E=r*c-u*o,O=a*s-e*i,x=a*c-u*i,A=e*c-u*s,q=f*d-M*v,y=f*b-h*v,w=f*m-l*v,R=M*b-h*d,L=M*m-l*d,S=h*m-l*b,_=p*S-P*L+E*R+O*w-x*y+A*q;return _?(_=1/_,t[0]=(i*S-s*L+c*R)*_,t[1]=(s*w-o*S-c*y)*_,t[2]=(o*L-i*w+c*q)*_,t[3]=(e*L-a*S-u*R)*_,t[4]=(r*S-e*w+u*y)*_,t[5]=(a*w-r*L-u*q)*_,t[6]=(d*A-b*x+m*O)*_,t[7]=(b*E-v*A-m*P)*_,t[8]=(v*x-d*E+m*p)*_,t):null}function q(t,n,r){return t[0]=2/n,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function y(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function w(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))}function R(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t[4]=n[4]+r[4],t[5]=n[5]+r[5],t[6]=n[6]+r[6],t[7]=n[7]+r[7],t[8]=n[8]+r[8],t}function L(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t[4]=n[4]-r[4],t[5]=n[5]-r[5],t[6]=n[6]-r[6],t[7]=n[7]-r[7],t[8]=n[8]-r[8],t}function S(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=n[7]*r,t[8]=n[8]*r,t}function _(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t[4]=n[4]+r[4]*a,t[5]=n[5]+r[5]*a,t[6]=n[6]+r[6]*a,t[7]=n[7]+r[7]*a,t[8]=n[8]+r[8]*a,t}function I(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]}function N(t,n){var r=t[0],a=t[1],e=t[2],u=t[3],o=t[4],i=t[5],s=t[6],c=t[7],f=t[8],M=n[0],h=n[1],l=n[2],v=n[3],d=n[4],b=n[5],m=n[6],p=n[7],P=n[8];return Math.abs(r-M)<=g.EPSILON*Math.max(1,Math.abs(r),Math.abs(M))&&Math.abs(a-h)<=g.EPSILON*Math.max(1,Math.abs(a),Math.abs(h))&&Math.abs(e-l)<=g.EPSILON*Math.max(1,Math.abs(e),Math.abs(l))&&Math.abs(u-v)<=g.EPSILON*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(o-d)<=g.EPSILON*Math.max(1,Math.abs(o),Math.abs(d))&&Math.abs(i-b)<=g.EPSILON*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(s-m)<=g.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(c-p)<=g.EPSILON*Math.max(1,Math.abs(c),Math.abs(p))&&Math.abs(f-P)<=g.EPSILON*Math.max(1,Math.abs(f),Math.abs(P))}Object.defineProperty(n,"__esModule",{value:!0}),n.sub=n.mul=void 0,n.create=a,n.fromMat4=e,n.clone=u,n.copy=o,n.fromValues=i,n.set=s,n.identity=c,n.transpose=f,n.invert=M,n.adjoint=h,n.determinant=l,n.multiply=v,n.translate=d,n.rotate=b,n.scale=m,n.fromTranslation=p,n.fromRotation=P,n.fromScaling=E,n.fromMat2d=O,n.fromQuat=x,n.normalFromMat4=A,n.projection=q,n.str=y,n.frob=w,n.add=R,n.subtract=L,n.multiplyScalar=S,n.multiplyScalarAndAdd=_,n.exactEquals=I,n.equals=N;var Y=r(0),g=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(Y);n.mul=v,n.sub=L},function(t,n,r){"use strict";function a(){var t=new Z.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t}function e(t){var n=new Z.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n}function u(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)}function o(t,n,r){var a=new Z.ARRAY_TYPE(3);return a[0]=t,a[1]=n,a[2]=r,a}function i(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function s(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t}function c(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t}function f(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t}function M(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t}function h(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t}function l(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t[2]=Math.ceil(n[2]),t}function v(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t[2]=Math.floor(n[2]),t}function d(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t}function b(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t}function m(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t[2]=Math.round(n[2]),t}function p(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t}function P(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t}function E(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)}function O(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e}function x(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a}function A(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t}function q(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t}function y(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t}function w(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function R(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],s=r[2];return t[0]=e*s-u*i,t[1]=u*o-a*s,t[2]=a*i-e*o,t}function L(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t}function S(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,s=o*(u-2)+u,c=o*(u-1),f=o*(3-2*u);return t[0]=n[0]*i+r[0]*s+a[0]*c+e[0]*f,t[1]=n[1]*i+r[1]*s+a[1]*c+e[1]*f,t[2]=n[2]*i+r[2]*s+a[2]*c+e[2]*f,t}function _(t,n,r,a,e,u){var o=1-u,i=o*o,s=u*u,c=i*o,f=3*u*i,M=3*s*o,h=s*u;return t[0]=n[0]*c+r[0]*f+a[0]*M+e[0]*h,t[1]=n[1]*c+r[1]*f+a[1]*M+e[1]*h,t[2]=n[2]*c+r[2]*f+a[2]*M+e[2]*h,t}function I(t,n){n=n||1;var r=2*Z.RANDOM()*Math.PI,a=2*Z.RANDOM()-1,e=Math.sqrt(1-a*a)*n;return t[0]=Math.cos(r)*e,t[1]=Math.sin(r)*e,t[2]=a*n,t}function N(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t}function Y(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t}function g(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],s=r[2],c=r[3],f=c*a+i*u-s*e,M=c*e+s*a-o*u,h=c*u+o*e-i*a,l=-o*a-i*e-s*u;return t[0]=f*c+l*-o+M*-s-h*-i,t[1]=M*c+l*-i+h*-o-f*-s,t[2]=h*c+l*-s+f*-i-M*-o,t}function T(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t}function j(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t}function D(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t}function V(t,n){var r=o(t[0],t[1],t[2]),a=o(n[0],n[1],n[2]);y(r,r),y(a,a);var e=w(r,a);return e>1?0:e<-1?Math.PI:Math.acos(e)}function z(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function F(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]}function Q(t,n){var r=t[0],a=t[1],e=t[2],u=n[0],o=n[1],i=n[2];return Math.abs(r-u)<=Z.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-o)<=Z.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))&&Math.abs(e-i)<=Z.EPSILON*Math.max(1,Math.abs(e),Math.abs(i))}Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.len=n.sqrDist=n.dist=n.div=n.mul=n.sub=void 0,n.create=a,n.clone=e,n.length=u,n.fromValues=o,n.copy=i,n.set=s,n.add=c,n.subtract=f,n.multiply=M,n.divide=h,n.ceil=l,n.floor=v,n.min=d,n.max=b,n.round=m,n.scale=p,n.scaleAndAdd=P,n.distance=E,n.squaredDistance=O,n.squaredLength=x,n.negate=A,n.inverse=q,n.normalize=y,n.dot=w,n.cross=R,n.lerp=L,n.hermite=S,n.bezier=_,n.random=I,n.transformMat4=N,n.transformMat3=Y,n.transformQuat=g,n.rotateX=T,n.rotateY=j,n.rotateZ=D,n.angle=V,n.str=z,n.exactEquals=F,n.equals=Q;var X=r(0),Z=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(X);n.sub=f,n.mul=M,n.div=h,n.dist=E,n.sqrDist=O,n.len=u,n.sqrLen=x,n.forEach=function(){var t=a();return function(n,r,a,e,u,o){var i=void 0,s=void 0;for(r||(r=3),a||(a=0),s=e?Math.min(e*r+a,n.length):n.length,i=a;i0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t}function w(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function R(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t}function L(t,n){return n=n||1,t[0]=T.RANDOM(),t[1]=T.RANDOM(),t[2]=T.RANDOM(),t[3]=T.RANDOM(),y(t,t),m(t,t,n),t}function S(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t}function _(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],s=r[2],c=r[3],f=c*a+i*u-s*e,M=c*e+s*a-o*u,h=c*u+o*e-i*a,l=-o*a-i*e-s*u;return t[0]=f*c+l*-o+M*-s-h*-i,t[1]=M*c+l*-i+h*-o-f*-s,t[2]=h*c+l*-s+f*-i-M*-o,t[3]=n[3],t}function I(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}function N(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]}function Y(t,n){var r=t[0],a=t[1],e=t[2],u=t[3],o=n[0],i=n[1],s=n[2],c=n[3];return Math.abs(r-o)<=T.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-i)<=T.EPSILON*Math.max(1,Math.abs(a),Math.abs(i))&&Math.abs(e-s)<=T.EPSILON*Math.max(1,Math.abs(e),Math.abs(s))&&Math.abs(u-c)<=T.EPSILON*Math.max(1,Math.abs(u),Math.abs(c))}Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.len=n.sqrDist=n.dist=n.div=n.mul=n.sub=void 0,n.create=a,n.clone=e,n.fromValues=u,n.copy=o,n.set=i,n.add=s,n.subtract=c,n.multiply=f,n.divide=M,n.ceil=h,n.floor=l,n.min=v,n.max=d,n.round=b,n.scale=m,n.scaleAndAdd=p,n.distance=P,n.squaredDistance=E,n.length=O,n.squaredLength=x,n.negate=A,n.inverse=q,n.normalize=y,n.dot=w,n.lerp=R,n.random=L,n.transformMat4=S,n.transformQuat=_,n.str=I,n.exactEquals=N,n.equals=Y;var g=r(0),T=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(g);n.sub=c,n.mul=f,n.div=M,n.dist=P,n.sqrDist=E,n.len=O,n.sqrLen=x,n.forEach=function(){var t=a();return function(n,r,a,e,u,o){var i=void 0,s=void 0;for(r||(r=4),a||(a=0),s=e?Math.min(e*r+a,n.length):n.length,i=a;i0?(a=2*Math.sqrt(r+1),t[3]=.25*a,t[0]=(n[6]-n[9])/a,t[1]=(n[8]-n[2])/a,t[2]=(n[1]-n[4])/a):n[0]>n[5]&&n[0]>n[10]?(a=2*Math.sqrt(1+n[0]-n[5]-n[10]),t[3]=(n[6]-n[9])/a,t[0]=.25*a,t[1]=(n[1]+n[4])/a,t[2]=(n[8]+n[2])/a):n[5]>n[10]?(a=2*Math.sqrt(1+n[5]-n[0]-n[10]),t[3]=(n[8]-n[2])/a,t[0]=(n[1]+n[4])/a,t[1]=.25*a,t[2]=(n[6]+n[9])/a):(a=2*Math.sqrt(1+n[10]-n[0]-n[5]),t[3]=(n[1]-n[4])/a,t[0]=(n[8]+n[2])/a,t[1]=(n[6]+n[9])/a,t[2]=.25*a),t}function _(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],s=e+e,c=u+u,f=o+o,M=e*s,h=e*c,l=e*f,v=u*c,d=u*f,b=o*f,m=i*s,p=i*c,P=i*f,E=a[0],O=a[1],x=a[2];return t[0]=(1-(v+b))*E,t[1]=(h+P)*E,t[2]=(l-p)*E,t[3]=0,t[4]=(h-P)*O,t[5]=(1-(M+b))*O,t[6]=(d+m)*O,t[7]=0,t[8]=(l+p)*x,t[9]=(d-m)*x,t[10]=(1-(M+v))*x,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function I(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],s=n[3],c=u+u,f=o+o,M=i+i,h=u*c,l=u*f,v=u*M,d=o*f,b=o*M,m=i*M,p=s*c,P=s*f,E=s*M,O=a[0],x=a[1],A=a[2],q=e[0],y=e[1],w=e[2],R=(1-(d+m))*O,L=(l+E)*O,S=(v-P)*O,_=(l-E)*x,I=(1-(h+m))*x,N=(b+p)*x,Y=(v+P)*A,g=(b-p)*A,T=(1-(h+d))*A;return t[0]=R,t[1]=L,t[2]=S,t[3]=0,t[4]=_,t[5]=I,t[6]=N,t[7]=0,t[8]=Y,t[9]=g,t[10]=T,t[11]=0,t[12]=r[0]+q-(R*q+_*y+Y*w),t[13]=r[1]+y-(L*q+I*y+g*w),t[14]=r[2]+w-(S*q+N*y+T*w),t[15]=1,t}function N(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,s=e+e,c=r*o,f=a*o,M=a*i,h=e*o,l=e*i,v=e*s,d=u*o,b=u*i,m=u*s;return t[0]=1-M-v,t[1]=f+m,t[2]=h-b,t[3]=0,t[4]=f-m,t[5]=1-c-v,t[6]=l+d,t[7]=0,t[8]=h+b,t[9]=l-d,t[10]=1-c-M,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Y(t,n,r,a,e,u,o){var i=1/(r-n),s=1/(e-a),c=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*s,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*s,t[10]=(o+u)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*c,t[15]=0,t}function g(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t}function T(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),s=2/(o+i),c=2/(e+u);return t[0]=s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-i)*s*.5,t[9]=(e-u)*c*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t}function j(t,n,r,a,e,u,o){var i=1/(n-r),s=1/(a-e),c=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*s,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*s,t[14]=(o+u)*c,t[15]=1,t}function D(t,n,r,a){var e=void 0,u=void 0,o=void 0,i=void 0,c=void 0,f=void 0,M=void 0,h=void 0,l=void 0,v=void 0,d=n[0],b=n[1],m=n[2],p=a[0],P=a[1],E=a[2],O=r[0],x=r[1],A=r[2];return Math.abs(d-O)0&&(l=1/Math.sqrt(l),f*=l,M*=l,h*=l);var v=s*h-c*M,d=c*f-i*h,b=i*M-s*f;return l=v*v+d*d+b*b,l>0&&(l=1/Math.sqrt(l),v*=l,d*=l,b*=l),t[0]=v,t[1]=d,t[2]=b,t[3]=0,t[4]=M*b-h*d,t[5]=h*v-f*b,t[6]=f*d-M*v,t[7]=0,t[8]=f,t[9]=M,t[10]=h,t[11]=0,t[12]=e,t[13]=u,t[14]=o,t[15]=1,t}function z(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function F(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))}function Q(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t[4]=n[4]+r[4],t[5]=n[5]+r[5],t[6]=n[6]+r[6],t[7]=n[7]+r[7],t[8]=n[8]+r[8],t[9]=n[9]+r[9],t[10]=n[10]+r[10],t[11]=n[11]+r[11],t[12]=n[12]+r[12],t[13]=n[13]+r[13],t[14]=n[14]+r[14],t[15]=n[15]+r[15],t}function X(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t[4]=n[4]-r[4],t[5]=n[5]-r[5],t[6]=n[6]-r[6],t[7]=n[7]-r[7],t[8]=n[8]-r[8],t[9]=n[9]-r[9],t[10]=n[10]-r[10],t[11]=n[11]-r[11],t[12]=n[12]-r[12],t[13]=n[13]-r[13],t[14]=n[14]-r[14],t[15]=n[15]-r[15],t}function Z(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t[4]=n[4]*r,t[5]=n[5]*r,t[6]=n[6]*r,t[7]=n[7]*r,t[8]=n[8]*r,t[9]=n[9]*r,t[10]=n[10]*r,t[11]=n[11]*r,t[12]=n[12]*r,t[13]=n[13]*r,t[14]=n[14]*r,t[15]=n[15]*r,t}function k(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t[4]=n[4]+r[4]*a,t[5]=n[5]+r[5]*a,t[6]=n[6]+r[6]*a,t[7]=n[7]+r[7]*a,t[8]=n[8]+r[8]*a,t[9]=n[9]+r[9]*a,t[10]=n[10]+r[10]*a,t[11]=n[11]+r[11]*a,t[12]=n[12]+r[12]*a,t[13]=n[13]+r[13]*a,t[14]=n[14]+r[14]*a,t[15]=n[15]+r[15]*a,t}function U(t,n){return t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[11]===n[11]&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[15]===n[15]}function W(t,n){var r=t[0],a=t[1],e=t[2],u=t[3],o=t[4],i=t[5],s=t[6],c=t[7],f=t[8],M=t[9],h=t[10],l=t[11],v=t[12],d=t[13],b=t[14],m=t[15],p=n[0],P=n[1],E=n[2],O=n[3],x=n[4],A=n[5],q=n[6],y=n[7],w=n[8],R=n[9],L=n[10],S=n[11],_=n[12],I=n[13],N=n[14],Y=n[15];return Math.abs(r-p)<=C.EPSILON*Math.max(1,Math.abs(r),Math.abs(p))&&Math.abs(a-P)<=C.EPSILON*Math.max(1,Math.abs(a),Math.abs(P))&&Math.abs(e-E)<=C.EPSILON*Math.max(1,Math.abs(e),Math.abs(E))&&Math.abs(u-O)<=C.EPSILON*Math.max(1,Math.abs(u),Math.abs(O))&&Math.abs(o-x)<=C.EPSILON*Math.max(1,Math.abs(o),Math.abs(x))&&Math.abs(i-A)<=C.EPSILON*Math.max(1,Math.abs(i),Math.abs(A))&&Math.abs(s-q)<=C.EPSILON*Math.max(1,Math.abs(s),Math.abs(q))&&Math.abs(c-y)<=C.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(f-w)<=C.EPSILON*Math.max(1,Math.abs(f),Math.abs(w))&&Math.abs(M-R)<=C.EPSILON*Math.max(1,Math.abs(M),Math.abs(R))&&Math.abs(h-L)<=C.EPSILON*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(l-S)<=C.EPSILON*Math.max(1,Math.abs(l),Math.abs(S))&&Math.abs(v-_)<=C.EPSILON*Math.max(1,Math.abs(v),Math.abs(_))&&Math.abs(d-I)<=C.EPSILON*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(b-N)<=C.EPSILON*Math.max(1,Math.abs(b),Math.abs(N))&&Math.abs(m-Y)<=C.EPSILON*Math.max(1,Math.abs(m),Math.abs(Y))}Object.defineProperty(n,"__esModule",{value:!0}),n.sub=n.mul=void 0,n.create=a,n.clone=e,n.copy=u,n.fromValues=o,n.set=i,n.identity=s,n.transpose=c,n.invert=f,n.adjoint=M,n.determinant=h,n.multiply=l,n.translate=v,n.scale=d,n.rotate=b,n.rotateX=m,n.rotateY=p,n.rotateZ=P,n.fromTranslation=E,n.fromScaling=O,n.fromRotation=x,n.fromXRotation=A,n.fromYRotation=q,n.fromZRotation=y,n.fromRotationTranslation=w,n.getTranslation=R,n.getScaling=L,n.getRotation=S,n.fromRotationTranslationScale=_,n.fromRotationTranslationScaleOrigin=I,n.fromQuat=N,n.frustum=Y,n.perspective=g,n.perspectiveFromFieldOfView=T,n.ortho=j,n.lookAt=D,n.targetTo=V,n.str=z,n.frob=F,n.add=Q,n.subtract=X,n.multiplyScalar=Z,n.multiplyScalarAndAdd=k,n.exactEquals=U,n.equals=W;var B=r(0),C=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(B);n.mul=l,n.sub=X},function(t,n,r){"use strict";function a(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}function e(){var t=new E.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function u(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t}function o(t,n,r){r*=.5;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t}function i(t,n){var r=2*Math.acos(n[3]),a=Math.sin(r/2);return 0!=a?(t[0]=n[0]/a,t[1]=n[1]/a,t[2]=n[2]/a):(t[0]=1,t[1]=0,t[2]=0),r}function s(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],s=r[1],c=r[2],f=r[3];return t[0]=a*f+o*i+e*c-u*s,t[1]=e*f+o*s+u*i-a*c,t[2]=u*f+o*c+a*s-e*i,t[3]=o*f-a*i-e*s-u*c,t}function c(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),s=Math.cos(r);return t[0]=a*s+o*i,t[1]=e*s+u*i,t[2]=u*s-e*i,t[3]=o*s-a*i,t}function f(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),s=Math.cos(r);return t[0]=a*s-u*i,t[1]=e*s+o*i,t[2]=u*s+a*i,t[3]=o*s-e*i,t}function M(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),s=Math.cos(r);return t[0]=a*s+e*i,t[1]=e*s-a*i,t[2]=u*s+o*i,t[3]=o*s-u*i,t}function h(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t}function l(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],s=r[0],c=r[1],f=r[2],M=r[3],h=void 0,l=void 0,v=void 0,d=void 0,b=void 0;return l=e*s+u*c+o*f+i*M,l<0&&(l=-l,s=-s,c=-c,f=-f,M=-M),1-l>1e-6?(h=Math.acos(l),v=Math.sin(h),d=Math.sin((1-a)*h)/v,b=Math.sin(a*h)/v):(d=1-a,b=a),t[0]=d*e+b*s,t[1]=d*u+b*c,t[2]=d*o+b*f,t[3]=d*i+b*M,t}function v(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t}function d(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t}function b(t,n){var r=n[0]+n[4]+n[8],a=void 0;if(r>0)a=Math.sqrt(r+1),t[3]=.5*a,a=.5/a,t[0]=(n[5]-n[7])*a,t[1]=(n[6]-n[2])*a,t[2]=(n[1]-n[3])*a;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;a=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*a,a=.5/a,t[3]=(n[3*u+o]-n[3*o+u])*a,t[u]=(n[3*u+e]+n[3*e+u])*a,t[o]=(n[3*o+e]+n[3*e+o])*a}return t}function m(t,n,r,a){var e=.5*Math.PI/180;n*=e,r*=e,a*=e;var u=Math.sin(n),o=Math.cos(n),i=Math.sin(r),s=Math.cos(r),c=Math.sin(a),f=Math.cos(a);return t[0]=u*s*f-o*i*c,t[1]=o*i*f+u*s*c,t[2]=o*s*c-u*i*f,t[3]=o*s*f+u*i*c,t}function p(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}Object.defineProperty(n,"__esModule",{value:!0}),n.setAxes=n.sqlerp=n.rotationTo=n.equals=n.exactEquals=n.normalize=n.sqrLen=n.squaredLength=n.len=n.length=n.lerp=n.dot=n.scale=n.mul=n.add=n.set=n.copy=n.fromValues=n.clone=void 0,n.create=e,n.identity=u,n.setAxisAngle=o,n.getAxisAngle=i,n.multiply=s,n.rotateX=c,n.rotateY=f,n.rotateZ=M,n.calculateW=h,n.slerp=l,n.invert=v,n.conjugate=d,n.fromMat3=b,n.fromEuler=m,n.str=p;var P=r(0),E=a(P),O=r(1),x=a(O),A=r(2),q=a(A),y=r(3),w=a(y),R=(n.clone=w.clone,n.fromValues=w.fromValues,n.copy=w.copy,n.set=w.set,n.add=w.add,n.mul=s,n.scale=w.scale,n.dot=w.dot,n.lerp=w.lerp,n.length=w.length),L=(n.len=R,n.squaredLength=w.squaredLength),S=(n.sqrLen=L,n.normalize=w.normalize);n.exactEquals=w.exactEquals,n.equals=w.equals,n.rotationTo=function(){var t=q.create(),n=q.fromValues(1,0,0),r=q.fromValues(0,1,0);return function(a,e,u){var i=q.dot(e,u);return i<-.999999?(q.cross(t,n,e),q.len(t)<1e-6&&q.cross(t,r,e),q.normalize(t,t),o(a,t,Math.PI),a):i>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(q.cross(t,e,u),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+i,S(a,a))}}(),n.sqlerp=function(){var t=e(),n=e();return function(r,a,e,u,o,i){return l(t,a,o,i),l(n,e,u,i),l(r,t,n,2*i*(1-i)),r}}(),n.setAxes=function(){var t=x.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],S(n,b(n,t))}}()},function(t,n,r){"use strict";function a(){var t=new V.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t}function e(t){var n=new V.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n}function u(t,n){var r=new V.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r}function o(t,n){return t[0]=n[0],t[1]=n[1],t}function i(t,n,r){return t[0]=n,t[1]=r,t}function s(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t}function c(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t}function f(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t}function M(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t}function h(t,n){return t[0]=Math.ceil(n[0]),t[1]=Math.ceil(n[1]),t}function l(t,n){return t[0]=Math.floor(n[0]),t[1]=Math.floor(n[1]),t}function v(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t}function d(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t}function b(t,n){return t[0]=Math.round(n[0]),t[1]=Math.round(n[1]),t}function m(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t}function p(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t}function P(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)}function E(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a}function O(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)}function x(t){var n=t[0],r=t[1];return n*n+r*r}function A(t,n){return t[0]=-n[0],t[1]=-n[1],t}function q(t,n){return t[0]=1/n[0],t[1]=1/n[1],t}function y(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t}function w(t,n){return t[0]*n[0]+t[1]*n[1]}function R(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t}function L(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t}function S(t,n){n=n||1;var r=2*V.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t}function _(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t}function I(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t}function N(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t}function Y(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t}function g(t){return"vec2("+t[0]+", "+t[1]+")"}function T(t,n){return t[0]===n[0]&&t[1]===n[1]}function j(t,n){var r=t[0],a=t[1],e=n[0],u=n[1];return Math.abs(r-e)<=V.EPSILON*Math.max(1,Math.abs(r),Math.abs(e))&&Math.abs(a-u)<=V.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))}Object.defineProperty(n,"__esModule",{value:!0}),n.forEach=n.sqrLen=n.sqrDist=n.dist=n.div=n.mul=n.sub=n.len=void 0,n.create=a,n.clone=e,n.fromValues=u,n.copy=o,n.set=i,n.add=s,n.subtract=c,n.multiply=f,n.divide=M,n.ceil=h,n.floor=l,n.min=v,n.max=d,n.round=b,n.scale=m,n.scaleAndAdd=p,n.distance=P,n.squaredDistance=E,n.length=O,n.squaredLength=x,n.negate=A,n.inverse=q,n.normalize=y,n.dot=w,n.cross=R,n.lerp=L,n.random=S,n.transformMat2=_,n.transformMat2d=I,n.transformMat3=N,n.transformMat4=Y,n.str=g,n.exactEquals=T,n.equals=j;var D=r(0),V=function(t){if(t&&t.__esModule)return t;var n={};if(null!=t)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n.default=t,n}(D);n.len=O,n.sub=c,n.mul=f,n.div=M,n.dist=P,n.sqrDist=E,n.sqrLen=x,n.forEach=function(){var t=a();return function(n,r,a,e,u,o){var i=void 0,s=void 0;for(r||(r=2),a||(a=0),s=e?Math.min(e*r+a,n.length):n.length,i=a;i 0) { //TODO: evaluate use of glm_invsqrt here? len = 1 / Math.sqrt(len); out[0] = a[0] * len; out[1] = a[1] * len; out[2] = a[2] * len; } return out; } /** * Calculates the dot product of two vec3's * * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {Number} dot product of a and b */ function dot(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } /** * Computes the cross product of two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @returns {vec3} out */ function cross(out, a, b) { var ax = a[0], ay = a[1], az = a[2]; var bx = b[0], by = b[1], bz = b[2]; out[0] = ay * bz - az * by; out[1] = az * bx - ax * bz; out[2] = ax * by - ay * bx; return out; } /** * Performs a linear interpolation between two vec3's * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ function lerp(out, a, b, t) { var ax = a[0]; var ay = a[1]; var az = a[2]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); return out; } /** * Performs a hermite interpolation with two control points * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {vec3} c the third operand * @param {vec3} d the fourth operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ function hermite(out, a, b, c, d, t) { var factorTimes2 = t * t; var factor1 = factorTimes2 * (2 * t - 3) + 1; var factor2 = factorTimes2 * (t - 2) + t; var factor3 = factorTimes2 * (t - 1); var factor4 = factorTimes2 * (3 - 2 * t); out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } /** * Performs a bezier interpolation with two control points * * @param {vec3} out the receiving vector * @param {vec3} a the first operand * @param {vec3} b the second operand * @param {vec3} c the third operand * @param {vec3} d the fourth operand * @param {Number} t interpolation amount between the two inputs * @returns {vec3} out */ function bezier(out, a, b, c, d, t) { var inverseFactor = 1 - t; var inverseFactorTimesTwo = inverseFactor * inverseFactor; var factorTimes2 = t * t; var factor1 = inverseFactorTimesTwo * inverseFactor; var factor2 = 3 * t * inverseFactorTimesTwo; var factor3 = 3 * factorTimes2 * inverseFactor; var factor4 = factorTimes2 * t; out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4; out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4; out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4; return out; } /** * Generates a random vector with the given scale * * @param {vec3} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec3} out */ function random(out, scale) { scale = scale || 1.0; var r = glMatrix.RANDOM() * 2.0 * Math.PI; var z = glMatrix.RANDOM() * 2.0 - 1.0; var zScale = Math.sqrt(1.0 - z * z) * scale; out[0] = Math.cos(r) * zScale; out[1] = Math.sin(r) * zScale; out[2] = z * scale; return out; } /** * Transforms the vec3 with a mat4. * 4th vector component is implicitly '1' * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec3} out */ function transformMat4(out, a, m) { var x = a[0], y = a[1], z = a[2]; var w = m[3] * x + m[7] * y + m[11] * z + m[15]; w = w || 1.0; out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w; out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w; out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w; return out; } /** * Transforms the vec3 with a mat3. * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {mat3} m the 3x3 matrix to transform with * @returns {vec3} out */ function transformMat3(out, a, m) { var x = a[0], y = a[1], z = a[2]; out[0] = x * m[0] + y * m[3] + z * m[6]; out[1] = x * m[1] + y * m[4] + z * m[7]; out[2] = x * m[2] + y * m[5] + z * m[8]; return out; } /** * Transforms the vec3 with a quat * * @param {vec3} out the receiving vector * @param {vec3} a the vector to transform * @param {quat} q quaternion to transform with * @returns {vec3} out */ function transformQuat(out, a, q) { // benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations var x = a[0], y = a[1], z = a[2]; var qx = q[0], qy = q[1], qz = q[2], qw = q[3]; // calculate quat * vec var ix = qw * x + qy * z - qz * y; var iy = qw * y + qz * x - qx * z; var iz = qw * z + qx * y - qy * x; var iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; return out; } /** * Rotate a 3D vector around the x-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ function rotateX(out, a, b, c) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0]; r[1] = p[1] * Math.cos(c) - p[2] * Math.sin(c); r[2] = p[1] * Math.sin(c) + p[2] * Math.cos(c); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Rotate a 3D vector around the y-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ function rotateY(out, a, b, c) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[2] * Math.sin(c) + p[0] * Math.cos(c); r[1] = p[1]; r[2] = p[2] * Math.cos(c) - p[0] * Math.sin(c); //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Rotate a 3D vector around the z-axis * @param {vec3} out The receiving vec3 * @param {vec3} a The vec3 point to rotate * @param {vec3} b The origin of the rotation * @param {Number} c The angle of rotation * @returns {vec3} out */ function rotateZ(out, a, b, c) { var p = [], r = []; //Translate point to the origin p[0] = a[0] - b[0]; p[1] = a[1] - b[1]; p[2] = a[2] - b[2]; //perform rotation r[0] = p[0] * Math.cos(c) - p[1] * Math.sin(c); r[1] = p[0] * Math.sin(c) + p[1] * Math.cos(c); r[2] = p[2]; //translate to correct position out[0] = r[0] + b[0]; out[1] = r[1] + b[1]; out[2] = r[2] + b[2]; return out; } /** * Get the angle between two 3D vectors * @param {vec3} a The first operand * @param {vec3} b The second operand * @returns {Number} The angle in radians */ function angle(a, b) { var tempA = fromValues(a[0], a[1], a[2]); var tempB = fromValues(b[0], b[1], b[2]); normalize(tempA, tempA); normalize(tempB, tempB); var cosine = dot(tempA, tempB); if (cosine > 1.0) { return 0; } else if (cosine < -1.0) { return Math.PI; } else { return Math.acos(cosine); } } /** * Returns a string representation of a vector * * @param {vec3} a vector to represent as a string * @returns {String} string representation of the vector */ function str(a) { return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'; } /** * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) * * @param {vec3} a The first vector. * @param {vec3} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec3} a The first vector. * @param {vec3} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2]; var b0 = b[0], b1 = b[1], b2 = b[2]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)); } /** * Alias for {@link vec3.subtract} * @function */ var sub = exports.sub = subtract; /** * Alias for {@link vec3.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link vec3.divide} * @function */ var div = exports.div = divide; /** * Alias for {@link vec3.distance} * @function */ var dist = exports.dist = distance; /** * Alias for {@link vec3.squaredDistance} * @function */ var sqrDist = exports.sqrDist = squaredDistance; /** * Alias for {@link vec3.length} * @function */ var len = exports.len = length; /** * Alias for {@link vec3.squaredLength} * @function */ var sqrLen = exports.sqrLen = squaredLength; /** * Perform some operation over an array of vec3s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ var forEach = exports.forEach = function () { var vec = create(); return function (a, stride, offset, count, fn, arg) { var i = void 0, l = void 0; if (!stride) { stride = 3; } if (!offset) { offset = 0; } if (count) { l = Math.min(count * stride + offset, a.length); } else { l = a.length; } for (i = offset; i < l; i += stride) { vec[0] = a[i];vec[1] = a[i + 1];vec[2] = a[i + 2]; fn(vec, vec, arg); a[i] = vec[0];a[i + 1] = vec[1];a[i + 2] = vec[2]; } return a; }; }(); /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.forEach = exports.sqrLen = exports.len = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = undefined; exports.create = create; exports.clone = clone; exports.fromValues = fromValues; exports.copy = copy; exports.set = set; exports.add = add; exports.subtract = subtract; exports.multiply = multiply; exports.divide = divide; exports.ceil = ceil; exports.floor = floor; exports.min = min; exports.max = max; exports.round = round; exports.scale = scale; exports.scaleAndAdd = scaleAndAdd; exports.distance = distance; exports.squaredDistance = squaredDistance; exports.length = length; exports.squaredLength = squaredLength; exports.negate = negate; exports.inverse = inverse; exports.normalize = normalize; exports.dot = dot; exports.lerp = lerp; exports.random = random; exports.transformMat4 = transformMat4; exports.transformQuat = transformQuat; exports.str = str; exports.exactEquals = exactEquals; exports.equals = equals; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * 4 Dimensional Vector * @module vec4 */ /** * Creates a new, empty vec4 * * @returns {vec4} a new 4D vector */ function create() { var out = new glMatrix.ARRAY_TYPE(4); out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 0; return out; } /** * Creates a new vec4 initialized with values from an existing vector * * @param {vec4} a vector to clone * @returns {vec4} a new 4D vector */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function clone(a) { var out = new glMatrix.ARRAY_TYPE(4); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Creates a new vec4 initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {vec4} a new 4D vector */ function fromValues(x, y, z, w) { var out = new glMatrix.ARRAY_TYPE(4); out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } /** * Copy the values from one vec4 to another * * @param {vec4} out the receiving vector * @param {vec4} a the source vector * @returns {vec4} out */ function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Set the components of a vec4 to the given values * * @param {vec4} out the receiving vector * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {vec4} out */ function set(out, x, y, z, w) { out[0] = x; out[1] = y; out[2] = z; out[3] = w; return out; } /** * Adds two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; return out; } /** * Subtracts vector b from vector a * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; return out; } /** * Multiplies two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function multiply(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; out[2] = a[2] * b[2]; out[3] = a[3] * b[3]; return out; } /** * Divides two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function divide(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; out[2] = a[2] / b[2]; out[3] = a[3] / b[3]; return out; } /** * Math.ceil the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to ceil * @returns {vec4} out */ function ceil(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); out[2] = Math.ceil(a[2]); out[3] = Math.ceil(a[3]); return out; } /** * Math.floor the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to floor * @returns {vec4} out */ function floor(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); out[2] = Math.floor(a[2]); out[3] = Math.floor(a[3]); return out; } /** * Returns the minimum of two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function min(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); out[2] = Math.min(a[2], b[2]); out[3] = Math.min(a[3], b[3]); return out; } /** * Returns the maximum of two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {vec4} out */ function max(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); out[2] = Math.max(a[2], b[2]); out[3] = Math.max(a[3], b[3]); return out; } /** * Math.round the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to round * @returns {vec4} out */ function round(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); out[2] = Math.round(a[2]); out[3] = Math.round(a[3]); return out; } /** * Scales a vec4 by a scalar number * * @param {vec4} out the receiving vector * @param {vec4} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {vec4} out */ function scale(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; return out; } /** * Adds two vec4's after scaling the second operand by a scalar value * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @param {Number} scale the amount to scale b by before adding * @returns {vec4} out */ function scaleAndAdd(out, a, b, scale) { out[0] = a[0] + b[0] * scale; out[1] = a[1] + b[1] * scale; out[2] = a[2] + b[2] * scale; out[3] = a[3] + b[3] * scale; return out; } /** * Calculates the euclidian distance between two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} distance between a and b */ function distance(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; var w = b[3] - a[3]; return Math.sqrt(x * x + y * y + z * z + w * w); } /** * Calculates the squared euclidian distance between two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} squared distance between a and b */ function squaredDistance(a, b) { var x = b[0] - a[0]; var y = b[1] - a[1]; var z = b[2] - a[2]; var w = b[3] - a[3]; return x * x + y * y + z * z + w * w; } /** * Calculates the length of a vec4 * * @param {vec4} a vector to calculate length of * @returns {Number} length of a */ function length(a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; return Math.sqrt(x * x + y * y + z * z + w * w); } /** * Calculates the squared length of a vec4 * * @param {vec4} a vector to calculate squared length of * @returns {Number} squared length of a */ function squaredLength(a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; return x * x + y * y + z * z + w * w; } /** * Negates the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to negate * @returns {vec4} out */ function negate(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; out[3] = -a[3]; return out; } /** * Returns the inverse of the components of a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to invert * @returns {vec4} out */ function inverse(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; out[2] = 1.0 / a[2]; out[3] = 1.0 / a[3]; return out; } /** * Normalize a vec4 * * @param {vec4} out the receiving vector * @param {vec4} a vector to normalize * @returns {vec4} out */ function normalize(out, a) { var x = a[0]; var y = a[1]; var z = a[2]; var w = a[3]; var len = x * x + y * y + z * z + w * w; if (len > 0) { len = 1 / Math.sqrt(len); out[0] = x * len; out[1] = y * len; out[2] = z * len; out[3] = w * len; } return out; } /** * Calculates the dot product of two vec4's * * @param {vec4} a the first operand * @param {vec4} b the second operand * @returns {Number} dot product of a and b */ function dot(a, b) { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; } /** * Performs a linear interpolation between two vec4's * * @param {vec4} out the receiving vector * @param {vec4} a the first operand * @param {vec4} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec4} out */ function lerp(out, a, b, t) { var ax = a[0]; var ay = a[1]; var az = a[2]; var aw = a[3]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); out[2] = az + t * (b[2] - az); out[3] = aw + t * (b[3] - aw); return out; } /** * Generates a random vector with the given scale * * @param {vec4} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec4} out */ function random(out, vectorScale) { vectorScale = vectorScale || 1.0; //TODO: This is a pretty awful way of doing this. Find something better. out[0] = glMatrix.RANDOM(); out[1] = glMatrix.RANDOM(); out[2] = glMatrix.RANDOM(); out[3] = glMatrix.RANDOM(); normalize(out, out); scale(out, out, vectorScale); return out; } /** * Transforms the vec4 with a mat4. * * @param {vec4} out the receiving vector * @param {vec4} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec4} out */ function transformMat4(out, a, m) { var x = a[0], y = a[1], z = a[2], w = a[3]; out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w; out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w; out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w; out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w; return out; } /** * Transforms the vec4 with a quat * * @param {vec4} out the receiving vector * @param {vec4} a the vector to transform * @param {quat} q quaternion to transform with * @returns {vec4} out */ function transformQuat(out, a, q) { var x = a[0], y = a[1], z = a[2]; var qx = q[0], qy = q[1], qz = q[2], qw = q[3]; // calculate quat * vec var ix = qw * x + qy * z - qz * y; var iy = qw * y + qz * x - qx * z; var iz = qw * z + qx * y - qy * x; var iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy; out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz; out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx; out[3] = a[3]; return out; } /** * Returns a string representation of a vector * * @param {vec4} a vector to represent as a string * @returns {String} string representation of the vector */ function str(a) { return 'vec4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===) * * @param {vec4} a The first vector. * @param {vec4} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec4} a The first vector. * @param {vec4} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)); } /** * Alias for {@link vec4.subtract} * @function */ var sub = exports.sub = subtract; /** * Alias for {@link vec4.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link vec4.divide} * @function */ var div = exports.div = divide; /** * Alias for {@link vec4.distance} * @function */ var dist = exports.dist = distance; /** * Alias for {@link vec4.squaredDistance} * @function */ var sqrDist = exports.sqrDist = squaredDistance; /** * Alias for {@link vec4.length} * @function */ var len = exports.len = length; /** * Alias for {@link vec4.squaredLength} * @function */ var sqrLen = exports.sqrLen = squaredLength; /** * Perform some operation over an array of vec4s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ var forEach = exports.forEach = function () { var vec = create(); return function (a, stride, offset, count, fn, arg) { var i = void 0, l = void 0; if (!stride) { stride = 4; } if (!offset) { offset = 0; } if (count) { l = Math.min(count * stride + offset, a.length); } else { l = a.length; } for (i = offset; i < l; i += stride) { vec[0] = a[i];vec[1] = a[i + 1];vec[2] = a[i + 2];vec[3] = a[i + 3]; fn(vec, vec, arg); a[i] = vec[0];a[i + 1] = vec[1];a[i + 2] = vec[2];a[i + 3] = vec[3]; } return a; }; }(); /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.vec4 = exports.vec3 = exports.vec2 = exports.quat = exports.mat4 = exports.mat3 = exports.mat2d = exports.mat2 = exports.glMatrix = undefined; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); var _mat = __webpack_require__(5); var mat2 = _interopRequireWildcard(_mat); var _mat2d = __webpack_require__(6); var mat2d = _interopRequireWildcard(_mat2d); var _mat2 = __webpack_require__(1); var mat3 = _interopRequireWildcard(_mat2); var _mat3 = __webpack_require__(7); var mat4 = _interopRequireWildcard(_mat3); var _quat = __webpack_require__(8); var quat = _interopRequireWildcard(_quat); var _vec = __webpack_require__(9); var vec2 = _interopRequireWildcard(_vec); var _vec2 = __webpack_require__(2); var vec3 = _interopRequireWildcard(_vec2); var _vec3 = __webpack_require__(3); var vec4 = _interopRequireWildcard(_vec3); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } exports.glMatrix = glMatrix; exports.mat2 = mat2; exports.mat2d = mat2d; exports.mat3 = mat3; exports.mat4 = mat4; exports.quat = quat; exports.vec2 = vec2; exports.vec3 = vec3; exports.vec4 = vec4; /** * @fileoverview gl-matrix - High performance matrix and vector operations * @author Brandon Jones * @author Colin MacKenzie IV * @version 2.4.0 */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ // END HEADER /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sub = exports.mul = undefined; exports.create = create; exports.clone = clone; exports.copy = copy; exports.identity = identity; exports.fromValues = fromValues; exports.set = set; exports.transpose = transpose; exports.invert = invert; exports.adjoint = adjoint; exports.determinant = determinant; exports.multiply = multiply; exports.rotate = rotate; exports.scale = scale; exports.fromRotation = fromRotation; exports.fromScaling = fromScaling; exports.str = str; exports.frob = frob; exports.LDU = LDU; exports.add = add; exports.subtract = subtract; exports.exactEquals = exactEquals; exports.equals = equals; exports.multiplyScalar = multiplyScalar; exports.multiplyScalarAndAdd = multiplyScalarAndAdd; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * 2x2 Matrix * @module mat2 */ /** * Creates a new identity mat2 * * @returns {mat2} a new 2x2 matrix */ function create() { var out = new glMatrix.ARRAY_TYPE(4); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Creates a new mat2 initialized with values from an existing matrix * * @param {mat2} a matrix to clone * @returns {mat2} a new 2x2 matrix */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function clone(a) { var out = new glMatrix.ARRAY_TYPE(4); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Copy the values from one mat2 to another * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; return out; } /** * Set a mat2 to the identity matrix * * @param {mat2} out the receiving matrix * @returns {mat2} out */ function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Create a new mat2 with the given values * * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m10 Component in column 1, row 0 position (index 2) * @param {Number} m11 Component in column 1, row 1 position (index 3) * @returns {mat2} out A new 2x2 matrix */ function fromValues(m00, m01, m10, m11) { var out = new glMatrix.ARRAY_TYPE(4); out[0] = m00; out[1] = m01; out[2] = m10; out[3] = m11; return out; } /** * Set the components of a mat2 to the given values * * @param {mat2} out the receiving matrix * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m10 Component in column 1, row 0 position (index 2) * @param {Number} m11 Component in column 1, row 1 position (index 3) * @returns {mat2} out */ function set(out, m00, m01, m10, m11) { out[0] = m00; out[1] = m01; out[2] = m10; out[3] = m11; return out; } /** * Transpose the values of a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache // some values if (out === a) { var a1 = a[1]; out[1] = a[2]; out[2] = a1; } else { out[0] = a[0]; out[1] = a[2]; out[2] = a[1]; out[3] = a[3]; } return out; } /** * Inverts a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ function invert(out, a) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; // Calculate the determinant var det = a0 * a3 - a2 * a1; if (!det) { return null; } det = 1.0 / det; out[0] = a3 * det; out[1] = -a1 * det; out[2] = -a2 * det; out[3] = a0 * det; return out; } /** * Calculates the adjugate of a mat2 * * @param {mat2} out the receiving matrix * @param {mat2} a the source matrix * @returns {mat2} out */ function adjoint(out, a) { // Caching this value is nessecary if out == a var a0 = a[0]; out[0] = a[3]; out[1] = -a[1]; out[2] = -a[2]; out[3] = a0; return out; } /** * Calculates the determinant of a mat2 * * @param {mat2} a the source matrix * @returns {Number} determinant of a */ function determinant(a) { return a[0] * a[3] - a[2] * a[1]; } /** * Multiplies two mat2's * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ function multiply(out, a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; out[0] = a0 * b0 + a2 * b1; out[1] = a1 * b0 + a3 * b1; out[2] = a0 * b2 + a2 * b3; out[3] = a1 * b2 + a3 * b3; return out; } /** * Rotates a mat2 by the given angle * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat2} out */ function rotate(out, a, rad) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var s = Math.sin(rad); var c = Math.cos(rad); out[0] = a0 * c + a2 * s; out[1] = a1 * c + a3 * s; out[2] = a0 * -s + a2 * c; out[3] = a1 * -s + a3 * c; return out; } /** * Scales the mat2 by the dimensions in the given vec2 * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to rotate * @param {vec2} v the vec2 to scale the matrix by * @returns {mat2} out **/ function scale(out, a, v) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var v0 = v[0], v1 = v[1]; out[0] = a0 * v0; out[1] = a1 * v0; out[2] = a2 * v1; out[3] = a3 * v1; return out; } /** * Creates a matrix from a given angle * This is equivalent to (but much faster than): * * mat2.identity(dest); * mat2.rotate(dest, dest, rad); * * @param {mat2} out mat2 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat2} out */ function fromRotation(out, rad) { var s = Math.sin(rad); var c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = -s; out[3] = c; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat2.identity(dest); * mat2.scale(dest, dest, vec); * * @param {mat2} out mat2 receiving operation result * @param {vec2} v Scaling vector * @returns {mat2} out */ function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = v[1]; return out; } /** * Returns a string representation of a mat2 * * @param {mat2} a matrix to represent as a string * @returns {String} string representation of the matrix */ function str(a) { return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Returns Frobenius norm of a mat2 * * @param {mat2} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ function frob(a) { return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2)); } /** * Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix * @param {mat2} L the lower triangular matrix * @param {mat2} D the diagonal matrix * @param {mat2} U the upper triangular matrix * @param {mat2} a the input matrix to factorize */ function LDU(L, D, U, a) { L[2] = a[2] / a[0]; U[0] = a[0]; U[1] = a[1]; U[3] = a[3] - L[2] * U[1]; return [L, D, U]; } /** * Adds two mat2's * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat2} out the receiving matrix * @param {mat2} a the first operand * @param {mat2} b the second operand * @returns {mat2} out */ function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat2} a The first matrix. * @param {mat2} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat2} a The first matrix. * @param {mat2} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)); } /** * Multiply each element of the matrix by a scalar. * * @param {mat2} out the receiving matrix * @param {mat2} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat2} out */ function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; return out; } /** * Adds two mat2's after multiplying each element of the second operand by a scalar value. * * @param {mat2} out the receiving vector * @param {mat2} a the first operand * @param {mat2} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat2} out */ function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + b[0] * scale; out[1] = a[1] + b[1] * scale; out[2] = a[2] + b[2] * scale; out[3] = a[3] + b[3] * scale; return out; } /** * Alias for {@link mat2.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link mat2.subtract} * @function */ var sub = exports.sub = subtract; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sub = exports.mul = undefined; exports.create = create; exports.clone = clone; exports.copy = copy; exports.identity = identity; exports.fromValues = fromValues; exports.set = set; exports.invert = invert; exports.determinant = determinant; exports.multiply = multiply; exports.rotate = rotate; exports.scale = scale; exports.translate = translate; exports.fromRotation = fromRotation; exports.fromScaling = fromScaling; exports.fromTranslation = fromTranslation; exports.str = str; exports.frob = frob; exports.add = add; exports.subtract = subtract; exports.multiplyScalar = multiplyScalar; exports.multiplyScalarAndAdd = multiplyScalarAndAdd; exports.exactEquals = exactEquals; exports.equals = equals; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * 2x3 Matrix * @module mat2d * * @description * A mat2d contains six elements defined as: *
 * [a, c, tx,
 *  b, d, ty]
 * 
* This is a short form for the 3x3 matrix: *
 * [a, c, tx,
 *  b, d, ty,
 *  0, 0, 1]
 * 
* The last row is ignored so the array is shorter and operations are faster. */ /** * Creates a new identity mat2d * * @returns {mat2d} a new 2x3 matrix */ function create() { var out = new glMatrix.ARRAY_TYPE(6); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = 0; out[5] = 0; return out; } /** * Creates a new mat2d initialized with values from an existing matrix * * @param {mat2d} a matrix to clone * @returns {mat2d} a new 2x3 matrix */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function clone(a) { var out = new glMatrix.ARRAY_TYPE(6); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; return out; } /** * Copy the values from one mat2d to another * * @param {mat2d} out the receiving matrix * @param {mat2d} a the source matrix * @returns {mat2d} out */ function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; return out; } /** * Set a mat2d to the identity matrix * * @param {mat2d} out the receiving matrix * @returns {mat2d} out */ function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = 0; out[5] = 0; return out; } /** * Create a new mat2d with the given values * * @param {Number} a Component A (index 0) * @param {Number} b Component B (index 1) * @param {Number} c Component C (index 2) * @param {Number} d Component D (index 3) * @param {Number} tx Component TX (index 4) * @param {Number} ty Component TY (index 5) * @returns {mat2d} A new mat2d */ function fromValues(a, b, c, d, tx, ty) { var out = new glMatrix.ARRAY_TYPE(6); out[0] = a; out[1] = b; out[2] = c; out[3] = d; out[4] = tx; out[5] = ty; return out; } /** * Set the components of a mat2d to the given values * * @param {mat2d} out the receiving matrix * @param {Number} a Component A (index 0) * @param {Number} b Component B (index 1) * @param {Number} c Component C (index 2) * @param {Number} d Component D (index 3) * @param {Number} tx Component TX (index 4) * @param {Number} ty Component TY (index 5) * @returns {mat2d} out */ function set(out, a, b, c, d, tx, ty) { out[0] = a; out[1] = b; out[2] = c; out[3] = d; out[4] = tx; out[5] = ty; return out; } /** * Inverts a mat2d * * @param {mat2d} out the receiving matrix * @param {mat2d} a the source matrix * @returns {mat2d} out */ function invert(out, a) { var aa = a[0], ab = a[1], ac = a[2], ad = a[3]; var atx = a[4], aty = a[5]; var det = aa * ad - ab * ac; if (!det) { return null; } det = 1.0 / det; out[0] = ad * det; out[1] = -ab * det; out[2] = -ac * det; out[3] = aa * det; out[4] = (ac * aty - ad * atx) * det; out[5] = (ab * atx - aa * aty) * det; return out; } /** * Calculates the determinant of a mat2d * * @param {mat2d} a the source matrix * @returns {Number} determinant of a */ function determinant(a) { return a[0] * a[3] - a[1] * a[2]; } /** * Multiplies two mat2d's * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ function multiply(out, a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5]; out[0] = a0 * b0 + a2 * b1; out[1] = a1 * b0 + a3 * b1; out[2] = a0 * b2 + a2 * b3; out[3] = a1 * b2 + a3 * b3; out[4] = a0 * b4 + a2 * b5 + a4; out[5] = a1 * b4 + a3 * b5 + a5; return out; } /** * Rotates a mat2d by the given angle * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat2d} out */ function rotate(out, a, rad) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; var s = Math.sin(rad); var c = Math.cos(rad); out[0] = a0 * c + a2 * s; out[1] = a1 * c + a3 * s; out[2] = a0 * -s + a2 * c; out[3] = a1 * -s + a3 * c; out[4] = a4; out[5] = a5; return out; } /** * Scales the mat2d by the dimensions in the given vec2 * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to translate * @param {vec2} v the vec2 to scale the matrix by * @returns {mat2d} out **/ function scale(out, a, v) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; var v0 = v[0], v1 = v[1]; out[0] = a0 * v0; out[1] = a1 * v0; out[2] = a2 * v1; out[3] = a3 * v1; out[4] = a4; out[5] = a5; return out; } /** * Translates the mat2d by the dimensions in the given vec2 * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to translate * @param {vec2} v the vec2 to translate the matrix by * @returns {mat2d} out **/ function translate(out, a, v) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; var v0 = v[0], v1 = v[1]; out[0] = a0; out[1] = a1; out[2] = a2; out[3] = a3; out[4] = a0 * v0 + a2 * v1 + a4; out[5] = a1 * v0 + a3 * v1 + a5; return out; } /** * Creates a matrix from a given angle * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.rotate(dest, dest, rad); * * @param {mat2d} out mat2d receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat2d} out */ function fromRotation(out, rad) { var s = Math.sin(rad), c = Math.cos(rad); out[0] = c; out[1] = s; out[2] = -s; out[3] = c; out[4] = 0; out[5] = 0; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.scale(dest, dest, vec); * * @param {mat2d} out mat2d receiving operation result * @param {vec2} v Scaling vector * @returns {mat2d} out */ function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = v[1]; out[4] = 0; out[5] = 0; return out; } /** * Creates a matrix from a vector translation * This is equivalent to (but much faster than): * * mat2d.identity(dest); * mat2d.translate(dest, dest, vec); * * @param {mat2d} out mat2d receiving operation result * @param {vec2} v Translation vector * @returns {mat2d} out */ function fromTranslation(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 1; out[4] = v[0]; out[5] = v[1]; return out; } /** * Returns a string representation of a mat2d * * @param {mat2d} a matrix to represent as a string * @returns {String} string representation of the matrix */ function str(a) { return 'mat2d(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ')'; } /** * Returns Frobenius norm of a mat2d * * @param {mat2d} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ function frob(a) { return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + 1); } /** * Adds two mat2d's * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat2d} out the receiving matrix * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @returns {mat2d} out */ function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; return out; } /** * Multiply each element of the matrix by a scalar. * * @param {mat2d} out the receiving matrix * @param {mat2d} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat2d} out */ function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; return out; } /** * Adds two mat2d's after multiplying each element of the second operand by a scalar value. * * @param {mat2d} out the receiving vector * @param {mat2d} a the first operand * @param {mat2d} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat2d} out */ function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + b[0] * scale; out[1] = a[1] + b[1] * scale; out[2] = a[2] + b[2] * scale; out[3] = a[3] + b[3] * scale; out[4] = a[4] + b[4] * scale; out[5] = a[5] + b[5] * scale; return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat2d} a The first matrix. * @param {mat2d} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat2d} a The first matrix. * @param {mat2d} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)); } /** * Alias for {@link mat2d.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link mat2d.subtract} * @function */ var sub = exports.sub = subtract; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sub = exports.mul = undefined; exports.create = create; exports.clone = clone; exports.copy = copy; exports.fromValues = fromValues; exports.set = set; exports.identity = identity; exports.transpose = transpose; exports.invert = invert; exports.adjoint = adjoint; exports.determinant = determinant; exports.multiply = multiply; exports.translate = translate; exports.scale = scale; exports.rotate = rotate; exports.rotateX = rotateX; exports.rotateY = rotateY; exports.rotateZ = rotateZ; exports.fromTranslation = fromTranslation; exports.fromScaling = fromScaling; exports.fromRotation = fromRotation; exports.fromXRotation = fromXRotation; exports.fromYRotation = fromYRotation; exports.fromZRotation = fromZRotation; exports.fromRotationTranslation = fromRotationTranslation; exports.getTranslation = getTranslation; exports.getScaling = getScaling; exports.getRotation = getRotation; exports.fromRotationTranslationScale = fromRotationTranslationScale; exports.fromRotationTranslationScaleOrigin = fromRotationTranslationScaleOrigin; exports.fromQuat = fromQuat; exports.frustum = frustum; exports.perspective = perspective; exports.perspectiveFromFieldOfView = perspectiveFromFieldOfView; exports.ortho = ortho; exports.lookAt = lookAt; exports.targetTo = targetTo; exports.str = str; exports.frob = frob; exports.add = add; exports.subtract = subtract; exports.multiplyScalar = multiplyScalar; exports.multiplyScalarAndAdd = multiplyScalarAndAdd; exports.exactEquals = exactEquals; exports.equals = equals; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * 4x4 Matrix * @module mat4 */ /** * Creates a new identity mat4 * * @returns {mat4} a new 4x4 matrix */ function create() { var out = new glMatrix.ARRAY_TYPE(16); out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a new mat4 initialized with values from an existing matrix * * @param {mat4} a matrix to clone * @returns {mat4} a new 4x4 matrix */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function clone(a) { var out = new glMatrix.ARRAY_TYPE(16); out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Copy the values from one mat4 to another * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ function copy(out, a) { out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Create a new mat4 with the given values * * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m03 Component in column 0, row 3 position (index 3) * @param {Number} m10 Component in column 1, row 0 position (index 4) * @param {Number} m11 Component in column 1, row 1 position (index 5) * @param {Number} m12 Component in column 1, row 2 position (index 6) * @param {Number} m13 Component in column 1, row 3 position (index 7) * @param {Number} m20 Component in column 2, row 0 position (index 8) * @param {Number} m21 Component in column 2, row 1 position (index 9) * @param {Number} m22 Component in column 2, row 2 position (index 10) * @param {Number} m23 Component in column 2, row 3 position (index 11) * @param {Number} m30 Component in column 3, row 0 position (index 12) * @param {Number} m31 Component in column 3, row 1 position (index 13) * @param {Number} m32 Component in column 3, row 2 position (index 14) * @param {Number} m33 Component in column 3, row 3 position (index 15) * @returns {mat4} A new mat4 */ function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) { var out = new glMatrix.ARRAY_TYPE(16); out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m03; out[4] = m10; out[5] = m11; out[6] = m12; out[7] = m13; out[8] = m20; out[9] = m21; out[10] = m22; out[11] = m23; out[12] = m30; out[13] = m31; out[14] = m32; out[15] = m33; return out; } /** * Set the components of a mat4 to the given values * * @param {mat4} out the receiving matrix * @param {Number} m00 Component in column 0, row 0 position (index 0) * @param {Number} m01 Component in column 0, row 1 position (index 1) * @param {Number} m02 Component in column 0, row 2 position (index 2) * @param {Number} m03 Component in column 0, row 3 position (index 3) * @param {Number} m10 Component in column 1, row 0 position (index 4) * @param {Number} m11 Component in column 1, row 1 position (index 5) * @param {Number} m12 Component in column 1, row 2 position (index 6) * @param {Number} m13 Component in column 1, row 3 position (index 7) * @param {Number} m20 Component in column 2, row 0 position (index 8) * @param {Number} m21 Component in column 2, row 1 position (index 9) * @param {Number} m22 Component in column 2, row 2 position (index 10) * @param {Number} m23 Component in column 2, row 3 position (index 11) * @param {Number} m30 Component in column 3, row 0 position (index 12) * @param {Number} m31 Component in column 3, row 1 position (index 13) * @param {Number} m32 Component in column 3, row 2 position (index 14) * @param {Number} m33 Component in column 3, row 3 position (index 15) * @returns {mat4} out */ function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) { out[0] = m00; out[1] = m01; out[2] = m02; out[3] = m03; out[4] = m10; out[5] = m11; out[6] = m12; out[7] = m13; out[8] = m20; out[9] = m21; out[10] = m22; out[11] = m23; out[12] = m30; out[13] = m31; out[14] = m32; out[15] = m33; return out; } /** * Set a mat4 to the identity matrix * * @param {mat4} out the receiving matrix * @returns {mat4} out */ function identity(out) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Transpose the values of a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ function transpose(out, a) { // If we are transposing ourselves we can skip a few steps but have to cache some values if (out === a) { var a01 = a[1], a02 = a[2], a03 = a[3]; var a12 = a[6], a13 = a[7]; var a23 = a[11]; out[1] = a[4]; out[2] = a[8]; out[3] = a[12]; out[4] = a01; out[6] = a[9]; out[7] = a[13]; out[8] = a02; out[9] = a12; out[11] = a[14]; out[12] = a03; out[13] = a13; out[14] = a23; } else { out[0] = a[0]; out[1] = a[4]; out[2] = a[8]; out[3] = a[12]; out[4] = a[1]; out[5] = a[5]; out[6] = a[9]; out[7] = a[13]; out[8] = a[2]; out[9] = a[6]; out[10] = a[10]; out[11] = a[14]; out[12] = a[3]; out[13] = a[7]; out[14] = a[11]; out[15] = a[15]; } return out; } /** * Inverts a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ function invert(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; var b00 = a00 * a11 - a01 * a10; var b01 = a00 * a12 - a02 * a10; var b02 = a00 * a13 - a03 * a10; var b03 = a01 * a12 - a02 * a11; var b04 = a01 * a13 - a03 * a11; var b05 = a02 * a13 - a03 * a12; var b06 = a20 * a31 - a21 * a30; var b07 = a20 * a32 - a22 * a30; var b08 = a20 * a33 - a23 * a30; var b09 = a21 * a32 - a22 * a31; var b10 = a21 * a33 - a23 * a31; var b11 = a22 * a33 - a23 * a32; // Calculate the determinant var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; if (!det) { return null; } det = 1.0 / det; out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det; out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det; out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det; out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det; out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det; out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det; out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det; out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det; out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det; out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det; out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det; out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det; out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det; out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det; out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det; out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det; return out; } /** * Calculates the adjugate of a mat4 * * @param {mat4} out the receiving matrix * @param {mat4} a the source matrix * @returns {mat4} out */ function adjoint(out, a) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; out[0] = a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22); out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22)); out[2] = a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12); out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12)); out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22)); out[5] = a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22); out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12)); out[7] = a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12); out[8] = a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21); out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21)); out[10] = a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11); out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11)); out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21)); out[13] = a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21); out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11)); out[15] = a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11); return out; } /** * Calculates the determinant of a mat4 * * @param {mat4} a the source matrix * @returns {Number} determinant of a */ function determinant(a) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; var b00 = a00 * a11 - a01 * a10; var b01 = a00 * a12 - a02 * a10; var b02 = a00 * a13 - a03 * a10; var b03 = a01 * a12 - a02 * a11; var b04 = a01 * a13 - a03 * a11; var b05 = a02 * a13 - a03 * a12; var b06 = a20 * a31 - a21 * a30; var b07 = a20 * a32 - a22 * a30; var b08 = a20 * a33 - a23 * a30; var b09 = a21 * a32 - a22 * a31; var b10 = a21 * a33 - a23 * a31; var b11 = a22 * a33 - a23 * a32; // Calculate the determinant return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06; } /** * Multiplies two mat4s * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ function multiply(out, a, b) { var a00 = a[0], a01 = a[1], a02 = a[2], a03 = a[3]; var a10 = a[4], a11 = a[5], a12 = a[6], a13 = a[7]; var a20 = a[8], a21 = a[9], a22 = a[10], a23 = a[11]; var a30 = a[12], a31 = a[13], a32 = a[14], a33 = a[15]; // Cache only the current line of the second matrix var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; b0 = b[4];b1 = b[5];b2 = b[6];b3 = b[7]; out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; b0 = b[8];b1 = b[9];b2 = b[10];b3 = b[11]; out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; b0 = b[12];b1 = b[13];b2 = b[14];b3 = b[15]; out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; return out; } /** * Translate a mat4 by the given vector * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to translate * @param {vec3} v vector to translate by * @returns {mat4} out */ function translate(out, a, v) { var x = v[0], y = v[1], z = v[2]; var a00 = void 0, a01 = void 0, a02 = void 0, a03 = void 0; var a10 = void 0, a11 = void 0, a12 = void 0, a13 = void 0; var a20 = void 0, a21 = void 0, a22 = void 0, a23 = void 0; if (a === out) { out[12] = a[0] * x + a[4] * y + a[8] * z + a[12]; out[13] = a[1] * x + a[5] * y + a[9] * z + a[13]; out[14] = a[2] * x + a[6] * y + a[10] * z + a[14]; out[15] = a[3] * x + a[7] * y + a[11] * z + a[15]; } else { a00 = a[0];a01 = a[1];a02 = a[2];a03 = a[3]; a10 = a[4];a11 = a[5];a12 = a[6];a13 = a[7]; a20 = a[8];a21 = a[9];a22 = a[10];a23 = a[11]; out[0] = a00;out[1] = a01;out[2] = a02;out[3] = a03; out[4] = a10;out[5] = a11;out[6] = a12;out[7] = a13; out[8] = a20;out[9] = a21;out[10] = a22;out[11] = a23; out[12] = a00 * x + a10 * y + a20 * z + a[12]; out[13] = a01 * x + a11 * y + a21 * z + a[13]; out[14] = a02 * x + a12 * y + a22 * z + a[14]; out[15] = a03 * x + a13 * y + a23 * z + a[15]; } return out; } /** * Scales the mat4 by the dimensions in the given vec3 not using vectorization * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to scale * @param {vec3} v the vec3 to scale the matrix by * @returns {mat4} out **/ function scale(out, a, v) { var x = v[0], y = v[1], z = v[2]; out[0] = a[0] * x; out[1] = a[1] * x; out[2] = a[2] * x; out[3] = a[3] * x; out[4] = a[4] * y; out[5] = a[5] * y; out[6] = a[6] * y; out[7] = a[7] * y; out[8] = a[8] * z; out[9] = a[9] * z; out[10] = a[10] * z; out[11] = a[11] * z; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; return out; } /** * Rotates a mat4 by the given angle around the given axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @param {vec3} axis the axis to rotate around * @returns {mat4} out */ function rotate(out, a, rad, axis) { var x = axis[0], y = axis[1], z = axis[2]; var len = Math.sqrt(x * x + y * y + z * z); var s = void 0, c = void 0, t = void 0; var a00 = void 0, a01 = void 0, a02 = void 0, a03 = void 0; var a10 = void 0, a11 = void 0, a12 = void 0, a13 = void 0; var a20 = void 0, a21 = void 0, a22 = void 0, a23 = void 0; var b00 = void 0, b01 = void 0, b02 = void 0; var b10 = void 0, b11 = void 0, b12 = void 0; var b20 = void 0, b21 = void 0, b22 = void 0; if (Math.abs(len) < glMatrix.EPSILON) { return null; } len = 1 / len; x *= len; y *= len; z *= len; s = Math.sin(rad); c = Math.cos(rad); t = 1 - c; a00 = a[0];a01 = a[1];a02 = a[2];a03 = a[3]; a10 = a[4];a11 = a[5];a12 = a[6];a13 = a[7]; a20 = a[8];a21 = a[9];a22 = a[10];a23 = a[11]; // Construct the elements of the rotation matrix b00 = x * x * t + c;b01 = y * x * t + z * s;b02 = z * x * t - y * s; b10 = x * y * t - z * s;b11 = y * y * t + c;b12 = z * y * t + x * s; b20 = x * z * t + y * s;b21 = y * z * t - x * s;b22 = z * z * t + c; // Perform rotation-specific matrix multiplication out[0] = a00 * b00 + a10 * b01 + a20 * b02; out[1] = a01 * b00 + a11 * b01 + a21 * b02; out[2] = a02 * b00 + a12 * b01 + a22 * b02; out[3] = a03 * b00 + a13 * b01 + a23 * b02; out[4] = a00 * b10 + a10 * b11 + a20 * b12; out[5] = a01 * b10 + a11 * b11 + a21 * b12; out[6] = a02 * b10 + a12 * b11 + a22 * b12; out[7] = a03 * b10 + a13 * b11 + a23 * b12; out[8] = a00 * b20 + a10 * b21 + a20 * b22; out[9] = a01 * b20 + a11 * b21 + a21 * b22; out[10] = a02 * b20 + a12 * b21 + a22 * b22; out[11] = a03 * b20 + a13 * b21 + a23 * b22; if (a !== out) { // If the source and destination differ, copy the unchanged last row out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } return out; } /** * Rotates a matrix by the given angle around the X axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function rotateX(out, a, rad) { var s = Math.sin(rad); var c = Math.cos(rad); var a10 = a[4]; var a11 = a[5]; var a12 = a[6]; var a13 = a[7]; var a20 = a[8]; var a21 = a[9]; var a22 = a[10]; var a23 = a[11]; if (a !== out) { // If the source and destination differ, copy the unchanged rows out[0] = a[0]; out[1] = a[1]; out[2] = a[2]; out[3] = a[3]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[4] = a10 * c + a20 * s; out[5] = a11 * c + a21 * s; out[6] = a12 * c + a22 * s; out[7] = a13 * c + a23 * s; out[8] = a20 * c - a10 * s; out[9] = a21 * c - a11 * s; out[10] = a22 * c - a12 * s; out[11] = a23 * c - a13 * s; return out; } /** * Rotates a matrix by the given angle around the Y axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function rotateY(out, a, rad) { var s = Math.sin(rad); var c = Math.cos(rad); var a00 = a[0]; var a01 = a[1]; var a02 = a[2]; var a03 = a[3]; var a20 = a[8]; var a21 = a[9]; var a22 = a[10]; var a23 = a[11]; if (a !== out) { // If the source and destination differ, copy the unchanged rows out[4] = a[4]; out[5] = a[5]; out[6] = a[6]; out[7] = a[7]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[0] = a00 * c - a20 * s; out[1] = a01 * c - a21 * s; out[2] = a02 * c - a22 * s; out[3] = a03 * c - a23 * s; out[8] = a00 * s + a20 * c; out[9] = a01 * s + a21 * c; out[10] = a02 * s + a22 * c; out[11] = a03 * s + a23 * c; return out; } /** * Rotates a matrix by the given angle around the Z axis * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to rotate * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function rotateZ(out, a, rad) { var s = Math.sin(rad); var c = Math.cos(rad); var a00 = a[0]; var a01 = a[1]; var a02 = a[2]; var a03 = a[3]; var a10 = a[4]; var a11 = a[5]; var a12 = a[6]; var a13 = a[7]; if (a !== out) { // If the source and destination differ, copy the unchanged last row out[8] = a[8]; out[9] = a[9]; out[10] = a[10]; out[11] = a[11]; out[12] = a[12]; out[13] = a[13]; out[14] = a[14]; out[15] = a[15]; } // Perform axis-specific matrix multiplication out[0] = a00 * c + a10 * s; out[1] = a01 * c + a11 * s; out[2] = a02 * c + a12 * s; out[3] = a03 * c + a13 * s; out[4] = a10 * c - a00 * s; out[5] = a11 * c - a01 * s; out[6] = a12 * c - a02 * s; out[7] = a13 * c - a03 * s; return out; } /** * Creates a matrix from a vector translation * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, dest, vec); * * @param {mat4} out mat4 receiving operation result * @param {vec3} v Translation vector * @returns {mat4} out */ function fromTranslation(out, v) { out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Creates a matrix from a vector scaling * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.scale(dest, dest, vec); * * @param {mat4} out mat4 receiving operation result * @param {vec3} v Scaling vector * @returns {mat4} out */ function fromScaling(out, v) { out[0] = v[0]; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = v[1]; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = v[2]; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from a given angle around a given axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotate(dest, dest, rad, axis); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @param {vec3} axis the axis to rotate around * @returns {mat4} out */ function fromRotation(out, rad, axis) { var x = axis[0], y = axis[1], z = axis[2]; var len = Math.sqrt(x * x + y * y + z * z); var s = void 0, c = void 0, t = void 0; if (Math.abs(len) < glMatrix.EPSILON) { return null; } len = 1 / len; x *= len; y *= len; z *= len; s = Math.sin(rad); c = Math.cos(rad); t = 1 - c; // Perform rotation-specific matrix multiplication out[0] = x * x * t + c; out[1] = y * x * t + z * s; out[2] = z * x * t - y * s; out[3] = 0; out[4] = x * y * t - z * s; out[5] = y * y * t + c; out[6] = z * y * t + x * s; out[7] = 0; out[8] = x * z * t + y * s; out[9] = y * z * t - x * s; out[10] = z * z * t + c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the X axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateX(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function fromXRotation(out, rad) { var s = Math.sin(rad); var c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = 1; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = c; out[6] = s; out[7] = 0; out[8] = 0; out[9] = -s; out[10] = c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the Y axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateY(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function fromYRotation(out, rad) { var s = Math.sin(rad); var c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = c; out[1] = 0; out[2] = -s; out[3] = 0; out[4] = 0; out[5] = 1; out[6] = 0; out[7] = 0; out[8] = s; out[9] = 0; out[10] = c; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from the given angle around the Z axis * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.rotateZ(dest, dest, rad); * * @param {mat4} out mat4 receiving operation result * @param {Number} rad the angle to rotate the matrix by * @returns {mat4} out */ function fromZRotation(out, rad) { var s = Math.sin(rad); var c = Math.cos(rad); // Perform axis-specific matrix multiplication out[0] = c; out[1] = s; out[2] = 0; out[3] = 0; out[4] = -s; out[5] = c; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 1; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Creates a matrix from a quaternion rotation and vector translation * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @returns {mat4} out */ function fromRotationTranslation(out, q, v) { // Quaternion math var x = q[0], y = q[1], z = q[2], w = q[3]; var x2 = x + x; var y2 = y + y; var z2 = z + z; var xx = x * x2; var xy = x * y2; var xz = x * z2; var yy = y * y2; var yz = y * z2; var zz = z * z2; var wx = w * x2; var wy = w * y2; var wz = w * z2; out[0] = 1 - (yy + zz); out[1] = xy + wz; out[2] = xz - wy; out[3] = 0; out[4] = xy - wz; out[5] = 1 - (xx + zz); out[6] = yz + wx; out[7] = 0; out[8] = xz + wy; out[9] = yz - wx; out[10] = 1 - (xx + yy); out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Returns the translation vector component of a transformation * matrix. If a matrix is built with fromRotationTranslation, * the returned vector will be the same as the translation vector * originally supplied. * @param {vec3} out Vector to receive translation component * @param {mat4} mat Matrix to be decomposed (input) * @return {vec3} out */ function getTranslation(out, mat) { out[0] = mat[12]; out[1] = mat[13]; out[2] = mat[14]; return out; } /** * Returns the scaling factor component of a transformation * matrix. If a matrix is built with fromRotationTranslationScale * with a normalized Quaternion paramter, the returned vector will be * the same as the scaling vector * originally supplied. * @param {vec3} out Vector to receive scaling factor component * @param {mat4} mat Matrix to be decomposed (input) * @return {vec3} out */ function getScaling(out, mat) { var m11 = mat[0]; var m12 = mat[1]; var m13 = mat[2]; var m21 = mat[4]; var m22 = mat[5]; var m23 = mat[6]; var m31 = mat[8]; var m32 = mat[9]; var m33 = mat[10]; out[0] = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13); out[1] = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23); out[2] = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33); return out; } /** * Returns a quaternion representing the rotational component * of a transformation matrix. If a matrix is built with * fromRotationTranslation, the returned quaternion will be the * same as the quaternion originally supplied. * @param {quat} out Quaternion to receive the rotation component * @param {mat4} mat Matrix to be decomposed (input) * @return {quat} out */ function getRotation(out, mat) { // Algorithm taken from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm var trace = mat[0] + mat[5] + mat[10]; var S = 0; if (trace > 0) { S = Math.sqrt(trace + 1.0) * 2; out[3] = 0.25 * S; out[0] = (mat[6] - mat[9]) / S; out[1] = (mat[8] - mat[2]) / S; out[2] = (mat[1] - mat[4]) / S; } else if (mat[0] > mat[5] && mat[0] > mat[10]) { S = Math.sqrt(1.0 + mat[0] - mat[5] - mat[10]) * 2; out[3] = (mat[6] - mat[9]) / S; out[0] = 0.25 * S; out[1] = (mat[1] + mat[4]) / S; out[2] = (mat[8] + mat[2]) / S; } else if (mat[5] > mat[10]) { S = Math.sqrt(1.0 + mat[5] - mat[0] - mat[10]) * 2; out[3] = (mat[8] - mat[2]) / S; out[0] = (mat[1] + mat[4]) / S; out[1] = 0.25 * S; out[2] = (mat[6] + mat[9]) / S; } else { S = Math.sqrt(1.0 + mat[10] - mat[0] - mat[5]) * 2; out[3] = (mat[1] - mat[4]) / S; out[0] = (mat[8] + mat[2]) / S; out[1] = (mat[6] + mat[9]) / S; out[2] = 0.25 * S; } return out; } /** * Creates a matrix from a quaternion rotation, vector translation and vector scale * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * mat4.scale(dest, scale) * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @param {vec3} s Scaling vector * @returns {mat4} out */ function fromRotationTranslationScale(out, q, v, s) { // Quaternion math var x = q[0], y = q[1], z = q[2], w = q[3]; var x2 = x + x; var y2 = y + y; var z2 = z + z; var xx = x * x2; var xy = x * y2; var xz = x * z2; var yy = y * y2; var yz = y * z2; var zz = z * z2; var wx = w * x2; var wy = w * y2; var wz = w * z2; var sx = s[0]; var sy = s[1]; var sz = s[2]; out[0] = (1 - (yy + zz)) * sx; out[1] = (xy + wz) * sx; out[2] = (xz - wy) * sx; out[3] = 0; out[4] = (xy - wz) * sy; out[5] = (1 - (xx + zz)) * sy; out[6] = (yz + wx) * sy; out[7] = 0; out[8] = (xz + wy) * sz; out[9] = (yz - wx) * sz; out[10] = (1 - (xx + yy)) * sz; out[11] = 0; out[12] = v[0]; out[13] = v[1]; out[14] = v[2]; out[15] = 1; return out; } /** * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin * This is equivalent to (but much faster than): * * mat4.identity(dest); * mat4.translate(dest, vec); * mat4.translate(dest, origin); * let quatMat = mat4.create(); * quat4.toMat4(quat, quatMat); * mat4.multiply(dest, quatMat); * mat4.scale(dest, scale) * mat4.translate(dest, negativeOrigin); * * @param {mat4} out mat4 receiving operation result * @param {quat4} q Rotation quaternion * @param {vec3} v Translation vector * @param {vec3} s Scaling vector * @param {vec3} o The origin vector around which to scale and rotate * @returns {mat4} out */ function fromRotationTranslationScaleOrigin(out, q, v, s, o) { // Quaternion math var x = q[0], y = q[1], z = q[2], w = q[3]; var x2 = x + x; var y2 = y + y; var z2 = z + z; var xx = x * x2; var xy = x * y2; var xz = x * z2; var yy = y * y2; var yz = y * z2; var zz = z * z2; var wx = w * x2; var wy = w * y2; var wz = w * z2; var sx = s[0]; var sy = s[1]; var sz = s[2]; var ox = o[0]; var oy = o[1]; var oz = o[2]; var out0 = (1 - (yy + zz)) * sx; var out1 = (xy + wz) * sx; var out2 = (xz - wy) * sx; var out4 = (xy - wz) * sy; var out5 = (1 - (xx + zz)) * sy; var out6 = (yz + wx) * sy; var out8 = (xz + wy) * sz; var out9 = (yz - wx) * sz; var out10 = (1 - (xx + yy)) * sz; out[0] = out0; out[1] = out1; out[2] = out2; out[3] = 0; out[4] = out4; out[5] = out5; out[6] = out6; out[7] = 0; out[8] = out8; out[9] = out9; out[10] = out10; out[11] = 0; out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz); out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz); out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz); out[15] = 1; return out; } /** * Calculates a 4x4 matrix from the given quaternion * * @param {mat4} out mat4 receiving operation result * @param {quat} q Quaternion to create matrix from * * @returns {mat4} out */ function fromQuat(out, q) { var x = q[0], y = q[1], z = q[2], w = q[3]; var x2 = x + x; var y2 = y + y; var z2 = z + z; var xx = x * x2; var yx = y * x2; var yy = y * y2; var zx = z * x2; var zy = z * y2; var zz = z * z2; var wx = w * x2; var wy = w * y2; var wz = w * z2; out[0] = 1 - yy - zz; out[1] = yx + wz; out[2] = zx - wy; out[3] = 0; out[4] = yx - wz; out[5] = 1 - xx - zz; out[6] = zy + wx; out[7] = 0; out[8] = zx + wy; out[9] = zy - wx; out[10] = 1 - xx - yy; out[11] = 0; out[12] = 0; out[13] = 0; out[14] = 0; out[15] = 1; return out; } /** * Generates a frustum matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {Number} left Left bound of the frustum * @param {Number} right Right bound of the frustum * @param {Number} bottom Bottom bound of the frustum * @param {Number} top Top bound of the frustum * @param {Number} near Near bound of the frustum * @param {Number} far Far bound of the frustum * @returns {mat4} out */ function frustum(out, left, right, bottom, top, near, far) { var rl = 1 / (right - left); var tb = 1 / (top - bottom); var nf = 1 / (near - far); out[0] = near * 2 * rl; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = near * 2 * tb; out[6] = 0; out[7] = 0; out[8] = (right + left) * rl; out[9] = (top + bottom) * tb; out[10] = (far + near) * nf; out[11] = -1; out[12] = 0; out[13] = 0; out[14] = far * near * 2 * nf; out[15] = 0; return out; } /** * Generates a perspective projection matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {number} fovy Vertical field of view in radians * @param {number} aspect Aspect ratio. typically viewport width/height * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ function perspective(out, fovy, aspect, near, far) { var f = 1.0 / Math.tan(fovy / 2); var nf = 1 / (near - far); out[0] = f / aspect; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = f; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = (far + near) * nf; out[11] = -1; out[12] = 0; out[13] = 0; out[14] = 2 * far * near * nf; out[15] = 0; return out; } /** * Generates a perspective projection matrix with the given field of view. * This is primarily useful for generating projection matrices to be used * with the still experiemental WebVR API. * * @param {mat4} out mat4 frustum matrix will be written into * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ function perspectiveFromFieldOfView(out, fov, near, far) { var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0); var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0); var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0); var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0); var xScale = 2.0 / (leftTan + rightTan); var yScale = 2.0 / (upTan + downTan); out[0] = xScale; out[1] = 0.0; out[2] = 0.0; out[3] = 0.0; out[4] = 0.0; out[5] = yScale; out[6] = 0.0; out[7] = 0.0; out[8] = -((leftTan - rightTan) * xScale * 0.5); out[9] = (upTan - downTan) * yScale * 0.5; out[10] = far / (near - far); out[11] = -1.0; out[12] = 0.0; out[13] = 0.0; out[14] = far * near / (near - far); out[15] = 0.0; return out; } /** * Generates a orthogonal projection matrix with the given bounds * * @param {mat4} out mat4 frustum matrix will be written into * @param {number} left Left bound of the frustum * @param {number} right Right bound of the frustum * @param {number} bottom Bottom bound of the frustum * @param {number} top Top bound of the frustum * @param {number} near Near bound of the frustum * @param {number} far Far bound of the frustum * @returns {mat4} out */ function ortho(out, left, right, bottom, top, near, far) { var lr = 1 / (left - right); var bt = 1 / (bottom - top); var nf = 1 / (near - far); out[0] = -2 * lr; out[1] = 0; out[2] = 0; out[3] = 0; out[4] = 0; out[5] = -2 * bt; out[6] = 0; out[7] = 0; out[8] = 0; out[9] = 0; out[10] = 2 * nf; out[11] = 0; out[12] = (left + right) * lr; out[13] = (top + bottom) * bt; out[14] = (far + near) * nf; out[15] = 1; return out; } /** * Generates a look-at matrix with the given eye position, focal point, and up axis. * If you want a matrix that actually makes an object look at another object, you should use targetTo instead. * * @param {mat4} out mat4 frustum matrix will be written into * @param {vec3} eye Position of the viewer * @param {vec3} center Point the viewer is looking at * @param {vec3} up vec3 pointing up * @returns {mat4} out */ function lookAt(out, eye, center, up) { var x0 = void 0, x1 = void 0, x2 = void 0, y0 = void 0, y1 = void 0, y2 = void 0, z0 = void 0, z1 = void 0, z2 = void 0, len = void 0; var eyex = eye[0]; var eyey = eye[1]; var eyez = eye[2]; var upx = up[0]; var upy = up[1]; var upz = up[2]; var centerx = center[0]; var centery = center[1]; var centerz = center[2]; if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) { return identity(out); } z0 = eyex - centerx; z1 = eyey - centery; z2 = eyez - centerz; len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2); z0 *= len; z1 *= len; z2 *= len; x0 = upy * z2 - upz * z1; x1 = upz * z0 - upx * z2; x2 = upx * z1 - upy * z0; len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2); if (!len) { x0 = 0; x1 = 0; x2 = 0; } else { len = 1 / len; x0 *= len; x1 *= len; x2 *= len; } y0 = z1 * x2 - z2 * x1; y1 = z2 * x0 - z0 * x2; y2 = z0 * x1 - z1 * x0; len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2); if (!len) { y0 = 0; y1 = 0; y2 = 0; } else { len = 1 / len; y0 *= len; y1 *= len; y2 *= len; } out[0] = x0; out[1] = y0; out[2] = z0; out[3] = 0; out[4] = x1; out[5] = y1; out[6] = z1; out[7] = 0; out[8] = x2; out[9] = y2; out[10] = z2; out[11] = 0; out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez); out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez); out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez); out[15] = 1; return out; } /** * Generates a matrix that makes something look at something else. * * @param {mat4} out mat4 frustum matrix will be written into * @param {vec3} eye Position of the viewer * @param {vec3} center Point the viewer is looking at * @param {vec3} up vec3 pointing up * @returns {mat4} out */ function targetTo(out, eye, target, up) { var eyex = eye[0], eyey = eye[1], eyez = eye[2], upx = up[0], upy = up[1], upz = up[2]; var z0 = eyex - target[0], z1 = eyey - target[1], z2 = eyez - target[2]; var len = z0 * z0 + z1 * z1 + z2 * z2; if (len > 0) { len = 1 / Math.sqrt(len); z0 *= len; z1 *= len; z2 *= len; } var x0 = upy * z2 - upz * z1, x1 = upz * z0 - upx * z2, x2 = upx * z1 - upy * z0; len = x0 * x0 + x1 * x1 + x2 * x2; if (len > 0) { len = 1 / Math.sqrt(len); x0 *= len; x1 *= len; x2 *= len; } out[0] = x0; out[1] = x1; out[2] = x2; out[3] = 0; out[4] = z1 * x2 - z2 * x1; out[5] = z2 * x0 - z0 * x2; out[6] = z0 * x1 - z1 * x0; out[7] = 0; out[8] = z0; out[9] = z1; out[10] = z2; out[11] = 0; out[12] = eyex; out[13] = eyey; out[14] = eyez; out[15] = 1; return out; }; /** * Returns a string representation of a mat4 * * @param {mat4} a matrix to represent as a string * @returns {String} string representation of the matrix */ function str(a) { return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' + a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')'; } /** * Returns Frobenius norm of a mat4 * * @param {mat4} a the matrix to calculate Frobenius norm of * @returns {Number} Frobenius norm */ function frob(a) { return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2) + Math.pow(a[9], 2) + Math.pow(a[10], 2) + Math.pow(a[11], 2) + Math.pow(a[12], 2) + Math.pow(a[13], 2) + Math.pow(a[14], 2) + Math.pow(a[15], 2)); } /** * Adds two mat4's * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; out[2] = a[2] + b[2]; out[3] = a[3] + b[3]; out[4] = a[4] + b[4]; out[5] = a[5] + b[5]; out[6] = a[6] + b[6]; out[7] = a[7] + b[7]; out[8] = a[8] + b[8]; out[9] = a[9] + b[9]; out[10] = a[10] + b[10]; out[11] = a[11] + b[11]; out[12] = a[12] + b[12]; out[13] = a[13] + b[13]; out[14] = a[14] + b[14]; out[15] = a[15] + b[15]; return out; } /** * Subtracts matrix b from matrix a * * @param {mat4} out the receiving matrix * @param {mat4} a the first operand * @param {mat4} b the second operand * @returns {mat4} out */ function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; out[2] = a[2] - b[2]; out[3] = a[3] - b[3]; out[4] = a[4] - b[4]; out[5] = a[5] - b[5]; out[6] = a[6] - b[6]; out[7] = a[7] - b[7]; out[8] = a[8] - b[8]; out[9] = a[9] - b[9]; out[10] = a[10] - b[10]; out[11] = a[11] - b[11]; out[12] = a[12] - b[12]; out[13] = a[13] - b[13]; out[14] = a[14] - b[14]; out[15] = a[15] - b[15]; return out; } /** * Multiply each element of the matrix by a scalar. * * @param {mat4} out the receiving matrix * @param {mat4} a the matrix to scale * @param {Number} b amount to scale the matrix's elements by * @returns {mat4} out */ function multiplyScalar(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; out[2] = a[2] * b; out[3] = a[3] * b; out[4] = a[4] * b; out[5] = a[5] * b; out[6] = a[6] * b; out[7] = a[7] * b; out[8] = a[8] * b; out[9] = a[9] * b; out[10] = a[10] * b; out[11] = a[11] * b; out[12] = a[12] * b; out[13] = a[13] * b; out[14] = a[14] * b; out[15] = a[15] * b; return out; } /** * Adds two mat4's after multiplying each element of the second operand by a scalar value. * * @param {mat4} out the receiving vector * @param {mat4} a the first operand * @param {mat4} b the second operand * @param {Number} scale the amount to scale b's elements by before adding * @returns {mat4} out */ function multiplyScalarAndAdd(out, a, b, scale) { out[0] = a[0] + b[0] * scale; out[1] = a[1] + b[1] * scale; out[2] = a[2] + b[2] * scale; out[3] = a[3] + b[3] * scale; out[4] = a[4] + b[4] * scale; out[5] = a[5] + b[5] * scale; out[6] = a[6] + b[6] * scale; out[7] = a[7] + b[7] * scale; out[8] = a[8] + b[8] * scale; out[9] = a[9] + b[9] * scale; out[10] = a[10] + b[10] * scale; out[11] = a[11] + b[11] * scale; out[12] = a[12] + b[12] * scale; out[13] = a[13] + b[13] * scale; out[14] = a[14] + b[14] * scale; out[15] = a[15] + b[15] * scale; return out; } /** * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===) * * @param {mat4} a The first matrix. * @param {mat4} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15]; } /** * Returns whether or not the matrices have approximately the same elements in the same position. * * @param {mat4} a The first matrix. * @param {mat4} b The second matrix. * @returns {Boolean} True if the matrices are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7]; var a8 = a[8], a9 = a[9], a10 = a[10], a11 = a[11]; var a12 = a[12], a13 = a[13], a14 = a[14], a15 = a[15]; var b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3]; var b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7]; var b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11]; var b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a15), Math.abs(b15)); } /** * Alias for {@link mat4.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link mat4.subtract} * @function */ var sub = exports.sub = subtract; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setAxes = exports.sqlerp = exports.rotationTo = exports.equals = exports.exactEquals = exports.normalize = exports.sqrLen = exports.squaredLength = exports.len = exports.length = exports.lerp = exports.dot = exports.scale = exports.mul = exports.add = exports.set = exports.copy = exports.fromValues = exports.clone = undefined; exports.create = create; exports.identity = identity; exports.setAxisAngle = setAxisAngle; exports.getAxisAngle = getAxisAngle; exports.multiply = multiply; exports.rotateX = rotateX; exports.rotateY = rotateY; exports.rotateZ = rotateZ; exports.calculateW = calculateW; exports.slerp = slerp; exports.invert = invert; exports.conjugate = conjugate; exports.fromMat3 = fromMat3; exports.fromEuler = fromEuler; exports.str = str; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); var _mat = __webpack_require__(1); var mat3 = _interopRequireWildcard(_mat); var _vec = __webpack_require__(2); var vec3 = _interopRequireWildcard(_vec); var _vec2 = __webpack_require__(3); var vec4 = _interopRequireWildcard(_vec2); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * Quaternion * @module quat */ /** * Creates a new identity quat * * @returns {quat} a new quaternion */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function create() { var out = new glMatrix.ARRAY_TYPE(4); out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Set a quat to the identity quaternion * * @param {quat} out the receiving quaternion * @returns {quat} out */ function identity(out) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } /** * Sets a quat from the given angle and rotation axis, * then returns it. * * @param {quat} out the receiving quaternion * @param {vec3} axis the axis around which to rotate * @param {Number} rad the angle in radians * @returns {quat} out **/ function setAxisAngle(out, axis, rad) { rad = rad * 0.5; var s = Math.sin(rad); out[0] = s * axis[0]; out[1] = s * axis[1]; out[2] = s * axis[2]; out[3] = Math.cos(rad); return out; } /** * Gets the rotation axis and angle for a given * quaternion. If a quaternion is created with * setAxisAngle, this method will return the same * values as providied in the original parameter list * OR functionally equivalent values. * Example: The quaternion formed by axis [0, 0, 1] and * angle -90 is the same as the quaternion formed by * [0, 0, 1] and 270. This method favors the latter. * @param {vec3} out_axis Vector receiving the axis of rotation * @param {quat} q Quaternion to be decomposed * @return {Number} Angle, in radians, of the rotation */ function getAxisAngle(out_axis, q) { var rad = Math.acos(q[3]) * 2.0; var s = Math.sin(rad / 2.0); if (s != 0.0) { out_axis[0] = q[0] / s; out_axis[1] = q[1] / s; out_axis[2] = q[2] / s; } else { // If s is zero, return any axis (no rotation - axis does not matter) out_axis[0] = 1; out_axis[1] = 0; out_axis[2] = 0; } return rad; } /** * Multiplies two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @returns {quat} out */ function multiply(out, a, b) { var ax = a[0], ay = a[1], az = a[2], aw = a[3]; var bx = b[0], by = b[1], bz = b[2], bw = b[3]; out[0] = ax * bw + aw * bx + ay * bz - az * by; out[1] = ay * bw + aw * by + az * bx - ax * bz; out[2] = az * bw + aw * bz + ax * by - ay * bx; out[3] = aw * bw - ax * bx - ay * by - az * bz; return out; } /** * Rotates a quaternion by the given angle about the X axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ function rotateX(out, a, rad) { rad *= 0.5; var ax = a[0], ay = a[1], az = a[2], aw = a[3]; var bx = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw + aw * bx; out[1] = ay * bw + az * bx; out[2] = az * bw - ay * bx; out[3] = aw * bw - ax * bx; return out; } /** * Rotates a quaternion by the given angle about the Y axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ function rotateY(out, a, rad) { rad *= 0.5; var ax = a[0], ay = a[1], az = a[2], aw = a[3]; var by = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw - az * by; out[1] = ay * bw + aw * by; out[2] = az * bw + ax * by; out[3] = aw * bw - ay * by; return out; } /** * Rotates a quaternion by the given angle about the Z axis * * @param {quat} out quat receiving operation result * @param {quat} a quat to rotate * @param {number} rad angle (in radians) to rotate * @returns {quat} out */ function rotateZ(out, a, rad) { rad *= 0.5; var ax = a[0], ay = a[1], az = a[2], aw = a[3]; var bz = Math.sin(rad), bw = Math.cos(rad); out[0] = ax * bw + ay * bz; out[1] = ay * bw - ax * bz; out[2] = az * bw + aw * bz; out[3] = aw * bw - az * bz; return out; } /** * Calculates the W component of a quat from the X, Y, and Z components. * Assumes that quaternion is 1 unit in length. * Any existing W component will be ignored. * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate W component of * @returns {quat} out */ function calculateW(out, a) { var x = a[0], y = a[1], z = a[2]; out[0] = x; out[1] = y; out[2] = z; out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z)); return out; } /** * Performs a spherical linear interpolation between two quat * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {quat} out */ function slerp(out, a, b, t) { // benchmarks: // http://jsperf.com/quaternion-slerp-implementations var ax = a[0], ay = a[1], az = a[2], aw = a[3]; var bx = b[0], by = b[1], bz = b[2], bw = b[3]; var omega = void 0, cosom = void 0, sinom = void 0, scale0 = void 0, scale1 = void 0; // calc cosine cosom = ax * bx + ay * by + az * bz + aw * bw; // adjust signs (if necessary) if (cosom < 0.0) { cosom = -cosom; bx = -bx; by = -by; bz = -bz; bw = -bw; } // calculate coefficients if (1.0 - cosom > 0.000001) { // standard case (slerp) omega = Math.acos(cosom); sinom = Math.sin(omega); scale0 = Math.sin((1.0 - t) * omega) / sinom; scale1 = Math.sin(t * omega) / sinom; } else { // "from" and "to" quaternions are very close // ... so we can do a linear interpolation scale0 = 1.0 - t; scale1 = t; } // calculate final values out[0] = scale0 * ax + scale1 * bx; out[1] = scale0 * ay + scale1 * by; out[2] = scale0 * az + scale1 * bz; out[3] = scale0 * aw + scale1 * bw; return out; } /** * Calculates the inverse of a quat * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate inverse of * @returns {quat} out */ function invert(out, a) { var a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3]; var dot = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3; var invDot = dot ? 1.0 / dot : 0; // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0 out[0] = -a0 * invDot; out[1] = -a1 * invDot; out[2] = -a2 * invDot; out[3] = a3 * invDot; return out; } /** * Calculates the conjugate of a quat * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result. * * @param {quat} out the receiving quaternion * @param {quat} a quat to calculate conjugate of * @returns {quat} out */ function conjugate(out, a) { out[0] = -a[0]; out[1] = -a[1]; out[2] = -a[2]; out[3] = a[3]; return out; } /** * Creates a quaternion from the given 3x3 rotation matrix. * * NOTE: The resultant quaternion is not normalized, so you should be sure * to renormalize the quaternion yourself where necessary. * * @param {quat} out the receiving quaternion * @param {mat3} m rotation matrix * @returns {quat} out * @function */ function fromMat3(out, m) { // Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes // article "Quaternion Calculus and Fast Animation". var fTrace = m[0] + m[4] + m[8]; var fRoot = void 0; if (fTrace > 0.0) { // |w| > 1/2, may as well choose w > 1/2 fRoot = Math.sqrt(fTrace + 1.0); // 2w out[3] = 0.5 * fRoot; fRoot = 0.5 / fRoot; // 1/(4w) out[0] = (m[5] - m[7]) * fRoot; out[1] = (m[6] - m[2]) * fRoot; out[2] = (m[1] - m[3]) * fRoot; } else { // |w| <= 1/2 var i = 0; if (m[4] > m[0]) i = 1; if (m[8] > m[i * 3 + i]) i = 2; var j = (i + 1) % 3; var k = (i + 2) % 3; fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1.0); out[i] = 0.5 * fRoot; fRoot = 0.5 / fRoot; out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot; out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot; out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot; } return out; } /** * Creates a quaternion from the given euler angle x, y, z. * * @param {quat} out the receiving quaternion * @param {x} Angle to rotate around X axis in degrees. * @param {y} Angle to rotate around Y axis in degrees. * @param {z} Angle to rotate around Z axis in degrees. * @returns {quat} out * @function */ function fromEuler(out, x, y, z) { var halfToRad = 0.5 * Math.PI / 180.0; x *= halfToRad; y *= halfToRad; z *= halfToRad; var sx = Math.sin(x); var cx = Math.cos(x); var sy = Math.sin(y); var cy = Math.cos(y); var sz = Math.sin(z); var cz = Math.cos(z); out[0] = sx * cy * cz - cx * sy * sz; out[1] = cx * sy * cz + sx * cy * sz; out[2] = cx * cy * sz - sx * sy * cz; out[3] = cx * cy * cz + sx * sy * sz; return out; } /** * Returns a string representation of a quatenion * * @param {quat} a vector to represent as a string * @returns {String} string representation of the vector */ function str(a) { return 'quat(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')'; } /** * Creates a new quat initialized with values from an existing quaternion * * @param {quat} a quaternion to clone * @returns {quat} a new quaternion * @function */ var clone = exports.clone = vec4.clone; /** * Creates a new quat initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {quat} a new quaternion * @function */ var fromValues = exports.fromValues = vec4.fromValues; /** * Copy the values from one quat to another * * @param {quat} out the receiving quaternion * @param {quat} a the source quaternion * @returns {quat} out * @function */ var copy = exports.copy = vec4.copy; /** * Set the components of a quat to the given values * * @param {quat} out the receiving quaternion * @param {Number} x X component * @param {Number} y Y component * @param {Number} z Z component * @param {Number} w W component * @returns {quat} out * @function */ var set = exports.set = vec4.set; /** * Adds two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @returns {quat} out * @function */ var add = exports.add = vec4.add; /** * Alias for {@link quat.multiply} * @function */ var mul = exports.mul = multiply; /** * Scales a quat by a scalar number * * @param {quat} out the receiving vector * @param {quat} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {quat} out * @function */ var scale = exports.scale = vec4.scale; /** * Calculates the dot product of two quat's * * @param {quat} a the first operand * @param {quat} b the second operand * @returns {Number} dot product of a and b * @function */ var dot = exports.dot = vec4.dot; /** * Performs a linear interpolation between two quat's * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {quat} out * @function */ var lerp = exports.lerp = vec4.lerp; /** * Calculates the length of a quat * * @param {quat} a vector to calculate length of * @returns {Number} length of a */ var length = exports.length = vec4.length; /** * Alias for {@link quat.length} * @function */ var len = exports.len = length; /** * Calculates the squared length of a quat * * @param {quat} a vector to calculate squared length of * @returns {Number} squared length of a * @function */ var squaredLength = exports.squaredLength = vec4.squaredLength; /** * Alias for {@link quat.squaredLength} * @function */ var sqrLen = exports.sqrLen = squaredLength; /** * Normalize a quat * * @param {quat} out the receiving quaternion * @param {quat} a quaternion to normalize * @returns {quat} out * @function */ var normalize = exports.normalize = vec4.normalize; /** * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===) * * @param {quat} a The first quaternion. * @param {quat} b The second quaternion. * @returns {Boolean} True if the vectors are equal, false otherwise. */ var exactEquals = exports.exactEquals = vec4.exactEquals; /** * Returns whether or not the quaternions have approximately the same elements in the same position. * * @param {quat} a The first vector. * @param {quat} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ var equals = exports.equals = vec4.equals; /** * Sets a quaternion to represent the shortest rotation from one * vector to another. * * Both vectors are assumed to be unit length. * * @param {quat} out the receiving quaternion. * @param {vec3} a the initial vector * @param {vec3} b the destination vector * @returns {quat} out */ var rotationTo = exports.rotationTo = function () { var tmpvec3 = vec3.create(); var xUnitVec3 = vec3.fromValues(1, 0, 0); var yUnitVec3 = vec3.fromValues(0, 1, 0); return function (out, a, b) { var dot = vec3.dot(a, b); if (dot < -0.999999) { vec3.cross(tmpvec3, xUnitVec3, a); if (vec3.len(tmpvec3) < 0.000001) vec3.cross(tmpvec3, yUnitVec3, a); vec3.normalize(tmpvec3, tmpvec3); setAxisAngle(out, tmpvec3, Math.PI); return out; } else if (dot > 0.999999) { out[0] = 0; out[1] = 0; out[2] = 0; out[3] = 1; return out; } else { vec3.cross(tmpvec3, a, b); out[0] = tmpvec3[0]; out[1] = tmpvec3[1]; out[2] = tmpvec3[2]; out[3] = 1 + dot; return normalize(out, out); } }; }(); /** * Performs a spherical linear interpolation with two control points * * @param {quat} out the receiving quaternion * @param {quat} a the first operand * @param {quat} b the second operand * @param {quat} c the third operand * @param {quat} d the fourth operand * @param {Number} t interpolation amount * @returns {quat} out */ var sqlerp = exports.sqlerp = function () { var temp1 = create(); var temp2 = create(); return function (out, a, b, c, d, t) { slerp(temp1, a, d, t); slerp(temp2, b, c, t); slerp(out, temp1, temp2, 2 * t * (1 - t)); return out; }; }(); /** * Sets the specified quaternion with values corresponding to the given * axes. Each axis is a vec3 and is expected to be unit length and * perpendicular to all other specified axes. * * @param {vec3} view the vector representing the viewing direction * @param {vec3} right the vector representing the local "right" direction * @param {vec3} up the vector representing the local "up" direction * @returns {quat} out */ var setAxes = exports.setAxes = function () { var matr = mat3.create(); return function (out, view, right, up) { matr[0] = right[0]; matr[3] = right[1]; matr[6] = right[2]; matr[1] = up[0]; matr[4] = up[1]; matr[7] = up[2]; matr[2] = -view[0]; matr[5] = -view[1]; matr[8] = -view[2]; return normalize(out, fromMat3(out, matr)); }; }(); /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.forEach = exports.sqrLen = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = exports.len = undefined; exports.create = create; exports.clone = clone; exports.fromValues = fromValues; exports.copy = copy; exports.set = set; exports.add = add; exports.subtract = subtract; exports.multiply = multiply; exports.divide = divide; exports.ceil = ceil; exports.floor = floor; exports.min = min; exports.max = max; exports.round = round; exports.scale = scale; exports.scaleAndAdd = scaleAndAdd; exports.distance = distance; exports.squaredDistance = squaredDistance; exports.length = length; exports.squaredLength = squaredLength; exports.negate = negate; exports.inverse = inverse; exports.normalize = normalize; exports.dot = dot; exports.cross = cross; exports.lerp = lerp; exports.random = random; exports.transformMat2 = transformMat2; exports.transformMat2d = transformMat2d; exports.transformMat3 = transformMat3; exports.transformMat4 = transformMat4; exports.str = str; exports.exactEquals = exactEquals; exports.equals = equals; var _common = __webpack_require__(0); var glMatrix = _interopRequireWildcard(_common); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } /** * 2 Dimensional Vector * @module vec2 */ /** * Creates a new, empty vec2 * * @returns {vec2} a new 2D vector */ function create() { var out = new glMatrix.ARRAY_TYPE(2); out[0] = 0; out[1] = 0; return out; } /** * Creates a new vec2 initialized with values from an existing vector * * @param {vec2} a vector to clone * @returns {vec2} a new 2D vector */ /* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function clone(a) { var out = new glMatrix.ARRAY_TYPE(2); out[0] = a[0]; out[1] = a[1]; return out; } /** * Creates a new vec2 initialized with the given values * * @param {Number} x X component * @param {Number} y Y component * @returns {vec2} a new 2D vector */ function fromValues(x, y) { var out = new glMatrix.ARRAY_TYPE(2); out[0] = x; out[1] = y; return out; } /** * Copy the values from one vec2 to another * * @param {vec2} out the receiving vector * @param {vec2} a the source vector * @returns {vec2} out */ function copy(out, a) { out[0] = a[0]; out[1] = a[1]; return out; } /** * Set the components of a vec2 to the given values * * @param {vec2} out the receiving vector * @param {Number} x X component * @param {Number} y Y component * @returns {vec2} out */ function set(out, x, y) { out[0] = x; out[1] = y; return out; } /** * Adds two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function add(out, a, b) { out[0] = a[0] + b[0]; out[1] = a[1] + b[1]; return out; } /** * Subtracts vector b from vector a * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function subtract(out, a, b) { out[0] = a[0] - b[0]; out[1] = a[1] - b[1]; return out; } /** * Multiplies two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function multiply(out, a, b) { out[0] = a[0] * b[0]; out[1] = a[1] * b[1]; return out; }; /** * Divides two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function divide(out, a, b) { out[0] = a[0] / b[0]; out[1] = a[1] / b[1]; return out; }; /** * Math.ceil the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to ceil * @returns {vec2} out */ function ceil(out, a) { out[0] = Math.ceil(a[0]); out[1] = Math.ceil(a[1]); return out; }; /** * Math.floor the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to floor * @returns {vec2} out */ function floor(out, a) { out[0] = Math.floor(a[0]); out[1] = Math.floor(a[1]); return out; }; /** * Returns the minimum of two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function min(out, a, b) { out[0] = Math.min(a[0], b[0]); out[1] = Math.min(a[1], b[1]); return out; }; /** * Returns the maximum of two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec2} out */ function max(out, a, b) { out[0] = Math.max(a[0], b[0]); out[1] = Math.max(a[1], b[1]); return out; }; /** * Math.round the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to round * @returns {vec2} out */ function round(out, a) { out[0] = Math.round(a[0]); out[1] = Math.round(a[1]); return out; }; /** * Scales a vec2 by a scalar number * * @param {vec2} out the receiving vector * @param {vec2} a the vector to scale * @param {Number} b amount to scale the vector by * @returns {vec2} out */ function scale(out, a, b) { out[0] = a[0] * b; out[1] = a[1] * b; return out; }; /** * Adds two vec2's after scaling the second operand by a scalar value * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @param {Number} scale the amount to scale b by before adding * @returns {vec2} out */ function scaleAndAdd(out, a, b, scale) { out[0] = a[0] + b[0] * scale; out[1] = a[1] + b[1] * scale; return out; }; /** * Calculates the euclidian distance between two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} distance between a and b */ function distance(a, b) { var x = b[0] - a[0], y = b[1] - a[1]; return Math.sqrt(x * x + y * y); }; /** * Calculates the squared euclidian distance between two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} squared distance between a and b */ function squaredDistance(a, b) { var x = b[0] - a[0], y = b[1] - a[1]; return x * x + y * y; }; /** * Calculates the length of a vec2 * * @param {vec2} a vector to calculate length of * @returns {Number} length of a */ function length(a) { var x = a[0], y = a[1]; return Math.sqrt(x * x + y * y); }; /** * Calculates the squared length of a vec2 * * @param {vec2} a vector to calculate squared length of * @returns {Number} squared length of a */ function squaredLength(a) { var x = a[0], y = a[1]; return x * x + y * y; }; /** * Negates the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to negate * @returns {vec2} out */ function negate(out, a) { out[0] = -a[0]; out[1] = -a[1]; return out; }; /** * Returns the inverse of the components of a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to invert * @returns {vec2} out */ function inverse(out, a) { out[0] = 1.0 / a[0]; out[1] = 1.0 / a[1]; return out; }; /** * Normalize a vec2 * * @param {vec2} out the receiving vector * @param {vec2} a vector to normalize * @returns {vec2} out */ function normalize(out, a) { var x = a[0], y = a[1]; var len = x * x + y * y; if (len > 0) { //TODO: evaluate use of glm_invsqrt here? len = 1 / Math.sqrt(len); out[0] = a[0] * len; out[1] = a[1] * len; } return out; }; /** * Calculates the dot product of two vec2's * * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {Number} dot product of a and b */ function dot(a, b) { return a[0] * b[0] + a[1] * b[1]; }; /** * Computes the cross product of two vec2's * Note that the cross product must by definition produce a 3D vector * * @param {vec3} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @returns {vec3} out */ function cross(out, a, b) { var z = a[0] * b[1] - a[1] * b[0]; out[0] = out[1] = 0; out[2] = z; return out; }; /** * Performs a linear interpolation between two vec2's * * @param {vec2} out the receiving vector * @param {vec2} a the first operand * @param {vec2} b the second operand * @param {Number} t interpolation amount between the two inputs * @returns {vec2} out */ function lerp(out, a, b, t) { var ax = a[0], ay = a[1]; out[0] = ax + t * (b[0] - ax); out[1] = ay + t * (b[1] - ay); return out; }; /** * Generates a random vector with the given scale * * @param {vec2} out the receiving vector * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned * @returns {vec2} out */ function random(out, scale) { scale = scale || 1.0; var r = glMatrix.RANDOM() * 2.0 * Math.PI; out[0] = Math.cos(r) * scale; out[1] = Math.sin(r) * scale; return out; }; /** * Transforms the vec2 with a mat2 * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat2} m matrix to transform with * @returns {vec2} out */ function transformMat2(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[2] * y; out[1] = m[1] * x + m[3] * y; return out; }; /** * Transforms the vec2 with a mat2d * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat2d} m matrix to transform with * @returns {vec2} out */ function transformMat2d(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[2] * y + m[4]; out[1] = m[1] * x + m[3] * y + m[5]; return out; }; /** * Transforms the vec2 with a mat3 * 3rd vector component is implicitly '1' * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat3} m matrix to transform with * @returns {vec2} out */ function transformMat3(out, a, m) { var x = a[0], y = a[1]; out[0] = m[0] * x + m[3] * y + m[6]; out[1] = m[1] * x + m[4] * y + m[7]; return out; }; /** * Transforms the vec2 with a mat4 * 3rd vector component is implicitly '0' * 4th vector component is implicitly '1' * * @param {vec2} out the receiving vector * @param {vec2} a the vector to transform * @param {mat4} m matrix to transform with * @returns {vec2} out */ function transformMat4(out, a, m) { var x = a[0]; var y = a[1]; out[0] = m[0] * x + m[4] * y + m[12]; out[1] = m[1] * x + m[5] * y + m[13]; return out; } /** * Returns a string representation of a vector * * @param {vec2} a vector to represent as a string * @returns {String} string representation of the vector */ function str(a) { return 'vec2(' + a[0] + ', ' + a[1] + ')'; } /** * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===) * * @param {vec2} a The first vector. * @param {vec2} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function exactEquals(a, b) { return a[0] === b[0] && a[1] === b[1]; } /** * Returns whether or not the vectors have approximately the same elements in the same position. * * @param {vec2} a The first vector. * @param {vec2} b The second vector. * @returns {Boolean} True if the vectors are equal, false otherwise. */ function equals(a, b) { var a0 = a[0], a1 = a[1]; var b0 = b[0], b1 = b[1]; return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)); } /** * Alias for {@link vec2.length} * @function */ var len = exports.len = length; /** * Alias for {@link vec2.subtract} * @function */ var sub = exports.sub = subtract; /** * Alias for {@link vec2.multiply} * @function */ var mul = exports.mul = multiply; /** * Alias for {@link vec2.divide} * @function */ var div = exports.div = divide; /** * Alias for {@link vec2.distance} * @function */ var dist = exports.dist = distance; /** * Alias for {@link vec2.squaredDistance} * @function */ var sqrDist = exports.sqrDist = squaredDistance; /** * Alias for {@link vec2.squaredLength} * @function */ var sqrLen = exports.sqrLen = squaredLength; /** * Perform some operation over an array of vec2s. * * @param {Array} a the array of vectors to iterate over * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed * @param {Number} offset Number of elements to skip at the beginning of the array * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array * @param {Function} fn Function to call for each vector in the array * @param {Object} [arg] additional argument to pass to fn * @returns {Array} a * @function */ var forEach = exports.forEach = function () { var vec = create(); return function (a, stride, offset, count, fn, arg) { var i = void 0, l = void 0; if (!stride) { stride = 2; } if (!offset) { offset = 0; } if (count) { l = Math.min(count * stride + offset, a.length); } else { l = a.length; } for (i = offset; i < l; i += stride) { vec[0] = a[i];vec[1] = a[i + 1]; fn(vec, vec, arg); a[i] = vec[0];a[i + 1] = vec[1]; } return a; }; }(); /***/ }) /******/ ]); }); ================================================ FILE: polyfill/platform/ARCoreCameraRenderer.js ================================================ /* * Copyright 2017 Google Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the 'License') * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an 'AS IS' BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const fragmentSource = `#extension GL_OES_EGL_image_external : require precision mediump float; varying vec2 vTextureCoord; uniform samplerExternalOES uSampler; void main(void) { gl_FragColor = texture2D(uSampler, vTextureCoord); }` const vertexSource = `attribute vec3 aVertexPosition; attribute vec2 aTextureCoord; varying vec2 vTextureCoord; void main(void) { gl_Position = vec4(aVertexPosition, 1.0); vTextureCoord = aTextureCoord; }` /** * Creates and load a shader from a string, type specifies either 'vertex' or 'fragment' * * @param {WebGLRenderingContext} gl * @param {string} str * @param {string} type * @return {!WebGLShader} */ function getShader(gl, str, type) { if (type == 'fragment') { var shader = gl.createShader(gl.FRAGMENT_SHADER) } else if (type == 'vertex') { var shader = gl.createShader(gl.VERTEX_SHADER) } else { return null } gl.shaderSource(shader, str) gl.compileShader(shader) const result = gl.getShaderParameter(shader, gl.COMPILE_STATUS) if (!result) { console.error(gl.getShaderInfoLog(shader)) return null } return shader } /** * Creates a shader program from vertex and fragment shader sources * * @param {WebGLRenderingContext} gl * @param {string} vs * @param {string} fs * @return {!WebGLProgram} */ function getProgram(gl, vs, fs) { const vertexShader = getShader(gl, vs, 'vertex') const fragmentShader = getShader(gl, fs, 'fragment') if (!fragmentShader) { return null } const shaderProgram = gl.createProgram() gl.attachShader(shaderProgram, vertexShader) gl.attachShader(shaderProgram, fragmentShader) gl.linkProgram(shaderProgram) const result = gl.getProgramParameter(shaderProgram, gl.LINK_STATUS) if (!result) { console.error('Could not initialise arview shaders') } return shaderProgram } /** * Calculate the correct orientation depending on the device and the camera * orientations. * * @param {number} screenOrientation * @param {number} seeThroughCameraOrientation * @return {number} */ function combineOrientations(screenOrientation, seeThroughCameraOrientation) { let seeThroughCameraOrientationIndex = 0 switch (seeThroughCameraOrientation) { case 90: seeThroughCameraOrientationIndex = 1 break case 180: seeThroughCameraOrientationIndex = 2 break case 270: seeThroughCameraOrientationIndex = 3 break default: seeThroughCameraOrientationIndex = 0 break } let screenOrientationIndex = 0 switch (screenOrientation) { case 90: screenOrientationIndex = 1 break case 180: screenOrientationIndex = 2 break case 270: screenOrientationIndex = 3 break default: screenOrientationIndex = 0 break } let ret = screenOrientationIndex - seeThroughCameraOrientationIndex if (ret < 0) { ret += 4 } return ret % 4 } /** * Renders the ar camera's video texture */ class ARVideoRenderer { /** * @param {VRDisplay} vrDisplay * @param {WebGLRenderingContext} gl */ constructor(vrDisplay, gl) { this.vrDisplay = vrDisplay this.gl = gl this.passThroughCamera = vrDisplay.getPassThroughCamera() this.program = getProgram(gl, vertexSource, fragmentSource) gl.useProgram(this.program) // Setup a quad this.vertexPositionAttribute = gl.getAttribLocation( this.program, 'aVertexPosition' ) this.textureCoordAttribute = gl.getAttribLocation( this.program, 'aTextureCoord' ) this.samplerUniform = gl.getUniformLocation(this.program, 'uSampler') this.vertexPositionBuffer = gl.createBuffer() gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexPositionBuffer) let vertices = [ -1.0, 1.0, 0.0, -1.0, -1.0, 0.0, 1.0, 1.0, 0.0, 1.0, -1.0, 0.0, ] let f32Vertices = new Float32Array(vertices) gl.bufferData(gl.ARRAY_BUFFER, f32Vertices, gl.STATIC_DRAW) this.vertexPositionBuffer.itemSize = 3 this.vertexPositionBuffer.numItems = 12 this.textureCoordBuffer = gl.createBuffer() gl.bindBuffer(gl.ARRAY_BUFFER, this.textureCoordBuffer) // Precalculate different texture UV coordinates depending on the possible // orientations of the device depending if there is a VRDisplay or not let textureCoords = null if (this.vrDisplay) { let u = this.passThroughCamera.width / this.passThroughCamera.textureWidth let v = this.passThroughCamera.height / this.passThroughCamera.textureHeight textureCoords = [ [0.0, 0.0, 0.0, v, u, 0.0, u, v], [u, 0.0, 0.0, 0.0, u, v, 0.0, v], [u, v, u, 0.0, 0.0, v, 0.0, 0.0], [0.0, v, u, v, 0.0, 0.0, u, 0.0], ] } else { textureCoords = [ [0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0], [1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0], [1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0], [0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0], ] } this.f32TextureCoords = [] for (let i = 0; i < textureCoords.length; i++) { this.f32TextureCoords.push(new Float32Array(textureCoords[i])) } // Store the current combined orientation to check if it has changed // during the update calls and use the correct texture coordinates. this.combinedOrientation = combineOrientations( screen.orientation.angle, this.passThroughCamera.orientation ) gl.bufferData( gl.ARRAY_BUFFER, this.f32TextureCoords[this.combinedOrientation], gl.STATIC_DRAW ) this.textureCoordBuffer.itemSize = 2 this.textureCoordBuffer.numItems = 8 gl.bindBuffer(gl.ARRAY_BUFFER, null) this.indexBuffer = gl.createBuffer() gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indexBuffer) let indices = [0, 1, 2, 2, 1, 3] let ui16Indices = new Uint16Array(indices) gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, ui16Indices, gl.STATIC_DRAW) this.indexBuffer.itemSize = 1 this.indexBuffer.numItems = 6 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null) this.texture = gl.createTexture() gl.useProgram(null) // The projection matrix will be based on an identify orthographic camera this.projectionMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] this.mvMatrix = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] return this } /** * Renders the quad */ render() { let gl = this.gl gl.useProgram(this.program) gl.bindBuffer(gl.ARRAY_BUFFER, this.vertexPositionBuffer) gl.enableVertexAttribArray(this.vertexPositionAttribute) gl.vertexAttribPointer( this.vertexPositionAttribute, this.vertexPositionBuffer.itemSize, gl.FLOAT, false, 0, 0 ) gl.bindBuffer(gl.ARRAY_BUFFER, this.textureCoordBuffer) // Check the current orientation of the device combined with the // orientation of the VRSeeThroughCamera to determine the correct UV // coordinates to be used. let combinedOrientation = combineOrientations( screen.orientation.angle, this.passThroughCamera.orientation ) if (combinedOrientation !== this.combinedOrientation) { this.combinedOrientation = combinedOrientation gl.bufferData( gl.ARRAY_BUFFER, this.f32TextureCoords[this.combinedOrientation], gl.STATIC_DRAW ) } gl.enableVertexAttribArray(this.textureCoordAttribute) gl.vertexAttribPointer( this.textureCoordAttribute, this.textureCoordBuffer.itemSize, gl.FLOAT, false, 0, 0 ) gl.activeTexture(gl.TEXTURE0) gl.bindTexture(gl.TEXTURE_EXTERNAL_OES, this.texture) // Update the content of the texture in every frame. gl.texImage2D( gl.TEXTURE_EXTERNAL_OES, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, this.passThroughCamera ) gl.uniform1i(this.samplerUniform, 0) gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.indexBuffer) gl.drawElements( gl.TRIANGLES, this.indexBuffer.numItems, gl.UNSIGNED_SHORT, 0 ) // Disable enabled states to allow other render calls to correctly work gl.bindTexture(gl.TEXTURE_EXTERNAL_OES, null) gl.disableVertexAttribArray(this.vertexPositionAttribute) gl.disableVertexAttribArray(this.textureCoordAttribute) gl.bindBuffer(gl.ARRAY_BUFFER, null) gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null) gl.useProgram(null) } } /** * A helper class that takes a VRDisplay with AR capabilities * and renders the see through camera to the passed in WebGL context. */ export default class ARCoreCameraRenderer { constructor(vrDisplay, gl) { this.vrDisplay = vrDisplay this.gl = gl this.videoRenderer = new ARVideoRenderer(vrDisplay, this.gl) // Cache the width/height so we're not potentially forcing // a reflow if there's been a style invalidation this.width = window.innerWidth this.height = window.innerHeight window.addEventListener('resize', this.onWindowResize.bind(this), false) } /** * Updates the stored width/height of window on resize. */ onWindowResize() { this.width = window.innerWidth this.height = window.innerHeight } /** * Renders the see through camera to the passed in gl context */ render() { let gl = this.gl let dpr = 1 let width = this.width * dpr let height = this.height * dpr if (gl.viewportWidth !== width) { gl.viewportWidth = width } if (gl.viewportHeight !== height) { gl.viewportHeight = height } this.gl.viewport(0, 0, gl.viewportWidth, gl.viewportHeight) this.videoRenderer.render() } } ================================================ FILE: polyfill/platform/ARKitWrapper.js ================================================ import EventHandlerBase from '../fill/EventHandlerBase.js' import * as glMatrix from "../fill/gl-matrix/common.js"; import * as mat4 from "../fill/gl-matrix/mat4.js"; import * as quat from "../fill/gl-matrix/quat.js"; import * as vec3 from "../fill/gl-matrix/vec3.js"; import base64 from "../fill/base64-binary.js"; import Quaternion from '../fill/Quaternion.js'; import MatrixMath from '../fill/MatrixMath.js'; /* ARKitWrapper talks to Apple ARKit, as exposed by Mozilla's test ARDemo app. It won't function inside a browser like Firefox. ARKitWrapper is a singleton. Use ARKitWrapper.GetOrCreate() to get the instance, then add event listeners like so: if(ARKitWrapper.HasARKit()){ let arKitWrapper = ARKitWrapper.GetOrCreate() arKitWrapper.addEventListener(ARKitWrapper.INIT_EVENT, ev => { console.log('ARKit initialized', ev) }) arKitWrapper.addEventListener(ARKitWrapper.WATCH_EVENT, ev => { console.log('ARKit update', ev) }) arKitWrapper.watch({ location: boolean, camera: boolean, objects: boolean, light_intensity: boolean }) } */ export default class ARKitWrapper extends EventHandlerBase { constructor(){ super() if(ARKitWrapper.HasARKit() === false){ throw 'ARKitWrapper will only work in Mozilla\'s ARDemo test app' } if(typeof ARKitWrapper.GLOBAL_INSTANCE !== 'undefined'){ throw 'ARKitWrapper is a singleton. Use ARKitWrapper.GetOrCreate() to get the global instance.' } this._deviceId = null this._isWatching = false this._isInitialized = false this._rawARData = null // worker to convert buffers // var blobURL = this._buildWorkerBlob() // this._worker = new Worker(blobURL); // URL.revokeObjectURL(blobURL); // var self = this; // this._worker.onmessage = function (ev) { // setTimeout(function () { // self.dispatchEvent( // new CustomEvent( // ARKitWrapper.COMPUTER_VISION_DATA, // { // source: self, // detail: ev.data // } // ) // ) // }) // } this.lightIntensity = 1000; /** * The current projection matrix of the device. * @type {Float32Array} * @private */ this.projectionMatrix_ = new Float32Array(16); /** * The current view matrix of the device. * @type {Float32Array} * @private */ this.viewMatrix_ = new Float32Array(16); /** * The list of planes coming from ARKit. * @type {Map { detail = detail || null try { this.dispatchEvent( new CustomEvent( eventCallbacks[i][1], { source: this, detail: detail } ) ) } catch(e) { console.error(eventCallbacks[i][0] + ' callback error', e) } } } /* * Computer vision needs massaging */ window['onComputerVisionData'] = (detail) => { this._onComputerVisionData(detail); } window['setNativeTime'] = (detail) => { this._timeOffsets.push (( performance || Date ).now() - detail.nativeTime) this._timeOffsetComputed = true; this._timeOffset = 0; for (var i = 0; i < this._timeOffsets.length; i++) { this._timeOffset += this._timeOffsets[i]; } this._timeOffset = this._timeOffset / this._timeOffsets.length; console.log("Native time: " + detail.nativeTime + ", new timeOffset: " + this._timeOffset) } this._adjustARKitTime = function(time) { // if (!this._timeOffsetComputed && adjust) { // this._timeOffsetComputed = true; // this._timeOffset = ( performance || Date ).now() - time; // } if (this._timeOffsetComputed) { return time + this._timeOffset; } else { return ( performance || Date ).now() } } /** * The result of a raycast into the AR world encoded as a transform matrix. * This structure has a single property - modelMatrix - which encodes the * translation of the intersection of the hit in the form of a 4x4 matrix. * @constructor */ function VRHit() { this.modelMatrix = new Float32Array(16); return this; }; var self = this; /** * Get an iterable of plane objects representing ARKit's current understanding of the world. * @return {iterator} The iterable of plane objects. */ this.getPlanes = function() { return Array.from(this.planes_.values()); }; /** * Get intersection array with planes ARKit detected for the screen coords. * * @param {number} x The x coordinate in normalized screen space [0,1]. * @param {number} y The y coordinate in normalized screen space [0,1]. * * @return {!Array} The array of hits sorted based on distance. */ this.hitTestNoAnchor = (function() { /** * Cached vec3, mat4, and quat structures needed for the hit testing to * avoid generating garbage. * @type {Object} */ var hitVars = { rayStart: vec3.create(), rayEnd: vec3.create(), cameraPosition: vec3.create(), cameraQuaternion: quat.create(), modelViewMatrix: mat4.create(), projectionMatrix: mat4.create(), projViewMatrix: mat4.create(), worldRayStart: vec3.create(), worldRayEnd: vec3.create(), worldRayDir: vec3.create(), planeMatrix: mat4.create(), planeExtent: vec3.create(), planePosition: vec3.create(), planeCenter: vec3.create(), planeNormal: vec3.create(), planeIntersection: vec3.create(), planeIntersectionLocal: vec3.create(), planeHit: mat4.create(), planeQuaternion: quat.create() }; /** * Sets the given mat4 from the given float[16] array. * * @param {!mat4} m The mat4 to populate with values. * @param {!Array} a The source array of floats (must be size 16). */ var setMat4FromArray = function(m, a) { mat4.set( m, a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15] ); }; /** * Tests whether the given ray intersects the given plane. * * @param {!vec3} planeNormal The normal of the plane. * @param {!vec3} planePosition Any point on the plane. * @param {!vec3} rayOrigin The origin of the ray. * @param {!vec3} rayDirection The direction of the ray (normalized). * @return {number} The t-value of the intersection (-1 for none). */ var rayIntersectsPlane = (function() { var rayToPlane = vec3.create(); return function(planeNormal, planePosition, rayOrigin, rayDirection) { // assuming vectors are all normalized var denom = vec3.dot(planeNormal, rayDirection); vec3.subtract(rayToPlane, planePosition, rayOrigin); return vec3.dot(rayToPlane, planeNormal) / denom; }; })(); /** * Sorts based on the distance from the VRHits to the camera. * * @param {!VRHit} a The first hit to compare. * @param {!VRHit} b The second hit item to compare. * @returns {number} -1 if a is closer than b, otherwise 1. */ var sortFunction = function(a, b) { // Get the matrix of hit a. setMat4FromArray(hitVars.planeMatrix, a.modelMatrix); // Get the translation component of a's matrix. mat4.getTranslation(hitVars.planeIntersection, hitVars.planeMatrix); // Get the distance from the intersection point to the camera. var distA = vec3.distance( hitVars.planeIntersection, hitVars.cameraPosition ); // Get the matrix of hit b. setMat4FromArray(hitVars.planeMatrix, b.modelMatrix); // Get the translation component of b's matrix. mat4.getTranslation(hitVars.planeIntersection, hitVars.planeMatrix); // Get the distance from the intersection point to the camera. var distB = vec3.distance( hitVars.planeIntersection, hitVars.cameraPosition ); // Return comparison of distance from camera to a and b. return distA < distB ? -1 : 1; }; return function(x, y) { // Coordinates must be in normalized screen space. if (x < 0 || x > 1 || y < 0 || y > 1) { throw new Error( "hitTest - x and y values must be normalized [0,1]!") ; } var hits = []; // If there are no anchors detected, there will be no hits. var planes = this.getPlanes(); if (!planes || planes.length == 0) { return hits; } // Create a ray in screen space for the hit test ([-1, 1] with y flip). vec3.set(hitVars.rayStart, 2 * x - 1, 2 * (1 - y) - 1, 0); vec3.set(hitVars.rayEnd, 2 * x - 1, 2 * (1 - y) - 1, 1); // Set the projection matrix. setMat4FromArray(hitVars.projectionMatrix, self.projectionMatrix_); // Set the model view matrix. setMat4FromArray(hitVars.modelViewMatrix, self.viewMatrix_); // Combine the projection and model view matrices. mat4.multiply( hitVars.projViewMatrix, hitVars.projectionMatrix, hitVars.modelViewMatrix ); // Invert the combined matrix because we need to go from screen -> world. mat4.invert(hitVars.projViewMatrix, hitVars.projViewMatrix); // Transform the screen-space ray start and end to world-space. vec3.transformMat4( hitVars.worldRayStart, hitVars.rayStart, hitVars.projViewMatrix ); vec3.transformMat4( hitVars.worldRayEnd, hitVars.rayEnd, hitVars.projViewMatrix ); // Subtract start from end to get the ray direction and then normalize. vec3.subtract( hitVars.worldRayDir, hitVars.worldRayEnd, hitVars.worldRayStart ); vec3.normalize(hitVars.worldRayDir, hitVars.worldRayDir); // Go through all the anchors and test for intersections with the ray. for (var i = 0; i < planes.length; i++) { var plane = planes[i]; // Get the anchor transform. setMat4FromArray(hitVars.planeMatrix, plane.modelMatrix); // Get the position of the anchor in world-space. vec3.set( hitVars.planeCenter, plane.center.x, plane.center.y, plane.center.z ); vec3.transformMat4( hitVars.planePosition, hitVars.planeCenter, hitVars.planeMatrix ); hitVars.planeAlignment = plane.alignment // Get the plane normal. if (hitVars.planeAlignment === 0) { vec3.set(hitVars.planeNormal, 0, 1, 0); } else { vec3.set(hitVars.planeNormal, hitVars.planeMatrix[4], hitVars.planeMatrix[5], hitVars.planeMatrix[6]); } // Check if the ray intersects the plane. var t = rayIntersectsPlane( hitVars.planeNormal, hitVars.planePosition, hitVars.worldRayStart, hitVars.worldRayDir ); // if t < 0, there is no intersection. if (t < 0) { continue; } // Calculate the actual intersection point. vec3.scale(hitVars.planeIntersection, hitVars.worldRayDir, t); vec3.add( hitVars.planeIntersection, hitVars.worldRayStart, hitVars.planeIntersection ); // Get the plane extents (extents are in plane local space). vec3.set(hitVars.planeExtent, plane.extent[0], 0, plane.extent[1]); /* /////////////////////////////////////////////// // Test by converting extents to world-space. // TODO: get this working to avoid matrix inversion in method below. // Get the rotation component of the anchor transform. mat4.getRotation(hitVars.planeQuaternion, hitVars.planeMatrix); // Convert the extent into world space. vec3.transformQuat( hitVars.planeExtent, hitVars.planeExtent, hitVars.planeQuaternion); // Check if intersection is outside of the extent of the anchor. if (Math.abs(hitVars.planeIntersection[0] - hitVars.planePosition[0]) > hitVars.planeExtent[0] / 2) { continue; } if (Math.abs(hitVars.planeIntersection[2] - hitVars.planePosition[2]) > hitVars.planeExtent[2] / 2) { continue; } //////////////////////////////////////////////// */ //////////////////////////////////////////////// mat4.getRotation(hitVars.planeQuaternion, hitVars.planeMatrix) // Test by converting intersection into plane-space. mat4.invert(hitVars.planeMatrix, hitVars.planeMatrix); vec3.transformMat4( hitVars.planeIntersectionLocal, hitVars.planeIntersection, hitVars.planeMatrix ); // Check if intersection is outside of the extent of the anchor. // Tolerance is added to match the behavior of the native hitTest call. var tolerance = 0.0075; if ( Math.abs(hitVars.planeIntersectionLocal[0]) > hitVars.planeExtent[0] / 2 + tolerance ) { continue; } if ( Math.abs(hitVars.planeIntersectionLocal[2]) > hitVars.planeExtent[2] / 2 + tolerance ) { continue; } //////////////////////////////////////////////// // The intersection is valid - create a matrix from hit position. //mat4.fromTranslation(hitVars.planeHit, hitVars.planeIntersection); mat4.fromRotationTranslation(hitVars.planeHit, hitVars.planeQuaternion, hitVars.planeIntersection); var hit = new VRHit(); for (var j = 0; j < 16; j++) { hit.modelMatrix[j] = hitVars.planeHit[j]; } hit.i = i; hits.push(hit); } // Sort the hits by distance. hits.sort(sortFunction); return hits; }; })(); } static GetOrCreate(options=null){ if(typeof ARKitWrapper.GLOBAL_INSTANCE === 'undefined'){ ARKitWrapper.GLOBAL_INSTANCE = new ARKitWrapper() options = (options && typeof(options) == 'object') ? options : {} let defaultUIOptions = { browser: true, points: true, focus: false, rec: true, rec_time: true, mic: false, build: false, plane: true, warnings: true, anchors: false, debug: true, statistics: false } let uiOptions = (typeof(options.ui) == 'object') ? options.ui : {} options.ui = Object.assign(defaultUIOptions, uiOptions) ARKitWrapper.GLOBAL_INSTANCE._sendInit(options) } return ARKitWrapper.GLOBAL_INSTANCE } static HasARKit(){ return typeof window.webkit !== 'undefined' } get deviceId(){ return this._deviceId } // The ARKit provided device ID get isWatching(){ return this._isWatching } // True if ARKit is sending frame data get isInitialized(){ return this._isInitialized } // True if this instance has received the onInit callback from ARKit get hasData(){ return this._rawARData !== null } // True if this instance has received data via onWatch /* Useful for waiting for or immediately receiving notice of ARKit initialization */ waitForInit(){ return new Promise((resolve, reject) => { if(this._isInitialized){ resolve() return } const callback = () => { this.removeEventListener(ARKitWrapper.INIT_EVENT, callback, false) resolve() } this.addEventListener(ARKitWrapper.INIT_EVENT, callback, false) }) } /* getData looks into the most recent ARKit data (as received by onWatch) for a key returns the key's value or null if it doesn't exist or if a key is not specified it returns all data */ getData(key=null){ if (key === null){ return this._rawARData } if(this._rawARData && typeof this._rawARData[key] !== 'undefined'){ return this._rawARData[key] } return null } /* returns { uuid: DOMString, transform: [4x4 column major affine transform] } return null if object with `uuid` is not found */ getObject(uuid){ if (!this._isInitialized){ return null } const objects = this.getKey('objects') if(objects === null) return null for(const object of objects){ if(object.uuid === uuid){ return object } } return null } /* Sends a hitTest message to ARKit to get hit testing results x, y - screen coordinates normalized to 0..1 (0,0 is at top left and 1,1 is at bottom right) types - bit mask of hit testing types Returns a Promise that resolves to a (possibly empty) array of hit test data: [ { type: 1, // A packed mask of types ARKitWrapper.HIT_TEST_TYPE_* distance: 1.0216870307922363, // The distance in meters from the camera to the detected anchor or feature point. world_transform: [float x 16], // The pose of the hit test result relative to the world coordinate system. local_transform: [float x 16], // The pose of the hit test result relative to the nearest anchor or feature point // If the `type` is `HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE`, `HIT_TEST_TYPE_EXISTING_PLANE`, or `HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT` (2, 8, or 16) it will also have anchor data: anchor_center: { x:float, y:float, z:float }, anchor_extent: { x:float, y:float }, uuid: string, // If the `type` is `HIT_TEST_TYPE_EXISTING_PLANE` or `HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT` (8 or 16) it will also have an anchor transform: anchor_transform: [float x 16] }, ... ] @see https://developer.apple.com/documentation/arkit/arframe/2875718-hittest */ hitTest(x, y, types=ARKitWrapper.HIT_TEST_TYPE_ALL){ return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } window.webkit.messageHandlers.hitTest.postMessage({ x: x, y: y, type: types, callback: this._createPromiseCallback('hitTest', resolve) }) }) } /* Sends an addAnchor message to ARKit Returns a promise that returns: { uuid - the anchor's uuid, transform - anchor transformation matrix } */ addAnchor(uid, transform){ return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } window.webkit.messageHandlers.addAnchor.postMessage({ uuid: uid, transform: transform, callback: this._createPromiseCallback('addAnchor', resolve) }) }) } removeAnchor(uid) { window.webkit.messageHandlers.removeAnchors.postMessage([uid]) } /* * ask for an image anchor. * * Provide a uid for the anchor that will be created. * Supply the image in an ArrayBuffer, typedArray or ImageData * width and height are in meters */ createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) { return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } let b64 = base64.encode(buffer); window.webkit.messageHandlers.createImageAnchor.postMessage({ uid: uid, buffer: b64, imageWidth: width, imageHeight: height, physicalWidth: physicalWidthInMeters, callback: this._createPromiseCallback('createImageAnchor', resolve) }) }) } /*** * activateDetectionImage activates an image and waits for the detection * @param uid The UID of the image to activate, previously created via "createImageAnchor" * @returns {Promise} a promise that will be resolved when ARKit detects the image, or an error otherwise */ activateDetectionImage(uid) { return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } window.webkit.messageHandlers.activateDetectionImage.postMessage({ uid: uid, callback: this._createPromiseCallback('activateDetectionImage', resolve) }) }) } /*** * getWorldMap requests a worldmap from the platform * @returns {Promise} a promise that will be resolved when the worldMap has been retrieved, or an error otherwise */ getWorldMap() { return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } window.webkit.messageHandlers.getWorldMap.postMessage({ callback: this._createPromiseCallback('getWorldMap', resolve) }) }) } /*** * setWorldMap requests a worldmap for the platform be set * @returns {Promise} a promise that will be resolved when the worldMap has been set, or an error otherwise */ setWorldMap(worldMap) { return new Promise((resolve, reject) => { if (!this._isInitialized){ reject(new Error('ARKit is not initialized')); return; } window.webkit.messageHandlers.setWorldMap.postMessage({ worldMap: worldMap.worldMap, callback: this._createPromiseCallback('setWorldMap', resolve) }) }) } /* RACE CONDITION: call stop, then watch: stop does not set isWatching false until it gets a message back from the app, so watch will return and not issue a watch command. May want to set isWatching false immediately? */ /* If this instance is currently watching, send the stopAR message to ARKit to request that it stop sending data on onWatch */ stop(){ return new Promise((resolve, reject) => { if (!this._isWatching){ resolve(); return; } console.log('----STOP'); window.webkit.messageHandlers.stopAR.postMessage({ callback: this._createPromiseCallback('stop', resolve) }) }) } /* If not already watching, send a watchAR message to ARKit to request that it start sending per-frame data to onWatch options: the options map for ARKit { location: boolean, camera: boolean, objects: boolean, light_intensity: boolean, computer_vision_data: boolean } */ watch(options=null){ if (!this._isInitialized){ return false } if(this._isWatching){ return true } this._isWatching = true var newO = Object.assign({}, this._defaultOptions); if(options != null) { newO = Object.assign(newO, options) } // option to WebXRView is different than the WebXR option if (newO.videoFrames) { delete newO.videoFrames newO.computer_vision_data = true; } const data = { options: newO, callback: this._globalCallbacksMap.onWatch } console.log('----WATCH'); window.webkit.messageHandlers.watchAR.postMessage(data) return true } /* Sends a setUIOptions message to ARKit to set ui options (show or hide ui elements) options: { browser: boolean, points: boolean, focus: boolean, rec: boolean, rec_time: boolean, mic: boolean, build: boolean, plane: boolean, warnings: boolean, anchors: boolean, debug: boolean, statistics: boolean } */ setUIOptions(options){ window.webkit.messageHandlers.setUIOptions.postMessage(options) } /* Called during instance creation to send a message to ARKit to initialize and create a device ID Usually results in ARKit calling back to _onInit with a deviceId options: { ui: { browser: boolean, points: boolean, focus: boolean, rec: boolean, rec_time: boolean, mic: boolean, build: boolean, plane: boolean, warnings: boolean, anchors: boolean, debug: boolean, statistics: boolean } } */ _sendInit(options){ // get device id console.log('----INIT'); window.webkit.messageHandlers.initAR.postMessage({ options: options, callback: this._globalCallbacksMap.onInit }) } /* Callback for when ARKit is initialized deviceId: DOMString with the AR device ID */ _onInit(deviceId){ this._deviceId = deviceId this._isInitialized = true try { this.dispatchEvent(new CustomEvent(ARKitWrapper.INIT_EVENT, { source: this })) } catch(e) { console.error('INIT_EVENT event error', e) } } /* _onWatch is called from native ARKit on each frame: data: { "timestamp": time value "light_intensity": value "camera_view":[4x4 column major affine transform matrix], "projection_camera":[4x4 projection matrix], "newObjects": [ { uuid: DOMString (unique UID), transform: [4x4 column major affine transform], plane_center: {x, y, z}, // only on planes plane_center: {x, y, z} // only on planes, where x/z are used, }, ... ], "removeObjects": [ uuid: DOMString (unique UID), ... ] "objects":[ { uuid: DOMString (unique UID), transform: [4x4 column major affine transform] plane_center: {x, y, z}, // only on planes plane_center: {x, y, z} // only on planes, where x/z are used, }, ... ] } */ _onWatch(data){ this._rawARData = data try { this.dispatchEvent(new CustomEvent(ARKitWrapper.WATCH_EVENT, { source: this, detail: this._rawARData })) } catch(e) { console.error('WATCH_EVENT event error', e) } this.timestamp = this._adjustARKitTime(data.timestamp) this.lightIntensity = data.light_intensity; this.viewMatrix_ = data.camera_view; this.projectionMatrix_ = data.projection_camera; this.worldMappingStatus = data.worldMappingStatus; if(data.newObjects.length){ for (let i = 0; i < data.newObjects.length; i++) { const element = data.newObjects[i]; if(element.plane_center){ this.planes_.set(element.uuid, { id: element.uuid, center: element.plane_center, extent: [element.plane_extent.x, element.plane_extent.z], modelMatrix: element.transform, alignment: element.plane_alignment }); }else{ this.anchors_.set(element.uuid, { id: element.uuid, modelMatrix: element.transform }); } } } if(data.removedObjects.length){ for (let i = 0; i < data.removedObjects.length; i++) { const element = data.removedObjects[i]; if(this.planes_.get(element)){ this.planes_.delete(element); }else{ this.anchors_.delete(element); } } } if(data.objects.length){ for (let i = 0; i < data.objects.length; i++) { const element = data.objects[i]; if(element.plane_center){ var plane = this.planes_.get(element.uuid); if(!plane){ this.planes_.set(element.uuid, { id: element.uuid, center: element.plane_center, extent: [element.plane_extent.x, element.plane_extent.z], modelMatrix: element.transform, alignment: element.plane_alignment }); } else { plane.center = element.plane_center; plane.extent[0] = element.plane_extent.x plane.extent[1] = element.plane_extent.z plane.modelMatrix = element.transform; plane.alignment = element.plane_alignment } }else{ var anchor = this.anchors_.get(element.uuid); if(!anchor){ this.anchors_.set(element.uuid, { id: element.uuid, modelMatrix: element.transform }); }else{ anchor.modelMatrix = element.transform; } } } } } /* Callback from ARKit for when sending per-frame data to onWatch is stopped */ _onStop(){ this._isWatching = false } _createPromiseCallback(action, resolve){ const callbackName = this._generateCallbackUID(action); window[callbackName] = (data) => { delete window[callbackName] const wrapperCallbackName = '_on' + action[0].toUpperCase() + action.slice(1); if (typeof(this[wrapperCallbackName]) == 'function'){ this[wrapperCallbackName](data); } resolve(data) } return callbackName; } _generateCallbackUID(prefix){ return 'arkitCallback_' + prefix + '_' + new Date().getTime() + '_' + Math.floor((Math.random() * Number.MAX_SAFE_INTEGER)) } /* The ARKit iOS app depends on several callbacks on `window`. This method sets them up. They end up as window.arkitCallback? where ? is an integer. You can map window.arkitCallback? to ARKitWrapper instance methods using _globalCallbacksMap */ _generateGlobalCallback(callbackName, num){ const name = 'arkitCallback' + num this._globalCallbacksMap[callbackName] = name const self = this window[name] = function(deviceData){ self['_' + callbackName](deviceData) } } /* ev.detail contains: { "frame": { "buffers": [ // Array of base64 encoded string buffers { "size": { "width": 320, "height": 180, "bytesPerRow": 320, "bytesPerPixel": 1 }, "buffer": "e3x...d7d" /// convert to Uint8 buffer in code below }, { "size": { "width": 160, "height": 90, "bytesPerRow": 320, "bytesPerPixel": 2 }, "buffer": "ZZF.../fIJ7" /// convert to Uint8 buffer in code below } ], "pixelFormatType": "kCVPixelFormatType_420YpCbCr8BiPlanarFullRange", "pixelFormat": "YUV420P", /// Added in the code below, clients should ignore pixelFormatType "timestamp": 337791 }, "camera": { "cameraIntrinsics": [3x3 matrix], fx 0 px 0 fy py 0 0 1 fx and fy are the focal length in pixels. px and py are the coordinates of the principal point in pixels. The origin is at the center of the upper-left pixel. "cameraImageResolution": { "width": 1280, "height": 720 }, "viewMatrix": [4x4 camera view matrix], "arCamera": true; "cameraOrientation": 0, // orientation in degrees of image relative to display // normally 0, but on video mixed displays that keep the camera in a fixed // orientation, but rotate the UI, like on some phones, this will change // as the display orientation changes "interfaceOrientation": 3, // 0 UIDeviceOrientationUnknown // 1 UIDeviceOrientationPortrait // 2 UIDeviceOrientationPortraitUpsideDown // 3 UIDeviceOrientationLandscapeRight // 4 UIDeviceOrientationLandscapeLeft "projectionMatrix": [4x4 camera projection matrix] } } */ _onComputerVisionData(detail) { // convert the arrays if (!detail) { console.error("detail passed to _onComputerVisionData is null") this._requestComputerVisionData() return; } // convert the arrays if (!detail.frame || !detail.frame.buffers || detail.frame.buffers.length <= 0) { console.error("detail passed to _onComputerVisionData is bad, no buffers") this._requestComputerVisionData() return; } // the orientation matrix we get is relative to the current view orientation. // We need to add an orientation around z, so that we have the orientation that goes from // camera frame to the current view orientation, since the camera is fixed and the view // changes as we rotate the device. // // We also set a cameraOrientation value for the orientation of the camera relative to the // display. This will be particular to video-mixed-AR where the camera is the video on the // screen, since any other setup would need to use the full orientation (and probably // wouldn't be rotating the content / UI) detail.camera.arCamera = true; var orientation = detail.camera.interfaceOrientation; detail.camera.viewMatrix = detail.camera.inverse_viewMatrix; // mat4.copy(this._mTemp, detail.camera.viewMatrix) switch (orientation) { case 1: // rotate by -90; detail.camera.cameraOrientation = -90; // mat4.multiply(detail.camera.viewMatrix, this._mTemp, this._m90neg) break; case 2: // rotate by 90; detail.camera.cameraOrientation = 90; // mat4.multiply(detail.camera.viewMatrix, this._mTemp, this._m90) break; case 3: detail.camera.cameraOrientation = 0; // rotate by nothing break; case 4: // rotate by 180; detail.camera.cameraOrientation = 180; // mat4.multiply(detail.camera.viewMatrix, this._mTemp, this._m180) break; } // convert buffers in place //var buffers = detail.frame.buffers; // if there are too many cached array buffers, drop the unneeded ones // if (this._ab.length > buffers.length) { // this._ab = this._ab.slice(0, buffer.length) // } // if (this._worker) { // detail.ab = this._ab; // if (this._ab) { // this._worker.postMessage(detail, this._ab); // } else { // this._worker.postMessage(detail); // } // } else { // for (var i = 0; i < buffers.length; i++) { // // gradually increase the size of the ab[] array to hold the temp buffers, // // and add null so it gets allocated properly // if (this._ab.length <= i) { // this._ab.push(null) // } // var bufflen = buffers[i].buffer.length; // this._ab[i] = buffers[i].buffer = base64.decodeArrayBuffer(buffers[i].buffer, this._ab[i]); // var buffersize = buffers[i].buffer.byteLength; // var imagesize = buffers[i].size.height * buffers[i].size.bytesPerRow; // } switch(detail.frame.pixelFormatType) { case "kCVPixelFormatType_420YpCbCr8BiPlanarFullRange": detail.frame.pixelFormat = "YUV420P"; break; default: detail.frame.pixelFormat = detail.frame.pixelFormatType; break; } var xrVideoFrame = new XRVideoFrame(detail.frame.buffers, detail.frame.pixelFormat, this._adjustARKitTime(detail.frame.timestamp), detail.camera ) try { this.dispatchEvent( new CustomEvent( ARKitWrapper.COMPUTER_VISION_DATA, { source: this, detail: xrVideoFrame } ) ) } catch(e) { console.error('COMPUTER_VISION_DATA event error', e) } //} } /* Requests ARKit a new set of buffers for computer vision processing */ _requestComputerVisionData() { window.webkit.messageHandlers.requestComputerVisionData.postMessage({}) } /* Requests ARKit to start sending CV data (data is send automatically when requested and approved) */ _startSendingComputerVisionData() { window.webkit.messageHandlers.startSendingComputerVisionData.postMessage({}) } /* Requests ARKit to stop sending CV data */ _stopSendingComputerVisionData() { window.webkit.messageHandlers.stopSendingComputerVisionData.postMessage({}) } // _buildWorkerBlob() { // var blobURL = URL.createObjectURL( new Blob([ '(', // function(){ // // could not get workers working, so am not using this. // // // // Tried to use Transferable ArrayBuffers but kept getting DOM Error 25. // // // var b64 = { // _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // /* will return a Uint8Array type */ // decodeArrayBuffer: function(input, buffer) { // var bytes = (input.length/4) * 3; // if (!buffer || buffer.byteLength != bytes) { // // replace the buffer with a new, appropriately sized one // buffer = new ArrayBuffer(bytes); // } // this.decode(input, buffer); // return buffer; // }, // removePaddingChars: function(input){ // var lkey = this._keyStr.indexOf(input.charAt(input.length - 1)); // if(lkey == 64){ // return input.substring(0,input.length - 1); // } // return input; // }, // decode: function(input, arrayBuffer) { // //get last chars to see if are valid // input = this.removePaddingChars(input); // input = this.removePaddingChars(input); // var bytes = parseInt((input.length / 4) * 3, 10); // var uarray; // var chr1, chr2, chr3; // var enc1, enc2, enc3, enc4; // var i = 0; // var j = 0; // if (arrayBuffer) // uarray = new Uint8Array(arrayBuffer); // else // uarray = new Uint8Array(bytes); // input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); // for (i=0; i> 4); // chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); // chr3 = ((enc3 & 3) << 6) | enc4; // uarray[i] = chr1; // if (enc3 != 64) uarray[i+1] = chr2; // if (enc4 != 64) uarray[i+2] = chr3; // } // return uarray; // } // } // self.addEventListener('message', function(event){ // var frame = event.data.frame // var camera = event.data.camera // var ab = event.data.ab; // // convert buffers in place // var buffers = frame.buffers; // var buffs = [] // // if there are too many cached array buffers, drop the unneeded ones // if (ab.length > buffers.length) { // ab = ab.slice(0, buffer.length) // } // for (var i = 0; i < buffers.length; i++) { // // gradually increase the size of the ab[] array to hold the temp buffers, // // and add null so it gets allocated properly // if (ab.length <= i) { // ab.push(null) // } // ab[i] = buffers[i].buffer = b64.decodeArrayBuffer(buffers[i].buffer, ab[i]); // buffs.push(buffers[i].buffer) // } // switch(frame.pixelFormatType) { // case "kCVPixelFormatType_420YpCbCr8BiPlanarFullRange": // frame.pixelFormat = "YUV420P"; // break; // default: // frame.pixelFormat = frame.pixelFormatType; // break; // } // postMessage(event.data, buffs); // }); // }.toString(), // ')()' ], { type: 'application/javascript' } ) ) // return( blobURL ); // } } // ARKitWrapper event names: ARKitWrapper.INIT_EVENT = 'arkit-init' ARKitWrapper.WATCH_EVENT = 'arkit-watch' ARKitWrapper.RECORD_START_EVENT = 'arkit-record-start' ARKitWrapper.RECORD_STOP_EVENT = 'arkit-record-stop' ARKitWrapper.DID_MOVE_BACKGROUND_EVENT = 'arkit-did-move-background' ARKitWrapper.WILL_ENTER_FOREGROUND_EVENT = 'arkit-will-enter-foreground' ARKitWrapper.INTERRUPTED_EVENT = 'arkit-interrupted' ARKitWrapper.INTERRUPTION_ENDED_EVENT = 'arkit-interruption-ended' ARKitWrapper.SHOW_DEBUG_EVENT = 'arkit-show-debug' ARKitWrapper.WINDOW_RESIZE_EVENT = 'arkit-window-resize' ARKitWrapper.ON_ERROR = 'on-error' ARKitWrapper.AR_TRACKING_CHANGED = 'ar_tracking_changed' ARKitWrapper.COMPUTER_VISION_DATA = 'cv_data' ARKitWrapper.USER_GRANTED_COMPUTER_VISION_DATA = 'user-granted-cv-data' ARKitWrapper.USER_GRANTED_WORLD_SENSING_DATA = 'user-granted-world-sensing-data' // ARKit Detection Image Orientations ARKitWrapper.ORIENTATION_UP = 1 // 0th row at top, 0th column on left - default orientation ARKitWrapper.ORIENTATION_UP_MIRRORED = 2 // 0th row at top, 0th column on right - horizontal flip ARKitWrapper.ORIENTATION_DOWN = 3 // 0th row at bottom, 0th column on right - 180 deg rotation ARKitWrapper.ORIENTATION_DOWN_MIRRORED = 4 // 0th row at bottom, 0th column on left - vertical flip ARKitWrapper.ORIENTATION_LEFT_MIRRORED = 5 // 0th row on left, 0th column at top ARKitWrapper.ORIENTATION_RIGHT = 6 // 0th row on right, 0th column at top - 90 deg CW ARKitWrapper.ORIENTATION_RIGHT_MIRRORED = 7 // 0th row on right, 0th column on bottom ARKitWrapper.ORIENTATION_LEFT = 8 // 0th row on left, 0th column at bottom - 90 deg CCW // world mapping status ARKitWrapper.WEB_AR_WORLDMAPPING_NOT_AVAILABLE = "ar_worldmapping_not_available" ARKitWrapper.WEB_AR_WORLDMAPPING_LIMITED = "ar_worldmapping_limited" ARKitWrapper.WEB_AR_WORLDMAPPING_EXTENDING = "ar_worldmapping_extending" ARKitWrapper.WEB_AR_WORLDMAPPING_MAPPED = "ar_worldmapping_mapped" // hit test types ARKitWrapper.HIT_TEST_TYPE_FEATURE_POINT = 1 ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE = 2 ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_VERTICAL_PLANE = 4 ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE = 8 ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT = 16 ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_GEOMETRY = 32 ARKitWrapper.HIT_TEST_TYPE_ALL = ARKitWrapper.HIT_TEST_TYPE_FEATURE_POINT | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE | ARKitWrapper.HIT_TEST_TYPE_ESTIMATED_HORIZONTAL_PLANE | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANES = ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE | ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT ARKitWrapper.ANCHOR_TYPE_PLANE = 'plane' ARKitWrapper.ANCHOR_TYPE_FACE = 'face' ARKitWrapper.ANCHOR_TYPE_ANCHOR = 'anchor' ARKitWrapper.ANCHOR_TYPE_IMAGE = 'image' ================================================ FILE: polyfill/reality/CameraReality.js ================================================ import Reality from '../Reality.js' import XRAnchor from '../XRAnchor.js' import XRViewPose from '../XRViewPose.js' import XRAnchorOffset from '../XRAnchorOffset.js' import XRLightEstimate from '../XRLightEstimate.js' import MatrixMath from '../fill/MatrixMath.js' import Quaternion from '../fill/Quaternion.js' import ARKitWrapper from '../platform/ARKitWrapper.js' import ARCoreCameraRenderer from '../platform/ARCoreCameraRenderer.js' import XRImageAnchor from "../XRImageAnchor.js" import XRPlaneAnchor from "../XRPlaneAnchor.js" import XRFaceAnchor from "../XRFaceAnchor.js" /* CameraReality displays the forward facing camera. If this is running in the iOS ARKit wrapper app, the camera data will be displayed in a Metal layer below the WKWebKit layer. If this is running in the Google ARCore Chrome application, it will create a canvas element and use the ARCore provided camera data. If there is no ARKit or ARCore available, it will use WebRTC's MediaStream to render camera data into a canvas. */ export default class CameraReality extends Reality { constructor(xr){ super(xr, 'Camera', true, true) this._initialized = false this._running = false // camera fovy: start with 70 degrees on the long axis of at 320x240 this._cameraFov = 70 * Math.PI/180 this._focalLength = 160 / Math.tan(this._cameraFov / 2) this._cameraIntrinsics = [this._focalLength, 0 , 0, 0, this._focalLength, 0, 160, 120, 1 ] // These are used if we have access to ARKit this._arKitWrapper = null // These are used if we do not have access to ARKit this._mediaStream = null this._videoEl = null // These are used if we're using the Google ARCore web app this._arCoreCameraRenderer = null this._arCoreCanvas = null this._elContext = null this._vrDisplay = null this._vrFrameData = null // dealing with video frames from webrtc this._sendingVideo = false; this._videoFramesPaused = false; this._sendVideoFrame = false; this._videoProjectionMatrix = MatrixMath.mat4_generateIdentity(); this._videoViewMatrix = MatrixMath.mat4_generateIdentity(); this._lightEstimate = new XRLightEstimate(); // Try to find a WebVR 1.1 display that supports Google's ARCore extensions if(typeof navigator.getVRDisplays === 'function'){ navigator.getVRDisplays().then(displays => { for(let display of displays){ if(display === null) continue if(display.capabilities.hasPassThroughCamera){ // This is the ARCore extension to WebVR 1.1 this._vrDisplay = display this._vrFrameData = new VRFrameData() if (!window.WebARonARKitSetData) { this._arCoreCanvas = document.createElement('canvas') this._xr._realityEls.appendChild(this._arCoreCanvas) this._arCoreCanvas.width = window.innerWidth this._arCoreCanvas.height = window.innerHeight this._elContext = this._arCoreCanvas.getContext('webgl') if(this._elContext === null){ throw 'Could not create CameraReality GL context' } } break } } }) } window.addEventListener('resize', () => { if(this._arCoreCanvas){ this._arCoreCanvas.width = window.innerWidth this._arCoreCanvas.height = window.innerHeight } if (this._videoEl) { setTimeout(() => { this._adjustVideoSize(); }, 10) } }, false) } _setFovy (fovy) { this._cameraFov = fovy * Math.PI/180 if (!this._videoEl) { this._focalLength = 0 return } if (this._videoRenderWidth > this._videoRenderHeight) { this._focalLength = (this._videoRenderWidth/2) / Math.tan(this._cameraFov / 2) } else { this._focalLength = (this._videoRenderHeight/2) / Math.tan(this._cameraFov / 2) } this._cameraIntrinsics = [this._focalLength, 0 , 0, 0, this._focalLength, 0, (this._videoRenderWidth/2), (this._videoRenderHeight/2), 1 ] } _adjustVideoSize () { var canvasWidth = this._videoRenderWidth; var canvasHeight = this._videoRenderHeight; var cameraAspect = canvasWidth / canvasHeight; var width = this._videoEl.videoWidth; var height = this._videoEl.videoHeight; var videoSourceAspect = width / height; if (videoSourceAspect != cameraAspect) { // let's pick a size such that the video is below 512 in size in both dimensions while (width > 512 || height > 512) { width = width / 2 height = height / 2 } canvasWidth = this._videoRenderWidth = width; canvasHeight = this._videoRenderHeight = height; var cameraAspect = canvasWidth / canvasHeight; if (this._videoFrameCanvas) { this._videoFrameCanvas.width = width; this._videoFrameCanvas.height = height; } } this._setFovy(this._cameraFov / (Math.PI/180)) var windowWidth = this._xr._realityEls.clientWidth; var windowHeight = this._xr._realityEls.clientHeight; var windowAspect = windowWidth / windowHeight; var translateX = 0; var translateY = 0; if (cameraAspect > windowAspect) { canvasWidth = canvasHeight * windowAspect; windowWidth = windowHeight * cameraAspect; translateX = -(windowWidth - this._xr._realityEls.clientWidth)/2; } else { canvasHeight = canvasWidth / windowAspect; windowHeight = windowWidth / cameraAspect; translateY = -(windowHeight - this._xr._realityEls.clientHeight)/2; } this._videoEl.style.width = windowWidth.toFixed(2) + 'px' this._videoEl.style.height = windowHeight.toFixed(2) + 'px' this._videoEl.style.transform = "translate(" + translateX.toFixed(2) + "px, "+ translateY.toFixed(2) + "px)" try { this.dispatchEvent( new CustomEvent( Reality.WINDOW_RESIZE_EVENT, { source: this, detail: { width: canvasWidth, height: canvasHeight, focalLength: this._focalLength } } ) ) } catch(e) { console.error('WINDOW_RESIZE_EVENT error', e) } } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(frame){ if(this._vrDisplay){ if (this._arCoreCameraRenderer) { this._arCoreCameraRenderer.render() } this._vrDisplay.getFrameData(this._vrFrameData) } // WebRTC video if (this._videoEl && this._sendVideoFrame && !this._videoFramesPaused) { this._sendVideoFrame = false; var canvasWidth = this._videoRenderWidth; var canvasHeight = this._videoRenderHeight; this._videoCtx.drawImage(this._videoEl, 0, 0, canvasWidth, canvasHeight); var imageData = this._videoCtx.getImageData(0, 0, canvasWidth, canvasHeight); var data = imageData.data var len = imageData.data.length // imageData = new ArrayBuffer(len) // var buffData = new Uint8Array(imageData); // for (var i = 0; i < len; i++) buffData[i] = data[i] var buffers = [ { size: { width: canvasWidth, height: canvasHeight, bytesPerRow: canvasWidth * 4, bytesPerPixel: 4 }, buffer: imageData }]; var pixelFormat = XRVideoFrame.IMAGEFORMAT_RGBA32; var timestamp = frame.timestamp; // set from frame var view = frame.views[0]; //this._videoViewMatrix.set(view.viewMatrix); MatrixMath.mat4_invert(this._videoViewMatrix, view.viewMatrix) this._videoProjectionMatrix.set(view.projectionMatrix) var camera = { arCamera: false, cameraOrientation: 0, cameraIntrinsics: this._cameraIntrinsics.slice(0), // cameraIntrinsics: [(this._videoEl.videoWidth/2) / Math.tan(view._fov.leftDegrees * Math.PI/180), 0, (this._videoEl.videoWidth/2), // 0, (this._videoEl.videoHeight/2) / Math.tan(view._fov.upDegrees * Math.PI/180), (this._videoEl.videoHeight/2), // 0, 0, 1], cameraImageResolution: { width: this._videoEl.videoWidth, height: this._videoEl.videoHeight }, viewMatrix: this._videoViewMatrix, projectionMatrix: this._videoProjectionMatrix } var xrVideoFrame = new XRVideoFrame(buffers, pixelFormat, timestamp, camera ) try { this.dispatchEvent( new CustomEvent( Reality.COMPUTER_VISION_DATA, { source: this, detail: xrVideoFrame } ) ) } catch(e) { console.error('COMPUTER_VISION_DATA event error', e) } } // TODO update the anchor positions using ARCore or ARKit } _start(parameters=null){ if(this._running) return this._running = true if(this._vrDisplay !== null){ // Using WebAR if (window.WebARonARKitSetData) { // WebARonARKit renders camera separately } else { this._arCoreCameraRenderer = new ARCoreCameraRenderer(this._vrDisplay, this._elContext) } this._initialized = true } else if(ARKitWrapper.HasARKit()){ // Using ARKit if(this._initialized === false){ this._initialized = true this._arKitWrapper = ARKitWrapper.GetOrCreate() this._arKitWrapper.addEventListener(ARKitWrapper.WATCH_EVENT, this._handleARKitWatch.bind(this)) this._arKitWrapper.waitForInit().then(() => { this._arKitWrapper.watch(parameters) }) } else { this._arKitWrapper.watch(parameters) } } else { // Using WebRTC if(this._initialized === false){ this._initialized = true navigator.mediaDevices.getUserMedia({ audio: false, video: { facingMode: "environment" } }).then(stream => { this._videoEl = document.createElement('video') this._xr._realityEls.appendChild(this._videoEl) this._videoEl.setAttribute('class', 'camera-reality-video') this._videoEl.setAttribute('playsinline', true); this._videoEl.style.width = '100%' this._videoEl.style.height = '100%' this._videoEl.srcObject = stream this._videoEl.play() this._setupWebRTC(parameters) }).catch(err => { console.error('Could not set up video stream', err) this._initialized = false this._running = false }) } else { if (this._videoEl) { this._xr._realityEls.appendChild(this._videoEl) this._videoEl.play() this._setupWebRTC(parameters) } } } } _setupWebRTC(parameters) { if (parameters.videoFrames) { this._sendingVideo = true; this._videoEl.addEventListener('loadedmetadata', () => { var width = this._videoEl.videoWidth; var height = this._videoEl.videoHeight; // let's pick a size such that the video is below 512 in size in both dimensions while (width > 256 || height > 256) { width = width / 2 height = height / 2 } this._videoRenderWidth = width; this._videoRenderHeight = height; this._videoFrameCanvas = document.createElement('canvas'); this._videoFrameCanvas.width = width; this._videoFrameCanvas.height = height; this._videoCtx = this._videoFrameCanvas.getContext('2d'); this._adjustVideoSize(); this._sendVideoFrame = true; }); } } _requestVideoFrame() { this._sendVideoFrame = true; } _stopVideoFrames() { this._videoFramesPaused = true; } _startVideoFrames() { this._videoFramesPaused = false; } _stop(){ if(this._running === false) return this._running = false if(ARKitWrapper.HasARKit()){ if(this._arKitWrapper === null){ return } this._arKitWrapper.stop() } else if(this._arCoreCanvas){ this._xr._realityEls.removeChild(this._arCoreCanvas) this._arCoreCanvas = null } else if(this._videoEl !== null){ this._videoEl.pause() this._xr._realityEls.removeChild(this._videoEl) } } _handleARKitWatch(ev){ if(ev.detail && ev.detail.objects){ for(let anchorInfo of ev.detail.objects){ this._updateAnchorFromARKitUpdate(anchorInfo.uuid, anchorInfo) try { this.dispatchEvent( new CustomEvent( Reality.UPDATE_WORLD_ANCHOR, { source: this, detail: anchorInfo.uuid } ) ) } catch(e) { console.error('UPDATE_WORLD_ANCHOR event error', e) } } } if (ev.detail && ev.detail.removedObjects) { for (let removedAnchor of ev.detail.removedObjects) { try { this.dispatchEvent( new CustomEvent( Reality.REMOVE_WORLD_ANCHOR, { source: this, detail: removedAnchor } ) ) } catch(e) { console.error('REMOVE_WORLD_ANCHOR event error', e) } this._deleteAnchorFromARKitUpdate(removedAnchor) } } if (ev.detail && ev.detail.newObjects) { for (let addedAnchor of ev.detail.newObjects) { try { this.dispatchEvent( new CustomEvent( Reality.NEW_WORLD_ANCHOR, { source: this, detail: addedAnchor } ) ) } catch(e) { console.error('NEW_WORLD_ANCHOR event error', e) } } } } _deleteAnchorFromARKitUpdate(anchorUUID) { this._anchors.delete(anchorUUID) } _handleARKitAddObject(anchorInfo){ this._updateAnchorFromARKitUpdate(anchorInfo.uuid, anchorInfo) } _updateAnchorFromARKitUpdate(uid, anchorInfo){ const anchor = this._anchors.get(uid) || null if(anchor === null){ // console.log('unknown anchor', anchor) return } // This assumes that the anchor's coordinates are in the tracker coordinate system anchor.coordinateSystem._relativeMatrix = anchorInfo.transform // update internal data if any switch (anchorInfo.type) { case ARKitWrapper.ANCHOR_TYPE_PLANE: anchor.center = anchorInfo.plane_center anchor.extent = [anchorInfo.plane_extent.x, anchorInfo.plane_extent.z] anchor.alignment = anchorInfo.plane_alignment anchor.geometry = anchorInfo.geometry break case ARKitWrapper.ANCHOR_TYPE_FACE: if (anchorInfo.geometry) { anchor.geometry.vertices = anchorInfo.geometry.vertices } if (anchorInfo.blendShapes) { anchor.updateBlendShapes(anchorInfo.blendShapes) } break case ARKitWrapper.ANCHOR_TYPE_ANCHOR: break case ARKitWrapper.ANCHOR_TYPE_IMAGE: break } } _addAnchor(anchor, display){ // Convert coordinates to the tracker coordinate system so that updating from ARKit transforms is simple if(this._arKitWrapper !== null){ this._arKitWrapper.addAnchor(anchor.uid, anchor.coordinateSystem._poseModelMatrix).then( detail => this._handleARKitAddObject(detail) ) } // ARCore as implemented in the browser does not offer anchors except on a surface, so we just use untracked anchors // We also use untracked anchors for in-browser display, with WebRTC this._anchors.set(anchor.uid, anchor) return anchor.uid } /* Creates an anchor offset relative to a surface, as found by a ray normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right returns a Promise that resolves either to an AnchorOffset with the first hit result or null if the hit test failed */ _findAnchor(normalizedScreenX, normalizedScreenY, display, testOptions=null){ return new Promise((resolve, reject) => { if(this._arKitWrapper !== null){ // Perform a hit test using the ARKit integration this._arKitWrapper.hitTest(normalizedScreenX, normalizedScreenY, testOptions || ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANES).then(hits => { if(hits.length === 0){ resolve(null) // console.log('miss') return } const hit = this._pickARKitHit(hits) // if it's a plane if (hit.anchor_transform) { hit.anchor_transform[13] += XRViewPose.SITTING_EYE_HEIGHT hit.world_transform[13] += XRViewPose.SITTING_EYE_HEIGHT // Use the first hit to create an XRAnchorOffset, creating the XRAnchor as necessary // TODO use XRPlaneAnchor for anchors with extents; hopefully the plane will have been created, tho let anchor = this._getAnchor(hit.uuid) if(anchor === null){ let coordinateSystem = new XRCoordinateSystem(display, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = hit.anchor_transform anchor = new XRAnchor(coordinateSystem, hit.uuid) this._anchors.set(anchor.uid, anchor) } const offsetPosition = [ hit.world_transform[12] - hit.anchor_transform[12], hit.world_transform[13] - hit.anchor_transform[13], hit.world_transform[14] - hit.anchor_transform[14] ] const worldRotation = new Quaternion().setFromRotationMatrix(hit.world_transform) const inverseAnchorRotation = new Quaternion().setFromRotationMatrix(hit.anchor_transform).inverse() const offsetRotation = new Quaternion().multiplyQuaternions(worldRotation, inverseAnchorRotation) const anchorOffset = new XRAnchorOffset(anchor.uid) anchorOffset.poseMatrix = MatrixMath.mat4_fromRotationTranslation(new Float32Array(16), offsetRotation.toArray(), offsetPosition) resolve(anchorOffset) } else { let coordinateSystem = new XRCoordinateSystem(display, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = hit.world_transform const anchor = new XRAnchor(coordinateSystem, hit.uuid) this._anchors.set(anchor.uid, anchor) const anchorOffset = new XRAnchorOffset(anchor.uid) resolve(anchorOffset) } }) } else if(this._vrDisplay !== null){ // Perform a hit test using the ARCore data let hits = this._vrDisplay.hitTest(normalizedScreenX, normalizedScreenY) if(hits.length == 0){ resolve(null) return } hits.sort((a, b) => a.distance - b.distance) let anchor = this._getAnchor(hits[0].uuid) if(anchor === null){ let coordinateSystem = new XRCoordinateSystem(display, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = hits[0].modelMatrix coordinateSystem._relativeMatrix[13] += XRViewPose.SITTING_EYE_HEIGHT anchor = new XRAnchor(coordinateSystem) this._anchors.set(anchor.uid, anchor) } resolve(new XRAnchorOffset(anchor.uid)) } else { resolve(null) // No platform support for finding anchors } }) } /** * Creates an ARReferenceImage in the ARKit native side * @param uid the ID of the image to create * @param buffer the base64 encoded image * @param width * @param height * @param physicalWidthInMeters * @returns a promise when the image has been created, error otherwise * @private */ _createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) { if (this._arKitWrapper) { return this._arKitWrapper.createImageAnchor(uid, buffer, width, height, physicalWidthInMeters) } else { return null; } } /** * _activateDetectionImage Uses the ARKit wrapper to add a new reference image to the set of detection images in the ARKit configuration object * and runs the session again. The promise is resolved when the image is detected by ARKit * @param uid The name (id) if the image to activate. It has to be previously created calling the "createImageAnchor" method * @param display The current display * @returns {Promise} A promise resolved with the image transform in case of success, rejected with error otherwise */ _activateDetectionImage(uid, display) { return new Promise((resolve, reject) => { if (this._arKitWrapper) { this._arKitWrapper.activateDetectionImage(uid).then(aRKitImageAnchor => { if (aRKitImageAnchor.activated === true) { let coordinateSystem = new XRCoordinateSystem(display, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = aRKitImageAnchor.imageAnchor.transform let anchor = new XRImageAnchor(coordinateSystem, aRKitImageAnchor.imageAnchor.uuid) this._anchors.set(aRKitImageAnchor.imageAnchor.uuid, anchor) resolve(aRKitImageAnchor.imageAnchor.transform) } else if (aRKitImageAnchor.error !== null) { reject(aRKitImageAnchor.error) } else { reject(null) } }) } else { reject('ARKit not supported') } }) } _removeAnchor(uid){ if(this._arKitWrapper) { this._arKitWrapper.removeAnchor(uid) } else if (this._getAnchor(uid)) { this._anchors.delete(uid) } } _pickARKitHit(data){ if(data.length === 0) return null let info = null let planeResults = data.filter( hitTestResult => hitTestResult.type != ARKitWrapper.HIT_TEST_TYPE_FEATURE_POINT ) let planeExistingUsingExtentResults = planeResults.filter( hitTestResult => hitTestResult.type == ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE_USING_EXTENT ) let planeExistingResults = planeResults.filter( hitTestResult => hitTestResult.type == ARKitWrapper.HIT_TEST_TYPE_EXISTING_PLANE ) if (planeExistingUsingExtentResults.length) { // existing planes using extent first planeExistingUsingExtentResults = planeExistingUsingExtentResults.sort((a, b) => a.distance - b.distance) info = planeExistingUsingExtentResults[0] } else if (planeExistingResults.length) { // then other existing planes planeExistingResults = planeExistingResults.sort((a, b) => a.distance - b.distance) info = planeExistingResults[0] } else if (planeResults.length) { // other types except feature points planeResults = planeResults.sort((a, b) => a.distance - b.distance) info = planeResults[0] } else { // feature points if any info = data[0] } return info } /* Found intersections with anchors and planes by a ray normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right returns an Array of VRHit */ _hitTestNoAnchor(normalizedScreenX, normalizedScreenY, display){ if(this._arKitWrapper !== null){ // Perform a hit test using the ARKit integration let hits = this._arKitWrapper.hitTestNoAnchor(normalizedScreenX, normalizedScreenY); for (let i = 0; i < hits.length; i++) { hits[i].modelMatrix[13] += XRViewPose.SITTING_EYE_HEIGHT } if(hits.length == 0){ return null; } return hits; } else if(this._vrDisplay !== null) { // Perform a hit test using the ARCore data let hits = this._vrDisplay.hitTest(normalizedScreenX, normalizedScreenY) for (let i = 0; i < hits.length; i++) { hits[i].modelMatrix[13] += XRViewPose.SITTING_EYE_HEIGHT } if(hits.length == 0){ return null; } return hits; } else { // No platform support for finding anchors return null; } } _getHasLightEstimate(){ if(this._arKitWrapper !== null){ return true; }else{ return false; } } _getLightAmbientIntensity(){ if(this._arKitWrapper !== null){ this._lightEstimate.ambientIntensity = this._arKitWrapper.lightIntensity; return this._lightEstimate.ambientIntensity; }else{ // No platform support for ligth estimation return null; } } _getWorldMappingStatus(){ if(this._arKitWrapper !== null){ return this._arKitWrapper.worldMappingStatus; }else{ // No platform support for ligth estimation return null; } } /** * retrieves a worldMap from the platform, if possible * @returns a promise when the worldMap has been retrieved * @private */ _getWorldMap() { return new Promise((resolve, reject) => { if (this._arKitWrapper) { this._arKitWrapper.getWorldMap().then(ARKitWorldMap => { if (ARKitWorldMap.saved === true) { resolve(ARKitWorldMap.worldMap) } else if (ARKitWorldMap.error !== null) { reject(ARKitWorldMap.error) } else { reject(null) } }) } else { reject('ARKit not supported') } }) } /** * sets a worldMap for the platform, if possible * @param worldMap a platform specific worldmap * @returns a promise when the worldMap has been set * @private */ _setWorldMap(worldMap) { if (this._arKitWrapper) { return this._arKitWrapper.setWorldMap(worldMap) } else { return new Promise((resolve, reject) => { reject(new Error('setWorldMap not supported')); }) } } _getTimeStamp(timestamp) { if(this._arKitWrapper !== null){ return this._arKitWrapper.timestamp; }else{ // use performance.now() //return ( performance || Date ).now(); return timestamp } } /* No floor in AR */ _findFloorAnchor(display, uid=null){ return new Promise((resolve, reject) => { resolve(null) }) } } ================================================ FILE: polyfill/reality/VirtualReality.js ================================================ import Reality from '../Reality.js' /* VirtualReality is a Reality that is empty and waiting for fanstastic CG scenes. */ export default class VirtualReality extends Reality { constructor(xr){ super(xr, 'Virtual', false, false) } /* Called when at least one active XRSession is using this Reality */ _start(parameters){ } /* Called when no more active XRSessions are using this Reality */ _stop(){ } /* Called by a session before it hands a new XRPresentationFrame to the app */ _handleNewFrame(){} /* Create an anchor hung in space */ _addAnchor(anchor, display){ this._anchors.set(anchor.uid, anchor) return anchor.uid } /* Create an anchor attached to a surface, as found by a ray normalized screen x and y are in range 0..1, with 0,0 at top left and 1,1 at bottom right */ _findAnchor(normalizedScreenX, normalizedScreenY, display, options=null){ return new Promise((resolve, reject) => { resolve(null) }) } _removeAnchor(uid){ this._anchors.delete(uid) } _hitTestNoAnchor(normalizedScreenX, normalizedScreenY, display){ return null } _getHasLightEstimate(){ return false; } /* Find an XRAnchorOffset that is at floor level below the current head pose returns a Promise that resolves either to an AnchorOffset or null if the floor level is unknown */ _findFloorAnchor(display, uid=null){ // Copy the head model matrix for the current pose so we have it in the promise below const headModelMatrix = new Float32Array(display._headPose.poseModelMatrix) return new Promise((resolve, reject) => { // For now, just create an anchor at origin level. Probably want to use stage more intelligently headModelMatrix[13] = 0 const coordinateSystem = new XRCoordinateSystem(display, XRCoordinateSystem.TRACKER) coordinateSystem._relativeMatrix = headModelMatrix const anchor = new XRAnchor(coordinateSystem, uid) this._addAnchor(anchor, display) resolve(new XRAnchorOffset(anchor.uid)) }) } _getTimeStamp(timestamp) { return timestamp } } ================================================ FILE: tests/CoordinatesTest.js ================================================ import Test from './Test.js' import MatrixMath from '../polyfill/fill/MatrixMath.js' import XRDisplay from '../polyfill/XRDisplay.js' import XRCoordinateSystem from '../polyfill/XRCoordinateSystem.js' import Quaternion from '../polyfill/fill/Quaternion.js' export default class CoordinatesTest extends Test { testTransform(){ let display1 = new MockXRDisplay() // Test that relative coordinate systems correctly provide transforms let relativeCoordinateSystem = new XRCoordinateSystem(display1, XRCoordinateSystem.TRACKER) let pose = MatrixMath.mat4_generateIdentity() pose[12] = 1 pose[13] = 2 pose[14] = 3 relativeCoordinateSystem._relativeMatrix = pose let r2hTransform = relativeCoordinateSystem.getTransformTo(display1._headModelCoordinateSystem) this.assertFloatArraysEqual( [1, 2 - XRViewPose.SITTING_EYE_HEIGHT, 3], [r2hTransform[12], r2hTransform[13], r2hTransform[14]] ) // Test the transform is where we expect it let h2tTransform = display1._headModelCoordinateSystem.getTransformTo(display1._trackerCoordinateSystem) this.assertFloatArraysEqual( [0, XRViewPose.SITTING_EYE_HEIGHT, 0], [h2tTransform[12], h2tTransform[13], h2tTransform[14]] ) // Offset the head and test the transform display1._headPose._position = [0, XRViewPose.SITTING_EYE_HEIGHT, 0.5] h2tTransform = display1._headModelCoordinateSystem.getTransformTo(display1._trackerCoordinateSystem) this.assertFloatArraysEqual( [0, XRViewPose.SITTING_EYE_HEIGHT, display1._headPose._position[2]], [h2tTransform[12], h2tTransform[13], h2tTransform[14]] ) // Rotate the head and test the transform let quat1 = new Quaternion() quat1.setFromEuler(0, -Math.PI, 0) display1._headPose._orientation = quat1.toArray() h2tTransform = display1._headModelCoordinateSystem.getTransformTo(display1._trackerCoordinateSystem) let trackerPosition = MatrixMath.mat4_get_position(new Float32Array(3), h2tTransform) this.assertEqual(trackerPosition[2], display1._headPose._position[2]) quat1.inverse() let trackerOrientation = MatrixMath.mat4_get_rotation(new Float32Array(4), h2tTransform) this.assertFloatArraysEqual(quat1.toArray(), trackerOrientation) } } class MockXR { } class MockReality { } class MockXRDisplay extends XRDisplay { constructor(xr=null, displayName='Mock', isExternal=false, reality=null){ super(xr ? xr : new MockXR(), displayName, isExternal, reality ? reality : new MockReality()) } } ================================================ FILE: tests/Test.js ================================================ export default class Test { run(){ for(let name of Object.getOwnPropertyNames(Object.getPrototypeOf(this))){ if(name.startsWith('test') && typeof this[name] === 'function'){ this[name]() } } } assertEqual(item1, item2){ if(item1 === item2) return true if(item1 == item2) return true throw new Error('Unequal? ' + item1 + " / " + item2) } assertFloatArraysEqual(array1, array2, decimalPrecision=5){ if(Array.isArray(array1) === false && array1 instanceof Float32Array === false) throw new Error('Not equal: ' + array1 + ' / ' + array2) if(Array.isArray(array2) === false && array2 instanceof Float32Array === false) throw new Error('Not equal: ' + array1 + ' / ' + array2) if(array1.length != array2.length) throw new Error('Not equal: ' + array1 + ' / ' + array2) const precisionMultiplier = 10^decimalPrecision for(let i=0; i < array1.length; i++){ const a1 = Math.trunc((array1[i] * precisionMultiplier)) / precisionMultiplier const a2 = Math.trunc((array2[i] * precisionMultiplier)) / precisionMultiplier if(a1 !== a2) throw new Error('Not equal: ' + array1 + ' / ' + array2) } } } ================================================ FILE: tests/index.html ================================================ Tests ================================================ FILE: viewer.html ================================================ WebXR Viewer

WebXR Viewer

Help Mozilla Research by taking part in WebXR viewer, an augmented reality and virtual reality application that lets you navigate to XR experiences just like websites.

Below you will find examples of WebXR experiences. If you are a developer, click the source code links to see how to use the WebXR polyfill to create your own AR or VR experiences.

Samples

Simple Examples

================================================ FILE: webpack.config.js ================================================ const path = require('path'); const fs = require('fs'); WrapperPlugin = require('wrapper-webpack-plugin'); const headerDoc = fs.readFileSync('./dist-header.js', 'utf8'); const footerDoc = fs.readFileSync('./dist-footer.js', 'utf8'); var xrPolyfill = { entry: './polyfill/XRPolyfill.js', output: { filename: 'webxr-polyfill.js', path: path.resolve(__dirname, 'dist') }, plugins: [ new WrapperPlugin({ header: headerDoc, footer: footerDoc }) ], module: { rules: [ { test: /\.js$/, include: [ path.resolve(__dirname, "polyfill"), ], use: { loader: 'babel-loader', options: { presets: ['env'] } } } ] }, resolve: { extensions: ['.js'] } }; var xrVideoWorker = { entry: './polyfill/XRWorkerPolyfill.js', output: { filename: 'webxr-worker.js', path: path.resolve(__dirname, 'dist') }, module: { rules: [ { test: /\.js$/, include: [ path.resolve(__dirname, "polyfill"), ], use: { loader: 'babel-loader', options: { presets: ['env'] } } } ] }, resolve: { extensions: ['.js'] } }; module.exports = [xrPolyfill, xrVideoWorker]