require "java"
require "../../../X3DJSAIL.4.0.full.jar"

ConfigurationProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ConfigurationProperties")
CommentsBlock = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.CommentsBlock")
AcousticProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.AcousticProperties")
Analyser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.Analyser")
Anchor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Networking.Anchor")
Appearance = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.Appearance")
Arc2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Arc2D")
ArcClose2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.ArcClose2D")
AudioClip = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.AudioClip")
AudioDestination = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.AudioDestination")
Background = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalEffects.Background")
BallJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.BallJoint")
Billboard = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.Billboard")
BiquadFilter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.BiquadFilter")
BlendedVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.BlendedVolumeStyle")
BooleanFilter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.BooleanFilter")
BooleanSequencer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.BooleanSequencer")
BooleanToggle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.BooleanToggle")
BooleanTrigger = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.BooleanTrigger")
BoundaryEnhancementVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.BoundaryEnhancementVolumeStyle")
BoundedPhysicsModel = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.BoundedPhysicsModel")
Box = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.Box")
BufferAudioSource = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.BufferAudioSource")
CADAssembly = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.CADAssembly")
CADFace = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.CADFace")
CADLayer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.CADLayer")
CADPart = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.CADPart")
CartoonVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.CartoonVolumeStyle")
ChannelMerger = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.ChannelMerger")
ChannelSelector = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.ChannelSelector")
ChannelSplitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.ChannelSplitter")
Circle2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Circle2D")
ClipPlane = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.ClipPlane")
CollidableOffset = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.CollidableOffset")
CollidableShape = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.CollidableShape")
Collision = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.Collision")
CollisionCollection = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.CollisionCollection")
CollisionSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.CollisionSensor")
CollisionSpace = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.CollisionSpace")
Color = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.Color")
ColorChaser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.ColorChaser")
ColorDamper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.ColorDamper")
ColorInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.ColorInterpolator")
ColorRGBA = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.ColorRGBA")
ComposedCubeMapTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CubeMapTexturing.ComposedCubeMapTexture")
ComposedShader = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.ComposedShader")
ComposedTexture3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.ComposedTexture3D")
ComposedVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.ComposedVolumeStyle")
Cone = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.Cone")
ConeEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.ConeEmitter")
Contact = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.Contact")
Contour2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.Contour2D")
ContourPolyline2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.ContourPolyline2D")
Convolver = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.Convolver")
Coordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.Coordinate")
CoordinateChaser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.CoordinateChaser")
CoordinateDamper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.CoordinateDamper")
CoordinateDouble = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.CoordinateDouble")
CoordinateInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.CoordinateInterpolator")
CoordinateInterpolator2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.CoordinateInterpolator2D")
Cylinder = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.Cylinder")
CylinderSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.PointingDeviceSensor.CylinderSensor")
Delay = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.Delay")
DirectionalLight = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Lighting.DirectionalLight")
DISEntityManager = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.DISEntityManager")
DISEntityTypeMapping = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.DISEntityTypeMapping")
Disk2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Disk2D")
DoubleAxisHingeJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.DoubleAxisHingeJoint")
DynamicsCompressor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.DynamicsCompressor")
EaseInEaseOut = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.EaseInEaseOut")
EdgeEnhancementVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.EdgeEnhancementVolumeStyle")
ElevationGrid = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.ElevationGrid")
EnvironmentLight = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Lighting.EnvironmentLight")
EspduTransform = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.EspduTransform")
ExplosionEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.ExplosionEmitter")
Extrusion = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.Extrusion")
FillProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.FillProperties")
FloatVertexAttribute = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.FloatVertexAttribute")
Fog = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalEffects.Fog")
FogCoordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalEffects.FogCoordinate")
FontLibrary = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Text.FontLibrary")
FontStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Text.FontStyle")
ForcePhysicsModel = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.ForcePhysicsModel")
Gain = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.Gain")
GeneratedCubeMapTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CubeMapTexturing.GeneratedCubeMapTexture")
GeoCoordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoCoordinate")
GeoElevationGrid = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoElevationGrid")
GeoLocation = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoLocation")
GeoLOD = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoLOD")
GeoMetadata = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoMetadata")
GeoOrigin = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoOrigin")
GeoPositionInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoPositionInterpolator")
GeoProximitySensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoProximitySensor")
GeoTouchSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoTouchSensor")
GeoTransform = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoTransform")
GeoViewpoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geospatial.GeoViewpoint")
Group = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Grouping.Group")
HAnimDisplacer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimDisplacer")
HAnimHumanoid = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimHumanoid")
HAnimJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimJoint")
HAnimMotion = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimMotion")
HAnimPose = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimPose")
HAnimSegment = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimSegment")
HAnimSite = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.HAnim.HAnimSite")
ImageCubeMapTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CubeMapTexturing.ImageCubeMapTexture")
ImageTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.ImageTexture")
ImageTexture3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.ImageTexture3D")
IndexedFaceSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.IndexedFaceSet")
IndexedLineSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.IndexedLineSet")
IndexedQuadSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.IndexedQuadSet")
IndexedTriangleFanSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.IndexedTriangleFanSet")
IndexedTriangleSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.IndexedTriangleSet")
IndexedTriangleStripSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.IndexedTriangleStripSet")
Inline = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Networking.Inline")
IntegerSequencer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.IntegerSequencer")
IntegerTrigger = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.IntegerTrigger")
IsoSurfaceVolumeData = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.IsoSurfaceVolumeData")
KeySensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.KeyDeviceSensor.KeySensor")
Layer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layering.Layer")
LayerSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layering.LayerSet")
Layout = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layout.Layout")
LayoutGroup = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layout.LayoutGroup")
LayoutLayer = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layout.LayoutLayer")
LinePickSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Picking.LinePickSensor")
LineProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.LineProperties")
LineSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.LineSet")
ListenerPointSource = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.ListenerPointSource")
LoadSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Networking.LoadSensor")
LocalFog = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalEffects.LocalFog")
LOD = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.LOD")
Material = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.Material")
Matrix3VertexAttribute = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.Matrix3VertexAttribute")
Matrix4VertexAttribute = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.Matrix4VertexAttribute")
MetadataBoolean = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataBoolean")
MetadataDouble = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataDouble")
MetadataFloat = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataFloat")
MetadataInteger = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataInteger")
MetadataSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataSet")
MetadataString = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.MetadataString")
MicrophoneSource = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.MicrophoneSource")
MotorJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.MotorJoint")
MovieTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.MovieTexture")
MultiTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.MultiTexture")
MultiTextureCoordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.MultiTextureCoordinate")
MultiTextureTransform = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.MultiTextureTransform")
NavigationInfo = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.NavigationInfo")
Normal = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.Normal")
NormalInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.NormalInterpolator")
NurbsCurve = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsCurve")
NurbsCurve2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsCurve2D")
NurbsOrientationInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsOrientationInterpolator")
NurbsPatchSurface = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsPatchSurface")
NurbsPositionInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsPositionInterpolator")
NurbsSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsSet")
NurbsSurfaceInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsSurfaceInterpolator")
NurbsSweptSurface = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsSweptSurface")
NurbsSwungSurface = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsSwungSurface")
NurbsTextureCoordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsTextureCoordinate")
NurbsTrimmedSurface = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.NURBS.NurbsTrimmedSurface")
OpacityMapVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.OpacityMapVolumeStyle")
OrientationChaser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.OrientationChaser")
OrientationDamper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.OrientationDamper")
OrientationInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.OrientationInterpolator")
OrthoViewpoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.OrthoViewpoint")
OscillatorSource = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.OscillatorSource")
PackagedShader = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.PackagedShader")
ParticleSystem = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.ParticleSystem")
PeriodicWave = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.PeriodicWave")
PhysicalMaterial = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.PhysicalMaterial")
PickableGroup = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Picking.PickableGroup")
PixelTexture = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.PixelTexture")
PixelTexture3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.PixelTexture3D")
PlaneSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.PointingDeviceSensor.PlaneSensor")
PointEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.PointEmitter")
PointLight = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Lighting.PointLight")
PointPickSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Picking.PointPickSensor")
PointProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.PointProperties")
PointSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.PointSet")
Polyline2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Polyline2D")
PolylineEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.PolylineEmitter")
Polypoint2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Polypoint2D")
PositionChaser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.PositionChaser")
PositionChaser2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.PositionChaser2D")
PositionDamper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.PositionDamper")
PositionDamper2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.PositionDamper2D")
PositionInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.PositionInterpolator")
PositionInterpolator2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.PositionInterpolator2D")
PrimitivePickSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Picking.PrimitivePickSensor")
ProgramShader = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.ProgramShader")
ProjectionVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.ProjectionVolumeStyle")
ProtoInstance = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ProtoInstance")
ProximitySensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalSensor.ProximitySensor")
QuadSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.CADGeometry.QuadSet")
ReceiverPdu = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.ReceiverPdu")
Rectangle2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.Rectangle2D")
RigidBody = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.RigidBody")
RigidBodyCollection = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.RigidBodyCollection")
ScalarChaser = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.ScalarChaser")
ScalarDamper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.ScalarDamper")
ScalarInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.ScalarInterpolator")
ScreenFontStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layout.ScreenFontStyle")
ScreenGroup = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layout.ScreenGroup")
Script = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Scripting.Script")
SegmentedVolumeData = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.SegmentedVolumeData")
ShadedVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.ShadedVolumeStyle")
ShaderPart = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.ShaderPart")
ShaderProgram = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shaders.ShaderProgram")
Shape = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.Shape")
SignalPdu = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.SignalPdu")
SilhouetteEnhancementVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.SilhouetteEnhancementVolumeStyle")
SingleAxisHingeJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.SingleAxisHingeJoint")
SliderJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.SliderJoint")
Sound = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.Sound")
SpatialSound = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.SpatialSound")
Sphere = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry3D.Sphere")
SphereSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.PointingDeviceSensor.SphereSensor")
SplinePositionInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.SplinePositionInterpolator")
SplinePositionInterpolator2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.SplinePositionInterpolator2D")
SplineScalarInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.SplineScalarInterpolator")
SpotLight = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Lighting.SpotLight")
SquadOrientationInterpolator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Interpolation.SquadOrientationInterpolator")
StaticGroup = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Grouping.StaticGroup")
StreamAudioDestination = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.StreamAudioDestination")
StreamAudioSource = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.StreamAudioSource")
StringSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.KeyDeviceSensor.StringSensor")
SurfaceEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.SurfaceEmitter")
Switch = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Grouping.Switch")
Tangent = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.Tangent")
TexCoordChaser2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.TexCoordChaser2D")
TexCoordDamper2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Followers.TexCoordDamper2D")
Text = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Text.Text")
TextureBackground = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalEffects.TextureBackground")
TextureCoordinate = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.TextureCoordinate")
TextureCoordinate3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.TextureCoordinate3D")
TextureCoordinate4D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.TextureCoordinate4D")
TextureCoordinateGenerator = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.TextureCoordinateGenerator")
TextureProjector = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.TextureProjection.TextureProjector")
TextureProjectorParallel = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.TextureProjection.TextureProjectorParallel")
TextureProperties = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.TextureProperties")
TextureTransform = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing.TextureTransform")
TextureTransform3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.TextureTransform3D")
TextureTransformMatrix3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Texturing3D.TextureTransformMatrix3D")
TimeSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Time.TimeSensor")
TimeTrigger = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EventUtilities.TimeTrigger")
ToneMappedVolumeStyle = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.ToneMappedVolumeStyle")
TouchSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.PointingDeviceSensor.TouchSensor")
Transform = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Grouping.Transform")
TransformSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalSensor.TransformSensor")
TransmitterPdu = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.DIS.TransmitterPdu")
TriangleFanSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.TriangleFanSet")
TriangleSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.TriangleSet")
TriangleSet2D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Geometry2D.TriangleSet2D")
TriangleStripSet = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Rendering.TriangleStripSet")
TwoSidedMaterial = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.TwoSidedMaterial")
UniversalJoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.RigidBodyPhysics.UniversalJoint")
UnlitMaterial = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Shape.UnlitMaterial")
Viewpoint = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.Viewpoint")
ViewpointGroup = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Navigation.ViewpointGroup")
Viewport = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Layering.Viewport")
VisibilitySensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.EnvironmentalSensor.VisibilitySensor")
VolumeData = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.VolumeRendering.VolumeData")
VolumeEmitter = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.VolumeEmitter")
VolumePickSensor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Picking.VolumePickSensor")
WaveShaper = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Sound.WaveShaper")
WindPhysicsModel = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.ParticleSystems.WindPhysicsModel")
WorldInfo = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.WorldInfo")
Component = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.component")
Connect = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.connect")
EXPORT = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Networking.EXPORT")
ExternProtoDeclare = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ExternProtoDeclare")
Field = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.field")
FieldValue = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.fieldValue")
Head = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.head")
IMPORT = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Networking.IMPORT")
IS = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.IS")
Meta = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.meta")
ProtoBody = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ProtoBody")
ProtoDeclare = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ProtoDeclare")
ProtoInterface = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ProtoInterface")
ROUTE = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.ROUTE")
Scene = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.Scene")
Unit = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.unit")
X3D = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.Core.X3D")
SFBool = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFBool")
MFBool = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFBool")
SFColor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFColor")
MFColor = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFColor")
SFColorRGBA = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFColorRGBA")
MFColorRGBA = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFColorRGBA")
SFDouble = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFDouble")
MFDouble = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFDouble")
SFFloat = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFFloat")
MFFloat = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFFloat")
SFImage = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFImage")
MFImage = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFImage")
SFInt32 = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFInt32")
MFInt32 = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFInt32")
SFMatrix3d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFMatrix3d")
MFMatrix3d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFMatrix3d")
SFMatrix3f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFMatrix3f")
MFMatrix3f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFMatrix3f")
SFMatrix4d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFMatrix4d")
MFMatrix4d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFMatrix4d")
SFMatrix4f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFMatrix4f")
MFMatrix4f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFMatrix4f")
SFString = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFString")
SFNode = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFNode")
MFNode = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFNode")
SFRotation = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFRotation")
MFRotation = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFRotation")
MFString = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFString")
SFTime = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFTime")
MFTime = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFTime")
SFVec2d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec2d")
MFVec2d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec2d")
SFVec2f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec2f")
MFVec2f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec2f")
SFVec3d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec3d")
MFVec3d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec3d")
SFVec3f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec3f")
MFVec3f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec3f")
SFVec4d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec4d")
MFVec4d = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec4d")
SFVec4f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.SFVec4f")
MFVec4f = JavaUtilities.get_proxy_class("org.web3d.x3d.jsail.fields.MFVec4f")
ConfigurationProperties.setDeleteIntermediateFiles(false);
ConfigurationProperties.setStripTrailingZeroes(true);
ConfigurationProperties.setStripDefaultAttributes(true);
ConfigurationProperties.setXsltEngine(Java::OrgWeb3dX3dJsail::ConfigurationProperties::XSLT_ENGINE_NATIVE_JAVA);
x3D0 = X3D.new
    .setProfile("Immersive")
    .setVersion("4.0")
    .setHead(Head.new()
        .addMeta(Meta.new()
            .setName("title")
            .setContent("Menu.x3d")
        )
        .addMeta(Meta.new()
            .setName("description")
            .setContent("X3D scene with a Switch of Inlines controlled by a menu")
        )
    )
    .setScene(Scene.new()
        .addComments(CommentsBlock.new("Viewpoint and any other scene setup"))
        .addChild(Viewpoint.new()
            .setPosition([0, 20, 110].to_java Java::float)
        )
        .addChild(Group.new()
            .addChild(Switch.new()
                .setDEF("SceneSwitcher")
                .setWhichChoice(0)
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice0")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 0;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 0;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinBlink")
                        .setUrl(["../resources/JinBlink.x3d", "JinBlink.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice1")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 1;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 1;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinBrowLowerer")
                        .setUrl(["../resources/JinBrowLowerer.x3d", "JinBrowLowerer.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice2")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 2;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 2;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinCheekPuffer")
                        .setUrl(["../resources/JinCheekPuffer.x3d", "JinCheekPuffer.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice3")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 3;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 3;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinCheekRaiser")
                        .setUrl(["../resources/JinCheekRaiser.x3d", "JinCheekRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice4")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 4;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 4;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinChinRaiser")
                        .setUrl(["../resources/JinChinRaiser.x3d", "JinChinRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice5")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 5;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 5;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinDimpler")
                        .setUrl(["../resources/JinDimpler.x3d", "JinDimpler.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice6")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 6;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 6;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinEyesClosed")
                        .setUrl(["../resources/JinEyesClosed.x3d", "JinEyesClosed.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice7")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 7;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 7;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinInnerBrowRaiser")
                        .setUrl(["../resources/JinInnerBrowRaiser.x3d", "JinInnerBrowRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice8")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 8;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 8;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinJawDrop")
                        .setUrl(["../resources/JinJawDrop.x3d", "JinJawDrop.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice9")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 9;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 9;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLidDroop")
                        .setUrl(["../resources/JinLidDroop.x3d", "JinLidDroop.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice10")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 10;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 10;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLidTightener")
                        .setUrl(["../resources/JinLidTightener.x3d", "JinLidTightener.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice11")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 11;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 11;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipCornerDepressor")
                        .setUrl(["../resources/JinLipCornerDepressor.x3d", "JinLipCornerDepressor.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice12")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 12;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 12;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipCornerPuller")
                        .setUrl(["../resources/JinLipCornerPuller.x3d", "JinLipCornerPuller.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice13")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 13;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 13;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipFunneler")
                        .setUrl(["../resources/JinLipFunneler.x3d", "JinLipFunneler.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice14")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 14;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 14;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipPressor")
                        .setUrl(["../resources/JinLipPressor.x3d", "JinLipPressor.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice15")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 15;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 15;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipPuckerer")
                        .setUrl(["../resources/JinLipPuckerer.x3d", "JinLipPuckerer.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice16")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 16;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 16;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipsPart")
                        .setUrl(["../resources/JinLipsPart.x3d", "JinLipsPart.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice17")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 17;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 17;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipStretcher")
                        .setUrl(["../resources/JinLipStretcher.x3d", "JinLipStretcher.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice18")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 18;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 18;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipSuck")
                        .setUrl(["../resources/JinLipSuck.x3d", "JinLipSuck.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice19")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 19;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 19;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLipTightener")
                        .setUrl(["../resources/JinLipTightener.x3d", "JinLipTightener.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice20")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 20;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 20;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinLowerLipDepressor")
                        .setUrl(["../resources/JinLowerLipDepressor.x3d", "JinLowerLipDepressor.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice21")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 21;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 21;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinMouthStretch")
                        .setUrl(["../resources/JinMouthStretch.x3d", "JinMouthStretch.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice22")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 22;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 22;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinNasolabialDeepener")
                        .setUrl(["../resources/JinNasolabialDeepener.x3d", "JinNasolabialDeepener.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice23")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 23;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 23;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinNoseWrinkler")
                        .setUrl(["../resources/JinNoseWrinkler.x3d", "JinNoseWrinkler.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice24")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 24;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 24;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinOuterBrowRaiser")
                        .setUrl(["../resources/JinOuterBrowRaiser.x3d", "JinOuterBrowRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice25")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 25;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 25;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinSlit")
                        .setUrl(["../resources/JinSlit.x3d", "JinSlit.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice26")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 26;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 26;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinSquint")
                        .setUrl(["../resources/JinSquint.x3d", "JinSquint.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice27")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 27;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 27;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinUpperLidRaiser")
                        .setUrl(["../resources/JinUpperLidRaiser.x3d", "JinUpperLidRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice28")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 28;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 28;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinUpperLipRaiser")
                        .setUrl(["../resources/JinUpperLipRaiser.x3d", "JinUpperLipRaiser.x3d"].to_java Java::java.lang.String)
                    )
                )
                .addChild(Group.new()
                    .addChild(Script.new()
                        .setDEF("Choice29")
                        .addField(Field.new()
                            .setName("touchTime")
                            .setType("SFTime")
                            .setAccessType("inputOnly")
                        )
                        .addField(Field.new()
                            .setName("choice")
                            .setType("SFInt32")
                            .setAccessType("outputOnly")
                        )
            .setSourceCode("ecmascript:\n"+
"      function set_touchTime(value) {\n"+
"          choice = 29;\n"+
"      }\n"+
"      function touchTime(value) {\n"+
"          choice = 29;\n"+
"      }")                    )
                    .addChild(Inline.new()
                        .setDEF("JinWink")
                        .setUrl(["../resources/JinWink.x3d", "JinWink.x3d"].to_java Java::java.lang.String)
                    )
                )
            )
            .addChild(Transform.new()
                .setTranslation([48, 63.4, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinBlink")
                    .setDEF("JinBlink_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinBlink"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinBlink_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice0")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice0")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 60.4, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinBrowLowerer")
                    .setDEF("JinBrowLowerer_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinBrowLowerer"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinBrowLowerer_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice1")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice1")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 57.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinCheekPuffer")
                    .setDEF("JinCheekPuffer_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinCheekPuffer"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinCheekPuffer_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice2")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice2")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 54.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinCheekRaiser")
                    .setDEF("JinCheekRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinCheekRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinCheekRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice3")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice3")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 51.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinChinRaiser")
                    .setDEF("JinChinRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinChinRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinChinRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice4")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice4")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 48.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinDimpler")
                    .setDEF("JinDimpler_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinDimpler"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinDimpler_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice5")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice5")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 45.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinEyesClosed")
                    .setDEF("JinEyesClosed_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinEyesClosed"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinEyesClosed_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice6")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice6")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 42.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinInnerBrowRaiser")
                    .setDEF("JinInnerBrowRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinInnerBrowRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinInnerBrowRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice7")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice7")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 39.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinJawDrop")
                    .setDEF("JinJawDrop_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinJawDrop"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinJawDrop_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice8")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice8")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 36.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLidDroop")
                    .setDEF("JinLidDroop_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLidDroop"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLidDroop_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice9")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice9")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 33.39999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLidTightener")
                    .setDEF("JinLidTightener_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLidTightener"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLidTightener_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice10")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice10")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 30.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipCornerDepressor")
                    .setDEF("JinLipCornerDepressor_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipCornerDepressor"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipCornerDepressor_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice11")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice11")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 27.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipCornerPuller")
                    .setDEF("JinLipCornerPuller_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipCornerPuller"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipCornerPuller_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice12")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice12")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 24.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipFunneler")
                    .setDEF("JinLipFunneler_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipFunneler"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipFunneler_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice13")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice13")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 21.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipPressor")
                    .setDEF("JinLipPressor_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipPressor"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipPressor_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice14")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice14")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 18.4, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipPuckerer")
                    .setDEF("JinLipPuckerer_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipPuckerer"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipPuckerer_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice15")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice15")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 15.399999999999997, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipsPart")
                    .setDEF("JinLipsPart_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipsPart"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipsPart_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice16")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice16")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 12.399999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipStretcher")
                    .setDEF("JinLipStretcher_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipStretcher"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipStretcher_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice17")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice17")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 9.399999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipSuck")
                    .setDEF("JinLipSuck_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipSuck"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipSuck_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice18")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice18")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 6.399999999999999, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLipTightener")
                    .setDEF("JinLipTightener_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLipTightener"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLipTightener_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice19")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice19")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 3.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinLowerLipDepressor")
                    .setDEF("JinLowerLipDepressor_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinLowerLipDepressor"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinLowerLipDepressor_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice20")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice20")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, 0.399999999999995, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinMouthStretch")
                    .setDEF("JinMouthStretch_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinMouthStretch"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinMouthStretch_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice21")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice21")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -2.6000000000000085, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinNasolabialDeepener")
                    .setDEF("JinNasolabialDeepener_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinNasolabialDeepener"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinNasolabialDeepener_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice22")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice22")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -5.6000000000000085, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinNoseWrinkler")
                    .setDEF("JinNoseWrinkler_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinNoseWrinkler"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinNoseWrinkler_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice23")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice23")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -8.600000000000009, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinOuterBrowRaiser")
                    .setDEF("JinOuterBrowRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinOuterBrowRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinOuterBrowRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice24")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice24")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -11.600000000000009, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinSlit")
                    .setDEF("JinSlit_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinSlit"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinSlit_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice25")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice25")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -14.600000000000001, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinSquint")
                    .setDEF("JinSquint_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinSquint"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinSquint_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice26")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice26")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -17.6, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinUpperLidRaiser")
                    .setDEF("JinUpperLidRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinUpperLidRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinUpperLidRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice27")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice27")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -20.6, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinUpperLipRaiser")
                    .setDEF("JinUpperLipRaiser_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinUpperLipRaiser"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinUpperLipRaiser_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice28")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice28")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
            .addChild(Transform.new()
                .setTranslation([48, -23.599999999999994, 0].to_java Java::float)
                .addChild(TouchSensor.new()
                    .setDescription("TSJinWink")
                    .setDEF("JinWink_Sensor")
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([1, 1, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(Text.new()
                        .setString(["JinWink"].to_java Java::java.lang.String)
                        .setFontStyle(FontStyle.new()
                            .setSize(2.4)
                            .setSpacing(1.2)
                            .setJustify(["MIDDLE", "MIDDLE"].to_java Java::java.lang.String)
                        )
                    )
                )
                .addChild(Shape.new()
                    .setAppearance(Appearance.new()
                        .setMaterial(Material.new()
                            .setDiffuseColor([0, 0, 1].to_java Java::float)
                        )
                    )
                    .setGeometry(IndexedFaceSet.new()
                        .setCoordIndex([0, 1, 2, 3, -1].to_java Java::int)
                        .setCoord(Coordinate.new()
                            .setPoint([20, 1.3833333333333333, -0.1, -20, 1.3833333333333333, -0.1, -20, -1.616666666666667, -0.1, 20, -1.616666666666667, -0.1].to_java Java::float)
                        )
                    )
                )
            )
            .addChild(ROUTE.new()
                .setFromNode("JinWink_Sensor")
                .setFromField("touchTime")
                .setToNode("Choice29")
                .setToField("touchTime")
            )
            .addChild(ROUTE.new()
                .setFromNode("Choice29")
                .setFromField("choice")
                .setToNode("SceneSwitcher")
                .setToField("whichChoice")
            )
        )
    )
x3D0.toFileX3D "../data/MenuJin.new.jruby.x3d"
x3D0.toFileJSON "../data/MenuJin.new.jruby.x3dj"
