<?xml version="1.0" encoding="UTF-8"?>
<krpano version="1.19-pr16">

    
  <!-- Spot Style - Move_to_NODE -->


  <style name="IconMove_to_NODE"
         url="%FIRSTXML%/spots/icon_1_node_user_defaultpoint0.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_NODE"
         onover="onoverIconMove_to_NODE"
         onout="onoutIconMove_to_NODE"

         height="208"
         width="132"
         />
  <action name="onhoverIconMove_to_NODE">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_NODE">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_NODE">
    hideTooltip();
    tween(scale, 1);


  </action>




  <!-- unsupported kind of display : PointMap -->


    
  <!-- Spot Style - info_glyph -->


  <style name="Iconinfo_glyph"
         url="%FIRSTXML%/spots/icon_2_glyph_user_defaultpoint1.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_glyph"
         onover="onoverIconinfo_glyph"
         onout="onoutIconinfo_glyph"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_glyph">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_glyph">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_glyph">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_wildlife_hawk -->


  <style name="Iconinfo_wildlife_hawk"
         url="%FIRSTXML%/spots/icon_2_hawk_user_defaultpoint2.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         rotate="180"
         onhover="onhoverIconinfo_wildlife_hawk"
         onover="onoverIconinfo_wildlife_hawk"
         onout="onoutIconinfo_wildlife_hawk"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_wildlife_hawk">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_wildlife_hawk">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_wildlife_hawk">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Glyphs_1 -->


  <style name="IconMove_to_tour_Glyphs_1"
         url="%FIRSTXML%/spots/icon_4_glyphs_user_defaultpoint3.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Glyphs_1"
         onover="onoverIconMove_to_tour_Glyphs_1"
         onout="onoutIconMove_to_tour_Glyphs_1"

         height="208"
         width="132"
         />
  <action name="onhoverIconMove_to_tour_Glyphs_1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Glyphs_1">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Glyphs_1">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Fossils_1 -->


  <style name="IconMove_to_tour_Fossils_1"
         url="%FIRSTXML%/spots/icon_4_fossils_user_defaultpoint4.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Fossils_1"
         onover="onoverIconMove_to_tour_Fossils_1"
         onout="onoutIconMove_to_tour_Fossils_1"

         height="208"
         width="132"
         />
  <action name="onhoverIconMove_to_tour_Fossils_1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Fossils_1">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Fossils_1">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Fossils_3 -->


  <style name="IconMove_to_tour_Fossils_3"
         url="%FIRSTXML%/spots/icon_4_fossils_user_defaultpoint5.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Fossils_3"
         onover="onoverIconMove_to_tour_Fossils_3"
         onout="onoutIconMove_to_tour_Fossils_3"

         height="52"
         width="33"
         />
  <action name="onhoverIconMove_to_tour_Fossils_3">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Fossils_3">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Fossils_3">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Fossils_2 -->


  <style name="IconMove_to_tour_Fossils_2"
         url="%FIRSTXML%/spots/icon_4_fossils_user_defaultpoint6.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Fossils_2"
         onover="onoverIconMove_to_tour_Fossils_2"
         onout="onoutIconMove_to_tour_Fossils_2"

         height="104"
         width="66"
         />
  <action name="onhoverIconMove_to_tour_Fossils_2">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Fossils_2">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Fossils_2">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Glyphs_2_Over -->


  <style name="IconMove_to_tour_Glyphs_2-Over"
         url="%FIRSTXML%/spots/icon_4_glyphs_user_defaultpoint8.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         rotate="45"
         alpha="0.8"
         onhover="onhoverIconMove_to_tour_Glyphs_2-Over"
         onover="onoverIconMove_to_tour_Glyphs_2-Over"
         onout="onoutIconMove_to_tour_Glyphs_2-Over"

         height="104"
         width="66"
         />
  <action name="onhoverIconMove_to_tour_Glyphs_2-Over">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Glyphs_2-Over">
