@prefix :        <https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleM24Prototype.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.0.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.0#> .

:X3D a owl:NamedIndividual, x3do:X3D ;
  x3do:hasHead :head ;
  x3do:hasScene :Scene ;
  x3do:profile 'Immersive' ;
  x3do:version '3.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-3.0.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasMeta :meta_1_1, :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9, :meta_1_10, :meta_1_11, :meta_1_12, :meta_1_13, :meta_1_14 .
:meta_1_1 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RifleM24Prototype.x3d' ;
  x3do:name 'title' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Prototype of M24 bolt-action sniper rifle used by the US Army.' ;
  x3do:name 'description' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Etsuko Lippi' ;
  x3do:name 'creator' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '21 December 2001' ;
  x3do:name 'created' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '28 November 2019' ;
  x3do:name 'modified' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.fas.org/man/dod-101/sys/land/m14.htm' ;
  x3do:name 'reference' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'http://www.dentrinity.com/Topics/m24perfect.htm' ;
  x3do:name 'reference' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'http://www.empnet.com/imageworks/raj2.htm' ;
  x3do:name 'reference' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'http://www.thepocket.com/waveffects.htm' ;
  x3do:name 'reference' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'M24 Rifle' ;
  x3do:name 'subject' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'RifleFire.wav from The Hollywood Edge, Military and Aircraft Collection PE-23, Track 28' ;
  x3do:name 'Sound' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleM24Prototype.x3d' ;
  x3do:name 'identifier' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_14 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '../../license.html' ;
  x3do:name 'license' .
:meta dcterms:title "RifleM24Prototype.x3d" .
:meta dcterms:description "Prototype of M24 bolt-action sniper rifle used by the US Army." .
:meta dcterms:creator "Etsuko Lippi" .
:meta dcterms:created "21 December 2001" .
:meta dcterms:modified "28 November 2019" .
:meta dcterms:reference "https://www.fas.org/man/dod-101/sys/land/m14.htm" .
:meta dcterms:reference "http://www.dentrinity.com/Topics/m24perfect.htm" .
:meta dcterms:reference "http://www.empnet.com/imageworks/raj2.htm" .
:meta dcterms:reference "http://www.thepocket.com/waveffects.htm" .
:meta dcterms:subject "M24 Rifle" .
:meta dcterms:Sound "RifleFire.wav from The Hollywood Edge, Military and Aircraft Collection PE-23, Track 28" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleM24Prototype.x3d" .
:meta dcterms:generator "X3D-Edit 3.2, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:license "../../license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :WorldInfo_2_1, :Background_2_3, :Anchor_2_4 ;
  x3do:hasProtoDeclare :ProtoDeclare_2_2 .
:WorldInfo_2_1 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :Scene ;
  x3do:title 'RifleM24Prototype.x3d' .
:ProtoDeclare_2_2 a owl:NamedIndividual, x3do:ProtoDeclare ;
  x3do:hasParent :Scene ;
  x3do:hasProtoInterface :ProtoInterface_2_2_1 ;
  x3do:hasProtoBody :ProtoBody_2_2_2 ;
  x3do:appinfo 'Rifle M24' ;
  x3do:name 'RifleM24' .
:ProtoInterface_2_2_1 a owl:NamedIndividual, x3do:ProtoInterface ;
  x3do:hasParent :ProtoDeclare_2_2 ;
  x3do:hasField :field_2_2_1_1, :field_2_2_1_2, :field_2_2_1_3 .
:field_2_2_1_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_2_1 ;
  x3do:accessType 'inputOnly' ;
  x3do:appinfo 'input true to fire' ;
  x3do:name 'trigger' ;
  x3do:type 'SFBool' .
:field_2_2_1_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_2_1 ;
  x3do:accessType 'outputOnly' ;
  x3do:appinfo 'output true when fired' ;
  x3do:name 'fire' ;
  x3do:type 'SFBool' .
:field_2_2_1_3 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :ProtoInterface_2_2_1 ;
  x3do:accessType 'inputOnly' ;
  x3do:appinfo 'trigger animation' ;
  x3do:name 'animationStartTime' ;
  x3do:type 'SFTime' .
:ProtoBody_2_2_2 a owl:NamedIndividual, x3do:ProtoBody ;
  x3do:hasParent :ProtoDeclare_2_2 ;
  x3do:hasChildren :Group_2_2_2_1 .
:Group_2_2_2_1 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :ProtoBody_2_2_2 ;
  x3do:hasChildren :Viewpoint_2_2_2_1_1, :LOD_2_2_2_1_2 .
:Viewpoint_2_2_2_1_1 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Group_2_2_2_1 ;
  x3do:description 'M24 sniper rifle' ;
  x3do:position ( -4 -0.1 10 ) .
:LOD_2_2_2_1_2 a owl:NamedIndividual, x3do:LOD ;
  x3do:hasParent :Group_2_2_2_1 ;
  x3do:hasChildren :Group_2_2_2_1_2_1, :WorldInfo_2_2_2_1_2_2 ;
  x3do:range ( 100 ) .
:Group_2_2_2_1_2_1 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :LOD_2_2_2_1_2 ;
  x3do:hasChildren :Viewpoints, :High .
:Viewpoints a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Group_2_2_2_1_2_1 ;
  x3do:hasChildren :Viewpoint_2_2_2_1_2_1_1_1, :Viewpoint_2_2_2_1_2_1_1_2, :Viewpoint_2_2_2_1_2_1_1_3, :Viewpoint_2_2_2_1_2_1_1_4 ;
  x3do:DEF 'Viewpoints' .
:Viewpoint_2_2_2_1_2_1_1_1 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Viewpoints ;
  x3do:description 'M24 from ahead' ;
  x3do:orientation ( 0.009 .999 0.036 1.5266 ) ;
  x3do:position ( 4.1 0 .4 ) .
:Viewpoint_2_2_2_1_2_1_1_2 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Viewpoints ;
  x3do:description 'M24 left-over-the-shoulder view' ;
  x3do:orientation ( -0.008 1 -0.015 4.6497 ) ;
  x3do:position ( -12.2 -0.8 -3 ) .
:Viewpoint_2_2_2_1_2_1_1_3 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Viewpoints ;
  x3do:description 'M24 right-over-the-shoulder view' ;
  x3do:orientation ( -0.008 1 -0.015 4.6497 ) ;
  x3do:position ( -13.2 -0.7 1.8 ) .
