<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<project>
  <output>
    <movie version="20"/>
    <movie disabled="False"/>
    <movie platform="Flash Player"/>
    <movie background="#FFFFFF"/>
    <movie height="600"/>
    <movie fps="60"/>
    <movie path="bin-debug/MenuExample.swf"/>
    <movie input=""/>
    <movie width="800"/>
  </output>
  &lt;!-- Other classes to be compiled into your SWF --&gt;
  <jsOutput>
    <option path=""/>
  </jsOutput>
  <classpaths>
    <class path="src"/>
  </classpaths>
  <moonshineResourcePaths></moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option benchmark="False"/>
    <option showDeprecationWarnings="True"/>
    <option accessible="False"/>
    <option es="False"/>
    <option additional=""/>
    <option useNetwork="True"/>
    <option loadConfig=""/>
    <option useResourceBundleMetadata="True"/>
    <option warnings="True"/>
    <option showActionScriptWarnings="True"/>
    <option linkReport=""/>
    <option customSDK=""/>
    <option showBindingWarnings="True"/>
    <option optimize="False"/>
    <option compilerConstants=""/>
    <option antBuildPath="build/build.xml"/>
    <option strict="True"/>
    <option locale=""/>
    <option sourceMap="True"/>
    <option allowSourcePathOverlap="False"/>
    <option staticLinkRSL="False"/>
    <option showUnusedTypeSelectorWarnings="True"/>
    <option verboseStackTraces="False"/>
  </build>
  <mavenBuild>
    <option dominoNotesProgram=""/>
    <option commandLine="clean package"/>
    <option dominoNotesPlatform=""/>
    <option settingsFilePath=""/>
    <option mavenBuildPath=""/>
    <actions>
      <action action="install" actionName="Build"/>
      <action action="clean package" actionName="Clean and package"/>
      <action action="clean" actionName="Clean"/>
      <action action="clean install" actionName="Clean and Build"/>
      <action action="war:exploded" actionName="Exploded"/>
    </actions>
  </mavenBuild>
  <includeLibraries></includeLibraries>
  <libraryPaths></libraryPaths>
  <externalLibraryPaths></externalLibraryPaths>
  <rslPaths></rslPaths>
  <intrinsics>
    <element path="Library/AS3/frameworks/Flex4"/>
    <element path="Library\AS3\frameworks\Flex4"/>
  </intrinsics>
  <library></library>
  <modules/>
  <compileTargets>
    <compile path="src/main/royale/MenuExample.mxml"/>
  </compileTargets>
  <hiddenPaths></hiddenPaths>
  <preBuildCommand>null</preBuildCommand>
  <postBuildCommand alwaysRun="False">null</postBuildCommand>
  <trustSVNCertificate>False</trustSVNCertificate>
  <options>
    <option isExportedToExistingSource="False"/>
    <option isRoyale="True"/>
    <option defaultBuildTargets=""/>
    <option isDominoVisualEditor="False"/>
    <option jdkType="default-java"/>
    <option testMovie=""/>
    <option showHiddenPaths="False"/>
    <option visualEditorExportPath=""/>
    <option isPrimeFacesVisualEditor="False"/>
    <option testMovieCommand=""/>
  </options>
  <moonshineRunCustomization>
    <option urlToLaunch=""/>
    <option targetPlatform="5"/>
    <option projectType="2"/>
    <option webBrowser="null"/>
    <option deviceSimulator="null"/>
    <option customUrlToLaunch=""/>
    <option launchMethod="Simulator"/>
    <option deviceConnectType="USB"/>
    <deviceSimulator>null</deviceSimulator>
    <certAndroid>null</certAndroid>
    <certIos>null</certIos>
    <certIosProvisioning>null</certIosProvisioning>
  </moonshineRunCustomization>
</project>