tween(scale, 1.2);
tween(alpha, 1);

  </action>
  <action name="onoutIconMove_to_tour_Glyphs_2-Over">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);

  </action>



    
  <!-- Spot Style - Move_to_tour_Rocks_1 -->


  <style name="IconMove_to_tour_Rocks_1"
         url="%FIRSTXML%/spots/icon_4_rocks_user_defaultpoint9.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Rocks_1"
         onover="onoverIconMove_to_tour_Rocks_1"
         onout="onoutIconMove_to_tour_Rocks_1"

         height="208"
         width="132"
         />
  <action name="onhoverIconMove_to_tour_Rocks_1">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Rocks_1">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Rocks_1">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Rocks_2 -->


  <style name="IconMove_to_tour_Rocks_2"
         url="%FIRSTXML%/spots/icon_4_rocks_user_defaultpoint10.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Rocks_2"
         onover="onoverIconMove_to_tour_Rocks_2"
         onout="onoutIconMove_to_tour_Rocks_2"

         height="104"
         width="66"
         />
  <action name="onhoverIconMove_to_tour_Rocks_2">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Rocks_2">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Rocks_2">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Rocks_3 -->


  <style name="IconMove_to_tour_Rocks_3"
         url="%FIRSTXML%/spots/icon_4_rocks_user_defaultpoint11.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Rocks_3"
         onover="onoverIconMove_to_tour_Rocks_3"
         onout="onoutIconMove_to_tour_Rocks_3"

         height="52"
         width="33"
         />
  <action name="onhoverIconMove_to_tour_Rocks_3">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Rocks_3">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Rocks_3">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Rocks_4 -->


  <style name="IconMove_to_tour_Rocks_4"
         url="%FIRSTXML%/spots/icon_4_rocks_user_defaultpoint12.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Rocks_4"
         onover="onoverIconMove_to_tour_Rocks_4"
         onout="onoutIconMove_to_tour_Rocks_4"

         height="26"
         width="16"
         />
  <action name="onhoverIconMove_to_tour_Rocks_4">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Rocks_4">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Rocks_4">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - Move_to_tour_Fossils_2_over -->


  <style name="IconMove_to_tour_Fossils_2-over"
         url="%FIRSTXML%/spots/icon_4_fossils_user_defaultpoint13.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         rotate="45"
         alpha="0.8"
         onhover="onhoverIconMove_to_tour_Fossils_2-over"
         onover="onoverIconMove_to_tour_Fossils_2-over"
         onout="onoutIconMove_to_tour_Fossils_2-over"

         height="104"
         width="66"
         />
  <action name="onhoverIconMove_to_tour_Fossils_2-over">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Fossils_2-over">
tween(scale, 1.2);
tween(alpha, 1);

  </action>
  <action name="onoutIconMove_to_tour_Fossils_2-over">
    hideTooltip();
    tween(scale, 1);
    tween(alpha, 0.8);

  </action>



    
  <!-- Spot Style - Move_to_tour_Glyphs_2 -->


  <style name="IconMove_to_tour_Glyphs_2"
         url="%FIRSTXML%/spots/icon_4_glyphs_user_defaultpoint14.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconMove_to_tour_Glyphs_2"
         onover="onoverIconMove_to_tour_Glyphs_2"
         onout="onoutIconMove_to_tour_Glyphs_2"

         height="104"
         width="66"
         />
  <action name="onhoverIconMove_to_tour_Glyphs_2">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconMove_to_tour_Glyphs_2">
tween(scale, 1.2);


  </action>
  <action name="onoutIconMove_to_tour_Glyphs_2">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_Wildlife_Coyote -->


  <style name="Iconinfo_Wildlife_Coyote"
         url="%FIRSTXML%/spots/icon_2_coyote_user_defaultpoint15.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_Wildlife_Coyote"
         onover="onoverIconinfo_Wildlife_Coyote"
         onout="onoutIconinfo_Wildlife_Coyote"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_Wildlife_Coyote">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_Wildlife_Coyote">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_Wildlife_Coyote">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_View -->


  <style name="Iconinfo_View"
         url="%FIRSTXML%/spots/icon_3_view_user_defaultpoint16.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_View"
         onover="onoverIconinfo_View"
         onout="onoutIconinfo_View"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_View">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_View">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_View">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_Rock -->


  <style name="Iconinfo_Rock"
         url="%FIRSTXML%/spots/icon_2_rock_user_defaultpoint17.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_Rock"
         onover="onoverIconinfo_Rock"
         onout="onoutIconinfo_Rock"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_Rock">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_Rock">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_Rock">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_Fossil -->


  <style name="Iconinfo_Fossil"
         url="%FIRSTXML%/spots/icon_2_fossil_user_defaultpoint18.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_Fossil"
         onover="onoverIconinfo_Fossil"
         onout="onoutIconinfo_Fossil"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_Fossil">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_Fossil">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_Fossil">
    hideTooltip();
    tween(scale, 1);


  </action>



    
  <!-- Spot Style - info_Plant -->


  <style name="Iconinfo_Plant"
         url="%FIRSTXML%/spots/icon_2_plant_user_defaultpoint19.png"
         visible="false"
         edge="bottom" ox="0" oy="0"
         onhover="onhoverIconinfo_Plant"
         onover="onoverIconinfo_Plant"
         onout="onoutIconinfo_Plant"

         height="110"
         width="52"
         />
  <action name="onhoverIconinfo_Plant">
    showtooltip('hotspot');
  </action>
  <action name="onoverIconinfo_Plant">