:Viewpoint_2_2_2_1_2_1_1_4 a owl:NamedIndividual, x3do:Viewpoint ;
  x3do:hasParent :Viewpoints ;
  x3do:description 'M24 scope view' ;
  x3do:fieldOfView 0.099 ;
  x3do:orientation ( 0.003 -1 -0.015 1.5497 ) ;
  x3do:position ( -7 .4 0 ) .
:High a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :Group_2_2_2_1_2_1 ;
  x3do:hasChildren :ShootShockTransform ;
  x3do:DEF 'High' .
:ShootShockTransform a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :High ;
  x3do:hasChildren :BulletTransform, :Barrel, :BulletGuide, :Telescope, :HandRest, :Handle, :Stack, :Trigger, :SafetyPin, :Safety, :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:DEF 'ShootShockTransform' ;
  x3do:scale ( 10 10 10 ) .
:BulletTransform a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_1_1 ;
  x3do:DEF 'BulletTransform' ;
  x3do:rotation ( 0 0 1 -1.57 ) ;
  x3do:scale ( 0.8 1 0.8 ) ;
  x3do:translation ( -0.64 0.0 0 ) .
:Shape_2_2_2_1_2_1_2_1_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BulletTransform ;
  x3do:hasAppearance :BulletColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_1_1_2 .
:BulletColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_1_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_1_1_1_1 ;
  x3do:DEF 'BulletColor' .
:Material_2_2_2_1_2_1_2_1_1_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :BulletColor ;
  x3do:ambientIntensity 0.1 ;
  x3do:diffuseColor ( 0.804 0.678 0 ) ;
  x3do:shininess 0.1 ;
  x3do:specularColor ( 0.85 0.85 0.85 ) .
:Extrusion_2_2_2_1_2_1_2_1_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.75 0.75 0.75 0.75 0.7 0.7 0.65 0.65 0.55 0.55 0.4 0.4 0.25 0.25 0.1 0.1 ) ;
  x3do:spine ( 0 0.125 0 0 0.13 0 0 0.135 0 0 0.165 0 0 0.17 0 0 0.175 0 0 0.18 0 0 0.185 0 ) .
:Barrel a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :BarrelPoint, :FlashTransform, :BarrelFront, :BarrelCenter, :BarrelBack, :BarrelBulletLoad, :BarrelBulletLoadEnd, :BarrelEnd ;
  x3do:DEF 'Barrel' ;
  x3do:rotation ( 0.58 -0.58 0.58 2.09 ) .
