<?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 path="bin-debug/App.swf"/>
    <movie width="800"/>
    <movie fps="60"/>
    <movie height="600"/>
    <movie platform="Flash Player"/>
    <movie version="11"/>
    <movie disabled="False"/>
    <movie background="#FFFFFF"/>
    <movie input=""/>
  </output>
  &lt;!-- Other classes to be compiled into your SWF --&gt;
  <classpaths>
    <class path="src/main/royale"/>
  </classpaths>
  <moonshineResourcePaths></moonshineResourcePaths>
  <moonshineNativeExtensionPaths></moonshineNativeExtensionPaths>
  <build>
    <option strict="True"/>
    <option accessible="False"/>
    <option useNetwork="True"/>
    <option locale=""/>
    <option showUnusedTypeSelectorWarnings="True"/>
    <option useResourceBundleMetadata="True"/>
    <option benchmark="False"/>
    <option warnings="True"/>
    <option es="False"/>
    <option verboseStackTraces="False"/>
    <option allowSourcePathOverlap="False"/>
    <option loadConfig=""/>
    <option linkReport=""/>
    <option optimize="False"/>
    <option staticLinkRSL="False"/>
    <option antBuildPath="build/build.xml"/>
    <option customSDK=""/>
    <option showBindingWarnings="True"/>
    <option additional="-theme=${royalelib}/themes/JewelTheme/src/main/resources/defaults.css -html-template=src/main/resources/jewel-example-index-template.html -js-dynamic-access-unknown-members=true"/>
    <option showDeprecationWarnings="True"/>
    <option showActionScriptWarnings="True"/>
    <option compilerConstants=""/>
  </build>
  <mavenBuild>
    <option commandLine=""/>
    <option mavenBuildPath=""/>
    <option settingsFilePath=""/>
    <actions>
      <action action="install" actionName="Build"/>
      <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>
  <compileTargets>
    <compile path="src/main/royale/App.mxml"/>
  </compileTargets>
  <hiddenPaths></hiddenPaths>
  <preBuildCommand>null</preBuildCommand>
  <postBuildCommand alwaysRun="False">null</postBuildCommand>
  <trustSVNCertificate>False</trustSVNCertificate>
  <options>
    <option visualEditorExportPath=""/>
    <option testMovie=""/>
    <option testMovieCommand=""/>
    <option isPrimeFacesVisualEditor="False"/>
    <option showHiddenPaths="False"/>
    <option defaultBuildTargets=""/>
    <option isExportedToExistingSource="False"/>
  </options>
  <moonshineRunCustomization>
    <option targetPlatform="2"/>
    <option urlToLaunch=""/>
    <option projectType="2"/>
    <option customUrlToLaunch=""/>
    <option deviceSimulator="null"/>
    <option launchMethod="Simulator"/>
    <deviceSimulator>null</deviceSimulator>
    <certAndroid>null</certAndroid>
    <certIos>null</certIos>
    <certIosProvisioning>null</certIosProvisioning>
  </moonshineRunCustomization>
</project>