tween(scale, 1.2);


  </action>
  <action name="onoutIconinfo_Plant">
    hideTooltip();
    tween(scale, 1);


  </action>



  <!-- Sounds Management -->
  <plugin name="soundinterface"
          preload="true"
          url.flash="%SWFPATH%/graphics/soundinterface.swf"
          url.html5="%FIRSTXML%/graphics/soundinterface.js"
          rootpath="%$videos_sounds_path%/sounds"
          backgroundsound=""
          backgroundsoundloops="0"
          bgsound="false"
          bgsoundpaused="false"
          bgsoundloopended="false"
          bgsoundtoforce = "false"
          volumeinitialized="false"
          started="true"
          keep="true"/>
  <events name="soundmanagementevents"
          onnewpano="if(plugin[soundinterface].started,playbackgroundsound(););"
          onxmlcomplete="soundinterfaceonxmlcomplete();"
          keep="true"/>
  <action name="soundinterfaceonxmlcomplete">
    ifnot(plugin[soundinterface].volumeinitialized,
      div(plugin[soundinterface].volume, tour_soundsvolume, 100);
      set(plugin[soundinterface].volumeinitialized,true);
    );
  </action>
  <action name="playsound3Dwhenpossible">
    set(really_play_sound, true);
    if (tour_current_played_sound,
      if (%1 == tour_current_played_sound,
        delete(tour_current_played_sound);
        set(tour_current_played_sound_state, 0);
        delete(tour_current_played_sound_paused);
        stopsound(%1);
        set(really_play_sound, false);
        if(%4,
          delete(tour_current_played_sound_pausesound);
          resumeTourSoundsActions(true,true,true,true,true);
        );
      );
    );
    if (really_play_sound,
      if (tour_current_played_sound,
        stopsound(get(tour_current_played_sound));

        ifnot(%4,
          if(tour_current_played_sound_pausesound,
            delete(tour_current_played_sound_pausesound);
            resumeTourSoundsActions(true,true,true,true,true);
          );
        );
      );
      if(%4,
        set(tour_current_played_sound_pausesound, true);
        pauseTourSoundsActions(true,false,true,true,true);
      );
      set(tour_current_played_sound, %1);
      if(tour_current_played_video,
        set(tour_current_played_sound_state, 2);
      ,
        set(tour_current_played_sound_state, 1);
      );
      set(tour_current_played_sound_paused, false);
      if (%3,
        if (device.flash,
          div(volume, tour_soundsvolume, 100);
          if(%9 != null,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound3D(%1,%2,%5,%6,%7,get(volume),%8);
          );
        ,
          if(%9 != null,
            playsound(%1,%2,%8,stopsound3Dwhenpossible(%1,%4));
          ,
            playsound(%1,%2,%8);
          );
        );
      ,
        if(%6 != null,
          playsound(%1,%2,%5,stopsound3Dwhenpossible(%1,%4));
        ,
          playsound(%1,%2,%5);
        );
      );

      ifnot(tour_soundson,
        set(tour_current_played_sound_paused, true);
        pausesound(%1);
      );
    );
  </action>
  <action name="stopsound3Dwhenpossible">
    if (%1 == tour_current_played_sound,
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
      delete(tour_current_played_sound_paused);

      ifnot(device.safari,
        stopsound(%1);
      );
      if(%2,
        delete(tour_current_played_sound_pausesound);
        resumeTourSoundsActions(true,true,true,true,true);
      );
    );
  </action>
  <action name="playbackgroundsound">
  if(playsound,
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound,
        if (plugin[soundinterface].backgroundsound != scene[get(xml.scene)].backgroundsound,
          copy(plugin[soundinterface].backgroundsound, scene[get(xml.scene)].backgroundsound);
          copy(plugin[soundinterface].backgroundsoundloops, scene[get(xml.scene)].backgroundsoundloops);
          if (tour_soundson,
            set(plugin[soundinterface].bgsound, true);
            set(plugin[soundinterface].bgsoundpaused, false);
            set(plugin[soundinterface].bgsoundloopended, false);
            set(plugin[soundinterface].bgsoundtoforce, false);
            if(scene[get(xml.scene)].video == false OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              if(plugin[soundinterface].backgroundsoundloops GT 0,
                playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
              ,
                playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
              );
            );
           ,
            set(plugin[soundinterface].bgsoundtoforce, true);
            set(plugin[soundinterface].bgsound, false);
          );
        ,
          if (tour_soundson,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            );
          ,
            set(plugin[soundinterface].bgsoundtoforce, true);
            set(plugin[soundinterface].bgsound, false);
          );
        );
      );
    );
  ,
    delayedcall(0.2, playbackgroundsound());
  );
  </action>
  <action name="stopbackgroundsoundoncomplete">
    if (plugin[soundinterface].backgroundsound,
    if (plugin[soundinterface].backgroundsoundloops GT 0,

      set(plugin[soundinterface].backgroundsoundloops, 0);
      set(plugin[soundinterface].bgsound, false);
      set(plugin[soundinterface].bgsoundpaused, false);
      set(plugin[soundinterface].bgsoundloopended, true);
    );
    );
  </action>
  <action name="resetbackgroundsoundifneeded">
    if (xml.scene,
      if (scene[get(xml.scene)].backgroundsound != scene[%1].backgroundsound,
        if(plugin[soundinterface].backgroundsound,
          stopsound(bgsoundname);
        );
        set(plugin[soundinterface].backgroundsound, "");
        set(plugin[soundinterface].backgroundsoundloops, 0);
        set(plugin[soundinterface].bgsound, false);
        set(plugin[soundinterface].bgsoundpaused, false);
        set(plugin[soundinterface].bgsoundloopended, false);
      );
    );
  </action>
  <action name="pausebackgroundsound">
    if(plugin[soundinterface].backgroundsound,
      if (plugin[soundinterface].bgsound,
        if(plugin[soundinterface].bgsoundpaused == false AND plugin[soundinterface].bgsoundloopended == false,
          pausesound(bgsoundname);
          set(plugin[soundinterface].bgsoundpaused, true);
        );
      );
    );
    
  </action>
  <action name="resumebackgroundsound">
    set(bgSoundOnResume, true);
    set(forceBgSoundOnResume, true);
    if(layer[displayedStandardVideo],
    if(layer[displayedStandardVideo].pausebgsound AND tour_current_played_video,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(layer[webvideodisplay_player],
    if(layer[webvideodisplay_player].pausebgsound AND tour_current_played_web_video,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    ););
    if(tour_current_played_sound_pausesound AND tour_current_played_sound,
      set(bgSoundOnResume, false);
    );
    ifnot(plugin[soundinterface].backgroundsound AND scene[get(xml.scene)].backgroundsound,
      set(bgSoundOnResume, false);
    );
    if(videospots_playing GT 0,
      set(bgSoundOnResume, false);
      set(forceBgSoundOnResume, false);
    );
    if(bgSoundOnResume,
      if (plugin[soundinterface].backgroundsound,
        if (tour_soundson,
          if (plugin[soundinterface].bgsound AND plugin[soundinterface].bgsoundloopended == false,
            if((plugin[soundinterface].bgsoundpaused == true AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              resumesound(bgsoundname);
              set(plugin[soundinterface].bgsoundpaused, false);
            ,

              if(device.mobile OR device.tablet OR device.safari OR device.chrome,
                resumesound(bgsoundname);
                set(plugin[soundinterface].bgsoundpaused, false);
              );
            );
          ,
            if(((plugin[soundinterface].bgsoundpaused == true OR plugin[soundinterface].bgsoundtoforce == true) AND scene[get(xml.scene)].video == false) OR (scene[get(xml.scene)].video == true AND scene[get(xml.scene)].scenevideomute == true),
              set(plugin[soundinterface].bgsound, true);
              set(plugin[soundinterface].bgsoundpaused, false);
              set(plugin[soundinterface].bgsoundloopended, false);
              set(plugin[soundinterface].bgsoundtoforce, false);
              if(plugin[soundinterface].backgroundsoundloops GT 0,
                playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops), stopbackgroundsoundoncomplete());
              ,
                playsound(bgsoundname, get(plugin[soundinterface].backgroundsound), get(plugin[soundinterface].backgroundsoundloops));
              );
            );
          );
        );
      );
      
    ,
      if(forceBgSoundOnResume,
        playbackgroundsound();
        
      );
    );
  </action>
  <action name="preloadSounds">
    preloadsound("ambient_hawks.mp3");
    preloadsound("walk_1.mp3");
    preloadsound("card_flip.mp3");
    preloadsound("walk_2.mp3");
    preloadsound("walk_3.mp3");
    preloadsound("hawk.mp3");
    preloadsound("walk_4.mp3");
    preloadsound("coyote.mp3");
  </action>

  <action name="play3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, playpanolocalsounds();););
  </action>
  <action name="stop3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, stoppanolocalsounds();););
  </action>
  <action name="resume3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, 
      set(kill3dSoundOnResume, true);
      if(layer[displayedStandardVideo],
      if(layer[displayedStandardVideo].pausebgsound,
      if(tour_current_played_video,
        set(kill3dSoundOnResume, false);
      );););
      if(layer[webvideodisplay_player],
      if(layer[webvideodisplay_player].pausebgsound,
      if(tour_current_played_web_video,
        set(kill3dSoundOnResume, false);
      );););
      if(tour_current_played_sound_pausesound,
      if(tour_current_played_sound,
        set(kill3dSoundOnResume, false);
      ););
      if(kill3dSoundOnResume,
        resumepanolocalsounds();
      );
    ););
  </action>
  <action name="pause3DLocalSounds">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, pausepanolocalsounds();););
  </action>
  <action name="set3DLocalSoundsVolume">
    if (xml.scene, if (scene[get(xml.scene)].haslocalsounds, setpanolocalsoundsvolume();););
  </action>
  <action name="playTourSounds">
    set(tour_soundson, true);events.dispatch(playtoursoundsevent);
    resumeTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="stopTourSounds">
    set(tour_soundson, false);events.dispatch(stoptoursoundsevent);
    pauseTourSoundsActions(true,true,true,true,true);
  </action>
  <action name="setTourSoundsVolume">
    set(tour_soundsvolume, %1);events.dispatch(changetoursoundsevent);
    div(volume, tour_soundsvolume, 100);
    set(plugin[soundinterface].volume, get(volume));
    set3DLocalSoundsVolume();
  </action>
  <action name="playTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        play3DLocalSounds();
        );
      );
    );
    if(%2,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
          resumebackgroundsound();
        );
      );
    );
  </action>
  <action name="stopTourSoundsActions">
    if(%1,
      stop3DLocalSounds();
    );
    if(%2,
      stopSoundActionsSounds();
    );
    if(%3,
      stopVideoActionsSounds();
    );
    if(%4,
      pausebackgroundsound();
    );
  </action>
  <action name="resumeTourSoundsActions">
    if(%1,
      if(plugin[soundinterface],
        if(plugin[soundinterface].started,
        resume3DLocalSounds();
        );
      );
    );
    if(%2,
      resumeSoundActionsSounds();
    );
    if(%3,
      resumeVideoActionsSounds();
    );
    if(%4,
      if(%5,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      ,
        pausebackgroundsound();
      );
    );
  </action>
  <action name="pauseTourSoundsActions">
    if(%1,
      pause3DLocalSounds();
    );
    if(%2,
      pauseSoundActionsSounds();
    );
    if(%3,
      pauseVideoActionsSounds();
    );
    if(%4,
      if(%5,
        pausebackgroundsound();
      ,
        if(plugin[soundinterface],
          if(plugin[soundinterface].started,
            resumebackgroundsound();
          );
        );
      );
    );
  </action>
  <action name="stopSoundActionsSounds">
    if (tour_current_played_sound,
      delete(tour_current_played_sound_paused);
      stopsound(get(tour_current_played_sound));
      delete(tour_current_played_sound);
      set(tour_current_played_sound_state, 0);
    );
  </action>
  <action name="stopVideoActionsSounds">
    if(tour_current_played_video,
      if(layer[displayedStandardVideo],
        layer[displayedStandardVideo].stop();
        removelayer(displayedStandardVideo);
        if(layer[displayedStandardVideoOverlayButton], removelayer(displayedStandardVideoOverlayButton); );
        if(layer[displayedStandardVideoOverlay], removelayer(displayedStandardVideoOverlay); );
        delete(tour_current_played_video);
        set(tour_current_played_video_state, 0);
      );
    );
    if(tour_current_played_web_video,
      displayWebVideoObjectClose();
    );
  </action>
  <action name="resumeSoundActionsSounds">
    if (tour_current_played_sound,
      set(resumeSoundActionsVerification, true);
      if(tour_current_played_video,
        if(tour_current_played_sound_state LT tour_current_played_video_state,
          set(resumeSoundActionsVerification, false);
        );
      );
      if(resumeSoundActionsVerification,
        if (tour_soundson,
          if(tour_current_played_sound_paused,
            set(tour_current_played_sound_paused, false);
            resumesound(get(tour_current_played_sound));
          ,

            if(device.mobile OR device.tablet OR device.safari OR device.chrome,
              set(tour_current_played_sound_paused, false);
              resumesound(get(tour_current_played_sound));
            );
          );
        );
      );
    );
  </action>
  <action name="resumeVideoActionsSounds">
    if(tour_current_played_video,
      set(resumeVideoActionsVerification, true);
      if(tour_current_played_sound,
        if(tour_current_played_video_state LT tour_current_played_sound_state,
          set(resumeVideoActionsVerification, false);
        );
      );
      if(resumeVideoActionsVerification,
        if (tour_soundson,
          if(device.flash OR (device.webgl AND !device.ios),
            div(volume, tour_soundsvolume, 100);
            set(layer[displayedStandardVideo].volume, get(volume));
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.startVideosSounds(get(volume)));
            ,
              if(tour_soundsvolume GT 0,
                set(layer[displayedStandardVideo].muted, false);
              ,
                set(layer[displayedStandardVideo].muted, true);
              );
            );
          );
        ,
          if(device.flash OR (device.webgl AND !device.ios),
            set(layer[displayedStandardVideo].volume, 0);
          ,
            ifnot(device.ios,
              js(kpanotour.Sounds.stopVideosSounds());
            ,
              set(layer[displayedStandardVideo].muted, true);
            );
          );
        );
      );
    );
  </action>
  <action name="pauseSoundActionsSounds">
    if (tour_current_played_sound,
      ifnot(tour_current_played_sound_paused,
        set(tour_current_played_sound_paused, true);
        pausesound(get(tour_current_played_sound));
      );
    );
  </action>
  <action name="pauseVideoActionsSounds">
    if(tour_current_played_video,
      if(device.flash OR (device.webgl AND !device.ios),
        set(layer[displayedStandardVideo].volume, 0);
      ,
        ifnot(device.ios,
          js(kpanotour.Sounds.stopVideosSounds());
        ,
          set(layer[displayedStandardVideo].muted, true);
        );
      );
    );
  </action>

  <!-- Fullscreen Management -->
  <action name="exitFullScreen" devices="fullscreensupport">set(tour_fullscreen,false);set(fullscreen,false);</action>
  <action name="enterFullScreen" devices="fullscreensupport">set(tour_fullscreen,true);set(fullscreen,true);</action>
  <action name="switchFullScreen">if(tour_fullscreen,exitFullScreen();,enterFullScreen(););</action>

  
  <events name="krpanoExitFullscreenEvent"
    onexitfullscreen="if(tour_fullscreen,exitFullScreenChangeEvent(););"
    keep="true" />

  <action name="exitFullScreenChangeEvent" devices="fullscreensupport">set(tour_fullscreen,false);events.dispatch(onexitfullscreen);</action>

  <action name="displayImage">
    if (layer[displayedStandardImage],
      if(layer[displayedStandardImage].doNotDeleteMe,
        set(layer[displayedStandardImage].currentCall, false);
        set(layer[displayedStandardImage].doNotDeleteMe, false);
        
        if (%1 == layer[displayedStandardImage].url,
          applyDisplayedImageObjectAnimation(%8);
        ,
          setDisplayedImageObjectParameters(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10);
        );
      ,
        set(layer[displayedStandardImage].currentCall, false);
        set(layer[displayedStandardImage].doNotDeleteMe, true);
        events.dispatch(onremovedisplayedobject);
        delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12););
      );
    ,
      if(%10,
        addlayer(displayedStandardImageOverlay);
        set(layer[displayedStandardImageOverlay].keep, false);
        set(layer[displayedStandardImageOverlay].width, 100%);
        set(layer[displayedStandardImageOverlay].height, 100%);
        set(layer[displayedStandardImageOverlay].type, container);
        set(layer[displayedStandardImageOverlay].zorder, 98);
        set(layer[displayedStandardImageOverlay].visible, false);
        set(layer[displayedStandardImageOverlay].onclick, applyDisplayedImageObjectAnimation(%8););
        set(layer[displayedStandardImageOverlay].bgcolor, "0x%11");
        set(layer[displayedStandardImageOverlay].bgalpha, %12);
        set(layer[displayedStandardImageOverlay].bgcapture, true);
      );
      addlayer(displayedStandardImage);
      set(layer[displayedStandardImage].keep, false);
      set(layer[displayedStandardImage].onclick, applyDisplayedImageObjectAnimation(%8););
      set(layer[displayedStandardImage].zorder , 99);
      set(layer[displayedStandardImage].currentCall, true);
      set(layer[displayedStandardImage].doNotDeleteMe, true);
      set(layer[displayedStandardImage].onloaded, resizeDisplayedImageObject());
      events.dispatch(onremovedisplayedobject);
      delayedcall(0.2,displayImage(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12););
      set(layer[displayedStandardImage].visible, false);
    );
  </action>
  <action name="applyDisplayedImageObjectAnimation">resumeautorotation(forcehotspot);

    if (%1,
      stoptween(layer[displayedStandardImage].width, layer[displayedStandardImage].height);
      tween(layer[displayedStandardImage].width|layer[displayedStandardImage].height, 1|1, 1, easeOutQuad, WAIT);
      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););removelayer(displayedStandardImage);
    ,
      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););removelayer(displayedStandardImage);
    );
  </action>
  <action name="setDisplayedImageObjectParameters">
    set(layer[displayedStandardImage].url       , %1);
    set(layer[displayedStandardImage].align     , %2);
    set(layer[displayedStandardImage].x         , %3);
    set(layer[displayedStandardImage].y         , %4);
    set(layer[displayedStandardImage].imgwidth  , %5);
    set(layer[displayedStandardImage].imgheight , %6);
    set(layer[displayedStandardImage].animated  , %8);
    set(layer[displayedStandardImage].applyratio, %9);
    set(layer[displayedStandardImage].overlay   , %10);
    if (%7,pauseautorotation(forcehotspot);
);
  </action>
  <action name="resizeDisplayedImageObject">
    if(layer[displayedStandardImage].url,
    set(layer[displayedStandardImage].fullwidth, get(layer[displayedStandardImage].width));
    set(layer[displayedStandardImage].fullheight, get(layer[displayedStandardImage].height));
    if(layer[displayedStandardImage].animated,
      set(layer[displayedStandardImage].width , 1);
      set(layer[displayedStandardImage].height, 1);
    );
    if(layer[displayedStandardImage].imgwidth != "" AND layer[displayedStandardImage].imgheight != "",
      if(layer[displayedStandardImage].imgwidth == "prop",
        set(tempDisplayedImageObjectHeight, get(layer[displayedStandardImage].imgheight));
        indexoftxt(tempDisplayedImageObjectHeightPercent, get(tempDisplayedImageObjectHeight), "%");
        if(tempDisplayedImageObjectHeightPercent GT 0,
          txtreplace(tempDisplayedImageObjectHeight, '%', '');
          mul(tempDisplayedImageObjectHeight, get(stageheight));
          div(tempDisplayedImageObjectHeight, 100);
          Math.round(tempDisplayedImageObjectHeight);
        );
        mul(flyingImgWidth,get(layer[displayedStandardImage].fullwidth),get(tempDisplayedImageObjectHeight));
        div(flyingImgWidth,get(layer[displayedStandardImage].fullheight));
        Math.round(flyingImgWidth);
        set(layer[displayedStandardImage].imgwidth , get(flyingImgWidth));
        set(layer[displayedStandardImage].imgheight, get(tempDisplayedImageObjectHeight));
      ,
        if(layer[displayedStandardImage].imgheight == "prop",
          set(tempDisplayedImageObjectWidth, get(layer[displayedStandardImage].imgwidth));
          indexoftxt(tempDisplayedImageObjectWidthPercent, get(tempDisplayedImageObjectWidth), "%");
          if(tempDisplayedImageObjectWidthPercent GT 0,
            txtreplace(tempDisplayedImageObjectWidth, '%', '');
            mul(tempDisplayedImageObjectWidth, get(stagewidth));
            div(tempDisplayedImageObjectWidth, 100);
            Math.round(tempDisplayedImageObjectWidth);
          );
          mul(flyingImgHeight,get(layer[displayedStandardImage].fullheight),get(tempDisplayedImageObjectWidth));
          div(flyingImgHeight,get(layer[displayedStandardImage].fullwidth));
          Math.round(flyingImgHeight);
          set(layer[displayedStandardImage].imgwidth , get(tempDisplayedImageObjectWidth));
          set(layer[displayedStandardImage].imgheight , get(flyingImgHeight));
        ,
          set(tempDisplayedImageObjectWidth, get(layer[displayedStandardImage].imgwidth));
          set(tempDisplayedImageObjectHeight, get(layer[displayedStandardImage].imgheight));
          indexoftxt(tempDisplayedImageObjectWidthPercent, get(tempDisplayedImageObjectWidth), "%");
          indexoftxt(tempDisplayedImageObjectHeightPercent, get(tempDisplayedImageObjectHeight), "%");
          if(tempDisplayedImageObjectWidthPercent GT 0,
            txtreplace(tempDisplayedImageObjectWidth, '%', '');
            mul(tempDisplayedImageObjectWidth, get(stagewidth));
            div(tempDisplayedImageObjectWidth, 100);
            Math.round(tempDisplayedImageObjectWidth);
          );
          if(tempDisplayedImageObjectHeightPercent GT 0,
            txtreplace(tempDisplayedImageObjectHeight, '%', '');
            mul(tempDisplayedImageObjectHeight, get(stageheight));
            div(tempDisplayedImageObjectHeight, 100);
            Math.round(tempDisplayedImageObjectHeight);
          );
          set(layer[displayedStandardImage].imgwidth , get(tempDisplayedImageObjectWidth));
          set(layer[displayedStandardImage].imgheight, get(tempDisplayedImageObjectHeight));
        );
      );
    ,
      set(layer[displayedStandardImage].imgwidth , get(layer[displayedStandardImage].fullwidth));
      set(layer[displayedStandardImage].imgheight, get(layer[displayedStandardImage].fullheight));
    );
    
    set(resizedwidth, get(layer[displayedStandardImage].imgwidth));
    set(resizedheight, get(layer[displayedStandardImage].imgheight));
    if(layer[displayedStandardImage].applyratio,
      sub(resizedstagewidth, get(stagewidth), get(layer[displayedStandardImage].x));
      sub(resizedstageheight, get(stageheight), get(layer[displayedStandardImage].y));
      Math.abs(resizedstagewidth);
      Math.abs(resizedstageheight);
      if(resizedwidth GT resizedstagewidth,
        mul(tempresizedheight, get(resizedheight), get(resizedstagewidth));
        div(tempresizedheight, get(resizedwidth));
        Math.round(tempresizedheight);
        set(resizedwidth, get(resizedstagewidth));
        set(resizedheight, get(tempresizedheight));
      );
      if(resizedheight GT resizedstageheight,
        mul(tempresizedwidth, get(resizedwidth), get(resizedstageheight));
        div(tempresizedwidth, get(resizedheight));
        Math.round(tempresizedwidth);
        set(resizedheight, get(resizedstageheight));
        set(resizedwidth, get(tempresizedwidth));
      );
    );
    
    if(layer[displayedStandardImage].animated,
      set(layer[displayedStandardImage].animated, false);
      tween(layer[displayedStandardImage].width , get(resizedwidth), 1, easeOutQuad);
      tween(layer[displayedStandardImage].height, get(resizedheight), 1, easeOutQuad);
    ,
      set(layer[displayedStandardImage].width , get(resizedwidth));
      set(layer[displayedStandardImage].height, get(resizedheight));
    );
    if(layer[displayedStandardImage].overlay,set(layer[displayedStandardImageOverlay].visible, true););
    set(layer[displayedStandardImage].visible, true);
    ,
      delayedcall(0.2,resizeDisplayedImageObject(););
    );
  </action>
  <events name="displayedImageObjectEvents" keep="true" onremovedisplayedobject="displayedImageObjectOnRemoveDisplayedObject" onresize="if(layer[displayedStandardImage],resizeDisplayedImageObject());" />
  <action name="displayedImageObjectOnRemoveDisplayedObject">
    ifnot(layer[displayedStandardImage].currentCall,if(layer[displayedStandardImage].visible,resumeautorotation(forcehotspot);

      if(layer[displayedStandardImage].overlay,removelayer(displayedStandardImageOverlay););
      removelayer(displayedStandardImage);
    ););
  </action>


</krpano>