:BarrelPoint a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_1_1 ;
  x3do:DEF 'BarrelPoint' ;
  x3do:translation ( 0 -0.1 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelPoint ;
  x3do:hasAppearance :BarrelColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_1_1_2 .
:BarrelColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_1_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_2_1_1_1_1 ;
  x3do:DEF 'BarrelColor' .
:Material_2_2_2_1_2_1_2_1_2_1_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :BarrelColor ;
  x3do:ambientIntensity 0.1 ;
  x3do:diffuseColor ( 0.5 0.5 0.5 ) ;
  x3do:shininess 0.8 ;
  x3do:specularColor ( 0.85 0.85 0.85 ) .
:Extrusion_2_2_2_1_2_1_2_1_2_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:scale ( 0.9 0.9 0.55 0.55 ) ;
  x3do:spine ( 0 0 0 0 -0.005 0 ) .
:FlashTransform a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Flame1, :Flame2, :Flame3 ;
  x3do:DEF 'FlashTransform' ;
  x3do:translation ( 0 0.15 0 ) .
:Flame1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :FlashTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_2_1_1 ;
  x3do:DEF 'Flame1' ;
  x3do:rotation ( 0 0 1 3.14 ) ;
  x3do:scale ( 0.02 0.12 0.02 ) .
:Shape_2_2_2_1_2_1_2_1_2_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Flame1 ;
  x3do:hasGeometry :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_1_1_1 .
:IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_1_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_2_1_1 ;
  x3do:hasCoord :Coordinate_2_2_2_1_2_1_2_1_2_2_1_1_1_1 ;
  x3do:hasColor :Color_2_2_2_1_2_1_2_1_2_2_1_1_1_2 ;
  x3do:coordIndex ( 0 1 2 -1 3 4 5 -1 6 7 8 -1 ) .
:Coordinate_2_2_2_1_2_1_2_1_2_2_1_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_1_1_1 ;
  x3do:point ( 0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00 ) .
:Color_2_2_2_1_2_1_2_1_2_2_1_1_1_2 a owl:NamedIndividual, x3do:Color ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_1_1_1 ;
  x3do:color ( 0.9 0.5 0.0 0.9 0.5 0 0.8 0.3 0.0 0.9 0.3 0 1.0 1.0 0.0 0.9 0.3 0 0.7 0.1 0.2 0.9 0.8 0 1.0 0.0 0.0 ) .
:Flame2 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :FlashTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_2_2_1 ;
  x3do:DEF 'Flame2' ;
  x3do:rotation ( 0.71 0 0.71 3.14 ) ;
  x3do:scale ( 0.02 0.1 0.02 ) .
:Shape_2_2_2_1_2_1_2_1_2_2_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Flame2 ;
  x3do:hasGeometry :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_2_1_1 .
:IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_2_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_2_2_1 ;
  x3do:hasCoord :Coordinate_2_2_2_1_2_1_2_1_2_2_2_1_1_1 ;
  x3do:hasColor :Color_2_2_2_1_2_1_2_1_2_2_2_1_1_2 ;
  x3do:coordIndex ( 0 1 2 -1 3 4 5 -1 6 7 8 -1 ) .
:Coordinate_2_2_2_1_2_1_2_1_2_2_2_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_2_1_1 ;
  x3do:point ( 0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00 ) .
:Color_2_2_2_1_2_1_2_1_2_2_2_1_1_2 a owl:NamedIndividual, x3do:Color ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_2_1_1 ;
  x3do:color ( 1.0 1.0 1.0 0.9 0.9 0.9 0.804 0.788 0.788 0.8 0.8 0.8 1.0 1.0 1.0 1.0 1.0 0.0 0.7 0.7 0.7 0.9 0.8 0.9 1.0 0.498 0 ) .
:Flame3 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :FlashTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_2_3_1 ;
  x3do:DEF 'Flame3' ;
  x3do:rotation ( 0.79 0 0.61 3.14 ) ;
  x3do:scale ( 0.02 0.1 0.02 ) .
:Shape_2_2_2_1_2_1_2_1_2_2_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Flame3 ;
  x3do:hasGeometry :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_3_1_1 .
:IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_3_1_1 a owl:NamedIndividual, x3do:IndexedFaceSet ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_2_3_1 ;
  x3do:hasCoord :Coordinate_2_2_2_1_2_1_2_1_2_2_3_1_1_1 ;
  x3do:hasColor :Color_2_2_2_1_2_1_2_1_2_2_3_1_1_2 ;
  x3do:coordIndex ( 0 1 2 -1 3 4 5 -1 6 7 8 -1 ) .
:Coordinate_2_2_2_1_2_1_2_1_2_2_3_1_1_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_3_1_1 ;
  x3do:point ( 0.25 0.0 0.00 0.15 1.0 0.10 0.05 0.0 0.15 0.18 0.0 0.05 0.00 1.2 0.05 -0.10 0.0 0.05 -0.00 0.0 0.15 -0.13 0.8 0.10 -0.25 0.0 0.00 ) .
:Color_2_2_2_1_2_1_2_1_2_2_3_1_1_2 a owl:NamedIndividual, x3do:Color ;
  x3do:hasParent :IndexedFaceSet_2_2_2_1_2_1_2_1_2_2_3_1_1 ;
  x3do:color ( 1.0 1.0 1.0 0.9 0.9 0.9 0.804 0.788 0.788 0.8 0.8 0.8 1.0 1.0 1.0 1.0 1.0 0.0 0.7 0.7 0.7 0.9 0.8 0.9 1.0 0.498 0 ) .
:BarrelFront a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_3_1 ;
  x3do:DEF 'BarrelFront' ;
  x3do:translation ( 0 -0.1 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelFront ;
  x3do:hasAppearance :BarrelColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_3_1_2 .
:BarrelColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_3_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_2_3_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_3_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:spine ( 0 0 0 0 0.05 0 ) .
:BarrelCenter a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_4_1 ;
  x3do:DEF 'BarrelCenter' .
:Shape_2_2_2_1_2_1_2_1_2_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelCenter ;
  x3do:hasAppearance :BarrelColor-USE-2 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_4_1_2 .
:BarrelColor-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_4_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_2_4_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_4_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.008 0.008 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.008 -0.008 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.008 -0.008 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.008 0.008 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:spine ( 0.0 -0.1 0.0 0.0 0.35 0.0 ) .
:BarrelBack a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_5_1 ;
  x3do:DEF 'BarrelBack' ;
  x3do:translation ( 0 0.42 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_5_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelBack ;
  x3do:hasAppearance :BarrelColor-USE-3 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_5_1_2 .
:BarrelColor-USE-3 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_5_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_2_5_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_5_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:spine ( 0 -0.07 0 0 0.05 0 ) .
:BarrelBulletLoad a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_6_1 ;
  x3do:DEF 'BarrelBulletLoad' ;
  x3do:rotation ( 0 1 0 1.3 ) ;
  x3do:translation ( 0 0.42 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_6_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelBulletLoad ;
  x3do:hasAppearance :BarrelColor-USE-4 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_6_1_2 .
:BarrelColor-USE-4 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_6_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_2_6_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_6_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 ) ;
  x3do:spine ( 0 0.05 0 0 0.10 0 ) .
:BarrelBulletLoadEnd a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_7_1 ;
  x3do:DEF 'BarrelBulletLoadEnd' ;
  x3do:translation ( 0 0.42 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_7_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelBulletLoadEnd ;
  x3do:hasAppearance :BarrelColor-USE-5 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_7_1_2 .
:BarrelColor-USE-5 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_7_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_2_7_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_7_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:spine ( 0 0.10 0 0 0.123 0 ) .
:BarrelEnd a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Barrel ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_2_8_1 ;
  x3do:DEF 'BarrelEnd' ;
  x3do:scale ( 0.9 1.1 0.9 ) ;
  x3do:translation ( 0 0.405 0 ) .
:Shape_2_2_2_1_2_1_2_1_2_8_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BarrelEnd ;
  x3do:hasAppearance :BarrelEndColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_2_8_1_2 .
:BarrelEndColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_8_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_2_8_1_1_1 ;
  x3do:DEF 'BarrelEndColor' .
:Material_2_2_2_1_2_1_2_1_2_8_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :BarrelEndColor ;
  x3do:ambientIntensity 0.1 ;
  x3do:diffuseColor ( 0.85 0.85 0.85 ) ;
  x3do:shininess 0.8 ;
  x3do:specularColor ( 0.85 0.85 0.85 ) .
:Extrusion_2_2_2_1_2_1_2_1_2_8_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_2_8_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 1.0 1.0 1.0 1.0 0.8 0.8 0.8 0.8 0.6 0.6 ) ;
  x3do:spine ( 0 0.125 0 0 0.13 0 0 0.135 0 0 0.14 0 0 0.15 0 ) .
:BulletGuide a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_3_1 ;
  x3do:DEF 'BulletGuide' ;
  x3do:rotation ( 0 1 0 1.57 ) ;
  x3do:translation ( 0.08 0.02 0.011 ) .
:Shape_2_2_2_1_2_1_2_1_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :BulletGuide ;
  x3do:hasAppearance :Appearance_2_2_2_1_2_1_2_1_3_1_1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_3_1_2 .
:Appearance_2_2_2_1_2_1_2_1_3_1_1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_3_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_3_1_1_1 .
:Material_2_2_2_1_2_1_2_1_3_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2_1_2_1_2_1_3_1_1 ;
  x3do:diffuseColor ( 0.3 0.3 0.3 ) .
:Extrusion_2_2_2_1_2_1_2_1_3_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_3_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006 ) ;
  x3do:scale ( 0.8 0.8 1.5 1.0 ) ;
  x3do:spine ( 0.01 0.0 0.0 0.01 -0.01 0.0 ) .
:Telescope a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :TelescopeLensFront, :CircleLine, :TelescopeLensForEye, :TelescopeMain, :TelescopeBeltFront, :TelescopeBeltBack, :TelescopeBoltFront, :TelescopeBoltBack, :AdjustmentLeft, :AdjustmentRight, :AdjustmentTop, :Adjustment, :AdjustmentTele ;
  x3do:DEF 'Telescope' ;
  x3do:rotation ( 0.58 -0.58 0.58 2.09 ) ;
  x3do:translation ( 0 -0.01 0 ) .
:TelescopeLensFront a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_1_1 ;
  x3do:DEF 'TelescopeLensFront' ;
  x3do:translation ( 0 0.36 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeLensFront ;
  x3do:hasAppearance :Appearance_2_2_2_1_2_1_2_1_4_1_1_1 ;
  x3do:hasGeometry :Cylinder_2_2_2_1_2_1_2_1_4_1_1_2 .
:Appearance_2_2_2_1_2_1_2_1_4_1_1_1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_1_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_4_1_1_1_1 .
:Material_2_2_2_1_2_1_2_1_4_1_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2_1_2_1_2_1_4_1_1_1 ;
  x3do:diffuseColor ( 0.0941 0.455 0.804 ) ;
  x3do:emissiveColor ( 0.0941 0.455 0.804 ) ;
  x3do:shininess 0.8 ;
  x3do:transparency 0.55 .
:Cylinder_2_2_2_1_2_1_2_1_4_1_1_2 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_1_1 ;
  x3do:height 0.005 ;
  x3do:radius 0.02 .
:CircleLine a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_2_1 ;
  x3do:DEF 'CircleLine' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:scale ( 0.0215 0.0215 0.015 ) ;
  x3do:translation ( 0 0.35 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :CircleLine ;
  x3do:hasAppearance :Appearance_2_2_2_1_2_1_2_1_4_2_1_1 ;
  x3do:hasGeometry :IndexedLineSet_2_2_2_1_2_1_2_1_4_2_1_2 .
:Appearance_2_2_2_1_2_1_2_1_4_2_1_1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_2_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_4_2_1_1_1 .
:Material_2_2_2_1_2_1_2_1_4_2_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2_1_2_1_2_1_4_2_1_1 ;
  x3do:diffuseColor ( 0.957 0.643 0.376 ) ;
  x3do:emissiveColor ( 0.957 0.643 0.376 ) .
:IndexedLineSet_2_2_2_1_2_1_2_1_4_2_1_2 a owl:NamedIndividual, x3do:IndexedLineSet ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_2_1 ;
  x3do:hasCoord :Coordinate_2_2_2_1_2_1_2_1_4_2_1_2_1 ;
  x3do:coordIndex ( 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 -1 60 61 -1 62 63 -1 ) .
:Coordinate_2_2_2_1_2_1_2_1_4_2_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedLineSet_2_2_2_1_2_1_2_1_4_2_1_2 ;
  x3do:point ( 0.0 1.0 0.0 0.105 0.995 0.0 0.208 0.978 0.0 0.309 0.951 0.0 0.407 0.914 0.0 0.500 0.866 0.0 0.588 0.809 0.0 0.669 0.743 0.0 0.743 0.669 0.0 0.809 0.588 0.0 0.866 0.500 0.0 0.914 0.407 0.0 0.951 0.309 0.0 0.978 0.208 0.0 0.995 0.105 0.0 1.0 0.0 0.0 0.995 -0.105 0.0 0.978 -0.208 0.0 0.951 -0.309 0.0 0.914 -0.407 0.0 0.866 -0.500 0.0 0.809 -0.588 0.0 0.743 -0.669 0.0 0.669 -0.743 0.0 0.588 -0.809 0.0 0.500 -0.866 0.0 0.407 -0.914 0.0 0.309 -0.951 0.0 0.208 -0.978 0.0 0.105 -0.995 0.0 0.0 -1.0 0.0 -0.105 -0.995 0.0 -0.208 -0.978 0.0 -0.309 -0.951 0.0 -0.407 -0.914 0.0 -0.500 -0.866 0.0 -0.588 -0.809 0.0 -0.669 -0.743 0.0 -0.743 -0.669 0.0 -0.809 -0.588 0.0 -0.866 -0.500 0.0 -0.914 -0.407 0.0 -0.951 -0.309 0.0 -0.978 -0.208 0.0 -0.995 -0.105 0.0 -1.0 -0.0 0.0 -0.995 0.105 0.0 -0.978 0.208 0.0 -0.951 0.309 0.0 -0.914 0.407 0.0 -0.866 0.500 0.0 -0.809 0.588 0.0 -0.743 0.669 0.0 -0.669 0.743 0.0 -0.588 0.809 0.0 -0.500 0.866 0.0 -0.407 0.914 0.0 -0.309 0.951 0.0 -0.208 0.978 0.0 -0.105 0.995 0.0 0 1 0 0 -1 0 1 0 0 -1 0 0 ) .
:TelescopeLensForEye a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_3_1 ;
  x3do:DEF 'TelescopeLensForEye' ;
  x3do:translation ( 0 0.58 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_3_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeLensForEye ;
  x3do:hasAppearance :Appearance_2_2_2_1_2_1_2_1_4_3_1_1 ;
  x3do:hasGeometry :Cylinder_2_2_2_1_2_1_2_1_4_3_1_2 .
:Appearance_2_2_2_1_2_1_2_1_4_3_1_1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_3_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_4_3_1_1_1 .
:Material_2_2_2_1_2_1_2_1_4_3_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_2_2_1_2_1_2_1_4_3_1_1 ;
  x3do:diffuseColor ( 0.0941 0.455 0.804 ) ;
  x3do:transparency 0.5 .
:Cylinder_2_2_2_1_2_1_2_1_4_3_1_2 a owl:NamedIndividual, x3do:Cylinder ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_3_1 ;
  x3do:height 0.005 ;
  x3do:radius 0.016 .
:TelescopeMain a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_4_1 ;
  x3do:DEF 'TelescopeMain' ;
  x3do:translation ( 0 0.35 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeMain ;
  x3do:hasAppearance :TelescopeColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_4_1_2 .
:TelescopeColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_4_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_4_4_1_1_1 ;
  x3do:DEF 'TelescopeColor' .
:Material_2_2_2_1_2_1_2_1_4_4_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :TelescopeColor ;
  x3do:diffuseColor ( 0.2 0.2 0.2 ) .
:Extrusion_2_2_2_1_2_1_2_1_4_4_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_4_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:scale ( 1.7 1.7 1.7 1.7 1.4 1.4 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.2 1.2 1.35 1.35 1.35 1.35 1.35 1.35 ) ;
  x3do:spine ( 0 0 0 0 0.03 0 0 0.05 0 0 0.07 0 0 0.1 0 0 0.15 0 0 0.17 0 0 0.20 0 0 0.23 0 0 0.24 0 0 0.25 0 ) .
:TelescopeBeltFront a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_5_1 ;
  x3do:DEF 'TelescopeBeltFront' ;
  x3do:translation ( 0 0.45 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_5_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeBeltFront ;
  x3do:hasAppearance :BarrelColor-USE-6 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_5_1_2 .
:BarrelColor-USE-6 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_5_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_5_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_5_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:scale ( 1.15 1.15 1.15 1.15 ) ;
  x3do:spine ( 0 0 0 0 0.015 0 ) .
:TelescopeBeltBack a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_6_1 ;
  x3do:DEF 'TelescopeBeltBack' ;
  x3do:translation ( 0 0.52 -0.05 ) .
:Shape_2_2_2_1_2_1_2_1_4_6_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeBeltBack ;
  x3do:hasAppearance :BarrelColor-USE-7 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_6_1_2 .
:BarrelColor-USE-7 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_6_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_6_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_6_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 0.0 0.012 -0.00425 0.0109 -0.0085 0.0085 -0.0109 0.00425 -0.012 -0.0 -0.0109 -0.00425 -0.0085 -0.0085 -0.00425 -0.0109 0.0 -0.012 0.00425 -0.0109 .0085 -0.0085 0.0109 -0.00425 0.012 0.0 0.0109 0.00425 0.0085 0.0085 0.00425 0.0109 0.0 0.012 ) ;
  x3do:scale ( 1.2 1.2 1.2 1.2 ) ;
  x3do:spine ( 0 0 0 0 0.015 0 ) .
:TelescopeBoltFront a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_7_1 ;
  x3do:DEF 'TelescopeBoltFront' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:scale ( 0.65 0.8 0.65 ) ;
  x3do:translation ( 0 0.458 -0.0365 ) .
:Shape_2_2_2_1_2_1_2_1_4_7_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeBoltFront ;
  x3do:hasAppearance :BarrelColor-USE-8 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_7_1_2 .
:BarrelColor-USE-8 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_7_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_7_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_7_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 1.2 1.2 1.2 1.2 ) ;
  x3do:spine ( 0 0 0 0 0.02 0 ) .
:TelescopeBoltBack a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_8_1 ;
  x3do:DEF 'TelescopeBoltBack' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:scale ( 0.65 0.8 0.65 ) ;
  x3do:translation ( 0 0.53 -0.0365 ) .
:Shape_2_2_2_1_2_1_2_1_4_8_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TelescopeBoltBack ;
  x3do:hasAppearance :BarrelColor-USE-9 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_8_1_2 .
:BarrelColor-USE-9 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_8_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_8_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_8_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 1.2 1.2 1.2 1.2 ) ;
  x3do:spine ( 0 0 0 0 0.02 0 ) .
:AdjustmentLeft a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_9_1 ;
  x3do:DEF 'AdjustmentLeft' ;
  x3do:rotation ( 0 0 1 1.57 ) ;
  x3do:translation ( -0.013 0.49 -0.048 ) .
:Shape_2_2_2_1_2_1_2_1_4_9_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :AdjustmentLeft ;
  x3do:hasAppearance :TelescopeAdjustmentColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_9_1_2 .
:TelescopeAdjustmentColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_9_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_4_9_1_1_1 ;
  x3do:DEF 'TelescopeAdjustmentColor' .
:Material_2_2_2_1_2_1_2_1_4_9_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :TelescopeAdjustmentColor ;
  x3do:diffuseColor ( 0.1 0.1 0.1 ) ;
  x3do:emissiveColor ( 0.3 0.3 0.3 ) ;
  x3do:shininess 0.7 ;
  x3do:specularColor ( 0.1 0.1 0.1 ) .
:Extrusion_2_2_2_1_2_1_2_1_4_9_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_9_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.008 0.008 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.008 -0.008 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.008 -0.008 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.008 0.008 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.8 0.8 0.8 0.8 ) ;
  x3do:spine ( 0 0 0 0 0.01 0 ) .
:AdjustmentRight a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_10_1 ;
  x3do:DEF 'AdjustmentRight' ;
  x3do:rotation ( 0 0 1 1.57 ) ;
  x3do:translation ( 0.023 0.49 -0.048 ) .
:Shape_2_2_2_1_2_1_2_1_4_10_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :AdjustmentRight ;
  x3do:hasAppearance :TelescopeAdjustmentColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_10_1_2 .
:TelescopeAdjustmentColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_10_1 ;
  owl:sameAs :TelescopeAdjustmentColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_10_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_10_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.008 0.008 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.008 -0.008 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.008 -0.008 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.008 0.008 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.8 0.8 0.8 0.8 ) ;
  x3do:spine ( 0 0 0 0 0.01 0 ) .
:AdjustmentTop a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_11_1 ;
  x3do:DEF 'AdjustmentTop' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:translation ( 0 0.49 -0.08 ) .
:Shape_2_2_2_1_2_1_2_1_4_11_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :AdjustmentTop ;
  x3do:hasAppearance :TelescopeAdjustmentColor-USE-2 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_11_1_2 .
:TelescopeAdjustmentColor-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_11_1 ;
  owl:sameAs :TelescopeAdjustmentColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_11_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_11_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.008 0.008 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.008 -0.008 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.008 -0.008 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.008 0.008 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.8 0.8 0.8 0.8 ) ;
  x3do:spine ( 0 0 0 0 0.01 0 ) .
:Adjustment a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_12_1 ;
  x3do:DEF 'Adjustment' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:translation ( 0 0.49 -0.072 ) .
:Shape_2_2_2_1_2_1_2_1_4_12_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Adjustment ;
  x3do:hasAppearance :TelescopeAdjustmentColor-USE-3 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_12_1_2 .
:TelescopeAdjustmentColor-USE-3 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_12_1 ;
  owl:sameAs :TelescopeAdjustmentColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_12_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_12_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.6 0.6 0.6 0.6 ) ;
  x3do:spine ( 0 0 0 0 0.005 0 ) .
