Copy disabled (too large)
Download .txt
Showing preview only (87,227K chars total). Download the full file to get everything.
Repository: gnipbao/h5-test
Branch: gh-pages
Commit: c07b1c599d6d
Files: 1045
Total size: 112.1 MB
Directory structure:
gitextract_clkncpys/
├── .editorconfig
├── .gitignore
├── 3dTag.js
├── 3dtag.html
├── README.md
├── app.js
├── menu.html
├── package.json
└── src/
├── 3D-demo/
│ ├── 3DGoogle/
│ │ ├── css/
│ │ │ ├── bdsstyle.css
│ │ │ └── giftbox.css
│ │ ├── index.html
│ │ └── js/
│ │ ├── test.js
│ │ └── trans3d.js
│ ├── 3DTunnel/
│ │ └── 3Dtunnel.html
│ ├── 3Dbook/
│ │ ├── creativeguidebook.html
│ │ ├── css/
│ │ │ └── style.css
│ │ └── js/
│ │ ├── buttonLite.js
│ │ ├── categorizr.js
│ │ ├── ga.js
│ │ ├── modernizr.custom.31293.js
│ │ ├── ui.js
│ │ └── wb.js
│ ├── 3Dcube/
│ │ ├── css/
│ │ │ ├── index.css
│ │ │ └── normalize.css
│ │ ├── index.html
│ │ └── js/
│ │ └── jquery-3.0.0.js
│ ├── 3Dfacegirl/
│ │ ├── index.html
│ │ └── js/
│ │ ├── index.js
│ │ └── jquery.js
│ ├── 3Dphoto/
│ │ ├── index.html
│ │ └── js/
│ │ ├── ge1doot.js
│ │ └── imageTransform3D.js
│ ├── micah/
│ │ ├── index.html
│ │ └── js/
│ │ ├── Tween.js
│ │ ├── main.js
│ │ └── three.js
│ ├── periodic-table/
│ │ ├── index.html
│ │ └── js/
│ │ ├── CSS3DRenderer.js
│ │ └── TrackballControls.js
│ └── voxels-liquid/
│ ├── index.html
│ ├── index2.html
│ └── js/
│ ├── Detector.js
│ ├── RequestAnimationFrame.js
│ ├── Stats.js
│ └── Three.js
├── Canvas-demo/
│ ├── Conductor/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── data-schedule.js
│ │ │ └── soundmanager2-nodebug-jsmin.js
│ │ └── style.css
│ ├── apple_watch/
│ │ ├── index.html
│ │ ├── js/
│ │ │ └── index.js
│ │ └── style.css
│ ├── coolRain/
│ │ └── index.html
│ ├── liquid_chars/
│ │ ├── experiment-pages.css
│ │ └── liquid-chars.html
│ ├── liquid_particles/
│ │ ├── index.html
│ │ └── js/
│ │ └── ga.js
│ ├── loader.html
│ ├── mechanical_grass/
│ │ ├── css/
│ │ │ └── style.css
│ │ ├── grass.html
│ │ └── js/
│ │ ├── index.js
│ │ └── matrix.js
│ ├── nets.html
│ ├── nets_black/
│ │ ├── css/
│ │ │ └── global.css
│ │ ├── index.html
│ │ └── js/
│ │ └── ban.js
│ ├── rose.html
│ ├── space_noodles/
│ │ ├── index.html
│ │ └── js/
│ │ └── ga.js
│ ├── spider/
│ │ ├── js/
│ │ │ └── verlet-1.0.0.js
│ │ └── spider.html
│ └── tearCloth.html
├── Funny-demo/
│ ├── Blob/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── load.js
│ │ │ └── widgets.js
│ │ └── styles.css
│ ├── Button/
│ │ └── index.html
│ ├── CSS3-hover/
│ │ ├── css/
│ │ │ ├── default.css
│ │ │ ├── main.css
│ │ │ └── normalize.css
│ │ ├── index.html
│ │ └── js/
│ │ └── app.js
│ ├── Doraemon/
│ │ ├── index.html
│ │ └── style.css
│ ├── Whale/
│ │ ├── whale.html
│ │ └── whale.js
│ ├── beanstalk/
│ │ ├── audio/
│ │ │ └── thereisareason.ogg
│ │ ├── index.html
│ │ └── js/
│ │ ├── BloomEffect.js
│ │ ├── Detector.js
│ │ ├── ObjectPool.js
│ │ ├── Plant.js
│ │ ├── RequestAnimationFrame.js
│ │ ├── Stats.js
│ │ ├── Three.js
│ │ ├── ThreeWebGL.js
│ │ ├── Tween.js
│ │ ├── leaf3.js
│ │ ├── leaf5.js
│ │ └── thereisareason.js
│ ├── blackhole/
│ │ ├── index.html
│ │ └── js/
│ │ ├── black-hole.js
│ │ ├── jquery.js
│ │ └── numeric.js
│ ├── tentacles/
│ │ ├── js/
│ │ │ └── buttons.js
│ │ └── tentacles.html
│ ├── ticky_thing/
│ │ └── index.html
│ └── triangle.html
├── Game-demo/
│ ├── caisse/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── lanrenzhijia.js
│ │ │ └── lanrenzhijia2.js
│ │ └── lanrenzhijia.css
│ ├── chinese_chess/
│ │ ├── bdsstyle.css
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── AI.js
│ │ │ ├── bill.js
│ │ │ ├── common.js
│ │ │ ├── gambit.js
│ │ │ └── play.js
│ │ └── zzsc.css
│ └── fly/
│ ├── Media/
│ │ └── aryx.ogg
│ ├── index.html
│ ├── js/
│ │ ├── ColladaLoader.js
│ │ ├── Detector.js
│ │ ├── THREEx.FullScreen.js
│ │ ├── THREEx.WindowResize.js
│ │ └── Three.js
│ └── main.css
├── Svg-demo/
│ ├── butterFlies/
│ │ ├── css/
│ │ │ ├── reset.css
│ │ │ └── style.css
│ │ └── index.html
│ └── theCreepyMouth/
│ └── index.html
├── Threejs-demo/
│ ├── build/
│ │ └── three.js
│ └── examples/
│ ├── canvas_ascii_effect.html
│ ├── canvas_camera_orthographic.html
│ ├── canvas_camera_orthographic2.html
│ ├── canvas_geometry_birds.html
│ ├── canvas_geometry_cube.html
│ ├── canvas_geometry_earth.html
│ ├── canvas_geometry_hierarchy.html
│ ├── canvas_geometry_nurbs.html
│ ├── canvas_geometry_panorama.html
│ ├── canvas_geometry_panorama_fisheye.html
│ ├── canvas_geometry_shapes.html
│ ├── canvas_geometry_terrain.html
│ ├── canvas_geometry_text.html
│ ├── canvas_interactive_cubes.html
│ ├── canvas_interactive_cubes_tween.html
│ ├── canvas_interactive_particles.html
│ ├── canvas_interactive_voxelpainter.html
│ ├── canvas_lights_pointlights.html
│ ├── canvas_lines.html
│ ├── canvas_lines_colors.html
│ ├── canvas_lines_colors_2d.html
│ ├── canvas_lines_dashed.html
│ ├── canvas_lines_sphere.html
│ ├── canvas_materials.html
│ ├── canvas_materials_normal.html
│ ├── canvas_materials_reflection.html
│ ├── canvas_materials_video.html
│ ├── canvas_morphtargets_horse.html
│ ├── canvas_particles_floor.html
│ ├── canvas_particles_random.html
│ ├── canvas_particles_sprites.html
│ ├── canvas_particles_waves.html
│ ├── canvas_performance.html
│ ├── canvas_sandbox.html
│ ├── css3d_molecules.html
│ ├── css3d_panorama.html
│ ├── css3d_panorama_deviceorientation.html
│ ├── css3d_periodictable.html
│ ├── css3d_sandbox.html
│ ├── css3d_sprites.html
│ ├── css3d_youtube.html
│ ├── files.js
│ ├── index.html
│ ├── js/
│ │ ├── AnimationClipCreator.js
│ │ ├── BlendCharacter.js
│ │ ├── BlendCharacterGui.js
│ │ ├── BufferGeometryUtils.js
│ │ ├── Car.js
│ │ ├── Cloth.js
│ │ ├── CurveExtras.js
│ │ ├── Detector.js
│ │ ├── Encodings.js
│ │ ├── GPUParticleSystem.js
│ │ ├── Gyroscope.js
│ │ ├── Half.js
│ │ ├── ImprovedNoise.js
│ │ ├── MD2Character.js
│ │ ├── MD2CharacterComplex.js
│ │ ├── MarchingCubes.js
│ │ ├── Mirror.js
│ │ ├── MorphAnimMesh.js
│ │ ├── MorphAnimation.js
│ │ ├── Ocean.js
│ │ ├── Octree.js
│ │ ├── PRNG.js
│ │ ├── ParametricGeometries.js
│ │ ├── RollerCoaster.js
│ │ ├── ShaderGodRays.js
│ │ ├── ShaderSkin.js
│ │ ├── ShaderTerrain.js
│ │ ├── ShaderToon.js
│ │ ├── SimplexNoise.js
│ │ ├── SimulationRenderer.js
│ │ ├── SkyShader.js
│ │ ├── TimelinerController.js
│ │ ├── TypedArrayUtils.js
│ │ ├── UCSCharacter.js
│ │ ├── Volume.js
│ │ ├── VolumeSlice.js
│ │ ├── WaterShader.js
│ │ ├── WebVR.js
│ │ ├── animation/
│ │ │ ├── CCDIKSolver.js
│ │ │ └── MMDPhysics.js
│ │ ├── cameras/
│ │ │ ├── CinematicCamera.js
│ │ │ └── CombinedCamera.js
│ │ ├── controls/
│ │ │ ├── DeviceOrientationControls.js
│ │ │ ├── DragControls.js
│ │ │ ├── EditorControls.js
│ │ │ ├── FirstPersonControls.js
│ │ │ ├── FlyControls.js
│ │ │ ├── MouseControls.js
│ │ │ ├── OrbitControls.js
│ │ │ ├── OrthographicTrackballControls.js
│ │ │ ├── PointerLockControls.js
│ │ │ ├── TrackballControls.js
│ │ │ ├── TransformControls.js
│ │ │ └── VRControls.js
│ │ ├── crossfade/
│ │ │ ├── gui.js
│ │ │ ├── scenes.js
│ │ │ └── transition.js
│ │ ├── curves/
│ │ │ ├── NURBSCurve.js
│ │ │ ├── NURBSSurface.js
│ │ │ └── NURBSUtils.js
│ │ ├── effects/
│ │ │ ├── AnaglyphEffect.js
│ │ │ ├── AsciiEffect.js
│ │ │ ├── ParallaxBarrierEffect.js
│ │ │ ├── PeppersGhostEffect.js
│ │ │ ├── StereoEffect.js
│ │ │ └── VREffect.js
│ │ ├── exporters/
│ │ │ ├── OBJExporter.js
│ │ │ ├── STLBinaryExporter.js
│ │ │ ├── STLExporter.js
│ │ │ └── TypedGeometryExporter.js
│ │ ├── geometries/
│ │ │ ├── ConvexGeometry.js
│ │ │ ├── DecalGeometry.js
│ │ │ ├── TeapotBufferGeometry.js
│ │ │ ├── hilbert2D.js
│ │ │ └── hilbert3D.js
│ │ ├── libs/
│ │ │ ├── ammo.js
│ │ │ ├── earcut.js
│ │ │ └── msgpack-js.js
│ │ ├── loaders/
│ │ │ ├── 3MFLoader.js
│ │ │ ├── AMFLoader.js
│ │ │ ├── AWDLoader.js
│ │ │ ├── AssimpJSONLoader.js
│ │ │ ├── BabylonLoader.js
│ │ │ ├── BinaryLoader.js
│ │ │ ├── ColladaLoader.js
│ │ │ ├── ColladaLoader2.js
│ │ │ ├── DDSLoader.js
│ │ │ ├── FBXLoader.js
│ │ │ ├── HDRCubeTextureLoader.js
│ │ │ ├── KMZLoader.js
│ │ │ ├── MD2Loader.js
│ │ │ ├── MMDLoader.js
│ │ │ ├── MTLLoader.js
│ │ │ ├── NRRDLoader.js
│ │ │ ├── OBJLoader.js
│ │ │ ├── PCDLoader.js
│ │ │ ├── PDBLoader.js
│ │ │ ├── PLYLoader.js
│ │ │ ├── PVRLoader.js
│ │ │ ├── PlayCanvasLoader.js
│ │ │ ├── RGBELoader.js
│ │ │ ├── STLLoader.js
│ │ │ ├── SVGLoader.js
│ │ │ ├── TGALoader.js
│ │ │ ├── UTF8Loader.js
│ │ │ ├── VRMLLoader.js
│ │ │ ├── VTKLoader.js
│ │ │ ├── collada/
│ │ │ │ ├── Animation.js
│ │ │ │ ├── AnimationHandler.js
│ │ │ │ └── KeyFrameAnimation.js
│ │ │ ├── ctm/
│ │ │ │ ├── CTMLoader.js
│ │ │ │ ├── CTMWorker.js
│ │ │ │ ├── ctm.js
│ │ │ │ ├── license/
│ │ │ │ │ ├── OpenCTM.txt
│ │ │ │ │ ├── js-lzma.txt
│ │ │ │ │ └── js-openctm.txt
│ │ │ │ └── lzma.js
│ │ │ ├── deprecated/
│ │ │ │ └── SceneLoader.js
│ │ │ ├── gltf/
│ │ │ │ ├── glTF-parser.js
│ │ │ │ ├── glTFAnimation.js
│ │ │ │ ├── glTFLoader.js
│ │ │ │ ├── glTFLoaderUtils.js
│ │ │ │ ├── glTFShaders.js
│ │ │ │ └── gltfUtilities.js
│ │ │ └── sea3d/
│ │ │ ├── SEA3D.js
│ │ │ ├── SEA3DDeflate.js
│ │ │ ├── SEA3DLZMA.js
│ │ │ ├── SEA3DLegacy.js
│ │ │ └── SEA3DLoader.js
│ │ ├── math/
│ │ │ ├── ColorConverter.js
│ │ │ └── Lut.js
│ │ ├── modifiers/
│ │ │ ├── BufferSubdivisionModifier.js
│ │ │ ├── ExplodeModifier.js
│ │ │ ├── SubdivisionModifier.js
│ │ │ └── TessellateModifier.js
│ │ ├── nodes/
│ │ │ ├── BuilderNode.js
│ │ │ ├── ConstNode.js
│ │ │ ├── FunctionCallNode.js
│ │ │ ├── FunctionNode.js
│ │ │ ├── GLNode.js
│ │ │ ├── InputNode.js
│ │ │ ├── NodeLib.js
│ │ │ ├── NodeMaterial.js
│ │ │ ├── RawNode.js
│ │ │ ├── TempNode.js
│ │ │ ├── accessors/
│ │ │ │ ├── CameraNode.js
│ │ │ │ ├── ColorsNode.js
│ │ │ │ ├── LightNode.js
│ │ │ │ ├── NormalNode.js
│ │ │ │ ├── PositionNode.js
│ │ │ │ ├── ReflectNode.js
│ │ │ │ ├── ScreenUVNode.js
│ │ │ │ └── UVNode.js
│ │ │ ├── inputs/
│ │ │ │ ├── ColorNode.js
│ │ │ │ ├── CubeTextureNode.js
│ │ │ │ ├── FloatNode.js
│ │ │ │ ├── IntNode.js
│ │ │ │ ├── Matrix4Node.js
│ │ │ │ ├── MirrorNode.js
│ │ │ │ ├── ScreenNode.js
│ │ │ │ ├── TextureNode.js
│ │ │ │ ├── Vector2Node.js
│ │ │ │ ├── Vector3Node.js
│ │ │ │ └── Vector4Node.js
│ │ │ ├── materials/
│ │ │ │ ├── PhongNode.js
│ │ │ │ ├── PhongNodeMaterial.js
│ │ │ │ ├── StandardNode.js
│ │ │ │ └── StandardNodeMaterial.js
│ │ │ ├── math/
│ │ │ │ ├── Math1Node.js
│ │ │ │ ├── Math2Node.js
│ │ │ │ ├── Math3Node.js
│ │ │ │ └── OperatorNode.js
│ │ │ ├── postprocessing/
│ │ │ │ └── NodePass.js
│ │ │ └── utils/
│ │ │ ├── ColorAdjustmentNode.js
│ │ │ ├── JoinNode.js
│ │ │ ├── LuminanceNode.js
│ │ │ ├── NoiseNode.js
│ │ │ ├── NormalMapNode.js
│ │ │ ├── ResolutionNode.js
│ │ │ ├── RoughnessToBlinnExponentNode.js
│ │ │ ├── SwitchNode.js
│ │ │ ├── TimerNode.js
│ │ │ └── VelocityNode.js
│ │ ├── objects/
│ │ │ └── ShadowMesh.js
│ │ ├── pmrem/
│ │ │ ├── PMREMCubeUVPacker.js
│ │ │ └── PMREMGenerator.js
│ │ ├── postprocessing/
│ │ │ ├── AdaptiveToneMappingPass.js
│ │ │ ├── BloomPass.js
│ │ │ ├── BokehPass.js
│ │ │ ├── ClearPass.js
│ │ │ ├── DotScreenPass.js
│ │ │ ├── EffectComposer.js
│ │ │ ├── FilmPass.js
│ │ │ ├── GlitchPass.js
│ │ │ ├── ManualMSAARenderPass.js
│ │ │ ├── MaskPass.js
│ │ │ ├── RenderPass.js
│ │ │ ├── SMAAPass.js
│ │ │ ├── SavePass.js
│ │ │ ├── ShaderPass.js
│ │ │ ├── TAARenderPass.js
│ │ │ └── TexturePass.js
│ │ ├── renderers/
│ │ │ ├── CSS2DRenderer.js
│ │ │ ├── CSS3DRenderer.js
│ │ │ ├── CanvasRenderer.js
│ │ │ ├── Projector.js
│ │ │ ├── RaytracingRenderer.js
│ │ │ ├── RaytracingWorker.js
│ │ │ ├── SVGRenderer.js
│ │ │ └── SoftwareRenderer.js
│ │ ├── shaders/
│ │ │ ├── BasicShader.js
│ │ │ ├── BleachBypassShader.js
│ │ │ ├── BlendShader.js
│ │ │ ├── BokehShader.js
│ │ │ ├── BokehShader2.js
│ │ │ ├── BrightnessContrastShader.js
│ │ │ ├── ColorCorrectionShader.js
│ │ │ ├── ColorifyShader.js
│ │ │ ├── ConvolutionShader.js
│ │ │ ├── CopyShader.js
│ │ │ ├── DOFMipMapShader.js
│ │ │ ├── DigitalGlitch.js
│ │ │ ├── DotScreenShader.js
│ │ │ ├── EdgeShader.js
│ │ │ ├── EdgeShader2.js
│ │ │ ├── FXAAShader.js
│ │ │ ├── FilmShader.js
│ │ │ ├── FocusShader.js
│ │ │ ├── FresnelShader.js
│ │ │ ├── GammaCorrectionShader.js
│ │ │ ├── HorizontalBlurShader.js
│ │ │ ├── HorizontalTiltShiftShader.js
│ │ │ ├── HueSaturationShader.js
│ │ │ ├── KaleidoShader.js
│ │ │ ├── LuminosityShader.js
│ │ │ ├── MirrorShader.js
│ │ │ ├── NormalMapShader.js
│ │ │ ├── OceanShaders.js
│ │ │ ├── ParallaxShader.js
│ │ │ ├── RGBShiftShader.js
│ │ │ ├── SMAAShader.js
│ │ │ ├── SSAOShader.js
│ │ │ ├── SepiaShader.js
│ │ │ ├── TechnicolorShader.js
│ │ │ ├── ToneMapShader.js
│ │ │ ├── TriangleBlurShader.js
│ │ │ ├── UnpackDepthRGBAShader.js
│ │ │ ├── VerticalBlurShader.js
│ │ │ ├── VerticalTiltShiftShader.js
│ │ │ └── VignetteShader.js
│ │ └── utils/
│ │ ├── GeometryUtils.js
│ │ ├── ImageUtils.js
│ │ ├── ShadowMapViewer.js
│ │ └── UVsDebug.js
│ ├── misc_animation_authoring.html
│ ├── misc_animation_keys.html
│ ├── misc_controls_deviceorientation.html
│ ├── misc_controls_fly.html
│ ├── misc_controls_orbit.html
│ ├── misc_controls_pointerlock.html
│ ├── misc_controls_trackball.html
│ ├── misc_controls_transform.html
│ ├── misc_fps.html
│ ├── misc_lights_test.html
│ ├── misc_lookat.html
│ ├── misc_sound.html
│ ├── misc_ubiquity_test.html
│ ├── misc_ubiquity_test2.html
│ ├── misc_uv_tests.html
│ ├── models/
│ │ ├── 3mf/
│ │ │ └── cube_gears.3mf
│ │ ├── amf/
│ │ │ └── rook.amf
│ │ ├── animated/
│ │ │ ├── flamingo.js
│ │ │ ├── horse.js
│ │ │ ├── monster/
│ │ │ │ ├── monster.blend
│ │ │ │ └── monster.js
│ │ │ ├── parrot.js
│ │ │ ├── sittingBox.js
│ │ │ └── stork.js
│ │ ├── assimp/
│ │ │ ├── interior/
│ │ │ │ ├── interior.3ds
│ │ │ │ └── interior.assimp.json
│ │ │ └── jeep/
│ │ │ ├── jeep.assimp.json
│ │ │ ├── jeep1.ms3d
│ │ │ └── jeep1.readme.txt
│ │ ├── awd/
│ │ │ └── simple/
│ │ │ └── simple.awd
│ │ ├── babylon/
│ │ │ └── skull.babylon
│ │ ├── collada/
│ │ │ ├── avatar.dae
│ │ │ ├── kawada-hironx.dae
│ │ │ ├── monster/
│ │ │ │ ├── monster.dae
│ │ │ │ └── readme.txt
│ │ │ ├── multimaterial.dae
│ │ │ └── pump/
│ │ │ └── pump.dae
│ │ ├── ctm/
│ │ │ ├── LeePerry.ctm
│ │ │ ├── WaltHead.ctm
│ │ │ ├── ben.ctm
│ │ │ ├── camaro/
│ │ │ │ ├── camaro.ctm
│ │ │ │ └── camaro.js
│ │ │ └── hand.ctm
│ │ ├── fbx/
│ │ │ ├── xsi_man.fbx
│ │ │ └── xsi_man_skinning.fbx
│ │ ├── gltf/
│ │ │ ├── CesiumMan/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── Cesium_Man.gltf
│ │ │ │ │ ├── Cesium_Man0FS.glsl
│ │ │ │ │ └── Cesium_Man0VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── Cesium_Man.gltf
│ │ │ ├── CesiumMilkTruck/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── CesiumMilkTruck.gltf
│ │ │ │ │ ├── CesiumMilkTruck0FS.glsl
│ │ │ │ │ ├── CesiumMilkTruck0VS.glsl
│ │ │ │ │ ├── CesiumMilkTruck1FS.glsl
│ │ │ │ │ └── CesiumMilkTruck1VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── CesiumMilkTruck.gltf
│ │ │ ├── duck/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── duck.gltf
│ │ │ │ │ ├── duck0FS.glsl
│ │ │ │ │ └── duck0VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── duck.gltf
│ │ │ └── monster/
│ │ │ ├── glTF/
│ │ │ │ ├── monster.gltf
│ │ │ │ ├── monster0FS.glsl
│ │ │ │ └── monster0VS.glsl
│ │ │ ├── glTF-MaterialsCommon/
│ │ │ │ └── monster.gltf
│ │ │ └── readme.txt
│ │ ├── json/
│ │ │ ├── pressure.json
│ │ │ ├── scene-animation.json
│ │ │ └── teapot-claraio.json
│ │ ├── md2/
│ │ │ ├── ogro/
│ │ │ │ ├── Ogro.txt
│ │ │ │ ├── ogro.md2
│ │ │ │ └── weapon.md2
│ │ │ └── ratamahatta/
│ │ │ ├── ratamahatta.md2
│ │ │ ├── w_bfg.md2
│ │ │ ├── w_blaster.md2
│ │ │ ├── w_chaingun.md2
│ │ │ ├── w_glauncher.md2
│ │ │ ├── w_hyperblaster.md2
│ │ │ ├── w_machinegun.md2
│ │ │ ├── w_railgun.md2
│ │ │ ├── w_rlauncher.md2
│ │ │ ├── w_shotgun.md2
│ │ │ ├── w_sshotgun.md2
│ │ │ └── weapon.md2
│ │ ├── mmd/
│ │ │ ├── Readme.txt
│ │ │ ├── audio/
│ │ │ │ └── readme_wavefile_short.txt
│ │ │ ├── miku/
│ │ │ │ ├── miku_v2.pmd
│ │ │ │ └── readme_miku_v2.txt
│ │ │ ├── stage/
│ │ │ │ ├── readme.txt
│ │ │ │ └── stage.pmd
│ │ │ ├── vmd/
│ │ │ │ ├── readme_wavefile.txt
│ │ │ │ ├── readme_wavefile_camera.txt
│ │ │ │ ├── wavefile_camera.vmd
│ │ │ │ └── wavefile_v2.vmd
│ │ │ └── vpd/
│ │ │ ├── 01.vpd
│ │ │ ├── 02.vpd
│ │ │ ├── 03.vpd
│ │ │ ├── 04.vpd
│ │ │ ├── 05.vpd
│ │ │ ├── 06.vpd
│ │ │ ├── 07.vpd
│ │ │ ├── 08.vpd
│ │ │ ├── 09.vpd
│ │ │ ├── 10.vpd
│ │ │ ├── 11.vpd
│ │ │ └── readme.txt
│ │ ├── molecules/
│ │ │ ├── .htaccess
│ │ │ ├── Al2O3.pdb
│ │ │ ├── aspirin.pdb
│ │ │ ├── buckyball.pdb
│ │ │ ├── caf2.pdb
│ │ │ ├── caffeine.pdb
│ │ │ ├── cholesterol.pdb
│ │ │ ├── cocaine.pdb
│ │ │ ├── cu.pdb
│ │ │ ├── cubane.pdb
│ │ │ ├── diamond.pdb
│ │ │ ├── ethanol.pdb
│ │ │ ├── glucose.pdb
│ │ │ ├── graphite.pdb
│ │ │ ├── lsd.pdb
│ │ │ ├── lycopene.pdb
│ │ │ ├── nacl.pdb
│ │ │ ├── nicotine.pdb
│ │ │ └── ybco.pdb
│ │ ├── nrrd/
│ │ │ └── I.nrrd
│ │ ├── obj/
│ │ │ ├── cerberus/
│ │ │ │ └── Cerberus.obj
│ │ │ ├── emerald.obj
│ │ │ └── tree.obj
│ │ ├── pcd/
│ │ │ └── Zaghetto.pcd
│ │ ├── platform/
│ │ │ └── platform.json
│ │ ├── ply/
│ │ │ ├── ascii/
│ │ │ │ ├── dolphins.ply
│ │ │ │ └── dolphins_colored.ply
│ │ │ └── binary/
│ │ │ ├── dolphins_be.ply
│ │ │ └── dolphins_le.ply
│ │ ├── sea3d/
│ │ │ ├── keyframe.sea
│ │ │ ├── keyframe.tjs.sea
│ │ │ ├── mascot.sea
│ │ │ ├── mascot.tjs.sea
│ │ │ ├── morph.sea
│ │ │ ├── morph.tjs.sea
│ │ │ ├── robot.sea
│ │ │ ├── robot.tjs.sea
│ │ │ ├── skin.sea
│ │ │ ├── skin.tjs.sea
│ │ │ ├── sound.sea
│ │ │ └── sound.tjs.sea
│ │ ├── skin_and_morph.dae
│ │ ├── skinned/
│ │ │ ├── UCS/
│ │ │ │ └── umich_ucs.js
│ │ │ ├── UCS_config.json
│ │ │ ├── knight.js
│ │ │ ├── marine/
│ │ │ │ ├── m4.blend
│ │ │ │ ├── m4.js
│ │ │ │ ├── marine_anims.json
│ │ │ │ ├── marine_anims_all.blend
│ │ │ │ ├── marine_anims_all.json
│ │ │ │ ├── marine_anims_core.blend
│ │ │ │ ├── marine_anims_core.json
│ │ │ │ ├── marine_anims_single.blend
│ │ │ │ ├── marine_anims_single.json
│ │ │ │ ├── marine_ik.blend
│ │ │ │ └── marine_ik.json
│ │ │ └── simple/
│ │ │ ├── simple.blend
│ │ │ └── simple.js
│ │ ├── stl/
│ │ │ ├── ascii/
│ │ │ │ ├── pr2_head_pan.stl
│ │ │ │ ├── pr2_head_tilt.stl
│ │ │ │ └── slotted_disk.stl
│ │ │ └── binary/
│ │ │ ├── colored.stl
│ │ │ ├── pr2_head_pan.stl
│ │ │ └── pr2_head_tilt.stl
│ │ ├── utf8/
│ │ │ ├── WaltHi.js
│ │ │ ├── WaltHi.utf8
│ │ │ ├── ben.js
│ │ │ ├── ben.utf8
│ │ │ ├── ben_dds.js
│ │ │ ├── dds/
│ │ │ │ ├── James_Body_Lores.dds
│ │ │ │ ├── James_EyeLashBotTran.dds
│ │ │ │ ├── James_EyeLashTopTran.dds
│ │ │ │ ├── James_Eye_Green.dds
│ │ │ │ ├── James_Eye_Inner_Green.dds
│ │ │ │ ├── James_Face_Color_Hair_Lores.dds
│ │ │ │ ├── James_Mouth_Gum_Lores.dds
│ │ │ │ ├── James_Tongue_Lores.dds
│ │ │ │ ├── MCasShoe1TEX_Lores.dds
│ │ │ │ ├── MJeans1TEX_Lores.dds
│ │ │ │ ├── MTshirt3TEX_Lores.dds
│ │ │ │ └── Nail_Hand_01_Lores.dds
│ │ │ ├── hand.js
│ │ │ └── hand.utf8
│ │ ├── vrml/
│ │ │ ├── house.wrl
│ │ │ └── simple.wrl
│ │ └── vtk/
│ │ ├── bunny.vtk
│ │ ├── cube_ascii.vtp
│ │ ├── cube_binary.vtp
│ │ ├── cube_no_compression.vtp
│ │ └── liver.vtk
│ ├── obj/
│ │ ├── Bird.js
│ │ ├── Qrcode.js
│ │ ├── Suzanne.js
│ │ ├── WaltHeadLo.js
│ │ ├── camaro/
│ │ │ ├── .htaccess
│ │ │ └── CamaroNoUv_bin.js
│ │ ├── cubecolors/
│ │ │ ├── .htaccess
│ │ │ ├── cube_fvc.blend
│ │ │ ├── cube_fvc.js
│ │ │ ├── cubecolors.blend
│ │ │ └── cubecolors.js
│ │ ├── f50/
│ │ │ ├── .htaccess
│ │ │ └── F50NoUv_bin.js
│ │ ├── female02/
│ │ │ ├── .htaccess
│ │ │ ├── Female02_bin.js
│ │ │ ├── Female02_slim.js
│ │ │ ├── female02.mtl
│ │ │ ├── female02.obj
│ │ │ └── readme.txt
│ │ ├── gallardo/
│ │ │ ├── .htaccess
│ │ │ ├── GallardoNoUv_bin.js
│ │ │ └── parts/
│ │ │ ├── gallardo_body_bin.js
│ │ │ └── gallardo_wheel_bin.js
│ │ ├── leeperrysmith/
│ │ │ ├── .htaccess
│ │ │ ├── LeePerrySmith.js
│ │ │ ├── LeePerrySmith.obj
│ │ │ └── LeePerrySmith_License.txt
│ │ ├── lightmap/
│ │ │ ├── lightmap.js
│ │ │ └── readme.txt
│ │ ├── lucy/
│ │ │ ├── .htaccess
│ │ │ ├── Lucy100k_bin.js
│ │ │ └── Lucy100k_slim.js
│ │ ├── male02/
│ │ │ ├── .htaccess
│ │ │ ├── 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
│ │ ├── ninja/
│ │ │ └── NinjaLo_bin.js
│ │ ├── suzanne/
│ │ │ ├── suzanne.Monkey.003.js
│ │ │ ├── suzanne.js
│ │ │ ├── suzanneHi.Monkey.003.js
│ │ │ └── suzanneHi.js
│ │ ├── terrain.js
│ │ ├── veyron/
│ │ │ ├── .htaccess
│ │ │ ├── VeyronNoUv_bin.js
│ │ │ └── parts/
│ │ │ ├── veyron_body_bin.js
│ │ │ └── veyron_wheel_bin.js
│ │ └── walt/
│ │ ├── .htaccess
│ │ ├── WaltHead.mtl
│ │ ├── WaltHead.obj
│ │ ├── WaltHead_bin.js
│ │ └── WaltHead_slim.js
│ ├── raytracing_sandbox.html
│ ├── scenes/
│ │ ├── robo_pigeon.js
│ │ ├── robo_pigeon.pack
│ │ └── test_scene.js
│ ├── software_geometry_earth.html
│ ├── software_lines_colors.html
│ ├── software_lines_cubes.html
│ ├── software_lines_sphere.html
│ ├── software_lines_splines.html
│ ├── software_sandbox.html
│ ├── sounds/
│ │ ├── 358232_j_s_song.ogg
│ │ ├── 376737_Skullbeatz___Bad_Cat_Maste.ogg
│ │ ├── Project_Utopia.ogg
│ │ └── readme.txt
│ ├── svg_sandbox.html
│ ├── textures/
│ │ ├── MaryOculus.webm
│ │ ├── MaryOculus.webm.nfo
│ │ ├── UV_Grid_Sm.txt
│ │ ├── compressed/
│ │ │ ├── Mountains.dds
│ │ │ ├── Mountains_argb_mip.dds
│ │ │ ├── Mountains_argb_nomip.dds
│ │ │ ├── disturb_2bpp_rgb.pvr
│ │ │ ├── disturb_4bpp_rgb.pvr
│ │ │ ├── disturb_4bpp_rgb_mips.pvr
│ │ │ ├── disturb_4bpp_rgb_v3.pvr
│ │ │ ├── disturb_argb_mip.dds
│ │ │ ├── disturb_argb_nomip.dds
│ │ │ ├── disturb_dxt1_mip.dds
│ │ │ ├── disturb_dxt1_nomip.dds
│ │ │ ├── explosion_dxt5_mip.dds
│ │ │ ├── flare_2bpp_rgba.pvr
│ │ │ ├── flare_4bpp_rgba.pvr
│ │ │ ├── hepatica_dxt3_mip.dds
│ │ │ ├── park3_cube_mip_2bpp_rgb_v3.pvr
│ │ │ └── park3_cube_nomip_4bpp_rgb.pvr
│ │ ├── crate_color8.tga
│ │ ├── crate_grey8.tga
│ │ ├── cube/
│ │ │ ├── Bridge2/
│ │ │ │ └── readme.txt
│ │ │ ├── Escher/
│ │ │ │ └── dds/
│ │ │ │ ├── nx.dds
│ │ │ │ ├── ny.dds
│ │ │ │ ├── nz.dds
│ │ │ │ ├── px.dds
│ │ │ │ ├── py.dds
│ │ │ │ └── pz.dds
│ │ │ ├── Park2/
│ │ │ │ └── readme.txt
│ │ │ ├── Park3Med/
│ │ │ │ └── readme.txt
│ │ │ ├── SwedishRoyalCastle/
│ │ │ │ └── readme.txt
│ │ │ ├── hdrPisa/
│ │ │ │ ├── nx.hdr
│ │ │ │ ├── ny.hdr
│ │ │ │ ├── nz.hdr
│ │ │ │ ├── px.hdr
│ │ │ │ ├── py.hdr
│ │ │ │ └── pz.hdr
│ │ │ └── pisaHDR/
│ │ │ ├── nx.hdr
│ │ │ ├── ny.hdr
│ │ │ ├── nz.hdr
│ │ │ ├── px.hdr
│ │ │ ├── py.hdr
│ │ │ └── pz.hdr
│ │ ├── decal/
│ │ │ └── LICENSE.TXT
│ │ ├── kinect.nfo
│ │ ├── kinect.webm
│ │ ├── lensflare/
│ │ │ └── LICENSE.txt
│ │ ├── minecraft/
│ │ │ └── painterlypack.txt
│ │ ├── miranda_uncropped.hdr
│ │ ├── normal/
│ │ │ └── ninja/
│ │ │ └── displacement.txt
│ │ ├── pano.webm
│ │ ├── patterns/
│ │ │ └── readme.txt
│ │ ├── sintel.ogv
│ │ ├── skyboxsun25degtest.txt
│ │ └── terrain/
│ │ └── readme.txt
│ ├── webgl_animation_cloth.html
│ ├── webgl_animation_scene.html
│ ├── webgl_animation_skinning_blending.html
│ ├── webgl_animation_skinning_morph.html
│ ├── webgl_buffergeometry.html
│ ├── webgl_buffergeometry_constructed_from_geometry.html
│ ├── webgl_buffergeometry_custom_attributes_particles.html
│ ├── webgl_buffergeometry_drawcalls.html
│ ├── webgl_buffergeometry_instancing.html
│ ├── webgl_buffergeometry_instancing_billboards.html
│ ├── webgl_buffergeometry_instancing_dynamic.html
│ ├── webgl_buffergeometry_instancing_interleaved_dynamic.html
│ ├── webgl_buffergeometry_lines.html
│ ├── webgl_buffergeometry_lines_indexed.html
│ ├── webgl_buffergeometry_points.html
│ ├── webgl_buffergeometry_rawshader.html
│ ├── webgl_buffergeometry_selective_draw.html
│ ├── webgl_buffergeometry_uint.html
│ ├── webgl_camera.html
│ ├── webgl_camera_cinematic.html
│ ├── webgl_camera_logarithmicdepthbuffer.html
│ ├── webgl_clipping.html
│ ├── webgl_clipping_advanced.html
│ ├── webgl_custom_attributes.html
│ ├── webgl_custom_attributes_lines.html
│ ├── webgl_custom_attributes_points.html
│ ├── webgl_custom_attributes_points2.html
│ ├── webgl_custom_attributes_points3.html
│ ├── webgl_decals.html
│ ├── webgl_depth_texture.html
│ ├── webgl_effects_anaglyph.html
│ ├── webgl_effects_parallaxbarrier.html
│ ├── webgl_effects_peppersghost.html
│ ├── webgl_effects_stereo.html
│ ├── webgl_exporter_obj.html
│ ├── webgl_geometries.html
│ ├── webgl_geometries2.html
│ ├── webgl_geometry_colors.html
│ ├── webgl_geometry_colors_blender.html
│ ├── webgl_geometry_colors_lookuptable.html
│ ├── webgl_geometry_convex.html
│ ├── webgl_geometry_cube.html
│ ├── webgl_geometry_dynamic.html
│ ├── webgl_geometry_extrude_shapes.html
│ ├── webgl_geometry_extrude_shapes2.html
│ ├── webgl_geometry_extrude_splines.html
│ ├── webgl_geometry_hierarchy.html
│ ├── webgl_geometry_hierarchy2.html
│ ├── webgl_geometry_large_mesh.html
│ ├── webgl_geometry_minecraft.html
│ ├── webgl_geometry_minecraft_ao.html
│ ├── webgl_geometry_normals.html
│ ├── webgl_geometry_nurbs.html
│ ├── webgl_geometry_shapes.html
│ ├── webgl_geometry_spline_editor.html
│ ├── webgl_geometry_teapot.html
│ ├── webgl_geometry_terrain.html
│ ├── webgl_geometry_terrain_fog.html
│ ├── webgl_geometry_terrain_raycast.html
│ ├── webgl_geometry_text.html
│ ├── webgl_geometry_text_earcut.html
│ ├── webgl_geometry_text_pnltri.html
│ ├── webgl_gpgpu_birds.html
│ ├── webgl_gpu_particle_system.html
│ ├── webgl_hdr.html
│ ├── webgl_helpers.html
│ ├── webgl_interactive_buffergeometry.html
│ ├── webgl_interactive_cubes.html
│ ├── webgl_interactive_cubes_gpu.html
│ ├── webgl_interactive_cubes_ortho.html
│ ├── webgl_interactive_draggablecubes.html
│ ├── webgl_interactive_instances_gpu.html
│ ├── webgl_interactive_lines.html
│ ├── webgl_interactive_points.html
│ ├── webgl_interactive_raycasting_points.html
│ ├── webgl_interactive_voxelpainter.html
│ ├── webgl_kinect.html
│ ├── webgl_lensflares.html
│ ├── webgl_lights_hemisphere.html
│ ├── webgl_lights_physical.html
│ ├── webgl_lights_pointlights.html
│ ├── webgl_lights_pointlights2.html
│ ├── webgl_lights_spotlight.html
│ ├── webgl_lights_spotlights.html
│ ├── webgl_lines_colors.html
│ ├── webgl_lines_cubes.html
│ ├── webgl_lines_dashed.html
│ ├── webgl_lines_sphere.html
│ ├── webgl_lines_splines.html
│ ├── webgl_loader_3mf.html
│ ├── webgl_loader_amf.html
│ ├── webgl_loader_assimp2json.html
│ ├── webgl_loader_awd.html
│ ├── webgl_loader_babylon.html
│ ├── webgl_loader_collada.html
│ ├── webgl_loader_collada_keyframe.html
│ ├── webgl_loader_collada_kinematics.html
│ ├── webgl_loader_collada_skinning.html
│ ├── webgl_loader_ctm.html
│ ├── webgl_loader_ctm_materials.html
│ ├── webgl_loader_fbx.html
│ ├── webgl_loader_gltf.html
│ ├── webgl_loader_json_blender.html
│ ├── webgl_loader_json_claraio.html
│ ├── webgl_loader_json_objconverter.html
│ ├── webgl_loader_md2.html
│ ├── webgl_loader_md2_control.html
│ ├── webgl_loader_mmd.html
│ ├── webgl_loader_mmd_audio.html
│ ├── webgl_loader_mmd_pose.html
│ ├── webgl_loader_msgpack.html
│ ├── webgl_loader_nrrd.html
│ ├── webgl_loader_obj.html
│ ├── webgl_loader_obj_mtl.html
│ ├── webgl_loader_pcd.html
│ ├── webgl_loader_pdb.html
│ ├── webgl_loader_ply.html
│ ├── webgl_loader_scene.html
│ ├── webgl_loader_sea3d.html
│ ├── webgl_loader_sea3d_hierarchy.html
│ ├── webgl_loader_sea3d_keyframe.html
│ ├── webgl_loader_sea3d_morph.html
│ ├── webgl_loader_sea3d_skinning.html
│ ├── webgl_loader_sea3d_sound.html
│ ├── webgl_loader_stl.html
│ ├── webgl_loader_utf8.html
│ ├── webgl_loader_vrml.html
│ ├── webgl_loader_vtk.html
│ ├── webgl_lod.html
│ ├── webgl_marchingcubes.html
│ ├── webgl_materials.html
│ ├── webgl_materials_blending.html
│ ├── webgl_materials_blending_custom.html
│ ├── webgl_materials_bumpmap.html
│ ├── webgl_materials_bumpmap_skin.html
│ ├── webgl_materials_cars.html
│ ├── webgl_materials_channels.html
│ ├── webgl_materials_cubemap.html
│ ├── webgl_materials_cubemap_balls_reflection.html
│ ├── webgl_materials_cubemap_balls_refraction.html
│ ├── webgl_materials_cubemap_dynamic.html
│ ├── webgl_materials_cubemap_dynamic2.html
│ ├── webgl_materials_cubemap_escher.html
│ ├── webgl_materials_cubemap_refraction.html
│ ├── webgl_materials_displacementmap.html
│ ├── webgl_materials_envmaps.html
│ ├── webgl_materials_envmaps_hdr.html
│ ├── webgl_materials_grass.html
│ ├── webgl_materials_lightmap.html
│ ├── webgl_materials_nodes.html
│ ├── webgl_materials_normalmap.html
│ ├── webgl_materials_parallaxmap.html
│ ├── webgl_materials_reflectivity.html
│ ├── webgl_materials_shaders_fresnel.html
│ ├── webgl_materials_skin.html
│ ├── webgl_materials_standard.html
│ ├── webgl_materials_texture_anisotropy.html
│ ├── webgl_materials_texture_compressed.html
│ ├── webgl_materials_texture_filters.html
│ ├── webgl_materials_texture_hdr.html
│ ├── webgl_materials_texture_manualmipmap.html
│ ├── webgl_materials_texture_pvrtc.html
│ ├── webgl_materials_texture_tga.html
│ ├── webgl_materials_transparency.html
│ ├── webgl_materials_variations_basic.html
│ ├── webgl_materials_variations_lambert.html
│ ├── webgl_materials_variations_phong.html
│ ├── webgl_materials_variations_standard.html
│ ├── webgl_materials_video.html
│ ├── webgl_materials_wireframe.html
│ ├── webgl_mirror.html
│ ├── webgl_mirror_nodes.html
│ ├── webgl_modifier_subdivision.html
│ ├── webgl_modifier_tessellation.html
│ ├── webgl_morphnormals.html
│ ├── webgl_morphtargets.html
│ ├── webgl_morphtargets_horse.html
│ ├── webgl_morphtargets_human.html
│ ├── webgl_multiple_canvases_circle.html
│ ├── webgl_multiple_canvases_complex.html
│ ├── webgl_multiple_canvases_grid.html
│ ├── webgl_multiple_elements.html
│ ├── webgl_multiple_elements_text.html
│ ├── webgl_multiple_renderers.html
│ ├── webgl_multiple_views.html
│ ├── webgl_nearestneighbour.html
│ ├── webgl_objects_update.html
│ ├── webgl_octree.html
│ ├── webgl_octree_raycasting.html
│ ├── webgl_panorama_dualfisheye.html
│ ├── webgl_panorama_equirectangular.html
│ ├── webgl_performance.html
│ ├── webgl_performance_doublesided.html
│ ├── webgl_performance_static.html
│ ├── webgl_points_billboards.html
│ ├── webgl_points_billboards_colors.html
│ ├── webgl_points_dynamic.html
│ ├── webgl_points_random.html
│ ├── webgl_points_sprites.html
│ ├── webgl_postprocessing.html
│ ├── webgl_postprocessing_advanced.html
│ ├── webgl_postprocessing_crossfade.html
│ ├── webgl_postprocessing_dof.html
│ ├── webgl_postprocessing_dof2.html
│ ├── webgl_postprocessing_glitch.html
│ ├── webgl_postprocessing_godrays.html
│ ├── webgl_postprocessing_masking.html
│ ├── webgl_postprocessing_msaa.html
│ ├── webgl_postprocessing_msaa_unbiased.html
│ ├── webgl_postprocessing_nodes.html
│ ├── webgl_postprocessing_procedural.html
│ ├── webgl_postprocessing_smaa.html
│ ├── webgl_postprocessing_ssao.html
│ ├── webgl_postprocessing_taa.html
│ ├── webgl_raycast_texture.html
│ ├── webgl_raymarching_reflect.html
│ ├── webgl_read_float_buffer.html
│ ├── webgl_rtt.html
│ ├── webgl_sandbox.html
│ ├── webgl_shader.html
│ ├── webgl_shader2.html
│ ├── webgl_shader_lava.html
│ ├── webgl_shaders_ocean.html
│ ├── webgl_shaders_ocean2.html
│ ├── webgl_shaders_sky.html
│ ├── webgl_shaders_tonemapping.html
│ ├── webgl_shaders_vector.html
│ ├── webgl_shading_physical.html
│ ├── webgl_shadowmap.html
│ ├── webgl_shadowmap_performance.html
│ ├── webgl_shadowmap_pointlight.html
│ ├── webgl_shadowmap_viewer.html
│ ├── webgl_shadowmesh.html
│ ├── webgl_skinning_simple.html
│ ├── webgl_sprites.html
│ ├── webgl_terrain_dynamic.html
│ ├── webgl_test_memory.html
│ ├── webgl_test_memory2.html
│ ├── webgl_tonemapping.html
│ ├── webgl_trails.html
│ ├── webgl_video_panorama_equirectangular.html
│ ├── webvr_cubes.html
│ ├── webvr_panorama.html
│ ├── webvr_rollercoaster.html
│ ├── webvr_shadow.html
│ ├── webvr_video.html
│ └── webvr_vive.html
└── WebGL-demo/
├── clouds/
│ ├── index.html
│ └── js/
│ └── Detector.js
├── jellyfish/
│ ├── index.html
│ ├── js/
│ │ ├── analytics.js
│ │ ├── debug.js
│ │ ├── drawJellyfish.js
│ │ ├── drawScene.js
│ │ ├── initBuffers.js
│ │ ├── initShaders.js
│ │ ├── initTextures.js
│ │ ├── initUniforms.js
│ │ ├── initWin.js
│ │ ├── interact.js
│ │ ├── lib/
│ │ │ └── mjs.js
│ │ ├── mjs.js
│ │ ├── simulator.js
│ │ └── tick.js
│ ├── meshes/
│ │ ├── jellyfish0.json
│ │ ├── jellyfish2.json
│ │ └── jellyfish3.json
│ └── style.css
├── reactive-ball/
│ ├── index.html
│ └── js/
│ ├── ReactiveBall.js
│ └── SphereGeometry.js
├── visualEYEzer/
│ ├── index.html
│ ├── js/
│ │ ├── AudioKeys.js
│ │ ├── Detector.js
│ │ ├── Library.js
│ │ ├── Stats.js
│ │ ├── Three.js
│ │ ├── Tween.js
│ │ ├── eye_fragment.js
│ │ ├── eye_vertex.js
│ │ └── ga.js
│ └── styles.css
└── webgl-water/
├── index.html
└── js/
├── OES_texture_float_linear-polyfill.js
├── cubemap.js
├── lightgl.js
├── main.js
├── renderer.js
└── water.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
================================================
FILE: .gitignore
================================================
node_modules/
.idea/
================================================
FILE: 3dTag.js
================================================
var tagEle = "querySelectorAll" in document ? document.querySelectorAll(".tag") : getClass("tag"),
paper = "querySelectorAll" in document ? document.querySelector(".tagBall") : getClass("tagBall")[0];
RADIUS = 220,
fallLength = 500,
tags = [],
angleX = Math.PI / 500,
angleY = Math.PI / 500,
CX = paper.offsetWidth / 2,
CY = paper.offsetHeight / 2,
EX = paper.offsetLeft + document.body.scrollLeft + document.documentElement.scrollLeft,
EY = paper.offsetTop + document.body.scrollTop + document.documentElement.scrollTop;
function getClass(className) {
var ele = document.getElementsByTagName("*");
var classEle = [];
for (var i = 0; i < ele.length; i++) {
var cn = ele[i].className;
if (cn === className) {
classEle.push(ele[i]);
}
}
return classEle;
}
function init() {
for (var i = 0; i < tagEle.length; i++) {
var a, b;
var k = -1 + (2 * (i + 1) - 1) / tagEle.length;
var a = Math.acos(k);
var b = a * Math.sqrt(tagEle.length * Math.PI);
var x = RADIUS * Math.sin(a) * Math.cos(b);
var y = RADIUS * Math.sin(a) * Math.sin(b);
var z = RADIUS * Math.cos(a);
var t = new tag(tagEle[i], x, y, z);
tagEle[i].style.color = "rgb(" + parseInt(Math.random() * 255) + "," + parseInt(Math.random() * 255) + "," + parseInt(Math.random() * 255) + ")";
tags.push(t);
t.move();
}
}
Array.prototype.forEach = function(callback) {
for (var i = 0; i < this.length; i++) {
callback.call(this[i]);
}
}
function animate() {
setInterval(function() {
rotateX();
rotateY();
tags.forEach(function() {
this.move();
})
}, 17)
}
var moveAction = function(event){
var x = event.clientX - EX - CX;
var y = event.clientY - EY - CY;
angleY = x * 0.0001;
angleX = y * 0.0001;
};
if ("addEventListener" in window) {
paper.addEventListener("mousemove", moveAction);
} else {
paper.attachEvent("onmousemove", moveAction);
}
function rotateX() {
var cos = Math.cos(angleX);
var sin = Math.sin(angleX);
tags.forEach(function() {
var y1 = this.y * cos - this.z * sin;
var z1 = this.z * cos + this.y * sin;
this.y = y1;
this.z = z1;
})
}
function rotateY() {
var cos = Math.cos(angleY);
var sin = Math.sin(angleY);
tags.forEach(function() {
var x1 = this.x * cos - this.z * sin;
var z1 = this.z * cos + this.x * sin;
this.x = x1;
this.z = z1;
})
}
var tag = function(ele, x, y, z) {
this.ele = ele;
this.x = x;
this.y = y;
this.z = z;
}
tag.prototype = {
move: function() {
var scale = fallLength / (fallLength - this.z);
var alpha = (this.z + RADIUS) / (2 * RADIUS);
this.ele.style.fontSize = 15 * scale + "px";
this.ele.style.opacity = alpha + 0.5;
this.ele.style.filter = "alpha(opacity = " + (alpha + 0.5) * 100 + ")";
this.ele.style.zIndex = parseInt(scale * 100);
this.ele.style.left = this.x + CX - this.ele.offsetWidth / 2 + "px";
this.ele.style.top = this.y + CY - this.ele.offsetHeight / 2 + "px";
}
}
init();
animate();
================================================
FILE: 3dtag.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>3d tag</title>
<style>
.tagBall {
width:500px;
height:500px;
position:absolute;
top:50%;
left:50%;
transform: translate(-50%,-50%);
}
.tag {
display:block;
position:absolute;
left:0px;
top:0px;
color:#000;
text-decoration:none;
font-size:15px;
font-family:"微软雅黑";
font-weight:bold;
}
.tag:hover {
border:1px solid #ccc;
}
.form_vav td {
color:#a78b6f;
}
</style>
</head>
<body>
<div class="tagBall">
<a href="src/Funny-demo/Whale/whale.html" target="_blank" class="tag" title="效果预览">whale</a>
<a href="src/Funny-demo/Doraemon/index.html" target="_blank" class="tag" title="效果预览">哆啦A梦</a>
<a href="src/Funny-demo/triangle.html" target="_blank" class="tag" title="效果预览">三角形特效</a>
<a href="src/Funny-demo/tentacles/tentacles.html" target="_blank" class="tag" title="效果预览">疯狂的触角</a>
<a href="src/Funny-demo/Blob/index.html" target="_blank" class="tag" title="效果预览">果冻模拟</a>
<a href="src/Funny-demo/ticky_thing/index.html" target="_blank" class="tag" title="效果预览">黏糊糊的东西</a>
<a href="src/Funny-demo/CSS3-hover/index.html" target="_blank" class="tag" title="效果预览">CSS3鼠标悬停特效</a>
<a href="src/Funny-demo/beanstalk/index.html" target="_blank" class="tag" title="效果预览">魔豆</a>
<a href="src/Funny-demo/blackhole/index.html" target="_blank" class="tag" title="效果预览">黑洞</a>
<a href="src/Canvas-demo/tearCloth.html" target="_blank" class="tag" title="效果预览">Tearable Cloth</a>
<a href="src/Canvas-demo/mechanical_grass/grass.html" target="_blank" class="tag" title="效果预览">机械草</a>
<a href="src/Canvas-demo/nets.html" target="_blank" class="tag" title="效果预览">nets</a>
<a href="src/Canvas-demo/nets_black/index.html" target="_blank" class="tag" title="效果预览">星空网络背景</a>
<a href="src/Canvas-demo/rose.html" target="_blank" class="tag" title="效果预览">玫瑰花</a>
<a href="src/Canvas-demo/loader.html" target="_blank" class="tag" title="效果预览">粒子进度条</a>
<a href="src/Canvas-demo/Conductor/index.html" target="_blank" class="tag" title="效果预览">Conductor</a>
<a href="src/Canvas-demo/space_noodles/index.html" target="_blank" class="tag" title="效果预览">Space noodles</a>
<a href="src/Canvas-demo/liquid_particles/index.html" target="_blank" class="tag" title="效果预览">粒子液体</a>
<a href="src/Canvas-demo/liquid_chars/liquid-chars.html" target="_blank" class="tag" title="效果预览">星星液体</a>
<a href="src/Canvas-demo/apple_watch/index.html" target="_blank" class="tag" title="效果预览">Apple Watch</a>
<a href="src/Canvas-demo/coolRain/index.html" target="_blank" class="tag" title="效果预览">彩虹雨</a>
<a href="src/Canvas-demo/spider/spider.html" target="_blank" class="tag" title="效果预览">Spider</a>
<a href="src/3D-demo/3DGoogle/index.html" target="_blank" class="tag" title="效果预览">3D Google</a>
<a href="src/3D-demo/micah/index.html" target="_blank" class="tag" title="效果预览">3Dscene</a>
<a href="src/3D-demo/3Dfacegirl/index.html" target="_blank" class="tag" title="效果预览">3D girl</a>
<a href="src/3D-demo/3Dphoto/index.html" target="_blank" class="tag" title="效果预览">3D相册</a>
<a href="src/3D-demo/3DTunnel/3Dtunnel.html" target="_blank" class="tag" title="效果预览">3D隧道</a>
<a href="src/3D-demo/voxels-liquid/index.html" target="_blank" class="tag" title="效果预览">三维液体</a>
<a href="src/3D-demo/periodic-table/index.html" target="_blank" class="tag" title="效果预览">3D元素周期表</a>
<a href="src/3D-demo/3Dcube/index.html" target="_blank" class="tag" title="效果预览">3D正方体旋转</a>
<a href="src/WebGL-demo/webgl-water/index.html" target="_blank" class="tag" title="效果预览">webGL-water</a>
<a href="src/WebGL-demo/visualEYEzer/index.html" target="_blank" class="tag" title="效果预览">visualEYEzer</a>
<a href="src/WebGL-demo/jellyfish/index.html" target="_blank" class="tag" title="效果预览">3D水母</a>
<a href="src/Threejs-demo/examples/webgl_materials_cubemap_dynamic2.html" target="_blank" class="tag" title="效果预览">反射球</a>
<a href="src/WebGL-demo/clouds/index.html" target="_blank" class="tag" title="效果预览">模拟云</a>
<a href="src/Threejs-demo/examples/webgl_materials_cubemap_balls_reflection.html" target="_blank" class="tag" title="效果预览">反射效果</a>
<a href="src/Game-demo/chinese_chess/index.html" target="_blank" class="tag" title="效果预览">Chinese chess</a>
<a href="src/Game-demo/caisse/index.html" target="_blank" class="tag" title="效果预览">重力感应积木</a>
<a href="src/Svg-demo/theCreepyMouth/index.html" target="_blank" class="tag" title="效果预览">theCreepyMouth</a>
<a href="src/Svg-demo/butterFlies/index.html" target="_blank" class="tag" title="效果预览">蝴蝶飞舞</a>
</div>
<script src="./3dTag.js"></script>
</body>
</html>
================================================
FILE: README.md
================================================
# h5-test
This is a collection of HTML 5 and CSS 3 cool dazzle the special effects.
## develop
```bash
git clone https://github.com/Gnipbao/h5-test.git
```
```bash
npm install
```
```bash
npm run test
```
Then visit http://127.0.0.1:3006/menu.html in your browser.
### preview
[online demo](http://gnipbao.github.io/h5-test/menu.html)
================================================
FILE: app.js
================================================
// deps
const serve = require('serve')
const opn = require('opn');
const chalk = require('chalk');
// vars
const PORT = 3006;
const url = `http://127.0.0.1:${PORT}/menu.html`;
const Log = console.log;
const server = serve(__dirname, {
port: PORT,
ignore: ['node_modules']
});
opn(url);
Log(chalk.green(`server run at 127.0.0.1:${PORT}`));
================================================
FILE: menu.html
================================================
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>html索引</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1, target-densitydpi=medium-dpi, user-scalable=no">
</head>
<style>
*{font:16px "微软雅黑","宋体";margin: 0;padding: 0;}
.view{padding:30px;}
h2{ text-align:center; clear:both; font-size:18px; margin:0;}
.main{ list-style: none;}
.main:after { clear: both; display: block; visibility: hidden; height: 0; content: ""; }
p{margin: 5px 0;font-size: 20px;}
.main li{display: inline-block;text-align: center;margin:8px;}
.main a{ display:inline-block; font-size:15px; line-height:36px; color:#333; text-decoration:none;border: 1px solid #ccc;padding: 5px 10px;}
.main a:hover{color:#47A0DC;}
h3{ clear:both;}
</style>
<body>
<div class="view">
<p>Funny-demo</p>
<ul class="main">
<li><a href="src/Funny-demo/Whale/whale.html" target="_blank" class="demo-name" title="效果预览">whale</a></li>
<li><a href="src/Funny-demo/Doraemon/index.html" target="_blank" class="demo-name" title="效果预览">哆啦A梦</a></li>
<li><a href="src/Funny-demo/triangle.html" target="_blank" class="demo-name" title="效果预览">三角形特效</a></li>
<li><a href="src/Funny-demo/tentacles/tentacles.html" target="_blank" class="demo-name" title="效果预览">疯狂的触角</a></li>
<li><a href="src/Funny-demo/Blob/index.html" target="_blank" class="demo-name" title="效果预览">果冻模拟</a></li>
<li><a href="src/Funny-demo/ticky_thing/index.html" target="_blank" class="demo-name" title="效果预览">黏糊糊的东西</a></li>
<li><a href="src/Funny-demo/CSS3-hover/index.html" target="_blank" class="demo-name" title="效果预览">CSS3鼠标悬停特效</a></li>
<li><a href="src/Funny-demo/beanstalk/index.html" target="_blank" class="demo-name" title="效果预览">魔豆</a></li>
<li><a href="src/Funny-demo/blackhole/index.html" target="_blank" class="demo-name" title="效果预览">黑洞</a></li>
</ul>
<p>Canvas-demo</p>
<ul class="main">
<li><a href="src/Canvas-demo/tearCloth.html" target="_blank" class="demo-name" title="效果预览">Tearable Cloth</a></li>
<li><a href="src/Canvas-demo/mechanical_grass/grass.html" target="_blank" class="demo-name" title="效果预览">机械草</a></li>
<li><a href="src/Canvas-demo/nets.html" target="_blank" class="demo-name" title="效果预览">nets</a></li>
<li><a href="src/Canvas-demo/nets_black/index.html" target="_blank" class="demo-name" title="效果预览">星空网络背景</a></li>
<li><a href="src/Canvas-demo/rose.html" target="_blank" class="demo-name" title="效果预览">玫瑰花</a></li>
<li><a href="src/Canvas-demo/loader.html" target="_blank" class="demo-name" title="效果预览">粒子进度条</a></li>
<li><a href="src/Canvas-demo/Conductor/index.html" target="_blank" class="demo-name" title="效果预览">Conductor</a></li>
<li><a href="src/Canvas-demo/space_noodles/index.html" target="_blank" class="demo-name" title="效果预览">Space noodles</a></li>
<li><a href="src/Canvas-demo/liquid_particles/index.html" target="_blank" class="demo-name" title="效果预览">粒子液体</a></li>
<li><a href="src/Canvas-demo/liquid_chars/liquid-chars.html" target="_blank" class="demo-name" title="效果预览">星星液体</a></li>
<li><a href="src/Canvas-demo/apple_watch/index.html" target="_blank" class="demo-name" title="效果预览">Apple Watch</a></li>
<li><a href="src/Canvas-demo/coolRain/index.html" target="_blank" class="demo-name" title="效果预览">彩虹雨</a></li>
<li><a href="src/Canvas-demo/spider/spider.html" target="_blank" class="demo-name" title="效果预览">Spider</a></li>
</ul>
<p>3D-demo</p>
<ul class="main">
<li><a href="src/3D-demo/3DGoogle/index.html" target="_blank" class="demo-name" title="效果预览">3D Google</a></li>
<li><a href="src/3D-demo/micah/index.html" target="_blank" class="demo-name" title="效果预览">3Dscene</a></li>
<li><a href="src/3D-demo/3Dfacegirl/index.html" target="_blank" class="demo-name" title="效果预览">3D girl</a></li>
<li><a href="src/3D-demo/3Dphoto/index.html" target="_blank" class="demo-name" title="效果预览">3D相册</a></li>
<li><a href="src/3D-demo/3DTunnel/3Dtunnel.html" target="_blank" class="demo-name" title="效果预览">3D隧道</a></li>
<li><a href="src/3D-demo/voxels-liquid/index.html" target="_blank" class="demo-name" title="效果预览">三维液体</a></li>
<!--<li><a href="src/3D-demo/3Dbook/creativeguidebook.html" target="_blank" class="demo-name" title="效果预览">一本书中的世界</a></li>-->
<li><a href="src/3D-demo/periodic-table/index.html" target="_blank" class="demo-name" title="效果预览">3D元素周期表</a></li>
<li><a href="src/3D-demo/3Dcube/index.html" target="_blank" class="demo-name" title="效果预览">3D正方体旋转</a></li>
</ul>
<p>Svg-demo</p>
<ul class="main">
<li><a href="src/Svg-demo/theCreepyMouth/index.html" target="_blank" class="demo-name" title="效果预览">theCreepyMouth</a></li>
<li><a href="src/Svg-demo/butterFlies/index.html" target="_blank" class="demo-name" title="效果预览">蝴蝶飞舞</a></li>
</ul>
<p>WebGL-demo</p>
<ul class="main">
<li><a href="src/WebGL-demo/webgl-water/index.html" target="_blank" class="demo-name" title="效果预览">webGL-water</a></li>
<li><a href="src/WebGL-demo/visualEYEzer/index.html" target="_blank" class="demo-name" title="效果预览">visualEYEzer</a></li>
<li><a href="src/WebGL-demo/jellyfish/index.html" target="_blank" class="demo-name" title="效果预览">3D水母</a></li>
<!--<li><a href="src/WebGL-demo/reactive-ball/index.html" target="_blank" class="demo-name" title="效果预览">反射球</a></li>-->
<li><a href="src/Threejs-demo/examples/webgl_materials_cubemap_dynamic2.html" target="_blank" class="demo-name" title="效果预览">反射球</a></li>
<li><a href="src/WebGL-demo/clouds/index.html" target="_blank" class="demo-name" title="效果预览">模拟云</a></li>
<li><a href="src/Threejs-demo/examples/webgl_materials_cubemap_balls_reflection.html" target="_blank" class="demo-name" title="效果预览">反射效果</a></li>
</ul>
<p>Game-demo</p>
<ul class="main">
<li><a href="src/Game-demo/chinese_chess/index.html" target="_blank" class="demo-name" title="效果预览">Chinese chess</a></li>
<li><a href="src/Game-demo/caisse/index.html" target="_blank" class="demo-name" title="效果预览">重力感应积木</a></li>
</ul>
</div>
</body>
</html>
================================================
FILE: package.json
================================================
{
"name": "h5-test",
"version": "0.0.2",
"description": "This is a collection of HTML5 and CSS3 cool effects from internet.",
"main": "app.js",
"scripts": {
"test": "node app.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/gnipbao/h5-test.git"
},
"keywords": [
"html5",
"css3",
"demo",
"cool"
],
"author": "Gnip",
"license": "MIT",
"bugs": {
"url": "https://github.com/gnipbao/h5-test.git/issues"
},
"homepage": "https://gnipbao.github.io/h5-test/menu.html",
"devDependencies": {
"chalk": "^2.3.0",
"open": "^0.0.5",
"serve": "^6.4.9"
}
}
================================================
FILE: src/3D-demo/3DGoogle/css/bdsstyle.css
================================================
@CHARSET "UTF-8";#bdshare ul,#bdshare_s ul,#bdshare ul li,#bdshare_s ul li,#bdshare_l_c ul li,#bdshare_m_c ul li,#bdshare_pop ul,#bdshare_pop ul li{list-style:none;margin:0;padding:0}#bdshare{_overflow-x:hidden;z-index:999999;padding-bottom:2px;font-size:12px;float:left;text-align:left!important;zoom:1}#bdshare a,#bdshare_s a,#bdshare_pop a{text-decoration:none;cursor:pointer}#bdshare a:hover,#bdshare_s a:hover,#bdshare_pop a:hover{color:#333;opacity:.8;filter:alpha(opacity=80)}#bdshare img{border:0;margin:0;padding:0;cursor:pointer}#bdshare h6,#bdshare_s h6{width:100%;font:14px/22px '宋体';text-indent:.5em;font-weight:700;border-top:1px solid #fbfbfb;border-bottom:1px solid #f2f1f1;background-color:#f6f6f6;float:left;padding:5px 0;margin:0}#bdshare ul,#bdshare_s ul{width:98%;float:left;padding:8px 0;margin-left:2px;overflow:hidden}#bdshare ul li,#bdshare_s ul li{width:47%;_width:41%;float:left;margin:4px 2px}#bdshare ul li a,#bdshare_s ul li a{color:#565656;font:12px '宋体';display:block;width:98%;padding:6px 0;text-indent:2.4em;*text-indent:1.8em;_text-indent:1.8em;border:1px solid #fff}#bdshare ul li a:hover,#bdshare_s ul li a:hover{background-color:#f3f3f3;border:1px solid #eee;-webkit-border-radius:3px;-moz-border-radius:3px}#bdshare p,#bdshare_s p{width:100%;height:21px;font:12px '宋体';border-top:1px solid #f2f1f1;background-color:#f8f8f8;float:left;padding:0;margin:0}#bdshare p a,#bdshare_s p a{width:auto;text-align:right;float:right;padding:0 5px}#bdshare_l{width:212px;position:absolute;top:0;background:#fff;text-align:left}#bdshare_l_c{width:210px;float:left;border:1px solid #e9e9e9;text-align:left}#bdshare_l_c ul li{width:47%;height:26px;float:left;margin:2px}#bdshare_l_c ul li a{background:url(../images/is.png?cdnversion=20131219) no-repeat;height:auto!important}#bdshare_m{width:132px;float:right;position:absolute;zoom:1;background:#fff}#bdshare_m_c{width:130px;float:left;border:1px solid #e9e9e9;overflow:hidden;background:#fff}#bdshare_m_c ul li{width:97%;_width:90%;float:left;margin:2px}#bdshare_m_c ul li a{background:url(../images/is.png?cdnversion=20131219) no-repeat;height:auto!important}#bdshare_l,#bdshare_m{-webkit-box-shadow:0 0 7px #eee;-moz-box-shadow:0 0 7px #eee;z-index:99999}#bdshare_pop{width:300px;border:6px solid #8f8f8f;padding:0;background:#f6f6f6;position:absolute;z-index:1000000;text-align:left}#bdshare_pop{-webkit-border-radius:5px;-moz-border-radius:5px}#bdshare_pop{-webkit-box-shadow:0 0 7px #aaa;-moz-box-shadow:0 0 7px #aaa}#bdshare_pop div{border:1px solid #e9e9e9;float:left;overflow:hidden;text-align:left}#bdshare_pop h5{width:100%;height:28px;color:#626262;font:14px/28px '宋体';font-weight:700;text-indent:.5em;float:left;margin:0;overflow:hidden}#bdshare_pop h5 b{width:22px;height:23px;background:url(../images/pop_c.gif?cdnversion=20120720) no-repeat 0 0;cursor:pointer;position:absolute;right:8px;top:4px}#bdshare_pop ul{width:100%;height:256px;background:#fff;float:left;padding:8px 0;margin:0;border-top:1px solid #f2f1f1;border-bottom:1px solid #f2f1f1;overflow:auto;overflow-x:hidden}#bdshare_pop ul li{width:130px;float:left;padding:2px;margin-left:6px;_margin-left:3px;height:29px;overflow:hidden}#bdshare_pop ul li a{background:url(../images/is.png?cdnversion=20131219) no-repeat;color:#565656;font:12px '宋体';display:block;width:75%;padding:6px 0 6px 28px;border:1px solid #fff}#bdshare_pop ul li a:hover{background-color:#f3f3f3;border:1px solid #eee;-webkit-border-radius:3px;-moz-border-radius:3px}#bdshare_pop p{width:100%;font:12px '宋体';float:left;padding:5px 0 8px;margin:0;overflow:hidden}#bdshare_pop p a{width:auto;text-align:right;float:right;padding:0 5px}#bdshare_l_c p a.goWebsite,#bdshare_m_c p a.goWebsite,#bdshare_pop p a.goWebsite{text-align:right;background:url(../images/pi.gif?cdnversion=20120720) no-repeat 0 center;line-height:16px;padding-left:12px;color:#8c8c8c}#bdshare_l_c p a.goWebsite:hover,#bdshare_m_c p a.goWebsite:hover,#bdshare_pop p a.goWebsite:hover{color:#00a9e0}span.bds_more{background:url(../images/is.png?cdnversion=20131219) no-repeat 0 5px!important}span.bds_more,.bds_tools a{display:block;font-family:'宋体',Arial;height:16px;float:left;cursor:pointer;padding-top:6px;padding-bottom:3px;padding-left:22px}.bds_tools a{background:url(../images/is.png?cdnversion=20131219) no-repeat}.bds_tools_32 a{background:url(../images/is_32.png?cdnversion=20131219) no-repeat;width:37px;height:37px;display:block;float:left;margin-right:3px;text-indent:-100em;cursor:pointer}.bds_tools_32 span.bds_more{background:url(../images/is_32.png?cdnversion=20131219) no-repeat 0 5px!important;width:37px;height:32px;text-indent:-100em;padding-left:0}.bds_tools_24 a{background:url(../images/is_24.png?cdnversion=20131219) no-repeat;width:29px;height:29px;display:block;float:left;margin-right:3px text-indent:-100em;padding-left:0;cursor:pointer}.bds_tools_24 span.bds_more{background:url(../images/is_24.png?cdnversion=20131219) no-repeat 0 5px!important;width:29px;height:24px;text-indent:-100em;padding-left:0}.bds_more{background-image:url(../images/is.png?cdnversion=20131219)!important;background-position:0 4px!important}span.bds_nopic,.bds_tools_32 span.bds_nopic,.bds_tools_24 span.bds_nopic{background-image:none!important;padding-left:3px!important}.bdshare_b img{float:left}.bdshare_b a.shareCount,.bds_tools a.shareCount,.bds_tools_32 a.shareCount,.bds_tools_24 a.shareCount{float:left;background:url(../images/sc.png?cdnversion=20120720) no-repeat!important;margin:0;padding:0;text-align:center;padding-left:5px;color:#454545;font-family:'宋体'!important}.bdshare_b a.shareCount,.bds_tools_24 a.shareCount{width:39px;height:24px;background-position:0 0;font-size:12px;line-height:24px;margin-left:3px}.bdshare_b a.shareCount:hover,.bds_tools_24 a.shareCount:hover{color:#454545!important;background-position:-44px 0!important;opacity:1!important;filter:alpha(opacity=100)!important}.bds_tools a.shareCount{width:37px;height:16px;background-position:0 -30px!important;margin-top:5px;overflow:hidden;font-size:12px;line-height:16px}.bds_tools a.shareCount:hover{color:#454545!important;background-position:-42px -30px!important;opacity:1!important;filter:alpha(opacity=100)!important}.bds_tools_32 a.shareCount{width:43px;height:32px;background-position:0 -60px!important;margin-top:5px;overflow:hidden;font-size:14px;line-height:32px;text-indent:0!important}.bds_tools_32 a.shareCount:hover{color:#454545!important;background-position:-48px -60px!important;background-position:-48px -60px;opacity:1!important;filter:alpha(opacity=100)!important}.bds_tools_24 a.shareCount{margin-top:5px}.bds_qzone{background-position:0 -75px!important}.bds_tsina{background-position:0 -115px!important}.bds_bdhome{background-position:0 -155px!important}.bds_renren{background-position:0 -195px!important}.bds_tqq{background-position:0 -235px!important}.bds_kaixin001{background-position:0 -275px!important}.bds_tqf{background-position:0 -315px!important}.bds_hi{background-position:0 -355px!important}.bds_douban{background-position:0 -395px!important}.bds_tsohu{background-position:0 -435px!important}.bds_msn{background-position:0 -475px!important}.bds_qq{background-position:0 -515px!important}.bds_taobao{background-position:0 -555px!important}.bds_tieba{background-position:0 -595px!important}.bds_sohu{background-position:0 -675px!important}.bds_t163{background-position:0 -715px!important}.bds_qy{background-position:0 -755px!important}.bds_tfh{background-position:0 -795px!important}.bds_hx{background-position:0 -835px!important}.bds_fx{background-position:0 -875px!important}.bds_ff{background-position:0 -915px!important}.bds_xg{background-position:0 -955px!important}.bds_ty{background-position:0 -995px!important}.bds_s51{background-position:0 -1035px!important}.bds_fbook{background-position:0 -1115px!important}.bds_twi{background-position:0 -1155px!important}.bds_ms{background-position:0 -1195px!important}.bds_deli{background-position:0 -1235px!important}.bds_s139{background-position:0 -1275px!important}.bds_iguba{background-position:0 -1315px!important}.bds_linkedin{background-position:0 -1354px!important}.bds_copy{background-position:0 -1393px!important}.bds_ifeng{background-position:0 -1431px!important}.bds_tuita{background-position:0 -1470px!important}.bds_meilishuo{background-position:0 -1549px!important}.bds_mogujie{background-position:0 -1589px!important}.bds_diandian{background-position:0 -1629px!important}.bds_huaban{background-position:0 -1669px!important}.bds_leho{background-position:0 -1709px!important}.bds_wealink{background-position:0 -1749px!important}.bds_duitang{background-position:0 -1789px!important}.bds_thx{background-position:0 -1829px!important}.bds_mail{background-position:0 -1870px!important}.bds_print{background-position:0 -1910px!important}.bds_baidu{background-position:0 -1950px!important}.bds_share189{background-position:0 -1990px!important}.bds_youdao{background-position:0 -2030px!important}.bds_mshare{background-position:0 -2070px!important}.bds_mop{background-position:0 -2110px!important}.bds_yaoshi{background-position:0 -2150px!important}.bds_bdxc{background-position:0 -2190px!important}.bds_sqq{background-position:0 -2230px!important}.bds_sdo{background-position:0 -2270px!important}.bds_qingbiji{background-position:0 -2310px!important}.bds_people{background-position:0 -2350px!important}.bds_kanshou{background-position:0 -2390px!important}.bds_xinhua{background-position:0 -2430px!important}.bds_yaolan{background-position:0 -2470px!important}.bds_isohu{background-position:0 -2510px!important}.bds_bdysc{background-position:0 -2550px!important}.bds_ibaidu{background-position:0 -2590px!important}#bdshare .bds_fl5,#bdshare .bds_buzz,#bdshare .bds_zx{display:none}
================================================
FILE: src/3D-demo/3DGoogle/css/giftbox.css
================================================
#gift-box {
position: relative;
left: 80px;
top: 130px;
width: 20px;
height: 20px;
overflow: visible;
}
#gift-box>img {
position: absolute;
left: 0;
top: 0;
}
#boxlid {
position: absolute;
left: 0;
top: 0;
margin: 0;
padding: 0;
width: 200px;
height: 200px;
overflow: hidden;
font-size: 13px;
}
#front-panel {
position: absolute;
left: 0;
top: 0;
margin: 0;
padding: 0;
width: 200px;
height: 80px;
overflow: hidden;
}
#resize-handle {
display: block;
width: 20px;
height: 20px;
position: absolute;
left: 0;
top: 0;
background: url(/src/3D-demo/3DGoogle/img/handle.gif) no-repeat top left;
-moz-user-select: none;
-webkit-user-select: none;
}
#boxlid .box-label {
color: #543;
padding: 9px 2px;
text-align: center;
}
#bottom-panel, #bottom-inner {
position: absolute;
left: 0;
top: 0;
width: 200px;
height: 200px;
overflow: hidden;
background: url(/src/3D-demo/3DGoogle/img/boxf2.png);
}
#bottom-panel textarea {
width: 90px;
height: 90px;
margin: 3px;
padding: 0;
font-size: 10px;
border: none;
background-color: transparent;
}
#bottom-inner {
text-align: center;
}
#bottom-inner iframe {
width: 200px;
height: 170px;
border: none;
background-color: #fff;
}
.box-label h2 {
margin: 30px 10px 10px 10px;
padding: 0;
font-size: 11px;
}
button {
margin: 1px;
cursor: pointer;
}
================================================
FILE: src/3D-demo/3DGoogle/index.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="css/giftbox.css" type="text/css" />
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/trans3d.js" type="text/javascript"></script>
<script src="js/test.js" type="text/javascript"></script>
<style type="text/css">
.warn {
position: absolute;
top: 0px;
color: #a00;
font-size: 12px;
background: #ff8;
padding: 3px;
-webkit-transform: translate(0px,-90px);
-moz-transform: translate(0px,-90px);
}
</style>
<title>Google Images Box - CSS 3D example</title>
</head>
<body onload="void(launch())">
<div style="width:380px;margin:0 auto">
<p class="warn">Your browser may not support CSS Transforms.</p>
<div id="gift-box"><img src="img/sh.png" alt="" /><img src="img/boxf4.png" alt="" /><img src="img/boxf4.png" alt="" /><img src="img/boxf4.png" alt="" /><img src="img/boxf4.png" alt="" /><div id="bottom-inner"><button id="close-button">Close</button><iframe src="about:blank" id="bottom-iframe"></iframe>
</div><img src="img/boxf2.png" alt="" /><div id="front-panel"><img src="img/boxf1.png" alt="" /><span title="resize" id="resize-handle" /></div><img src="img/boxf1_debug.png" alt="" /><img src="img/boxf1.png" alt="" /><img src="img/boxf1_debug.png" alt="" /><div id="boxlid" style="background: url(img/boxf3.png)">
<div class="box-label">
<h2><img src="img/google.png" alt="Google Search" /></h2>
<p>
<input type="text" size="19" id="search-text" /><br />
<button id="search-button">Search</button>
</p>
</div></div></div>
</div>
<div style="width:700px;margin:350px auto 20px auto;padding:0 0 0 380px;overflow:hidden">
</div>
</body>
</html>
================================================
FILE: src/3D-demo/3DGoogle/js/test.js
================================================
var theApp;
var RX_URL = /^ *https?:\/\/[^ ]+/ ;
var TILT_BASE = 2.0;
function launch()
{
theApp = new CubeApp();
$("html").mousemove(function(e){theApp.onMove(e);});
$("#close-button").click(function(e){theApp.onCloseClick(e);});
$("#search-text").keydown(function(e){theApp.onSearchKeydown(e);});
$("#search-button").click(function(e){theApp.onSearchClick(e);});
}
function CubeApp()
{
var _this = this;
this.resizing = false;
this.resize_handle = $("#resize-handle");
var scr = $("html");
this.resize_handle.mousedown(function(e){_this.onResizeHandleMouseDown(e);});
scr.mousemove(function(e){_this.onResizeHandleMouseMove(e);});
scr.mouseup( function(e){_this.onResizeHandleMouseUp(e);});
this.qtext = $("#search-text");
this.tilt_cur = this.tilt = TILT_BASE;
this.rot_cur = this.rot = 0;
this.lidAngle = 0;
this.lidAngleV = 0;
this.close_ok = false;
this.playing = false;
this.iframe = $('#bottom-iframe').hide();
this.rootTransMatrix = new M44();
this.rootTransNode = new TransformNode(this.rootTransMatrix);
this.rootTransMatrix.rotX(this.tilt);
this.lidTrans1 = (new M44()).translate(0, 100, 0);
this.lidTrans2 = new M44();
this.box = new CSSCube(200, 200, 80, this.rootTransNode);
var gbox = document.getElementById('gift-box');
var i;
for (i = 0;i < 4;i++) {
var f = this.box.getSide(i);
f.element = gbox.childNodes[7+i];
f.backElement = gbox.childNodes[1+i];
}
this.box.getTop().element = gbox.childNodes[11];
this.frontElement = gbox.childNodes[7];
var bt = this.box.getBottom();
bt.element = gbox.childNodes[5];
bt.preTrans.rotX(Math.PI);
this.box.getTop().backElement = gbox.childNodes[6];
this.floorFace = new CSSFace(bt.tNode, 256, 256);
this.floorFace.element = gbox.childNodes[0];
this.floorFace.N.z = 1;
this.updateTransform();
}
CubeApp.prototype = {
onResizeHandleMouseDown: function(e) {
this.resizing = true;
this.prevHandleY = e.screenY;
this.prevBoxH = this.box.height;
},
onResizeHandleMouseUp: function(e) {
this.resizing = false;
},
onResizeHandleMouseMove: function(e) {
if (this.resizing) {
var yy = this.rootTransMatrix._22;
if (yy < -0.01 || yy > 0.01) {
var dy = e.screenY - this.prevHandleY;
var h = this.prevBoxH - dy/yy;
if (h < 20) h = 20;
if (h > 200) h = 200;
this.box.changeHeight(h);
this.frontElement.firstChild.style.height = this.frontElement.style.height;
this.frontElement.firstChild.style.width = this.frontElement.style.width;
this.updateTransform();
}
else
this.resizing = false;
}
},
setLidRotate: function(a) {
this.lidTrans2.rotX(-a);
this.lidTrans2._42 = -100;
this.box.getTop().preTrans.mul(this.lidTrans1, this.lidTrans2);
},
onMove: function(e) {
if (e.pageX >= 0 && e.pageY) {
this.rot = e.pageX*0.006-0.9;
this.tilt = (TILT_BASE - e.pageY*0.004);
if (this.tilt < 0.5) this.tilt = 0.5;
if (!this.playing)
this.doAnimation();
}
},
onSearchKeydown: function(e) {
if (e.keyCode == 13) {
this.onSearchClick();
}
},
onSearchClick: function(e) {
this.lidAngle += 0.01;
this.lidAngleV = 0.17;
this.close_ok = false;
this.iframe.show();
this.iframe[0].setAttribute('src', "http://img.google.com/m/search?q="+this.qtext.val());
if (!this.playing)
this.doAnimation();
},
onCloseClick: function(e) {
e.stopPropagation();
this.close_ok = true;
if (this.lidAngle > 1.2) {
this.lidAngle -= 0.1;
this.lidAngleV = 0.01;
}
if (!this.playing)
this.doAnimation();
},
intpMotion: function() {
var dR = this.rot_cur - this.rot;
var dT = this.tilt_cur - this.tilt;
if (dR<0) dR = -dR;
if (dT<0) dT = -dT;
var not_finished = false;
if (dR < 0.002)
this.rot_cur = this.rot;
else {
not_finished = true;
this.rot_cur = this.rot_cur*0.8 + this.rot*0.2;
}
if (dT < 0.002)
this.tilt_cur = this.tilt;
else {
not_finished = true;
this.tilt_cur = this.tilt_cur*0.8 + this.tilt*0.2;
}
return not_finished;
},
doAnimation: function() {
this.playing = false;
if (this.lidAngle > 0) {
this.playing = true;
if (this.close_ok || this.lidAngleV > 0)
this.lidAngleV -= 0.01;
this.lidAngle += this.lidAngleV;
if (this.lidAngle < 0) {
this.lidAngle = 0;
this.iframe[0].setAttribute('src', "about:blank");
this.iframe.hide();
}
else if (this.lidAngle >= 1.3) {
this.lidAngle = 1.3;
this.playing = false;
}
}
else {
this.lidAngle = 0;
this.lidAngleV = 0;
}
this.setLidRotate(this.lidAngle);
if (!this.resizing && this.intpMotion())
this.playing = true;
this.updateTransform();
if (this.playing) {
var _this = this;
setTimeout(function(){_this.doAnimation()}, 10);
}
},
updateTransform: function() {
this.box.localTrans.rotY(this.rot_cur);
this.box.localTrans._42 = (80-this.box.height)/2;
this.rootTransMatrix.rotX(this.tilt_cur);
this.rootTransMatrix._42 = (80-this.box.height)/2;
this.floorFace.postTrans.translate(-28, -88 - this.box.localTrans._42, 0);
this.box.applyTransform();
this.floorFace.applyTransform();
}
}
================================================
FILE: src/3D-demo/3DGoogle/js/trans3d.js
================================================
/* MIT-LICENSE */
/*
Copyright (c) 2009 Satoshi Ueyama
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 Vec3(_x, _y, _z)
{
this.x = _x || 0;
this.y = _y || 0;
this.z = _z || 0;
}
Vec3.prototype = {
zero: function() {
this.x = this.y = this.z = 0;
},
sub: function(v) {
this.x -= v.x;
this.y -= v.y;
this.z -= v.z;
return this;
},
add: function(v) {
this.x += v.x;
this.y += v.y;
this.z += v.z;
return this;
},
copyFrom: function(v) {
this.x = v.x;
this.y = v.y;
this.z = v.z;
return this;
},
norm:function() {
return Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.z);
},
normalize: function() {
var nrm = Math.sqrt(this.x*this.x + this.y*this.y + this.z*this.z);
if (nrm != 0)
{
this.x /= nrm;
this.y /= nrm;
this.z /= nrm;
}
return this;
},
smul: function(k) {
this.x *= k;
this.y *= k;
this.z *= k;
return this;
},
dpWith: function(v) {
return this.x*v.x + this.y*v.y + this.z*v.z;
},
cp: function(v, w) {
this.x = (w.y * v.z) - (w.z * v.y);
this.y = (w.z * v.x) - (w.x * v.z);
this.z = (w.x * v.y) - (w.y * v.x);
return this;
},
toString: function() {
return this.x + ", " + this.y + "," + this.z;
}
}
function M44(cpy)
{
if (cpy)
this.copyFrom(cpy);
else {
this.ident();
}
}
M44.fixZero = function(a) {
var n = a.length;
for (var i = 0;i < n;i++)
a[i] = (a[i]<0.00001 && a[i]>-0.00001) ? 0 : a[i];
return a;
}
M44.prototype = {
ident: function() {
this._12 = this._13 = this._14 = 0;
this._21 = this._23 = this._24 = 0;
this._31 = this._32 = this._34 = 0;
this._41 = this._42 = this._43 = 0;
this._11 = this._22 = this._33 = this._44 = 1;
return this;
},
copyFrom: function(m) {
this._11 = m._11;
this._12 = m._12;
this._13 = m._13;
this._14 = m._14;
this._21 = m._21;
this._22 = m._22;
this._23 = m._23;
this._24 = m._24;
this._31 = m._31;
this._32 = m._32;
this._33 = m._33;
this._34 = m._34;
this._41 = m._41;
this._42 = m._42;
this._43 = m._43;
this._44 = m._44;
return this;
},
transVec3: function(out, x, y, z) {
out[0] = x * this._11 + y * this._21 + z * this._31 + this._41;
out[1] = x * this._12 + y * this._22 + z * this._32 + this._42;
out[2] = x * this._13 + y * this._23 + z * this._33 + this._43;
out[3] = x * this._14 + y * this._24 + z * this._34 + this._44;
},
transVec3Rot: function(out, x, y, z) {
out[0] = x * this._11 + y * this._21 + z * this._31;
out[1] = x * this._12 + y * this._22 + z * this._32;
out[2] = x * this._13 + y * this._23 + z * this._33;
},
perspectiveLH: function(vw, vh, z_near, z_far) {
this._11 = 2.0*z_near/vw;
this._12 = 0;
this._13 = 0;
this._14 = 0;
this._21 = 0;
this._22 = 2*z_near/vh;
this._23 = 0;
this._24 = 0;
this._31 = 0;
this._32 = 0;
this._33 = z_far/(z_far-z_near);
this._34 = 1;
this._41 = 0;
this._42 = 0;
this._43 = z_near*z_far/(z_near-z_far);
this._44 = 0;
return this;
},
lookAtLH: function(aUp, aFrom, aAt) {
var aX = new Vec3();
var aY = new Vec3();
var aZ = new Vec3(aAt.x, aAt.y, aAt.z);
aZ.sub(aFrom).normalize();
aX.cp(aUp, aZ).normalize();
aY.cp(aZ, aX);
this._11 = aX.x; this._12 = aY.x; this._13 = aZ.x; this._14 = 0;
this._21 = aX.y; this._22 = aY.y; this._23 = aZ.y; this._24 = 0;
this._31 = aX.z; this._32 = aY.z; this._33 = aZ.z; this._34 = 0;
this._41 = -aFrom.dpWith(aX);
this._42 = -aFrom.dpWith(aY);
this._43 = -aFrom.dpWith(aZ);
this._44 = 1;
return this;
},
mul: function(A, B) {
this._11 = A._11*B._11 + A._12*B._21 + A._13*B._31 + A._14*B._41;
this._12 = A._11*B._12 + A._12*B._22 + A._13*B._32 + A._14*B._42;
this._13 = A._11*B._13 + A._12*B._23 + A._13*B._33 + A._14*B._43;
this._14 = A._11*B._14 + A._12*B._24 + A._13*B._34 + A._14*B._44;
this._21 = A._21*B._11 + A._22*B._21 + A._23*B._31 + A._24*B._41;
this._22 = A._21*B._12 + A._22*B._22 + A._23*B._32 + A._24*B._42;
this._23 = A._21*B._13 + A._22*B._23 + A._23*B._33 + A._24*B._43;
this._24 = A._21*B._14 + A._22*B._24 + A._23*B._34 + A._24*B._44;
this._31 = A._31*B._11 + A._32*B._21 + A._33*B._31 + A._34*B._41;
this._32 = A._31*B._12 + A._32*B._22 + A._33*B._32 + A._34*B._42;
this._33 = A._31*B._13 + A._32*B._23 + A._33*B._33 + A._34*B._43;
this._34 = A._31*B._14 + A._32*B._24 + A._33*B._34 + A._34*B._44;
this._41 = A._41*B._11 + A._42*B._21 + A._43*B._31 + A._44*B._41;
this._42 = A._41*B._12 + A._42*B._22 + A._43*B._32 + A._44*B._42;
this._43 = A._41*B._13 + A._42*B._23 + A._43*B._33 + A._44*B._43;
this._44 = A._41*B._14 + A._42*B._24 + A._43*B._34 + A._44*B._44;
return this;
},
translate: function(x, y, z) {
this._11 = 1; this._12 = 0; this._13 = 0; this._14 = 0;
this._21 = 0; this._22 = 1; this._23 = 0; this._24 = 0;
this._31 = 0; this._32 = 0; this._33 = 1; this._34 = 0;
this._41 = x; this._42 = y; this._43 = z; this._44 = 1;
return this;
},
transpose33: function() {
var t;
t = this._12;
this._12 = this._21;
this._21 = t;
t = this._13;
this._13 = this._31;
this._31 = t;
t = this._23;
this._23 = this._32;
this._32 = t;
return this;
},
// OpenGL style rotation
glRotate: function(angle, x, y, z) {
var s = Math.sin( angle );
var c = Math.cos( angle );
var xx = x * x;
var yy = y * y;
var zz = z * z;
var xy = x * y;
var yz = y * z;
var zx = z * x;
var xs = x * s;
var ys = y * s;
var zs = z * s;
var one_c = 1.0 - c;
/*
this._11 = (one_c * xx) + c;
this._21 = (one_c * xy) - zs;
this._31 = (one_c * zx) + ys;
this._41 = 0;
this._12 = (one_c * xy) + zs;
this._22 = (one_c * yy) + c;
this._32 = (one_c * yz) - xs;
this._42 = 0;
this._13 = (one_c * zx) - ys;
this._23 = (one_c * yz) + xs;
this._33 = (one_c * zz) + c;
this._43 = 0;
this._14 = 0;
this._24 = 0;
this._34 = 0;
this._44 = 1;
*/
this._11 = (one_c * xx) + c;
this._12 = (one_c * xy) - zs;
this._13 = (one_c * zx) + ys;
this._14 = 0;
this._21 = (one_c * xy) + zs;
this._22 = (one_c * yy) + c;
this._23 = (one_c * yz) - xs;
this._24 = 0;
this._31 = (one_c * zx) - ys;
this._32 = (one_c * yz) + xs;
this._33 = (one_c * zz) + c;
this._34 = 0;
this._41 = 0;
this._42 = 0;
this._43 = 0;
this._44 = 1;
return this;
},
rotX: function(r) {
this._22 = Math.cos(r);
this._23 = Math.sin(r);
this._32 = -this._23;
this._33 = this._22;
this._12=this._13=this._14 = this._21=this._24 = this._31=this._34 = this._41=this._42=this._43 = 0;
this._11 = this._44 = 1;
return this;
},
rotY: function(r) {
this._11 = Math.cos(r);
this._13 = -Math.sin(r);
this._31 = -this._13;
this._33 = this._11;
this._12=this._14 = this._21=this._23=this._24 = this._32=this._34 = this._41=this._42=this._43 = 0;
this._22 = this._44 = 1;
return this;
},
rotZ: function(r) {
this._11 = Math.cos(r);
this._12 = Math.sin(r);
this._21 = -this._12;
this._22 = this._11;
this._13=this._14 = this._23=this._24 = this._31=this._32=this._34 = this._41=this._42=this._43 = 0;
this._33 = this._44 = 1;
return this;
}
}
// matrix 2x2
function M22()
{
this._11 = 1;
this._12 = 0;
this._21 = 0;
this._22 = 1;
}
M22.prototype.getInvert = function()
{
var out = new M22();
var det = this._11 * this._22 - this._12 * this._21;
if (det > -0.0001 && det < 0.0001)
return null;
out._11 = this._22 / det;
out._22 = this._11 / det;
out._12 = -this._12 / det;
out._21 = -this._21 / det;
return out;
}
var TransformNode = function(localTrans, parent) {
this.localTrans = localTrans;
this.transformParent = parent;
}
TransformNode.prototype.compositeTransform = function(out, desc_trans) {
if (desc_trans)
out.mul(desc_trans, this.localTrans);
else
out.copyFrom(this.localTrans);
if (this.transformParent) {
if (!this._tmpMat_) this._tmpMat_ = new M44();
this._tmpMat_.copyFrom(out);
this.transformParent.compositeTransform(out, this._tmpMat_);
}
}
var CSSCube = function(xLen, zLen, height, tParent) {
this.localTrans = new M44();
this.tNode = new TransformNode(this.localTrans, tParent);
this.height = height;
this.xLen = xLen;
this.zLen = zLen;
this.faces = [
new CSSFace(this.tNode, xLen, zLen),
new CSSFace(this.tNode, xLen, zLen),
new CSSFace(this.tNode, xLen, height),
new CSSFace(this.tNode, zLen, height),
new CSSFace(this.tNode, xLen, height),
new CSSFace(this.tNode, zLen, height)
];
this.setBaseTransforms();
}
CSSCube.prototype = {
setBaseTransforms: function() {
var PI = Math.PI;
var HPI = PI*0.5;
var HX = this.xLen * 0.5;
var HZ = this.zLen * 0.5;
var HH = this.height * 0.5;
// 0: bottom
this.faces[0].baseTrans.rotX(-HPI);
this.faces[0].baseTrans._42 = -HH;
this.faces[0].postTrans._42 = -(HZ-HH);
this.faces[0].N.y = -1;
// 1: bottom
this.faces[1].baseTrans.rotX(HPI);
this.faces[1].baseTrans._42 = HH;
this.faces[1].postTrans._42 = -(HZ-HH);
this.faces[1].N.y = 1;
// 2: front (seen from screen)
this.faces[2].baseTrans._43 = -HZ;
this.faces[2].N.z = -1;
// 3: left
this.faces[3].baseTrans.rotY(HPI);
this.faces[3].baseTrans._41 = -HX;
this.faces[3].N.x = -1;
// 4: back
this.faces[4].baseTrans.rotY(PI);
this.faces[4].baseTrans._43 = HZ;
this.faces[4].N.z = 1;
// 5: right
this.faces[5].baseTrans.rotY(-HPI);
this.faces[5].baseTrans._41 = HX;
this.faces[5].N.x = 1;
},
changeHeight: function(h) {
this.height = h;
this.setBaseTransforms();
this.faces[2].setStyleHeight(h);
this.faces[3].setStyleHeight(h);
this.faces[4].setStyleHeight(h);
this.faces[5].setStyleHeight(h);
},
getSide: function(i) {
return this.faces[i+2];
},
getBottom: function() {
return this.faces[1];
},
getTop: function() {
return this.faces[0];
},
applyTransform: function() {
for (var i = 0;i < 6;i++) {
this.faces[i].applyTransform();
}
}
}
var CSSFace = function(tParent, w, h) {
this.N = new Vec3(0,0,0);
this.postTrans = new M44();
this.preTrans = new M44();
this.baseTrans = new M44();
this.upperTrans = new M44();
this.allTrans = new M44();
this.allPostTrans = new M44();
this.tNode = new TransformNode(this.baseTrans, tParent);
this.element = null;
this.width = w;
this.sN = [0,0,0];
}
CSSFace._tmpM1_ = new M44();
CSSFace.IsWebKit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
CSSFace.prototype = {
setStyleHeight: function(h) {
if (this.element)
this.element.style.height = h+"px";
if (this.backElement)
this.backElement.style.height = h+"px";
this.setStyleWidth(this.width);
},
setStyleWidth: function(w) {
if (this.element)
this.element.style.width = w+"px";
if (this.backElement)
this.backElement.style.width = w+"px";
},
applyTransform: function() {
if (this.element || this.backElement)
{
this.upperTrans.ident();
if (this.tNode.transformParent) {
this.tNode.transformParent.compositeTransform(this.upperTrans, null);
}
this.allTrans.mul(this.baseTrans, this.upperTrans);
var M = this.allPostTrans;
CSSFace._tmpM1_.mul(this.allTrans, this.postTrans);
M.mul(this.preTrans, CSSFace._tmpM1_);
this.preTrans.transVec3Rot(this.sN, this.N.x, this.N.y, this.N.z);
this.upperTrans.transVec3Rot(this.sN, this.sN[0], this.sN[1], this.sN[2]);
var face_visible = this.sN[2]<0;
var bs = null, s = null;
if (this.element) {
s = this.element.style;
s.display = face_visible ? "" : "none";
}
if (this.backElement) {
bs = this.backElement.style;
bs.display = !face_visible ? "" : "none";
}
var ts = face_visible ? s : bs;
if (ts) {
if (CSSFace.IsWebKit) {
ts.webkitTransform = "matrix("+ ( M44.fixZero([M._11,M._12,M._21,M._22,M._41,M._42]).join(',') )+")";
} else {
ts.MozTransform = "translate("+(M._41>>0)+"px,"+(M._42>>0)+"px) matrix("+ ( M44.fixZero([M._11,M._12,M._21,M._22]).join(',') )+",0,0)";
}
}
}
}
}
================================================
FILE: src/3D-demo/3DTunnel/3Dtunnel.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tunnel vision 3D CSS</title>
<style>
@keyframes roundandround {
to {
transform: rotateX(360deg);
}
}
body {
background-color: #000000;
}
.scene {
width: 600px;
height: 600px;
margin: 0 auto;
perspective: 500px;
}
.wrapper {
width: 100%;
height: 100%;
transform-style: preserve-3d;
transform: rotateY(0deg) translateZ(300px);
}
.tunnel {
position: relative;
width: 200px;
height: 200px;
margin: 0 auto;
transform-style: preserve-3d;
animation: roundandround 10s infinite linear;
}
.tunnel .ring {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 6px;
border-style: dashed;
border-radius: 50%;
transform-origin: 50% 50%;
color: #8df435;
transform: translateY(-200px);
}
/* SASS optimisation thanks to @imjared */
.ring:nth-child(1) {
color: #ff1500;
transform: rotateX(5deg) translateY(-200px);
}
.ring:nth-child(2) {
color: #ff2b00;
transform: rotateX(10deg) translateY(-200px);
}
.ring:nth-child(3) {
color: #ff4000;
transform: rotateX(15deg) translateY(-200px);
}
.ring:nth-child(4) {
color: #ff5500;
transform: rotateX(20deg) translateY(-200px);
}
.ring:nth-child(5) {
color: #ff6a00;
transform: rotateX(25deg) translateY(-200px);
}
.ring:nth-child(6) {
color: #ff8000;
transform: rotateX(30deg) translateY(-200px);
}
.ring:nth-child(7) {
color: #ff9500;
transform: rotateX(35deg) translateY(-200px);
}
.ring:nth-child(8) {
color: #ffaa00;
transform: rotateX(40deg) translateY(-200px);
}
.ring:nth-child(9) {
color: #ffbf00;
transform: rotateX(45deg) translateY(-200px);
}
.ring:nth-child(10) {
color: #ffd500;
transform: rotateX(50deg) translateY(-200px);
}
.ring:nth-child(11) {
color: #ffea00;
transform: rotateX(55deg) translateY(-200px);
}
.ring:nth-child(12) {
color: yellow;
transform: rotateX(60deg) translateY(-200px);
}
.ring:nth-child(13) {
color: #eaff00;
transform: rotateX(65deg) translateY(-200px);
}
.ring:nth-child(14) {
color: #d5ff00;
transform: rotateX(70deg) translateY(-200px);
}
.ring:nth-child(15) {
color: #bfff00;
transform: rotateX(75deg) translateY(-200px);
}
.ring:nth-child(16) {
color: #aaff00;
transform: rotateX(80deg) translateY(-200px);
}
.ring:nth-child(17) {
color: #95ff00;
transform: rotateX(85deg) translateY(-200px);
}
.ring:nth-child(18) {
color: #80ff00;
transform: rotateX(90deg) translateY(-200px);
}
.ring:nth-child(19) {
color: #6aff00;
transform: rotateX(95deg) translateY(-200px);
}
.ring:nth-child(20) {
color: #55ff00;
transform: rotateX(100deg) translateY(-200px);
}
.ring:nth-child(21) {
color: #40ff00;
transform: rotateX(105deg) translateY(-200px);
}
.ring:nth-child(22) {
color: #2bff00;
transform: rotateX(110deg) translateY(-200px);
}
.ring:nth-child(23) {
color: #15ff00;
transform: rotateX(115deg) translateY(-200px);
}
.ring:nth-child(24) {
color: lime;
transform: rotateX(120deg) translateY(-200px);
}
.ring:nth-child(25) {
color: #00ff15;
transform: rotateX(125deg) translateY(-200px);
}
.ring:nth-child(26) {
color: #00ff2b;
transform: rotateX(130deg) translateY(-200px);
}
.ring:nth-child(27) {
color: #00ff40;
transform: rotateX(135deg) translateY(-200px);
}
.ring:nth-child(28) {
color: #00ff55;
transform: rotateX(140deg) translateY(-200px);
}
.ring:nth-child(29) {
color: #00ff6a;
transform: rotateX(145deg) translateY(-200px);
}
.ring:nth-child(30) {
color: #00ff80;
transform: rotateX(150deg) translateY(-200px);
}
.ring:nth-child(31) {
color: #00ff95;
transform: rotateX(155deg) translateY(-200px);
}
.ring:nth-child(32) {
color: #00ffaa;
transform: rotateX(160deg) translateY(-200px);
}
.ring:nth-child(33) {
color: #00ffbf;
transform: rotateX(165deg) translateY(-200px);
}
.ring:nth-child(34) {
color: #00ffd5;
transform: rotateX(170deg) translateY(-200px);
}
.ring:nth-child(35) {
color: #00ffea;
transform: rotateX(175deg) translateY(-200px);
}
.ring:nth-child(36) {
color: cyan;
transform: rotateX(180deg) translateY(-200px);
}
.ring:nth-child(37) {
color: #00eaff;
transform: rotateX(185deg) translateY(-200px);
}
.ring:nth-child(38) {
color: #00d5ff;
transform: rotateX(190deg) translateY(-200px);
}
.ring:nth-child(39) {
color: deepskyblue;
transform: rotateX(195deg) translateY(-200px);
}
.ring:nth-child(40) {
color: #00aaff;
transform: rotateX(200deg) translateY(-200px);
}
.ring:nth-child(41) {
color: #0095ff;
transform: rotateX(205deg) translateY(-200px);
}
.ring:nth-child(42) {
color: #0080ff;
transform: rotateX(210deg) translateY(-200px);
}
.ring:nth-child(43) {
color: #006aff;
transform: rotateX(215deg) translateY(-200px);
}
.ring:nth-child(44) {
color: #0055ff;
transform: rotateX(220deg) translateY(-200px);
}
.ring:nth-child(45) {
color: #0040ff;
transform: rotateX(225deg) translateY(-200px);
}
.ring:nth-child(46) {
color: #002bff;
transform: rotateX(230deg) translateY(-200px);
}
.ring:nth-child(47) {
color: #0015ff;
transform: rotateX(235deg) translateY(-200px);
}
.ring:nth-child(48) {
color: blue;
transform: rotateX(240deg) translateY(-200px);
}
.ring:nth-child(49) {
color: #1500ff;
transform: rotateX(245deg) translateY(-200px);
}
.ring:nth-child(50) {
color: #2b00ff;
transform: rotateX(250deg) translateY(-200px);
}
.ring:nth-child(51) {
color: #4000ff;
transform: rotateX(255deg) translateY(-200px);
}
.ring:nth-child(52) {
color: #5500ff;
transform: rotateX(260deg) translateY(-200px);
}
.ring:nth-child(53) {
color: #6a00ff;
transform: rotateX(265deg) translateY(-200px);
}
.ring:nth-child(54) {
color: #8000ff;
transform: rotateX(270deg) translateY(-200px);
}
.ring:nth-child(55) {
color: #9500ff;
transform: rotateX(275deg) translateY(-200px);
}
.ring:nth-child(56) {
color: #aa00ff;
transform: rotateX(280deg) translateY(-200px);
}
.ring:nth-child(57) {
color: #bf00ff;
transform: rotateX(285deg) translateY(-200px);
}
.ring:nth-child(58) {
color: #d500ff;
transform: rotateX(290deg) translateY(-200px);
}
.ring:nth-child(59) {
color: #ea00ff;
transform: rotateX(295deg) translateY(-200px);
}
.ring:nth-child(60) {
color: magenta;
transform: rotateX(300deg) translateY(-200px);
}
.ring:nth-child(61) {
color: #ff00ea;
transform: rotateX(305deg) translateY(-200px);
}
.ring:nth-child(62) {
color: #ff00d5;
transform: rotateX(310deg) translateY(-200px);
}
.ring:nth-child(63) {
color: #ff00bf;
transform: rotateX(315deg) translateY(-200px);
}
.ring:nth-child(64) {
color: #ff00aa;
transform: rotateX(320deg) translateY(-200px);
}
.ring:nth-child(65) {
color: #ff0095;
transform: rotateX(325deg) translateY(-200px);
}
.ring:nth-child(66) {
color: #ff0080;
transform: rotateX(330deg) translateY(-200px);
}
.ring:nth-child(67) {
color: #ff006a;
transform: rotateX(335deg) translateY(-200px);
}
.ring:nth-child(68) {
color: #ff0055;
transform: rotateX(340deg) translateY(-200px);
}
.ring:nth-child(69) {
color: #ff0040;
transform: rotateX(345deg) translateY(-200px);
}
.ring:nth-child(70) {
color: #ff002b;
transform: rotateX(350deg) translateY(-200px);
}
.ring:nth-child(71) {
color: #ff0015;
transform: rotateX(355deg) translateY(-200px);
}
.ring:nth-child(72) {
color: red;
transform: rotateX(360deg) translateY(-200px);
}
</style>
</head>
<body>
<div class="scene">
<div class="wrapper">
<ul class="tunnel">
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
<li class="ring"></li>
</ul>
</div>
</div>
</body>
</html>
================================================
FILE: src/3D-demo/3Dbook/creativeguidebook.html
================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>一本书里的大千世界</title>
<base href='http://www.webhek.com/misc-res/creativeguidebook/'>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="description" content="如果当你翻开一本书的时候,里面飞出来一只蝙蝠,或是一条会喷火的龙,你会有什么感觉?惊奇!赞叹!目瞪口呆!我想到了电影《哈利波特》里的那份会动的报纸。这里将会给你带来一种类似的奇观——一本书里的大千世界。随着浏览器技术的不断革新,越来越多的可能成为了现实。这里就是现代网页技术的典型代表。">
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<script type="text/javascript" src="js/jquery-1.7.2.min.js" charset="UTF-8"></script>
<script type="text/javascript" src="js/categorizr.js" charset="UTF-8"></script>
<script type="text/javascript" src="js/modernizr.custom.31293.js" charset="UTF-8"></script>
<script type="text/javascript" src="js/ui.js" charset="UTF-8"></script>
<script type="text/javascript" src="js/fbk.min.js" charset="UTF-8"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
</script>
</head>
<body >
<div id="content">
<a class="bshareDiv" href="http://www.bshare.cn/share">分享按钮</a>
<div id="playbook-environment"></div>
<div id="page0R" class="page" style="background-image:url('images/cover_front.jpg');"></div>
<div id="page1L" class="page border_on"><span class="left" style="background-image:url('images/page_village_left.jpg');"/></div>
<div id="page1R" class="page border_on"><span class="right" style="background-image:url('images/page_village_right.jpg');"/></div>
<div id="page2L" class="page border_on"><span class="left" style="background-image:url('images/page_youtube_left.jpg');"/></div>
<div id="page2R" class="page border_on"><span class="right" style="background-image:url('images/page_youtube_right.jpg');"/></div>
<div id="page3L" class="page border_on"><span class="left" style="background-image:url('images/page_mobile_left.jpg');"/></div>
<div id="page3R" class="page border_on"><span class="right" style="background-image:url('images/page_mobile_right.jpg');"/></div>
<div id="page4L" class="page border_on"><span class="left" style="background-image:url('images/page_map_left.jpg');"/></div>
<div id="page4R" class="page border_on"><span class="right" style="background-image:url('images/page_map_right.jpg');"/> </div>
<div id="page5L" class="page border_on"><span class="left" style="background-image:url('images/page_search_left.jpg');"/></div>
<div id="page5R" class="page border_on"><span class="right" style="background-image:url('images/page_search_right.jpg');"/></div>
<div id="page6L" class="page border_on"><span class="left" style="background-image:url('images/page_social_left.jpg');"/></div>
<div id="page6R" class="page border_on"><span class="right" style="background-image:url('images/page_social_right.jpg');"/></div>
<div id="page7L" class="page" style="background-image:url('images/cover_back.jpg');"><p>发现更多浏览器前端技术
</br></br>
<a target="_blank" href="http://shang.qq.com/wpa/qunwpa?idkey=6071b891d167a94217254d0d36cec8a338df210ca5831dd09950740807f5da97"><img border="0" src="http://pub.idqqimg.com/wpa/images/group.png" alt="前端联盟" title="前端联盟" style="width: 250px;height: 30px;"></a></p></div>
</div>
<div class="nav-arrow-left nav-arrow"></div>
<div class="nav-arrow-right nav-arrow"></div>
<div id="casestudy-widget-container">
<div id="casestudy-widget-cell">
<div id="casestudy-widget">
<div id="casestudy-widget-wrapper">
<h5></h5>
<a href="#" id="casestudy-widget-close"></a>
<div id="casestudy-widget-tabs">
<div id="casestudy-widget-nav">
<ul>
<li id="nav-left" class=""><a href="#">Case Study</a></li>
<li id="nav-right" class="casestudy-nav-inactive"><a href="#">More Information</a></li>
</ul>
</div>
<div id="casestudy-widget-content">
<div id="content-media">
<img src="">
<object id="ytplayerobject">
<param id="ytmovie" name="movie" value="">
<param name="allowScriptAccess" value="always">
<embed id="ytplayer" src="" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="430" height="262">
</object>
</div>
<div id="content-copy">
<h4></h4>
<p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="controls"></div>
<!-- Fallback markup -->
<footer id="fallback">
<div id="fallback-container">
<div class="fallback-top">
<div class="fallback-header"></div>
<p></p>
</div>
<div class="fallback-mid"></div>
<div class="fallback-bottom">
<div id="fallback-buttons">
<a class="link-pdf" href="./" target="_blank"><button type="button" class="download-content">继续进入</button></a>
<a href="http://www.webhek.com/" target="_top"><button type="button">返回首页</button></a>
</div>
</div>
</div>
</footer>
<script type="text/javascript">
flipbook.init();
</script>
<!-- End Fallback markup -->
<script type="text/javascript" charset="utf-8" src="http://static.bshare.cn/b/buttonLite.js#uuid=cac4d2da-c020-435c-9749-fc0f9e51768c&style=5&fs=2&bgcolor=#F89C2F"></script>
<a style='display:none' href='http://www.webhek.com'>webhek</a> <script src='/misc-res/js/ga.js'></script><script>var shares_wb = 75;</script><script src='http://www.webhek.com/wordpress/wp-content/themes/webhek2/js/wb.js'></script>
</body>
</html>
================================================
FILE: src/3D-demo/3Dbook/css/style.css
================================================
@font-face {
font-family: 'open_sans_lightregular';
src: url('opensans-light-webfont.eot');
src: url('opensans-light-webfont.eot?#iefix') format('embedded-opentype'),
url('opensans-light-webfont.woff') format('woff'),
url('opensans-light-webfont.ttf') format('truetype'),
url('opensans-light-webfont.svg#open_sans_lightregular') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'open_sansregular';
src: url('opensans-regular-webfont.eot');
src: url('opensans-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('opensans-regular-webfont.woff') format('woff'),
url('opensans-regular-webfont.ttf') format('truetype'),
url('opensans-regular-webfont.svg#open_sansregular') format('svg');
font-weight: normal;
font-style: normal;
}
html,body {
/*background:url('../img/playbook_environment.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;*/
height: 100%;
margin:0px;
padding:0px;
zoom: 1 !important;
}
body {
background-color: #cdedf8;
overflow: hidden;
font-family: "open_sansregular",sans-serif;
font-size: 14px;
margin:0px;
padding:0px;
}
p {
font-family: "open_sansregular",sans-serif;
font-size: 14px;
text-shadow: 0 1px 1px white;
}
h5, h4, a {
font-family: "open_sans_lightregular",sans-serif;
font-size: 14px;
text-shadow: 0 1px 1px white;
}
#fwa-tcea {
background:url('../images/fwa_tcea_potw_TopLeft.png') no-repeat;
width: 100px;
height: 100px;
position: fixed;
top: 0;
left: 0;
z-index: 99999;
}
#playbook-environment {
display: none;
opacity: 0;
background:url('../images/playbook_environment.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
height: 100%;
width: 100%;
margin:0px;
padding:0px;
}
#content {
display:block;
position:absolute;
left:0px;
top:0px;
overflow:hidden;
margin:0px;
padding:0px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.page {
display:none;
position:absolute;
width:600px;
height:600px;
left:0px;
top:0px;
-webkit-transform-origin: top left;
-webkit-transform-style: preserve-3d;
-moz-transform-origin: top left;
-moz-transform-style: preserve-3d;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.page p{
font-size: 30px;
color: #757575;
width: 600px;
margin-top: 280px;
text-align: center;
-webkit-touch-callout: default;
-webkit-user-select: default;
-khtml-user-select: default;
-moz-user-select: default;
-ms-user-select: default;
user-select: default;
}
.page p a{
color: #4692f9;
font-size: 30px;
z-index: 9000;
-webkit-touch-callout: default;
-webkit-user-select: default;
-khtml-user-select: default;
-moz-user-select: default;
-ms-user-select: default;
user-select: default;
}
.page .left {
display:block;
width:580px;
height:560px;
margin: 20px 0px 20px 20px;
background-position: right center;
background-repeat: no-repeat;
}
.page .right {
display:block;
width:580px;
height:560px;
margin: 20px 20px 20px 0px;
background-position: left center;
background-repeat: no-repeat;
}
.border_on {
background-color:#fff;
border-bottom: 7px solid #b5b6b6;
}
.border_off {
background-color: transparent;
}
.misc,
.pullout,
.tab {
display:none;
position:absolute;
left:0px;
top:0px;
-webkit-transform-origin: top left;
-webkit-transform-style: preserve-3d;
-moz-transform-origin: top left;
-moz-transform-style: preserve-3d;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
image-rendering: optimizeSpeed;
image-rendering: -moz-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: optimize-contrast;
-ms-interpolation-mode: nearest-neighbor;
}
.pullout {
background-position: left bottom;
cursor:pointer;
}
.pullout:hover {
-webkit-filter: brightness( +0.2 );
-moz-filter: brightness( +0.2 );
}
.label {
position:absolute;
display:block;
min-width:91px;
height:91px;
margin:0px;
padding:0px;
background:url('../images/misc_label.png') no-repeat center center;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/*transition-property: transform;
-webkit-transition-timing-function: cubic-bezier(.37,0,.12,1);
-webkit-transition-property: -webkit-transform;
transition-duration: .2s;
-webkit-animation: pulseCircle 1.5s infinite ease-in-out;*/
}
.label h3 {
margin-top: 90px;
color: #3e72e3;
text-shadow: 0 2px 2px white;
font-size: 20px;
font-family: 'open_sans_extraboldregular';
}
.clicktoopen{
position:absolute;
display:block;
width: 235px;
height: 60px;
margin:0px;
padding:0px;
background:url('../images/clicktoopen.png') no-repeat center center;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.clickmagglass{
position:absolute;
display:block;
width: 262px;
height: 60px;
margin:0px;
padding:0px;
margin-left: -262px;
background:url('../images/clickmagglass.png') no-repeat center center;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.keepturning {
position:absolute;
display:block;
width: 155px;
height: 106px;
margin:0px;
padding:0px;
background:url('../images/keepturning.png') no-repeat center center;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.dragtabs{
position:absolute;
display:block;
width: 315px;
height: 49px;
margin-left: -125px;
margin:0px;
padding:0px;
background:url('../images/dragtabs.png') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.nav-arrow{
position:absolute;
display:none;
opacity: 0;
width: 60px;
height: 60px;
z-index: 8000;
margin-top: -30px;
margin:0px;
padding:0px;
background:url('../images/nav-arrow.png') no-repeat center center;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.nav-arrow-left{
left: 10px;
top: 50%;
-webkit-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-ms-transform:rotate(180deg);
transform:rotate(180deg);
}
.nav-arrow-right{
right: 10px;
top: 50%;
}
.no-instructions .dragtabs {
display: none;
}
#controls{
display:none;
opacity: 0;
position:absolute;
bottom: 0px;
right: 20px;
width: 66px;
height: 95px;
margin:0px;
padding:0px;
background:url('../images/controls.png') no-repeat center center;
cursor:pointer;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#controls_mobile{
position:absolute;
bottom:0px;
left:0px;
width:100%;
height:50px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#controls_mobile_left,
#controls_mobile_right{
display:block;
width:44px;
height:44px;
margin-left:5px;
margin-right:5px;
}
#controls_mobile_left{
float:left;
background-image:url(../images/controls_mobile_left.png);
}
#controls_mobile_right{
float:right;
background-image:url(../images/controls_mobile_right.png);
}
#header {
position:absolute;
display:block;
top:0px;
left:0px;
font-family: "Arial",sans-serif;
font-size:12px;
padding:8px;
color:#000;
background-color:#fff;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
#footer {
position:absolute;
display:block;
bottom:0px;
left:0px;
width:100%;
height:47px;
overflow: hidden;
margin:0px;
padding:0px;
font-family: "Arial",sans-serif;
font-size:12px;
color:#fff;
background-color:#333;
z-index:9999;
}
#googleplay_logo {
display:block;
float:right;
margin:5px 20px 0px 0px;
padding:0px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
canvas {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.video_paperoverlay {
position:absolute;
top:0px;
background-image:url(../images/paperoverlay.png);
}
/*============================================================ Case Study widget ============================================================*/
a {
color: #116DCC;
text-decoration: none;
}
.lightbox {
position:absolute;
display:block;
left:0px;
top:0px;
width:100%;
height:100%;
overflow:hidden;
z-index: 9000;
background-color:rgba(255,255,255,0);
cursor:auto;
}
#casestudy-widget-container {
display: none;
min-height: 100%;
height: 100%;
position: relative;
width: 100%;
margin: 0 auto;
margin-left: -30px;
}
#casestudy-widget-cell {
display: table-cell;
vertical-align: middle;
margin: auto;
cursor:auto;
}
#casestudy-widget {
margin: auto;
display: none;
position: relative;
z-index: 9999;
width: 800px;
}
/*.casestudy-image {
width: 640px;
}
.casestudy-video {
width: 640px;
}*/
* {
outline: none;
outline-style: none;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
}
#casestudy-widget-nav {
width: 800px;
}
#casestudy-widget-nav ul {
list-style: none;
margin: 0;
height: 50px;
padding: 0;
}
#casestudy-widget-nav li {
/*float: left;*/
border-bottom-style:dashed;
border-color:rgb(220, 220, 220);
border-width:1px;
border-right-width: 1px;
padding: 0;
margin: 0;
width: 400px;
/*width: 405px;*/
text-align: center;
font-size: 24px;
font-family: 'open sans',arial,sans-serif;
font-weight: lighter;
}
#casestudy-widget-tabs {
background-color: rgba(255, 255, 255, 0.85);
min-height: 380px;
/*padding-bottom: 30px;*/
/*margin: 10px;*/
}
#nav-right {
/*position: absolute;*/
/*right: -60px;*/
float: right;
/*border-top-right-radius:10px;*/
}
#nav-left {
/*position: absolute;*/
float: left;
/*border-top-left-radius:10px;*/
}
#casestudy-widget-nav li a {
padding: 10px 15px;
text-decoration: none;
color: #444;
display: block;
/*font-family: 'open sans',arial,sans-serif;*/
font-size: 24px;
line-height: 1.3333em;
outline: none;
padding: 10px 15px 11px;
text-shadow: 0 1px 1px white;
}
.casestudy-nav-inactive {
background-color: rgba(211, 211, 211, 0.85);
-webkit-box-shadow: inset 2px -2px 2px 2px rgba(214, 211, 211, .9);
-moz-box-shadow: inset 2px -2px 2px 2px rgba(214, 211, 211, .9);
box-shadow: inset 2px -2px 2px 2px rgba(214, 211, 211, .9);
}
.casestudy-nav-inactive a {
color: #116DCC !important;
}
#casestudy-widget-wrapper {
background-color: rgba(255, 255, 255, 0.85);
width: 100%;
border-radius:10px;
border-radius:10px;
padding-left: 30px;
padding-right: 30px;
padding-top: 0;
padding-bottom: 20px;
display: block !important;
margin: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
/*min-height: 400px;*/
}
#casestudy-widget-content {
padding-top: 30px;
}
#content-copy {
/*float: left;*/
width: 310px;
/*width: 750px;*/
/*margin: 10px;*/
margin-right: 20px;
margin-left: 20px;
}
#content-copy h4 {
margin: 0;
padding: 0;
border: 0;
float: none;
color: #444;
font-size: 20px;
color: rgb(0, 152, 37);
font-weight: lighter;
margin-bottom: 5px;
}
#content-media {
/*float: right;*/
width: 350px;
}
#casestudy-widget h5 {
margin: 0;
padding: 0;
border: 0;
float: none;
color: #444;
font-size: 32px;
font-weight: lighter;
padding-top: 20px;
padding-bottom: 15px;
}
#casestudy-widget-wrapper p {
float: none;
margin: 0;
padding: 0;
border: 0;
padding-top: 5px;
padding-bottom: 15px;
color: #444;
font-size: 14px;
line-height: 24px;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
#casestudy-widget-wrapper img {
/*padding-top: 15px;*/
/*padding-bottom: 10px;*/
/*margin-left: 10px;*/
/*margin-right: 10px;*/
padding-left: 0;
padding-right: 0;
border: 0;
right: -10px;
position: absolute;
border-style:solid;
border-color:rgb(238, 238, 238);
border-width:1px;
/*width: 960px;
height: 450px;*/
/*width: 390px;*/
/*height: 170px;*/
/*float: right;*/
/*width: 730px;*/
/*height: 342px;*/
/*width: 730px;*/
/*margin-left: 10px;*/
/*height: 165px;*/
width: 430px;
}
/*#casestudy-widget-wrapper iframe {*/
#ytplayer {
/*padding-top: 15px;*/
border-style:solid;
border-color:rgb(238, 238, 238);
border-width:1px;
/*padding-bottom: 10px;*/
position: absolute;
margin-left: 10px;
right: -10px;
}
#casestudy-widget-close {
background:url('../images/close-button.png') no-repeat center center;
position: absolute;
right: -45px;
top: 10px;
width: 31px;
height: 31px;
}
/*============================================================ Info box widget ============================================================*/
.infoBox-widget {
width: 250px;
background-color: rgba(255, 255, 255, 0.85);
position: absolute;
right: 0px;
top: 40px;
z-index: 9000;
padding: 15px;
border-top-left-radius:3px;
border-bottom-left-radius:3px;
}
.infoBox-widget h5 {
margin: 0;
padding: 0;
border: 0;
float: none;
padding-bottom: 10px;
color: #4692f9;
font-size: 30px;
font-weight: lighter;
}
.infoBox-widget p {
float: none;
padding-top: 15px;
padding-bottom: 5px;
color: #555;
font-size: 14px;
line-height: 24px;
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/*============================================================ Pullout tab colours ============================================================*/
/*blue: 557bbb, yellow: f1ca38, green: 2e8f46, red: d94e48*/
/* Youtube */
#pullout_0{
background-color: #d94e48;
}
#pullout_1{
background-color: #d94e48;
}
#pullout_2{
background-color: #d94e48;
}
/* Mobile */
#pullout_3{
background-color: #d94e48;
}
#pullout_4{
background-color: #d94e48;
}
#pullout_5{
background-color: #d94e48;
}
/* Maps */
#pullout_6{
background-color: #d94e48;
}
/* Search */
#pullout_7{
background-color: #d94e48;
}
/* Social */
#pullout_8{
background-color: #d94e48;
}
#pullout_9{
background-color: #d94e48;
}
/*============================================================ No 3D transforms ============================================================*/
#fallback {
display: none;
text-align: center;
font-family: "open_sansregular", sans-serif;
}
#fallback-container {
background-color: #f8fcfe;
width: 80%;
height:60%;
min-width:321px;
position: relative;
margin: auto;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
}
#fallback-container button {
cursor: hand;
cursor: pointer;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
border-radius: 3px;
text-transform: uppercase;
line-height : 12px
font-size: 12px;
vertical-align: top;
width: 285px;
height: 65px;
color: #fef4e9;
border: solid 1px #148ad1;
background: #f78d1d;
background: -webkit-gradient(linear, left top, left bottom, from(#179ff0), to(#1180ec));
background: -moz-linear-gradient(top, #179ff0, #1180ec);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#179ff0', endColorstr='#1180ec');
}
button.download-content {
margin-right: 10%;
}
#fallback .youtube-player {
margin-top: 30px;
margin-bottom: 30px;
width: 60%;
height: 60%;
max-width: 480px;
max-height: 290px;
min-width: 310px;
min-height: 240px;
}
.fallback-mid {
background-color: #f8fcfe;
}
#fallback-buttons {
margin-top: 40px;
padding-bottom: 40px;
padding-left: 20px;
padding-right: 20px;
}
.fallback-top {
border-bottom: #dcdcdc dashed 1px;
background-color: #f8fcfe;
}
.fallback-header {
color: #404040;
padding-top: 40px;
padding: 40px 40px 0 40px;
font-family: "open_sans_lightregular", sans-serif;
font-size: 30px;
}
.fallback-top p {
color: #505050;
padding: 0 40px 0 40px;
}
.fallback-bottom {
border-top: #dcdcdc dashed 1px;
background-color: #f8fcfe;
}
.no-show-transforms #fallback {
display: block;
}
.no-show-transforms .no-show-image {
width: 100%;
height: 300px;
background: url(../images/cover_front_no3d.jpg) no-repeat center;
-webkit-background-size: contain;
-moz-background-size: contain;
-ms-background-size: contain;
background-size: contain;
-webkit-transform: none;
-moz-transform: none;
transform: none;
}
.no-show-transforms #controls {
display: none;
}
.no-show-transforms #content {
display: none;
}
.no-show-transforms footer {
position: absolute;
top: 10px;
/*margin-top: -200px;*/
left: 0;
width: 100%;
height: 100%;
}
.no-show-transforms .no-show-warning {
/*display: block;*/
/*height: 40px;*/
color: #555;
padding: 10px;
line-height: 38px;
text-align: center;
font-size: 18px;
-m-text-shadow: 0 1px 1px white;
text-shadow: 0 1px 1px white;
}
/*============================================================ Media queries ============================================================*/
@media only screen and (max-width :640px){
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom: 1.5;
-moz-transform: scale(1.5);
-moz-transform-origin: 0 0;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
@media screen and (max-device-width :640px){
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom:2;
-moz-transform: scale(2);
-moz-transform-origin: 0 0;
margin-top: 10px;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
@media screen and (device-width :800px){
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom:2;
-moz-transform: scale(2);
-moz-transform-origin: 0 0;
margin-top: 10px;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* Media query hacks, that are here for perticular Android devices*/
/* Samsung Galaxy S2 Android (34) */
@media screen and (-webkit-device-pixel-ratio: 1.5), screen and (resolution: 144dpi) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom:2;
margin-top: 10px;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* Samsung Galaxy S2 Chrome (19) */
@media all and (device-aspect-ratio: 3/5) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom:0.9;
margin-top: 10px;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* HTC Desire, HTC One V (30) */
@media screen and (-webkit-device-pixel-ratio: 1.5), screen and (resolution: 96dpi) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
html {
zoom:0.9;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* (31) */
@media all and (-webkit-device-pixel-ratio: 1.5) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
#fallback {
zoom:2;
margin-top: 10px;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* Samsung Galaxy S3, Samsung Galaxy Nexus (23), LG Nexus 4 E960, Asus Nexus 7 */
@media all and (device-aspect-ratio: 9/16) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
html {
zoom:0.9;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* (35) */
@media all and (-webkit-min-device-pixel-ratio: 2) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
html {
zoom:0.9;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* (29) */
@media screen and (-webkit-min-device-pixel-ratio: 1.3) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
html {
zoom:0.9;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
}
/* iPhone 4 (16) */
@media all and (device-aspect-ratio: 2/3) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
html {
zoom:0.7;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 10px;
}
#fallback {
margin-top: 0;
}
}
/* Samsung Galaxy Tab 10.1 & iPhone 3(26) */
@media all and (-webkit-device-pixel-ratio: 1) {
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
.no-show-transforms footer{
top:0;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 0px;
}
#fallback {
margin-top: 0;
}
}
/* (34) */
@media screen and (-webkit-device-pixel-ratio: 1.5), screen and (resolution: 144dpi){
#fallback button.download-content {
margin-right: 0;
margin-bottom: 10px;
}
.no-show-transforms footer{
top:0;
}
html {
zoom:0.9;
}
.fallback-header {
font-size: 21px;
}
.fallback-top p {
font-size: 12px;
}
#fallback-buttons {
margin-top: 0px;
}
#fallback {
margin-top: 0;
}
}
@media only screen and (min-device-width :641px) and (max-device-width :1900px) {
#fallback {
margin-top: 40px;
}
#fallback button.download-content {
margin-right: 10%;
}
#fallback-buttons {
margin-top: 40px;
}
}
@media only screen and (min-device-width :641px) and (max-device-width :768px) {
#fallback button.download-content {
margin-right: 10px;
margin-bottom: 10px;
}
#fallback-buttons {
margin-top: 40px;
}
}
@media only screen and (min-width :641px) and (max-width :900px) {
#fallback button.download-content {
margin-right: 10px;
margin-bottom: 10px;
}
#fallback-buttons {
margin-top: 40px;
}
}
/*============================================================ Animations ============================================================*/
@-webkit-keyframes pulseCircle{
1%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
50%{
-webkit-transform:scale(1.05,1.05);
-moz-transform:scale(1.05,1.05);
-ms-transform:scale(1.05,1.05);
-o-transform:scale(1.05,1.05);
transform:scale(1.05,1.05)
}
100%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
}
@-moz-keyframes pulseCircle{
1%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
50%{
-webkit-transform:scale(1.05,1.05);
-moz-transform:scale(1.05,1.05);
-ms-transform:scale(1.05,1.05);
-o-transform:scale(1.05,1.05);
transform:scale(1.05,1.05)
}
100%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
}
@-ms-keyframes pulseCircle{
1%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
50%{
-webkit-transform:scale(1.05,1.05);
-moz-transform:scale(1.05,1.05);
-ms-transform:scale(1.05,1.05);
-o-transform:scale(1.05,1.05);
transform:scale(1.05,1.05)
}
100%{
-webkit-transform:scale(1,1);
-moz-transform:scale(1,1);
-ms-transform:scale(1,1);
-o-transform:scale(1,1);
transform:scale(1,1)
}
}
================================================
FILE: src/3D-demo/3Dbook/js/buttonLite.js
================================================
var BSHARE_SHOST_NAME="http://static.bshare.cn",BSHARE_BUTTON_HOST="http://bshare.optimix.asia",BSHARE_WEB_HOST="http://www.bshare.cn";(function(e,g){if(!e.bShareUtil||!e.bShareControl){var l=g.documentElement,d=navigator;e.BUZZ={};e.bShareControl={count:0,viewed:!1,bShareLoad:!1,clicked:!1};var h=e.bShareUtil={requestedScripts:[],encode:encodeURIComponent,isIe6:/msie|MSIE 6/.test(d.userAgent),isIe7:/MSIE 7/.test(d.userAgent),isIe8:/MSIE 8/.test(d.userAgent),isIe9:/MSIE 9/.test(d.userAgent),isIe:/Microsoft Internet Explorer/.test(d.appName),isSt:g.compatMode=="CSS1Compat",isQk:function(){return h.isIe6||h.isIe&&!h.isSt},eleInViewport:function(a){if(a.getBoundingClientRect)return a=
a.getBoundingClientRect(),a.top>=0&&a.left>=0&&a.bottom<=(e.innerHeight||l.clientHeight)&&a.right<=(e.innerWidth||l.clientWidth);for(var b=a.offsetTop,c=a.offsetLeft,f=a.offsetWidth,k=a.offsetHeight;a.offsetParent;)a=a.offsetParent,b+=a.offsetTop,c+=a.offsetLeft;return b>=e.pageYOffset&&c>=e.pageXOffset&&b+k<=e.pageYOffset+e.innerHeight&&c+f<=e.pageXOffset+e.innerWidth},getElemById:function(a){return g.getElementById(a)},createElement:function(a,b,c,f,k){a=g.createElement(a);if(b)a.id=b;if(c)a.className=
c;if(f)a.style.cssText=f;if(k)a.innerHTML=k;return a},formatParam:function(a,b){return typeof a=="number"?+b:typeof a=="boolean"?/^true$/i.test(b):b},isUndefined:function(a){return typeof a=="undefined"},arrayContains:function(a,b,c){for(var f=a.length;f--;)if(!h.isUndefined(b)&&a[f]===b||!h.isUndefined(c)&&c.test(a[f]))return!0;return!1},loadScript:function(a,b){var c=h.requestedScripts;if(!h.arrayContains(c,a))/(bsMore|bshareS887)(Org)?\.js/.test(a)&&c.push(a),b=b||function(){},c=h.createElement("script"),
c.src=a,c.type="text/javascript",c.charset="utf-8",c.onload=b,c.onreadystatechange=function(){/complete|loaded/.test(this.readyState)&&b()},g.getElementsByTagName("head")[0].appendChild(c)},loadStyle:function(a){var b=h.createElement("style");b.type="text/css";b.styleSheet?b.styleSheet.cssText=a:b.appendChild(g.createTextNode(a));g.getElementsByTagName("head")[0].appendChild(b)},getOffset:function(a){for(var b={x:a.offsetLeft,y:a.offsetTop,h:a.offsetHeight,w:a.offsetWidth};a=a.offsetParent;b.x+=a.offsetLeft,
b.y+=a.offsetTop);return b},getElem:function(a,b,c,f){for(var a=a.getElementsByTagName(b),b=[],k=0,d=0,e=a.length;k<e;k++){var g=a[k];if(!c||g.className.indexOf(c)!=-1)b.push(g),typeof f=="function"&&f(g,d++)}return b},getText:function(a){return h.isIe?a.innerText:a.textContent},insertAfter:function(a,b){var c=b.parentNode;c.lastChild===b?c.appendChild(a):c.insertBefore(a,b.nextSibling)},getWH:function(){return{h:(h.isSt?l:g.body).clientHeight,w:(h.isSt?l:g.body).clientWidth}},stopProp:function(a){a=
a||e.event||{};a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},getScript:function(a){for(var b=g.getElementsByTagName("script"),c=[],f=0,k=b.length;f<k;f++){var d=b[f].src;d&&d.search(a)>=0&&/bshare.(cn|com|me)|static.(local|dev)/i.test(d)&&c.push(b[f])}return c},parseOptions:function(a,b){var c={};if(a=/\?(.*)|#(.*)/.exec(a))for(var a=a[0].slice(1).replace("+"," "),f=a.split(/[&;]/g),k=0,d=f.length;k<d;k++){var e=f[k].split("="),g=decodeURIComponent(e[0]),h=b?e[1]:null;if(!b)try{h=decodeURIComponent(e[1])}catch(l){}c[g]=
h}return c},submitForm:function(a,b,c,f){var f=f||"post",k=h.createElement("form");g.body.appendChild(k);k.method=f;k.target=c;k.setAttribute("accept-charset","utf-8");k.action=a;for(var d in b)if(typeof b[d]!="function")a=h.createElement("input"),a.type="hidden",a.name=d,a.value=b[d],k.appendChild(a);if(h.isIe)g.charset="utf-8";k.submit();g.body.removeChild(k)},replaceParam:function(a,b,c){return b?c.replace(a,h.encode(b)):c.replace(a,"")},ready:function(a){if(g.addEventListener)g.addEventListener("DOMContentLoaded",
function(){g.removeEventListener("DOMContentLoaded",arguments.callee,!1);a.call()},!1),e.addEventListener("load",a,!1);else if(g.attachEvent){g.attachEvent("onreadystatechange",function(){g.readyState=="complete"&&(g.detachEvent("onreadystatechange",arguments.callee),a.call())});e.attachEvent("onload",a);var b=!1;try{b=e.frameElement===null}catch(c){}l.doScroll&&b&&function(){try{l.doScroll("left")}catch(b){setTimeout(arguments.callee,10);return}a.call()}()}else e.onload=a},createBuzzObject:function(a,
b){if(e[a])return e[a];b.namespace=a;var c=e[a]={shost:e.BSHARE_SHOST_NAME,bhost:e.BSHARE_BUTTON_HOST,whost:e.BSHARE_WEB_HOST,defaultConfig:b,params:{type:0,publisherUuid:"",url:"",title:"",summary:"",content:"",pic:"",pics:"",video:"",vTag:"",vUid:"",vEmail:"",product:"",price:"0",brand:"",tag:"",category:"",template:"1",popcss:"",apvuid:"",apts:"",apsign:""},isReady:!1,completed:!1,curb:0,preb:-1,entries:[],counters:[],viewInfo:null};c.config={};c.elems={powerBy:'<div id="bsPower" style="float:right;text-align:right;overflow:hidden;height:100%;"><a class="bsSiteLink" style="font-size:10px;vertical-align:text-bottom;line-height:24px;cursor:pointer;" href="'+
c.whost+'" target="_blank"><span style="font-size:10px;vertical-align:text-bottom;"><span style="color:#f60;">b</span>Share</span></a></div>'};for(var f in c.defaultConfig)c.config[f]=c.defaultConfig[f];c.imageBasePath=c.shost+"/frame/img/";c.jsBasePath=c.shost+"/b/";c.addEntry=function(a){if(typeof c.counters=="number")c.counters=[];c.entries.push(a);c.counters.push(0)};return e[a]},parseBuzzOptions:function(a,b,c,f,k){var i;i=(a=h.getScript(b)[a])?h.parseOptions(a.src):{},a=i;k&&(a=k(a));for(var d in a)if(!h.isUndefined(a[d])&&
!(a[d]===null||typeof c[d]=="number"&&a[d]===""))h.isUndefined(c[d])?h.isUndefined(f[d])||(f[d]=h.formatParam(f[d],a[d])):c[d]=h.formatParam(c[d],a[d])}}}})(window,document);(function(e,g,l){var d=g.bShareUtil,h=g.bShareControl;if(!(h.count>0)){var a=d.createBuzzObject(e,{lang:"zh",height:0,width:0,image:"",bgc:"none",fgc:"#333",poptxtc:"#666",popbgc:"#f2f2f2",sn:!1,logo:!0,style:1,fs:0,inline:!1,beta:!1,popjs:"",popHCol:2,pop:0,mdiv:0,poph:"auto",bps:"",bps2:"",showShareCount:!0,icon:!0,text:null,promote:!1}),b=a.config,c=a.params;a.boxConfig={position:0,boxHeight:408,boxWidth:548,closeTop:8,closeRight:20,hasTop:!0,hasFrame:!0,hasMore:!0};a.boxConfigEC={position:0,boxHeight:404,
boxWidth:650,closeTop:10,closeRight:16,hasFrame:!0};a.boxConfigWX={id:"bsWXBox",position:0,boxHeight:245,boxWidth:220,closeTop:8,closeRight:20,hasTop:!0};a.customization={};a.loadOptions=function(){d.parseBuzzOptions(0,/button(Lite)?(Org)?\.js|bshare_load/,b,c,function(b){if(!d.isUndefined(g.bShareOpt))for(var c in g.bShareOpt)b[c]=g.bShareOpt[c];if(!d.arrayContains(a.langs,b.lang))b.lang="zh";if(b.h&&b.w&&b.img)b.height=b.h,b.width=b.w,b.image=b.img;b.bgc=b.bgcolor||void 0;b.fgc=b.textcolor||void 0;
b.logo=!(b.logo&&/^false$/i.test(b.logo));b.popHCol=b.pophcol||void 0;if(b.style)b.style=/^(-1|0|1|2|3|4|5|10|11|999)$/.test(b.style)?+b.style:void 0;if(b.bp)b.style&&b.style==2?b.bps2=b.bp.split(","):b.bps=b.bp.split(",");b.showShareCount=b.style&&/3|4|5/.test(b.style)?!1:!(b.ssc&&/^false$/i.test(b.ssc.toString()));b.type=g.BSHARE_BUTTON_TYPE||b.type;b.publisherUuid=b.uuid||void 0;return b});for(var f in a.defaultConfig)a.defaultConfig[f]!==b[f]&&(a.customization[f]=b[f]);if(c.type!=15)c.popcss=
"";if(g.location.href.indexOf(a.whost+"/moreStyles")<0)b.promote=!1};a.writeButton=function(){var c="",e={0:0,1:[110,85],10:[90,51],11:[82,82]},g={0:16,1:24,10:21,11:49},h=a.imageBasePath,i=b.style,m=b.image,o=b.showShareCount,n=b.width,p=b.height;/^(3|4|5)$/.test(i)||(c='<div class="bsPromo bsPromo1"></div>');i>1&&i<6?a.writeBshareDiv(c):i==-1?(d.getElem(l,"div","bshare-custom",function(b){if(!b.childNodes[0].className||b.childNodes[0].className.indexOf("bsPromo")<0){var c=d.createElement("div",
"","bsPromo bsPromo"+(a.isLite?2:1));b.insertBefore(c,b.childNodes[0])}}),(b.beta||b.popjs)&&a.writeBshareDiv('<div class="buzzButton">'+b.text+"</div>","")):i>=0&&(i!=999&&(m=h+"logo_square_s.gif",i!=0&&(m=h+"button_custom"+i+"-"+(b.lang=="en"?"en":"zh"),o&&(m+="-c"),i==10&&(n=/Blue|Red|Green|Grey|Orange/.test(b.bgc)?b.bgc:"Orange",m+="-"+n),m+=".gif"),n=e[i][o?0:1],p=g[i]),c+='<div class="buzzButton bsStyle'+i+'" style="height:'+p+"px;color:"+b.fgc+";",i==0?(c+=b.icon?"background:transparent url("+
m+") no-repeat;":"",c+='float:left"><div style="padding:0 4px 0 '+(b.icon?"21px":"0")+";"+(a.isLite?"height:16px;":"")+'"><span class="bshareText" style="line-height:18px;float:left;">'+(b.text===null?"\u5206\u4eab":b.text)+"</span></div></div>",o&&(c+='<div style="background:transparent url('+h+'counter_box.gif) no-repeat;float:left;width:40px;height:16px;text-align:center;font-weight:bold;"> <span style="position:relative;line-height:16px;" class="shareCount"></span></div>')):(c+=";background:transparent url("+
m+") no-repeat;text-align:center;width:"+n+'px;">',o&&i!=999&&(c+='<span style="font-weight:bold;position:relative;line-height:'+(i==10?"22":"25")+'px;" class="shareCount"></span>'),c+="</div>"),c+='<div style="clear:both;"></div>',a.writeBshareDiv(c,"font-size:12px;height:"+p+"px;width:"+n+"px;"))};a.more=function(){return typeof a.moreDiv=="function"?(a.moreDiv(),!0):!1};a.load=function(f){if(!f){if(b.mdiv<0)return;var e=0,q=setInterval(function(){a.more()||e>=30?clearInterval(q):++e},100);return!1}c.target=
f||"";a.click();a.disappear();a.prepare();if(!a.loadPlus||!a.loadPlus()){var j;if(f=="bsharesync")j=[a.whost,"/bsyncShare?site=",f].join(""),a.updateCounter(),a.shareStats(f),d.submitForm(j,c,"_blank");else if(f=="email")j=[a.bhost,"/bshareEmail"].join(""),a.shareStats(f),d.submitForm(j,c,"_blank");else if(f=="clipboard")d.copy2Clipboard(),a.shareStats(f);else if(f=="favorite")d.add2Bookmark(),a.shareStats(f);else if(f=="printer")d.add2Printer(),a.shareStats(f);else if(f=="weixin"){j=a.bhost+"/barCode?site=weixin";
for(var i in c)!/content|target/.test(i)&&typeof c[i]!="function"&&(j+="&"+i+"="+d.encode(c[i]));l.getElementById("bsWXBox")||a.createBox(a.boxConfigWX);a.getFrame(a.boxConfigWX).innerHTML='<img style="width:178px;height:178px;margin:21px;display:inline-block;" src="'+j+'" />';a.display(!1,a.boxConfigWX)}else{if(h.bShareLoad)for(i in j=a.bhost+"/bshare_redirect?site="+f,c)!/content|target/.test(i)&&typeof c[i]!="function"&&(j+="&"+i+"="+d.encode(c[i]));else(j=g.BS_PURL_MAP[f])||alert(a.iL8n.loadFailed),
f=="gmw"?j=d.replaceParam("${URL}",c.url.replace("http://",""),j):c.url&&(j=d.replaceParam("${URL}",c.url,j)),j=d.replaceParam("${TITLE}",c.title,j),j=d.replaceParam("${CONTENT}",c.summary,j),j=d.replaceParam("${IMG}",c.pic,j),j=d.replaceParam("${VIDEO}",c.video,j);g.open(j,"","height=600,width=800,top=100,left=100,screenX=100,screenY=100,scrollbars=yes,resizable=yes")}}};a.show=function(){a.load()};a.onLoad=function(){d.getElem(l,"a","bshareDiv",function(b,c){d.getElem(b,"div","buzzButton",function(b){b.onclick=
function(b){return function(c){a.more(c,b);return!1}}(c)})});var c=b.showShareCount;if(b.style==0){var e=d.getElem(l,"div","buzzButton")[0].offsetWidth;c&&(e+=41);d.getElem(l,"a","bshareDiv",function(a){a.style.width=e+"px"})}var h=a.entries.length;if(c&&h>0){for(var c="",j=0;j<h;j++){var i=a.entries[j];if(typeof i.url=="string"){if(d.isIe&&c.length+i.url.length>2E3)break;c!=""&&(c+="|");c+=i.url}}c!=""&&(c+="|");c+=g.location.href;a.count(c)}};a.renderButton=function(){d.loadStyle("a.bshareDiv,#bsPanel,#bsMorePanel,#bshareF{border:none;background:none;padding:0;margin:0;font:12px Helvetica,Calibri,Tahoma,Arial,\u5b8b\u4f53,sans-serif;line-height:14px;}#bsPanel div,#bsMorePanel div,#bshareF div{display:block;}.bsRlogo .bsPopupAwd,.bsRlogoSel .bsPopupAwd,.bsLogo .bsPopupAwd,.bsLogoSel .bsPopupAwd{line-height:16px !important;}a.bshareDiv div,#bsFloatTab div{*display:inline;zoom:1;display:inline-block;}a.bshareDiv img,a.bshareDiv div,a.bshareDiv span,a.bshareDiv a,#bshareF table,#bshareF tr,#bshareF td{text-decoration:none;background:none;margin:0;padding:0;border:none;line-height:1.2}a.bshareDiv span{display:inline;float:none;}div.buzzButton{cursor:pointer;font-weight:bold;}.buzzButton .shareCount a{color:#333}.bsStyle1 .shareCount a{color:#fff}span.bshareText{white-space:nowrap;}span.bshareText:hover{text-decoration:underline;}a.bshareDiv .bsPromo,div.bshare-custom .bsPromo{display:none;position:absolute;z-index:100;}a.bshareDiv .bsPromo.bsPromo1,div.bshare-custom .bsPromo.bsPromo1{width:51px;height:18px;top:-18px;left:0;line-height:16px;font-size:12px !important;font-weight:normal !important;color:#fff;text-align:center;background:url("+
a.imageBasePath+"bshare_box_sprite2.gif) no-repeat 0 -606px;}div.bshare-custom .bsPromo.bsPromo2{background:url("+a.imageBasePath+"bshare_promo_sprite.gif) no-repeat;cursor:pointer;}");a.writeButton();c.type==15&&a.filterECPlats()};a.loadButtonStyle=function(){if(c.type!=15){var f,e=b.style;if(b.beta)f=a.jsBasePath+"styles/bshareS888.js?v=20160206";else if(b.popjs)f=b.popjs;else if(b.style!=-1&&(f=a.jsBasePath+"styles/bshareS"+(e>1&&e<6?e:1)+".js?v=20160206",b.pop==-1&&(e<=1||e>=6)))f="";f&&d.loadScript(f)}};a.international=
function(c){b.lang=="zh"?c():d.loadScript(a.jsBasePath+"langs/bs-lang-"+b.lang+".js?v=20160206",c)};a.start=function(){d.loadEngine&&(d.loadEngine(e),a.loadOptions(),a.international(function(){if(!a.completed){if(d.isUndefined(b.text)||b.text===null)b.text=b.style==0?a.iL8n.shareTextShort:a.iL8n.shareText;c.type!=1&&a.renderButton();d.createShareBox(e);if(c.type==15)a.boxConfig=a.boxConfigEC;a.createBox();b.mdiv>=0&&c.type!=15&&d.loadScript(a.jsBasePath+"components/bsMore.js?v=20160206");if(c.type==1)return a.load(),
!1;a.loadButtonStyle();a.onLoad();a.prepare(0);setTimeout(function(){h.viewed||a.view();setTimeout(function(){h.bShareLoad||d.loadScript(a.jsBasePath+"components/bsPlatforms.js?v=20160206")},3E3)},3E3);a.completed=!0}}))};a.init=function(){if(!a.isReady)a.isReady=!0,d.loadScript(a.shost+"/js/libs/fingerprint2.min.js"),d.loadScript(a.jsBasePath+"engines/bs-engine.js?v=20160206",a.start)};d.loadScript(a.jsBasePath+"components/bsStatic.js?v=20160206")}})("bShare",window,document);(function(e,g,l){if(!(g.bShareControl.count>0)){g.bShareControl.count+=1;var d=g.bShareUtil,e=g[e],h=e.config;e.isLite=!0;e.customization.type="lite";e.writeBshareDiv=function(a,b){d.getElem(l,"a","bshareDiv",function(c){if(a)c.innerHTML=a;else if(c.innerHTML.length<24)c.innerHTML="";c.onclick=function(){return!1};c.style.cssText=(h.inline?"":"display:block;")+"text-decoration:none;padding:0;margin:0;"+b||""})};d.ready(e.init)}})("bShare",window,document);(function(){var e=window.bShare;if(!e)e=window.bShare={};e.pnMap={115:["115\u6536\u85cf\u5939",0],"139mail":["139\u90ae\u7bb1",2],"9dian":["\u8c46\u74e39\u70b9",6],baiducang:["\u767e\u5ea6\u641c\u85cf",7],baiduhi:["\u767e\u5ea6\u7a7a\u95f4",8],bgoogle:["Google\u4e66\u7b7e",10],bsharesync:["\u4e00\u952e\u901a",16],caimi:["\u8d22\u8ff7",17],cfol:["\u4e2d\u91d1\u5fae\u535a",18],chouti:["\u62bd\u5c49",20],clipboard:["\u590d\u5236\u7f51\u5740",21],cyolbbs:["\u4e2d\u9752\u8bba\u575b",22],cyzone:["\u521b\u4e1a\u5427",23],delicious:["\u7f8e\u5473\u4e66\u7b7e",24],dig24:["\u9012\u5ba2\u7f51",25],digg:["Digg",26],diglog:["\u5947\u5ba2\u53d1\u73b0",27],diigo:["Diigo",29],douban:["\u8c46\u74e3\u7f51",30],dream:["\u68a6\u5e7b\u4eba\u751f",31],duitang:["\u5806\u7cd6",32],eastdaymb:["\u4e1c\u65b9\u5fae\u535a",33],email:["\u7535\u5b50\u90ae\u4ef6",
34],evernote:["Evernote",35],facebook:["Facebook",36],fanfou:["\u996d\u5426",37],favorite:["\u6536\u85cf\u5939",38],feixin:["\u98de\u4fe1",39],friendfeed:["FriendFeed",40],fwisp:["Fwisp",42],ganniu:["\u8d76\u725b\u5fae\u535a",43],gmail:["Gmail",44],gmw:["\u5149\u660e\u7f51",45],gtranslate:["\u8c37\u6b4c\u7ffb\u8bd1",46],hemidemi:["\u9ed1\u7c73\u4e66\u7b7e",47],hexunmb:["\u548c\u8baf\u5fae\u535a",48],huaban:["\u82b1\u74e3",49],ifengkb:["\u51e4\u51f0\u5feb\u535a",50],ifengmb:["\u51e4\u51f0\u5fae\u535a",51],ifensi:["\u7c89\u4e1d\u7f51",52],instapaper:["Instapaper",53],itieba:["i\u8d34\u5427",54],joinwish:["\u597d\u613f\u7f51",55],kaixin001:["\u5f00\u5fc3\u7f51",56],laodao:["\u5520\u53e8\u7f51",57],leihou:["\u96f7\u7334",58],leshou:["\u4e50\u6536",59],linkedin:["LinkedIn",
60],livespace:["MS Livespace",61],mala:["\u9ebb\u8fa3\u5fae\u535a",63],masar:["\u739b\u6492\u7f51",65],meilishuo:["\u7f8e\u4e3d\u8bf4",66],miliao:["\u7c73\u804a",67],mister_wong:["Mister Wong",68],mogujie:["\u8611\u83c7\u8857",69],moptk:["\u732b\u6251\u63a8\u5ba2",70],msn:["MSN",71],myshare:["MyShare",72],myspace:["MySpace",73],neteasemb:["\u7f51\u6613\u5fae\u535a",74],netvibes:["Netvibes",75],peoplemb:["\u4eba\u6c11\u5fae\u535a",76],pinterest:["Pinterest",79],poco:["Poco\u7f51",81],printer:["\u6253\u5370",82],printf:["Print Friendly",83],qqmb:["\u817e\u8baf\u5fae\u535a",84],qqshuqian:["QQ\u4e66\u7b7e",85],qqxiaoyou:["\u670b\u53cb\u7f51",86],qzone:["QQ\u7a7a\u95f4",87],readitlater:["ReadItLater",88],
reddit:["Reddit",89],redmb:["\u7ea2\u5fae\u535a",90],renjian:["\u4eba\u95f4\u7f51",91],renmaiku:["\u4eba\u8109\u5e93",92],renren:["\u4eba\u4eba\u7f51",93],shouji:["\u624b\u673a",95],sinaminiblog:["\u65b0\u6d6a\u5fae\u535a",96],sinaqing:["\u65b0\u6d6aQing",97],sinavivi:["\u65b0\u6d6aVivi",98],sohubai:["\u641c\u72d0\u767d\u793e\u4f1a",99],sohuminiblog:["\u641c\u72d0\u5fae\u535a",100],southmb:["\u5357\u65b9\u5fae\u535a",101],stumbleupon:["StumbleUpon",102],szone:["\u5b88\u682a\u7f51",103],taojianghu:["\u6dd8\u6c5f\u6e56",104],tianya:["\u5929\u6daf",105],tongxue:["\u540c\u5b66\u5fae\u535a",106],tuita:["\u63a8\u4ed6",107],tumblr:["Tumblr",108],twitter:["Twitter",109],ushi:["\u4f18\u58eb\u7f51",110],waakee:["\u6316\u5ba2",112],wealink:["\u82e5\u90bb\u7f51",113],woshao:["\u6211\u70e7\u7f51",115],xianguo:["\u9c9c\u679c\u7f51",
116],xiaomeisns:["\u6821\u5a92\u91c7\u901a",117],xinminmb:["\u65b0\u6c11\u5fae\u535a",118],xyweibo:["\u5fae\u535a\u6821\u56ed",119],yaolanmb:["\u6447\u7bee\u5fae\u535a",120],yijee:["\u6613\u96c6\u7f51",121],youdao:["\u6709\u9053\u4e66\u7b7e",122],zjol:["\u6d59\u6c5f\u5fae\u535a",124],xinhuamb:["\u65b0\u534e\u5fae\u535a"],szmb:["\u6df1\u5733\u5fae\u535a"],changshamb:["\u5fae\u957f\u6c99"],hefeimb:["\u5408\u80a5\u5fae\u535a"],wansha:["\u73a9\u5565e\u65cf"],"189share":["\u624b\u673a\u5feb\u4f20"],diandian:["\u70b9\u70b9\u7f51"],tianji:["\u5929\u9645\u7f51"],jipin:["\u5f00\u5fc3\u96c6\u54c1"],chezhumb:["\u8f66\u4e3b\u5fae\u535a"],gplus:["Google+"],yidongweibo:["\u79fb\u52a8\u5fae\u535a"],youdaonote:["\u6709\u9053\u7b14\u8bb0"],jschina:["\u5fae\u6c5f\u82cf"],mingdao:["\u660e\u9053"],jxcn:["\u6c5f\u897f\u5fae\u535a"],qileke:["\u5947\u4e50\u6536\u85cf"],sohukan:["\u641c\u72d0\u968f\u8eab\u770b"],maikunote:["\u9ea6\u5e93\u8bb0\u4e8b"],lezhimark:["\u4e50\u77e5\u4e66\u7b7e"],"189mail":["189\u90ae\u7bb1"],
wo:["WO+\u5206\u4eab"],gmweibo:["\u5149\u660e\u5fae\u535a"],jianweibo:["\u5409\u5b89\u5fae\u535a"],qingbiji:["\u8f7b\u7b14\u8bb0"],duankou:["\u7aef\u53e3\u7f51"],qqim:["QQ\u597d\u53cb"],kdweibo:["\u4e91\u4e4b\u5bb6"],xueqiu:["\u96ea\u7403"],weixin:["\u5fae\u4fe1"]};e.iL8n={promoteHot:"\u70ed",promoteNew:"\u65b0",promoteRec:"\u63a8\u8350",rtnTxt:"\u9009\u62e9\u5176\u4ed6\u5e73\u53f0 >>",shareText:"\u5206\u4eab\u5230",shareTextShort:"\u5206\u4eab",shareTextPromote:"\u5206\u4eab\u6709\u793c",morePlats:"\u66f4\u591a\u5e73\u53f0...",morePlatsShort:"\u66f4\u591a...",whatsThis:"\u8fd9\u662f\u4ec0\u4e48\u5de5\u5177\uff1f",promote:"\u5206\u4eab\u6709\u793c",promoteShort:"\u5956",searchHint:"\u8f93\u5165\u5e73\u53f0\u5173\u952e\u5b57\u67e5\u8be2",closeHint:"30\u5206\u949f\u5185\u4e0d\u518d\u51fa\u73b0\u6b64\u5206\u4eab\u6846",loadFailed:"\u7f51\u7edc\u592a\u6162\u65e0\u6cd5\u52a0\u8f7d\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5\u3002",loadFailed2:"\u5f88\u62b1\u6b49\uff0c\u65e0\u6cd5\u8fde\u63a5\u670d\u52a1\u5668\u3002\u8bf7\u7a0d\u540e\u91cd\u8bd5\uff01",notSupport:"\u4e0d\u652f\u6301\uff01",copySuccess:"\u590d\u5236\u6210\u529f\uff01\u60a8\u53ef\u4ee5\u7c98\u8d34\u5230QQ/MSN\u4e0a\u5206\u4eab\u7ed9\u60a8\u7684\u597d\u53cb\uff01",
copyTip:"\u8bf7\u6309Ctrl+C\u590d\u5236\uff0c\u7136\u540e\u60a8\u53ef\u4ee5\u7c98\u8d34\u5230QQ/MSN\u4e0a\u5206\u4eab\u7ed9\u60a8\u7684\u597d\u53cb\uff01",bookmarkTip:"\u6309\u4e86OK\u4ee5\u540e\uff0c\u8bf7\u6309Ctrl+D\uff08Macs\u7528Command+D\uff09\u3002",confirmClose:"\u5173\u95ed\u540e\uff0c\u8be5\u5206\u4eab\u6309\u94ae30\u5206\u949f\u5c06\u4e0d\u518d\u51fa\u73b0\uff0c\u60a8\u4e5f\u65e0\u6cd5\u4f7f\u7528\u5206\u4eab\u529f\u80fd\uff0c\u786e\u5b9a\u5417\uff1f"}})();
================================================
FILE: src/3D-demo/3Dbook/js/categorizr.js
================================================
/*! Categorizr.js: Device Detection Scripts | https://github.com/Skookum/categorizr.js/blob/master/license.md */
(function (name, context, definition) {
if (typeof module !== 'undefined') module.exports = definition(name, context);
else if (typeof define === 'function' && typeof define.amd === 'object') define(definition);
else context[name] = definition(name, context);
}('categorizr', this, function(name, context) {
// isBrowser implementation based on https://github.com/jquery/jquery/blob/master/src/core.js
var key // used in a loop below
, isBrowser = context != null && context == context.window
, isNode = !isBrowser
, is$ = isBrowser && context.$
, eventEmitter = (function () {
var e
if (is$) e = context.$('').trigger
return e
}())
, docElement = isNode ? null : document.documentElement
, deviceTypes = 'Tv Desktop Tablet Mobile'.split(' ')
, test = function (ua) {
// smart tv
return ua.match(/GoogleTV|SmartTV|Internet.TV|NetCast|NETTV|AppleTV|boxee|Kylo|Roku|DLNADOC|CE\-HTML/i) ? 'tv'
// tv-based gaming console
: ua.match(/Xbox|PLAYSTATION.3|Wii/i) ? 'tv'
// tablet
: ua.match(/iPad/i) || ua.match(/tablet/i) && !ua.match(/RX-34/i) || ua.match(/FOLIO/i) ? 'tablet'
// android tablet
: ua.match(/Linux/i) && ua.match(/Android/i) && !ua.match(/Fennec|mobi|HTC.Magic|HTCX06HT|Nexus.One|SC-02B|fone.945/i) ? 'tablet'
// Kindle or Kindle Fire
: ua.match(/Kindle/i) || ua.match(/Mac.OS/i) && ua.match(/Silk/i) ? 'tablet'
// pre Android 3.0 Tablet
: ua.match(/GT-P10|SC-01C|SHW-M180S|SGH-T849|SCH-I800|SHW-M180L|SPH-P100|SGH-I987|zt180|HTC(.Flyer|\_Flyer)|Sprint.ATP51|ViewPad7|pandigital(sprnova|nova)|Ideos.S7|Dell.Streak.7|Advent.Vega|A101IT|A70BHT|MID7015|Next2|nook/i) || ua.match(/MB511/i) && ua.match(/RUTEM/i) ? 'tablet'
// unique Mobile User Agent
: ua.match(/BOLT|Fennec|Iris|Maemo|Minimo|Mobi|mowser|NetFront|Novarra|Prism|RX-34|Skyfire|Tear|XV6875|XV6975|Google.Wireless.Transcoder/i) ? 'mobile'
// odd Opera User Agent - http://goo.gl/nK90K
: ua.match(/Opera/i) && ua.match(/Windows.NT.5/i) && ua.match(/HTC|Xda|Mini|Vario|SAMSUNG\-GT\-i8000|SAMSUNG\-SGH\-i9/i) ? 'mobile'
// Windows Desktop
: ua.match(/Windows.(NT|XP|ME|9)/) && !ua.match(/Phone/i) || ua.match(/Win(9|.9|NT)/i) ? 'desktop'
// Mac Desktop
: ua.match(/Macintosh|PowerPC/i) && !ua.match(/Silk/i) ? 'desktop'
// Linux Desktop
: ua.match(/Linux/i) && ua.match(/X11/i) ? 'desktop'
// Solaris, SunOS, BSD Desktop
: ua.match(/Solaris|SunOS|BSD/i) ? 'desktop'
// Desktop BOT/Crawler/Spider
: ua.match(/Bot|Crawler|Spider|Yahoo|ia_archiver|Covario-IDS|findlinks|DataparkSearch|larbin|Mediapartners-Google|NG-Search|Snappy|Teoma|Jeeves|TinEye/i) && !ua.match(/Mobile/i) ? 'desktop'
// assume it is a Mobile Device (mobile-first)
: 'mobile'
}
, device = test( context.navigator ? context.navigator.userAgent
: context.request ? context.request.headers['user-agent']
: 'No User-Agent Provided' )
, is = function (type) {
return device === type
}
, categorizr = function () {
var args = [].slice.call(arguments, 0)
// previously categorizeType. arg1 = real, arg2 = fake
if (args.length === 2 && device === args[0]) {
device = args[1]
_update()
}
// else set type
else if (args.length === 1 && typeof args[0] === 'string') {
// todo: can only set to registered deviceTypes
device = args[0]
_update()
}
// always return device. no args returns device
return device
}
categorizr.is = is
categorizr.test = test
// set quick access properties
// e.g. categorizr.isTv => false
// categorizr.isDesktop => true
// categorizr.isTablet => false
// categorizr.isMobile => false
function _setDeviceBooleans () {
var i = deviceTypes.length
while (i--) {
categorizr['is'+deviceTypes[i]] = is(deviceTypes[i].toLowerCase())
if (is$) context.$['is'+deviceTypes[i]] = is(deviceTypes[i].toLowerCase())
}
}
function _setClassName () {
if (isBrowser) {
docElement.className = docElement.className.replace(/(^|\s)desktop|tablet|tv|mobile(\s|$)/, '$1$2') + (' ' + device)
}
}
function _update () {
_setDeviceBooleans()
_setClassName()
// trigger deviceChange event
if (eventEmitter) context.$(context).trigger('deviceChange', [{ type: device }])
}
// init
_update()
if (is$) {
// put categorizr onto global $
for (key in categorizr)
if (Object.hasOwnProperty.call(categorizr, key))
context.$[key == 'test' ? 'testUserAgent' : key == 'is' ? 'isDeviceType' : key] = categorizr[key]
context.$.categorizr = categorizr
}
return categorizr;
}));
================================================
FILE: src/3D-demo/3Dbook/js/ga.js
================================================
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-2477810-34', 'webhek.com');
ga('send', 'pageview');
================================================
FILE: src/3D-demo/3Dbook/js/modernizr.custom.31293.js
================================================
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-csstransforms3d-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
*/
;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
================================================
FILE: src/3D-demo/3Dbook/js/ui.js
================================================
// requires fbk.js
ui = {
currentHandle: undefined,
// reference to DOM objects. cached so we dont have to look them up every time.
objCaseStudy: undefined,
objCaseStudyText: undefined,
objCaseStudyTitle: undefined,
objCaseStudyImage: undefined,
objCaseStudyYTObject: undefined,
objCaseStudyYTMovie: undefined,
objCaseStudyYTPlayer: undefined,
objNav: undefined,
objTabs: undefined,
objNavLeft: undefined,
objNavRight: undefined,
rightArrow: undefined, // The right arrow control
leftArrow: undefined, // The right arrow control
// data array
data:[],
init: function(){ // called from main flipbook app
this.objCaseStudyContainer = $('#casestudy-widget-container');
this.objCaseStudy = $('#casestudy-widget');
this.objCaseStudyText = $('#content-copy > p');
this.objCaseStudyTitle = $('#content-copy > h4');
this.objCaseStudyType = $('#casestudy-widget-wrapper > h5');
this.objCaseStudyImage = $('#content-media > img');
this.objCaseStudyYTObject = $('#ytplayerobject');
this.objCaseStudyYTMovie = $('#ytmovie');
this.objCaseStudyYTPlayer = $('#ytplayer');
this.objNav = $('#casestudy-widget-nav');
this.objNavLeft = $('#nav-left');
this.objNavRight = $('#nav-right');
this.objTabs = $('#casestudy-widget-tabs');
// mouse
$('#casestudy-widget-close').click(function(){
ui.closeCaseStudy();
});
this.objNavLeft.click(function(){
ui.showCaseStudy();
});
this.objNavRight.click(function(){
ui.showMoreInfo();
});
// touch
document.getElementById('casestudy-widget-close').addEventListener( 'touchstart', function(e){
ui.closeCaseStudy();
e.preventDefault();
});
this.objNavLeft[0].addEventListener( 'touchstart', function(e){
ui.showCaseStudy();
e.preventDefault();
});
this.objNavRight[0].addEventListener( 'touchstart', function(e){
ui.showMoreInfo();
e.preventDefault();
});
this.initInfoBoxData();
this.initCaseStudyData();
this.objCaseStudyYTObject.hide();
},
initInfoBoxData:function(){
//================================================= Village ===================
this.data[ "VILLAGE_HOME" ] = new infoBoxData(
"Explore a different platform on each page and learn how people use our products and how brands can harness them creatively.",
"Start your journey"
);
//================================================= YouTube ===================
this.data[ "YT_HOME" ] = new infoBoxData(
"Unlock the full power of online video for your brand. Play with the tabs to explore advertising opportunities on YouTube, with the example of a music band.",
"YouTube"
);
this.data[ "YT_MASTHEADLABEL" ] = new infoBoxData(
"Own the YouTube Homepage with the Masthead. Engage users with interactive ads and give maximum visibility to your brand.",
"Masthead"
);
this.data[ "YT_SKIPPABLE_AD" ] = new infoBoxData(
"TrueView videos let great ads stand out since users can choose to skip or watch them.",
"TrueView ads"
);
this.data[ "YT_BRAND" ] = new infoBoxData(
"Create a bespoke and immersive home for your brand on YouTube.",
"Brand Channels"
);
//================================================= Mobile ===================
this.data[ "MOBILE_HOME" ] = new infoBoxData(
"Small canvas, big opportunity. Find some inspiration to make the most of mobile.",
"移动应用"
);
this.data[ "MOBILE_MULTISCREEN" ] = new infoBoxData(
"Design the right experience for users multitasking across TV, mobile, tablet and desktop.",
"通屏适应"
);
this.data[ "MOBILE_LOCATION" ] = new infoBoxData(
"Use mobile’s GPS to stage locally-relevant experiences.",
"自动定位"
);
this.data[ "MOBILE_SOCIAL" ] = new infoBoxData(
"Mobile apps can influence behaviour to build habits like running - or meditating.",
"现实生活"
);
//================================================= Maps ===================
this.data[ "MAPS_HOME" ] = new infoBoxData(
"Create beautiful experiences by customizing Google Maps for your brand.",
"谷歌地图"
);
this.data[ "MAPS_STREET_VIEW" ] = new infoBoxData(
"Street View is like visiting a place without being there. It lets you embed fully interactive panoramas on your site.",
"谷歌街景"
);
//================================================= Search ===================
this.data[ "SEARCH_HOME" ] = new infoBoxData(
"Search is more than 3 lines of text. Pull the tab to discover examples of rich results and search ads extensions.",
"谷歌搜索"
);
//================================================= Social ===================
this.data[ "SOCIAL_HOME" ] = new infoBoxData(
"Google+ introduces new ways of sharing, across all of Google.",
"Google+"
);
// this.data[ "SOCIAL_PARTY_MODE" ] = new infoBoxData(
// "Google+ introduces new ways of sharing, across all of Google.",
// "Google+"
// );
this.data[ "SOCIAL_HANGOUTS" ] = new infoBoxData(
"Google+ Hangouts is free video conferencing for up to 10 people.",
"Google+ Hangouts"
);
},
initCaseStudyData:function(){
//================================================= YouTube ===================
this.data[ "YT_MASTHEADLABEL_CASESTUDY" ] = new caseStudyData(
"Masthead - YouTube Homepage takeover",
"Using DoubleClick’s technology, Sony Pictures created an in-banner driving game within the YouTube masthead, controlledthrough smartphone. Something that Q himself would certainly get excited about.</br></br><a target='_blank' href='http://www.richmediagallery.com/galleryDetail/?id=35285'>Try it here</a></br><a target='_blank' href='http://www.creativesandbox.com/case-study/sony-pictures-releasing-uk-skyfall-motorbike-chase'>See the full case study on the gallery here</a>",
"Skyfall Motorbike Chase",
"img/007.jpg",
"image",
"When users come to the YouTube homepage, they're in a grazing mode and looking for content that will entertain, educate or inform. The masthead format delivers massive reach and high interaction rates because it has the potential to captivate the users without interrupting their experience.</br></br><a target='_blank' href='http://www.youtube.com/yt/advertise/homepage-ads.html'>More information on YouTube advertising site</a>",
"",
"http://www.youtube.com/v/UXcBk_RB1Ow?version=3&enablejsapi=1",
"video"
);
this.data[ "YT_SKIPPABLE_AD_CASESTUDY" ] = new caseStudyData(
"TrueView skippable ads",
"In Chile, La Casa Eco & Sodimac created a pre-roll aiming to raise awareness of bad ecological habits by incorporating the ‘Skip This Ad' button as part of the creative. A really clever example that shows how technology can fuel creativity.",
"La casa Eco & Sodimac",
'http://www.youtube.com/v/f_RF7w8-Gn8?version=3&enablejsapi=1',
"video",
"TrueView lets viewers skip your ads. And you only pay if they choose to watch 30 seconds. Because TrueView puts users in control, you know that you’re reaching your most valuable audience. And best of all, when people choose, they remember. They are then more likely to advocate, interact with, and generate sales for your brand.</br></br><a target='_blank' href='http://www.youtube.com/yt/advertise/trueview.html'>Get more information</a>",
"",
"http://www.youtube.com/v/tmCk8EaBMow?version=3&enablejsapi=1",
"video"
);
this.data[ "YT_BRAND_CASESTUDY" ] = new caseStudyData(
"Brand Channels - your YouTube home",
"Activision used a YouTube Brand Channel to create an awesome interactive trailer. It uses the same assets as the TV spots, but tells the story in a much richer, non-linear way by allowing users to interact with the video.</br></br><a target='_blank' href='http://www.youtube.com/user/CALLOFDUTY/custom'>Link to the experience</a></br><a target='_blank' href='http://www.creativesandbox.com/case-study/activision-publishing-call-of-duty-black-ops-ii'>See the full case study on the gallery here</a>",
"Call of Duty: Black Ops II",
"img/callofduty.jpg",
"image",
"YouTube is the 2nd biggest search engine in the world and the world's 3rd largest site, so it's vital that you establish a rich presence on the site. Brand channels give you a wealth of options to create a bespoke and immersive home on YouTube that's truly representative of your brand.</br></br><a target='_blank' href='http://www.youtube.com/yt/advertise/channels.html'>More information on YouTube for advertisers</a>",
"",
"img/channels.jpg",
"image"
);
//================================================= Mobile ===================
this.data[ "MOBILE_HOME_CASESTUDY" ] = new caseStudyData(
"Create beautiful Mobile Sites",
"Lexus’ primary challenge in Europe is to get noticed. Most premium automotive sites look the same, so to stand out they created a truly premium desktop and mobile site, giving a sense of seamless luxury.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/lexus-lexus-creating-amazing'>See the full case study on the gallery here.</a>",
"Lexus Create Amazing",
"img/lexus.jpg",
"image",
"Increasingly, users are accessing the web from a mobile, therefore it's critical that your presence on the web is optimized for mobile devices. Studies have shown that 2/3rds of users will not return to a site that is not optimized for mobile.</br></br><a target='_blank' href='http://howtogomo.com>howtogomo.com</a>'",
"",
"http://www.youtube.com/v/Ja7abx3OPOQ?version=3&enablejsapi=1",
"video"
);
this.data[ "MOBILE_MULTISCREEN_CASESTUDY" ] = new caseStudyData(
"Multi-screen",
"Carling let all South African football fans “be the coach” by voting on their mobile phone while watching a football game on TV.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/carling-black-label-be-the-coach-198111'>See full case study on the gallery here.</a>",
"Carling - Be the Coach",
"http://www.youtube.com/v/etmzOOtNCIk?version=3&enablejsapi=1",
"video",
"Since mobile devices are always on and always with us, consumers are increasingly multitasking with mobile even while engaged with other media. This is a great opportunity to design captivating experiences across devices.",
"",
"img/multiscreen.jpg",
"image"
);
this.data[ "MOBILE_LOCATION_CASESTUDY" ] = new caseStudyData(
"Location",
"History can be experienced more intensely by seeing where it actually happened. The mobile application ‘Anne’s Amsterdam’ was developed as a truly immersive way of discovering what happened to Anne Frank.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/95a6357c3d10a316b9ccdaac26220831a4e71b76'>See full case study on the gallery here.</a>",
"Anne Frank House",
"http://www.youtube.com/v/8WNLnDOVgpY?version=3&enablejsapi=1",
"video",
"When mobile creatives can tap into a device’s GPS and harness information about consumers’ real-time locations, they can not only for drive them into stores, but also stage much more compelling brand experiences.",
"",
"img/location.jpg",
"image"
);
this.data[ "MOBILE_SOCIAL_CASESTUDY" ] = new caseStudyData(
"Real-life benefits",
"Nike created the Nike+ GPS app to let any runner track their runs and performance via GPS, and turn solitary running into a social activity. When runners begin a run, they can let their friends on Facebook know via a post. Friends who see the post can ‘like’ or comment. When they do, runners receive an audible cheer through their headphones.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/nike-nike-gps-android-app'>See full case study on the gallery here.</a>",
"Nike+ GPS app",
"http://www.youtube.com/v/46hEaFKa638?version=3&enablejsapi=1",
"video",
"Mobile is the first device that we reach for and the last one that we put down at night. Given their personal nature, mobile devices are a powerful tool to influence individual behaviours. Combined with social context and the right sharing mechanism, it can allow brands to build powerful communities.",
"",
"img/social.jpg",
"image"
);
//================================================= Maps ===================
this.data[ "MAPS_HOME_CASESTUDY" ] = new caseStudyData(
"Google Maps",
"To celebrate the idea that bridges ‘bring us together’, the Golden Gate National Park used the Google Maps API to let people add their own favorite bridges next to one another, and share the creation seamlessly across all social networks.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/golden-gate-national-parks-conservancy-band-of-bridges'>See the full case study on the gallery here.</a>",
"Band of Bridges",
"img/band.jpg",
"image",
"With <a target='_blank' href='https://developers.google.com/maps/documentation/javascript/styling'>Styled Maps</a>, you can customize the base map layers to fit your needs. Change the base map colors to match your brand, draw attention to your data, or remove unwanted map features.</br></br><a target='_blank' href='https://developers.google.com/maps/customize'>Learn more</a>",
"Customize the look and feel",
"img/maps.jpg",
"image"
);
this.data[ "MAPS_STREET_VIEW_CASESTUDY" ] = new caseStudyData(
"Street View - Turn the world into your playground ",
"Nature Valley ported the Street View 360 technology into some of the best, most beautiful trails in America’s National Parks, creating the original, unprecedented Trail View platform.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/general-mills-nature-valley-trail-view'>See the full case study on the gallery here.</a>",
"Nature Valley Trail View",
"http://www.youtube.com/v/MqZ5DYE-MhQ?version=3&enablejsapi=1",
"video",
"With the <a target='_blank' href='https://developers.google.com/maps/documentation/javascript/'>Google Maps JavaScript API v3</a>, you can access our Street View global imagery database or add your own img (such as the inside of a building) to use in your apps. From the streets of Tokyo to the penguins of Antarctica, Street View is available on seven continents.",
"Display your own Street View imagery",
"img/streetview.jpg",
"image"
);
//================================================= Search ===================
this.data[ "SEARCH_HOME_CASESTUDY" ] = new caseStudyData(
"Google Adwords",
"Swedish agency Wisely used search creatively to drive new business. They proved that using search as a creative entrypoint to your digital experience can work wonders.</br></br><a target='_blank' href='http://www.creativesandbox.com/case-study/wisely-interactive-individual-marketing'>See the full case study on the gallery here.</a>",
"Have you ever Googled yourself?",
"http://www.youtube.com/v/uV_KlxNVmsA?version=3&enablejsapi=1",
"video",
"From a simple white box with ten blue links, search has dramatically evolved over the years. Google is building a massive knowledge graph of real-world things and their connections to bring you more meaningful results as well as rich extensions for your ads.</br></br><a target='_blank' href='http://www.google.com/insidesearch/features/search/knowledge.html'>More information here</a>",
"",
"http://www.youtube.com/v/mmQl6VGvX-c?version=3&enablejsapi=1",
"video"
);
this.data[ "SEARCH_RICH_RESULTS_CASESTUDY" ] = new caseStudyData(
"Rich Results",
"Did you know you can immediately discover movie times and locations, or the weather forecast, by performing a simple search on Google? And have you tried voice search? These are just some of the various features that are gradually making search more like a personal assistant and delivering precisely what you want.</br></br><a target='_blank' href='http://www.google.com/insidesearch/features/'>Discover more here.</a>",
"",
"http://www.youtube.com/v/FyJZqHyKKIw?version=3&enablejsapi=1",
"video",
"",
"",
"",
"",
true
);
this.data[ "SEARCH_PRODUCT_LISTING_CASESTUDY" ] = new caseStudyData(
"Product listing",
"Product Listing Ads are search ads that include richer product information, such as product image, price and merchant name, without requiring additional keywords or ad text. They create a more engaging user experience while making it easy for you to promote your entire product line on Google search. And because Product Listing Ads are charged on a CPA basis, you only pay for conversions.</br></br><a target='_blank' href='http://www.google.com/ads/innovations/productlistingads.html'>Find more information on the Ad Innovation site.</a>",
"",
'http://www.youtube.com/v/ql-T12usumM?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
this.data[ "SEARCH_MEDIA_ADS_CASESTUDY" ] = new caseStudyData(
"Media Ads",
"When someone enters a search that is directly related to your video title, we automatically display your Video Ad at the top of the search results page. If people who search for your brand are primarily looking for video content, then Media Ads are right for you. It makes it easy to get your brand in front of the right audience on Google search.</br></br><a target='_blank' href='http://www.google.com/ads/innovations/mediaads.html'>Find more information on the Ad Innovation site.</a>",
"",
'http://www.youtube.com/v/W0SvjA6wSt8?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
this.data[ "SEARCH_SOCIAL_EXT_CASESTUDY" ] = new caseStudyData(
"Social extensions",
"Social extensions link your Google+ Page to your AdWords campaigns so that all your +1's – from your page, your website, ads and search – get tallied together. On average, search ads with social annotations receive a 5-10% uplift in click-through rate. Customers will be able to see the recommendations that your business has received, whether they're looking at an ad, a search result or your Google+ Page. This means that your +1’s will reach users across all of our products.</br></br><a target='_blank' href='http://www.google.com/ads/innovations/socialextensions.html'>Find more information on the Ad Innovation site.</a>",
"",
'http://www.youtube.com/v/dfbBYx-09vg?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
//================================================= Social ===================
this.data[ "SOCIAL_HOME_CASESTUDY" ] = new caseStudyData(
"Circles",
"Circles make it easy to share the right things with the right people, just like in real life. Now you can share some things with close friends, others with your family, and almost nothing with your boss. Whether it’s restaurant directions on Google Maps or an entertaining YouTube video, circles make it easy to share no matter what you’re doing.",
"Share like you mean it",
'http://www.youtube.com/v/oRxKUXJj1WU?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
this.data[ "SOCIAL_INSTANT_UPLOAD" ] = new caseStudyData(
"Instant Upload",
"With instant Upload, photos and videos from your phone are automatically uploaded to your own private album on Google+, so you never lose a memory, even if you lose your phone.",
"Never lose a memory anymore",
'http://www.youtube.com/v/8aCYZ3gXfy8?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
this.data[ "SOCIAL_PARTY_MODE_CASESTUDY" ] = new caseStudyData(
"Google+ events: Party Mode",
"Google+ events lets you create beautiful event invites, and uses Party Mode to take Instant Upload to the next level. You can snap photos during a Google+ event and share them with everyone at the party in real time, right from your phone.",
"Celebrate what matters, with the people who matter most",
'http://www.youtube.com/v/uwMdqxJznMs?version=3&enablejsapi=1',
"video",
"",
"",
"",
"",
true
);
this.data[ "SOCIAL_HANGOUTS_CASESTUDY" ] = new caseStudyData(
"Google+ Hangouts",
"Truly innovative marketers get to know communities and find out how they can contribute. Verizon saw the vibrant music community on Google+, and the rising star, Daria, who made her career on Google+. They decided to contribute to the community by staging a Hangout concert for Daria on a roof in NYC, all streamed over Verizon 4G LTE.",
"Verizon / Daria Musk concert",
'http://www.youtube.com/v/RyrN2SsYXCM?version=3&enablejsapi=1',
"video",
"If you’re up to 10 people, videoconferencing is free with Google+ Hangouts. You can also livestream a conference to YouTube, or use the API to build fun webcam experiences.",
"Catch-up face-to-face",
'http://www.youtube.com/v/Y12DAZL7cyY?version=3&enablejsapi=1',
"video"
);
},
//================================================================================ Events ================================================================================
getInfoBoxData: function( _handle ){ // called from main flipbook app
// get data
var infoboxdata = this.data[ _handle ];
if( !infoboxdata ) return;
return "<h5>" + infoboxdata.header + "</h5>" + "<p>" + infoboxdata.text + "</p>";
},
openCaseStudy: function( _handle, _type ){ // called from main flipbook app
this.objCaseStudyContainer.css('display', 'table');
// get data
var casestudydata = this.data[ _handle ];
if( !casestudydata ) return;
// Cache handle
this.currentHandle = _handle;
// Check type
var type;
if(_type){
type = _type;
}else{
type = 'casestudy';
this.objNavRight.addClass("casestudy-nav-inactive");
this.objNavLeft.removeClass("casestudy-nav-inactive");
}
// open case study
this.objCaseStudyText.html( casestudydata[type + "_text"] );
this.objCaseStudyTitle.html( casestudydata[type + "_header"] );
this.objCaseStudyType.html( casestudydata.casestudy_category );
// Reset the YT video
this.objCaseStudyYTObject.hide();
// Check for case study title
if(casestudydata.isSingleTab){
this.objNav.hide();
this.objTabs.css("min-height", "320px");
}else{
this.objNav.show();
this.objTabs.css("min-height", "380px");
}
// Check for video or image
if(casestudydata[type + "_type"] == "video") {
this.objCaseStudyYTMovie.attr("src", casestudydata[type + "_src"] );
this.objCaseStudyYTPlayer.attr("src", casestudydata[type + "_src"] );
this.objCaseStudy.removeClass('casestudy-image');
this.objCaseStudy.addClass('casestudy-video');
this.objCaseStudyImage.hide();
this.objCaseStudyYTObject.show();
}
else {
this.objCaseStudyImage.attr("src", casestudydata[type + "_src"] );
this.objCaseStudy.addClass('casestudy-image');
this.objCaseStudy.removeClass('casestudy-video');
this.objCaseStudyYTObject.hide();
this.objCaseStudyImage.show();
}
this.objCaseStudy.show();
},
closeCaseStudy: function( _handle ){ // called from button press
this.objCaseStudyContainer.css('display', 'none');
this.objCaseStudy.hide();
// clean
this.objCaseStudyText.html( '' );
// resume
flipbook.unpause();
},
showCaseStudy: function() { // called from ui
this.objNavRight.addClass("casestudy-nav-inactive");
this.objNavLeft.removeClass("casestudy-nav-inactive");
this.openCaseStudy(this.currentHandle, "casestudy");
},
showMoreInfo: function() { // called from ui
this.objNavRight.removeClass("casestudy-nav-inactive");
this.objNavLeft.addClass("casestudy-nav-inactive");
this.openCaseStudy(this.currentHandle, "more");
// GA Tracking
_gaq.push(['_trackEvent', 'overlays_moreinfo', this.currentHandle.toLowerCase() + "_moreinfo"]);
_gaq.push(['b._trackEvent', 'overlays_moreinfo', this.currentHandle.toLowerCase() + "_moreinfo"]);
}
}
//================================================================================ Classes ================================================================================
infoBoxData = function( _text, _header){
this.text = _text;
this.header = _header;
};
caseStudyData = function( _casestudy_category, _casestudy_text, _casestudy_header, _casestudy_src, _casestudy_type, _more_text, _more_header, _more_src, _more_type, _isSingleTab){
this.casestudy_category = _casestudy_category;
this.casestudy_text = _casestudy_text;
this.casestudy_header = _casestudy_header;
this.casestudy_src = _casestudy_src;
this.casestudy_type = _casestudy_type;
this.more_text = _more_text;
this.more_header = _more_header;
this.more_src = _more_src;
this.more_type = _more_type;
this.isSingleTab = _isSingleTab;
};
================================================
FILE: src/3D-demo/3Dbook/js/wb.js
================================================
var share_url = location.href;
var platform = '';
//### sina wb
var appkey = 1681459862;
var j = +new Date;
var f = null;
function g(t) {
var l;
var q;
var n = +new Date;
var e = /=\?(&|$)/g;
t.data = t.data || "";
t.data = (t.data ? t.data + "&" : "") + "callback=?";
q = "jsonp" + j++;
t.data = (t.data + "").replace(e, "=" + q + "$1");
window[q] = function (s) {
clearTimeout(f);
l = s;
r();
};
var m = t.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + n + "$2");
t.url = m + ((m == t.url) ? (t.url.match(/\?/) ? "&" : "?") + "_=" + n : "");
if (t.data) {
t.url += (t.url.match(/\?/) ? "&" : "?") + t.data;
t.data = null
}
clearTimeout(f);
f = setTimeout(function () {}, 30000);
var k = false;
var p = document.getElementsByTagName("head")[0];
var o = document.createElement("script");
if (t.scriptCharset) {
o.charset = t.scriptCharset
}
o.src = t.url;
var r = function () {
if (t.success) {
t.success(l)
}
};
p.appendChild(o)
}
var sina_share_count = function (e) {
var k = "http://api.t.sina.com.cn/short_url/shorten.json";
var m = "http://api.t.sina.com.cn/short_url/share/counts.json";
var l = "source=" + appkey + "&url_long=" + e;
g({
url: k,
data: l,
scriptCharset: "utf-8",
success: function (n) {
if (!n || !n[0]) {
c();
return
}
var shorten_url = encodeURIComponent(n[0].url_short);
var o = "source=" + appkey + "&url_short=" + shorten_url;
g({
url: m,
data: o,
scriptCharset: "utf-8",
success: function (p) {
if (!p) {
c();
return
}
c(p)
}
})
}
})
};
var c = function (o) {
if(o[0].share_counts > shares_wb) {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = 'http://wkee.net/misc/share-touch.php';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
}
};
sina_share_count(share_url);
================================================
FILE: src/3D-demo/3Dcube/css/index.css
================================================
body {
color: #333;
padding: 20px;
text-align: center;
font-family: Arial;
}
.separator {
margin-top: 40px;
}
/* 3D Cube */
.space3d {
perspective: 1000px;
width: 250px;
height: 250px;
text-align: center;
display: inline-block;
margin-top: 150px;
}
._3dbox{
display: inline-block;
transition: all 0.85s cubic-bezier(0.175, 0.885, 0.32, 1.275);
text-align: center;
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transform: rotateX(-15deg) rotateY(15deg);
}
._3dface {
overflow: hidden;
position: absolute;
border: 1px solid #888;
background: #FFF;
box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.1), 0 0 50px rgba(0, 0, 0, 0.3);
color: #333;
line-height: 250px;
opacity: 0.8;
}
._3dface--front {
width: 250px;
height: 250px;
transform: translate3d(0, 0, 125px);
}
._3dface--top {
width: 250px;
height: 250px;
transform: rotateX(90deg) translate3d(0, 0, 125px);
}
._3dface--bottom {
width: 250px;
height: 250px;
transform: rotateX(-90deg) translate3d(0, 0, 125px);
}
._3dface--left {
width: 250px;
height: 250px;
left: 50%;
margin-left: -125px;
transform: rotateY(-90deg) translate3d(0, 0, 125px);
}
._3dface--right {
width: 250px;
height: 250px;
left: 50%;
margin-left: -125px;
transform: rotateY(90deg) translate3d(0, 0, 125px);
}
._3dface--back {
width: 250px;
height: 250px;
transform: rotateY(180deg) translate3d(0, 0, 125px);
}
.front{
transform: rotateX(180deg);
}
.left{
transform: rotateY(90deg);
}
.right{
transform: rotateY(-90deg);
}
.bottom{
transform: rotateX(90deg);
}
.top{
transform: rotateX(-90deg);
}
.back{
transform: rotateY(180deg);
}
._3dface--front {
background: url(../images/1.jpg);
background-size: 100%;
}
._3dface--left {
background: url(../images/2.jpg);
background-size: auto 100%;
}
._3dface--right {
background: url(../images/3.jpg);
background-size: auto 100%;
}
._3dface--top {
background: url(../images/4.jpg);
background-size: auto 100%;
}
._3dface--bottom {
background: url(../images/5.jpg);
background-size: auto 100%;
}
._3dface--back {
background: url(../images/6.jpg);
background-size: auto 100%;
}
.options{
margin-top: 100px;
}
================================================
FILE: src/3D-demo/3Dcube/css/normalize.css
================================================
/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
* 1. Change the default font family in all browsers (opinionated).
* 2. Correct the line height in all browsers.
* 3. Prevent adjustments of font size after orientation changes in IE and iOS.
*/
html {
font-family: sans-serif; /* 1 */
line-height: 1.15; /* 2 */
-ms-text-size-adjust: 100%; /* 3 */
-webkit-text-size-adjust: 100%; /* 3 */
}
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
* 2. Add the correct display in IE.
*/
article,
aside,
details, /* 1 */
figcaption,
figure,
footer,
header,
main, /* 2 */
menu,
nav,
section,
summary { /* 1 */
display: block;
}
/**
* Add the correct display in IE 9-.
*/
audio,
canvas,
progress,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Add the correct display in IE 10-.
* 1. Add the correct display in IE.
*/
template, /* 1 */
[hidden] {
display: none;
}
/* Links
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* Remove the outline on focused links when they are also active or hovered
* in all browsers (opinionated).
*/
a:active,
a:hover {
outline-width: 0;
}
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the bottom border in Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct margin in IE 8.
*/
figure {
margin: 1em 40px;
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/* Forms
========================================================================== */
/**
* 1. Change font properties to `inherit` in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font: inherit; /* 1 */
margin: 0; /* 2 */
}
/**
* Restore the font weight unset by the previous rule.
*/
optgroup {
font-weight: bold;
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Change the border, margin, and padding in all browsers (opinionated).
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Correct the text style of placeholders in Chrome, Edge, and Safari.
*/
::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
================================================
FILE: src/3D-demo/3Dcube/index.html
================================================
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5 3D正方体旋转动画演示地址</title>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/index.css">
<script src="js/prefixfree.min.js"></script>
<script src="js/jquery-3.0.0.js"></script>
</head>
<body>
<div class="space3d">
<div class="_3dbox">
<div class="_3dface _3dface--front"></div>
<div class="_3dface _3dface--top"></div>
<div class="_3dface _3dface--bottom"></div>
<div class="_3dface _3dface--left"></div>
<div class="_3dface _3dface--right"></div>
<div class="_3dface _3dface--back"></div>
</div>
</div>
<div class="options">
<input type="radio" checked id="radio-front" name="select-face"/>
<input type="radio" id="radio-left" name="select-face"/>
<input type="radio" id="radio-right" name="select-face"/>
<input type="radio" id="radio-top" name="select-face"/>
<input type="radio" id="radio-bottom" name="select-face"/>
<input type="radio" id="radio-back" name="select-face"/>
</div>
<script>
(function(){
init();
// animate();
function init(){
var box = $('._3dbox');
$('#radio-front').on('click', function() {
box.removeClass().addClass('_3dbox front');
});
$('#radio-left').on('click', function() {
box.removeClass().addClass('_3dbox left');
});
$('#radio-right').on('click', function() {
box.removeClass().addClass('_3dbox right');
});
$('#radio-top').on('click', function() {
box.removeClass().addClass('_3dbox top');
});
$('#radio-bottom').on('click', function() {
box.removeClass().addClass('_3dbox bottom');
});
$('#radio-back').on('click', function() {
box.removeClass().addClass('_3dbox back');
});
};
function animate() {
requestAnimationFrame( animate );
}
})()
</script>
</body>
</html>
================================================
FILE: src/3D-demo/3Dcube/js/jquery-3.0.0.js
================================================
/*!
* jQuery JavaScript Library v3.0.0
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2016-06-09T18:02Z
*/
( function( global, factory ) {
"use strict";
if ( typeof module === "object" && typeof module.exports === "object" ) {
// For CommonJS and CommonJS-like environments where a proper `window`
// is present, execute the factory and get jQuery.
// For environments that do not have a `window` with a `document`
// (such as Node.js), expose a factory as module.exports.
// This accentuates the need for the creation of a real `window`.
// e.g. var jQuery = require("jquery")(window);
// See ticket #14549 for more info.
module.exports = global.document ?
factory( global, true ) :
function( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
};
} else {
factory( global );
}
// Pass this if window is not defined yet
}( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
"use strict";
var arr = [];
var document = window.document;
var getProto = Object.getPrototypeOf;
var slice = arr.slice;
var concat = arr.concat;
var push = arr.push;
var indexOf = arr.indexOf;
var class2type = {};
var toString = class2type.toString;
var hasOwn = class2type.hasOwnProperty;
var fnToString = hasOwn.toString;
var ObjectFunctionString = fnToString.call( Object );
var support = {};
function DOMEval( code, doc ) {
doc = doc || document;
var script = doc.createElement( "script" );
script.text = code;
doc.head.appendChild( script ).parentNode.removeChild( script );
}
var
version = "3.0.0",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
},
// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([a-z])/g,
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: version,
constructor: jQuery,
// The default length of a jQuery object is 0
length: 0,
toArray: function() {
return slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
return num != null ?
// Return just the one element from the set
( num < 0 ? this[ num + this.length ] : this[ num ] ) :
// Return all the elements in a clean array
slice.call( this );
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
// Return the newly-formed element set
return ret;
},
// Execute a callback for every element in the matched set.
each: function( callback ) {
return jQuery.each( this, callback );
},
map: function( callback ) {
return this.pushStack( jQuery.map( this, function( elem, i ) {
return callback.call( elem, i, elem );
} ) );
},
slice: function() {
return this.pushStack( slice.apply( this, arguments ) );
},
first: function() {
return this.eq( 0 );
},
last: function() {
return this.eq( -1 );
},
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
},
end: function() {
return this.prevObject || this.constructor();
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: arr.sort,
splice: arr.splice
};
jQuery.extend = jQuery.fn.extend = function() {
var options, name, src, copy, copyIsArray, clone,
target = arguments[ 0 ] || {},
i = 1,
length = arguments.length,
deep = false;
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
// Skip the boolean and the target
target = arguments[ i ] || {};
i++;
}
// Handle case when target is a string or something (possible in deep copy)
if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
target = {};
}
// Extend jQuery itself if only one argument is passed
if ( i === length ) {
target = this;
i--;
}
for ( ; i < length; i++ ) {
// Only deal with non-null/undefined values
if ( ( options = arguments[ i ] ) != null ) {
// Extend the base object
for ( name in options ) {
src = target[ name ];
copy = options[ name ];
// Prevent never-ending loop
if ( target === copy ) {
continue;
}
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
( copyIsArray = jQuery.isArray( copy ) ) ) ) {
if ( copyIsArray ) {
copyIsArray = false;
clone = src && jQuery.isArray( src ) ? src : [];
} else {
clone = src && jQuery.isPlainObject( src ) ? src : {};
}
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
// Don't bring in undefined values
} else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}
// Return the modified object
return target;
};
jQuery.extend( {
// Unique for each copy of jQuery on the page
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
// Assume jQuery is ready without the ready module
isReady: true,
error: function( msg ) {
throw new Error( msg );
},
noop: function() {},
isFunction: function( obj ) {
return jQuery.type( obj ) === "function";
},
isArray: Array.isArray,
isWindow: function( obj ) {
return obj != null && obj === obj.window;
},
isNumeric: function( obj ) {
// As of jQuery 3.0, isNumeric is limited to
// strings and numbers (primitives or objects)
// that can be coerced to finite numbers (gh-2662)
var type = jQuery.type( obj );
return ( type === "number" || type === "string" ) &&
// parseFloat NaNs numeric-cast false positives ("")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
!isNaN( obj - parseFloat( obj ) );
},
isPlainObject: function( obj ) {
var proto, Ctor;
// Detect obvious negatives
// Use toString instead of jQuery.type to catch host objects
if ( !obj || toString.call( obj ) !== "[object Object]" ) {
return false;
}
proto = getProto( obj );
// Objects with no prototype (e.g., `Object.create( null )`) are plain
if ( !proto ) {
return true;
}
// Objects with prototype are plain iff they were constructed by a global Object function
Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
},
isEmptyObject: function( obj ) {
var name;
for ( name in obj ) {
return false;
}
return true;
},
type: function( obj ) {
if ( obj == null ) {
return obj + "";
}
// Support: Android <=2.3 only (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call( obj ) ] || "object" :
typeof obj;
},
// Evaluates a script in a global context
globalEval: function( code ) {
DOMEval( code );
},
// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 13
// Microsoft forgot to hump their vendor prefix (#9572)
camelCase: function( string ) {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
},
each: function( obj, callback ) {
var length, i = 0;
if ( isArrayLike( obj ) ) {
length = obj.length;
for ( ; i < length; i++ ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
} else {
for ( i in obj ) {
if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
break;
}
}
}
return obj;
},
// Support: Android <=4.0 only
trim: function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
},
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
if ( arr != null ) {
if ( isArrayLike( Object( arr ) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
[ arr ] : arr
);
} else {
push.call( ret, arr );
}
}
return ret;
},
inArray: function( elem, arr, i ) {
return arr == null ? -1 : indexOf.call( arr, elem, i );
},
// Support: Android <=4.0 only, PhantomJS 1 only
// push.apply(_, arraylike) throws on ancient WebKit
merge: function( first, second ) {
var len = +second.length,
j = 0,
i = first.length;
for ( ; j < len; j++ ) {
first[ i++ ] = second[ j ];
}
first.length = i;
return first;
},
grep: function( elems, callback, invert ) {
var callbackInverse,
matches = [],
i = 0,
length = elems.length,
callbackExpect = !invert;
// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}
return matches;
},
// arg is for internal usage only
map: function( elems, callback, arg ) {
var length, value,
i = 0,
ret = [];
// Go through the array, translating each of the items to their new values
if ( isArrayLike( elems ) ) {
length = elems.length;
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
// Go through every key on the object,
} else {
for ( i in elems ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
}
// Flatten any nested arrays
return concat.apply( [], ret );
},
// A global GUID counter for objects
guid: 1,
// Bind a function to a context, optionally partially applying any
// arguments.
proxy: function( fn, context ) {
var tmp, args, proxy;
if ( typeof context === "string" ) {
tmp = fn[ context ];
context = fn;
fn = tmp;
}
// Quick check to determine if target is callable, in the spec
// this throws a TypeError, but we will just return undefined.
if ( !jQuery.isFunction( fn ) ) {
return undefined;
}
// Simulated bind
args = slice.call( arguments, 2 );
proxy = function() {
return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
};
// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid = fn.guid = fn.guid || jQuery.guid++;
return proxy;
},
now: Date.now,
// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: support
} );
// JSHint would error on this code due to the Symbol not being defined in ES5.
// Defining this global in .jshintrc would create a danger of using the global
// unguarded in another place, it seems safer to just disable JSHint for these
// three lines.
/* jshint ignore: start */
if ( typeof Symbol === "function" ) {
jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}
/* jshint ignore: end */
// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
function( i, name ) {
class2type[ "[object " + name + "]" ] = name.toLowerCase();
} );
function isArrayLike( obj ) {
// Support: real iOS 8.2 only (not reproducible in simulator)
// `in` check used to prevent JIT error (gh-2145)
// hasOwn isn't used here due to false negatives
// regarding Nodelist length in IE
var length = !!obj && "length" in obj && obj.length,
type = jQuery.type( obj );
if ( type === "function" || jQuery.isWindow( obj ) ) {
return false;
}
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}
var Sizzle =
/*!
* Sizzle CSS Selector Engine v2.3.0
* https://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-01-04
*/
(function( window ) {
var i,
support,
Expr,
getText,
isXML,
tokenize,
compile,
select,
outermostContext,
sortInput,
hasDuplicate,
// Local document vars
setDocument,
document,
docElem,
documentIsHTML,
rbuggyQSA,
rbuggyMatches,
matches,
contains,
// Instance-specific data
expando = "sizzle" + 1 * new Date(),
preferredDoc = window.document,
dirruns = 0,
done = 0,
classCache = createCache(),
tokenCache = createCache(),
compilerCache = createCache(),
sortOrder = function( a, b ) {
if ( a === b ) {
hasDuplicate = true;
}
return 0;
},
// Instance methods
hasOwn = ({}).hasOwnProperty,
arr = [],
pop = arr.pop,
push_native = arr.push,
push = arr.push,
slice = arr.slice,
// Use a stripped-down indexOf as it's faster than native
// https://jsperf.com/thor-indexof-vs-for/5
indexOf = function( list, elem ) {
var i = 0,
len = list.length;
for ( ; i < len; i++ ) {
if ( list[i] === elem ) {
return i;
}
}
return -1;
},
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
// Regular expressions
// http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
// Operator (capture 2)
"*([*^$|!~]?=)" + whitespace +
// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
"*\\]",
pseudos = ":(" + identifier + ")(?:\\((" +
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
// 1. quoted (capture 3; capture 4 or capture 5)
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
// 2. simple (capture 6)
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
// 3. anything else (capture 2)
".*" +
")\\)|)",
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rwhitespace = new RegExp( whitespace + "+", "g" ),
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ),
matchExpr = {
"ID": new RegExp( "^#(" + identifier + ")" ),
"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
"TAG": new RegExp( "^(" + identifier + "|[*])" ),
"ATTR": new RegExp( "^" + attributes ),
"PSEUDO": new RegExp( "^" + pseudos ),
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
// For use in libraries implementing .is()
// We use this for POS matching in `select`
"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
rnative = /^[^{]+\{\s*\[native \w/,
// Easily-parseable/retrievable ID or TAG or CLASS selectors
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling = /[+~]/,
// CSS escapes
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
// NaN means non-codepoint
// Support: Firefox<24
// Workaround erroneous numeric interpretation of +"0x"
return high !== high || escapedWhitespace ?
escaped :
high < 0 ?
// BMP codepoint
String.fromCharCode( high + 0x10000 ) :
// Supplemental Plane codepoint (surrogate pair)
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
},
// CSS string/identifier serialization
// https://drafts.csswg.org/cssom/#common-serializing-idioms
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
fcssescape = function( ch, asCodePoint ) {
if ( asCodePoint ) {
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
if ( ch === "\0" ) {
return "\uFFFD";
}
// Control characters and (dependent upon position) numbers get escaped as code points
return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
}
// Other potentially-special ASCII characters get backslash-escaped
return "\\" + ch;
},
// Used for iframes
// See setDocument()
// Removing the function wrapper causes a "Permission Denied"
// error in IE
unloadHandler = function() {
setDocument();
},
disabledAncestor = addCombinator(
function( elem ) {
return elem.disabled === true;
},
{ dir: "parentNode", next: "legend" }
);
// Optimize for push.apply( _, NodeList )
try {
push.apply(
(arr = slice.call( preferredDoc.childNodes )),
preferredDoc.childNodes
);
// Support: Android<4.0
// Detect silently failing push.apply
arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
push = { apply: arr.length ?
// Leverage slice if possible
function( target, els ) {
push_native.apply( target, slice.call(els) );
} :
// Support: IE<9
// Otherwise append directly
function( target, els ) {
var j = target.length,
i = 0;
// Can't trust NodeList.length
while ( (target[j++] = els[i++]) ) {}
target.length = j - 1;
}
};
}
function Sizzle( selector, context, results, seed ) {
var m, i, elem, nid, match, groups, newSelector,
newContext = context && context.ownerDocument,
// nodeType defaults to 9, since context defaults to document
nodeType = context ? context.nodeType : 9;
results = results || [];
// Return early from calls with invalid selector or context
if ( typeof selector !== "string" || !selector ||
nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
return results;
}
// Try to shortcut find operations (as opposed to filters) in HTML documents
if ( !seed ) {
if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
setDocument( context );
}
context = context || document;
if ( documentIsHTML ) {
// If the selector is sufficiently simple, try using a "get*By*" DOM method
// (excepting DocumentFragment context, where the methods don't exist)
if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
// ID selector
if ( (m = match[1]) ) {
// Document context
if ( nodeType === 9 ) {
if ( (elem = context.getElementById( m )) ) {
// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if ( elem.id === m ) {
results.push( elem );
return results;
}
} else {
return results;
}
// Element context
} else {
// Support: IE, Opera, Webkit
// TODO: identify versions
// getElementById can match elements by name instead of ID
if ( newContext && (elem = newContext.getElementById( m )) &&
contains( context, elem ) &&
elem.id === m ) {
results.push( elem );
return results;
}
}
// Type selector
} else if ( match[2] ) {
push.apply( results, context.getElementsByTagName( selector ) );
return results;
// Class selector
} else if ( (m = match[3]) && support.getElementsByClassName &&
context.getElementsByClassName ) {
push.apply( results, context.getElementsByClassName( m ) );
return results;
}
}
// Take advantage of querySelectorAll
if ( support.qsa &&
!compilerCache[ selector + " " ] &&
(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
if ( nodeType !== 1 ) {
newContext = context;
newSelector = selector;
// qSA looks outside Element context, which is not what we want
// Thanks to Andrew Dupont for this workaround technique
// Support: IE <=8
// Exclude object elements
} else if ( context.nodeName.toLowerCase() !== "object" ) {
// Capture the context ID, setting it first if necessary
if ( (nid = context.getAttribute( "id" )) ) {
nid = nid.replace( rcssescape, fcssescape );
} else {
context.setAttribute( "id", (nid = expando) );
}
// Prefix every selector in the list
groups = tokenize( selector );
i = groups.length;
while ( i-- ) {
groups[i] = "#" + nid + " " + toSelector( groups[i] );
}
newSelector = groups.join( "," );
// Expand context for sibling selectors
newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
context;
}
if ( newSelector ) {
try {
push.apply( results,
newContext.querySelectorAll( newSelector )
);
return results;
} catch ( qsaError ) {
} finally {
if ( nid === expando ) {
context.removeAttribute( "id" );
}
}
}
}
}
}
// All others
return select( selector.replace( rtrim, "$1" ), context, results, seed );
}
/**
* Create key-value caches of limited size
* @returns {function(string, object)} Returns the Object data after storing it on itself with
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
* deleting the oldest entry
*/
function createCache() {
var keys = [];
function cache( key, value ) {
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
// Only keep the most recent entries
delete cache[ keys.shift() ];
}
return (cache[ key + " " ] = value);
}
return cache;
}
/**
* Mark a function for special use by Sizzle
* @param {Function} fn The function to mark
*/
function markFunction( fn ) {
fn[ expando ] = true;
return fn;
}
/**
* Support testing using an element
* @param {Function} fn Passed the created element and returns a boolean result
*/
function assert( fn ) {
var el = document.createElement("fieldset");
try {
return !!fn( el );
} catch (e) {
return false;
} finally {
// Remove from its parent by default
if ( el.parentNode ) {
el.parentNode.removeChild( el );
}
// release memory in IE
el = null;
}
}
/**
* Adds the same handler for all of the specified attrs
* @param {String} attrs Pipe-separated list of attributes
* @param {Function} handler The method that will be applied
*/
function addHandle( attrs, handler ) {
var arr = attrs.split("|"),
i = arr.length;
while ( i-- ) {
Expr.attrHandle[ arr[i] ] = handler;
}
}
/**
* Checks document order of two siblings
* @param {Element} a
* @param {Element} b
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
*/
function siblingCheck( a, b ) {
var cur = b && a,
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
a.sourceIndex - b.sourceIndex;
// Use IE sourceIndex if available on both nodes
if ( diff ) {
return diff;
}
// Check if b follows a
if ( cur ) {
while ( (cur = cur.nextSibling) ) {
if ( cur === b ) {
return -1;
}
}
}
return a ? 1 : -1;
}
/**
* Returns a function to use in pseudos for input types
* @param {String} type
*/
function createInputPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for buttons
* @param {String} type
*/
function createButtonPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return (name === "input" || name === "button") && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for :enabled/:disabled
* @param {Boolean} disabled true for :disabled; false for :enabled
*/
function createDisabledPseudo( disabled ) {
// Known :disabled false positives:
// IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)
// not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
return function( elem ) {
// Check form elements and option elements for explicit disabling
return "label" in elem && elem.disabled === disabled ||
"form" in elem && elem.disabled === disabled ||
// Check non-disabled form elements for fieldset[disabled] ancestors
"form" in elem && elem.disabled === false && (
// Support: IE6-11+
// Ancestry is covered for us
elem.isDisabled === disabled ||
// Otherwise, assume any non-<option> under fieldset[disabled] is disabled
/* jshint -W018 */
elem.isDisabled !== !disabled &&
("label" in elem || !disabledAncestor( elem )) !== disabled
);
};
}
/**
* Returns a function to use in pseudos for positionals
* @param {Function} fn
*/
function createPositionalPseudo( fn ) {
return markFunction(function( argument ) {
argument = +argument;
return markFunction(function( seed, matches ) {
var j,
matchIndexes = fn( [], seed.length, argument ),
i = matchIndexes.length;
// Match elements found at the specified indexes
while ( i-- ) {
if ( seed[ (j = matchIndexes[i]) ] ) {
seed[j] = !(matches[j] = seed[j]);
}
}
});
});
}
/**
* Checks a node for validity as a Sizzle context
* @param {Element|Object=} context
* @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
*/
function testContext( context ) {
return context && typeof context.getElementsByTagName !== "undefined" && context;
}
// Expose support vars for convenience
support = Sizzle.support = {};
/**
* Detects XML nodes
* @param {Element|Object} elem An element or a document
* @returns {Boolean} True iff elem is a non-HTML XML node
*/
isXML = Sizzle.isXML = function( elem ) {
// documentElement is verified for cases where it doesn't yet exist
// (such as loading iframes in IE - #4833)
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
return documentElement ? documentElement.nodeName !== "HTML" : false;
};
/**
* Sets document-related variables once based on the current document
* @param {Element|Object} [doc] An element or document object to use to set the document
* @returns {Object} Returns the current document
*/
setDocument = Sizzle.setDocument = function( node ) {
var hasCompare, subWindow,
doc = node ? node.ownerDocument || node : preferredDoc;
// Return early if doc is invalid or already selected
if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
return document;
}
// Update global variables
document = doc;
docElem = document.documentElement;
documentIsHTML = !isXML( document );
// Support: IE 9-11, Edge
// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
if ( preferredDoc !== document &&
(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
// Support: IE 11, Edge
if ( subWindow.addEventListener ) {
subWindow.addEventListener( "unload", unloadHandler, false );
// Support: IE 9 - 10 only
} else if ( subWindow.attachEvent ) {
subWindow.attachEvent( "onunload", unloadHandler );
}
}
/* Attributes
---------------------------------------------------------------------- */
// Support: IE<8
// Verify that getAttribute really returns attributes and not properties
// (excepting IE8 booleans)
support.attributes = assert(function( el ) {
el.className = "i";
return !el.getAttribute("className");
});
/* getElement(s)By*
---------------------------------------------------------------------- */
// Check if getElementsByTagName("*") returns only elements
support.getElementsByTagName = assert(function( el ) {
el.appendChild( document.createComment("") );
return !el.getElementsByTagName("*").length;
});
// Support: IE<9
support.getElementsByClassName = rnative.test( document.getElementsByClassName );
// Support: IE<10
// Check if getElementById returns elements by name
// The broken getElementById methods don't pick up programmatically-set names,
// so use a roundabout getElementsByName test
support.getById = assert(function( el ) {
docElem.appendChild( el ).id = expando;
return !document.getElementsByName || !document.getElementsByName( expando ).length;
});
// ID find and filter
if ( support.getById ) {
Expr.find["ID"] = function( id, context ) {
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
var m = context.getElementById( id );
return
gitextract_clkncpys/
├── .editorconfig
├── .gitignore
├── 3dTag.js
├── 3dtag.html
├── README.md
├── app.js
├── menu.html
├── package.json
└── src/
├── 3D-demo/
│ ├── 3DGoogle/
│ │ ├── css/
│ │ │ ├── bdsstyle.css
│ │ │ └── giftbox.css
│ │ ├── index.html
│ │ └── js/
│ │ ├── test.js
│ │ └── trans3d.js
│ ├── 3DTunnel/
│ │ └── 3Dtunnel.html
│ ├── 3Dbook/
│ │ ├── creativeguidebook.html
│ │ ├── css/
│ │ │ └── style.css
│ │ └── js/
│ │ ├── buttonLite.js
│ │ ├── categorizr.js
│ │ ├── ga.js
│ │ ├── modernizr.custom.31293.js
│ │ ├── ui.js
│ │ └── wb.js
│ ├── 3Dcube/
│ │ ├── css/
│ │ │ ├── index.css
│ │ │ └── normalize.css
│ │ ├── index.html
│ │ └── js/
│ │ └── jquery-3.0.0.js
│ ├── 3Dfacegirl/
│ │ ├── index.html
│ │ └── js/
│ │ ├── index.js
│ │ └── jquery.js
│ ├── 3Dphoto/
│ │ ├── index.html
│ │ └── js/
│ │ ├── ge1doot.js
│ │ └── imageTransform3D.js
│ ├── micah/
│ │ ├── index.html
│ │ └── js/
│ │ ├── Tween.js
│ │ ├── main.js
│ │ └── three.js
│ ├── periodic-table/
│ │ ├── index.html
│ │ └── js/
│ │ ├── CSS3DRenderer.js
│ │ └── TrackballControls.js
│ └── voxels-liquid/
│ ├── index.html
│ ├── index2.html
│ └── js/
│ ├── Detector.js
│ ├── RequestAnimationFrame.js
│ ├── Stats.js
│ └── Three.js
├── Canvas-demo/
│ ├── Conductor/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── data-schedule.js
│ │ │ └── soundmanager2-nodebug-jsmin.js
│ │ └── style.css
│ ├── apple_watch/
│ │ ├── index.html
│ │ ├── js/
│ │ │ └── index.js
│ │ └── style.css
│ ├── coolRain/
│ │ └── index.html
│ ├── liquid_chars/
│ │ ├── experiment-pages.css
│ │ └── liquid-chars.html
│ ├── liquid_particles/
│ │ ├── index.html
│ │ └── js/
│ │ └── ga.js
│ ├── loader.html
│ ├── mechanical_grass/
│ │ ├── css/
│ │ │ └── style.css
│ │ ├── grass.html
│ │ └── js/
│ │ ├── index.js
│ │ └── matrix.js
│ ├── nets.html
│ ├── nets_black/
│ │ ├── css/
│ │ │ └── global.css
│ │ ├── index.html
│ │ └── js/
│ │ └── ban.js
│ ├── rose.html
│ ├── space_noodles/
│ │ ├── index.html
│ │ └── js/
│ │ └── ga.js
│ ├── spider/
│ │ ├── js/
│ │ │ └── verlet-1.0.0.js
│ │ └── spider.html
│ └── tearCloth.html
├── Funny-demo/
│ ├── Blob/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── load.js
│ │ │ └── widgets.js
│ │ └── styles.css
│ ├── Button/
│ │ └── index.html
│ ├── CSS3-hover/
│ │ ├── css/
│ │ │ ├── default.css
│ │ │ ├── main.css
│ │ │ └── normalize.css
│ │ ├── index.html
│ │ └── js/
│ │ └── app.js
│ ├── Doraemon/
│ │ ├── index.html
│ │ └── style.css
│ ├── Whale/
│ │ ├── whale.html
│ │ └── whale.js
│ ├── beanstalk/
│ │ ├── audio/
│ │ │ └── thereisareason.ogg
│ │ ├── index.html
│ │ └── js/
│ │ ├── BloomEffect.js
│ │ ├── Detector.js
│ │ ├── ObjectPool.js
│ │ ├── Plant.js
│ │ ├── RequestAnimationFrame.js
│ │ ├── Stats.js
│ │ ├── Three.js
│ │ ├── ThreeWebGL.js
│ │ ├── Tween.js
│ │ ├── leaf3.js
│ │ ├── leaf5.js
│ │ └── thereisareason.js
│ ├── blackhole/
│ │ ├── index.html
│ │ └── js/
│ │ ├── black-hole.js
│ │ ├── jquery.js
│ │ └── numeric.js
│ ├── tentacles/
│ │ ├── js/
│ │ │ └── buttons.js
│ │ └── tentacles.html
│ ├── ticky_thing/
│ │ └── index.html
│ └── triangle.html
├── Game-demo/
│ ├── caisse/
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── lanrenzhijia.js
│ │ │ └── lanrenzhijia2.js
│ │ └── lanrenzhijia.css
│ ├── chinese_chess/
│ │ ├── bdsstyle.css
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── AI.js
│ │ │ ├── bill.js
│ │ │ ├── common.js
│ │ │ ├── gambit.js
│ │ │ └── play.js
│ │ └── zzsc.css
│ └── fly/
│ ├── Media/
│ │ └── aryx.ogg
│ ├── index.html
│ ├── js/
│ │ ├── ColladaLoader.js
│ │ ├── Detector.js
│ │ ├── THREEx.FullScreen.js
│ │ ├── THREEx.WindowResize.js
│ │ └── Three.js
│ └── main.css
├── Svg-demo/
│ ├── butterFlies/
│ │ ├── css/
│ │ │ ├── reset.css
│ │ │ └── style.css
│ │ └── index.html
│ └── theCreepyMouth/
│ └── index.html
├── Threejs-demo/
│ ├── build/
│ │ └── three.js
│ └── examples/
│ ├── canvas_ascii_effect.html
│ ├── canvas_camera_orthographic.html
│ ├── canvas_camera_orthographic2.html
│ ├── canvas_geometry_birds.html
│ ├── canvas_geometry_cube.html
│ ├── canvas_geometry_earth.html
│ ├── canvas_geometry_hierarchy.html
│ ├── canvas_geometry_nurbs.html
│ ├── canvas_geometry_panorama.html
│ ├── canvas_geometry_panorama_fisheye.html
│ ├── canvas_geometry_shapes.html
│ ├── canvas_geometry_terrain.html
│ ├── canvas_geometry_text.html
│ ├── canvas_interactive_cubes.html
│ ├── canvas_interactive_cubes_tween.html
│ ├── canvas_interactive_particles.html
│ ├── canvas_interactive_voxelpainter.html
│ ├── canvas_lights_pointlights.html
│ ├── canvas_lines.html
│ ├── canvas_lines_colors.html
│ ├── canvas_lines_colors_2d.html
│ ├── canvas_lines_dashed.html
│ ├── canvas_lines_sphere.html
│ ├── canvas_materials.html
│ ├── canvas_materials_normal.html
│ ├── canvas_materials_reflection.html
│ ├── canvas_materials_video.html
│ ├── canvas_morphtargets_horse.html
│ ├── canvas_particles_floor.html
│ ├── canvas_particles_random.html
│ ├── canvas_particles_sprites.html
│ ├── canvas_particles_waves.html
│ ├── canvas_performance.html
│ ├── canvas_sandbox.html
│ ├── css3d_molecules.html
│ ├── css3d_panorama.html
│ ├── css3d_panorama_deviceorientation.html
│ ├── css3d_periodictable.html
│ ├── css3d_sandbox.html
│ ├── css3d_sprites.html
│ ├── css3d_youtube.html
│ ├── files.js
│ ├── index.html
│ ├── js/
│ │ ├── AnimationClipCreator.js
│ │ ├── BlendCharacter.js
│ │ ├── BlendCharacterGui.js
│ │ ├── BufferGeometryUtils.js
│ │ ├── Car.js
│ │ ├── Cloth.js
│ │ ├── CurveExtras.js
│ │ ├── Detector.js
│ │ ├── Encodings.js
│ │ ├── GPUParticleSystem.js
│ │ ├── Gyroscope.js
│ │ ├── Half.js
│ │ ├── ImprovedNoise.js
│ │ ├── MD2Character.js
│ │ ├── MD2CharacterComplex.js
│ │ ├── MarchingCubes.js
│ │ ├── Mirror.js
│ │ ├── MorphAnimMesh.js
│ │ ├── MorphAnimation.js
│ │ ├── Ocean.js
│ │ ├── Octree.js
│ │ ├── PRNG.js
│ │ ├── ParametricGeometries.js
│ │ ├── RollerCoaster.js
│ │ ├── ShaderGodRays.js
│ │ ├── ShaderSkin.js
│ │ ├── ShaderTerrain.js
│ │ ├── ShaderToon.js
│ │ ├── SimplexNoise.js
│ │ ├── SimulationRenderer.js
│ │ ├── SkyShader.js
│ │ ├── TimelinerController.js
│ │ ├── TypedArrayUtils.js
│ │ ├── UCSCharacter.js
│ │ ├── Volume.js
│ │ ├── VolumeSlice.js
│ │ ├── WaterShader.js
│ │ ├── WebVR.js
│ │ ├── animation/
│ │ │ ├── CCDIKSolver.js
│ │ │ └── MMDPhysics.js
│ │ ├── cameras/
│ │ │ ├── CinematicCamera.js
│ │ │ └── CombinedCamera.js
│ │ ├── controls/
│ │ │ ├── DeviceOrientationControls.js
│ │ │ ├── DragControls.js
│ │ │ ├── EditorControls.js
│ │ │ ├── FirstPersonControls.js
│ │ │ ├── FlyControls.js
│ │ │ ├── MouseControls.js
│ │ │ ├── OrbitControls.js
│ │ │ ├── OrthographicTrackballControls.js
│ │ │ ├── PointerLockControls.js
│ │ │ ├── TrackballControls.js
│ │ │ ├── TransformControls.js
│ │ │ └── VRControls.js
│ │ ├── crossfade/
│ │ │ ├── gui.js
│ │ │ ├── scenes.js
│ │ │ └── transition.js
│ │ ├── curves/
│ │ │ ├── NURBSCurve.js
│ │ │ ├── NURBSSurface.js
│ │ │ └── NURBSUtils.js
│ │ ├── effects/
│ │ │ ├── AnaglyphEffect.js
│ │ │ ├── AsciiEffect.js
│ │ │ ├── ParallaxBarrierEffect.js
│ │ │ ├── PeppersGhostEffect.js
│ │ │ ├── StereoEffect.js
│ │ │ └── VREffect.js
│ │ ├── exporters/
│ │ │ ├── OBJExporter.js
│ │ │ ├── STLBinaryExporter.js
│ │ │ ├── STLExporter.js
│ │ │ └── TypedGeometryExporter.js
│ │ ├── geometries/
│ │ │ ├── ConvexGeometry.js
│ │ │ ├── DecalGeometry.js
│ │ │ ├── TeapotBufferGeometry.js
│ │ │ ├── hilbert2D.js
│ │ │ └── hilbert3D.js
│ │ ├── libs/
│ │ │ ├── ammo.js
│ │ │ ├── earcut.js
│ │ │ └── msgpack-js.js
│ │ ├── loaders/
│ │ │ ├── 3MFLoader.js
│ │ │ ├── AMFLoader.js
│ │ │ ├── AWDLoader.js
│ │ │ ├── AssimpJSONLoader.js
│ │ │ ├── BabylonLoader.js
│ │ │ ├── BinaryLoader.js
│ │ │ ├── ColladaLoader.js
│ │ │ ├── ColladaLoader2.js
│ │ │ ├── DDSLoader.js
│ │ │ ├── FBXLoader.js
│ │ │ ├── HDRCubeTextureLoader.js
│ │ │ ├── KMZLoader.js
│ │ │ ├── MD2Loader.js
│ │ │ ├── MMDLoader.js
│ │ │ ├── MTLLoader.js
│ │ │ ├── NRRDLoader.js
│ │ │ ├── OBJLoader.js
│ │ │ ├── PCDLoader.js
│ │ │ ├── PDBLoader.js
│ │ │ ├── PLYLoader.js
│ │ │ ├── PVRLoader.js
│ │ │ ├── PlayCanvasLoader.js
│ │ │ ├── RGBELoader.js
│ │ │ ├── STLLoader.js
│ │ │ ├── SVGLoader.js
│ │ │ ├── TGALoader.js
│ │ │ ├── UTF8Loader.js
│ │ │ ├── VRMLLoader.js
│ │ │ ├── VTKLoader.js
│ │ │ ├── collada/
│ │ │ │ ├── Animation.js
│ │ │ │ ├── AnimationHandler.js
│ │ │ │ └── KeyFrameAnimation.js
│ │ │ ├── ctm/
│ │ │ │ ├── CTMLoader.js
│ │ │ │ ├── CTMWorker.js
│ │ │ │ ├── ctm.js
│ │ │ │ ├── license/
│ │ │ │ │ ├── OpenCTM.txt
│ │ │ │ │ ├── js-lzma.txt
│ │ │ │ │ └── js-openctm.txt
│ │ │ │ └── lzma.js
│ │ │ ├── deprecated/
│ │ │ │ └── SceneLoader.js
│ │ │ ├── gltf/
│ │ │ │ ├── glTF-parser.js
│ │ │ │ ├── glTFAnimation.js
│ │ │ │ ├── glTFLoader.js
│ │ │ │ ├── glTFLoaderUtils.js
│ │ │ │ ├── glTFShaders.js
│ │ │ │ └── gltfUtilities.js
│ │ │ └── sea3d/
│ │ │ ├── SEA3D.js
│ │ │ ├── SEA3DDeflate.js
│ │ │ ├── SEA3DLZMA.js
│ │ │ ├── SEA3DLegacy.js
│ │ │ └── SEA3DLoader.js
│ │ ├── math/
│ │ │ ├── ColorConverter.js
│ │ │ └── Lut.js
│ │ ├── modifiers/
│ │ │ ├── BufferSubdivisionModifier.js
│ │ │ ├── ExplodeModifier.js
│ │ │ ├── SubdivisionModifier.js
│ │ │ └── TessellateModifier.js
│ │ ├── nodes/
│ │ │ ├── BuilderNode.js
│ │ │ ├── ConstNode.js
│ │ │ ├── FunctionCallNode.js
│ │ │ ├── FunctionNode.js
│ │ │ ├── GLNode.js
│ │ │ ├── InputNode.js
│ │ │ ├── NodeLib.js
│ │ │ ├── NodeMaterial.js
│ │ │ ├── RawNode.js
│ │ │ ├── TempNode.js
│ │ │ ├── accessors/
│ │ │ │ ├── CameraNode.js
│ │ │ │ ├── ColorsNode.js
│ │ │ │ ├── LightNode.js
│ │ │ │ ├── NormalNode.js
│ │ │ │ ├── PositionNode.js
│ │ │ │ ├── ReflectNode.js
│ │ │ │ ├── ScreenUVNode.js
│ │ │ │ └── UVNode.js
│ │ │ ├── inputs/
│ │ │ │ ├── ColorNode.js
│ │ │ │ ├── CubeTextureNode.js
│ │ │ │ ├── FloatNode.js
│ │ │ │ ├── IntNode.js
│ │ │ │ ├── Matrix4Node.js
│ │ │ │ ├── MirrorNode.js
│ │ │ │ ├── ScreenNode.js
│ │ │ │ ├── TextureNode.js
│ │ │ │ ├── Vector2Node.js
│ │ │ │ ├── Vector3Node.js
│ │ │ │ └── Vector4Node.js
│ │ │ ├── materials/
│ │ │ │ ├── PhongNode.js
│ │ │ │ ├── PhongNodeMaterial.js
│ │ │ │ ├── StandardNode.js
│ │ │ │ └── StandardNodeMaterial.js
│ │ │ ├── math/
│ │ │ │ ├── Math1Node.js
│ │ │ │ ├── Math2Node.js
│ │ │ │ ├── Math3Node.js
│ │ │ │ └── OperatorNode.js
│ │ │ ├── postprocessing/
│ │ │ │ └── NodePass.js
│ │ │ └── utils/
│ │ │ ├── ColorAdjustmentNode.js
│ │ │ ├── JoinNode.js
│ │ │ ├── LuminanceNode.js
│ │ │ ├── NoiseNode.js
│ │ │ ├── NormalMapNode.js
│ │ │ ├── ResolutionNode.js
│ │ │ ├── RoughnessToBlinnExponentNode.js
│ │ │ ├── SwitchNode.js
│ │ │ ├── TimerNode.js
│ │ │ └── VelocityNode.js
│ │ ├── objects/
│ │ │ └── ShadowMesh.js
│ │ ├── pmrem/
│ │ │ ├── PMREMCubeUVPacker.js
│ │ │ └── PMREMGenerator.js
│ │ ├── postprocessing/
│ │ │ ├── AdaptiveToneMappingPass.js
│ │ │ ├── BloomPass.js
│ │ │ ├── BokehPass.js
│ │ │ ├── ClearPass.js
│ │ │ ├── DotScreenPass.js
│ │ │ ├── EffectComposer.js
│ │ │ ├── FilmPass.js
│ │ │ ├── GlitchPass.js
│ │ │ ├── ManualMSAARenderPass.js
│ │ │ ├── MaskPass.js
│ │ │ ├── RenderPass.js
│ │ │ ├── SMAAPass.js
│ │ │ ├── SavePass.js
│ │ │ ├── ShaderPass.js
│ │ │ ├── TAARenderPass.js
│ │ │ └── TexturePass.js
│ │ ├── renderers/
│ │ │ ├── CSS2DRenderer.js
│ │ │ ├── CSS3DRenderer.js
│ │ │ ├── CanvasRenderer.js
│ │ │ ├── Projector.js
│ │ │ ├── RaytracingRenderer.js
│ │ │ ├── RaytracingWorker.js
│ │ │ ├── SVGRenderer.js
│ │ │ └── SoftwareRenderer.js
│ │ ├── shaders/
│ │ │ ├── BasicShader.js
│ │ │ ├── BleachBypassShader.js
│ │ │ ├── BlendShader.js
│ │ │ ├── BokehShader.js
│ │ │ ├── BokehShader2.js
│ │ │ ├── BrightnessContrastShader.js
│ │ │ ├── ColorCorrectionShader.js
│ │ │ ├── ColorifyShader.js
│ │ │ ├── ConvolutionShader.js
│ │ │ ├── CopyShader.js
│ │ │ ├── DOFMipMapShader.js
│ │ │ ├── DigitalGlitch.js
│ │ │ ├── DotScreenShader.js
│ │ │ ├── EdgeShader.js
│ │ │ ├── EdgeShader2.js
│ │ │ ├── FXAAShader.js
│ │ │ ├── FilmShader.js
│ │ │ ├── FocusShader.js
│ │ │ ├── FresnelShader.js
│ │ │ ├── GammaCorrectionShader.js
│ │ │ ├── HorizontalBlurShader.js
│ │ │ ├── HorizontalTiltShiftShader.js
│ │ │ ├── HueSaturationShader.js
│ │ │ ├── KaleidoShader.js
│ │ │ ├── LuminosityShader.js
│ │ │ ├── MirrorShader.js
│ │ │ ├── NormalMapShader.js
│ │ │ ├── OceanShaders.js
│ │ │ ├── ParallaxShader.js
│ │ │ ├── RGBShiftShader.js
│ │ │ ├── SMAAShader.js
│ │ │ ├── SSAOShader.js
│ │ │ ├── SepiaShader.js
│ │ │ ├── TechnicolorShader.js
│ │ │ ├── ToneMapShader.js
│ │ │ ├── TriangleBlurShader.js
│ │ │ ├── UnpackDepthRGBAShader.js
│ │ │ ├── VerticalBlurShader.js
│ │ │ ├── VerticalTiltShiftShader.js
│ │ │ └── VignetteShader.js
│ │ └── utils/
│ │ ├── GeometryUtils.js
│ │ ├── ImageUtils.js
│ │ ├── ShadowMapViewer.js
│ │ └── UVsDebug.js
│ ├── misc_animation_authoring.html
│ ├── misc_animation_keys.html
│ ├── misc_controls_deviceorientation.html
│ ├── misc_controls_fly.html
│ ├── misc_controls_orbit.html
│ ├── misc_controls_pointerlock.html
│ ├── misc_controls_trackball.html
│ ├── misc_controls_transform.html
│ ├── misc_fps.html
│ ├── misc_lights_test.html
│ ├── misc_lookat.html
│ ├── misc_sound.html
│ ├── misc_ubiquity_test.html
│ ├── misc_ubiquity_test2.html
│ ├── misc_uv_tests.html
│ ├── models/
│ │ ├── 3mf/
│ │ │ └── cube_gears.3mf
│ │ ├── amf/
│ │ │ └── rook.amf
│ │ ├── animated/
│ │ │ ├── flamingo.js
│ │ │ ├── horse.js
│ │ │ ├── monster/
│ │ │ │ ├── monster.blend
│ │ │ │ └── monster.js
│ │ │ ├── parrot.js
│ │ │ ├── sittingBox.js
│ │ │ └── stork.js
│ │ ├── assimp/
│ │ │ ├── interior/
│ │ │ │ ├── interior.3ds
│ │ │ │ └── interior.assimp.json
│ │ │ └── jeep/
│ │ │ ├── jeep.assimp.json
│ │ │ ├── jeep1.ms3d
│ │ │ └── jeep1.readme.txt
│ │ ├── awd/
│ │ │ └── simple/
│ │ │ └── simple.awd
│ │ ├── babylon/
│ │ │ └── skull.babylon
│ │ ├── collada/
│ │ │ ├── avatar.dae
│ │ │ ├── kawada-hironx.dae
│ │ │ ├── monster/
│ │ │ │ ├── monster.dae
│ │ │ │ └── readme.txt
│ │ │ ├── multimaterial.dae
│ │ │ └── pump/
│ │ │ └── pump.dae
│ │ ├── ctm/
│ │ │ ├── LeePerry.ctm
│ │ │ ├── WaltHead.ctm
│ │ │ ├── ben.ctm
│ │ │ ├── camaro/
│ │ │ │ ├── camaro.ctm
│ │ │ │ └── camaro.js
│ │ │ └── hand.ctm
│ │ ├── fbx/
│ │ │ ├── xsi_man.fbx
│ │ │ └── xsi_man_skinning.fbx
│ │ ├── gltf/
│ │ │ ├── CesiumMan/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── Cesium_Man.gltf
│ │ │ │ │ ├── Cesium_Man0FS.glsl
│ │ │ │ │ └── Cesium_Man0VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── Cesium_Man.gltf
│ │ │ ├── CesiumMilkTruck/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── CesiumMilkTruck.gltf
│ │ │ │ │ ├── CesiumMilkTruck0FS.glsl
│ │ │ │ │ ├── CesiumMilkTruck0VS.glsl
│ │ │ │ │ ├── CesiumMilkTruck1FS.glsl
│ │ │ │ │ └── CesiumMilkTruck1VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── CesiumMilkTruck.gltf
│ │ │ ├── duck/
│ │ │ │ ├── README.txt
│ │ │ │ ├── glTF/
│ │ │ │ │ ├── duck.gltf
│ │ │ │ │ ├── duck0FS.glsl
│ │ │ │ │ └── duck0VS.glsl
│ │ │ │ └── glTF-MaterialsCommon/
│ │ │ │ └── duck.gltf
│ │ │ └── monster/
│ │ │ ├── glTF/
│ │ │ │ ├── monster.gltf
│ │ │ │ ├── monster0FS.glsl
│ │ │ │ └── monster0VS.glsl
│ │ │ ├── glTF-MaterialsCommon/
│ │ │ │ └── monster.gltf
│ │ │ └── readme.txt
│ │ ├── json/
│ │ │ ├── pressure.json
│ │ │ ├── scene-animation.json
│ │ │ └── teapot-claraio.json
│ │ ├── md2/
│ │ │ ├── ogro/
│ │ │ │ ├── Ogro.txt
│ │ │ │ ├── ogro.md2
│ │ │ │ └── weapon.md2
│ │ │ └── ratamahatta/
│ │ │ ├── ratamahatta.md2
│ │ │ ├── w_bfg.md2
│ │ │ ├── w_blaster.md2
│ │ │ ├── w_chaingun.md2
│ │ │ ├── w_glauncher.md2
│ │ │ ├── w_hyperblaster.md2
│ │ │ ├── w_machinegun.md2
│ │ │ ├── w_railgun.md2
│ │ │ ├── w_rlauncher.md2
│ │ │ ├── w_shotgun.md2
│ │ │ ├── w_sshotgun.md2
│ │ │ └── weapon.md2
│ │ ├── mmd/
│ │ │ ├── Readme.txt
│ │ │ ├── audio/
│ │ │ │ └── readme_wavefile_short.txt
│ │ │ ├── miku/
│ │ │ │ ├── miku_v2.pmd
│ │ │ │ └── readme_miku_v2.txt
│ │ │ ├── stage/
│ │ │ │ ├── readme.txt
│ │ │ │ └── stage.pmd
│ │ │ ├── vmd/
│ │ │ │ ├── readme_wavefile.txt
│ │ │ │ ├── readme_wavefile_camera.txt
│ │ │ │ ├── wavefile_camera.vmd
│ │ │ │ └── wavefile_v2.vmd
│ │ │ └── vpd/
│ │ │ ├── 01.vpd
│ │ │ ├── 02.vpd
│ │ │ ├── 03.vpd
│ │ │ ├── 04.vpd
│ │ │ ├── 05.vpd
│ │ │ ├── 06.vpd
│ │ │ ├── 07.vpd
│ │ │ ├── 08.vpd
│ │ │ ├── 09.vpd
│ │ │ ├── 10.vpd
│ │ │ ├── 11.vpd
│ │ │ └── readme.txt
│ │ ├── molecules/
│ │ │ ├── .htaccess
│ │ │ ├── Al2O3.pdb
│ │ │ ├── aspirin.pdb
│ │ │ ├── buckyball.pdb
│ │ │ ├── caf2.pdb
│ │ │ ├── caffeine.pdb
│ │ │ ├── cholesterol.pdb
│ │ │ ├── cocaine.pdb
│ │ │ ├── cu.pdb
│ │ │ ├── cubane.pdb
│ │ │ ├── diamond.pdb
│ │ │ ├── ethanol.pdb
│ │ │ ├── glucose.pdb
│ │ │ ├── graphite.pdb
│ │ │ ├── lsd.pdb
│ │ │ ├── lycopene.pdb
│ │ │ ├── nacl.pdb
│ │ │ ├── nicotine.pdb
│ │ │ └── ybco.pdb
│ │ ├── nrrd/
│ │ │ └── I.nrrd
│ │ ├── obj/
│ │ │ ├── cerberus/
│ │ │ │ └── Cerberus.obj
│ │ │ ├── emerald.obj
│ │ │ └── tree.obj
│ │ ├── pcd/
│ │ │ └── Zaghetto.pcd
│ │ ├── platform/
│ │ │ └── platform.json
│ │ ├── ply/
│ │ │ ├── ascii/
│ │ │ │ ├── dolphins.ply
│ │ │ │ └── dolphins_colored.ply
│ │ │ └── binary/
│ │ │ ├── dolphins_be.ply
│ │ │ └── dolphins_le.ply
│ │ ├── sea3d/
│ │ │ ├── keyframe.sea
│ │ │ ├── keyframe.tjs.sea
│ │ │ ├── mascot.sea
│ │ │ ├── mascot.tjs.sea
│ │ │ ├── morph.sea
│ │ │ ├── morph.tjs.sea
│ │ │ ├── robot.sea
│ │ │ ├── robot.tjs.sea
│ │ │ ├── skin.sea
│ │ │ ├── skin.tjs.sea
│ │ │ ├── sound.sea
│ │ │ └── sound.tjs.sea
│ │ ├── skin_and_morph.dae
│ │ ├── skinned/
│ │ │ ├── UCS/
│ │ │ │ └── umich_ucs.js
│ │ │ ├── UCS_config.json
│ │ │ ├── knight.js
│ │ │ ├── marine/
│ │ │ │ ├── m4.blend
│ │ │ │ ├── m4.js
│ │ │ │ ├── marine_anims.json
│ │ │ │ ├── marine_anims_all.blend
│ │ │ │ ├── marine_anims_all.json
│ │ │ │ ├── marine_anims_core.blend
│ │ │ │ ├── marine_anims_core.json
│ │ │ │ ├── marine_anims_single.blend
│ │ │ │ ├── marine_anims_single.json
│ │ │ │ ├── marine_ik.blend
│ │ │ │ └── marine_ik.json
│ │ │ └── simple/
│ │ │ ├── simple.blend
│ │ │ └── simple.js
│ │ ├── stl/
│ │ │ ├── ascii/
│ │ │ │ ├── pr2_head_pan.stl
│ │ │ │ ├── pr2_head_tilt.stl
│ │ │ │ └── slotted_disk.stl
│ │ │ └── binary/
│ │ │ ├── colored.stl
│ │ │ ├── pr2_head_pan.stl
│ │ │ └── pr2_head_tilt.stl
│ │ ├── utf8/
│ │ │ ├── WaltHi.js
│ │ │ ├── WaltHi.utf8
│ │ │ ├── ben.js
│ │ │ ├── ben.utf8
│ │ │ ├── ben_dds.js
│ │ │ ├── dds/
│ │ │ │ ├── James_Body_Lores.dds
│ │ │ │ ├── James_EyeLashBotTran.dds
│ │ │ │ ├── James_EyeLashTopTran.dds
│ │ │ │ ├── James_Eye_Green.dds
│ │ │ │ ├── James_Eye_Inner_Green.dds
│ │ │ │ ├── James_Face_Color_Hair_Lores.dds
│ │ │ │ ├── James_Mouth_Gum_Lores.dds
│ │ │ │ ├── James_Tongue_Lores.dds
│ │ │ │ ├── MCasShoe1TEX_Lores.dds
│ │ │ │ ├── MJeans1TEX_Lores.dds
│ │ │ │ ├── MTshirt3TEX_Lores.dds
│ │ │ │ └── Nail_Hand_01_Lores.dds
│ │ │ ├── hand.js
│ │ │ └── hand.utf8
│ │ ├── vrml/
│ │ │ ├── house.wrl
│ │ │ └── simple.wrl
│ │ └── vtk/
│ │ ├── bunny.vtk
│ │ ├── cube_ascii.vtp
│ │ ├── cube_binary.vtp
│ │ ├── cube_no_compression.vtp
│ │ └── liver.vtk
│ ├── obj/
│ │ ├── Bird.js
│ │ ├── Qrcode.js
│ │ ├── Suzanne.js
│ │ ├── WaltHeadLo.js
│ │ ├── camaro/
│ │ │ ├── .htaccess
│ │ │ └── CamaroNoUv_bin.js
│ │ ├── cubecolors/
│ │ │ ├── .htaccess
│ │ │ ├── cube_fvc.blend
│ │ │ ├── cube_fvc.js
│ │ │ ├── cubecolors.blend
│ │ │ └── cubecolors.js
│ │ ├── f50/
│ │ │ ├── .htaccess
│ │ │ └── F50NoUv_bin.js
│ │ ├── female02/
│ │ │ ├── .htaccess
│ │ │ ├── Female02_bin.js
│ │ │ ├── Female02_slim.js
│ │ │ ├── female02.mtl
│ │ │ ├── female02.obj
│ │ │ └── readme.txt
│ │ ├── gallardo/
│ │ │ ├── .htaccess
│ │ │ ├── GallardoNoUv_bin.js
│ │ │ └── parts/
│ │ │ ├── gallardo_body_bin.js
│ │ │ └── gallardo_wheel_bin.js
│ │ ├── leeperrysmith/
│ │ │ ├── .htaccess
│ │ │ ├── LeePerrySmith.js
│ │ │ ├── LeePerrySmith.obj
│ │ │ └── LeePerrySmith_License.txt
│ │ ├── lightmap/
│ │ │ ├── lightmap.js
│ │ │ └── readme.txt
│ │ ├── lucy/
│ │ │ ├── .htaccess
│ │ │ ├── Lucy100k_bin.js
│ │ │ └── Lucy100k_slim.js
│ │ ├── male02/
│ │ │ ├── .htaccess
│ │ │ ├── 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
│ │ ├── ninja/
│ │ │ └── NinjaLo_bin.js
│ │ ├── suzanne/
│ │ │ ├── suzanne.Monkey.003.js
│ │ │ ├── suzanne.js
│ │ │ ├── suzanneHi.Monkey.003.js
│ │ │ └── suzanneHi.js
│ │ ├── terrain.js
│ │ ├── veyron/
│ │ │ ├── .htaccess
│ │ │ ├── VeyronNoUv_bin.js
│ │ │ └── parts/
│ │ │ ├── veyron_body_bin.js
│ │ │ └── veyron_wheel_bin.js
│ │ └── walt/
│ │ ├── .htaccess
│ │ ├── WaltHead.mtl
│ │ ├── WaltHead.obj
│ │ ├── WaltHead_bin.js
│ │ └── WaltHead_slim.js
│ ├── raytracing_sandbox.html
│ ├── scenes/
│ │ ├── robo_pigeon.js
│ │ ├── robo_pigeon.pack
│ │ └── test_scene.js
│ ├── software_geometry_earth.html
│ ├── software_lines_colors.html
│ ├── software_lines_cubes.html
│ ├── software_lines_sphere.html
│ ├── software_lines_splines.html
│ ├── software_sandbox.html
│ ├── sounds/
│ │ ├── 358232_j_s_song.ogg
│ │ ├── 376737_Skullbeatz___Bad_Cat_Maste.ogg
│ │ ├── Project_Utopia.ogg
│ │ └── readme.txt
│ ├── svg_sandbox.html
│ ├── textures/
│ │ ├── MaryOculus.webm
│ │ ├── MaryOculus.webm.nfo
│ │ ├── UV_Grid_Sm.txt
│ │ ├── compressed/
│ │ │ ├── Mountains.dds
│ │ │ ├── Mountains_argb_mip.dds
│ │ │ ├── Mountains_argb_nomip.dds
│ │ │ ├── disturb_2bpp_rgb.pvr
│ │ │ ├── disturb_4bpp_rgb.pvr
│ │ │ ├── disturb_4bpp_rgb_mips.pvr
│ │ │ ├── disturb_4bpp_rgb_v3.pvr
│ │ │ ├── disturb_argb_mip.dds
│ │ │ ├── disturb_argb_nomip.dds
│ │ │ ├── disturb_dxt1_mip.dds
│ │ │ ├── disturb_dxt1_nomip.dds
│ │ │ ├── explosion_dxt5_mip.dds
│ │ │ ├── flare_2bpp_rgba.pvr
│ │ │ ├── flare_4bpp_rgba.pvr
│ │ │ ├── hepatica_dxt3_mip.dds
│ │ │ ├── park3_cube_mip_2bpp_rgb_v3.pvr
│ │ │ └── park3_cube_nomip_4bpp_rgb.pvr
│ │ ├── crate_color8.tga
│ │ ├── crate_grey8.tga
│ │ ├── cube/
│ │ │ ├── Bridge2/
│ │ │ │ └── readme.txt
│ │ │ ├── Escher/
│ │ │ │ └── dds/
│ │ │ │ ├── nx.dds
│ │ │ │ ├── ny.dds
│ │ │ │ ├── nz.dds
│ │ │ │ ├── px.dds
│ │ │ │ ├── py.dds
│ │ │ │ └── pz.dds
│ │ │ ├── Park2/
│ │ │ │ └── readme.txt
│ │ │ ├── Park3Med/
│ │ │ │ └── readme.txt
│ │ │ ├── SwedishRoyalCastle/
│ │ │ │ └── readme.txt
│ │ │ ├── hdrPisa/
│ │ │ │ ├── nx.hdr
│ │ │ │ ├── ny.hdr
│ │ │ │ ├── nz.hdr
│ │ │ │ ├── px.hdr
│ │ │ │ ├── py.hdr
│ │ │ │ └── pz.hdr
│ │ │ └── pisaHDR/
│ │ │ ├── nx.hdr
│ │ │ ├── ny.hdr
│ │ │ ├── nz.hdr
│ │ │ ├── px.hdr
│ │ │ ├── py.hdr
│ │ │ └── pz.hdr
│ │ ├── decal/
│ │ │ └── LICENSE.TXT
│ │ ├── kinect.nfo
│ │ ├── kinect.webm
│ │ ├── lensflare/
│ │ │ └── LICENSE.txt
│ │ ├── minecraft/
│ │ │ └── painterlypack.txt
│ │ ├── miranda_uncropped.hdr
│ │ ├── normal/
│ │ │ └── ninja/
│ │ │ └── displacement.txt
│ │ ├── pano.webm
│ │ ├── patterns/
│ │ │ └── readme.txt
│ │ ├── sintel.ogv
│ │ ├── skyboxsun25degtest.txt
│ │ └── terrain/
│ │ └── readme.txt
│ ├── webgl_animation_cloth.html
│ ├── webgl_animation_scene.html
│ ├── webgl_animation_skinning_blending.html
│ ├── webgl_animation_skinning_morph.html
│ ├── webgl_buffergeometry.html
│ ├── webgl_buffergeometry_constructed_from_geometry.html
│ ├── webgl_buffergeometry_custom_attributes_particles.html
│ ├── webgl_buffergeometry_drawcalls.html
│ ├── webgl_buffergeometry_instancing.html
│ ├── webgl_buffergeometry_instancing_billboards.html
│ ├── webgl_buffergeometry_instancing_dynamic.html
│ ├── webgl_buffergeometry_instancing_interleaved_dynamic.html
│ ├── webgl_buffergeometry_lines.html
│ ├── webgl_buffergeometry_lines_indexed.html
│ ├── webgl_buffergeometry_points.html
│ ├── webgl_buffergeometry_rawshader.html
│ ├── webgl_buffergeometry_selective_draw.html
│ ├── webgl_buffergeometry_uint.html
│ ├── webgl_camera.html
│ ├── webgl_camera_cinematic.html
│ ├── webgl_camera_logarithmicdepthbuffer.html
│ ├── webgl_clipping.html
│ ├── webgl_clipping_advanced.html
│ ├── webgl_custom_attributes.html
│ ├── webgl_custom_attributes_lines.html
│ ├── webgl_custom_attributes_points.html
│ ├── webgl_custom_attributes_points2.html
│ ├── webgl_custom_attributes_points3.html
│ ├── webgl_decals.html
│ ├── webgl_depth_texture.html
│ ├── webgl_effects_anaglyph.html
│ ├── webgl_effects_parallaxbarrier.html
│ ├── webgl_effects_peppersghost.html
│ ├── webgl_effects_stereo.html
│ ├── webgl_exporter_obj.html
│ ├── webgl_geometries.html
│ ├── webgl_geometries2.html
│ ├── webgl_geometry_colors.html
│ ├── webgl_geometry_colors_blender.html
│ ├── webgl_geometry_colors_lookuptable.html
│ ├── webgl_geometry_convex.html
│ ├── webgl_geometry_cube.html
│ ├── webgl_geometry_dynamic.html
│ ├── webgl_geometry_extrude_shapes.html
│ ├── webgl_geometry_extrude_shapes2.html
│ ├── webgl_geometry_extrude_splines.html
│ ├── webgl_geometry_hierarchy.html
│ ├── webgl_geometry_hierarchy2.html
│ ├── webgl_geometry_large_mesh.html
│ ├── webgl_geometry_minecraft.html
│ ├── webgl_geometry_minecraft_ao.html
│ ├── webgl_geometry_normals.html
│ ├── webgl_geometry_nurbs.html
│ ├── webgl_geometry_shapes.html
│ ├── webgl_geometry_spline_editor.html
│ ├── webgl_geometry_teapot.html
│ ├── webgl_geometry_terrain.html
│ ├── webgl_geometry_terrain_fog.html
│ ├── webgl_geometry_terrain_raycast.html
│ ├── webgl_geometry_text.html
│ ├── webgl_geometry_text_earcut.html
│ ├── webgl_geometry_text_pnltri.html
│ ├── webgl_gpgpu_birds.html
│ ├── webgl_gpu_particle_system.html
│ ├── webgl_hdr.html
│ ├── webgl_helpers.html
│ ├── webgl_interactive_buffergeometry.html
│ ├── webgl_interactive_cubes.html
│ ├── webgl_interactive_cubes_gpu.html
│ ├── webgl_interactive_cubes_ortho.html
│ ├── webgl_interactive_draggablecubes.html
│ ├── webgl_interactive_instances_gpu.html
│ ├── webgl_interactive_lines.html
│ ├── webgl_interactive_points.html
│ ├── webgl_interactive_raycasting_points.html
│ ├── webgl_interactive_voxelpainter.html
│ ├── webgl_kinect.html
│ ├── webgl_lensflares.html
│ ├── webgl_lights_hemisphere.html
│ ├── webgl_lights_physical.html
│ ├── webgl_lights_pointlights.html
│ ├── webgl_lights_pointlights2.html
│ ├── webgl_lights_spotlight.html
│ ├── webgl_lights_spotlights.html
│ ├── webgl_lines_colors.html
│ ├── webgl_lines_cubes.html
│ ├── webgl_lines_dashed.html
│ ├── webgl_lines_sphere.html
│ ├── webgl_lines_splines.html
│ ├── webgl_loader_3mf.html
│ ├── webgl_loader_amf.html
│ ├── webgl_loader_assimp2json.html
│ ├── webgl_loader_awd.html
│ ├── webgl_loader_babylon.html
│ ├── webgl_loader_collada.html
│ ├── webgl_loader_collada_keyframe.html
│ ├── webgl_loader_collada_kinematics.html
│ ├── webgl_loader_collada_skinning.html
│ ├── webgl_loader_ctm.html
│ ├── webgl_loader_ctm_materials.html
│ ├── webgl_loader_fbx.html
│ ├── webgl_loader_gltf.html
│ ├── webgl_loader_json_blender.html
│ ├── webgl_loader_json_claraio.html
│ ├── webgl_loader_json_objconverter.html
│ ├── webgl_loader_md2.html
│ ├── webgl_loader_md2_control.html
│ ├── webgl_loader_mmd.html
│ ├── webgl_loader_mmd_audio.html
│ ├── webgl_loader_mmd_pose.html
│ ├── webgl_loader_msgpack.html
│ ├── webgl_loader_nrrd.html
│ ├── webgl_loader_obj.html
│ ├── webgl_loader_obj_mtl.html
│ ├── webgl_loader_pcd.html
│ ├── webgl_loader_pdb.html
│ ├── webgl_loader_ply.html
│ ├── webgl_loader_scene.html
│ ├── webgl_loader_sea3d.html
│ ├── webgl_loader_sea3d_hierarchy.html
│ ├── webgl_loader_sea3d_keyframe.html
│ ├── webgl_loader_sea3d_morph.html
│ ├── webgl_loader_sea3d_skinning.html
│ ├── webgl_loader_sea3d_sound.html
│ ├── webgl_loader_stl.html
│ ├── webgl_loader_utf8.html
│ ├── webgl_loader_vrml.html
│ ├── webgl_loader_vtk.html
│ ├── webgl_lod.html
│ ├── webgl_marchingcubes.html
│ ├── webgl_materials.html
│ ├── webgl_materials_blending.html
│ ├── webgl_materials_blending_custom.html
│ ├── webgl_materials_bumpmap.html
│ ├── webgl_materials_bumpmap_skin.html
│ ├── webgl_materials_cars.html
│ ├── webgl_materials_channels.html
│ ├── webgl_materials_cubemap.html
│ ├── webgl_materials_cubemap_balls_reflection.html
│ ├── webgl_materials_cubemap_balls_refraction.html
│ ├── webgl_materials_cubemap_dynamic.html
│ ├── webgl_materials_cubemap_dynamic2.html
│ ├── webgl_materials_cubemap_escher.html
│ ├── webgl_materials_cubemap_refraction.html
│ ├── webgl_materials_displacementmap.html
│ ├── webgl_materials_envmaps.html
│ ├── webgl_materials_envmaps_hdr.html
│ ├── webgl_materials_grass.html
│ ├── webgl_materials_lightmap.html
│ ├── webgl_materials_nodes.html
│ ├── webgl_materials_normalmap.html
│ ├── webgl_materials_parallaxmap.html
│ ├── webgl_materials_reflectivity.html
│ ├── webgl_materials_shaders_fresnel.html
│ ├── webgl_materials_skin.html
│ ├── webgl_materials_standard.html
│ ├── webgl_materials_texture_anisotropy.html
│ ├── webgl_materials_texture_compressed.html
│ ├── webgl_materials_texture_filters.html
│ ├── webgl_materials_texture_hdr.html
│ ├── webgl_materials_texture_manualmipmap.html
│ ├── webgl_materials_texture_pvrtc.html
│ ├── webgl_materials_texture_tga.html
│ ├── webgl_materials_transparency.html
│ ├── webgl_materials_variations_basic.html
│ ├── webgl_materials_variations_lambert.html
│ ├── webgl_materials_variations_phong.html
│ ├── webgl_materials_variations_standard.html
│ ├── webgl_materials_video.html
│ ├── webgl_materials_wireframe.html
│ ├── webgl_mirror.html
│ ├── webgl_mirror_nodes.html
│ ├── webgl_modifier_subdivision.html
│ ├── webgl_modifier_tessellation.html
│ ├── webgl_morphnormals.html
│ ├── webgl_morphtargets.html
│ ├── webgl_morphtargets_horse.html
│ ├── webgl_morphtargets_human.html
│ ├── webgl_multiple_canvases_circle.html
│ ├── webgl_multiple_canvases_complex.html
│ ├── webgl_multiple_canvases_grid.html
│ ├── webgl_multiple_elements.html
│ ├── webgl_multiple_elements_text.html
│ ├── webgl_multiple_renderers.html
│ ├── webgl_multiple_views.html
│ ├── webgl_nearestneighbour.html
│ ├── webgl_objects_update.html
│ ├── webgl_octree.html
│ ├── webgl_octree_raycasting.html
│ ├── webgl_panorama_dualfisheye.html
│ ├── webgl_panorama_equirectangular.html
│ ├── webgl_performance.html
│ ├── webgl_performance_doublesided.html
│ ├── webgl_performance_static.html
│ ├── webgl_points_billboards.html
│ ├── webgl_points_billboards_colors.html
│ ├── webgl_points_dynamic.html
│ ├── webgl_points_random.html
│ ├── webgl_points_sprites.html
│ ├── webgl_postprocessing.html
│ ├── webgl_postprocessing_advanced.html
│ ├── webgl_postprocessing_crossfade.html
│ ├── webgl_postprocessing_dof.html
│ ├── webgl_postprocessing_dof2.html
│ ├── webgl_postprocessing_glitch.html
│ ├── webgl_postprocessing_godrays.html
│ ├── webgl_postprocessing_masking.html
│ ├── webgl_postprocessing_msaa.html
│ ├── webgl_postprocessing_msaa_unbiased.html
│ ├── webgl_postprocessing_nodes.html
│ ├── webgl_postprocessing_procedural.html
│ ├── webgl_postprocessing_smaa.html
│ ├── webgl_postprocessing_ssao.html
│ ├── webgl_postprocessing_taa.html
│ ├── webgl_raycast_texture.html
│ ├── webgl_raymarching_reflect.html
│ ├── webgl_read_float_buffer.html
│ ├── webgl_rtt.html
│ ├── webgl_sandbox.html
│ ├── webgl_shader.html
│ ├── webgl_shader2.html
│ ├── webgl_shader_lava.html
│ ├── webgl_shaders_ocean.html
│ ├── webgl_shaders_ocean2.html
│ ├── webgl_shaders_sky.html
│ ├── webgl_shaders_tonemapping.html
│ ├── webgl_shaders_vector.html
│ ├── webgl_shading_physical.html
│ ├── webgl_shadowmap.html
│ ├── webgl_shadowmap_performance.html
│ ├── webgl_shadowmap_pointlight.html
│ ├── webgl_shadowmap_viewer.html
│ ├── webgl_shadowmesh.html
│ ├── webgl_skinning_simple.html
│ ├── webgl_sprites.html
│ ├── webgl_terrain_dynamic.html
│ ├── webgl_test_memory.html
│ ├── webgl_test_memory2.html
│ ├── webgl_tonemapping.html
│ ├── webgl_trails.html
│ ├── webgl_video_panorama_equirectangular.html
│ ├── webvr_cubes.html
│ ├── webvr_panorama.html
│ ├── webvr_rollercoaster.html
│ ├── webvr_shadow.html
│ ├── webvr_video.html
│ └── webvr_vive.html
└── WebGL-demo/
├── clouds/
│ ├── index.html
│ └── js/
│ └── Detector.js
├── jellyfish/
│ ├── index.html
│ ├── js/
│ │ ├── analytics.js
│ │ ├── debug.js
│ │ ├── drawJellyfish.js
│ │ ├── drawScene.js
│ │ ├── initBuffers.js
│ │ ├── initShaders.js
│ │ ├── initTextures.js
│ │ ├── initUniforms.js
│ │ ├── initWin.js
│ │ ├── interact.js
│ │ ├── lib/
│ │ │ └── mjs.js
│ │ ├── mjs.js
│ │ ├── simulator.js
│ │ └── tick.js
│ ├── meshes/
│ │ ├── jellyfish0.json
│ │ ├── jellyfish2.json
│ │ └── jellyfish3.json
│ └── style.css
├── reactive-ball/
│ ├── index.html
│ └── js/
│ ├── ReactiveBall.js
│ └── SphereGeometry.js
├── visualEYEzer/
│ ├── index.html
│ ├── js/
│ │ ├── AudioKeys.js
│ │ ├── Detector.js
│ │ ├── Library.js
│ │ ├── Stats.js
│ │ ├── Three.js
│ │ ├── Tween.js
│ │ ├── eye_fragment.js
│ │ ├── eye_vertex.js
│ │ └── ga.js
│ └── styles.css
└── webgl-water/
├── index.html
└── js/
├── OES_texture_float_linear-polyfill.js
├── cubemap.js
├── lightgl.js
├── main.js
├── renderer.js
└── water.js
Showing preview only (396K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (4497 symbols across 140 files)
FILE: 3dTag.js
function getClass (line 15) | function getClass(className) {
function init (line 27) | function init() {
function animate (line 48) | function animate() {
function rotateX (line 70) | function rotateX() {
function rotateY (line 82) | function rotateY() {
FILE: app.js
constant PORT (line 6) | const PORT = 3006;
FILE: src/3D-demo/3DGoogle/js/test.js
function launch (line 5) | function launch()
function CubeApp (line 14) | function CubeApp()
FILE: src/3D-demo/3DGoogle/js/trans3d.js
function Vec3 (line 25) | function Vec3(_x, _y, _z)
function M44 (line 101) | function M44(cpy)
function M22 (line 363) | function M22()
FILE: src/3D-demo/3Dbook/js/categorizr.js
function _setDeviceBooleans (line 86) | function _setDeviceBooleans () {
function _setClassName (line 94) | function _setClassName () {
function _update (line 100) | function _update () {
FILE: src/3D-demo/3Dbook/js/modernizr.custom.31293.js
function z (line 4) | function z(a){j.cssText=a}
function A (line 4) | function A(a,b){return z(m.join(a+";")+(b||""))}
function B (line 4) | function B(a,b){return typeof a===b}
function C (line 4) | function C(a,b){return!!~(""+a).indexOf(b)}
function D (line 4) | function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return...
function E (line 4) | function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a...
function F (line 4) | function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o....
function k (line 4) | function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("hea...
function l (line 4) | function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}
function m (line 4) | function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}
function n (line 4) | function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));va...
function o (line 4) | function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a...
function p (line 4) | function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.crea...
function q (line 4) | function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.ha...
function d (line 4) | function d(a){return"[object Function]"==o.call(a)}
function e (line 4) | function e(a){return"string"==typeof a}
function f (line 4) | function f(){}
function g (line 4) | function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}
function h (line 4) | function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCs...
function i (line 4) | function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1...
function j (line 4) | function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++...
function k (line 4) | function k(){var a=B;return a.loader={load:j,i:0},a}
function b (line 4) | function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:...
function g (line 4) | function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop()...
function h (line 4) | function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[]....
FILE: src/3D-demo/3Dbook/js/wb.js
function g (line 8) | function g(t) {
FILE: src/3D-demo/3Dcube/js/jquery-3.0.0.js
function DOMEval (line 76) | function DOMEval( code, doc ) {
function isArrayLike (line 525) | function isArrayLike( obj ) {
function Sizzle (line 757) | function Sizzle( selector, context, results, seed ) {
function createCache (line 896) | function createCache() {
function markFunction (line 914) | function markFunction( fn ) {
function assert (line 923) | function assert( fn ) {
function addHandle (line 945) | function addHandle( attrs, handler ) {
function siblingCheck (line 960) | function siblingCheck( a, b ) {
function createInputPseudo (line 986) | function createInputPseudo( type ) {
function createButtonPseudo (line 997) | function createButtonPseudo( type ) {
function createDisabledPseudo (line 1008) | function createDisabledPseudo( disabled ) {
function createPositionalPseudo (line 1036) | function createPositionalPseudo( fn ) {
function testContext (line 1059) | function testContext( context ) {
function setFilters (line 2115) | function setFilters() {}
function toSelector (line 2186) | function toSelector( tokens ) {
function addCombinator (line 2196) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2258) | function elementMatcher( matchers ) {
function multipleContexts (line 2272) | function multipleContexts( selector, contexts, results ) {
function condense (line 2281) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2302) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2395) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2453) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2794) | function winnow( elements, qualifier, not ) {
function sibling (line 3091) | function sibling( cur, dir ) {
function createOptions (line 3167) | function createOptions( options ) {
function Identity (line 3392) | function Identity( v ) {
function Thrower (line 3395) | function Thrower( ex ) {
function adoptValue (line 3399) | function adoptValue( value, resolve, reject ) {
function resolve (line 3491) | function resolve( depth, deferred, handler, special ) {
function completed (line 3840) | function completed() {
function Data (line 3940) | function Data() {
function dataAttr (line 4109) | function dataAttr( elem, key, data ) {
function adjustCSS (line 4429) | function adjustCSS( elem, prop, valueParts, tween ) {
function getDefaultDisplay (line 4490) | function getDefaultDisplay( elem ) {
function showHide (line 4513) | function showHide( elements, show ) {
function getAll (line 4614) | function getAll( context, tag ) {
function setGlobalEval (line 4631) | function setGlobalEval( elems, refElements ) {
function buildFragment (line 4647) | function buildFragment( elems, context, scripts, selection, ignored ) {
function returnTrue (line 4770) | function returnTrue() {
function returnFalse (line 4774) | function returnFalse() {
function safeActiveElement (line 4780) | function safeActiveElement() {
function on (line 4786) | function on( elem, types, selector, data, fn, one ) {
function manipulationTarget (line 5489) | function manipulationTarget( elem, content ) {
function disableScript (line 5500) | function disableScript( elem ) {
function restoreScript (line 5504) | function restoreScript( elem ) {
function cloneCopyEvent (line 5516) | function cloneCopyEvent( src, dest ) {
function fixInput (line 5551) | function fixInput( src, dest ) {
function domManip (line 5564) | function domManip( collection, args, callback, ignored ) {
function remove (line 5654) | function remove( elem, selector, keepData ) {
function computeStyleTests (line 5947) | function computeStyleTests() {
function curCSS (line 6021) | function curCSS( elem, name, computed ) {
function addGetHookIf (line 6068) | function addGetHookIf( conditionFn, hookFn ) {
function vendorPropName (line 6104) | function vendorPropName( name ) {
function setPositiveNumber (line 6123) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 6135) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 6179) | function getWidthOrHeight( elem, name, extra ) {
function Tween (line 6487) | function Tween( elem, options, prop, end, easing ) {
function raf (line 6610) | function raf() {
function createFxNow (line 6618) | function createFxNow() {
function genFx (line 6626) | function genFx( type, includeWidth ) {
function createTween (line 6646) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 6660) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 6829) | function propFilter( props, specialEasing ) {
function Animation (line 6866) | function Animation( elem, properties, options ) {
function getClass (line 7557) | function getClass( elem ) {
function buildParams (line 8177) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 8323) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8357) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8386) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8406) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8464) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 8976) | function done( status, nativeStatusText, responses, headers ) {
function getWindow (line 9701) | function getWindow( elem ) {
FILE: src/3D-demo/3Dfacegirl/js/index.js
function tickHandler (line 38) | function tickHandler() {
function init (line 63) | function init(){
function onTouchMove (line 118) | function onTouchMove(event) {
function onTouchStart (line 125) | function onTouchStart(event) {
function onTouchEnd (line 132) | function onTouchEnd(event) {
function averageGaps (line 138) | function averageGaps(n){
FILE: src/3D-demo/3Dfacegirl/js/jquery.js
function y (line 14) | function y(e){var t=e.length,n=p.type(e);return n==="function"||p.isWind...
function x (line 14) | function x(e,t,n){if(p.isFunction(t))return p.grep(e,function(e,r){retur...
function O (line 14) | function O(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}
function D (line 14) | function D(e){var t=_[e]={};return p.each(e.match(M)||[],function(e,n){t...
function H (line 14) | function H(){N.addEventListener?(N.removeEventListener("DOMContentLoaded...
function B (line 14) | function B(){if(N.addEventListener||event.type==="load"||N.readyState===...
function R (line 14) | function R(e,t,n){if(n===undefined&&e.nodeType===1){var r="data-"+t.repl...
function U (line 14) | function U(e){var t;for(t in e){if(t==="data"&&p.isEmptyObject(e[t]))con...
function z (line 14) | function z(e,t,r,i){if(!p.acceptData(e))return;var s,o,u=p.expando,a=e.n...
function W (line 14) | function W(e,t,n){if(!p.acceptData(e))return;var r,i,s=e.nodeType,o=s?p....
function tt (line 14) | function tt(){return!0}
function nt (line 14) | function nt(){return!1}
function rt (line 14) | function rt(){try{return N.activeElement}catch(e){}}
function it (line 14) | function it(e){var t=st.split("|"),n=e.createDocumentFragment();if(n.cre...
function Et (line 14) | function Et(e,t){var n,r,i=0,s=typeof e.getElementsByTagName!==j?e.getEl...
function St (line 14) | function St(e){K.test(e.type)&&(e.defaultChecked=e.checked)}
function xt (line 14) | function xt(e,t){return p.nodeName(e,"table")&&p.nodeName(t.nodeType!==1...
function Tt (line 14) | function Tt(e){return e.type=(p.find.attr(e,"type")!==null)+"/"+e.type,e}
function Nt (line 14) | function Nt(e){var t=mt.exec(e.type);return t?e.type=t[1]:e.removeAttrib...
function Ct (line 14) | function Ct(e,t){var n,r=0;for(;(n=e[r])!=null;r++)p._data(n,"globalEval...
function kt (line 14) | function kt(e,t){if(t.nodeType!==1||!p.hasData(e))return;var n,r,i,s=p._...
function Lt (line 14) | function Lt(e,t){var n,r,i;if(t.nodeType!==1)return;n=t.nodeName.toLower...
function Mt (line 14) | function Mt(t,n){var r=p(n.createElement(t)).appendTo(n.body),i=e.getDef...
function _t (line 14) | function _t(e){var t=N,n=Ot[e];if(!n){n=Mt(e,t);if(n==="none"||!n)At=(At...
function Ft (line 14) | function Ft(e,t){return{get:function(){var n=e();if(n==null)return;if(n)...
function $t (line 14) | function $t(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.sl...
function Jt (line 14) | function Jt(e,t){var n,r,i,s=[],o=0,u=e.length;for(;o<u;o++){r=e[o];if(!...
function Kt (line 14) | function Kt(e,t,n){var r=Ut.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[...
function Qt (line 14) | function Qt(e,t,n,r,i){var s=n===(r?"border":"content")?4:t==="width"?1:...
function Gt (line 14) | function Gt(e,t,n){var r=!0,i=t==="width"?e.offsetWidth:e.offsetHeight,s...
function Yt (line 14) | function Yt(e,t,n,r,i){return new Yt.prototype.init(e,t,n,r,i)}
function un (line 14) | function un(){return setTimeout(function(){Zt=undefined}),Zt=p.now()}
function an (line 14) | function an(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=V[i],r...
function fn (line 14) | function fn(e,t,n){var r,i=(on[t]||[]).concat(on["*"]),s=0,o=i.length;fo...
function ln (line 14) | function ln(e,t,n){var r,i,s,o,u,a,f,l,h=this,d={},v=e.style,m=e.nodeTyp...
function cn (line 14) | function cn(e,t){var n,r,i,s,o;for(n in e){r=p.camelCase(n),i=t[r],s=e[n...
function hn (line 14) | function hn(e,t,n){var r,i,s=0,o=sn.length,u=p.Deferred().always(functio...
function In (line 14) | function In(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var ...
function qn (line 14) | function qn(e,t,n,r){function o(u){var a;return i[u]=!0,p.each(e[u]||[],...
function Rn (line 14) | function Rn(e,t){var n,r,i=p.ajaxSettings.flatOptions||{};for(r in t)t[r...
function Un (line 14) | function Un(e,t,n){var r,i,s,o,u=e.contents,a=e.dataTypes;while(a[0]==="...
function zn (line 14) | function zn(e,t,n,r){var i,s,o,u,a,f={},l=e.dataTypes.slice();if(l[1])fo...
function Kn (line 14) | function Kn(e,t,n,r){var i;if(p.isArray(t))p.each(t,function(t,i){n||Xn....
function Zn (line 14) | function Zn(){try{return new e.XMLHttpRequest}catch(t){}}
function er (line 14) | function er(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(...
function sr (line 14) | function sr(e){return p.isWindow(e)?e:e.nodeType===9?e.defaultView||e.pa...
function rt (line 14) | function rt(e,t,r,i){var s,o,u,a,f,h,v,m,w,E;(t?t.ownerDocument||t:b)!==...
function it (line 14) | function it(){function t(n,i){return e.push(n+" ")>r.cacheLength&&delete...
function st (line 14) | function st(e){return e[y]=!0,e}
function ot (line 14) | function ot(e){var t=c.createElement("div");try{return!!e(t)}catch(n){re...
function ut (line 14) | function ut(e,t){var n=e.split("|"),i=e.length;while(i--)r.attrHandle[n[...
function at (line 14) | function at(e,t){var n=t&&e,r=n&&e.nodeType===1&&t.nodeType===1&&(~t.sou...
function ft (line 14) | function ft(e){return function(t){var n=t.nodeName.toLowerCase();return ...
function lt (line 14) | function lt(e){return function(t){var n=t.nodeName.toLowerCase();return(...
function ct (line 14) | function ct(e){return st(function(t){return t=+t,st(function(n,r){var i,...
function ht (line 14) | function ht(e){return e&&typeof e.getElementsByTagName!==C&&e}
function pt (line 14) | function pt(){}
function dt (line 14) | function dt(e,t){var n,i,s,o,u,a,f,l=x[e+" "];if(l)return t?0:l.slice(0)...
function vt (line 14) | function vt(e){var t=0,n=e.length,r="";for(;t<n;t++)r+=e[t].value;return r}
function mt (line 14) | function mt(e,t,n){var r=t.dir,i=n&&r==="parentNode",s=E++;return t.firs...
function gt (line 14) | function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i-...
function yt (line 14) | function yt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)...
function bt (line 14) | function bt(e,t,n,r,i,s){return r&&!r[y]&&(r=bt(r)),i&&!i[y]&&(i=bt(i,s)...
function wt (line 14) | function wt(e){var t,n,i,s=e.length,o=r.relative[e[0].type],a=o||r.relat...
function Et (line 14) | function Et(e,t){var n=t.length>0,i=e.length>0,s=function(s,o,a,f,l){var...
function St (line 14) | function St(e,t,n){var r=0,i=t.length;for(;r<i;r++)rt(e,t[r],n);return n}
function xt (line 14) | function xt(e,t,i,s){var u,a,f,l,c,h=dt(e);if(!s&&h.length===1){a=h[0]=h...
function l (line 15) | function l(){var t,n,u=N.getElementsByTagName("body")[0];if(!u)return;t=...
function x (line 16) | function x(e,t,n,r){var f,g,y,w,S,x=t;if(b===2)return;b=2,o&&clearTimeou...
FILE: src/3D-demo/micah/js/main.js
function init (line 65) | function init(){
function oscillateX (line 79) | function oscillateX(object, time) {
function renderObject (line 83) | function renderObject(time) {
function render (line 91) | function render(time) {
FILE: src/3D-demo/micah/js/three.js
method x (line 683) | get x () {
method x (line 689) | set x ( value ) {
method y (line 696) | get y () {
method y (line 702) | set y ( value ) {
method z (line 709) | get z () {
method z (line 715) | set z ( value ) {
method w (line 722) | get w () {
method w (line 728) | set w ( value ) {
method x (line 3198) | get x () {
method x (line 3204) | set x ( value ) {
method y (line 3211) | get y () {
method y (line 3217) | set y ( value ) {
method z (line 3224) | get z () {
method z (line 3230) | set z ( value ) {
method order (line 3237) | get order () {
method order (line 3243) | set order ( value ) {
function interpolate (line 6914) | function interpolate( p0, p1, p2, p3, t, t2, t3 ) {
method eulerOrder (line 7517) | get eulerOrder () {
method eulerOrder (line 7525) | set eulerOrder ( value ) {
method useQuaternion (line 7533) | get useQuaternion () {
method useQuaternion (line 7539) | set useQuaternion ( value ) {
method length (line 8311) | get length () {
function handleTriangle (line 9040) | function handleTriangle( a, b, c ) {
function handleVertex (line 9123) | function handleVertex( v ) {
function handleTriangle (line 9929) | function handleTriangle( context, a, b, c, ua, ub, uc ) {
function setBit (line 10400) | function setBit( value, position, enabled ) {
function getNormalIndex (line 10406) | function getNormalIndex( normal ) {
function getColorIndex (line 10423) | function getColorIndex( color ) {
function getUvIndex (line 10440) | function getUvIndex( uv ) {
function nearest_pow2 (line 11400) | function nearest_pow2( n ) {
function create_texture (line 11407) | function create_texture( where, name, sourceFile, repeat, offset, wrap, ...
function rgb2hex (line 11493) | function rgb2hex( rgb ) {
function parseModel (line 12015) | function parseModel( scale ) {
function parseSkin (line 12315) | function parseSkin() {
function parseMorphing (line 12365) | function parseMorphing( scale ) {
method needsUpdate (line 13502) | get needsUpdate () {
method needsUpdate (line 13508) | set needsUpdate ( value ) {
method needsUpdate (line 14743) | get needsUpdate () {
method needsUpdate (line 14749) | set needsUpdate ( value ) {
function createParticleBuffers (line 18413) | function createParticleBuffers ( geometry ) {
function createLineBuffers (line 18422) | function createLineBuffers ( geometry ) {
function createMeshBuffers (line 18432) | function createMeshBuffers ( geometryGroup ) {
function initCustomAttributes (line 18788) | function initCustomAttributes ( object ) {
function initParticleBuffers (line 18837) | function initParticleBuffers ( geometry, object ) {
function initLineBuffers (line 18850) | function initLineBuffers ( geometry, object ) {
function initMeshBuffers (line 18864) | function initMeshBuffers ( geometryGroup, object ) {
function getBufferMaterial (line 18995) | function getBufferMaterial( object, geometryGroup ) {
function materialNeedsFaceNormals (line 19003) | function materialNeedsFaceNormals ( material ) {
function setParticleBuffers (line 19011) | function setParticleBuffers ( geometry, hint, object ) {
function setLineBuffers (line 19165) | function setLineBuffers ( geometry, hint ) {
function setMeshBuffers (line 19337) | function setMeshBuffers( geometryGroup, object, hint, dispose, material ) {
function setupVertexAttributes (line 20237) | function setupVertexAttributes( material, program, geometry, startIndex ) {
function setupMorphTargets (line 20874) | function setupMorphTargets ( material, geometryGroup, object ) {
function painterSortStable (line 21044) | function painterSortStable ( a, b ) {
function reversePainterSortStable (line 21066) | function reversePainterSortStable ( a, b ) {
function numericalSort (line 21084) | function numericalSort ( a, b ) {
function projectObject (line 21236) | function projectObject( object ) {
function renderObjects (line 21299) | function renderObjects( renderList, camera, lights, fog, overrideMateria...
function renderObjectsImmediate (line 21342) | function renderObjectsImmediate ( renderList, materialType, camera, ligh...
function unrollImmediateBufferMaterial (line 21395) | function unrollImmediateBufferMaterial ( globject ) {
function unrollBufferMaterial (line 21414) | function unrollBufferMaterial ( globject ) {
function initObject (line 21458) | function initObject( object ) {
function makeGroups (line 21559) | function makeGroups( geometry, usesFaceMaterial ) {
function initGeometryGroups (line 21633) | function initGeometryGroups( object, geometry ) {
function addBuffer (line 21690) | function addBuffer( objlist, buffer, object ) {
function addBufferImmediate (line 21706) | function addBufferImmediate( objlist, object ) {
function updateObject (line 21722) | function updateObject( object ) {
function areCustomAttributesDirty (line 21850) | function areCustomAttributesDirty( material ) {
function clearCustomAttributes (line 21862) | function clearCustomAttributes( material ) {
function removeObject (line 21874) | function removeObject( object ) {
function removeInstances (line 21896) | function removeInstances( objlist, object ) {
function initMaterial (line 21923) | function initMaterial( material, lights, fog, object ) {
function setMaterial (line 22132) | function setMaterial( material ) {
function setProgram (line 22151) | function setProgram( camera, lights, fog, material, object ) {
function refreshUniformsCommon (line 22399) | function refreshUniformsCommon ( uniforms, material ) {
function refreshUniformsLine (line 22472) | function refreshUniformsLine ( uniforms, material ) {
function refreshUniformsDash (line 22479) | function refreshUniformsDash ( uniforms, material ) {
function refreshUniformsParticle (line 22487) | function refreshUniformsParticle ( uniforms, material ) {
function refreshUniformsFog (line 22507) | function refreshUniformsFog ( uniforms, fog ) {
function refreshUniformsPhong (line 22524) | function refreshUniformsPhong ( uniforms, material ) {
function refreshUniformsLambert (line 22539) | function refreshUniformsLambert ( uniforms, material ) {
function refreshUniformsLights (line 22551) | function refreshUniformsLights ( uniforms, lights ) {
function markUniformsLightsNeedsUpdate (line 22579) | function markUniformsLightsNeedsUpdate ( uniforms, value ) {
function refreshUniformsShadow (line 22605) | function refreshUniformsShadow ( uniforms, lights ) {
function loadUniformsMatrices (line 22639) | function loadUniformsMatrices ( uniforms, object ) {
function getTextureUnit (line 22651) | function getTextureUnit() {
function loadUniformsGeneric (line 22667) | function loadUniformsGeneric ( uniforms ) {
function setupMatrices (line 23003) | function setupMatrices ( object, camera ) {
function setColorLinear (line 23010) | function setColorLinear( array, offset, color, intensity ) {
function setupLights (line 23018) | function setupLights ( lights ) {
function setTextureParameters (line 23252) | function setTextureParameters ( textureType, texture, isImagePowerOfTwo ) {
function clampToMaxSize (line 23430) | function clampToMaxSize ( image, maxSize ) {
function setCubeTexture (line 23456) | function setCubeTexture ( texture, slot ) {
function setCubeTextureDynamic (line 23570) | function setCubeTextureDynamic ( texture, slot ) {
function setupFrameBuffer (line 23579) | function setupFrameBuffer ( framebuffer, renderTarget, textureTarget ) {
function setupRenderBuffer (line 23586) | function setupRenderBuffer ( renderbuffer, renderTarget ) {
function updateRenderTargetMipmap (line 23811) | function updateRenderTargetMipmap ( renderTarget ) {
function filterFallback (line 23831) | function filterFallback ( f ) {
function paramThreeToGL (line 23845) | function paramThreeToGL ( p ) {
function allocateBones (line 23941) | function allocateBones ( object ) {
function allocateLights (line 23980) | function allocateLights( lights ) {
function allocateShadows (line 24004) | function allocateShadows( lights ) {
function createProgram (line 25458) | function createProgram ( shader ) {
function projectObject (line 25836) | function projectObject( scene, object, shadowCamera ) {
function createVirtualLight (line 25865) | function createVirtualLight( light, cascade ) {
function updateVirtualLight (line 25922) | function updateVirtualLight( light, cascade ) {
function updateShadowCamera (line 25954) | function updateShadowCamera( camera, light ) {
function getObjectMaterial (line 25999) | function getObjectMaterial( object ) {
function createProgram (line 26253) | function createProgram () {
function painterSortStable (line 26360) | function painterSortStable ( a, b ) {
function extractSubpaths (line 28529) | function extractSubpaths( inActions ) {
function toShapesNoHoles (line 28568) | function toShapesNoHoles( inSubpaths ) {
function isPointInsidePolygon (line 28588) | function isPointInsidePolygon( inPt, inPolygon ) {
function point_in_segment_2D_colin (line 28882) | function point_in_segment_2D_colin( inSegPt1, inSegPt2, inOtherPt ) {
function intersect_segments_2D (line 28899) | function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2P...
function isPointInsideAngle (line 29023) | function isPointInsideAngle( inVertex, inLegFromPt, inLegToPt, inOtherPt...
function removeHoles (line 29054) | function removeHoles( contour, holes ) {
function buildPlane (line 30712) | function buildPlane( u, v, udir, vdir, width, height, depth, materialInd...
function scalePt2 (line 31229) | function scalePt2 ( pt, vec, size ) {
function getBevelVec (line 31245) | function getBevelVec( inPt, inPrev, inNext ) {
function buildLidFaces (line 31534) | function buildLidFaces() {
function buildSideFaces (line 31587) | function buildSideFaces() {
function sidewalls (line 31605) | function sidewalls( contour, layeroffset ) {
function v (line 31638) | function v( x, y, z ) {
function f3 (line 31644) | function f3( a, b, c ) {
function f4 (line 31659) | function f4( a, b, c, d, wallContour, stepIndex, stepsLength, contourInd...
function getPos (line 32541) | function getPos( u, in_q, in_p, radius, heightScale ) {
function vert (line 32626) | function vert( x, y, z ) {
function initialNormal3 (line 32777) | function initialNormal3() {
function prepare (line 32957) | function prepare( vector ) {
function make (line 32975) | function make( v1, v2, v3 ) {
function subdivide (line 32995) | function subdivide( face, detail ) {
function azimuth (line 33064) | function azimuth( vector ) {
function inclination (line 33073) | function inclination( vector ) {
function correctUV (line 33082) | function correctUV( uv, vector, azimuth ) {
function addLine (line 33697) | function addLine( a, b, hex ) {
function addPoint (line 33704) | function addPoint( id, hex ) {
FILE: src/3D-demo/periodic-table/js/TrackballControls.js
function keydown (line 353) | function keydown( event ) {
function keyup (line 381) | function keyup( event ) {
function mousedown (line 391) | function mousedown( event ) {
function mousemove (line 428) | function mousemove( event ) {
function mouseup (line 451) | function mouseup( event ) {
function mousewheel (line 466) | function mousewheel( event ) {
function touchstart (line 491) | function touchstart( event ) {
function touchmove (line 523) | function touchmove( event ) {
function touchend (line 553) | function touchend( event ) {
FILE: src/3D-demo/voxels-liquid/js/Three.js
function e (line 17) | function e(b,c,e){var f;f=e.clone().subSelf(b).dot(c);if(f<=0)return nul...
function c (line 17) | function c(b,c,e,f){var f=f.clone().subSelf(c),
function b (line 21) | function b(){k=f-e;m=h-c}
function b (line 57) | function b(){var b=p[n]=p[n]||new THREE.RenderableVertex;n++;return b}
function e (line 57) | function e(b,c){return c.z-b.z}
function c (line 57) | function c(b,c){var e=0,f=1,k=b.z+b.w,h=c.z+c.w,m=-b.z+b.w,n=-c.z+c.w;re...
function b (line 82) | function b(b,c,e,f,k,h,o){n=b.vertices[c].position;p=b.vertices[e].posit...
function e (line 88) | function e(b,c,e,f,k,h,m){b=(e-b)*0.5;f=(f-c)*0.5;return(2*(c-e)+b+f)*m+...
function e (line 149) | function e(b){if(A!=b)t.globalAlpha=A=b}
function c (line 149) | function c(b){if(E!=b){switch(b){case THREE.NormalBlending:t.globalCompo...
function f (line 149) | function f(b){if(F!=b)t.strokeStyle=F=b}
function h (line 149) | function h(b){if(D!=b)t.fillStyle=D=b}
function v (line 153) | function v(b){var c,e,f,k=b.lights;O.setRGB(0,0,0);va.setRGB(0,0,0);ra.s...
function w (line 153) | function w(b,
function y (line 154) | function y(b,k,m){e(m.opacity);c(m.blending);var o,n,p,v,w,wa;if(m insta...
function A (line 156) | function A(b,k,h,m){e(m.opacity);c(m.blending);t.beginPath();t.moveTo(b....
function z (line 156) | function z(b,f,h,m,n,v,t,u,x){k.info.render.vertices+=3;k.info.render.fa...
function F (line 162) | function F(b,f,h,m,n,v,u,t,x){k.info.render.vertices+=4;k.info.render.fa...
function E (line 167) | function E(b,c,e,f,k,h){t.beginPath();t.moveTo(b,c);t.lineTo(e,f);t.line...
function D (line 167) | function D(b,
function Na (line 168) | function Na(b,c,e,k){if(G!=c)t.lineWidth=G=c;if(K!=e)t.lineCap=K=e;if(N!...
function Oa (line 168) | function Oa(b){h(b.getContextStyle());t.fill()}
function ab (line 168) | function ab(b,c,e,f,k,m,o,n,p,u,v,w,wa){if(wa.image.width!=0){if(wa.need...
function Va (line 169) | function Va(b,c,e,f,k,h,m,o,n,
function Ya (line 170) | function Ya(b,c,e,f){var k=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),m=~~(...
function Ra (line 171) | function Ra(b,c,e){b=(b-c)/(e-c);return b*b*(3-2*b)}
function Wa (line 171) | function Wa(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}
function Pa (line 171) | function Pa(b,c){var e=c.x-b.x,f=c.y-b.y,k=e*e+f*f;k!=0&&(k=1/Math.sqrt(...
function b (line 178) | function b(b,c,e){var f,k,h,m;f=0;for(k=b.lights.length;f<k;f++)h=b.ligh...
function e (line 178) | function e(c,e,m,o,n,t){k.info.render.vertices+=3;k.info.render.faces++;...
function c (line 180) | function c(c,e,m,o,n,t,u){k.info.render.vertices+=
function f (line 183) | function f(b){I[b]==null&&(I[b]=document.createElementNS("http://www.w3....
function h (line 183) | function h(b){b=(b+1)*0.5;return b<0?0:b>1?1:b}
function e (line 222) | function e(b,c,e){var f,k,h,m=b.vertices,n=m.length,p=b.colors,t=p.lengt...
function c (line 226) | function c(b,c,e,f,k){f.program||V.initMaterial(f,c,e,k);if(f.morphTarge...
function f (line 237) | function f(b,e,f,k,h,m){if(k.opacity!=0){var n,f=c(b,e,f,k,m),b=f.attrib...
function h (line 244) | function h(b,c,e){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=o.crea...
function k (line 246) | function k(b){if(ja!=b.doubleSided)b.doubleSided?o.disable(o.CULL_FACE):...
function m (line 246) | function m(b){W!=b&&(b?o.enable(o.DEPTH_TEST):o.disable(o.DEPTH_TEST),W=b)}
function n (line 246) | function n(b){$!=b&&(o.depthMask(b),$=b)}
function p (line 246) | function p(b,c,e){aa!=b&&(b?o.enable(o.POLYGON_OFFSET_FILL):o.disable(o....
function v (line 246) | function v(b){xa[0].set(b.n41-
function w (line 247) | function w(b){for(var c=b.matrixWorld,e=-b.geometry.boundingSphere.radiu...
function u (line 248) | function u(b,c){b.list[b.count]=c;b.count+=1}
function x (line 248) | function x(b){var c,e,f=b.object,k=b.opaque,h=b.transparent;h.count=0;b=...
function t (line 248) | function t(b){var c,e,f,k,h=b.object,m=b.buffer,n=b.opaque,o=b.transpare...
function z (line 249) | function z(b,c){return c.z-b.z}
function y (line 249) | function y(b){var e,n,t,p=0,u,x,H,y,A=b.lights;ra||(ra=new THREE.Perspec...
function A (line 252) | function A(b,c){var e,f,k;e=R.attributes;
function E (line 256) | function E(b,c,e){b._modelViewMatrix.multiplyToArray(c.matrixWorldInvers...
function F (line 257) | function F(b){var c,e,f,k;k=b.__materials;b=0;for(e=k.length;b<e;b++)if(...
function D (line 257) | function D(b){var c,e,f,k;k=b.__materials;b=0;for(e=k.length;b<e;b++)if(...
function G (line 257) | function G(b,c){var e;for(e=b.length-1;e>=0;e--)b[e].object==c&&b.splice...
function K (line 257) | function K(b){function c(b){var k=[];e=0;for(f=b.length;e<f;e++)b[e]==vo...
function N (line 259) | function N(b,c,e){b.push({buffer:c,object:e,opaque:{list:[],count:0},tra...
function L (line 259) | function L(b){if(b!=da){switch(b){case THREE.AdditiveBlending:o.blendEqu...
function B (line 260) | function B(b,c,e){(e.width&e.width-1)==0&&(e.height&e.height-1)==0?(o.te...
function M (line 261) | function M(b,c){if(b.needsUpdate){if(!b.__webglInit)b.__webglInit=!0,b._...
function U (line 262) | function U(b){var c=b instanceof THREE.WebGLRenderTargetCube;if(b&&!b.__...
function I (line 266) | function I(b){b instanceof THREE.WebGLRenderTargetCube?(o.bindTexture(o....
function S (line 267) | function S(b,c){var e;b=="fragment"?e=o.createShader(o.FRAGMENT_SHADER):...
function Q (line 267) | function Q(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipMa...
function X (line 267) | function X(b){switch(b){case THREE.RepeatWrapping:return o.REPEAT;
function c (line 351) | function c(b){function c(e,f){if(f<e)return e;var k=e+Math.floor((f-e)/2...
function c (line 438) | function c(b,c){return function(){c.apply(b,arguments)}}
function c (line 447) | function c(b){if((b*=2)<1)return 0.5*b*b;return-0.5*(--b*(b-2)-1)}
function f (line 447) | function f(b,c){return function(){c.apply(b,arguments)}}
function h (line 447) | function h(b,c,e,f){var k={name:e,fps:0.6,length:f,hierarchy:[]},h,m=c.g...
function k (line 448) | function k(b,c){var e,f,k=new THREE.Geometry;for(e=0;e<b.points.length*c...
function c (line 456) | function c(b,c){return function(){c.apply(b,arguments)}}
function p (line 481) | function p(b,c,e,m,n,t,p,u){var w,x,z=f||1,U=h||1,I=n/2,S=t/2,Q=v.vertic...
function c (line 489) | function c(b,c,e){c||console.log("die");return c.clone().multiplyScalar(...
function f (line 489) | function f(b,c,e){var f=THREE.ExtrudeGeometry.__v1,k=THREE.ExtrudeGeomet...
function h (line 490) | function h(b){for(I=b.length;--I>=0;){ja=I;la=I-1;la<0&&(la=b.length-
function k (line 491) | function k(b,c,e){M.vertices.push(new THREE.Vertex(new THREE.Vector3(b,c...
function m (line 491) | function m(b,c,e){b+=U;c+=U;e+=U;M.faces.push(new THREE.Face3(b,
function e (line 498) | function e(b,c,e){var f=Math.sqrt(b*b+c*c+e*e);return h.vertices.push(ne...
function c (line 498) | function c(b,c,e,f){f.faces.push(new THREE.Face3(b,c,e))}
function f (line 498) | function f(b,c){var f=h.vertices[b].position,k=h.vertices[c].position;re...
function c (line 503) | function c(c){var e=c.clone().normalize(),e=new THREE.Vertex(e.clone().m...
function f (line 503) | function f(b,c,e,n){n<1?(n=new THREE.Face3(b.index,c.index,e.index,[b.po...
function h (line 504) | function h(b,e){n[b.index]||(n[b.index]=[]);n[e.index]||(n[e.index]=[]);...
function k (line 504) | function k(b,c,e){e<0&&b.u===
function n (line 525) | function n(b,c,e,f,k,h){c=e/f*b;e=Math.cos(c);return new THREE.Vector3(k...
function e (line 529) | function e(b,c,e,f,n,t){var p=new THREE.Face4(b,c,e,f,null,n.color,n.mat...
function c (line 529) | function c(b,c){return Math.min(b,c)+"_"+Math.max(b,
function e (line 531) | function e(b,c,f){b[c]===void 0&&(b[c]=[]);b[c].push(f)}
function c (line 537) | function c(b){b=Math.log(b)/Math.LN2;return Math.floor(b)==
function f (line 538) | function f(b,e){var f=new Image;f.onload=function(){if(!c(this.width)||!...
function h (line 538) | function h(b,c,k,h,m,n){var p=document.createElement("canvas");b[c]=new ...
function k (line 539) | function k(b){return(b[0]*255<<16)+(b[1]*255<<8)+b[2]*255}
function e (line 549) | function e(b,c){var f=w(b,c),h=w(b,c+1),k=w(b,c+2),m=w(b,c+3),n=(m<<1&25...
function h (line 549) | function h(b,c){var e=w(b,c),f=w(b,c+1),k=w(b,c+2);return(w(b,c+3)<<24)+...
function p (line 549) | function p(b,c){var e=w(b,c);return(w(b,c+1)<<8)+e}
function v (line 549) | function v(b,c){var e=w(b,c);return e>127?e-256:e}
function w (line 549) | function w(b,c){return b.charCodeAt(c)&255}
function u (line 549) | function u(c){var e,
function x (line 550) | function x(c){var e,f,k,m,o,t;e=h(b,c);f=h(b,c+N);k=h(b,c+L);m=p(b,c+B);...
function t (line 550) | function t(c){var e,f,k,m;e=h(b,c);f=h(b,c+S);k=h(b,c+Q);m=h(b,
function z (line 551) | function z(c){var e,f,k,m,t,u,v,w;e=h(b,c);f=h(b,c+S);k=h(b,c+Q);m=h(b,c...
function y (line 552) | function y(c){var e,f,k,m;e=h(b,c);f=h(b,c+fa);k=h(b,c+oa);c=K[e*2];m=K[...
function A (line 552) | function A(c){var e,f,k,m,o,p;e=h(b,c);f=h(b,c+ca);k=h(b,c+ja);m=h(b,c+l...
function b (line 561) | function b(b,f,h){W=b;f=f||ia;h!==void 0&&(b=h.split("/"),b.pop(),Ea=b.l...
function e (line 562) | function e(b,c,e){for(var b=W.evaluate(b,
function c (line 563) | function c(){var b=1E6,c=-b,e=0,f;for(f in ga)for(var k=ga[f],h=0;h<k.sa...
function f (line 563) | function f(b,c,e,k){b.world=b.world||new THREE.Matrix4;b.world.copy(b.ma...
function h (line 564) | function h(b,e,k){var h=na[e.url];if(!h||!h.skin)console.log("ColladaLoa...
function k (line 566) | function k(b){var c=
function m (line 571) | function m(){this.init_from=this.id=""}
function n (line 571) | function n(){this.type=this.name=this.id="";this.morph=this.skin=null}
function p (line 571) | function p(){this.weights=this.targets=this.source=this.method=null}
function v (line 571) | function v(){this.source="";this.bindShapeMatrix=null;this.invBindMatric...
function w (line 571) | function w(){this.name=this.id="";this.nodes=[];this.scene=new THREE.Obj...
function u (line 571) | function u(){this.sid=this.name=this.id="";this.nodes=[];this.controllers=
function x (line 572) | function x(){this.type=this.sid="";this.data=[];this.matrix=new THREE.Ma...
function t (line 572) | function t(){this.url="";this.skeleton=[];this.instance_material=[]}
function z (line 572) | function z(){this.target=this.symbol=""}
function y (line 572) | function y(){this.url="";this.instance_material=[]}
function A (line 572) | function A(){this.id="";this.mesh=null}
function E (line 572) | function E(b){this.geometry=b.id;this.primitives=[];this.geometry3js=thi...
function F (line 572) | function F(){}
function D (line 572) | function D(){this.material="";this.count=
function G (line 573) | function G(){this.source="";this.stride=this.count=0;this.params=[]}
function K (line 573) | function K(){this.input={}}
function N (line 573) | function N(){this.semantic="";this.offset=0;this.source="";this.set=0}
function L (line 573) | function L(b){this.id=b;this.type=null}
function B (line 573) | function B(){this.name=this.id="";this.instance_effect=null}
function M (line 573) | function M(){this.color=new THREE.Color(0);this.color.setRGB(Math.random...
function U (line 573) | function U(b,
function I (line 574) | function I(b){this.effect=b;this.format=this.init_from=null}
function S (line 574) | function S(b){this.effect=b;this.mipfilter=this.magfilter=this.minfilter...
function Q (line 574) | function Q(){this.name=this.id="";this.sampler=this.surface=this.shader=...
function X (line 574) | function X(){this.url=""}
function V (line 574) | function V(){this.name=this.id="";this.source={};this.sampler=[];this.ch...
function o (line 574) | function o(b){this.animation=b;this.target=this.source="";this.member=th...
function Z (line 575) | function Z(b){this.id="";this.animation=b;this.inputs=[];this.endTime=th...
function T (line 575) | function T(b){var c=b.getAttribute("id");if(sa[c]!=void 0)return sa[c];s...
function ha (line 575) | function ha(b){if(b=="dae")return"http://www.collada.org/2005/11/COLLADA...
function fa (line 575) | function fa(b){for(var b=ca(b),c=[],e=0;e<b.length;e++)c.push(parseFloat...
function oa (line 575) | function oa(b){for(var b=ca(b),c=
function ca (line 576) | function ca(b){return b.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/)}
function ja (line 576) | function ja(b,c,e){return b.hasAttribute(c)?parseInt(b.getAttribute(c),1...
function la (line 576) | function la(b,c){if(b===void 0){for(var e="0.";e.length<c+2;)e+="0";retu...
function da (line 576) | function da(b,c){var e="";e+=la(b.x,c)+",";e+=la(b.y,c)+",";e+=la(b.z,c)...
function c (line 593) | function c(b,e){var f=da(b.position);k[f]===
function f (line 623) | function f(b,c){return c=="relativeToHTML"?b:h+"/"+b}
function n (line 623) | function n(){for(t in S.objects)if(!T.objects[t])if(F=S.objects[t],F.geo...
function p (line 626) | function p(b){return function(e){T.geometries[b]=e;n();X-=1;c.onLoadComp...
function v (line 626) | function v(b){return function(c){T.geometries[b]=c}}
function w (line 626) | function w(){c.callbackProgress({totalModels:o,totalTextures:Z,loadedMod...
FILE: src/Canvas-demo/Conductor/js/soundmanager2-nodebug-jsmin.js
function pa (line 13) | function pa(Fa,Ga){function qa(){if(b.debugURLParam.test(T))b.debugMode=...
FILE: src/Canvas-demo/apple_watch/js/index.js
function utilityClock (line 6) | function utilityClock(container) {
function autoResize (line 61) | function autoResize(element, nativeSize) {
FILE: src/Canvas-demo/liquid_particles/js/ga.js
function Aa (line 1) | function Aa(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:re...
function Ba (line 1) | function Ba(a){return"function"==typeof a}
function Ca (line 1) | function Ca(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")}
function F (line 1) | function F(a,b){return void 0==a||"-"==a&&!b||""==a}
function Da (line 1) | function Da(a){if(!a||""==a)return"";for(;a&&-1<" \n\r\t".indexOf(a.char...
function Ea (line 2) | function Ea(){return Math.round(2147483647*Math.random())}
function Fa (line 2) | function Fa(){}
function G (line 2) | function G(a,b){if(encodeURIComponent instanceof Function)return b?encod...
function I (line 2) | function I(a){a=a.split("+").join(" ");if(decodeURIComponent instanceof ...
function Ia (line 3) | function Ia(a,b){if(a){var c=J.createElement("script");c.type="text/java...
function K (line 3) | function K(a){return a&&0<a.length?a[0]:""}
function L (line 3) | function L(a){var b=a?a.length:0;return 0<b?a[b-1]:""}
function Ka (line 4) | function Ka(a){0==a.indexOf("www.")&&(a=a.substring(4));return a.toLower...
function La (line 5) | function La(a,b){var c,d={url:a,protocol:"http",host:"",path:"",R:new nf...
function Oa (line 7) | function Oa(a,b){function c(a){var b=(a.hostname||"").split(":")[0].toLo...
function Na (line 8) | function Na(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b).pus...
function Pa (line 9) | function Pa(a,b){if(F(a)||"["==a.charAt(0)&&"]"==a.charAt(a.length-1))re...
function Ra (line 9) | function Ra(a,b,c){1<=Qa||1<=100*Math.random()||ld()||(a=["utmt=error","...
function N (line 9) | function N(a){return Va("x"+Ta++,a)}
function Va (line 9) | function Va(a,b){Ua[a]=!!b;return a}
function a (line 11) | function a(a,c,d){T(qf.prototype,a,c,d)}
function a (line 11) | function a(a,c,d){T(U.prototype,a,c,d)}
function Pc (line 17) | function Pc(a){var b=this.plugins_;if(b)return b.get(a)}
function $c (line 20) | function $c(a,b){b=b||[];for(var c=0;c<b.length;c++){var d=b[c];if(""+a=...
function b (line 23) | function b(b,e){if(!F(a.get(b))){var f=a.c(b,""),f=f.split(" ").join("%2...
function c (line 25) | function c(a){return(a=b.match(a+"=(.*?)(?:\\|utm|$)"))&&2==a.length?a[1...
function d (line 25) | function d(b,c){c?(c=e?I(c):c.split("%20").join(" "),a.set(b,c)):a.set(b...
function jd (line 25) | function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.get(vb)&&a.stopPropag...
function kd (line 25) | function kd(a){ld(a.get(Wa))&&a.stopPropagation()}
function md (line 25) | function md(a){"file:"==J.location.protocol&&a.stopPropagation()}
function Ge (line 25) | function Ge(a){He()&&a.stopPropagation()}
function nd (line 26) | function nd(a){a.get(Ib)||a.set(Ib,J.title,!0);a.get(Hb)||a.set(Hb,J.loc...
function lf (line 26) | function lf(a){a.get(Wa)&&"UA-XXXXX-X"!=a.get(Wa)||a.stopPropagation()}
function H (line 26) | function H(a){od.set(a)}
function a (line 35) | function a(a,b,c,d){void 0==f[a]&&(f[a]={});void 0==f[a][b]&&(f[a][b]=[]...
function b (line 35) | function b(a,b,c){if(void 0!=f[a]&&void 0!=f[a][b])return f[a][b][c]}
function c (line 35) | function c(a,b){if(void 0!=f[a]&&void 0!=f[a][b]){f[a][b]=void 0;var c=!...
function d (line 35) | function d(a){var b="",c=!1,d,e;for(d=0;d<Be.length;d++)if(e=a[Be[d]],vo...
function wd (line 38) | function wd(a){return"string"==typeof a}
function xd (line 38) | function xd(a){return!("number"==typeof a||void 0!=Number&&a instanceof ...
function c (line 42) | function c(c,d){d=d||"-";var e=L(b.get(a.get(c)));return e&&"-"!=e?I(e):d}
function c (line 45) | function c(a){a=(""+a).split("+").join("%20");return a=a.split(" ").join...
function d (line 45) | function d(c){var d=""+(a.get(c)||"");c=""+(b[c]||"");return 0<d.length&...
function d (line 54) | function d(a){return function(b){if((b=b.get(Nc)[a])&&b.length)for(var c...
function c (line 68) | function c(a,b){b&&d.push(a+"="+b+";")}
function Yc (line 77) | function Yc(a){var b=1,c=0,d;if(a)for(b=0,d=a.length-1;0<=d;d--)c=a.char...
FILE: src/Canvas-demo/mechanical_grass/js/index.js
function DrawWorm (line 7) | function DrawWorm() {
function demoApp (line 165) | function demoApp() {
FILE: src/Canvas-demo/nets_black/js/ban.js
function colorValue (line 21) | function colorValue(min) {
function createColorStyle (line 25) | function createColorStyle(r,g,b) {
function mixComponents (line 29) | function mixComponents(comp1, weight1, comp2, weight2) {
function averageColorStyles (line 33) | function averageColorStyles(dot1, dot2) {
function Color (line 43) | function Color(min) {
function Dot (line 51) | function Dot(){
function createDots (line 73) | function createDots(){
function moveDots (line 79) | function moveDots() {
function connectDots (line 97) | function connectDots() {
function drawDots (line 117) | function drawDots() {
function animateDots (line 124) | function animateDots() {
FILE: src/Canvas-demo/space_noodles/js/ga.js
function Aa (line 1) | function Aa(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:re...
function Ba (line 1) | function Ba(a){return"function"==typeof a}
function Ca (line 1) | function Ca(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")}
function F (line 1) | function F(a,b){return void 0==a||"-"==a&&!b||""==a}
function Da (line 1) | function Da(a){if(!a||""==a)return"";for(;a&&-1<" \n\r\t".indexOf(a.char...
function Ea (line 2) | function Ea(){return Math.round(2147483647*Math.random())}
function Fa (line 2) | function Fa(){}
function G (line 2) | function G(a,b){if(encodeURIComponent instanceof Function)return b?encod...
function I (line 2) | function I(a){a=a.split("+").join(" ");if(decodeURIComponent instanceof ...
function Ia (line 3) | function Ia(a,b){if(a){var c=J.createElement("script");c.type="text/java...
function K (line 3) | function K(a){return a&&0<a.length?a[0]:""}
function L (line 3) | function L(a){var b=a?a.length:0;return 0<b?a[b-1]:""}
function Ka (line 4) | function Ka(a){0==a.indexOf("www.")&&(a=a.substring(4));return a.toLower...
function La (line 5) | function La(a,b){var c,d={url:a,protocol:"http",host:"",path:"",R:new nf...
function Oa (line 7) | function Oa(a,b){function c(a){var b=(a.hostname||"").split(":")[0].toLo...
function Na (line 8) | function Na(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b).pus...
function Pa (line 9) | function Pa(a,b){if(F(a)||"["==a.charAt(0)&&"]"==a.charAt(a.length-1))re...
function Ra (line 9) | function Ra(a,b,c){1<=Qa||1<=100*Math.random()||ld()||(a=["utmt=error","...
function N (line 9) | function N(a){return Va("x"+Ta++,a)}
function Va (line 9) | function Va(a,b){Ua[a]=!!b;return a}
function a (line 11) | function a(a,c,d){T(qf.prototype,a,c,d)}
function a (line 11) | function a(a,c,d){T(U.prototype,a,c,d)}
function Pc (line 17) | function Pc(a){var b=this.plugins_;if(b)return b.get(a)}
function $c (line 20) | function $c(a,b){b=b||[];for(var c=0;c<b.length;c++){var d=b[c];if(""+a=...
function b (line 23) | function b(b,e){if(!F(a.get(b))){var f=a.c(b,""),f=f.split(" ").join("%2...
function c (line 25) | function c(a){return(a=b.match(a+"=(.*?)(?:\\|utm|$)"))&&2==a.length?a[1...
function d (line 25) | function d(b,c){c?(c=e?I(c):c.split("%20").join(" "),a.set(b,c)):a.set(b...
function jd (line 25) | function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.get(vb)&&a.stopPropag...
function kd (line 25) | function kd(a){ld(a.get(Wa))&&a.stopPropagation()}
function md (line 25) | function md(a){"file:"==J.location.protocol&&a.stopPropagation()}
function Ge (line 25) | function Ge(a){He()&&a.stopPropagation()}
function nd (line 26) | function nd(a){a.get(Ib)||a.set(Ib,J.title,!0);a.get(Hb)||a.set(Hb,J.loc...
function lf (line 26) | function lf(a){a.get(Wa)&&"UA-XXXXX-X"!=a.get(Wa)||a.stopPropagation()}
function H (line 26) | function H(a){od.set(a)}
function a (line 35) | function a(a,b,c,d){void 0==f[a]&&(f[a]={});void 0==f[a][b]&&(f[a][b]=[]...
function b (line 35) | function b(a,b,c){if(void 0!=f[a]&&void 0!=f[a][b])return f[a][b][c]}
function c (line 35) | function c(a,b){if(void 0!=f[a]&&void 0!=f[a][b]){f[a][b]=void 0;var c=!...
function d (line 35) | function d(a){var b="",c=!1,d,e;for(d=0;d<Be.length;d++)if(e=a[Be[d]],vo...
function wd (line 38) | function wd(a){return"string"==typeof a}
function xd (line 38) | function xd(a){return!("number"==typeof a||void 0!=Number&&a instanceof ...
function c (line 42) | function c(c,d){d=d||"-";var e=L(b.get(a.get(c)));return e&&"-"!=e?I(e):d}
function c (line 45) | function c(a){a=(""+a).split("+").join("%20");return a=a.split(" ").join...
function d (line 45) | function d(c){var d=""+(a.get(c)||"");c=""+(b[c]||"");return 0<d.length&...
function d (line 54) | function d(a){return function(b){if((b=b.get(Nc)[a])&&b.length)for(var c...
function c (line 68) | function c(a,b){b&&d.push(a+"="+b+";")}
function Yc (line 77) | function Yc(a){var b=1,c=0,d;if(a)for(b=0,d=a.length-1;0<=d;d--)c=a.char...
FILE: src/Canvas-demo/spider/js/verlet-1.0.0.js
function i (line 1) | function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&re...
function DistanceConstraint (line 53) | function DistanceConstraint(a, b, stiffness, distance /*optional*/) {
function PinConstraint (line 78) | function PinConstraint(a, pos) {
function AngleConstraint (line 95) | function AngleConstraint(a, b, c, stiffness) {
function Vec2 (line 162) | function Vec2(x, y) {
function test_Vec2 (line 276) | function test_Vec2() {
function Particle (line 466) | function Particle(pos) {
function VerletJS (line 478) | function VerletJS(width, height, canvas) {
function Composite (line 537) | function Composite() {
FILE: src/Funny-demo/Blob/js/load.js
function n (line 2) | function n(e){h=1;while(e=r.shift())e()}
FILE: src/Funny-demo/Blob/js/widgets.js
function e (line 1) | function e(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,lo...
function r (line 1) | function r(){var t=this;this.promise=new i(function(e,n){t.resolve=e,t.r...
function i (line 8) | function i(t){return"function"==typeof t||"object"==typeof t&&null!==t}
function o (line 8) | function o(t){return"function"==typeof t}
function a (line 8) | function a(t){return"object"==typeof t&&null!==t}
function s (line 8) | function s(t){H=t}
function u (line 8) | function u(t){J=t}
function c (line 8) | function c(){var t=process.nextTick,e=process.versions.node.match(/^(?:(...
function f (line 8) | function f(){return function(){V(p)}}
function l (line 8) | function l(){var t=0,e=new Z(p),n=document.createTextNode("");return e.o...
function d (line 8) | function d(){var t=new MessageChannel;return t.port1.onmessage=p,functio...
function h (line 8) | function h(){return function(){setTimeout(p,1)}}
function p (line 8) | function p(){for(var t=0;K>t;t+=2){var e=et[t],n=et[t+1];e(n),et[t]=void...
function v (line 8) | function v(){try{var t=n(5);return V=t.runOnLoop||t.runOnContext,f()}cat...
function m (line 8) | function m(){}
function g (line 8) | function g(){return new TypeError("You cannot resolve a promise with its...
function y (line 8) | function y(){return new TypeError("A promises callback cannot return tha...
function w (line 8) | function w(t){try{return t.then}catch(e){return ot.error=e,ot}}
function b (line 8) | function b(t,e,n,r){try{t.call(e,n,r)}catch(i){return i}}
function E (line 8) | function E(t,e,n){J(function(t){var r=!1,i=b(n,e,function(n){r||(r=!0,e!...
function _ (line 8) | function _(t,e){e._state===rt?C(t,e._result):e._state===it?I(t,e._result...
function x (line 8) | function x(t,e){if(e.constructor===t.constructor)_(t,e);else{var n=w(e);...
function A (line 8) | function A(t,e){t===e?I(t,g()):i(e)?x(t,e):C(t,e)}
function T (line 8) | function T(t){t._onerror&&t._onerror(t._result),N(t)}
function C (line 8) | function C(t,e){t._state===nt&&(t._result=e,t._state=rt,0!==t._subscribe...
function I (line 8) | function I(t,e){t._state===nt&&(t._state=it,t._result=e,J(T,t))}
function R (line 8) | function R(t,e,n,r){var i=t._subscribers,o=i.length;t._onerror=null,i[o]...
function N (line 8) | function N(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r...
function j (line 8) | function j(){this.error=null}
function S (line 8) | function S(t,e){try{return t(e)}catch(n){return at.error=n,at}}
function P (line 8) | function P(t,e,n,r){var i,a,s,u,c=o(n);if(c){if(i=S(n,r),i===at?(u=!0,a=...
function O (line 8) | function O(t,e){try{e(function(e){A(t,e)},function(e){I(t,e)})}catch(n){...
function k (line 8) | function k(t,e){var n=this;n._instanceConstructor=t,n.promise=new t(m),n...
function L (line 8) | function L(t){return new st(this,t).promise}
function D (line 8) | function D(t){function e(t){A(i,t)}function n(t){I(i,t)}var r=this,i=new...
function z (line 8) | function z(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)ret...
function F (line 8) | function F(t){var e=this,n=new e(m);return I(n,t),n}
function M (line 8) | function M(){throw new TypeError("You must pass a resolver function as t...
function B (line 8) | function B(){throw new TypeError("Failed to construct 'Promise': Please ...
function U (line 8) | function U(t){this._id=dt++,this._state=void 0,this._result=void 0,this....
function W (line 8) | function W(){var t;if("undefined"!=typeof global)t=global;else if("undef...
function r (line 8) | function r(t){return t=t||m,t.devicePixelRatio?t.devicePixelRatio>=1.5:t...
function i (line 8) | function i(t){return t=t||x,/(Trident|MSIE \d)/.test(t)}
function o (line 8) | function o(t){return t=t||x,/MSIE 9/.test(t)}
function a (line 8) | function a(t){return t=t||x,/(iPad|iPhone|iPod)/.test(t)}
function s (line 8) | function s(t){return t=t||x,/^Mozilla\/5\.0 \(Linux; (U; )?Android/.test...
function u (line 8) | function u(){return A}
function c (line 8) | function c(t,e){return t=t||m,e=e||x,t.postMessage&&!(i(e)&&t.opener)}
function f (line 8) | function f(t){t=t||v;try{return!!t.plugins["Shockwave Flash"]||!!new Act...
function l (line 8) | function l(t,e,n){return t=t||m,e=e||v,n=n||x,"ontouchstart"in t||/Opera...
function d (line 8) | function d(){var t=p.body.style;return void 0!==t.transition||void 0!==t...
function h (line 8) | function h(){return!!(m.Promise&&m.Promise.resolve&&m.Promise.reject&&m....
function r (line 8) | function r(){c=1;for(var t=0,e=f.length;e>t;t++)f[t]()}
function r (line 8) | function r(){c("info",d.toRealArray(arguments))}
function i (line 8) | function i(){c("warn",d.toRealArray(arguments))}
function o (line 8) | function o(){c("error",d.toRealArray(arguments))}
function a (line 8) | function a(t){v&&(p[t]=u())}
function s (line 8) | function s(t){var e;v&&(p[t]?(e=u(),r("_twitter",t,e-p[t])):o("timeEnd()...
function u (line 8) | function u(){return l.performance&&+l.performance.now()||+new Date}
function c (line 8) | function c(t,e){if(l[h]&&l[h][t])switch(e.length){case 1:l[h][t](e[0]);b...
function r (line 8) | function r(t){return l(arguments).slice(1).forEach(function(e){o(e,funct...
function i (line 8) | function i(t){return o(t,function(e,n){u(n)&&(i(n),c(n)&&delete t[e]),(v...
function o (line 8) | function o(t,e){for(var n in t)(!t.hasOwnProperty||t.hasOwnProperty(n))&...
function a (line 8) | function a(t){return{}.toString.call(t).match(/\s([a-zA-Z]+)/)[1].toLowe...
function s (line 8) | function s(t,e){return t==a(e)}
function u (line 8) | function u(t){return t===Object(t)}
function c (line 8) | function c(t){if(!u(t))return!1;if(Object.keys)return!Object.keys(t).len...
function f (line 8) | function f(t,e){h.setTimeout(function(){t.call(e||null)},0)}
function l (line 8) | function l(t){return t?Array.prototype.slice.call(t):[]}
function d (line 8) | function d(t,e){return t&&t.indexOf?t.indexOf(e)>-1:!1}
function r (line 8) | function r(t){return void 0!==t&&null!==t&&""!==t}
function i (line 8) | function i(t){return a(t)&&t%1===0}
function o (line 8) | function o(t){return a(t)&&!i(t)}
function a (line 8) | function a(t){return r(t)&&!isNaN(t)}
function s (line 8) | function s(t){return r(t)&&"array"==p.toType(t)}
function u (line 8) | function u(t){return p.contains(m,t)}
function c (line 8) | function c(t){return p.contains(v,t)}
function f (line 8) | function f(t){return r(t)?c(t)?!0:u(t)?!1:!!t:!1}
function l (line 8) | function l(t){return a(t)?t:void 0}
function d (line 8) | function d(t){return o(t)?t:void 0}
function h (line 8) | function h(t){return i(t)?parseInt(t,10):void 0}
function r (line 8) | function r(t){var e,n,r,i=0;for(o={},t=t||a,e=t.getElementsByTagName("me...
function i (line 8) | function i(t){return o[t]}
function r (line 8) | function r(t){return s.isType("string",t)?t.split("."):s.isType("array",...
function i (line 8) | function i(t,e){var n=r(e),i=n.slice(0,-1);return i.reduce(function(t,e,...
function o (line 8) | function o(t,e){e=e||a,e[t]=e[t]||{},Object.defineProperty(this,"base",{...
function r (line 8) | function r(t,e,n){e.ready=i(t.then,t),n&&Array.isArray(e[n])&&(e[n].forE...
function r (line 8) | function r(t){var e=~a.host.indexOf("poptip.com")?"https://poptip.com":a...
function i (line 8) | function i(t){var e,n;t.altKey||t.metaKey||t.shiftKey||(e=u.closest(func...
function o (line 8) | function o(t){t.addEventListener("click",i,!1)}
function r (line 8) | function r(t){var e=t.getAttribute("data-twitter-event-id");return e?e:(...
function i (line 8) | function i(t,e,n){var r=0,i=t&&t.length||0;for(r=0;i>r;r++)if(t[r].call(...
function o (line 8) | function o(t,e,n){for(var r=n||t.target||t.srcElement,a=v.list(r).map(fu...
function a (line 8) | function a(t,e,n,r){function i(r){o.call(t,r,n[e])}s(t,i,e,r),t.addEvent...
function s (line 8) | function s(t,e,n,r){t.id&&(y[t.id]=y[t.id]||[],y[t.id].push({el:t,listen...
function u (line 8) | function u(t){var e=y[t];e&&(e.forEach(function(t){t.el.removeEventListe...
function c (line 8) | function c(t,e,n,i){var o=r(t);m[o]=m[o]||{},m[o][e]||(m[o][e]={},a(t,e,...
function f (line 8) | function f(t,e,n){var i=r(e),a=m[i]&&m[i];o.call(e,{target:n},a[t])}
function l (line 8) | function l(t){return h(t),d(t),!1}
function d (line 8) | function d(t){t&&t.preventDefault?t.preventDefault():t.returnValue=!1}
function h (line 8) | function h(t){t&&(t.cease=!0)&&t.stopPropagation?t.stopPropagation():t.c...
function p (line 8) | function p(t){t&&(t.ceaseImmediately=!0,h(t),t.stopImmediatePropagation())}
function r (line 8) | function r(t){return new RegExp("\\b"+t+"\\b","g")}
function i (line 8) | function i(t,e){return t.classList?void t.classList.add(e):void(r(e).tes...
function o (line 8) | function o(t,e){return t.classList?void t.classList.remove(e):void(t.cla...
function a (line 8) | function a(t,e,n){return void 0===n&&t.classList&&t.classList.toggle?t.c...
function s (line 8) | function s(t,e,n){return t.classList&&u(t,e)?(o(t,e),void i(t,n)):void(t...
function u (line 8) | function u(t,e){return t.classList?t.classList.contains(e):f.contains(c(...
function c (line 8) | function c(t){return f.toRealArray(t.classList?t.classList:t.className.m...
function r (line 8) | function r(t){var e=t.charAt(0);return"."===e?function(e){var n=e.classN...
function i (line 8) | function i(t,e,n){var a;if(e)return n=n||e&&e.ownerDocument,a=o.isType("...
function r (line 8) | function r(t,e){u.open(t,{},e)}
function i (line 8) | function i(t,e){var n=f.decodeURL(e);switch(t){case"favorite":case"like"...
function o (line 8) | function o(t,e,n){var o=(s.intentType(t)||"").toLowerCase();s.isTwitterU...
function a (line 8) | function a(t){this.srcEl=[],this.element=t}
function r (line 8) | function r(t){return"string"==typeof t&&y.test(t)&&RegExp.$1.length<=20}
function i (line 8) | function i(t){return r(t)?RegExp.$1:void 0}
function o (line 8) | function o(t,e){var n=g.decodeURL(t);return e=e||!1,n.screen_name=i(t),n...
function a (line 8) | function a(t){return o(t,!0)}
function s (line 8) | function s(t){return"string"==typeof t&&_.test(t)}
function u (line 8) | function u(t,e){return e=void 0===e?!0:e,s(t)?(e?"#":"")+RegExp.$1:void 0}
function c (line 8) | function c(t){return"string"==typeof t&&w.test(t)}
function f (line 8) | function f(t){return c(t)&&RegExp.$1}
function l (line 8) | function l(t){return b.test(t)}
function d (line 8) | function d(t){return E.test(t)}
function h (line 8) | function h(t){return x.test(t)}
function p (line 8) | function p(t){return T.test(t)&&RegExp.$1}
function v (line 8) | function v(t){return A.test(t)&&RegExp.$1}
function m (line 8) | function m(t){return x.test(t)&&RegExp.$1}
function r (line 8) | function r(t){return encodeURIComponent(t).replace(/\+/g,"%2B").replace(...
function i (line 8) | function i(t){return decodeURIComponent(t)}
function o (line 8) | function o(t){var e=[];return f.forIn(t,function(t,n){var i=r(t);f.isTyp...
function a (line 8) | function a(t){var e,n={};return t?(e=t.split("&"),e.forEach(function(t){...
function s (line 8) | function s(t,e){var n=o(e);return n.length>0?f.contains(t,"?")?t+"&"+o(e...
function u (line 8) | function u(t){var e=t&&t.split("?");return 2==e.length?a(e[1]):{}}
function r (line 8) | function r(t){var e=[];return v.forIn(t,function(t,n){e.push(t+"="+n)}),...
function i (line 8) | function i(){return m+p.generate()}
function o (line 8) | function o(t,e){function n(t){return Math.round(t/2)}return t>e?{coordin...
function a (line 8) | function a(t,e,n){var i,a;e=s.parse(e),n=n||{},i=o(e.width,n.width||g),e...
function r (line 8) | function r(t){return function(e){return o.hasValue(e[t])}}
function i (line 8) | function i(){this.assertions=[],this._defaults={}}
function n (line 8) | function n(){return i+String(+new Date)+Math.floor(1e5*Math.random())+o++}
function r (line 8) | function r(){return i+String(a++)}
function r (line 8) | function r(){return i.get("events")||{}}
function r (line 8) | function r(t){c[t]=+new Date}
function i (line 8) | function i(t){return c[t]?+new Date-c[t]:null}
function o (line 8) | function o(t,e,n,r,o){var s=i(e);s&&a(t,n,r,s,o)}
function a (line 8) | function a(t,e,n,r,i){var o,a=void 0===i?f:i;100*Math.random()>a||(n=u.a...
function r (line 8) | function r(t,e,n){return i(t,e,n,2)}
function i (line 8) | function i(t,e,n,r){var i=!m.isObject(t),o=e?!m.isObject(e):!1;i||o||a(v...
function o (line 8) | function o(t,e,n,r){var o=v.extractTermsFromDOM(t.target||t.srcElement);...
function a (line 8) | function a(t,e,n){var r,i;n&&m.isObject(t)&&m.isObject(e)&&(r=v.flattenC...
function s (line 8) | function s(t,e,n,r){var i,o=!m.isObject(t),a=e?!m.isObject(e):!1;if(!o&&...
function u (line 8) | function u(t){return y.push(t),y}
function c (line 8) | function c(){var t,e;return y.length>1&&s({page:"widgets_js",component:"...
function f (line 8) | function f(t){return Array.isArray(t)||(t=[t]),t.reduce(function(t,e){va...
function l (line 8) | function l(t){return encodeURIComponent(t).length+3}
function d (line 8) | function d(t){var e=new Image;return e.src=t}
function r (line 8) | function r(){d=!0}
function i (line 8) | function i(t,e){return d?!0:f.asBoolean(l.val("dnt"))?!0:!s||1!=s.doNotT...
function r (line 8) | function r(t){return t&&u.isType("string",t)&&(c=t),c}
function i (line 8) | function i(){return f}
function o (line 8) | function o(){return c!==f}
function r (line 8) | function r(t,e){var n,r;return e=e||s,/^https?:\/\//.test(t)?t:/^\/\//.t...
function i (line 8) | function i(){for(var t,e=a.getElementsByTagName("link"),n=0;t=e[n];n++)i...
function o (line 8) | function o(){for(var t,e,n,r=a.getElementsByTagName("a"),i=a.getElements...
function r (line 8) | function r(t){return t in s?s[t]:s[t]=a.test(t)}
function i (line 8) | function i(){return r(o.host)}
function r (line 8) | function r(t,e){var n;return e=e||{},t&&t.nodeType===Node.ELEMENT_NODE?(...
function i (line 8) | function i(t){return p.aug({client:"tfw"},t||{})}
function o (line 8) | function o(t,e,n){var r=t&&t.widget_origin||l.referrer;return t=a("tfw_c...
function a (line 8) | function a(t,e,n){return e=e||{},p.aug({},e,{_category_:t,triggered_on:e...
function s (line 8) | function s(t,e){var n={};return e=e||{},e.association_namespace=i(t),n[E...
function u (line 8) | function u(t,e){return p.aug({},e,{event_namespace:t})}
function c (line 8) | function c(t){var e,n=Array.prototype.toJSON;return delete Array.prototy...
function f (line 8) | function f(t){if(t.item_ids&&t.item_ids.length>1){var e=Math.floor(t.ite...
function r (line 8) | function r(t){return t.reduce(function(t,e){return t.concat(g.reduce(fun...
function i (line 8) | function i(){var t=l.val("widgets:autoload")||!0;return v.isFalseValue(t...
function o (line 8) | function o(t){var e;return t=t||c.body,t=t.length?m.toRealArray(t):[t],h...
function a (line 8) | function a(){var t=i();return t===!1?s.resolve():(d.set("widgets.loaded"...
function r (line 8) | function r(t,e){return t.then(e,e)}
function i (line 8) | function i(t){var e;return t=t||[],e=t.length,t=t.filter(a),e?e!==t.leng...
function o (line 8) | function o(t){var e;return void 0===t?s.reject(new Error("undefined is n...
function a (line 8) | function a(t){return t instanceof s}
function r (line 8) | function r(t){return function(e){var n=t.srcEl,r=t.targetEl;n?r.insertBe...
function i (line 8) | function i(t){return f.write(function(){t&&t.parentNode&&t.parentNode.re...
function o (line 8) | function o(t){var e=t.reduce(function(t,e){var n=e.input,r=a(n).then(fun...
function a (line 8) | function a(t){var e=new t.Sandbox;return t.factory(t.parameters,e)}
function s (line 8) | function s(t,e){function n(){return i(e.srcEl).then(function(){return a....
function u (line 8) | function u(t){return m.add(t)}
function r (line 8) | function r(t,e){return function(){try{e.resolve(t.call(this))}catch(n){e...
function i (line 8) | function i(t,e){t.call(e)}
function o (line 8) | function o(t,e){var n=new c;return u.read(r(t,n),e),n.promise}
function a (line 8) | function a(t,e){var n=new c;return u.write(r(t,n),e),n.promise}
function s (line 8) | function s(t,e,n){var i=new c;return f.isType("function",t)&&(n=e,e=t,t=...
function o (line 8) | function o(){this.frames=[],this.lastId=0,this.raf=a,this.batch={hash:{}...
function r (line 9) | function r(t){this._inputsQueue=[],this._task=t,this._hasFlushBeenSchedu...
function r (line 9) | function r(t){t.forEach(function(t){var e=t.input.namespace,n=t.input.da...
function i (line 9) | function i(t){function e(){t.forEach(function(t){t.taskDoneDeferred.reso...
function o (line 9) | function o(t){(1===t.length?r:i)(t)}
function a (line 9) | function a(t,e,n,r){return d.add({namespace:t,data:e,offsite:n,version:r})}
function s (line 9) | function s(){d.pause()}
function u (line 9) | function u(){d.resume()}
function r (line 9) | function r(){function t(t){h.body.appendChild(t)}return C?I.promise:(d=n...
function i (line 9) | function i(t,e){var n,r,i;w.isObject(t)&&w.isObject(e)&&(i=y.flattenClie...
function o (line 9) | function o(t,e,n){var r=!w.isObject(t),o=e?!w.isObject(e):!1;r||o||I.pro...
function a (line 9) | function a(){return I.promise.then(function(){if(f.children.length<=2)re...
function s (line 9) | function s(t,e){return function(){var n=t.parentNode;n&&(n.removeChild(t...
function u (line 9) | function u(){var t=d.createElement("form"),e=d.createElement("input"),n=...
function c (line 9) | function c(){var t=x+T;return p({id:t,name:t,width:0,height:0,border:0},...
function r (line 9) | function r(){return s.toRealArray(arguments)}
function i (line 9) | function i(t,e,n){var r=new t;return e=a(o(e||[])),e.forEach(function(t)...
function r (line 9) | function r(t){var e=[];return t.forEach(function(t){var n=i.isType("arra...
function n (line 9) | function n(t){return t.filter(function(e,n){return t.indexOf(e)===n})}
function r (line 9) | function r(){i.apply(this,arguments)}
function r (line 9) | function r(t,e,n){var r=this[e];if(!r)throw new Error(e+" does not exist...
function i (line 9) | function i(){this.Component=this.factory(),this._adviceArgs=[],this._las...
function r (line 9) | function r(t,e){return function(){var n,r=this,i=arguments;return n=e.ap...
function i (line 9) | function i(t,e){return function(){function n(t,e){return a.isPromise(e)?...
function o (line 9) | function o(t,e){return function(){var n=s.toRealArray(arguments);return ...
function r (line 9) | function r(){return!0}
function i (line 9) | function i(t){return t}
function o (line 9) | function o(t,e,n){var r=null;return t.some(function(t){return t=s.isType...
function a (line 9) | function a(){function t(t){var e=this;t=t||{},this.params=Object.keys(th...
function r (line 9) | function r(){var t=a();return u.aug(t.prototype,{id:null,initialized:!1,...
function r (line 9) | function r(t,e,n){return e=y.aug({id:t},_,e),n=y.aug({},x,n),p(e,n)}
function i (line 9) | function i(t){try{t.contentWindow.document}catch(e){return g.reject(e)}r...
function o (line 9) | function o(t,e,n,i){var o=new m,a=b.generate(),s=r(t,e,n);return w.set([...
function a (line 9) | function a(t){t.overrideProperty("id",{get:function(){return this.sandbo...
function r (line 9) | function r(t){return t=t||o,t.getSelection&&t.getSelection()}
function i (line 9) | function i(t){var e=r(t);return e?e.toString():""}
function r (line 9) | function r(t,e,n){function r(){var s=n||this,u=arguments,c=+new Date;ret...
function n (line 9) | function n(t){var e=t.getBoundingClientRect();return{width:e.width,heigh...
function r (line 9) | function r(t,e){this._inputsQueue=[],this._task=t,this._isPaused=!1,this...
function r (line 9) | function r(t){var e=s(t),n={screenName:o.screenName(t.href),showScreenNa...
function i (line 9) | function i(t){var e=u(t,l);return e.map(function(t){return c(r(t),t.pare...
function r (line 9) | function r(t){var e=t.href&&t.href.split("?")[1],n=e?a.decode(e):{},r={l...
function n (line 9) | function n(t){var e;if(t)return e=t.lang||t.getAttribute("data-lang"),e?...
function i (line 9) | function i(e){return!e.hasAttribute(t)}
function o (line 9) | function o(e){return e.setAttribute(t,"true"),e}
function r (line 9) | function r(t,e){return o(t,e)?[t]:i.toRealArray(t.querySelectorAll(e))}
function r (line 9) | function r(t,e){return a?a.call(t,e):void 0}
function r (line 9) | function r(t,e,n){return new i(o,a,"twitter-follow-button",t,e,n)}
function n (line 9) | function n(t,e,n,r,i,o){this.factory=t,this.Sandbox=e,this.srcEl=o,this....
function r (line 9) | function r(t,e){var r=new i;return n.e(1,function(i,o){var a;return i?r....
function r (line 9) | function r(){i.apply(this,arguments),this.Widget=this.Component}
function r (line 9) | function r(){function t(t,n){e.apply(this,arguments),this.id=f+c(),this....
function n (line 9) | function n(){return String(r++)}
function r (line 9) | function r(t,e){var n,r=c[t];return"embed/timeline.css"===t&&u.contains(...
function i (line 9) | function i(t){var e=a.get("host");return f(t)+"://"+e}
function r (line 9) | function r(t){return t=String(t).toLowerCase(),o.contains(s,t)}
function i (line 9) | function i(t){return t=(t||"").toLowerCase(),t=t.replace("_","-"),a(t)?t...
function r (line 9) | function r(t){return"en"===t||i.contains(o,t)}
function r (line 9) | function r(t){t.define("scribeNamespace",function(){return{client:"tfw"}...
function r (line 9) | function r(t){t.define("widgetDataAttributes",function(){return{}}),t.de...
function r (line 9) | function r(t){t.overrideProperty("id",{get:function(){return this.sandbo...
function r (line 9) | function r(t){(new o).attachReceiver(new a.Receiver(i,"twttr.button")).b...
function r (line 9) | function r(t){this.registry=t||{}}
function i (line 9) | function i(t){return h.isType("string",t)?l.parse(t):t}
function o (line 9) | function o(t){var e,n,r;return h.isObject(t)?(e=t.jsonrpc===m,n=h.isType...
function a (line 9) | function a(t){var e,n,r;return e=h.isType("string",t),n=h.isType("number...
function s (line 9) | function s(t){return h.isObject(t)&&!h.isType("function",t)}
function u (line 9) | function u(t,e){return{jsonrpc:m,id:t,result:e}}
function c (line 9) | function c(t,e){return{jsonrpc:m,id:a(t)?t:null,error:e}}
function f (line 9) | function f(t){return p.all(t).then(function(t){return t=t.filter(functio...
function n (line 9) | function n(e){return u(t.id,e)}
function r (line 9) | function r(){return c(t.id,d.INTERNAL_ERROR)}
function r (line 9) | function r(t,e,n){var r;t&&t.postMessage&&(g?r=(n||"")+l.stringify(e):n?...
function i (line 9) | function i(t){return p.isType("string",t)?t:"JSONRPC"}
function o (line 9) | function o(t,e){return e?p.isType("string",t)&&0===t.indexOf(e)?t.substr...
function a (line 9) | function a(t,e){var n=t.document;this.filter=i(e),this.server=null,this....
function s (line 9) | function s(t,e){this.pending={},this.target=t,this.isTwitterHost=v.isTwi...
function u (line 9) | function u(t){return arguments.length>0&&(g=!!t),g}
function r (line 9) | function r(t){for(var e,n=i.getElementsByTagName("iframe"),r=0;e=n[r];r+...
function n (line 9) | function n(t){var e,n=!1;return function(){return n?e:(n=!0,e=t.apply(th...
function r (line 9) | function r(t){var e=u(t),n={collectionId:s.collectionId(t.href),chrome:t...
function i (line 9) | function i(t){var e=c(t,l);return e.map(function(t){return f(r(t),t.pare...
function r (line 9) | function r(t,e,n){return new i(o,a,"twitter-grid",t,e,n)}
function r (line 9) | function r(t,e){var r=new i;return n.e(2,function(i,o){var a;return i?r....
function r (line 9) | function r(){return u.builtUrl(l)}
function i (line 9) | function i(t){return"dark"===t?"dark":"light"}
function o (line 9) | function o(t,e,n){var r,o;return n=i(n),r=s.isRtlLang(e)?"rtl":"ltr",o=[...
function a (line 9) | function a(){return u.base()+"/css/"+["periscope_on_air",c.css,"css"].jo...
function r (line 9) | function r(){return f+l++}
function i (line 9) | function i(t,e,n,i){var f,l,d;return i=i||r(),f=a.fullPath(["callbacks",...
function r (line 9) | function r(t){var e,n;return e=t.headers&&t.headers.status,n=t&&!t.error...
function n (line 9) | function n(){var t=9e5;return Math.floor(+new Date/t)}
function r (line 9) | function r(t){return t?(t=Array.isArray(t)?t:[t],t.reduce(function(t,e){...
function r (line 9) | function r(t){var e=t.getBoundingClientRect(),n=i.innerWidth,r=i.innerHe...
function r (line 9) | function r(t){t.after("prepForInsertion",function(t){o.sizeIframes(t,thi...
function r (line 9) | function r(t){var e=t.split(" ");this.url=decodeURIComponent(e[0].trim()...
function i (line 9) | function i(t,e,n){var i,o,a,s;if(t=v.devicePixelRatio?t*v.devicePixelRat...
function o (line 10) | function o(t,e){var n,r=t.getAttribute("data-srcset"),o=t.src;r&&(n=i(e,...
function a (line 10) | function a(t,e){e=void 0!==e?!!e:g.retina(),m.toRealArray(t.getElementsB...
function s (line 10) | function s(t,e,n){t&&(m.toRealArray(t.querySelectorAll(".NaturalImage-im...
function u (line 10) | function u(t,e){t&&(g.ios()||g.android())&&m.toRealArray(t.querySelector...
function c (line 10) | function c(t,e,n,r){t&&(u(t,r),m.toRealArray(t.querySelectorAll("iframe....
function f (line 10) | function f(t,e,n,r){s(t,e,r),c(t,e,n,r)}
function l (line 10) | function l(t,e,n,r,i,o){return n=n||t,r=r||e,i=i||0,o=o||0,t>n&&(e*=n/t,...
function d (line 10) | function d(t,e){function n(){var t={name:"tfw:resize",dimensions:e};i.po...
function h (line 10) | function h(t,e,n,r){m.toRealArray(t.querySelectorAll(e)).forEach(functio...
function p (line 10) | function p(t){g.cspEnabled()&&(h(t,".MediaCard-widthConstraint","maxWidt...
function n (line 10) | function n(t){return t&&1===t.nodeType?t.offsetWidth||n(t.parentNode):0}
function r (line 10) | function r(t){return t.replace(/-(.)/g,function(t,e){return e.toUpperCas...
function i (line 10) | function i(t){return(t||"").split(";").reduce(function(t,e){var n,i;retu...
function o (line 10) | function o(t){var e=i(t.getAttribute("data-style"));0!==Object.keys(e).l...
function a (line 10) | function a(t){t.selectors({cspForcedStyle:".js-cspForcedStyle"}),t.after...
function r (line 10) | function r(t){t.define("injectRefSrcParam",function(t){t.getAttribute(a)...
function r (line 10) | function r(t){return i.url(t,{ref_src:o})}
function r (line 10) | function r(t){t.after("prepForInsertion",function(t){i.retinize(t)})}
function r (line 10) | function r(t){t.after("prepForInsertion",function(t){o.setSrcForImgs(t,t...
function n (line 10) | function n(t){t.after("render",function(){var t=this.el.getAttribute(r);...
function r (line 10) | function r(t){return Object.keys(t).every(s.isInt)}
function i (line 10) | function i(t){var e=Object.keys(t).map(function(e){return{size:+e,classN...
function o (line 10) | function o(t){t.params({breakpoints:{required:!0,validate:r,transform:i}...
function r (line 10) | function r(t){var e;t=i.parse(t),this.videoEl=t.videoEl,"loop"in t&&(thi...
function r (line 10) | function r(t){t.selectors({clickToOpen:".js-clickToOpenTarget"}),t.defin...
function r (line 10) | function r(t){a.isTwitterURL(t)&&(t=o(t)),i.open(t)}
function r (line 10) | function r(t){t.params({productName:{required:!0},widgetId:{required:!1}...
function r (line 10) | function r(t){t.before("render",function(){i.ios()&&this.sandbox.addRoot...
function r (line 10) | function r(t){t.after("render",function(){new i(this.sandbox.win)})}
function r (line 10) | function r(t,e){return t&&t.getAttribute?t.getAttribute("data-"+e):void 0}
function i (line 10) | function i(t,e){return{element:t.element||y,action:t.action||w,page:o(e)...
function o (line 10) | function o(t){return d.closest(".embedded-video",t)}
function a (line 10) | function a(t){var e=d.closest(".tweet",t),n=!e&&d.closest(".EmbeddedTwee...
function s (line 10) | function s(t){return f.parse(r(o(t),"player-config"))}
function u (line 10) | function u(t,e){var n,i,s,u=o(e);return u?n=l.aug({item_type:m,card_type...
function c (line 10) | function c(t){var e=this;this.global=t,this.server=(new h).attachReceive...
function r (line 10) | function r(t){t.params({pageForAudienceImpression:{required:!0}}),t.befo...
function r (line 10) | function r(){return f.formatGenericEventData("syndicated_impression",{})}
function i (line 10) | function i(){u("tweet")}
function o (line 10) | function o(){u("timeline")}
function a (line 10) | function a(){u("video")}
function s (line 10) | function s(){u("partnertweet")}
function u (line 10) | function u(t){l.isHostPageSensitive()||d[t]||(d[t]=!0,c.scribe(f.formatC...
function r (line 10) | function r(t){var e;if(t)return e=s([t]),{item_ids:Object.keys(e),item_d...
function i (line 10) | function i(t){t.selectors({tweetIdInfo:".js-tweetIdInfo"}),t.define("scr...
function r (line 10) | function r(t){var e={action:"dimensions"},n=new o(a);t.after("show",func...
function n (line 10) | function n(t){this.percentage=t}
function r (line 10) | function r(t){var e={transparent:!1,hideBorder:!1,hideHeader:!1,hideFoot...
function r (line 10) | function r(t){var e=u(t),n={momentId:s.momentId(t.href),chrome:t.getAttr...
function i (line 10) | function i(t){var e=c(t,l);return e.map(function(t){return f(r(t),t.pare...
function r (line 10) | function r(t,e,n){return new i(o,a,"twitter-moment",t,e,n)}
function r (line 10) | function r(t,e){var r=new i;return n.e(3,function(i,o){var a;return i?r....
function r (line 10) | function r(t){var e=a(t),n=t.getAttribute("href"),r=t.getAttribute("data...
function i (line 10) | function i(t){var e=s(t,c);return e.map(function(t){return u(r(t),t.pare...
function r (line 10) | function r(t,e,n){return new i(o,a,"periscope-on-air",t,e,n)}
function r (line 10) | function r(t,e){var r=new i;return n.e(4,function(i,o){var a;return i?r....
function r (line 10) | function r(t){var e=s(t),n=t.getAttribute("data-show-replies"),r={widget...
function i (line 10) | function i(t){var e=u(t,f);return e.map(function(t){return c(r(t),t.pare...
function r (line 10) | function r(t,e,n){return new i(o,a,"twitter-timeline",t,e,n)}
function r (line 10) | function r(t,e){var r=new i;return n.e(5,function(i,o){var a;return i?r....
function r (line 10) | function r(t){var e=u(t),n=t.getElementsByTagName("A"),r=n&&n[n.length-1...
function i (line 10) | function i(t){var e=c(t,l);return e.map(function(t){return f(r(t),t.pare...
function r (line 10) | function r(t,e,n){return new i(o,a,"twitter-tweet",t,e,n)}
function r (line 10) | function r(t,e){var r=new i;return n.e(6,function(i,o){var a;return i?r....
function r (line 10) | function r(t){var e=s(t),n={screenName:t.getAttribute("data-button-scree...
function i (line 10) | function i(t){var e=u(t,l);return e.map(function(t){return c(r(t),t.pare...
function r (line 10) | function r(t,e,n){var r=t&&t.type||"share",s="hashtag"==r?"twitter-hasht...
function r (line 10) | function r(t,e){var r=new i;return n.e(1,function(i,o){var a;return i?r....
function r (line 10) | function r(t){var e=s(t),n=t.getElementsByTagName("A"),r=n&&n[n.length-1...
function i (line 10) | function i(t){var e=u(t,f);return e.map(function(t){return c(r(t),t.pare...
function r (line 10) | function r(t,e,n){return new i(o,a,"twitter-video",t,e,n)}
function r (line 10) | function r(t,e){var r=new i;return n.e(6,function(i,o){var a;return i?r....
function r (line 10) | function r(t){t.overrideProperty("sandboxEl",{get:function(){return this...
function r (line 10) | function r(t,e,n){t=t||[],e=e||{};var r="ƒ("+t.join(", ")+", target, [op...
function r (line 10) | function r(t){return function(){return a.toRealArray(arguments).slice(1)...
function r (line 10) | function r(t){return function(){return i.toRealArray(arguments).slice(1)...
function r (line 10) | function r(t){return function(){return i.toRealArray(arguments).slice(1)...
FILE: src/Funny-demo/CSS3-hover/js/app.js
function s (line 2) | function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindo...
function db (line 2) | function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)...
function eb (line 2) | function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLengt...
function fb (line 2) | function fb(a){return a[s]=!0,a}
function gb (line 2) | function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){re...
function hb (line 2) | function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[...
function ib (line 2) | function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sou...
function jb (line 2) | function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"...
function kb (line 2) | function kb(a){return function(b){var c=b.nodeName.toLowerCase();return(...
function lb (line 2) | function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,...
function mb (line 2) | function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}
function nb (line 2) | function nb(){}
function ob (line 2) | function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0)...
function pb (line 2) | function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}
function qb (line 2) | function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.firs...
function rb (line 2) | function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e-...
function sb (line 2) | function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(...
function tb (line 2) | function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)...
function ub (line 2) | function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.r...
function vb (line 2) | function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var...
function wb (line 2) | function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}
function xb (line 2) | function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0...
function x (line 2) | function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){retur...
function E (line 2) | function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}
function H (line 2) | function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b...
function J (line 2) | function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded...
function K (line 2) | function K(){(z.addEventListener||"load"===event.type||"complete"===z.re...
function P (line 2) | function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace...
function Q (line 2) | function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&...
function R (line 2) | function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType...
function S (line 3) | function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a...
function bb (line 3) | function bb(){return!0}
function cb (line 3) | function cb(){return!1}
function db (line 3) | function db(){try{return z.activeElement}catch(a){}}
function eb (line 3) | function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.cre...
function vb (line 3) | function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getEl...
function wb (line 3) | function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}
function xb (line 3) | function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeTyp...
function yb (line 3) | function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}
function zb (line 3) | function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttrib...
function Ab (line 3) | function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval"...
function Bb (line 3) | function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a)...
function Cb (line 3) | function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCas...
function Fb (line 3) | function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDef...
function Gb (line 3) | function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(...
function Mb (line 3) | function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?voi...
function k (line 3) | function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createE...
function Vb (line 3) | function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.sl...
function Wb (line 3) | function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.styl...
function Xb (line 3) | function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[...
function Yb (line 3) | function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===...
function Zb (line 3) | function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f...
function $b (line 4) | function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}
function gc (line 4) | function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}
function hc (line 4) | function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d[...
function ic (line 4) | function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.lengt...
function jc (line 4) | function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeTyp...
function kc (line 4) | function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a...
function lc (line 4) | function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(functio...
function Mc (line 4) | function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var ...
function Nc (line 4) | function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!...
function Oc (line 4) | function Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)voi...
function Pc (line 4) | function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[...
function Qc (line 4) | function Qc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])fo...
function x (line 4) | function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=v...
function Wc (line 4) | function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc....
function $c (line 4) | function $c(){try{return new a.XMLHttpRequest}catch(b){}}
function _c (line 4) | function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(...
function ed (line 4) | function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.pa...
function b (line 12) | function b(){var a=document.createElement("bootstrap"),b={WebkitTransiti...
function c (line 12) | function c(){f.trigger("closed.bs.alert").remove()}
function b (line 12) | function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={rel...
function c (line 12) | function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A...
function b (line 12) | function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.b...
function b (line 12) | function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c)....
function e (line 12) | function e(){f.removeClass("active").find("> .dropdown-menu > .active")....
function e (line 20) | function e(t){return t.replace(/(:|\.)/g,"\\$1")}
function combinePrefixPatterns (line 261) | function combinePrefixPatterns(regexs) {
function extractSourceSpans (line 540) | function extractSourceSpans(node, isPreformatted) {
function appendDecorations (line 595) | function appendDecorations(basePos, sourceCode, langHandler, out) {
function childContentWrapper (line 618) | function childContentWrapper(element) {
function createSimpleLexer (line 677) | function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatter...
function sourceDecorator (line 820) | function sourceDecorator(options) {
function numberLines (line 990) | function numberLines(node, opt_startLineNum, isPreformatted) {
function recombineTagsAndDecorations (line 1131) | function recombineTagsAndDecorations(job) {
function registerLangHandler (line 1260) | function registerLangHandler(handler, fileExtensions) {
function langHandlerForExtension (line 1270) | function langHandlerForExtension(extension, source) {
function applyDecorator (line 1380) | function applyDecorator(job) {
function prettyPrintOne (line 1412) | function prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLin...
function prettyPrint (line 1432) | function prettyPrint(opt_whenDone) {
FILE: src/Funny-demo/Whale/whale.js
function init (line 66) | function init() {
function mousemove (line 71) | function mousemove(e) {
function loop (line 75) | function loop() {
function svg (line 83) | function svg(){
function transform (line 95) | function transform(params) {
function definemaxspeed (line 100) | function definemaxspeed(speed) {
FILE: src/Funny-demo/beanstalk/js/ObjectPool.js
function ObjectPool (line 29) | function ObjectPool() {
FILE: src/Funny-demo/beanstalk/js/Stats.js
function w (line 2) | function w(d,K,n){var u,f,c;for(f=0;f<30;f++)for(u=0;u<73;u++){c=(u+f*74...
FILE: src/Funny-demo/beanstalk/js/Three.js
function c (line 15) | function c(G,J,S,D){D=D.clone().subSelf(J);S=S.clone().subSelf(J);var L=...
function a (line 18) | function a(){g=e-c;h=f-b}
function a (line 59) | function a(X,qa,za,ea,U,ma,Ca){j=X.vertices[qa].position;m=X.vertices[za...
function c (line 65) | function c(w,z,E,G,J,S,D){w=(E-w)*0.5;G=(G-z)*0.5;return(2*(z-E)+w+G)*D+...
function a (line 148) | function a(){var d=m[j]=m[j]||new THREE.RenderableVertex;j++;return d}
function c (line 148) | function c(d,Z){return Z.z-d.z}
function b (line 148) | function b(d,Z){var ya=0,Ga=1,Ha=d.z+d.w,ra=Z.z+Z.w,X=-d.z+d.w,qa=-Z.z+Z...
function a (line 160) | function a(ka){if(w!=ka)n.globalAlpha=w=ka}
function c (line 160) | function c(ka){if(z!=ka){switch(ka){case THREE.NormalBlending:n.globalCo...
function b (line 160) | function b(ka){if(E!=ka)n.strokeStyle=E=ka}
function ha (line 163) | function ha(P){var da,aa,T,ta=P.lights;F.setRGB(0,0,0);H.setRGB(0,0,0);K...
function ia (line 164) | function ia(P,da,aa,T){var ta,Ja,pa,Q,Oa=P.lights;P=0;for(ta=Oa.length;P...
function wa (line 165) | function wa(P,da,aa){a(aa.opacity);c(aa.blending);var T,ta,Ja,pa,Q,Oa;if...
function Qa (line 166) | function Qa(P,da,aa,T){a(T.opacity);c(T.blending);n.beginPath();n.moveTo...
function Va (line 167) | function Va(P,da,aa,T,ta,Ja,pa,Q,Oa){a(Q.opacity);c(Q.blending);W=P.posi...
function eb (line 172) | function eb(P,da,aa,T,ta,Ja,pa,Q,Oa){a(Q.opacity);
function Ma (line 177) | function Ma(P,da,aa,T,ta,Ja){n.beginPath();n.moveTo(P,da);n.lineTo(aa,T)...
function La (line 177) | function La(P,da,aa,T,ta,Ja,pa,Q){n.beginPath();n.moveTo(P,da);n.lineTo(...
function Pa (line 177) | function Pa(P,da,aa,T){if(J!=da)n.lineWidth=J=da;if(S!=aa)n.lineCap=S=aa...
function cb (line 178) | function cb(P){if(G!=P)n.fillStyle=G=P;n.fill()}
function bb (line 178) | function bb(P,da,aa,T,ta,Ja,pa,Q,Oa,Ra,db,hb,jb){var fb,ib;fb=pa.width-1...
function $a (line 178) | function $a(P,da,aa,T){var ta=~~(P.r*
function Za (line 180) | function Za(P,da,aa){P=(P-da)/(aa-da);return P*P*(3-2*P)}
function Ka (line 180) | function Ka(P){P=(P+1)*0.5;return P<0?0:P>1?1:P}
function Ya (line 180) | function Ya(P,da){var aa=da.x-P.x,T=da.y-P.y,ta=1/Math.sqrt(aa*aa+T*T);a...
function a (line 186) | function a(ra,X,qa){var za,ea,U,ma;za=0;for(ea=ra.lights.length;za<ea;za...
function c (line 186) | function c(ra,X,qa,za,ea,U){Z=e(ya++);
function b (line 189) | function b(ra,X,qa,za,ea,U,ma){Z=e(ya++);Z.setAttribute("d","M "+ra.posi...
function e (line 191) | function e(ra){if(W[ra]==null){W[ra]=document.createElementNS("http://ww...
function f (line 191) | function f(ra){return ra<0?Math.min((1+ra)*0.5,0.5):0.5+Math.min(ra*0.5,...
function c (line 225) | function c(k,A,x){var p,B,F,H=k.vertices,K=H.length,C=k.colors,$=C.lengt...
function b (line 226) | function b(k,A){k.uniforms=Uniforms.clone(A.uniforms);k.vertexShader=A.v...
function e (line 227) | function e(k,A,x,p,B){p.__webglProgram||ra.initMaterial(p,A,x,B);var F=p...
function f (line 236) | function f(k,A,x,p,B,F){if(p.opacity!=0){k=e(k,A,x,p,F).attributes;if(p....
function g (line 242) | function g(k,A){if(!k.__webglVertexBuffer)k.__webglVertexBuffer=
function h (line 244) | function h(k){if(X!=k.doubleSided){k.doubleSided?d.disable(d.CULL_FACE):...
function j (line 244) | function j(k){if(ea!=k){k?d.enable(d.DEPTH_TEST):d.disable(d.DEPTH_TEST)...
function m (line 244) | function m(k){ja[0].set(k.n41-k.n11,k.n42-k.n12,k.n43-k.n13,k.n44-k.n14)...
function o (line 245) | function o(k){for(var A=k.matrixWorld,x=-k.geometry.boundingSphere.radiu...
function n (line 245) | function n(k,
function t (line 246) | function t(k){var A,x,p=k.object,B=k.opaque,F=k.transparent;F.count=0;k=...
function y (line 246) | function y(k){var A,x,p,B,F=k.object,H=k.buffer,K=k.opaque,C=k.transpare...
function w (line 247) | function w(k,A){return A.z-k.z}
function z (line 247) | function z(k){d.enable(d.POLYGON_OFFSET_FILL);d.polygonOffset(0.1,1);d.e...
function E (line 251) | function E(k,A){var x,p,B,F=k.__webglLensFlares.length,H,K,C;H=new THREE...
function G (line 256) | function G(k,A){k._modelViewMatrix.multiplyToArray(A.matrixWorldInverse,...
function J (line 256) | function J(k){var A,x,p;if(k instanceof THREE.Mesh){x=k.geometry;for(A i...
function S (line 275) | function S(k){function A(Y){var ua=[];x=0;for(p=Y.length;x<p;x++)Y[x]==u...
function D (line 276) | function D(k,A,x){k.push({buffer:A,object:x,opaque:{list:[],count:0},tra...
function L (line 277) | function L(k){if(k!=za){switch(k){case THREE.AdditiveAlphaBlending:d.ble...
function N (line 278) | function N(k,A,x){if((x.width&x.width-1)==0&&(x.height&x.height-1)==0){d...
function O (line 279) | function O(k,A){if(k.needsUpdate){if(k.__webglInit){d.bindTexture(d.TEXT...
function Fa (line 280) | function Fa(k){if(k&&!k.__webglFramebuffer){k.__webglFramebuffer=d.creat...
function oa (line 282) | function oa(k,A){var x;if(k=="fragment")x=d.createShader(d.FRAGMENT_SHAD...
function xa (line 282) | function xa(k){switch(k){case THREE.NearestFilter:case THREE.NearestMipM...
function W (line 283) | function W(k){switch(k){case THREE.RepeatWrapping:return d.REPEAT;case T...
function j (line 327) | function j(za,ea){return ea=="relativeToHTML"?
function m (line 328) | function m(){for(w in W.objects)if(!X.objects[w]){S=W.objects[w];if(O=X....
function o (line 329) | function o(za){return function(ea){X.geometries[za]=ea;m();ya-=1;n()}}
function n (line 329) | function n(){e({total_models:Ha,total_textures:ra,loaded_models:Ha-ya,lo...
function c (line 350) | function c(b,e){return function(){e.apply(b,arguments)}}
function c (line 358) | function c(o,n,t,y){var w={name:t,fps:0.6,length:y,hierarchy:[]},z,E=n.g...
function b (line 358) | function b(o,n){var t,
function e (line 359) | function e(o,n){var t=b(n,10),y=b(n,10),w=new THREE.LineBasicMaterial({c...
function o (line 367) | function o(G,J,S,D,L,N,O,Fa){var oa,xa,W=e||1,d=f||1,Z=L/2,ya=N/2,Ga=n.v...
function h (line 371) | function h(n,t,y){j.vertices.push(new THREE.Vertex(new THREE.Vector3(n,t...
function c (line 373) | function c(t,y,w){var z=Math.sqrt(t*t+y*y+w*w);return f.vertices.push(ne...
function b (line 373) | function b(t,y,w,z){z.faces.push(new THREE.Face3(t,y,w))}
function e (line 373) | function e(t,y){var w=f.vertices[t].position,z=f.vertices[y].position;re...
function Lathe (line 376) | function Lathe(a,c,b){THREE.Geometry.call(this);this.steps=c||12;this.an...
function j (line 385) | function j(t,y,w,z,E,G){y=w/z*t;w=Math.cos(y);return new THREE.Vector3(E...
function b (line 390) | function b(j){j=Math.log(j)/Math.LN2;return Math.floor(j)==j}
function e (line 390) | function e(j,m){var o=new Image;o.onload=function(){if(!b(this.width)||!...
function h (line 402) | function h(M,V){var na=n(M,V),Aa=n(M,V+1),ca=n(M,V+2),ga=n(M,V+3),k=(ga<...
function j (line 402) | function j(M,V){var na=n(M,V),Aa=n(M,V+1),ca=n(M,V+2);return(n(M,V+3)<<2...
function m (line 402) | function m(M,V){var na=n(M,V);return(n(M,V+1)<<8)+na}
function o (line 402) | function o(M,V){var na=n(M,V);return na>127?
function n (line 403) | function n(M,V){return M.charCodeAt(V)&255}
function t (line 403) | function t(M){var V,na,Aa;V=j(a,M);na=j(a,M+O);Aa=j(a,M+Fa);M=m(a,M+oa);...
function y (line 403) | function y(M){var V,na,Aa,ca,ga,k;V=j(a,M);na=j(a,M+O);Aa=j(a,M+Fa);ca=m...
function w (line 403) | function w(M){var V,na,Aa,ca;V=j(a,M);na=j(a,M+Z);Aa=j(a,M+ya);ca=j(a,M+...
function z (line 403) | function z(M){var V,na,
function E (line 404) | function E(M){var V,na;V=j(a,M);na=j(a,M+ea);M=j(a,M+U);THREE.BinaryLoad...
function G (line 404) | function G(M){var V,na,Aa;V=j(a,M);na=j(a,M+ma);Aa=j(a,M+Ca);M=j(a,M+fa)...
FILE: src/Funny-demo/beanstalk/js/ThreeWebGL.js
function d (line 16) | function d(b,d,e){var f,e=e.matrixWorld.getPosition();f=e.clone().subSel...
function e (line 16) | function e(b,d,e,f){var f=f.clone().subSelf(d),e=e.clone().subSelf(d),
function b (line 20) | function b(){i=f-d;h=g-e}
function b (line 62) | function b(b,c,d,e,f,g,i){j=b.vertices[c].position;m=b.vertices[d].posit...
function b (line 66) | function b(b,d){return Math.min(b,d)+"_"+Math.max(b,d)}
function d (line 66) | function d(b,d,e){b[d]===
function d (line 69) | function d(b,d,e,f,g,h,i){b=(e-b)*0.5;f=(f-d)*0.5;return(2*(d-e)+b+f)*i+...
function b (line 144) | function b(){var b=m[j]=m[j]||new THREE.RenderableVertex;j++;return b}
function d (line 144) | function d(b,d){return d.z-b.z}
function e (line 144) | function e(b,d){var e=0,c=1,f=b.z+b.w,g=d.z+d.w,h=-b.z+b.w,i=-d.z+d.w;re...
function d (line 187) | function d(b,d,e){var f,g,h,i=b.vertices,j=i.length,m=b.colors,o=m.lengt...
function e (line 188) | function e(b,d,e,f,g){f.program||Q.initMaterial(f,d,e,g);
function f (line 198) | function f(b,d,f,g,h,i){if(g.opacity!=0){var j,b=e(b,d,f,g,i).attributes...
function g (line 205) | function g(b,d,e){if(!b.__webglVertexBuffer)b.__webglVertexBuffer=c.crea...
function i (line 207) | function i(b){if(J!=b.doubleSided)b.doubleSided?c.disable(c.CULL_FACE):c...
function h (line 207) | function h(b){L!=b&&(b?c.enable(c.DEPTH_TEST):c.disable(c.DEPTH_TEST),L=b)}
function j (line 207) | function j(b,d,e){G!=b&&(b?c.enable(c.POLYGON_OFFSET_FILL):
function m (line 208) | function m(b){_frustum[0].set(b.n41-b.n11,b.n42-b.n12,b.n43-b.n13,b.n44-...
function o (line 209) | function o(b){for(var c=b.matrixWorld,d=-b.geometry.boundingSphere.radiu...
function n (line 209) | function n(b,c){b.list[b.count]=c;b.count+=1}
function q (line 209) | function q(b){var c,d,e=b.object,f=b.opaque,h=b.transparent;
function t (line 210) | function t(b){var c,d,e,f,h=b.object,g=b.buffer,i=b.opaque,j=b.transpare...
function r (line 210) | function r(b,c){return c.z-b.z}
function B (line 210) | function B(b){c.enable(c.POLYGON_OFFSET_FILL);c.polygonOffset(0.1,
function x (line 214) | function x(b,d){var e,f,h;e=_sprite.attributes;var g=
function z (line 218) | function z(b,d){var e,f,h=b.__webglLensFlares.length,g,i,j,m=new THREE.V...
function D (line 223) | function D(b,c){b._modelViewMatrix.multiplyToArray(c.matrixWorldInverse,...
function fa (line 223) | function fa(b){var e,f,h,g;if(b instanceof THREE.Mesh){f=b.geometry;for(...
function M (line 248) | function M(b,c){var e;for(e=b.length-1;e>=0;e--)b[e].object==c&&b.splice...
function O (line 248) | function O(b){function c(b){var f=[];e=0;for(d=b.length;e<d;e++)b[e]==vo...
function F (line 250) | function F(b,c,e){b.push({buffer:c,object:e,opaque:{list:[],count:0},tra...
function y (line 250) | function y(b){if(b!=E){switch(b){case THREE.AdditiveBlending:c.blendEqua...
function Z (line 251) | function Z(b,e,d){(d.width&d.width-1)==0&&(d.height&d.height-1)==0?(c.te...
function C (line 252) | function C(b,e){if(b.needsUpdate)b.__webglInit?(c.bindTexture(c.TEXTURE_...
function $ (line 253) | function $(b){if(b&&!b.__webglFramebuffer){if(b.depthBuffer===void 0)b.d...
function K (line 256) | function K(b,e){var d;b=="fragment"?d=c.createShader(c.FRAGMENT_SHADER):...
function ma (line 256) | function ma(b){switch(b){case THREE.NearestFilter:case THREE.NearestMipM...
function T (line 257) | function T(b){switch(b){case THREE.RepeatWrapping:return c.REPEAT;case T...
FILE: src/Funny-demo/blackhole/js/black-hole.js
function supportsOESTextureFloatLinear (line 259) | function supportsOESTextureFloatLinear(gl) {
function OESTextureFloatLinear (line 334) | function OESTextureFloatLinear() {
function getOESTextureFloatLinear (line 338) | function getOESTextureFloatLinear(gl) {
function getExtension (line 351) | function getExtension(name) {
function getSupportedExtensions (line 358) | function getSupportedExtensions() {
function clamp (line 389) | function clamp(lo, value, hi) {
function wrapTexture (line 393) | function wrapTexture(texture) {
function texture (line 409) | function texture(element) {
function initialize (line 413) | function initialize(width, height) {
function draw (line 452) | function draw(texture, width, height) {
function update (line 465) | function update() {
function simpleShader (line 471) | function simpleShader(shader, uniforms, textureIn, textureOut) {
function replace (line 479) | function replace(node) {
function contents (line 485) | function contents() {
function getPixelArray (line 498) | function getPixelArray() {
function wrap (line 508) | function wrap(func) {
function getSquareToQuad (line 578) | function getSquareToQuad(x0, y0, x1, y1, x2, y2, x3, y3) {
function getInverse (line 595) | function getInverse(m) {
function multiply (line 607) | function multiply(a, b) {
function isArray (line 623) | function isArray(obj) {
function isNumber (line 627) | function isNumber(obj) {
function compileSource (line 631) | function compileSource(type, source) {
function Shader (line 657) | function Shader(vertexSource, fragmentSource) {
function SplineInterpolator (line 762) | function SplineInterpolator(points) {
function Texture (line 841) | function Texture(width, height, format, type) {
function getCanvas (line 928) | function getCanvas(texture) {
function warpShader (line 973) | function warpShader(uniforms, warp) {
function brightnessContrast (line 1005) | function brightnessContrast(brightness, contrast) {
function splineInterpolate (line 1032) | function splineInterpolate(points) {
function curves (line 1060) | function curves(red, green, blue) {
function denoise (line 1106) | function denoise(exponent) {
function hueSaturation (line 1155) | function hueSaturation(hue, saturation) {
function noise (line 1201) | function noise(amount) {
function sepia (line 1234) | function sepia(amount) {
function unsharpMask (line 1268) | function unsharpMask(radius, strength) {
function vibrance (line 1309) | function vibrance(amount) {
function vignette (line 1338) | function vignette(size, amount) {
function lensBlur (line 1379) | function lensBlur(radius, brightness, angle) {
function tiltShift (line 1490) | function tiltShift(startX, startY, endX, endY, blurRadius, gradientRadiu...
function triangleBlur (line 1560) | function triangleBlur(radius) {
function zoomBlur (line 1611) | function zoomBlur(centerX, centerY, strength) {
function colorHalftone (line 1666) | function colorHalftone(centerX, centerY, angle, size) {
function dotScreen (line 1716) | function dotScreen(centerX, centerY, angle, size) {
function edgeWork (line 1759) | function edgeWork(radius) {
function hexagonalPixelate (line 1836) | function hexagonalPixelate(centerX, centerY, scale) {
function ink (line 1899) | function ink(strength) {
function blackHole (line 1949) | function blackHole(centerX, centerY, blackHoleAngleFn, fovAngle) {
function bulgePinch (line 2032) | function bulgePinch(centerX, centerY, radius, strength) {
function matrixWarp (line 2077) | function matrixWarp(matrix, inverse, useTextureSpace) {
function perspective (line 2122) | function perspective(before, after) {
function swirl (line 2139) | function swirl(centerX, centerY, radius, angle) {
FILE: src/Funny-demo/blackhole/js/jquery.js
function y (line 14) | function y(e){var t=e.length,n=p.type(e);return n==="function"||p.isWind...
function x (line 14) | function x(e,t,n){if(p.isFunction(t))return p.grep(e,function(e,r){retur...
function O (line 14) | function O(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}
function D (line 14) | function D(e){var t=_[e]={};return p.each(e.match(M)||[],function(e,n){t...
function H (line 14) | function H(){N.addEventListener?(N.removeEventListener("DOMContentLoaded...
function B (line 14) | function B(){if(N.addEventListener||event.type==="load"||N.readyState===...
function R (line 14) | function R(e,t,n){if(n===undefined&&e.nodeType===1){var r="data-"+t.repl...
function U (line 14) | function U(e){var t;for(t in e){if(t==="data"&&p.isEmptyObject(e[t]))con...
function z (line 14) | function z(e,t,r,i){if(!p.acceptData(e))return;var s,o,u=p.expando,a=e.n...
function W (line 14) | function W(e,t,n){if(!p.acceptData(e))return;var r,i,s=e.nodeType,o=s?p....
function tt (line 14) | function tt(){return!0}
function nt (line 14) | function nt(){return!1}
function rt (line 14) | function rt(){try{return N.activeElement}catch(e){}}
function it (line 14) | function it(e){var t=st.split("|"),n=e.createDocumentFragment();if(n.cre...
function Et (line 14) | function Et(e,t){var n,r,i=0,s=typeof e.getElementsByTagName!==j?e.getEl...
function St (line 14) | function St(e){K.test(e.type)&&(e.defaultChecked=e.checked)}
function xt (line 14) | function xt(e,t){return p.nodeName(e,"table")&&p.nodeName(t.nodeType!==1...
function Tt (line 14) | function Tt(e){return e.type=(p.find.attr(e,"type")!==null)+"/"+e.type,e}
function Nt (line 14) | function Nt(e){var t=mt.exec(e.type);return t?e.type=t[1]:e.removeAttrib...
function Ct (line 14) | function Ct(e,t){var n,r=0;for(;(n=e[r])!=null;r++)p._data(n,"globalEval...
function kt (line 14) | function kt(e,t){if(t.nodeType!==1||!p.hasData(e))return;var n,r,i,s=p._...
function Lt (line 14) | function Lt(e,t){var n,r,i;if(t.nodeType!==1)return;n=t.nodeName.toLower...
function Mt (line 14) | function Mt(t,n){var r=p(n.createElement(t)).appendTo(n.body),i=e.getDef...
function _t (line 14) | function _t(e){var t=N,n=Ot[e];if(!n){n=Mt(e,t);if(n==="none"||!n)At=(At...
function Ft (line 14) | function Ft(e,t){return{get:function(){var n=e();if(n==null)return;if(n)...
function $t (line 14) | function $t(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.sl...
function Jt (line 14) | function Jt(e,t){var n,r,i,s=[],o=0,u=e.length;for(;o<u;o++){r=e[o];if(!...
function Kt (line 14) | function Kt(e,t,n){var r=Ut.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[...
function Qt (line 14) | function Qt(e,t,n,r,i){var s=n===(r?"border":"content")?4:t==="width"?1:...
function Gt (line 14) | function Gt(e,t,n){var r=!0,i=t==="width"?e.offsetWidth:e.offsetHeight,s...
function Yt (line 14) | function Yt(e,t,n,r,i){return new Yt.prototype.init(e,t,n,r,i)}
function un (line 14) | function un(){return setTimeout(function(){Zt=undefined}),Zt=p.now()}
function an (line 14) | function an(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=V[i],r...
function fn (line 14) | function fn(e,t,n){var r,i=(on[t]||[]).concat(on["*"]),s=0,o=i.length;fo...
function ln (line 14) | function ln(e,t,n){var r,i,s,o,u,a,f,l,h=this,d={},v=e.style,m=e.nodeTyp...
function cn (line 14) | function cn(e,t){var n,r,i,s,o;for(n in e){r=p.camelCase(n),i=t[r],s=e[n...
function hn (line 14) | function hn(e,t,n){var r,i,s=0,o=sn.length,u=p.Deferred().always(functio...
function In (line 14) | function In(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var ...
function qn (line 14) | function qn(e,t,n,r){function o(u){var a;return i[u]=!0,p.each(e[u]||[],...
function Rn (line 14) | function Rn(e,t){var n,r,i=p.ajaxSettings.flatOptions||{};for(r in t)t[r...
function Un (line 14) | function Un(e,t,n){var r,i,s,o,u=e.contents,a=e.dataTypes;while(a[0]==="...
function zn (line 14) | function zn(e,t,n,r){var i,s,o,u,a,f={},l=e.dataTypes.slice();if(l[1])fo...
function Kn (line 14) | function Kn(e,t,n,r){var i;if(p.isArray(t))p.each(t,function(t,i){n||Xn....
function Zn (line 14) | function Zn(){try{return new e.XMLHttpRequest}catch(t){}}
function er (line 14) | function er(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(...
function sr (line 14) | function sr(e){return p.isWindow(e)?e:e.nodeType===9?e.defaultView||e.pa...
function rt (line 14) | function rt(e,t,r,i){var s,o,u,a,f,h,v,m,w,E;(t?t.ownerDocument||t:b)!==...
function it (line 14) | function it(){function t(n,i){return e.push(n+" ")>r.cacheLength&&delete...
function st (line 14) | function st(e){return e[y]=!0,e}
function ot (line 14) | function ot(e){var t=c.createElement("div");try{return!!e(t)}catch(n){re...
function ut (line 14) | function ut(e,t){var n=e.split("|"),i=e.length;while(i--)r.attrHandle[n[...
function at (line 14) | function at(e,t){var n=t&&e,r=n&&e.nodeType===1&&t.nodeType===1&&(~t.sou...
function ft (line 14) | function ft(e){return function(t){var n=t.nodeName.toLowerCase();return ...
function lt (line 14) | function lt(e){return function(t){var n=t.nodeName.toLowerCase();return(...
function ct (line 14) | function ct(e){return st(function(t){return t=+t,st(function(n,r){var i,...
function ht (line 14) | function ht(e){return e&&typeof e.getElementsByTagName!==C&&e}
function pt (line 14) | function pt(){}
function dt (line 14) | function dt(e,t){var n,i,s,o,u,a,f,l=x[e+" "];if(l)return t?0:l.slice(0)...
function vt (line 14) | function vt(e){var t=0,n=e.length,r="";for(;t<n;t++)r+=e[t].value;return r}
function mt (line 14) | function mt(e,t,n){var r=t.dir,i=n&&r==="parentNode",s=E++;return t.firs...
function gt (line 14) | function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i-...
function yt (line 14) | function yt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)...
function bt (line 14) | function bt(e,t,n,r,i,s){return r&&!r[y]&&(r=bt(r)),i&&!i[y]&&(i=bt(i,s)...
function wt (line 14) | function wt(e){var t,n,i,s=e.length,o=r.relative[e[0].type],a=o||r.relat...
function Et (line 14) | function Et(e,t){var n=t.length>0,i=e.length>0,s=function(s,o,a,f,l){var...
function St (line 14) | function St(e,t,n){var r=0,i=t.length;for(;r<i;r++)rt(e,t[r],n);return n}
function xt (line 14) | function xt(e,t,i,s){var u,a,f,l,c,h=dt(e);if(!s&&h.length===1){a=h[0]=h...
function l (line 15) | function l(){var t,n,u=N.getElementsByTagName("body")[0];if(!u)return;t=...
function x (line 16) | function x(e,t,n,r){var f,g,y,w,S,x=t;if(b===2)return;b=2,o&&clearTimeou...
FILE: src/Funny-demo/blackhole/js/numeric.js
function fmtnum (line 39) | function fmtnum(x) {
function foo (line 53) | function foo(x) {
function foo (line 101) | function foo(d) {
function foo (line 112) | function foo(d) {
function base64 (line 167) | function base64(A) {
function crc32Array (line 185) | function crc32Array (a,from,to) {
function foo (line 933) | function foo(x,k) {
function foo (line 947) | function foo(x,y,k) {
function dfs (line 1608) | function dfs(j) {
function sqr (line 2442) | function sqr(x) { return x*x; }
function heval (line 2443) | function heval(y0,y1,k0,k1,x) {
function sqr (line 2835) | function sqr(x) { return x*x; }
function err (line 3221) | function err(e) { throw new Error('MPStoLP: '+e+'\nLine '+i+': '+MPS[i]+...
function ARC4 (line 3430) | function ARC4(key) {
function flatten (line 3480) | function flatten(obj, depth, result, prop, typ) {
function mixkey (line 3500) | function mixkey(seed, key, smear, j) {
function lowbits (line 3516) | function lowbits(n) { return n & (width - 1); }
function base0to1 (line 3548) | function base0to1(A) {
function base1to0 (line 3554) | function base1to0(A) {
function dpori (line 3561) | function dpori(a, lda, n) {
function dposl (line 3588) | function dposl(a, lda, n, b) {
function dpofa (line 3612) | function dpofa(a, lda, n, info) {
function qpgen2 (line 3646) | function qpgen2(dmat, dvec, fddmat, n, sol, crval, amat,
function solveQP (line 4069) | function solveQP(Dmat, dvec, Amat, bvec, meq, factorized) {
function pythag (line 4160) | function pythag(a,b)
FILE: src/Funny-demo/tentacles/js/buttons.js
function b (line 1) | function b(f,h){if(h!=encodeURIComponent(h)){a.notEncoded.test(h)?_$de(f...
function b (line 1) | function b(f,d){d=f[a];delete f[a];try{stlib.json.e(f)}catch(e){f[a]=d;r...
function o (line 1) | function o(a){var ah=new Date();var b=null;var ai=0;do{b=new Date();ai++...
function Shareable (line 1) | function Shareable(d){var a={};a.facebook="450";a.twitter="684";a.yahoo=...
function shareLog (line 1) | function shareLog(a,b){if(typeof(ga)!=="undefined"){ga("send","event","S...
FILE: src/Game-demo/chinese_chess/js/common.js
function abc (line 56) | function abc(){
FILE: src/Game-demo/fly/js/ColladaLoader.js
function load (line 53) | function load ( url, readyCallback, progressCallback ) {
function parse (line 112) | function parse( doc, callBack, url ) {
function setPreferredShading (line 180) | function setPreferredShading ( shading ) {
function parseAsset (line 186) | function parseAsset () {
function parseLib (line 225) | function parseLib ( q, classSpec, prefix ) {
function parseScene (line 247) | function parseScene() {
function createAnimations (line 264) | function createAnimations() {
function recurseHierarchy (line 273) | function recurseHierarchy( node ) {
function calcAnimationBounds (line 330) | function calcAnimationBounds () {
function createMorph (line 357) | function createMorph ( geometry, ctrl ) {
function createSkin (line 395) | function createSkin ( geometry, ctrl, applyBindShape ) {
function setupSkeleton (line 448) | function setupSkeleton ( node, bones, frame, parent ) {
function setupSkinningMatrices (line 482) | function setupSkinningMatrices ( bones, skin ) {
function applySkin (line 540) | function applySkin ( geometry, instanceCtrl, frame ) {
function createSceneGraph (line 631) | function createSceneGraph ( node, parent ) {
function getJointId (line 844) | function getJointId( skin, id ) {
function getLibraryNode (line 858) | function getLibraryNode( id ) {
function getChannelsForNode (line 864) | function getChannelsForNode (node ) {
function calcFrameDuration (line 905) | function calcFrameDuration( node ) {
function calcMatrixAt (line 926) | function calcMatrixAt( node, t ) {
function bakeAnimations (line 995) | function bakeAnimations ( node ) {
function findKey (line 1087) | function findKey ( keys, time) {
function findTimeNdx (line 1111) | function findTimeNdx ( keys, time) {
function interpolateKeys (line 1131) | function interpolateKeys ( keys, key, ndx, fullSid ) {
function getNextKeyWith (line 1172) | function getNextKeyWith( keys, fullSid, ndx ) {
function getPrevKeyWith (line 1192) | function getPrevKeyWith( keys, fullSid, ndx ) {
function _Image (line 1212) | function _Image() {
function Controller (line 1239) | function Controller() {
function Morph (line 1283) | function Morph() {
function Skin (line 1380) | function Skin() {
function VisualScene (line 1562) | function VisualScene () {
function Node (line 1636) | function Node() {
function Transform (line 1867) | function Transform () {
function InstanceController (line 2097) | function InstanceController() {
function InstanceMaterial (line 2155) | function InstanceMaterial () {
function InstanceGeometry (line 2170) | function InstanceGeometry() {
function Geometry (line 2214) | function Geometry() {
function Mesh (line 2250) | function Mesh( geometry ) {
function Polygons (line 2579) | function Polygons () {
function Polylist (line 2646) | function Polylist () {
function Triangles (line 2657) | function Triangles () {
function Accessor (line 2668) | function Accessor() {
function Vertices (line 2703) | function Vertices() {
function Input (line 2728) | function Input () {
function Source (line 2754) | function Source ( id ) {
function Material (line 2863) | function Material () {
function ColorOrTexture (line 2891) | function ColorOrTexture () {
function Shader (line 3010) | function Shader ( type, effect ) {
function Surface (line 3178) | function Surface ( effect ) {
function Sampler2D (line 3218) | function Sampler2D ( effect ) {
function Effect (line 3282) | function Effect () {
function InstanceEffect (line 3444) | function InstanceEffect () {
function Animation (line 3457) | function Animation() {
function Channel (line 3527) | function Channel( animation ) {
function Sampler (line 3587) | function Sampler ( animation ) {
function Key (line 3746) | function Key ( time ) {
function Camera (line 3864) | function Camera() {
function InstanceCamera (line 3984) | function InstanceCamera() {
function _source (line 3998) | function _source( element ) {
function _nsResolver (line 4013) | function _nsResolver( nsPrefix ) {
function _bools (line 4025) | function _bools( str ) {
function _floats (line 4040) | function _floats( str ) {
function _ints (line 4055) | function _ints( str ) {
function _strings (line 4070) | function _strings( str ) {
function _trimString (line 4076) | function _trimString( str ) {
function _attr_as_float (line 4082) | function _attr_as_float( element, name, defaultValue ) {
function _attr_as_int (line 4096) | function _attr_as_int( element, name, defaultValue ) {
function _attr_as_string (line 4110) | function _attr_as_string( element, name, defaultValue ) {
function _format_float (line 4124) | function _format_float( f, num ) {
function evaluateXPath (line 4155) | function evaluateXPath( node, query ) {
function setUpConversion (line 4175) | function setUpConversion() {
function fixCoords (line 4206) | function fixCoords( data, sign ) {
function getConvertedVec3 (line 4264) | function getConvertedVec3( data, offset ) {
function getConvertedMat4 (line 4272) | function getConvertedMat4( data ) {
function getConvertedIndex (line 4329) | function getConvertedIndex( index ) {
function getConvertedMember (line 4345) | function getConvertedMember( member ) {
FILE: src/Game-demo/fly/js/Three.js
function c (line 24) | function c(a,b,c){q.sub(c,a);u=q.dot(b);t=n.add(a,r.copy(b).multiplyScal...
function d (line 24) | function d(a,b,c,d){q.sub(d,b);n.sub(c,b);r.sub(a,b);s=q.dot(q);w=q.dot(...
function a (line 29) | function a(){f=d-b;g=e-c}
function a (line 66) | function a(){var a=g[f]=g[f]||new THREE.RenderableObject;f++;return a}
function b (line 66) | function b(){var a=l[j]=l[j]||new THREE.RenderableVertex;j++;return a}
function c (line 66) | function c(a,b){return b.z-a.z}
function d (line 66) | function d(a,b){var c=0,d=1,e=a.z+a.w,f=b.z+b.w,g=-a.z+a.w,h=-b.z+b.w;if...
function a (line 97) | function a(a,b,c,d,e,f,F){h=a.vertices[b];j=a.vertices[c];
function b (line 104) | function b(a,b,c,d,e,f,g){a=(c-a)*0.5;d=(d-b)*0.5;return(2*(b-c)+a+d)*g+...
function c (line 119) | function c(a){a=
function d (line 120) | function d(a){a=Math.log(a)/Math.LN2;return Math.pow(2,Math.round(a))}
function e (line 120) | function e(a,b){var e=new Image;e.onload=function(){if(!c(this.width)||!...
function f (line 120) | function f(a,c,d,f,g,h){var j=document.createElement("canvas");a[c]=new ...
function g (line 121) | function g(a){return(a[0]*255<<16)+(a[1]*255<<8)+a[2]*255}
function w (line 130) | function w(a){return a%4?4-a%4:0}
function H (line 130) | function H(a,b){return(new Uint8Array(a,b,1))[0]}
function E (line 130) | function E(a,b){return(new Uint32Array(a,b,1))[0]}
function z (line 130) | function z(b,c){var d,e,f,g,h,i,j,k,l=new Uint32Array(a,c,3*b);for(d=0;d...
function v (line 131) | function v(b,c){var d,e,f,g,h,i,j,k,l,m,n=new Uint32Array(a,c,4*b);for(d...
function A (line 131) | function A(b,c,d){for(var e,f,g,h,c=new Uint32Array(a,c,3*b),i=new Uint1...
function J (line 132) | function J(b,c,d){for(var e,f,g,h,i,c=new Uint32Array(a,c,4*b),j=new Uin...
function K (line 132) | function K(b,c,d,e){for(var f,g,h,i,j,k,l,c=new Uint32Array(a,c,3*b),d=n...
function R (line 133) | function R(b,c,d,e){for(var f,g,h,i,j,k,l,m,n,c=new Uint32Array(a,c,4*b)...
function d (line 149) | function d(a,b){return b=="relativeToHTML"?a:l+"/"+a}
function e (line 149) | function e(){var a;for(m in D.objects)if(!C.objects[m]){u=D.objects[m];i...
function f (line 151) | function f(a){return function(b){C.geometries[a]=b;e();G=G-1;j.onLoadCom...
function g (line 151) | function g(a){return function(b){C.geometries[a]=b}}
function h (line 151) | function h(){j.callbackProgress({totalModels:T,totalTextures:U,loadedMod...
function b (line 221) | function b(a){if(t!=a)n.globalAlpha=t=a}
function c (line 221) | function c(a){if(y!=a){switch(a){case THREE.NormalBlending:n.globalCompo...
function d (line 221) | function d(a){if(s!=a)n.strokeStyle=s=a}
function e (line 221) | function e(a){if(w!=a)n.fillStyle=w=a}
function m (line 225) | function m(a){var b,c,d,e;aa.setRGB(0,0,0);Ta.setRGB(0,0,0);Qa.setRGB(0,...
function p (line 226) | function p(a,b,c,d){var e,f,g,i,h,j;e=0;for(f=a.length;e<f;e++){g=a[e];i...
function r (line 227) | function r(a,f,g){b(g.opacity);c(g.blending);var i,h,j,k,l,m;if(g instan...
function s (line 228) | function s(a,e,f,g){b(g.opacity);c(g.blending);n.beginPath();n.moveTo(a....
function t (line 229) | function t(a,d,e,g,h,l,m,n){f.info.render.vertices=f.info.render.vertice...
function u (line 234) | function u(a,d,e,g,h,l,n,m,o){f.info.render.vertices=f.info.render.verti...
function w (line 239) | function w(a,b,c,d,e,f){n.beginPath();n.moveTo(a,b);n.lineTo(c,
function y (line 240) | function y(a,b,c,d,e,f,g,i){n.beginPath();n.moveTo(a,b);n.lineTo(c,d);n....
function Mb (line 240) | function Mb(a,b,c,e){if(H!=b)n.lineWidth=H=b;if(E!=c)n.lineCap=E=c;if(z!...
function Eb (line 240) | function Eb(a){e(a.getContextStyle());n.fill()}
function ad (line 240) | function ad(a,b,c,d,f,g,i,h,j,k,l,m,p){if(p.image.width!=0){if(p.needsUp...
function gc (line 242) | function gc(a,b,c,d,e,f,g,i,h,j,k,l,m){var p,o;p=m.width-1;o=m.height-1;...
function Cc (line 243) | function Cc(a,b,c,d){var e=~~(a.r*255),f=~~(a.g*255),a=~~(a.b*255),g=~~(...
function ac (line 244) | function ac(a,b,c){a=(a-b)/(c-b);return a*a*(3-2*a)}
function hc (line 244) | function hc(a){a=(a+1)*0.5;return a<0?0:a>1?1:a}
function Nb (line 244) | function Nb(a,b){var c=b.x-a.x,d=b.y-a.y,e=c*c+d*d;if(e!=0){e=1/Math.sqr...
function a (line 250) | function a(a,b,c,d){var e,f,g,h,j,k;e=0;for(f=a.length;e<f;e++){g=a[e];h...
function b (line 251) | function b(a){if(A[a]==null){A[a]=document.createElementNS("http://www.w...
function c (line 251) | function c(a){a=(a+1)*0.5;return a<0?0:a>1?1:a}
function b (line 299) | function b(a,b){var c=a.vertices.length,d=b.material;if(d.attributes){if...
function c (line 300) | function c(a,b){if(a.material&&!(a.material instanceof THREE.MeshFaceMat...
function d (line 300) | function d(a){return a instanceof THREE.MeshBasicMaterial&&!a.envMap||a ...
function e (line 300) | function e(a){return a.map||a.lightMap||a instanceof THREE.ShaderMateria...
function f (line 300) | function f(a,b,c){var d,e,f,g,h=a.vertices;g=h.length;
function g (line 305) | function g(a,b){return b.z-a.z}
function h (line 305) | function h(a,b,c){if(a.length)for(var d=0,e=a.length;d<e;d++){ea=U=null;...
function j (line 305) | function j(a,b,c,d,e,f,g,h){var i,j,k,l;if(b){j=a.length-1;l=b=-1}else{j...
function l (line 306) | function l(a,b,c,d,e,f,g){for(var h,i,j=0,k=a.length;j<k;j++){h=a[j];i=h...
function k (line 307) | function k(a,b,c){a.push({buffer:b,object:c,opaque:null,transparent:null})}
function p (line 307) | function p(a){for(var b in a.attributes)if(a.attributes[b].needsUpdate)r...
function m (line 307) | function m(a){for(var b in a.attributes)a.attributes[b].needsUpdate=false}
function o (line 307) | function o(a,b){for(var c=a.length-1;c>=0;c--)a[c].object===
function q (line 308) | function q(a,b){for(var c=a.length-1;c>=0;c--)a[c]===b&&a.splice(c,1)}
function n (line 308) | function n(a,b,c,d,e){if(!d.program||d.needsUpdate){G.initMaterial(d,b,c...
function r (line 324) | function r(a,b){a._modelViewMatrix.multiply(b.matrixWorldInverse,a.matri...
function u (line 324) | function u(a,b,c){if(Ra!==
function t (line 325) | function t(a,b){var c;a==="fragment"?c=i.createShader(i.FRAGMENT_SHADER)...
function y (line 325) | function y(a,b,c){if(c){i.texParameteri(a,i.TEXTURE_WRAP_S,H(b.wrapS));i...
function s (line 326) | function s(a,b){i.bindRenderbuffer(i.RENDERBUFFER,a);if(b.depthBuffer&&!...
function w (line 327) | function w(a){switch(a){case THREE.NearestFilter:case THREE.NearestMipMa...
function H (line 328) | function H(a){switch(a){case THREE.RepeatWrapping:return i.REPEAT;case T...
function c (line 442) | function c(a){function b(c,d){if(d<c)return c;var e=c+Math.floor((d-c)/2...
function c (line 564) | function c(a,b){return function(){b.apply(a,arguments)}}
function c (line 573) | function c(a){return(a=a*2)<1?0.5*a*a:-0.5*(--a*(a-2)-1)}
function d (line 573) | function d(a,b){return function(){b.apply(a,arguments)}}
function e (line 573) | function e(a,b,c,d){var e={name:c,fps:0.6,length:d,hierarchy:[]},f,g=b.g...
function f (line 574) | function f(a,b){var c,d,e=new THREE.Geometry;for(c=0;c<a.points.length*b...
function c (line 582) | function c(a,b){return function(){b.apply(a,arguments)}}
function j (line 607) | function j(a,b,c,g,h,j,k,m){var n,p=d||1,o=e||1,q=h/2,r=j/2,t=l.vertices...
function c (line 616) | function c(a,b,c){b||console.log("die");return b.clone().multiplyScalar(...
function d (line 616) | function d(a,b,c){var d=THREE.ExtrudeGeometry.__v1,e=THREE.ExtrudeGeomet...
function e (line 617) | function e(c,d){var e,f;for(F=c.length;--F>=0;){e=F;f=F-1;f<0&&(f=
function f (line 618) | function f(a,b,c){A.vertices.push(new THREE.Vector3(a,b,c))}
function g (line 618) | function g(c,d,e,f){c=c+J;d=d+J;e=e+J;A.faces.push(new THREE.Face3(c,d,e...
function h (line 646) | function h(a,b,c,d,e,f){var g=Math.cos(a);Math.cos(b);b=Math.sin(a);a=c/...
function e (line 656) | function e(a){var b=a.normalize().clone();b.index=j.vertices.push(b)-1;v...
function f (line 656) | function f(a,b,c,d){if(d<1){d=new THREE.Face3(a.index,b.index,c.index,[a...
function g (line 657) | function g(a,b){p[a.index]||(p[a.index]=[]);p[b.index]||(p[b.index]=[]);...
function h (line 657) | function h(a,b,c){c<0&&a.u===1&&(a=new THREE.UV(a.u-1,a.v));b.x===0&&b.z...
function b (line 669) | function b(a,b,d){c(a,d);c(b,d)}
function c (line 669) | function c(a,b){d.lineGeometry.vertices.push(new THREE.Vector3);d.lineGe...
function a (line 672) | function a(a,d,e,f){THREE.CameraHelper.__v.set(d,e,f);THREE.CameraHelper...
function b (line 675) | function b(){m.debug&&console.log.apply(console,arguments)}
function c (line 675) | function c(){console&&console.log.apply(console,arguments)}
function d (line 675) | function d(a,c,d,e,g,h,i){var j=new THREE.Face4(a,c,d,e,null,g.color,g.m...
function e (line 676) | function e(a,b){return Math.min(a,b)+"_"+Math.max(a,b)}
function f (line 676) | function f(a,d){var e=a+":"+d,f=t[e];if(!f){a>=y&&a<y+q.length?b("face p...
function g (line 676) | function g(a,b,d){var e=a+":"+b;e in t?c("dup vertexNo",a,"oldFaceNo",b,...
function h (line 676) | function h(a,
function j (line 677) | function j(a,b,c){P[a]===void 0&&(P[a]={});P[a][b]=c}
function b (line 678) | function b(a,c){h[a]===void 0&&(h[a]=[]);h[a].push(c)}
function a (line 695) | function a(a){var c=b.createProgram(),d=b.createShader(b.FRAGMENT_SHADER...
function a (line 715) | function a(a,b){return b.z-a.z}
FILE: src/Threejs-demo/build/three.js
function hue2rgb (line 416) | function hue2rgb( p, q, t ) {
function handleAlpha (line 457) | function handleAlpha( string ) {
method x (line 864) | get x () {
method x (line 870) | set x ( value ) {
method y (line 877) | get y () {
method y (line 883) | set y ( value ) {
method z (line 890) | get z () {
method z (line 896) | set z ( value ) {
method w (line 903) | get w () {
method w (line 909) | set w ( value ) {
method width (line 1450) | get width() {
method width (line 1456) | set width( value ) {
method height (line 1462) | get height() {
method height (line 1468) | set height( value ) {
method x (line 3326) | get x () {
method x (line 3332) | set x ( value ) {
method y (line 3339) | get y () {
method y (line 3345) | set y ( value ) {
method z (line 3352) | get z () {
method z (line 3358) | set z ( value ) {
method order (line 3365) | get order () {
method order (line 3371) | set order ( value ) {
function interpolate (line 7302) | function interpolate( p0, p1, p2, p3, t, t2, t3 ) {
function ascSort (line 8362) | function ascSort( a, b ) {
function intersectObject (line 8368) | function intersectObject( object, raycaster, intersects, recursive ) {
function onRotationChange (line 8492) | function onRotationChange() {
function onQuaternionChange (line 8498) | function onQuaternionChange() {
function extractFromCache (line 9111) | function extractFromCache ( cache ) {
method count (line 9267) | get count() {
method needsUpdate (line 9273) | set needsUpdate( value ) {
method length (line 9666) | get length () {
method count (line 9672) | get count () {
method needsUpdate (line 9678) | set needsUpdate( value ) {
method length (line 9783) | get length() {
method count (line 9790) | get count() {
function addFace (line 10150) | function addFace( a, b, c, materialIndex ) {
function materialIndexSort (line 10779) | function materialIndexSort( a, b ) {
function setBit (line 10935) | function setBit( value, position, enabled ) {
function getNormalIndex (line 10941) | function getNormalIndex( normal ) {
function getColorIndex (line 10958) | function getColorIndex( color ) {
function getUvIndex (line 10975) | function getUvIndex( uv ) {
method total (line 13979) | get total() { return scope._actions.length; }
method inUse (line 13980) | get inUse() { return scope._nActiveActions; }
method total (line 13983) | get total() { return scope._bindings.length; }
method inUse (line 13984) | get inUse() { return scope._nActiveBindings; }
method total (line 13987) | get total() { return scope._controlInterpolants.length; }
method inUse (line 13988) | get inUse() { return scope._nActiveControlInterpolants; }
method total (line 14339) | get total() { return scope._objects.length; }
method inUse (line 14340) | get inUse() { return this.total - scope.nCachedObjects_; }
method bindingsPerObject (line 14343) | get bindingsPerObject() { return scope._bindings.length; }
function compareTime (line 14699) | function compareTime( i, j ) {
function loadTexture (line 17988) | function loadTexture( path, repeat, offset, wrap, anisotropy ) {
method statusDomElement (line 18537) | get statusDomElement () {
function parseModel (line 18614) | function parseModel( scale ) {
function parseSkin (line 18914) | function parseSkin() {
function parseMorphing (line 18959) | function parseMorphing( scale ) {
function parseAnimations (line 19004) | function parseAnimations() {
function loadImage (line 19721) | function loadImage( url ) {
function parseConstant (line 19757) | function parseConstant( value ) {
function getGeometry (line 19824) | function getGeometry( name ) {
function getMaterial (line 19836) | function getMaterial( name ) {
function loadTexture (line 20099) | function loadTexture( i ) {
function loadTexture (line 20270) | function loadTexture( i ) {
method needsUpdate (line 20437) | get needsUpdate() {
method needsUpdate (line 20443) | set needsUpdate( value ) {
function extractFromCache (line 20585) | function extractFromCache ( cache ) {
method needsUpdate (line 21943) | set needsUpdate( value ) {
function getDataURL (line 21994) | function getDataURL( image ) {
function update (line 22308) | function update() {
function testPoint (line 22399) | function testPoint( point, index ) {
function uvIntersection (line 22778) | function uvIntersection( point, p1, p2, p3, uv1, uv2, uv3 ) {
function checkIntersection (line 22792) | function checkIntersection( object, raycaster, ray, pA, pB, pC, point ) {
function checkBufferGeometryIntersection (line 22824) | function checkBufferGeometryIntersection( object, raycaster, ray, positi...
function getTargetPixelRatio (line 24998) | function getTargetPixelRatio() {
function glClearColor (line 25004) | function glClearColor( r, g, b, a ) {
function setDefaultGLState (line 25016) | function setDefaultGLState() {
function resetGLState (line 25027) | function resetGLState() {
function onContextLost (line 25254) | function onContextLost( event ) {
function onTextureDispose (line 25265) | function onTextureDispose( event ) {
function onRenderTargetDispose (line 25278) | function onRenderTargetDispose( event ) {
function onMaterialDispose (line 25290) | function onMaterialDispose( event ) {
function deallocateTexture (line 25302) | function deallocateTexture( texture ) {
function deallocateRenderTarget (line 25327) | function deallocateRenderTarget( renderTarget ) {
function deallocateMaterial (line 25367) | function deallocateMaterial( material ) {
function releaseMaterialProgramReference (line 25376) | function releaseMaterialProgramReference( material ) {
function setupVertexAttributes (line 25684) | function setupVertexAttributes( material, program, geometry, startIndex ) {
function absNumericalSort (line 25849) | function absNumericalSort( a, b ) {
function painterSortStable (line 25855) | function painterSortStable ( a, b ) {
function reversePainterSortStable (line 25877) | function reversePainterSortStable ( a, b ) {
function pushRenderItem (line 26038) | function pushRenderItem( object, geometry, material, z, group ) {
function isObjectViewable (line 26089) | function isObjectViewable( object ) {
function isSpriteViewable (line 26103) | function isSpriteViewable( sprite ) {
function isSphereViewable (line 26113) | function isSphereViewable( sphere ) {
function projectObject (line 26138) | function projectObject( object, camera ) {
function renderObjects (line 26236) | function renderObjects( renderList, camera, fog, overrideMaterial ) {
function initMaterial (line 26274) | function initMaterial( material, fog, object ) {
function setMaterial (line 26419) | function setMaterial( material ) {
function setProgram (line 26446) | function setProgram( camera, fog, material, object ) {
function refreshUniformsCommon (line 26728) | function refreshUniformsCommon ( uniforms, material ) {
function refreshUniformsLine (line 26828) | function refreshUniformsLine ( uniforms, material ) {
function refreshUniformsDash (line 26835) | function refreshUniformsDash ( uniforms, material ) {
function refreshUniformsPoints (line 26843) | function refreshUniformsPoints ( uniforms, material ) {
function refreshUniformsFog (line 26863) | function refreshUniformsFog ( uniforms, fog ) {
function refreshUniformsLambert (line 26880) | function refreshUniformsLambert ( uniforms, material ) {
function refreshUniformsPhong (line 26897) | function refreshUniformsPhong ( uniforms, material ) {
function refreshUniformsStandard (line 26939) | function refreshUniformsStandard ( uniforms, material ) {
function refreshUniformsPhysical (line 27000) | function refreshUniformsPhysical ( uniforms, material ) {
function markUniformsLightsNeedsUpdate (line 27008) | function markUniformsLightsNeedsUpdate ( uniforms, value ) {
function setupShadows (line 27021) | function setupShadows ( lights ) {
function setupLights (line 27041) | function setupLights ( lights, camera ) {
function allocTextureUnit (line 27207) | function allocTextureUnit() {
function setTextureParameters (line 27223) | function setTextureParameters ( textureType, texture, isPowerOfTwoImage ) {
function uploadTexture (line 27275) | function uploadTexture( textureProperties, texture, slot ) {
function setTexture2D (line 27416) | function setTexture2D( texture, slot ) {
function clampToMaxSize (line 27449) | function clampToMaxSize ( image, maxSize ) {
function isPowerOfTwo (line 27475) | function isPowerOfTwo( image ) {
function textureNeedsPowerOfTwo (line 27481) | function textureNeedsPowerOfTwo( texture ) {
function makePowerOfTwo (line 27490) | function makePowerOfTwo( image ) {
function setTextureCube (line 27511) | function setTextureCube ( texture, slot ) {
function setTextureCubeDynamic (line 27627) | function setTextureCubeDynamic ( texture, slot ) {
function setupFrameBufferTexture (line 27727) | function setupFrameBufferTexture ( framebuffer, renderTarget, attachment...
function setupRenderBufferStorage (line 27739) | function setupRenderBufferStorage ( renderbuffer, renderTarget ) {
function setupDepthTexture (line 27765) | function setupDepthTexture ( framebuffer, renderTarget ) {
function setupDepthRenderbuffer (line 27795) | function setupDepthRenderbuffer( renderTarget ) {
function setupRenderTarget (line 27836) | function setupRenderTarget( renderTarget ) {
function updateRenderTargetMipmap (line 28049) | function updateRenderTargetMipmap( renderTarget ) {
function filterFallback (line 28062) | function filterFallback ( f ) {
function paramThreeToGL (line 28076) | function paramThreeToGL ( p ) {
function setMode (line 28295) | function setMode( value ) {
function render (line 28301) | function render( start, count ) {
function renderInstances (line 28311) | function renderInstances( geometry ) {
function resetGlobalState (line 28446) | function resetGlobalState() {
function projectPlanes (line 28459) | function projectPlanes( planes, camera, dstOffset, skipTransform ) {
function setMode (line 28517) | function setMode( value ) {
function setIndex (line 28525) | function setIndex( index ) {
function render (line 28541) | function render( start, count ) {
function renderInstances (line 28551) | function renderInstances( geometry, start, count ) {
function getMaxPrecision (line 28641) | function getMaxPrecision( precision ) {
function get (line 28717) | function get( object ) {
function onGeometryDispose (line 28755) | function onGeometryDispose( event ) {
function getAttributeBuffer (line 28800) | function getAttributeBuffer( attribute ) {
function deleteAttribute (line 28812) | function deleteAttribute( attribute ) {
function deleteAttributes (line 28825) | function deleteAttributes( attributes ) {
function removeAttributeBuffer (line 28835) | function removeAttributeBuffer( attribute ) {
function update (line 28948) | function update( object ) {
function updateAttribute (line 28995) | function updateAttribute( attribute, bufferType ) {
function createBuffer (line 29013) | function createBuffer( attributeProperties, data, bufferType ) {
function updateBuffer (line 29026) | function updateBuffer( attributeProperties, data, bufferType ) {
function getAttributeBuffer (line 29053) | function getAttributeBuffer( attribute ) {
function getWireframeAttribute (line 29065) | function getWireframeAttribute( geometry ) {
function checkEdge (line 29129) | function checkEdge( edges, a, b ) {
function getEncodingComponents (line 29170) | function getEncodingComponents( encoding ) {
function getTexelDecodingFunction (line 29195) | function getTexelDecodingFunction( functionName, encoding ) {
function getTexelEncodingFunction (line 29202) | function getTexelEncodingFunction( functionName, encoding ) {
function getToneMappingFunction (line 29209) | function getToneMappingFunction( functionName, toneMapping ) {
function generateExtensions (line 29240) | function generateExtensions( extensions, parameters, rendererExtensions ) {
function generateDefines (line 29255) | function generateDefines( defines ) {
function fetchAttributeLocations (line 29273) | function fetchAttributeLocations( gl, program, identifiers ) {
function filterEmptyLine (line 29294) | function filterEmptyLine( string ) {
function replaceLightNums (line 29300) | function replaceLightNums( string, parameters ) {
function parseIncludes (line 29310) | function parseIncludes( string ) {
function unrollLoops (line 29332) | function unrollLoops( string ) {
function allocateBones (line 29845) | function allocateBones ( object ) {
function getTextureEncodingFromMap (line 29883) | function getTextureEncodingFromMap( map, gammaOverrideLinear ) {
function addLineNumbers (line 30143) | function addLineNumbers( string ) {
function getDepthMaterial (line 30483) | function getDepthMaterial( object, material, isPointLight, lightPosition...
function projectObject (line 30586) | function projectObject( object, camera, shadowCamera ) {
function createTexture (line 30671) | function createTexture( type, target, count ) {
function init (line 32163) | function init() {
function createProgram (line 32505) | function createProgram ( shader ) {
function init (line 32554) | function init() {
function createProgram (line 32778) | function createProgram () {
function painterSortStable (line 32885) | function painterSortStable ( a, b ) {
function snip (line 33811) | function snip( contour, u, v, w, n, verts ) {
function point_in_segment_2D_colin (line 33965) | function point_in_segment_2D_colin( inSegPt1, inSegPt2, inOtherPt ) {
function intersect_segments_2D (line 33996) | function intersect_segments_2D( inSeg1Pt1, inSeg1Pt2, inSeg2Pt1, inSeg2P...
function isPointInsideAngle (line 34169) | function isPointInsideAngle( inVertex, inLegFromPt, inLegToPt, inOtherPt...
function removeHoles (line 34212) | function removeHoles( contour, holes ) {
function b2p0 (line 34455) | function b2p0( t, p ) {
function b2p1 (line 34462) | function b2p1( t, p ) {
function b2p2 (line 34468) | function b2p2( t, p ) {
function b3p0 (line 34486) | function b3p0( t, p ) {
function b3p1 (line 34493) | function b3p1( t, p ) {
function b3p2 (line 34500) | function b3p2( t, p ) {
function b3p3 (line 34507) | function b3p3( t, p ) {
function createPaths (line 34994) | function createPaths( text ) {
function createPath (line 35015) | function createPath( c, scale, offset ) {
function extractSubpaths (line 35586) | function extractSubpaths( inActions ) {
function toShapesNoHoles (line 35624) | function toShapesNoHoles( inSubpaths ) {
function isPointInsidePolygon (line 35646) | function isPointInsidePolygon( inPt, inPolygon ) {
function CubicPoly (line 36334) | function CubicPoly() {
function calculateVertexCount (line 36602) | function calculateVertexCount ( w, h, d ) {
function calculateIndexCount (line 36615) | function calculateIndexCount ( w, h, d ) {
function buildPlane (line 36628) | function buildPlane ( u, v, w, udir, vdir, width, height, depth, gridX, ...
function calculateVertexCount (line 36919) | function calculateVertexCount() {
function calculateIndexCount (line 36933) | function calculateIndexCount() {
function generateTorso (line 36947) | function generateTorso() {
function generateCap (line 37047) | function generateCap( top ) {
function sortFunction (line 37270) | function sortFunction( a, b ) {
function scalePt2 (line 37528) | function scalePt2 ( pt, vec, size ) {
function getBevelVec (line 37544) | function getBevelVec( inPt, inPrev, inNext ) {
function buildLidFaces (line 37864) | function buildLidFaces() {
function buildSideFaces (line 37918) | function buildSideFaces() {
function sidewalls (line 37936) | function sidewalls( contour, layeroffset ) {
function v (line 37970) | function v( x, y, z ) {
function f3 (line 37976) | function f3( a, b, c ) {
function f4 (line 37990) | function f4( a, b, c, d, wallContour, stepIndex, stepsLength, contourInd...
function calculatePositionOnCurve (line 39160) | function calculatePositionOnCurve( u, p, q, radius, position ) {
function vert (line 39275) | function vert( x, y, z ) {
function initialNormal3 (line 39427) | function initialNormal3() {
function prepare (line 39618) | function prepare( vector ) {
function make (line 39636) | function make( v1, v2, v3, materialIndex ) {
function subdivide (line 39656) | function subdivide( face, detail ) {
function azimuth (line 39729) | function azimuth( vector ) {
function inclination (line 39738) | function inclination( vector ) {
function correctUV (line 39747) | function correctUV( uv, vector, azimuth ) {
function sortFunction (line 40019) | function sortFunction( a, b ) {
function addLine (line 40528) | function addLine( a, b, hex ) {
function addPoint (line 40535) | function addPoint( id, hex ) {
function setPoint (line 40574) | function setPoint( point, x, y, z ) {
FILE: src/Threejs-demo/examples/js/BlendCharacterGui.js
function BlendCharacterGui (line 5) | function BlendCharacterGui( blendMesh ) {
FILE: src/Threejs-demo/examples/js/BufferGeometryUtils.js
function handleTriangle (line 60) | function handleTriangle( a, b, c ) {
function handleVertex (line 143) | function handleVertex( v ) {
FILE: src/Threejs-demo/examples/js/Car.js
function createBody (line 258) | function createBody ( geometry, materials ) {
function createWheels (line 267) | function createWheels ( geometry, materials ) {
function createCar (line 276) | function createCar () {
function quadraticEaseOut (line 381) | function quadraticEaseOut( k ) {
function cubicEaseOut (line 386) | function cubicEaseOut( k ) {
function circularEaseOut (line 391) | function circularEaseOut( k ) {
function sinusoidalEaseOut (line 396) | function sinusoidalEaseOut( k ) {
function exponentialEaseOut (line 401) | function exponentialEaseOut( k ) {
FILE: src/Threejs-demo/examples/js/Cloth.js
function plane (line 47) | function plane( width, height ) {
function Particle (line 61) | function Particle( x, y, z, mass ) {
function satisifyConstrains (line 104) | function satisifyConstrains( p1, p2, distance ) {
function Cloth (line 117) | function Cloth( w, h ) {
function simulate (line 225) | function simulate( time ) {
FILE: src/Threejs-demo/examples/js/GPUParticleSystem.js
function decodeFloat (line 305) | function decodeFloat(x, y, z, w) {
function componentToHex (line 313) | function componentToHex(c) {
function rgbToHex (line 318) | function rgbToHex(r, g, b) {
function hexToRgb (line 322) | function hexToRgb(hex) {
FILE: src/Threejs-demo/examples/js/ImprovedNoise.js
function fade (line 22) | function fade(t) {
function lerp (line 28) | function lerp(t, a, b) {
function grad (line 34) | function grad(hash, x, y, z) {
FILE: src/Threejs-demo/examples/js/MD2Character.js
function loadTextures (line 207) | function loadTextures( baseUrl, textureUrls ) {
function createPart (line 224) | function createPart( geometry, skinMap ) {
function checkLoadingComplete (line 246) | function checkLoadingComplete() {
FILE: src/Threejs-demo/examples/js/MD2CharacterComplex.js
function loadTextures (line 507) | function loadTextures( baseUrl, textureUrls ) {
function createPart (line 524) | function createPart( geometry, skinMap ) {
function checkLoadingComplete (line 547) | function checkLoadingComplete() {
function exponentialEaseOut (line 554) | function exponentialEaseOut( k ) {
FILE: src/Threejs-demo/examples/js/Ocean.js
function optionalParameter (line 16) | function optionalParameter( value, defaultValue ) {
FILE: src/Threejs-demo/examples/js/Octree.js
function isNumber (line 20) | function isNumber ( n ) {
function isArray (line 26) | function isArray ( target ) {
function toArray (line 32) | function toArray ( target ) {
function indexOfValue (line 38) | function indexOfValue( array, value ) {
function indexOfPropertyWithValue (line 54) | function indexOfPropertyWithValue( array, property, value ) {
FILE: src/Threejs-demo/examples/js/ParametricGeometries.js
function sphere (line 224) | function sphere( u, v ) {
function plane (line 254) | function plane( u, v ) {
FILE: src/Threejs-demo/examples/js/SimulationRenderer.js
function SimulationRenderer (line 13) | function SimulationRenderer( WIDTH, renderer ) {
FILE: src/Threejs-demo/examples/js/TypedArrayUtils.js
function buildTree (line 197) | function buildTree( points, depth, parent, pos ) {
function nearestSearch (line 255) | function nearestSearch( node ) {
FILE: src/Threejs-demo/examples/js/UCSCharacter.js
function loadTextures (line 92) | function loadTextures( baseUrl, textureUrls ) {
function createMaterials (line 109) | function createMaterials( skins ) {
FILE: src/Threejs-demo/examples/js/WaterShader.js
function optionalParameter (line 119) | function optionalParameter ( value, defaultValue ) {
function sign (line 215) | function sign( x ) {
FILE: src/Threejs-demo/examples/js/animation/MMDPhysics.js
function generateShape (line 601) | function generateShape ( p ) {
FILE: src/Threejs-demo/examples/js/controls/DragControls.js
function onDocumentMouseMove (line 106) | function onDocumentMouseMove( event ) {
function onDocumentMouseDown (line 192) | function onDocumentMouseDown( event ) {
function onDocumentMouseUp (line 220) | function onDocumentMouseUp( event ) {
FILE: src/Threejs-demo/examples/js/controls/EditorControls.js
function onMouseDown (line 109) | function onMouseDown( event ) {
function onMouseMove (line 136) | function onMouseMove( event ) {
function onMouseUp (line 163) | function onMouseUp( event ) {
function onMouseWheel (line 174) | function onMouseWheel( event ) {
function contextmenu (line 200) | function contextmenu( event ) {
function touchStart (line 237) | function touchStart( event ) {
function touchMove (line 262) | function touchMove( event ) {
FILE: src/Threejs-demo/examples/js/controls/FirstPersonControls.js
function contextmenu (line 256) | function contextmenu( event ) {
function bind (line 288) | function bind( scope, fn ) {
FILE: src/Threejs-demo/examples/js/controls/FlyControls.js
function bind (line 247) | function bind( scope, fn ) {
function contextmenu (line 257) | function contextmenu( event ) {
FILE: src/Threejs-demo/examples/js/controls/OrbitControls.js
function getAutoRotationAngle (line 268) | function getAutoRotationAngle() {
function getZoomScale (line 274) | function getZoomScale() {
function rotateLeft (line 280) | function rotateLeft( angle ) {
function rotateUp (line 286) | function rotateUp( angle ) {
function dollyIn (line 363) | function dollyIn( dollyScale ) {
function dollyOut (line 384) | function dollyOut( dollyScale ) {
function handleMouseDownRotate (line 409) | function handleMouseDownRotate( event ) {
function handleMouseDownDolly (line 417) | function handleMouseDownDolly( event ) {
function handleMouseDownPan (line 425) | function handleMouseDownPan( event ) {
function handleMouseMoveRotate (line 433) | function handleMouseMoveRotate( event ) {
function handleMouseMoveDolly (line 454) | function handleMouseMoveDolly( event ) {
function handleMouseMovePan (line 478) | function handleMouseMovePan( event ) {
function handleMouseUp (line 494) | function handleMouseUp( event ) {
function handleMouseWheel (line 500) | function handleMouseWheel( event ) {
function handleKeyDown (line 534) | function handleKeyDown( event ) {
function handleTouchStartRotate (line 564) | function handleTouchStartRotate( event ) {
function handleTouchStartDolly (line 572) | function handleTouchStartDolly( event ) {
function handleTouchStartPan (line 585) | function handleTouchStartPan( event ) {
function handleTouchMoveRotate (line 593) | function handleTouchMoveRotate( event ) {
function handleTouchMoveDolly (line 614) | function handleTouchMoveDolly( event ) {
function handleTouchMovePan (line 643) | function handleTouchMovePan( event ) {
function handleTouchEnd (line 659) | function handleTouchEnd( event ) {
function onMouseDown (line 669) | function onMouseDown( event ) {
function onMouseMove (line 713) | function onMouseMove( event ) {
function onMouseUp (line 741) | function onMouseUp( event ) {
function onMouseWheel (line 757) | function onMouseWheel( event ) {
function onKeyDown (line 771) | function onKeyDown( event ) {
function onTouchStart (line 779) | function onTouchStart( event ) {
function onTouchMove (line 829) | function onTouchMove( event ) {
function onTouchEnd (line 873) | function onTouchEnd( event ) {
function onContextMenu (line 885) | function onContextMenu( event ) {
FILE: src/Threejs-demo/examples/js/controls/OrthographicTrackballControls.js
function keydown (line 378) | function keydown( event ) {
function keyup (line 406) | function keyup( event ) {
function mousedown (line 416) | function mousedown( event ) {
function mousemove (line 453) | function mousemove( event ) {
function mouseup (line 476) | function mouseup( event ) {
function mousewheel (line 491) | function mousewheel( event ) {
function touchstart (line 520) | function touchstart( event ) {
function touchmove (line 552) | function touchmove( event ) {
function touchend (line 582) | function touchend( event ) {
function contextmenu (line 609) | function contextmenu( event ) {
FILE: src/Threejs-demo/examples/js/controls/TrackballControls.js
function keydown (line 355) | function keydown( event ) {
function keyup (line 383) | function keyup( event ) {
function mousedown (line 393) | function mousedown( event ) {
function mousemove (line 430) | function mousemove( event ) {
function mouseup (line 454) | function mouseup( event ) {
function mousewheel (line 469) | function mousewheel( event ) {
function touchstart (line 498) | function touchstart( event ) {
function touchmove (line 528) | function touchmove( event ) {
function touchend (line 556) | function touchend( event ) {
function contextmenu (line 578) | function contextmenu( event ) {
FILE: src/Threejs-demo/examples/js/controls/TransformControls.js
function onPointerHover (line 819) | function onPointerHover( event ) {
function onPointerDown (line 847) | function onPointerDown( event ) {
function onPointerMove (line 897) | function onPointerMove( event ) {
function onPointerUp (line 1102) | function onPointerUp( event ) {
function intersectObjects (line 1118) | function intersectObjects( pointer, objects ) {
FILE: src/Threejs-demo/examples/js/controls/VRControls.js
function gotVRDevices (line 14) | function gotVRDevices( devices ) {
FILE: src/Threejs-demo/examples/js/crossfade/gui.js
function initGUI (line 11) | function initGUI() {
FILE: src/Threejs-demo/examples/js/crossfade/scenes.js
function generateGeometry (line 1) | function generateGeometry( objectType, numObjects ) {
function Scene (line 73) | function Scene ( type, numObjects, cameraZ, fov, rotationSpeed, clearCol...
FILE: src/Threejs-demo/examples/js/crossfade/transition.js
function Transition (line 1) | function Transition ( sceneA, sceneB ) {
FILE: src/Threejs-demo/examples/js/effects/AsciiEffect.js
function initAsciiSize (line 74) | function initAsciiSize() {
function asciifyImage (line 201) | function asciifyImage( canvasRenderer, oAscii ) {
FILE: src/Threejs-demo/examples/js/effects/VREffect.js
function gotVRDevices (line 21) | function gotVRDevices( devices ) {
function onFullscreenChange (line 105) | function onFullscreenChange () {
function fovToNDCScaleOffset (line 339) | function fovToNDCScaleOffset( fov ) {
function fovPortToProjection (line 349) | function fovPortToProjection( fov, rightHanded, zNear, zFar ) {
function fovToProjection (line 396) | function fovToProjection( fov, rightHanded, zNear, zFar ) {
FILE: src/Threejs-demo/examples/js/geometries/ConvexGeometry.js
function addPoint (line 33) | function addPoint( vertexId ) {
function visible (line 109) | function visible( face, vertex ) {
function normal (line 127) | function normal( va, vb, vc ) {
function equalEdge (line 147) | function equalEdge( ea, eb ) {
function randomOffset (line 156) | function randomOffset() {
function vertexUv (line 166) | function vertexUv( vertex ) {
FILE: src/Threejs-demo/examples/js/geometries/DecalGeometry.js
function clip (line 37) | function clip( v0, v1, p ) {
FILE: src/Threejs-demo/examples/js/geometries/hilbert2D.js
function hilbert2D (line 18) | function hilbert2D ( center, size, iterations, v0, v1, v2, v3 ) {
FILE: src/Threejs-demo/examples/js/geometries/hilbert3D.js
function hilbert3D (line 27) | function hilbert3D( center, size, iterations, v0, v1, v2, v3, v4, v5, v6...
FILE: src/Threejs-demo/examples/js/libs/ammo.js
function globalEval (line 6) | function globalEval(x){throw"NO_DYNAMIC_EXECUTION was set, cannot eval"}
function assert (line 6) | function assert(condition,text){if(!condition){abort("Assertion failed: ...
function getCFunc (line 6) | function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_...
function setValue (line 6) | function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(...
function getValue (line 6) | function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.l...
function allocate (line 6) | function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof ...
function getMemory (line 6) | function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(siz...
function Pointer_stringify (line 6) | function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var ...
function AsciiToString (line 6) | function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];i...
function stringToAscii (line 6) | function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,...
function UTF8ArrayToString (line 6) | function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str=""...
function UTF8ToString (line 6) | function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}
function stringToUTF8Array (line 6) | function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(m...
function stringToUTF8 (line 6) | function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Arr...
function lengthBytesUTF8 (line 6) | function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){va...
function UTF16ToString (line 6) | function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEA...
function stringToUTF16 (line 6) | function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===...
function lengthBytesUTF16 (line 6) | function lengthBytesUTF16(str){return str.length*2}
function UTF32ToString (line 6) | function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32...
function stringToUTF32 (line 6) | function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===...
function lengthBytesUTF32 (line 6) | function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){v...
function demangle (line 6) | function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(...
function demangleAll (line 6) | function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(...
function jsStackTrace (line 6) | function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new E...
function stackTrace (line 6) | function stackTrace(){return demangleAll(jsStackTrace())}
function alignMemoryPage (line 6) | function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}
function enlargeMemory (line 6) | function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1)...
function callRuntimeCallbacks (line 6) | function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var c...
function preRun (line 6) | function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="func...
function ensureInitRuntime (line 6) | function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitial...
function preMain (line 6) | function preMain(){callRuntimeCallbacks(__ATMAIN__)}
function exitRuntime (line 6) | function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}
function postRun (line 6) | function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="f...
function addOnPreRun (line 6) | function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}
function addOnInit (line 6) | function addOnInit(cb){__ATINIT__.unshift(cb)}
function addOnPreMain (line 6) | function addOnPreMain(cb){__ATMAIN__.unshift(cb)}
function addOnExit (line 6) | function addOnExit(cb){__ATEXIT__.unshift(cb)}
function addOnPostRun (line 6) | function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}
function intArrayFromString (line 6) | function intArrayFromString(stringy,dontAddNull,length){var len=length>0...
function intArrayToString (line 6) | function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i...
function writeStringToMemory (line 6) | function writeStringToMemory(string,buffer,dontAddNull){var array=intArr...
function writeArrayToMemory (line 6) | function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++...
function writeAsciiToMemory (line 6) | function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.le...
function unSign (line 6) | function unSign(value,bits,ignore){if(value>=0){return value}return bits...
function reSign (line 6) | function reSign(value,bits,ignore){if(value<=0){return value}var half=bi...
function getUniqueRunDependency (line 6) | function getUniqueRunDependency(id){return id}
function addRunDependency (line 6) | function addRunDependency(id){runDependencies++;if(Module["monitorRunDep...
function removeRunDependency (line 6) | function removeRunDependency(id){runDependencies--;if(Module["monitorRun...
function _emscripten_asm_const_8 (line 6) | function _emscripten_asm_const_8(code,a0,a1,a2,a3,a4,a5,a6,a7){return AS...
function copyTempFloat (line 6) | function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDo...
function copyTempDouble (line 6) | function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempD...
function ___setErrNo (line 6) | function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module...
function _sysconf (line 6) | function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:re...
function _pthread_cleanup_pop (line 6) | function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__AT...
function __ZSt18uncaught_exceptionv (line 6) | function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv...
function ___resumeException (line 6) | function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=pt...
function ___cxa_find_matching_catch (line 6) | function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thr...
function ___cxa_throw (line 6) | function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:pt...
function _abort (line 6) | function _abort(){Module["abort"]()}
function _pthread_once (line 6) | function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.se...
function _pthread_getspecific (line 6) | function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}
function _pthread_key_create (line 6) | function _pthread_key_create(key,destructor){if(key==0){return ERRNO_COD...
function _pthread_setspecific (line 6) | function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){...
function _malloc (line 6) | function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr...
function ___cxa_allocate_exception (line 6) | function ___cxa_allocate_exception(size){return _malloc(size)}
function ___cxa_pure_virtual (line 6) | function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function ca...
function _pthread_cleanup_push (line 6) | function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){...
function ___cxa_guard_acquire (line 6) | function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[va...
function _gettimeofday (line 6) | function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;...
function ___cxa_guard_release (line 6) | function ___cxa_guard_release(){}
function ___cxa_begin_catch (line 6) | function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exc...
function _emscripten_memcpy_big (line 6) | function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray...
function ___syscall6 (line 6) | function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var str...
function _sbrk (line 6) | function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMe...
function _llvm_trap (line 6) | function _llvm_trap(){abort("trap!")}
function _time (line 6) | function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}...
function _pthread_self (line 6) | function _pthread_self(){return 0}
function ___syscall140 (line 6) | function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var s...
function ___syscall146 (line 6) | function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var s...
function invoke_viiiii (line 6) | function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"...
function invoke_vid (line 6) | function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}...
function invoke_vi (line 6) | function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e)...
function invoke_viiidii (line 6) | function invoke_viiidii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vii...
function invoke_vii (line 6) | function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}...
function invoke_iiiiiiiiiii (line 6) | function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{re...
function invoke_ii (line 6) | function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}c...
function invoke_viidi (line 6) | function invoke_viidi(index,a1,a2,a3,a4){try{Module["dynCall_viidi"](ind...
function invoke_viddiii (line 6) | function invoke_viddiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vid...
function invoke_vidii (line 6) | function invoke_vidii(index,a1,a2,a3,a4){try{Module["dynCall_vidii"](ind...
function invoke_iiiii (line 6) | function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiii...
function invoke_vidi (line 6) | function invoke_vidi(index,a1,a2,a3){try{Module["dynCall_vidi"](index,a1...
function invoke_diiiiiiii (line 6) | function invoke_diiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Modu...
function invoke_viiiiddddiid (line 6) | function invoke_viiiiddddiid(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){t...
function invoke_diiiii (line 6) | function invoke_diiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_...
function invoke_iiii (line 6) | function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](i...
function invoke_viiiiii (line 6) | function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vii...
function invoke_iiid (line 6) | function invoke_iiid(index,a1,a2,a3){try{return Module["dynCall_iiid"](i...
function invoke_di (line 6) | function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}c...
function invoke_iiiiiii (line 6) | function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynC...
function invoke_diiidii (line 6) | function invoke_diiidii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynC...
function invoke_viidii (line 6) | function invoke_viidii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viidii"...
function invoke_viiiiiii (line 6) | function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall...
function invoke_viiiiiiiii (line 6) | function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module[...
function invoke_viiiiiiiiii (line 6) | function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{Mo...
function invoke_iii (line 6) | function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,...
function invoke_diii (line 6) | function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](i...
function invoke_diiiiiiiiii (line 6) | function invoke_diiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{re...
function invoke_viiiid (line 6) | function invoke_viiiid(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiid"...
function invoke_diiiiiiiii (line 6) | function invoke_diiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return ...
function invoke_did (line 6) | function invoke_did(index,a1,a2){try{return Module["dynCall_did"](index,...
function invoke_viiiidddddidi (line 6) | function invoke_viiiidddddidi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a...
function invoke_diidii (line 6) | function invoke_diidii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_...
function invoke_diiii (line 6) | function invoke_diiii(index,a1,a2,a3,a4){try{return Module["dynCall_diii...
function invoke_iiiiiiiiii (line 6) | function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{return ...
function invoke_viiid (line 6) | function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](ind...
function invoke_viii (line 6) | function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1...
function invoke_v (line 6) | function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(type...
function invoke_viid (line 6) | function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1...
function invoke_iidid (line 6) | function invoke_iidid(index,a1,a2,a3,a4){try{return Module["dynCall_iidi...
function invoke_viiii (line 6) | function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](ind...
function oc (line 10) | function oc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}
function pc (line 10) | function pc(){return i|0}
function qc (line 10) | function qc(a){a=a|0;i=a}
function rc (line 10) | function rc(a,b){a=a|0;b=b|0;i=a;j=b}
function sc (line 10) | function sc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}
function tc (line 10) | function tc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function uc (line 10) | function uc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function vc (line 10) | function vc(a){a=a|0;C=a}
function wc (line 10) | function wc(){return C|0}
function xc (line 10) | function xc(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function yc (line 10) | function yc(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function zc (line 10) | function zc(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ac (line 10) | function Ac(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c...
function Bc (line 10) | function Bc(a){a=a|0;return c[a+192>>2]|0}
function Cc (line 10) | function Cc(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}
function Dc (line 10) | function Dc(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]...
function Ec (line 10) | function Ec(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}
function Fc (line 10) | function Fc(a){a=a|0;if(c[a+204>>2]&3)return;if((c[a+216>>2]&-2|0)!=4)c[...
function Gc (line 10) | function Gc(a,b){a=a|0;b=b|0;if(!b?(c[a+204>>2]&3|0)!=0:0)return;if((c[a...
function Hc (line 10) | function Hc(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}
function Ic (line 10) | function Ic(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}
function Jc (line 10) | function Jc(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;...
function Kc (line 10) | function Kc(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;...
function Lc (line 10) | function Lc(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;...
function Mc (line 10) | function Mc(a){a=a|0;return a+4|0}
function Nc (line 10) | function Nc(a){a=a|0;return c[a+204>>2]|0}
function Oc (line 10) | function Oc(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}
function Pc (line 10) | function Pc(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b...
function Qc (line 10) | function Qc(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}
function Rc (line 10) | function Rc(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}
function Sc (line 10) | function Sc(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}
function Tc (line 10) | function Tc(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+8>>2]&255](a);return}
function Uc (line 10) | function Uc(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function Vc (line 10) | function Vc(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function Wc (line 10) | function Wc(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Xc (line 10) | function Xc(a){a=a|0;return c[a+24>>2]|0}
function Yc (line 10) | function Yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;nc[c[(c[a>>2]|0)+32>>2]&127...
function Zc (line 10) | function Zc(a){a=a|0;a=c[a+68>>2]|0;return Hb[c[(c[a>>2]|0)+36>>2]&127](...
function _c (line 10) | function _c(a){a=a|0;return a+28|0}
function $c (line 10) | function $c(a,b){a=a|0;b=b|0;nc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}
function ad (line 10) | function ad(a,b,d){a=a|0;b=b|0;d=d|0;nc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,...
function bd (line 10) | function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;nc[c[(c[a>>2]|0)+36>>2]&127...
function cd (line 10) | function cd(a){a=a|0;return c[a+68>>2]|0}
function dd (line 10) | function dd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;gv(a,b,c,d,e...
function ed (line 10) | function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hv(a,b,c,d);return}
function fd (line 10) | function fd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function gd (line 10) | function gd(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}
function hd (line 10) | function hd(a){a=a|0;return +(+g[a+16>>2])}
function id (line 10) | function id(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}
function jd (line 10) | function jd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function kd (line 10) | function kd(a,b){a=+a;b=+b;var d=0;c[2703]=(c[2703]|0)+1;d=XE(75)|0;if(!...
function ld (line 10) | function ld(a,b){a=a|0;b=+b;Cb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}
function md (line 10) | function md(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function nd (line 10) | function nd(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function od (line 10) | function od(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function pd (line 10) | function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[2703]=(c[2703]|0)+1;e=XE(...
function qd (line 10) | function qd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[2703]=(c[...
function rd (line 10) | function rd(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2]...
function sd (line 10) | function sd(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2]...
function td (line 10) | function td(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)brea...
function ud (line 10) | function ud(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=0;while(1){if((d|0)==3)brea...
function vd (line 10) | function vd(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}
function wd (line 10) | function wd(a){a=a|0;return +(+g[a+16>>2])}
function xd (line 10) | function xd(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}
function yd (line 10) | function yd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function zd (line 10) | function zd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ad (line 10) | function Ad(a){a=a|0;return +g[a+4>>2]<1.0|0}
function Bd (line 10) | function Bd(a){a=a|0;return b[a+8>>1]|0}
function Cd (line 10) | function Cd(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}
function Dd (line 10) | function Dd(a){a=a|0;return b[a+10>>1]|0}
function Ed (line 10) | function Ed(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}
function Fd (line 10) | function Fd(a){a=a|0;return +(+g[a+4>>2])}
function Gd (line 10) | function Gd(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}
function Hd (line 10) | function Hd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Id (line 10) | function Id(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+8>>2]&127](a,b);return}
function Jd (line 10) | function Jd(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}
function Kd (line 10) | function Kd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ld (line 10) | function Ld(a,b){a=+a;b=+b;var d=0;c[2703]=(c[2703]|0)+1;d=XE(95)|0;if(!...
function Md (line 10) | function Md(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function Nd (line 10) | function Nd(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function Od (line 10) | function Od(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Pd (line 10) | function Pd(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function Qd (line 10) | function Qd(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function Rd (line 10) | function Rd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Sd (line 10) | function Sd(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i...
function Td (line 10) | function Td(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ud (line 10) | function Ud(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function Vd (line 10) | function Vd(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function Wd (line 10) | function Wd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Xd (line 10) | function Xd(a){a=a|0;return Hb[c[(c[a>>2]|0)+36>>2]&127](a)|0}
function Yd (line 10) | function Yd(a,b){a=a|0;b=b|0;return _b[c[(c[a>>2]|0)+40>>2]&31](a,b)|0}
function Zd (line 10) | function Zd(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function _d (line 10) | function _d(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+64>>2]&127](a,b);return}
function $d (line 10) | function $d(b){b=b|0;var d=0,e=0;if((a[8]|0)==0?(Wa(8)|0)!=0:0){g[634]=....
function ae (line 10) | function ae(a){a=a|0;return c[a+24>>2]|0}
function be (line 10) | function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;nc[c[(c[a>>2]|0)+32>>2]&127...
function ce (line 10) | function ce(a){a=a|0;a=c[a+68>>2]|0;return Hb[c[(c[a>>2]|0)+36>>2]&127](...
function de (line 10) | function de(a){a=a|0;return a+28|0}
function ee (line 10) | function ee(a,b){a=a|0;b=b|0;nc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}
function fe (line 10) | function fe(a,b,d){a=a|0;b=b|0;d=d|0;nc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,...
function ge (line 10) | function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;nc[c[(c[a>>2]|0)+36>>2]&127...
function he (line 10) | function he(a){a=a|0;return c[a+68>>2]|0}
function ie (line 10) | function ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;gv(a,b,c,d,e...
function je (line 10) | function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hv(a,b,c,d);return}
function ke (line 10) | function ke(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function le (line 10) | function le(a){a=a|0;return (c[a+8>>2]|0)!=0|0}
function me (line 10) | function me(a){a=a|0;return b[a+12>>1]|0}
function ne (line 10) | function ne(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}
function oe (line 10) | function oe(a){a=a|0;return b[a+14>>1]|0}
function pe (line 10) | function pe(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}
function qe (line 10) | function qe(a){a=a|0;return c[a+8>>2]|0}
function re (line 10) | function re(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}
function se (line 10) | function se(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function te (line 10) | function te(){var a=0;c[2703]=(c[2703]|0)+1;a=XE(35)|0;if(!a){a=0;return...
function ue (line 10) | function ue(a,b,d){a=+a;b=+b;d=+d;var e=0;c[2703]=(c[2703]|0)+1;e=XE(35)...
function ve (line 10) | function ve(a){a=a|0;var b=0.0,c=0.0,d=0.0;d=+g[a>>2];c=+g[a+4>>2];b=+g[...
function we (line 10) | function we(a){a=a|0;return +(+g[a>>2])}
function xe (line 10) | function xe(a){a=a|0;return +(+g[a+4>>2])}
function ye (line 10) | function ye(a){a=a|0;return +(+g[a+8>>2])}
function ze (line 10) | function ze(a,b){a=a|0;b=+b;g[a>>2]=b;return}
function Ae (line 10) | function Ae(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}
function Be (line 10) | function Be(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}
function Ce (line 10) | function Ce(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;g[a>>2]=b;g[a+4>>2]=c;g[a+8>>2...
function De (line 10) | function De(a,b){a=a|0;b=+b;g[a>>2]=+g[a>>2]*b;g[a+4>>2]=+g[a+4>>2]*b;g[...
function Ee (line 10) | function Ee(a){a=a|0;if(!a)return;c[2704]=(c[2704]|0)+1;YE(c[a+-4>>2]|0)...
function Fe (line 10) | function Fe(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ge (line 10) | function Ge(){var b=0,d=0;c[2703]=(c[2703]|0)+1;b=XE(303)|0;if(!b)b=0;el...
function He (line 10) | function He(a){a=a|0;return c[a+268>>2]|0}
function Ie (line 10) | function Ie(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}
function Je (line 10) | function Je(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c...
function Ke (line 10) | function Ke(a){a=a|0;return c[a+192>>2]|0}
function Le (line 10) | function Le(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}
function Me (line 10) | function Me(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]...
function Ne (line 10) | function Ne(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}
function Oe (line 10) | function Oe(a){a=a|0;if(c[a+204>>2]&3)return;if((c[a+216>>2]&-2|0)!=4)c[...
function Pe (line 10) | function Pe(a,b){a=a|0;b=b|0;if(!b?(c[a+204>>2]&3|0)!=0:0)return;if((c[a...
function Qe (line 10) | function Qe(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}
function Re (line 10) | function Re(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}
function Se (line 10) | function Se(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;...
function Te (line 10) | function Te(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;...
function Ue (line 10) | function Ue(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;...
function Ve (line 10) | function Ve(a){a=a|0;return a+4|0}
function We (line 10) | function We(a){a=a|0;return c[a+204>>2]|0}
function Xe (line 10) | function Xe(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}
function Ye (line 10) | function Ye(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b...
function Ze (line 10) | function Ze(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}
function _e (line 10) | function _e(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}
function $e (line 10) | function $e(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}
function af (line 10) | function af(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+8>>2]&255](a);return}
function bf (line 10) | function bf(a){a=a|0;return +(+g[a>>2])}
function cf (line 10) | function cf(a){a=a|0;return +(+g[a+4>>2])}
function df (line 10) | function df(a){a=a|0;return +(+g[a+8>>2])}
function ef (line 10) | function ef(a){a=a|0;return +(+g[a+12>>2])}
function ff (line 10) | function ff(a,b){a=a|0;b=+b;g[a>>2]=b;return}
function gf (line 10) | function gf(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}
function hf (line 10) | function hf(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}
function jf (line 10) | function jf(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}
function kf (line 10) | function kf(a){a=a|0;if(!a)return;YE(a);return}
function lf (line 10) | function lf(a){a=a|0;var b=0;c[2703]=(c[2703]|0)+1;b=XE(75)|0;if(!b){b=0...
function mf (line 10) | function mf(a,b){a=a|0;b=+b;Cb[c[(c[a>>2]|0)+44>>2]&31](a,b);return}
function nf (line 10) | function nf(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function of (line 10) | function of(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function pf (line 10) | function pf(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function qf (line 10) | function qf(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function rf (line 10) | function rf(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,h=0.0,j=0.0,k=0.0,l=0....
function sf (line 10) | function sf(a,b){a=a|0;b=b|0;Oo(a,b);return}
function tf (line 10) | function tf(a){a=a|0;if(!a)return;YE(a);return}
function uf (line 10) | function uf(){var a=0,d=0;a=XE(8)|0;a:do if(!a){while(1){a=c[2711]|0;c[2...
function vf (line 10) | function vf(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i...
function wf (line 10) | function wf(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function xf (line 10) | function xf(a,b){a=a|0;b=b|0;var d=0;c[2703]=(c[2703]|0)+1;d=XE(95)|0;if...
function yf (line 10) | function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[2703]=(c[2703]|0)+1;e=XE(...
function zf (line 10) | function zf(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+24>>2]&127](a,b);return}
function Af (line 10) | function Af(a,b,d){a=a|0;b=+b;d=d|0;Mb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);r...
function Bf (line 10) | function Bf(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Cf (line 10) | function Cf(){var a=0;a=XE(196)|0;a:do if(!a){while(1){a=c[2711]|0;c[271...
function Df (line 10) | function Df(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Ef (line 10) | function Ef(a){a=a|0;if(!a)return;YE(a);return}
function Ff (line 10) | function Ff(){var b=0;c[2703]=(c[2703]|0)+1;b=XE(215)|0;if(!b)b=0;else{c...
function Gf (line 10) | function Gf(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function Hf (line 10) | function Hf(a){a=a|0;return +(+g[a>>2])}
function If (line 10) | function If(a,b){a=a|0;b=+b;g[a>>2]=b;return}
function Jf (line 10) | function Jf(a){a=a|0;return c[a+4>>2]|0}
function Kf (line 10) | function Kf(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}
function Lf (line 10) | function Lf(a){a=a|0;return c[a+8>>2]|0}
function Mf (line 10) | function Mf(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}
function Nf (line 10) | function Nf(a){a=a|0;return +(+g[a+12>>2])}
function Of (line 10) | function Of(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}
function Pf (line 10) | function Pf(b){b=b|0;return (a[b+16>>0]&1)!=0|0}
function Qf (line 10) | function Qf(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}
function Rf (line 10) | function Rf(b){b=b|0;return (a[b+24>>0]&1)!=0|0}
function Sf (line 10) | function Sf(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}
function Tf (line 10) | function Tf(b){b=b|0;return (a[b+25>>0]&1)!=0|0}
function Uf (line 10) | function Uf(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}
function Vf (line 10) | function Vf(b){b=b|0;return (a[b+26>>0]&1)!=0|0}
function Wf (line 10) | function Wf(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}
function Xf (line 10) | function Xf(a){a=a|0;return +(+g[a+28>>2])}
function Yf (line 10) | function Yf(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}
function Zf (line 10) | function Zf(b){b=b|0;return (a[b+32>>0]&1)!=0|0}
function _f (line 10) | function _f(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}
function $f (line 10) | function $f(a){a=a|0;return +(+g[a+36>>2])}
function ag (line 10) | function ag(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}
function bg (line 10) | function bg(a){a=a|0;if(!a)return;YE(a);return}
function cg (line 10) | function cg(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function dg (line 10) | function dg(a,b){a=a|0;b=b|0;var d=0;c[2703]=(c[2703]|0)+1;d=XE(135)|0;i...
function eg (line 10) | function eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[2703]=(c[2703]|0)+1;e=XE(...
function fg (line 10) | function fg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;c[2703]=(c[2703]|0)...
function gg (line 10) | function gg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[2703]=(c[...
function hg (line 10) | function hg(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function ig (line 10) | function ig(){var b=0,d=0,e=0;c[2703]=(c[2703]|0)+1;b=XE(307)|0;if(!b)d=...
function jg (line 10) | function jg(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c...
function kg (line 10) | function kg(a){a=a|0;return c[a+192>>2]|0}
function lg (line 10) | function lg(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}
function mg (line 10) | function mg(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]...
function ng (line 10) | function ng(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}
function og (line 10) | function og(a){a=a|0;if(c[a+204>>2]&3)return;if((c[a+216>>2]&-2|0)!=4)c[...
function pg (line 10) | function pg(a,b){a=a|0;b=b|0;if(!b?(c[a+204>>2]&3|0)!=0:0)return;if((c[a...
function qg (line 10) | function qg(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}
function rg (line 10) | function rg(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}
function sg (line 10) | function sg(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;...
function tg (line 10) | function tg(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;...
function ug (line 10) | function ug(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;...
function vg (line 10) | function vg(a){a=a|0;return a+4|0}
function wg (line 10) | function wg(a){a=a|0;return c[a+204>>2]|0}
function xg (line 10) | function xg(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}
function yg (line 10) | function yg(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b...
function zg (line 10) | function zg(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+12>>2]&127](a,b);return}
function Ag (line 10) | function Ag(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}
function Bg (line 10) | function Bg(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}
function Cg (line 10) | function Cg(a){a=a|0;return c[a+268>>2]|0}
function Dg (line 10) | function Dg(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}
function Eg (line 10) | function Eg(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+8>>2]&255](a);return}
function Fg (line 10) | function Fg(b,d,e){b=+b;d=d|0;e=e|0;var f=0;f=XE(140)|0;a:do if(!f){whil...
function Gg (line 10) | function Gg(b,d,e,f){b=+b;d=d|0;e=e|0;f=f|0;var h=0;h=XE(140)|0;a:do if(...
function Hg (line 10) | function Hg(a){a=a|0;return +(+g[a+92>>2])}
function Ig (line 10) | function Ig(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}
function Jg (line 10) | function Jg(a){a=a|0;return +(+g[a+96>>2])}
function Kg (line 10) | function Kg(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}
function Lg (line 10) | function Lg(a){a=a|0;return +(+g[a+100>>2])}
function Mg (line 10) | function Mg(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}
function Ng (line 10) | function Ng(a){a=a|0;return +(+g[a+104>>2])}
function Og (line 10) | function Og(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}
function Pg (line 10) | function Pg(a){a=a|0;return +(+g[a+108>>2])}
function Qg (line 10) | function Qg(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}
function Rg (line 10) | function Rg(a){a=a|0;return +(+g[a+112>>2])}
function Sg (line 10) | function Sg(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}
function Tg (line 10) | function Tg(a){a=a|0;return +(+g[a+116>>2])}
function Ug (line 10) | function Ug(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}
function Vg (line 10) | function Vg(b){b=b|0;return (a[b+120>>0]&1)!=0|0}
function Wg (line 10) | function Wg(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}
function Xg (line 10) | function Xg(a){a=a|0;return +(+g[a+124>>2])}
function Yg (line 10) | function Yg(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}
function Zg (line 10) | function Zg(a){a=a|0;return +(+g[a+128>>2])}
function _g (line 10) | function _g(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}
function $g (line 10) | function $g(a){a=a|0;return +(+g[a+132>>2])}
function ah (line 10) | function ah(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}
function bh (line 10) | function bh(a){a=a|0;return +(+g[a+136>>2])}
function ch (line 10) | function ch(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}
function dh (line 10) | function dh(a){a=a|0;if(!a)return;YE(a);return}
function eh (line 10) | function eh(a){a=a|0;return a+48|0}
function fh (line 10) | function fh(a){a=a|0;return a+32|0}
function gh (line 10) | function gh(a){a=a|0;return +(+g[a+80>>2])}
function hh (line 10) | function hh(a){a=a|0;return a|0}
function ih (line 10) | function ih(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>...
function jh (line 10) | function jh(a){a=a|0;return a+16|0}
function kh (line 10) | function kh(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c...
function lh (line 10) | function lh(a){a=a|0;return a+32|0}
function mh (line 10) | function mh(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c...
function nh (line 10) | function nh(a){a=a|0;return a+48|0}
function oh (line 10) | function oh(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c...
function ph (line 10) | function ph(a){a=a|0;return a+64|0}
function qh (line 10) | function qh(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c...
function rh (line 10) | function rh(a){a=a|0;if(!a)return;YE(a);return}
function sh (line 10) | function sh(a){a=a|0;if(!a)return;Db[c[(c[a>>2]|0)+4>>2]&255](a);return}
function th (line 10) | function th(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0;c[2703]=(c[2703...
function uh (line 10) | function uh(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+72>>2]&127](a,b);return}
function vh (line 10) | function vh(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[16]|0)==0?(Wa(16)|0)!=0:...
function wh (line 10) | function wh(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+84>>2]&127](a,b);return}
function xh (line 10) | function xh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;nc[c[(c[a>>2]|0)+88>>2]&127...
function yh (line 10) | function yh(a,b){a=a|0;b=b|0;Fb[c[(c[a>>2]|0)+92>>2]&127](a,b);return}
function zh (line 10) | function zh(a,b){a=a|0;b=b|0;jc[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}
function Ah (line 10) | function Ah(a,b
Copy disabled (too large)
Download .json
Condensed preview — 1045 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (90,572K chars).
[
{
"path": ".editorconfig",
"chars": 207,
"preview": "# editorconfig.org\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_"
},
{
"path": ".gitignore",
"chars": 20,
"preview": "node_modules/\n.idea/"
},
{
"path": "3dTag.js",
"chars": 3271,
"preview": "\n\nvar tagEle = \"querySelectorAll\" in document ? document.querySelectorAll(\".tag\") : getClass(\"tag\"),\n paper = \"queryS"
},
{
"path": "3dtag.html",
"chars": 4816,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, in"
},
{
"path": "README.md",
"chars": 338,
"preview": "# h5-test\nThis is a collection of HTML 5 and CSS 3 cool dazzle the special effects.\n## develop\n```bash\ngit clone https:/"
},
{
"path": "app.js",
"chars": 344,
"preview": "// deps\nconst serve = require('serve')\nconst opn = require('opn');\nconst chalk = require('chalk');\n// vars\nconst PORT = "
},
{
"path": "menu.html",
"chars": 6364,
"preview": "<!DOCTYPE HTML>\r\n<html>\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>html索引</title>\r\n <meta name=\"viewport\" conten"
},
{
"path": "package.json",
"chars": 638,
"preview": "{\n \"name\": \"h5-test\",\n \"version\": \"0.0.2\",\n \"description\": \"This is a collection of HTML5 and CSS3 cool effects from "
},
{
"path": "src/3D-demo/3DGoogle/css/bdsstyle.css",
"chars": 9779,
"preview": "@CHARSET \"UTF-8\";#bdshare ul,#bdshare_s ul,#bdshare ul li,#bdshare_s ul li,#bdshare_l_c ul li,#bdshare_m_c ul li,#bdshar"
},
{
"path": "src/3D-demo/3DGoogle/css/giftbox.css",
"chars": 1353,
"preview": "#gift-box {\n\tposition: relative;\n\tleft: 80px;\n\ttop: 130px;\n\twidth: 20px;\n\theight: 20px;\n\toverflow: visible;\n}\n\n#gift-box"
},
{
"path": "src/3D-demo/3DGoogle/index.html",
"chars": 2233,
"preview": "\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt"
},
{
"path": "src/3D-demo/3DGoogle/js/test.js",
"chars": 5116,
"preview": "var theApp;\nvar RX_URL = /^ *https?:\\/\\/[^ ]+/ ;\nvar TILT_BASE = 2.0;\n\nfunction launch()\n{\n\ttheApp = new CubeApp();\n\t$(\""
},
{
"path": "src/3D-demo/3DGoogle/js/trans3d.js",
"chars": 13086,
"preview": "/* MIT-LICENSE */\n/*\nCopyright (c) 2009 Satoshi Ueyama\n\nPermission is hereby granted, free of charge, to any person obta"
},
{
"path": "src/3D-demo/3DTunnel/3Dtunnel.html",
"chars": 13616,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Tunnel vision 3D CSS</title>\r\n <sty"
},
{
"path": "src/3D-demo/3Dbook/creativeguidebook.html",
"chars": 5368,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "src/3D-demo/3Dbook/css/style.css",
"chars": 25260,
"preview": "\t\n@font-face {\n\tfont-family: 'open_sans_lightregular';\n\tsrc: url('opensans-light-webfont.eot');\n\tsrc: url('opensans-ligh"
},
{
"path": "src/3D-demo/3Dbook/js/buttonLite.js",
"chars": 20349,
"preview": "var BSHARE_SHOST_NAME=\"http://static.bshare.cn\",BSHARE_BUTTON_HOST=\"http://bshare.optimix.asia\",BSHARE_WEB_HOST=\"http://"
},
{
"path": "src/3D-demo/3Dbook/js/categorizr.js",
"chars": 5230,
"preview": "/*! Categorizr.js: Device Detection Scripts | https://github.com/Skookum/categorizr.js/blob/master/license.md */\n\n(funct"
},
{
"path": "src/3D-demo/3Dbook/js/ga.js",
"chars": 400,
"preview": " (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\r\n (i[r].q=i[r].q||[]).push(arguments)},i"
},
{
"path": "src/3D-demo/3Dbook/js/modernizr.custom.31293.js",
"chars": 9003,
"preview": "/* Modernizr 2.6.2 (Custom Build) | MIT & BSD\n * Build: http://modernizr.com/download/#-csstransforms3d-shiv-cssclasses-"
},
{
"path": "src/3D-demo/3Dbook/js/ui.js",
"chars": 24530,
"preview": "// requires fbk.js\n\nui = {\n\n\tcurrentHandle: undefined,\n\n\t// reference to DOM objects. cached so we dont have to look the"
},
{
"path": "src/3D-demo/3Dbook/js/wb.js",
"chars": 2959,
"preview": " var share_url = location.href;\r\n var platform = '';\r\n //### sina wb\r\n var appkey = 1681459862;\r\n var j ="
},
{
"path": "src/3D-demo/3Dcube/css/index.css",
"chars": 2514,
"preview": "body {\r\n color: #333;\r\n padding: 20px;\r\n text-align: center;\r\n font-family: Arial;\r\n}\r\n\r\n.separator {\r\n m"
},
{
"path": "src/3D-demo/3Dcube/css/normalize.css",
"chars": 7365,
"preview": "/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Change the default font family i"
},
{
"path": "src/3D-demo/3Dcube/index.html",
"chars": 1993,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"UTF-8\">\n<title>HTML5 3D正方体旋转动画演示地址</title>\n <link rel=\"stylesheet\" href="
},
{
"path": "src/3D-demo/3Dcube/js/jquery-3.0.0.js",
"chars": 263268,
"preview": "/*!\n * jQuery JavaScript Library v3.0.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * C"
},
{
"path": "src/3D-demo/3Dfacegirl/index.html",
"chars": 5962,
"preview": "<!DOCTYPE html>\n<html>\n\n<head>\n\n <meta charset=\"UTF-8\">\n\n <title>HTML5 3D图片切片滑块旋转动画DEMO演示</title>\n\n <style>\nhtml{font"
},
{
"path": "src/3D-demo/3Dfacegirl/js/index.js",
"chars": 4762,
"preview": "// work in progress - just playing around to try to get some interesting effects - drag over the image it should twist a"
},
{
"path": "src/3D-demo/3Dfacegirl/js/jquery.js",
"chars": 97267,
"preview": "/*!\n * jQuery JavaScript Library v1.11.0\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Co"
},
{
"path": "src/3D-demo/3Dphoto/index.html",
"chars": 9752,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "src/3D-demo/3Dphoto/js/ge1doot.js",
"chars": 7820,
"preview": "\nvar ge1doot = ge1doot || {\n\tjson: null,\n\tscreen: null,\n\tpointer: null,\n\tcamera: null,\n\tloadJS: function (url, callback,"
},
{
"path": "src/3D-demo/3Dphoto/js/imageTransform3D.js",
"chars": 10505,
"preview": "////////////////////////////////////////////////////////////\n// ==== HTML5 CANVAS transform Image ====\n// full 3D versio"
},
{
"path": "src/3D-demo/micah/index.html",
"chars": 1178,
"preview": "<html>\r\n<head>\r\n <title>demoscene</title>\r\n <style>\r\n body { margin: 0; }\r\n canvas { width: 100%; he"
},
{
"path": "src/3D-demo/micah/js/Tween.js",
"chars": 13166,
"preview": "/**\n * Tween.js - Licensed under the MIT license\n * https://github.com/sole/tween.js\n * --------------------------------"
},
{
"path": "src/3D-demo/micah/js/main.js",
"chars": 2747,
"preview": "(function() {\n\n\tvar scene = new THREE.Scene();\n\tvar camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window"
},
{
"path": "src/3D-demo/micah/js/three.js",
"chars": 807941,
"preview": "// File:src/Three.js\n\n/**\n * @author mrdoob / http://mrdoob.com/\n */\n\nvar THREE = { REVISION: '71' };\n\n// browserify sup"
},
{
"path": "src/3D-demo/periodic-table/index.html",
"chars": 14682,
"preview": "<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta charset=\"utf-8\">\r\n <meta name=\"viewport\" content=\"width=device-width, user"
},
{
"path": "src/3D-demo/periodic-table/js/CSS3DRenderer.js",
"chars": 5476,
"preview": "/**\n * Based on http://www.emagix.net/academic/mscs-project/item/camera-sync-with-css3-and-webgl-threejs\n * @author mrdo"
},
{
"path": "src/3D-demo/periodic-table/js/TrackballControls.js",
"chars": 12645,
"preview": "/**\n * @author Eberhard Graether / http://egraether.com/\n * @author Mark Lundin \t/ http://mark-lundin.com\n */\n\nTHREE.Tra"
},
{
"path": "src/3D-demo/voxels-liquid/index.html",
"chars": 7177,
"preview": "<!doctype html>\r\n<html lang=\"en\">\r\n<head>\r\n <title>Voxels liquid</title>\r\n <meta charset=\"utf-8\">\r\n <meta name="
},
{
"path": "src/3D-demo/voxels-liquid/index2.html",
"chars": 7185,
"preview": "<!doctype html>\r\n<html lang=\"en\">\r\n<head>\r\n <title>Voxels liquid 2</title>\r\n <meta charset=\"utf-8\">\r\n <meta nam"
},
{
"path": "src/3D-demo/voxels-liquid/js/Detector.js",
"chars": 1931,
"preview": "/**\r\n * @author alteredq / http://alteredqualia.com/\r\n * @author mr.doob / http://mrdoob.com/\r\n */\r\n\r\nDetector = {\r\n\r\n "
},
{
"path": "src/3D-demo/voxels-liquid/js/RequestAnimationFrame.js",
"chars": 541,
"preview": "/**\n * Provides requestAnimationFrame in a cross browser way.\n * http://paulirish.com/2011/requestanimationframe-for-sma"
},
{
"path": "src/3D-demo/voxels-liquid/js/Stats.js",
"chars": 2670,
"preview": "// stats.js r8 - http://github.com/mrdoob/stats.js\nvar Stats=function(){var h,a,n=0,o=0,i=Date.now(),u=i,p=i,l=0,q=1E3,r"
},
{
"path": "src/3D-demo/voxels-liquid/js/Three.js",
"chars": 340453,
"preview": "// Three.js r46dev - http://github.com/mrdoob/three.js\nvar THREE=THREE||{};if(!self.Int32Array)self.Int32Array=Array,sel"
},
{
"path": "src/Canvas-demo/Conductor/index.html",
"chars": 1236,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <title>MTA.ME</title>\r\n <meta http-equiv=\"content-type\" content=\"text/"
},
{
"path": "src/Canvas-demo/Conductor/js/data-schedule.js",
"chars": 68916,
"preview": "var arrSched = [[[0,0],[1,0],[5,0],[18,0]],[[3,0]],[[18,0]],[[18,1],[23,0],[24,0]],[[22,0]],[[18,1]],[[2,0],[18,2]],[[6,"
},
{
"path": "src/Canvas-demo/Conductor/js/soundmanager2-nodebug-jsmin.js",
"chars": 30451,
"preview": "/** @license\n\n SoundManager 2: Javascript Sound for the Web\n --------------------------------------------\n http://schill"
},
{
"path": "src/Canvas-demo/Conductor/style.css",
"chars": 816,
"preview": "* { \n\tmargin: 0;\n\tpadding: 0;\n}\n\nhtml, body { \n\twidth: 100%;\n\theight: 100%;\n\tfont-family: Helvetica, Arial, sans-serif;\n"
},
{
"path": "src/Canvas-demo/apple_watch/index.html",
"chars": 1067,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>HTML5仿Apple Watch时钟动画DEMO演示</title>\n <link rel=\"s"
},
{
"path": "src/Canvas-demo/apple_watch/js/index.js",
"chars": 2557,
"preview": "var clock = document.querySelector('#utility-clock')\nutilityClock(clock)\n\nif (clock.parentNode.classList.contains('fill'"
},
{
"path": "src/Canvas-demo/apple_watch/style.css",
"chars": 1828,
"preview": "body {\n background: black;\n}\n\n.clock {\n position: absolute;\n opacity: 1;\n}\n\n.fill .clock {\n left: 50%;\n t"
},
{
"path": "src/Canvas-demo/coolRain/index.html",
"chars": 3604,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>霓虹雨</title>\r\n <meta name=\"viewport\""
},
{
"path": "src/Canvas-demo/liquid_chars/experiment-pages.css",
"chars": 792,
"preview": "\t\thtml, body {\n\t\t\ttext-align: center;\n\t\t\tmargin:0;\n\t\t\tpadding:0;\n\t\t\tbackground: #000000; \n\t\t\tcolor: #666666;\n\t\t\tline-hei"
},
{
"path": "src/Canvas-demo/liquid_chars/liquid-chars.html",
"chars": 3132,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=utf-8>\n <title>Liquid Chars</title>\n\t<meta name=\"descript"
},
{
"path": "src/Canvas-demo/liquid_particles/index.html",
"chars": 5368,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=utf-8>\n <title>Liquid Particles - spielzeugz.de canvas ex"
},
{
"path": "src/Canvas-demo/liquid_particles/js/ga.js",
"chars": 43079,
"preview": "(function(){var E;function Aa(a,b){switch(b){case 0:return\"\"+a;case 1:return 1*a;case 2:return!!a;case 3:return 1E3*a}re"
},
{
"path": "src/Canvas-demo/loader.html",
"chars": 3759,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Light Loader 粒子进度条</title>\r\n <style"
},
{
"path": "src/Canvas-demo/mechanical_grass/css/style.css",
"chars": 768,
"preview": "body {\n margin: 0px;\n height: 100%;\n overflow: hidden;\n background: -moz-radial-gradient(center, ellipse cover, rgba"
},
{
"path": "src/Canvas-demo/mechanical_grass/grass.html",
"chars": 276,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <title>Mechanical Grass</title>\n <link rel=\"stylesheet\" "
},
{
"path": "src/Canvas-demo/mechanical_grass/js/index.js",
"chars": 4508,
"preview": "// Draw Worm\n// Originally forked from flash project - http://wonderfl.net/c/9os2\n//\n//\n// Click to clear the canvas.\n//"
},
{
"path": "src/Canvas-demo/mechanical_grass/js/matrix.js",
"chars": 15598,
"preview": "/*\r\n* Matrix2D by Grant Skinner. Dec 5, 2010\r\n* Visit http://easeljs.com/ for documentation, updates and examples.\r\n*\r\n*"
},
{
"path": "src/Canvas-demo/nets.html",
"chars": 3830,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>particle nets</title>\r\n <style>\r\n "
},
{
"path": "src/Canvas-demo/nets_black/css/global.css",
"chars": 13167,
"preview": "@charset \"utf-8\";\n\nhtml {\n\t-ms-text-size-adjust: 100%;\n\t-webkit-text-size-adjust: 100%;\n\t-webkit-tap-highlight-color: tr"
},
{
"path": "src/Canvas-demo/nets_black/index.html",
"chars": 5447,
"preview": "<!DOCTYPE html>\n<html lang=\"zh-cmn-Hans\">\n<head>\n <title>black nets</title>\n <link rel=\"stylesheet\" href=\"css/glob"
},
{
"path": "src/Canvas-demo/nets_black/js/ban.js",
"chars": 3696,
"preview": "$(function(){\n var canvas = document.querySelector('canvas'),\n ctx = canvas.getContext('2d')\n canvas.width = wind"
},
{
"path": "src/Canvas-demo/rose.html",
"chars": 1554,
"preview": "<html>\r\n<head>\r\n <title>rose</title>\r\n <meta charset=\"gbk\">\r\n <meta http-equiv=\"Content-Type\" content=\"text/htm"
},
{
"path": "src/Canvas-demo/space_noodles/index.html",
"chars": 6524,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=utf-8>\n <title>Space Noodles - spielzeugz.de canvas exper"
},
{
"path": "src/Canvas-demo/space_noodles/js/ga.js",
"chars": 43079,
"preview": "(function(){var E;function Aa(a,b){switch(b){case 0:return\"\"+a;case 1:return 1*a;case 2:return!!a;case 3:return 1E3*a}re"
},
{
"path": "src/Canvas-demo/spider/js/verlet-1.0.0.js",
"chars": 53768,
"preview": ";(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require==\"function\"&&require;if(!s&&o)return o(n,!0);"
},
{
"path": "src/Canvas-demo/spider/spider.html",
"chars": 14481,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>spider</title>\r\n <script src=\"js/ve"
},
{
"path": "src/Canvas-demo/tearCloth.html",
"chars": 8251,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Tear the cloth</title>\r\n <style typ"
},
{
"path": "src/Funny-demo/Blob/index.html",
"chars": 4247,
"preview": "\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"utf-8\">\r\n\r\n <meta name=\"description\" content=\"This so"
},
{
"path": "src/Funny-demo/Blob/js/load.js",
"chars": 8012,
"preview": "/*jslint browser: true, continue: true, eqeq: true, plusplus: true, vars: true, white: true */\nvar FlattrLoader=function"
},
{
"path": "src/Funny-demo/Blob/js/widgets.js",
"chars": 89022,
"preview": "!function(){Function&&Function.prototype&&Function.prototype.bind&&(/MSIE [678]/.test(navigator.userAgent)||(window.__tw"
},
{
"path": "src/Funny-demo/Blob/styles.css",
"chars": 54,
"preview": "body, html {\n\tbackground-color: #222222;\n}\n\ncanvas {\n}"
},
{
"path": "src/Funny-demo/Button/index.html",
"chars": 4815,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Twitter Button Concept</title>\r\n <s"
},
{
"path": "src/Funny-demo/CSS3-hover/css/default.css",
"chars": 5795,
"preview": "@import url(http://fonts.useso.com/css?family=Raleway:200,500,700,800);\r\n@font-face {\r\n\tfont-family: 'icomoon';\r\n\tsrc:ur"
},
{
"path": "src/Funny-demo/CSS3-hover/css/main.css",
"chars": 363172,
"preview": "\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%\n}\n\nbody {\n marg"
},
{
"path": "src/Funny-demo/CSS3-hover/css/normalize.css",
"chars": 1825,
"preview": "article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{"
},
{
"path": "src/Funny-demo/CSS3-hover/index.html",
"chars": 107479,
"preview": "\n<!doctype html>\n<html lang=\"zh\">\n<head>\n <meta charset=\"UTF-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
},
{
"path": "src/Funny-demo/CSS3-hover/js/app.js",
"chars": 190745,
"preview": "/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */\n!function(a,b){\"object\"==typeof modu"
},
{
"path": "src/Funny-demo/Doraemon/index.html",
"chars": 2731,
"preview": "<!doctype html>\r\n<html><head>\r\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n <title>CSS"
},
{
"path": "src/Funny-demo/Doraemon/style.css",
"chars": 18542,
"preview": "body{\r\n background:#fff;\r\n\r\n}\r\n\r\n\r\n#stage{\r\n -moz-perspective:500;\r\n -webkit-perspective:500;\r\n -ms-perspect"
},
{
"path": "src/Funny-demo/Whale/whale.html",
"chars": 373,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>whale</title>\r\n <style>\r\n ht"
},
{
"path": "src/Funny-demo/Whale/whale.js",
"chars": 81148,
"preview": "/**\r\n * Created by Gnip on 2016/3/9.\r\n */\r\nvar whale = (function () {\r\n\r\n var element = document.getElementById(\"whale\""
},
{
"path": "src/Funny-demo/beanstalk/index.html",
"chars": 18281,
"preview": "<!DOCTYPE HTML>\n<html lang=\"en\">\n\t<head>\n\t\t<title>Beanstalk</title>\n\t\t<link rel=\"shortcut icon\" href=\"favicon.ico\">\n\t\t<m"
},
{
"path": "src/Funny-demo/beanstalk/js/BloomEffect.js",
"chars": 3831,
"preview": "var BloomEffect = function ( renderer,renderTarget,baseWidth,baseHeight, strength ) {\n\n var camera, scene, materi"
},
{
"path": "src/Funny-demo/beanstalk/js/Detector.js",
"chars": 1873,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n * @author mr.doob / http://mrdoob.com/\n */\n\nDetector = {\n\n\tcanvas :"
},
{
"path": "src/Funny-demo/beanstalk/js/ObjectPool.js",
"chars": 1768,
"preview": "/*\n Simple Javascript Object Pool\n Copyright 2005 Joshua Eichorn\n\n This library is free software; you can redistribute i"
},
{
"path": "src/Funny-demo/beanstalk/js/Plant.js",
"chars": 4640,
"preview": "/**\n * @author inear\n * \n */\n\nvar PI2 = Math.PI * 2\nvar TO_RADIANS = Math.PI / 180;\nvar _branchSegments = 10;\n\nPlant = f"
},
{
"path": "src/Funny-demo/beanstalk/js/RequestAnimationFrame.js",
"chars": 541,
"preview": "/**\n * Provides requestAnimationFrame in a cross browser way.\n * http://paulirish.com/2011/requestanimationframe-for-sma"
},
{
"path": "src/Funny-demo/beanstalk/js/Stats.js",
"chars": 4126,
"preview": "// stats.js r5 - http://github.com/mrdoob/stats.js\nvar Stats=function(){function w(d,K,n){var u,f,c;for(f=0;f<30;f++)for"
},
{
"path": "src/Funny-demo/beanstalk/js/Three.js",
"chars": 222728,
"preview": "// Three.js r37 - http://github.com/mrdoob/three.js\nvar THREE=THREE||{};THREE.Color=function(a){this.setHex(a)};\nTHREE.C"
},
{
"path": "src/Funny-demo/beanstalk/js/ThreeWebGL.js",
"chars": 147301,
"preview": "// ThreeWebGL.js r41/ROME - http://github.com/mrdoob/three.js\nvar THREE=THREE||{};if(!window.Int32Array)window.Int32Arra"
},
{
"path": "src/Funny-demo/beanstalk/js/Tween.js",
"chars": 4443,
"preview": "// Tween.js - http://github.com/sole/tween.js\nvar TWEEN=TWEEN||function(){var a,e,d,b=[];this.add=function(h){b.push(h)}"
},
{
"path": "src/Funny-demo/beanstalk/js/leaf3.js",
"chars": 10887,
"preview": "// Converted from: leaf3.max\n// vertices: 70\n// normals: 126\n// colors: 0\n// uvs: 88\n// triangles: 126\n// material"
},
{
"path": "src/Funny-demo/beanstalk/js/leaf5.js",
"chars": 3332,
"preview": "// Converted from: leaf3.max\n// vertices: 24\n// normals: 28\n// colors: 0\n// uvs: 24\n// triangles: 28\n// materials:"
},
{
"path": "src/Funny-demo/beanstalk/js/thereisareason.js",
"chars": 21383,
"preview": "var part1Data = [1132, 684, -940, 280, -672, -294, -115, -35, -5, -4, -3, 13, 13, 3, 325, 196, -12, -1, -289, -181, -34,"
},
{
"path": "src/Funny-demo/blackhole/index.html",
"chars": 1049,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>黑洞</title>\r\n <style>\r\n canva"
},
{
"path": "src/Funny-demo/blackhole/js/black-hole.js",
"chars": 79007,
"preview": "/////////////////////\n// Black hole solver\n/////////////////////\n\nwindow.BlackHoleSolver = {};\n\n(function (exports, nume"
},
{
"path": "src/Funny-demo/blackhole/js/jquery.js",
"chars": 97267,
"preview": "/*!\n * jQuery JavaScript Library v1.11.0\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Co"
},
{
"path": "src/Funny-demo/blackhole/js/numeric.js",
"chars": 132909,
"preview": "\"use strict\";\r\n\r\nvar numeric = (typeof exports === \"undefined\")?(function numeric() {}):(exports);\r\nif(typeof global !=="
},
{
"path": "src/Funny-demo/tentacles/js/buttons.js",
"chars": 148479,
"preview": "if(typeof(stlib)==\"undefined\"){var stlib={}}if(!stlib.functions){stlib.functions=[];stlib.functionCount=0}stlib.global={"
},
{
"path": "src/Funny-demo/tentacles/tentacles.html",
"chars": 5698,
"preview": "<!DOCTYPE html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\">\r\n\t\t<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome"
},
{
"path": "src/Funny-demo/ticky_thing/index.html",
"chars": 37487,
"preview": "<!DOCTYPE html> \n<html lang=\"en\"><!-- manifest=\"./cache.manifest\" -->\n <head> \n <meta charset=utf-8> \n <title>S"
},
{
"path": "src/Funny-demo/triangle.html",
"chars": 3441,
"preview": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <title>Triangle Optical Illusion</title>\r\n "
},
{
"path": "src/Game-demo/caisse/index.html",
"chars": 1057,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "src/Game-demo/caisse/js/lanrenzhijia.js",
"chars": 8457,
"preview": "////////////////////////////////////////////////////////////\r\n// ============= micro HTML5 library ====================="
},
{
"path": "src/Game-demo/caisse/js/lanrenzhijia2.js",
"chars": 16215,
"preview": "\"use strict\";\r\n\r\n(function () {\r\n\tvar scr, ctx, pointer, drag, boxes, dropc = 0,\r\n\t\tobjects = [],\r\n\t\tcontacts = [],\r\n"
},
{
"path": "src/Game-demo/caisse/lanrenzhijia.css",
"chars": 310,
"preview": "html {\r\n\toverflow: hidden;\r\n\t-ms-touch-action: none;\r\n\t-ms-content-zooming: none;\r\n}\r\nbody {\r\n\tposition: absolute;\r\n\tmar"
},
{
"path": "src/Game-demo/chinese_chess/bdsstyle.css",
"chars": 9779,
"preview": "@CHARSET \"UTF-8\";#bdshare ul,#bdshare_s ul,#bdshare ul li,#bdshare_s ul li,#bdshare_l_c ul li,#bdshare_m_c ul li,#bdshar"
},
{
"path": "src/Game-demo/chinese_chess/index.html",
"chars": 1764,
"preview": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\""
},
{
"path": "src/Game-demo/chinese_chess/js/AI.js",
"chars": 6359,
"preview": "/*! 一叶孤舟 | qq:28701884 | 欢迎指教 */\r\n\r\nvar AI = AI||{};\r\n\r\nAI.historyTable\t=\t{};\t\t//历史表\r\n\r\n\r\n//人工智能初始化\r\nAI.init = function("
},
{
"path": "src/Game-demo/chinese_chess/js/bill.js",
"chars": 2090,
"preview": "/*! 一叶孤舟 | qq:28701884 | 欢迎指教 */\r\n\r\nvar bill = bill || {};\r\n\r\n//初始化\r\nbill.init = function (){\r\n\tif (com.store){\r\n\t\tclear"
},
{
"path": "src/Game-demo/chinese_chess/js/common.js",
"chars": 22258,
"preview": "/*! 一叶孤舟 | qq:28701884 | 欢迎指教 */\r\n\r\nvar com = com||{};\r\n\r\ncom.init = function (stype){\r\n\r\n com.nowStype= stype || com.g"
},
{
"path": "src/Game-demo/chinese_chess/js/gambit.js",
"chars": 49024,
"preview": "/*! 一叶孤舟 | qq:28701884 | 欢迎指教 */\r\ncom.gambit=com.gambit || \r\n\"774770627967807089797276666512422625000119270171 774770627"
},
{
"path": "src/Game-demo/chinese_chess/js/play.js",
"chars": 7385,
"preview": "/*! 一叶孤舟 | qq:28701884 | 欢迎指教 */\r\n\r\nvar play = play||{};\r\n\r\nplay.init = function (){\r\n\r\n\tplay.my\t\t\t\t=\t1;\t\t\t\t//玩家方\r\n\tplay"
},
{
"path": "src/Game-demo/chinese_chess/zzsc.css",
"chars": 596,
"preview": "@charset \"gb2312\";\r\nbody {\r\n\tfont-size: 12px;\r\n\tline-height: 150%;\r\n}\r\n.box {\r\n\tmargin:0 auto;\r\n\twidth:460px;\r\n\tposition"
},
{
"path": "src/Game-demo/fly/index.html",
"chars": 24948,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<title>TEACH ME TO FLY</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content"
},
{
"path": "src/Game-demo/fly/js/ColladaLoader.js",
"chars": 77560,
"preview": "/**\n * @author Tim Knip / http://www.floorplanner.com/ / tim at floorplanner.com\n */\n\nTHREE.ColladaLoader = function () "
},
{
"path": "src/Game-demo/fly/js/Detector.js",
"chars": 1903,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n * @author mr.doob / http://mrdoob.com/\n */\n\nDetector = {\n\n\tcanvas: "
},
{
"path": "src/Game-demo/fly/js/THREEx.FullScreen.js",
"chars": 3284,
"preview": "// This THREEx helper makes it easy to handle the fullscreen API\n// * it hides the prefix for each browser\n// * it hides"
},
{
"path": "src/Game-demo/fly/js/THREEx.WindowResize.js",
"chars": 1159,
"preview": "// This THREEx helper makes it easy to handle window resize.\n// It will update renderer and camera when window is resize"
},
{
"path": "src/Game-demo/fly/js/Three.js",
"chars": 364242,
"preview": "// Three.js - http://github.com/mrdoob/three.js\n'use strict';var THREE=THREE||{REVISION:\"49\"};self.Int32Array||(self.Int"
},
{
"path": "src/Game-demo/fly/main.css",
"chars": 993,
"preview": "body {\noverflow : hidden;\npadding : 0;\nmargin : 0;\n\ncolor : #222;\nbackground-color: #BBB;\nfont-family : arial;\nfont-size"
},
{
"path": "src/Svg-demo/butterFlies/css/reset.css",
"chars": 774,
"preview": "html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,"
},
{
"path": "src/Svg-demo/butterFlies/css/style.css",
"chars": 30340,
"preview": "/**\n* MIXINS\n*/\n/* SYMBOLS */\n/**\n * KEYFRAMES\n */\n@-webkit-keyframes rotating {\n 0% {\n -webkit-transform: rotate3"
},
{
"path": "src/Svg-demo/butterFlies/index.html",
"chars": 11834,
"preview": "<!DOCTYPE html>\n<html>\n\n<head>\n\n <meta charset=\"UTF-8\">\n\n <title>HTML5 SVG 3D蝴蝶飞舞动画</title>\n\n <link rel=\"stylesheet\" "
},
{
"path": "src/Svg-demo/theCreepyMouth/index.html",
"chars": 25759,
"preview": "\r\n<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.0//EN\"\r\n \"http:"
},
{
"path": "src/Threejs-demo/build/three.js",
"chars": 966874,
"preview": "// File:src/Three.js\n\n/**\n * @author mrdoob / http://mrdoob.com/\n */\n\nvar THREE = { REVISION: '77' };\n\n//\n\nif ( typeof d"
},
{
"path": "src/Threejs-demo/examples/canvas_ascii_effect.html",
"chars": 3285,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js - ASCII Effect</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name="
},
{
"path": "src/Threejs-demo/examples/canvas_camera_orthographic.html",
"chars": 4426,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - camera - orthographic</title>\n\t\t<meta charset=\"utf-8"
},
{
"path": "src/Threejs-demo/examples/canvas_camera_orthographic2.html",
"chars": 6820,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - combo camera - orthographic + perspective</title>\n\t\t"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_birds.html",
"chars": 9696,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - birds</title>\n\t\t<meta charset=\"utf-8\">\n\t\t"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_cube.html",
"chars": 5105,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - cube</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_earth.html",
"chars": 4002,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - earth</title>\n\t\t<meta charset=\"utf-8\">\n\t\t"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_hierarchy.html",
"chars": 3257,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - hierarchy</title>\n\t\t<meta charset=\"utf-8\""
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_nurbs.html",
"chars": 6293,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - NURBS</title>\n\t\t<meta charset=\"utf-8\">\n\t\t"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_panorama.html",
"chars": 5564,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - panorama demo</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<me"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_panorama_fisheye.html",
"chars": 6177,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - panorama fisheye demo</title>\n\t\t<meta charset=\"utf-8"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_shapes.html",
"chars": 12191,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - shapes</title>\n\t\t<meta charset=\"utf-8\">\n\t"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_terrain.html",
"chars": 5067,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - terrain</title>\n\t\t<meta charset=\"utf-8\">\n"
},
{
"path": "src/Threejs-demo/examples/canvas_geometry_text.html",
"chars": 5467,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - geometry - text</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<"
},
{
"path": "src/Threejs-demo/examples/canvas_interactive_cubes.html",
"chars": 4775,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - interactive - cubes</title>\n\t\t<meta charset=\"utf-8\">"
},
{
"path": "src/Threejs-demo/examples/canvas_interactive_cubes_tween.html",
"chars": 4752,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - interactive - cubes tween</title>\n\t\t<meta charset=\"u"
},
{
"path": "src/Threejs-demo/examples/canvas_interactive_particles.html",
"chars": 4233,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - interactive particles</title>\n\t\t<meta charset=\"utf-8"
},
{
"path": "src/Threejs-demo/examples/canvas_interactive_voxelpainter.html",
"chars": 5532,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - interactive - voxel painter</title>\n\t\t<meta charset="
},
{
"path": "src/Threejs-demo/examples/canvas_lights_pointlights.html",
"chars": 3769,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - point light</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta"
},
{
"path": "src/Threejs-demo/examples/canvas_lines.html",
"chars": 3846,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - lines - random</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<m"
},
{
"path": "src/Threejs-demo/examples/canvas_lines_colors.html",
"chars": 4687,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - lines - colors</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<m"
},
{
"path": "src/Threejs-demo/examples/canvas_lines_colors_2d.html",
"chars": 4721,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js webgl - lines - cubes - colors</title>\n\t\t<meta charset=\"utf-8"
},
{
"path": "src/Threejs-demo/examples/canvas_lines_dashed.html",
"chars": 4658,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - dashed lines</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<met"
},
{
"path": "src/Threejs-demo/examples/canvas_lines_sphere.html",
"chars": 4245,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - lines - sphere</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<m"
},
{
"path": "src/Threejs-demo/examples/canvas_materials.html",
"chars": 6016,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - materials</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta n"
},
{
"path": "src/Threejs-demo/examples/canvas_materials_normal.html",
"chars": 2418,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - normal material</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<"
},
{
"path": "src/Threejs-demo/examples/canvas_materials_reflection.html",
"chars": 2697,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - spherical reflection</title>\n\t\t<meta charset=\"utf-8\""
},
{
"path": "src/Threejs-demo/examples/canvas_materials_video.html",
"chars": 5855,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - materials - video</title>\n\t\t<meta charset=\"utf-8\">\n\t"
},
{
"path": "src/Threejs-demo/examples/canvas_morphtargets_horse.html",
"chars": 3569,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - morph targets - horse</title>\n\t\t<meta charset=\"utf-8"
},
{
"path": "src/Threejs-demo/examples/canvas_particles_floor.html",
"chars": 3434,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - particles - floor</title>\n\t\t<meta charset=\"utf-8\">\n\t"
},
{
"path": "src/Threejs-demo/examples/canvas_particles_random.html",
"chars": 3741,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - particles - random</title>\n\t\t<meta charset=\"utf-8\">\n"
},
{
"path": "src/Threejs-demo/examples/canvas_particles_sprites.html",
"chars": 4738,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - particles - sprites</title>\n\t\t<meta charset=\"utf-8\">"
},
{
"path": "src/Threejs-demo/examples/canvas_particles_waves.html",
"chars": 4150,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - particles - waves</title>\n\t\t<meta charset=\"utf-8\">\n\t"
},
{
"path": "src/Threejs-demo/examples/canvas_performance.html",
"chars": 3331,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - performance</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta"
},
{
"path": "src/Threejs-demo/examples/canvas_sandbox.html",
"chars": 7283,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js canvas - sandbox</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta nam"
},
{
"path": "src/Threejs-demo/examples/css3d_molecules.html",
"chars": 11479,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - molecules</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewpo"
},
{
"path": "src/Threejs-demo/examples/css3d_panorama.html",
"chars": 4934,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - panorama</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewpor"
},
{
"path": "src/Threejs-demo/examples/css3d_panorama_deviceorientation.html",
"chars": 3182,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - panorama - deviceorientation</title>\n\t\t<meta charset=\"utf-8\">\n\t"
},
{
"path": "src/Threejs-demo/examples/css3d_periodictable.html",
"chars": 12679,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - periodic table</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"v"
},
{
"path": "src/Threejs-demo/examples/css3d_sandbox.html",
"chars": 3046,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width, user-scalab"
},
{
"path": "src/Threejs-demo/examples/css3d_sprites.html",
"chars": 5087,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - sprites</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport"
},
{
"path": "src/Threejs-demo/examples/css3d_youtube.html",
"chars": 3038,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<title>three.js css3d - youtube</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport"
},
{
"path": "src/Threejs-demo/examples/files.js",
"chars": 9102,
"preview": "var files = {\n\t\"webgl\": [\n\t\t\"webgl_animation_cloth\",\n\t\t\"webgl_animation_scene\",\n\t\t\"webgl_animation_skinning_blending\",\n\t"
},
{
"path": "src/Threejs-demo/examples/index.html",
"chars": 8259,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<title>three.js / examples</title>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"vie"
},
{
"path": "src/Threejs-demo/examples/js/AnimationClipCreator.js",
"chars": 2746,
"preview": "/**\n *\n * Creator of typical test AnimationClips / KeyframeTracks\n *\n * @author Ben Houston / http://clara.io/\n * @autho"
},
{
"path": "src/Threejs-demo/examples/js/BlendCharacter.js",
"chars": 3634,
"preview": "/**\n * @author Michael Guerrero / http://realitymeltdown.com\n */\n\nTHREE.BlendCharacter = function () {\n\n\tthis.weightSche"
},
{
"path": "src/Threejs-demo/examples/js/BlendCharacterGui.js",
"chars": 4318,
"preview": "/**\n * @author Michael Guerrero / http://realitymeltdown.com\n */\n\nfunction BlendCharacterGui( blendMesh ) {\n\n\tvar contro"
},
{
"path": "src/Threejs-demo/examples/js/BufferGeometryUtils.js",
"chars": 3707,
"preview": "/**\n * @author mrdoob / http://mrdoob.com/\n */\n\nTHREE.BufferGeometryUtils = {\n\n\tcomputeTangents: function ( geometry ) {"
},
{
"path": "src/Threejs-demo/examples/js/Car.js",
"chars": 9316,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n */\n\nTHREE.Car = function () {\n\n\tvar scope = this;\n\n\t// car geometry"
},
{
"path": "src/Threejs-demo/examples/js/Cloth.js",
"chars": 6027,
"preview": "/*\n * Cloth Simulation using a relaxed constrains solver\n */\n\n// Suggested Readings\n\n// Advanced Character Physics by Th"
},
{
"path": "src/Threejs-demo/examples/js/CurveExtras.js",
"chars": 6340,
"preview": "/*\n * A bunch of parametric curves\n * @author zz85\n *\n * Formulas collected from various sources\n *\thttp://mathworld.wol"
},
{
"path": "src/Threejs-demo/examples/js/Detector.js",
"chars": 2076,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n * @author mr.doob / http://mrdoob.com/\n */\n\nvar Detector = {\n\n\tcanv"
},
{
"path": "src/Threejs-demo/examples/js/Encodings.js",
"chars": 1085,
"preview": "/**\n * @author Ben Houston / http://clara.io / bhouston\n * @author Prashant Sharma / spidersharma03\n */\n\nTHREE.Encodings"
},
{
"path": "src/Threejs-demo/examples/js/GPUParticleSystem.js",
"chars": 16607,
"preview": "/*\n * GPU Particle System\n * @author flimshaw - Charlie Hoey - http://charliehoey.com\n *\n * A simple to use, general pur"
},
{
"path": "src/Threejs-demo/examples/js/Gyroscope.js",
"chars": 1390,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n */\n\nTHREE.Gyroscope = function () {\n\n\tTHREE.Object3D.call( this );\n"
},
{
"path": "src/Threejs-demo/examples/js/Half.js",
"chars": 1727,
"preview": "/**\n * Source: http://gamedev.stackexchange.com/questions/17326/conversion-of-a-number-from-single-precision-floating-po"
},
{
"path": "src/Threejs-demo/examples/js/ImprovedNoise.js",
"chars": 2223,
"preview": "// http://mrl.nyu.edu/~perlin/noise/\n\nvar ImprovedNoise = function () {\n\n\tvar p = [ 151,160,137,91,90,15,131,13,201,95,9"
},
{
"path": "src/Threejs-demo/examples/js/MD2Character.js",
"chars": 5465,
"preview": "/**\r\n * @author alteredq / http://alteredqualia.com/\r\n */\r\n\r\nTHREE.MD2Character = function () {\r\n\r\n\tvar scope = this;\r\n\r"
},
{
"path": "src/Threejs-demo/examples/js/MD2CharacterComplex.js",
"chars": 12477,
"preview": "/**\r\n * @author alteredq / http://alteredqualia.com/\r\n */\r\n\r\nTHREE.MD2CharacterComplex = function () {\r\n\r\n\tvar scope = t"
},
{
"path": "src/Threejs-demo/examples/js/MarchingCubes.js",
"chars": 35174,
"preview": "/**\r\n * @author alteredq / http://alteredqualia.com/\r\n *\r\n * Port of greggman's ThreeD version of marching cubes to Thre"
},
{
"path": "src/Threejs-demo/examples/js/Mirror.js",
"chars": 9487,
"preview": "/**\r\n * @author Slayvin / http://slayvin.net\r\n */\r\n\r\nTHREE.ShaderLib[ 'mirror' ] = {\r\n\r\n\tuniforms: { \"mirrorColor\": { ty"
},
{
"path": "src/Threejs-demo/examples/js/MorphAnimMesh.js",
"chars": 1405,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n */\n\nTHREE.MorphAnimMesh = function ( geometry, material ) {\n\n\tTHREE"
},
{
"path": "src/Threejs-demo/examples/js/MorphAnimation.js",
"chars": 1332,
"preview": "/**\n * @author mrdoob / http://mrdoob.com\n * @author willy-vvu / http://willy-vvu.github.io\n */\n\nTHREE.MorphAnimation = "
},
{
"path": "src/Threejs-demo/examples/js/Ocean.js",
"chars": 15322,
"preview": "THREE.Ocean = function ( renderer, camera, scene, options ) {\n\n\t// flag used to trigger parameter changes\n\tthis.changed"
},
{
"path": "src/Threejs-demo/examples/js/Octree.js",
"chars": 46076,
"preview": "/*!\n *\n * threeoctree.js (r60) / https://github.com/collinhover/threeoctree\n * (sparse) dynamic 3D spatial representatio"
},
{
"path": "src/Threejs-demo/examples/js/PRNG.js",
"chars": 424,
"preview": "// Park-Miller-Carta Pseudo-Random Number Generator\n// https://github.com/pnitsch/BitmapData.js/blob/master/js/BitmapDat"
},
{
"path": "src/Threejs-demo/examples/js/ParametricGeometries.js",
"chars": 6513,
"preview": "/*\n * @author zz85\n *\n * Experimenting of primitive geometry creation using Surface Parametric equations\n *\n */\n\n\nTHREE."
},
{
"path": "src/Threejs-demo/examples/js/RollerCoaster.js",
"chars": 13768,
"preview": "/**\n * @author mrdoob / http://mrdoob.com/\n */\n\nvar RollerCoasterGeometry = function ( curve, size ) {\n\n\tTHREE.BufferGeo"
},
{
"path": "src/Threejs-demo/examples/js/ShaderGodRays.js",
"chars": 6937,
"preview": "/**\n * @author huwb / http://huwbowles.com/\n *\n * God-rays (crepuscular rays)\n *\n * Similar implementation to the one us"
},
{
"path": "src/Threejs-demo/examples/js/ShaderSkin.js",
"chars": 18756,
"preview": "/**\n * @author alteredq / http://alteredqualia.com/\n *\n */\n\n\nTHREE.ShaderSkin = {\n\n\t/* ---------------------------------"
}
]
// ... and 845 more files (download for full content)
About this extraction
This page contains the full source code of the gnipbao/h5-test GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1045 files (112.1 MB), approximately 21.8M tokens, and a symbol index with 4497 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.