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