:AdjustmentTele a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Telescope ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_4_13_1 ;
  x3do:DEF 'AdjustmentTele' ;
  x3do:rotation ( 1 0 0 1.57 ) ;
  x3do:translation ( 0 0.49 -0.067 ) .
:Shape_2_2_2_1_2_1_2_1_4_13_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :AdjustmentTele ;
  x3do:hasAppearance :TelescopeColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_4_13_1_2 .
:TelescopeColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_13_1 ;
  owl:sameAs :TelescopeColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_4_13_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_4_13_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 0.013 0.00 0.01196 -0.00494 0.00923 -0.00923 0.00494 -0.01196 0.00 -0.013 -0.00494 -0.01196 -0.00923 -0.00923 -0.01196 -0.00494 -0.013 -0.0 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.6 0.6 0.6 0.6 ) ;
  x3do:spine ( 0 0 0 0 0.005 0 ) .
:HandRest a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_5_1 ;
  x3do:DEF 'HandRest' ;
  x3do:rotation ( 0.58 -0.58 0.58 2.09 ) ;
  x3do:scale ( 2 2 2 ) ;
  x3do:translation ( -0.38 0.012 0 ) .
:Shape_2_2_2_1_2_1_2_1_5_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :HandRest ;
  x3do:hasAppearance :HandrestColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_5_1_2 .
:HandrestColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_5_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_5_1_1_1 ;
  x3do:DEF 'HandrestColor' .
:Material_2_2_2_1_2_1_2_1_5_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :HandrestColor ;
  x3do:diffuseColor ( 0.3 0.3 0.3 ) .
:Extrusion_2_2_2_1_2_1_2_1_5_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_5_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.013 0.00494 0.01196 0.00923 0.00923 0.01196 0.00494 -0.01196 0.00494 -0.00923 0.00923 -0.00494 0.01196 0.00 0.013 ) ;
  x3do:scale ( 0.6 2.0 0.4 2.3 ) ;
  x3do:spine ( 0 -0.1 0 0.0 0.09 0.0 ) .
:Handle a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :HandleBody, :HandleEnd ;
  x3do:DEF 'Handle' .
:HandleBody a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Handle ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_6_1_1 ;
  x3do:DEF 'HandleBody' ;
  x3do:rotation ( 0 0 1 -0.4 ) ;
  x3do:translation ( -0.57 -0.0274 0.0 ) .
:Shape_2_2_2_1_2_1_2_1_6_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :HandleBody ;
  x3do:hasAppearance :HandrestColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_6_1_1_2 .
:HandrestColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_6_1_1 ;
  owl:sameAs :HandrestColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_6_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_6_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.021 0.0435 0.02 0.057 0.01 0.06 0.0 0.057 -0.01 0.0435 -0.02 0.0 -0.021 -0.0435 -0.02 -0.057 -0.01 -0.06 0.0 -0.057 0.01 -0.0435 0.02 0.0 0.021 ) ;
  x3do:scale ( 0.38 0.38 0.36 0.36 0.3 0.3 0.25 0.25 0.32 0.34 ) ;
  x3do:spine ( -0.03 -0.09 0.0 -0.03 -0.05 0.0 -0.022 -0.025 0.0 -0.01 -0.01 0.0 0.02 0.01 0.0 ) .
:HandleEnd a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Handle ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_6_2_1 ;
  x3do:DEF 'HandleEnd' ;
  x3do:rotation ( 0 0 1 0.385 ) ;
  x3do:translation ( -0.648 -0.1168 0.0 ) .
:Shape_2_2_2_1_2_1_2_1_6_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :HandleEnd ;
  x3do:hasAppearance :BarrelEndColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_6_2_1_2 .
:BarrelEndColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_6_2_1 ;
  owl:sameAs :BarrelEndColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_6_2_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_6_2_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.021 0.0435 0.02 0.057 0.01 0.06 0.0 0.057 -0.01 0.0435 -0.02 0.0 -0.021 -0.0435 -0.02 -0.057 -0.01 -0.06 0.0 -0.057 0.01 -0.0435 0.02 0.0 0.021 ) ;
  x3do:scale ( 0.37 0.37 0.38 0.38 ) ;
  x3do:spine ( 0.02 0.01 0.0 0.021 0.011 0.0 ) .
:Stack a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :StackBody, :StackEnd ;
  x3do:DEF 'Stack' .
:StackBody a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Stack ;
  x3do:hasChildren :Transform_2_2_2_1_2_1_2_1_7_1_1 ;
  x3do:DEF 'StackBody' ;
  x3do:rotation ( 0.58 0.58 -0.58 2.09 ) ;
  x3do:translation ( -0.7 -0.145 0 ) .
:Transform_2_2_2_1_2_1_2_1_7_1_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :StackBody ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_7_1_1_1 ;
  x3do:rotation ( 1 0 0 -0.25 ) .
:Shape_2_2_2_1_2_1_2_1_7_1_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_2_1_2_1_2_1_7_1_1 ;
  x3do:hasAppearance :TelescopeColor-USE-2 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_7_1_1_1_2 .
:TelescopeColor-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_7_1_1_1 ;
  owl:sameAs :TelescopeColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_7_1_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_7_1_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.06 0.01 0.057 0.02 0.0435 0.021 0.0 0.02 -0.0435 0.01 -0.057 0.0 -0.06 -0.01 -0.057 -0.02 -0.0435 -0.021 0.0 -0.02 0.0435 -0.01 0.057 0.0 0.06 ) ;
  x3do:scale ( 1.0 1.0 0.5 0.5 0.1 0.1 ) ;
  x3do:spine ( 0 -0.1 -0.09 0.0 0.1 -0.09 0.0 0.12 -0.09 ) .
:StackEnd a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Stack ;
  x3do:hasChildren :Transform_2_2_2_1_2_1_2_1_7_2_1 ;
  x3do:DEF 'StackEnd' ;
  x3do:rotation ( 0.58 0.58 -0.58 2.09 ) ;
  x3do:translation ( -0.918 -0.2015 0 ) .
:Transform_2_2_2_1_2_1_2_1_7_2_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :StackEnd ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_7_2_1_1 ;
  x3do:rotation ( 1 0 0 -0.25 ) .
:Shape_2_2_2_1_2_1_2_1_7_2_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_2_2_1_2_1_2_1_7_2_1 ;
  x3do:hasAppearance :StackColor ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_7_2_1_1_2 .
:StackColor a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_7_2_1_1 ;
  x3do:hasMaterial :Material_2_2_2_1_2_1_2_1_7_2_1_1_1_1 ;
  x3do:DEF 'StackColor' .
:Material_2_2_2_1_2_1_2_1_7_2_1_1_1_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :StackColor ;
  x3do:ambientIntensity 0.1 ;
  x3do:diffuseColor ( 0.85 0.85 0.85 ) ;
  x3do:shininess 0.8 ;
  x3do:specularColor ( 0.85 0.85 0.85 ) .
:Extrusion_2_2_2_1_2_1_2_1_7_2_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_7_2_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.06 0.01 0.057 0.02 0.0435 0.021 0.0 0.02 -0.0435 0.01 -0.057 0.0 -0.06 -0.01 -0.057 -0.02 -0.0435 -0.021 0.0 -0.02 0.0435 -0.01 0.057 0.0 0.06 ) ;
  x3do:scale ( 0.9 0.9 1.0 1.0 ) ;
  x3do:spine ( 0.0 0.119 -0.09 0.0 0.125 -0.09 ) .
:Trigger a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :TriggerGuard, :TriggerPin ;
  x3do:DEF 'Trigger' .
:TriggerGuard a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Trigger ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_8_1_1 ;
  x3do:DEF 'TriggerGuard' ;
  x3do:translation ( -0.54 -0.042 0 ) .
:Shape_2_2_2_1_2_1_2_1_8_1_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TriggerGuard ;
  x3do:hasAppearance :HandrestColor-USE-2 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_8_1_1_2 .
:HandrestColor-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_8_1_1 ;
  owl:sameAs :HandrestColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_8_1_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_8_1_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006 ) ;
  x3do:spine ( -0.02 0.0 0.0 -0.028 -0.01 0.0 -0.03 -0.02 0.0 -0.021 -0.031 0.0 -0.006 -0.035 0.0 0.01 -0.033 0.0 0.02 -0.02 0.0 0.02 -0.01 0.0 0.021 0.0 0.0 ) .
:TriggerPin a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Trigger ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_8_2_1 ;
  x3do:DEF 'TriggerPin' ;
  x3do:translation ( -0.565 -0.042 0 ) .
:Shape_2_2_2_1_2_1_2_1_8_2_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :TriggerPin ;
  x3do:hasAppearance :BarrelColor-USE-10 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_8_2_1_2 .
:BarrelColor-USE-10 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_8_2_1 ;
  owl:sameAs :BarrelColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_8_2_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_8_2_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006 ) ;
  x3do:scale ( 1.5 1.0 1.0 1.0 0.8 0.8 0.7 0.7 ) ;
  x3do:spine ( 0.01 0.0 0.0 0.011 -0.01 0.0 0.015 -0.02 0.0 0.02 -0.025 0.0 ) .
:SafetyPin a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_9_1 ;
  x3do:DEF 'SafetyPin' ;
  x3do:scale ( 2.2 1.35 0.8 ) ;
  x3do:translation ( -0.565 -0.008 0.0085 ) .
:Shape_2_2_2_1_2_1_2_1_9_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :SafetyPin ;
  x3do:hasAppearance :StackColor-USE-1 ;
  x3do:hasGeometry :Extrusion_2_2_2_1_2_1_2_1_9_1_2 .
:StackColor-USE-1 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_9_1 ;
  owl:sameAs :StackColor . # DEF matching this USE
:Extrusion_2_2_2_1_2_1_2_1_9_1_2 a owl:NamedIndividual, x3do:Extrusion ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_9_1 ;
  x3do:creaseAngle 1.57 ;
  x3do:crossSection ( 0.0 0.006 0.001 0.0057 0.001 -0.0057 0.0 -0.006 -0.001 -0.0057 -0.001 0.0057 0.0 0.006 ) ;
  x3do:scale ( 1.5 1.0 1.0 1.0 0.8 0.8 0.3 0.3 ) ;
  x3do:spine ( 0.01 0.0 0.0 0.01 -0.01 0.0 0.008 -0.02 0.0 0.006 -0.025 0.0 ) .
:Safety a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :Shape_2_2_2_1_2_1_2_1_10_1 ;
  x3do:DEF 'Safety' ;
  x3do:scale ( 1.0 0.7 0.6 ) ;
  x3do:translation ( -0.546 -0.04 0.009 ) .
:Shape_2_2_2_1_2_1_2_1_10_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Safety ;
  x3do:hasAppearance :StackColor-USE-2 ;
  x3do:hasGeometry :Sphere_2_2_2_1_2_1_2_1_10_1_2 .
:StackColor-USE-2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_10_1 ;
  owl:sameAs :StackColor . # DEF matching this USE
:Sphere_2_2_2_1_2_1_2_1_10_1_2 a owl:NamedIndividual, x3do:Sphere ;
  x3do:hasParent :Shape_2_2_2_1_2_1_2_1_10_1 ;
  x3do:radius 0.008 .
:Group_2_2_2_1_2_1_2_1_11 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :ShootShockTransform ;
  x3do:hasChildren :TriggerScript, :Clock, :RifleFireSound, :TriggerInterpolator, :FlashInterpolator, :ShootShockInterpolator ;
  x3do:hasROUTE :ROUTE_2_2_2_1_2_1_2_1_11_7, :ROUTE_2_2_2_1_2_1_2_1_11_8, :ROUTE_2_2_2_1_2_1_2_1_11_9, :ROUTE_2_2_2_1_2_1_2_1_11_10, :ROUTE_2_2_2_1_2_1_2_1_11_11, :ROUTE_2_2_2_1_2_1_2_1_11_12, :ROUTE_2_2_2_1_2_1_2_1_11_13, :ROUTE_2_2_2_1_2_1_2_1_11_14 .
:TriggerScript a owl:NamedIndividual, x3do:Script ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:hasField :field_2_2_2_1_2_1_2_1_11_1_1, :field_2_2_2_1_2_1_2_1_11_1_2, :field_2_2_2_1_2_1_2_1_11_1_3, :field_2_2_2_1_2_1_2_1_11_1_4 ;
  x3do:hasIS :IS_2_2_2_1_2_1_2_1_11_1_5 ;
  x3do:DEF 'TriggerScript' ;
  x3do:sourceCode """
ecmascript:


function trigger(value, timeStamp)
{
      //print ('trigger = ' + value);
      if (value == true)
      {
            fire = true;
      }
      else
      {
            fire = false;
      }
       //print ('fire = ' + fire);
}



function animationStartTime(time, timeStamp)
{
          //print ('time = ' + time);
          if (fire == true)
                   clockStartTime = time;
}
""" .
:field_2_2_2_1_2_1_2_1_11_1_1 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TriggerScript ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'trigger' ;
  x3do:type 'SFBool' .
:field_2_2_2_1_2_1_2_1_11_1_2 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TriggerScript ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'fire' ;
  x3do:type 'SFBool' .
:field_2_2_2_1_2_1_2_1_11_1_3 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TriggerScript ;
  x3do:accessType 'inputOnly' ;
  x3do:name 'animationStartTime' ;
  x3do:type 'SFTime' .
:field_2_2_2_1_2_1_2_1_11_1_4 a owl:NamedIndividual, x3do:field ;
  x3do:hasParent :TriggerScript ;
  x3do:accessType 'outputOnly' ;
  x3do:name 'clockStartTime' ;
  x3do:type 'SFTime' .
:IS_2_2_2_1_2_1_2_1_11_1_5 a owl:NamedIndividual, x3do:IS ;
  x3do:hasParent :TriggerScript ;
  x3do:hasConnect :connect_2_2_2_1_2_1_2_1_11_1_5_1, :connect_2_2_2_1_2_1_2_1_11_1_5_2 .
:connect_2_2_2_1_2_1_2_1_11_1_5_1 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_2_2_1_2_1_2_1_11_1_5 ;
  x3do:nodeField 'trigger' ;
  x3do:protoField 'trigger' .
:connect_2_2_2_1_2_1_2_1_11_1_5_2 a owl:NamedIndividual, x3do:connect ;
  x3do:hasParent :IS_2_2_2_1_2_1_2_1_11_1_5 ;
  x3do:nodeField 'animationStartTime' ;
  x3do:protoField 'animationStartTime' .
:Clock a owl:NamedIndividual, x3do:TimeSensor ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:DEF 'Clock' ;
  x3do:cycleInterval '0.5' .
:RifleFireSound a owl:NamedIndividual, x3do:Sound ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:hasSource :RifleFireSoundAudio ;
  x3do:DEF 'RifleFireSound' .
:RifleFireSoundAudio a owl:NamedIndividual, x3do:AudioClip ;
  x3do:hasParent :RifleFireSound ;
  x3do:DEF 'RifleFireSoundAudio' ;
  x3do:description 'Rifle fire' ;
  x3do:url '"RifleFire.wav" "../../Weapons/SmallArms/RifleFire.wav" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleFire.wav"' .
:TriggerInterpolator a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:DEF 'TriggerInterpolator' ;
  x3do:key ( 0.0 0.2 0.49 0.8 1.0 ) ;
  x3do:keyValue ( -0.64 0.0 0.0 -0.40 0.0 0.0 1 0.0 0.0 2 0.0 0.0 51 0.0 0.0 ) .
:FlashInterpolator a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:DEF 'FlashInterpolator' ;
  x3do:key ( 0.0 0.3 0.5 0.8 1.0 ) ;
  x3do:keyValue ( 0 0.13 0 0 -0.1 0 0 -0.1 0 0 0.15 0 0 0.13 0 ) .
:ShootShockInterpolator a owl:NamedIndividual, x3do:PositionInterpolator ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:DEF 'ShootShockInterpolator' ;
  x3do:key ( 0.0 0.8 0.9 1.0 ) ;
  x3do:keyValue ( -0.64 0.0 0.0 -0.70 0.0 0.0 -0.66 0.0 0.0 -0.62 0.0 0.0 ) .
:ROUTE_2_2_2_1_2_1_2_1_11_7 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'clockStartTime' ;
  x3do:fromNode 'TriggerScript' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'Clock' .
:ROUTE_2_2_2_1_2_1_2_1_11_8 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'Clock' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'TriggerInterpolator' .
:ROUTE_2_2_2_1_2_1_2_1_11_9 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'TriggerInterpolator' ;
  x3do:toField 'set_translation' ;
  x3do:toNode 'BulletTransform' .
:ROUTE_2_2_2_1_2_1_2_1_11_10 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'clockStartTime' ;
  x3do:fromNode 'TriggerScript' ;
  x3do:toField 'set_startTime' ;
  x3do:toNode 'RifleFireSoundAudio' .
:ROUTE_2_2_2_1_2_1_2_1_11_11 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'Clock' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'FlashInterpolator' .
:ROUTE_2_2_2_1_2_1_2_1_11_12 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'FlashInterpolator' ;
  x3do:toField 'set_translation' ;
  x3do:toNode 'FlashTransform' .
:ROUTE_2_2_2_1_2_1_2_1_11_13 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'fraction_changed' ;
  x3do:fromNode 'Clock' ;
  x3do:toField 'set_fraction' ;
  x3do:toNode 'ShootShockInterpolator' .
:ROUTE_2_2_2_1_2_1_2_1_11_14 a owl:NamedIndividual, x3do:ROUTE ;
  x3do:hasParent :Group_2_2_2_1_2_1_2_1_11 ;
  x3do:fromField 'value_changed' ;
  x3do:fromNode 'ShootShockInterpolator' ;
  x3do:toField 'set_translation' ;
  x3do:toNode 'ShootShockTransform' .
:WorldInfo_2_2_2_1_2_2 a owl:NamedIndividual, x3do:WorldInfo ;
  x3do:hasParent :LOD_2_2_2_1_2 ;
  x3do:info '"null node"' .
:Background_2_3 a owl:NamedIndividual, x3do:Background ;
  x3do:hasParent :Scene ;
  x3do:skyColor ( 0.604 0.753 0.804 ) .
:Anchor_2_4 a owl:NamedIndividual, x3do:Anchor ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :Shape_2_4_1 ;
  x3do:description 'RifleM24Example' ;
  x3do:parameter '"target=_blank"' ;
  x3do:url '"RifleM24Example.x3d" "../../Weapons/SmallArms/RifleM24Example.x3d" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleM24Example.x3d" "../../Weapons/SmallArms/RifleM24Example.wrl" "RifleM24Example.wrl" "https://www.web3d.org/x3d/content/examples/Savage/Weapons/SmallArms/RifleM24Example.wrl"' .
:Shape_2_4_1 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Anchor_2_4 ;
  x3do:hasGeometry :Text_2_4_1_1 ;
  x3do:hasAppearance :Appearance_2_4_1_2 .
:Text_2_4_1_1 a owl:NamedIndividual, x3do:Text ;
  x3do:hasParent :Shape_2_4_1 ;
  x3do:hasFontStyle :FontStyle_2_4_1_1_1 ;
  x3do:string '"RifleM24Prototype" "is a prototype definition file" "" "To see an example scene" "click on this text and view" "RifleM24Example"' .
:FontStyle_2_4_1_1_1 a owl:NamedIndividual, x3do:FontStyle ;
  x3do:hasParent :Text_2_4_1_1 ;
  x3do:justify '"MIDDLE" "MIDDLE"' .
:Appearance_2_4_1_2 a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :Shape_2_4_1 ;
  x3do:hasMaterial :Material_2_4_1_2_1 .
:Material_2_4_1_2_1 a owl:NamedIndividual, x3do:Material ;
  x3do:hasParent :Appearance_2_4_1_2 ;
  x3do:diffuseColor ( 0.819608 0 0.023529 ) .
